[elpa] externals/fountain-mode fe6e334: Updated README/Commentary as per FSF assignment

2019-01-25 Thread Paul Rankin
branch: externals/fountain-mode
commit fe6e334a8fa26ce162cd48b84ca46a40475ced03
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Updated README/Commentary as per FSF assignment
---
 README.md| 63 -
 fountain-mode.el | 66 ++--
 2 files changed, 20 insertions(+), 109 deletions(-)

diff --git a/README.md b/README.md
index ec3cbd0..8567911 100644
--- a/README.md
+++ b/README.md
@@ -1,12 +1,9 @@
 Fountain Mode
 =
 
-[![MELPA 
Stable](https://stable.melpa.org/packages/fountain-mode-badge.svg)](https://stable.melpa.org/#/fountain-mode)
-[![MELPA](https://melpa.org/packages/fountain-mode-badge.svg)](https://melpa.org/#/fountain-mode)
-
-Fountain Mode is a complete screenwriting environment for GNU Emacs
-using the Fountain markup format. For more information on the Fountain markup
-format, visit .
+Fountain Mode is a screenwriting environment for GNU Emacs using the Fountain
+markup format. For more information on the Fountain markup format, visit
+.
 
 
![screenshot](https://github.com/rnkn/fountain-mode/raw/master/screenshots/01.png)
 
@@ -69,53 +66,11 @@ Requirements
 Installation
 
 
-*For users on OS X with no experience with Emacs, see the
-[Absolute Beginner's Guide (macOS)][guide].*
-
-The latest stable release of Fountain Mode is available via
-[MELPA-stable](http://stable.melpa.org/#/fountain-mode).
-
-Alternately, download the [latest release], move the files into your
-`load-path` and add the following line to your `.emacs` or `init.el` file:
-
-(require 'fountain-mode)
-
-If you prefer the latest but perhaps unstable version, install via
-[MELPA], or clone the repository into your `load-path` and require as
-above:
-
-git clone https://github.com/rnkn/fountain-mode.git
-
-Users of Debian ≥10 or Ubuntu ≥18.04 can install Fountain Mode with the 
following command:
-
-sudo apt install elpa-fountain-mode
-
-[guide]: 
https://github.com/rnkn/fountain-mode/wiki/Absolute-Beginner's-Guide-(macOS) 
"Absolute Beginner's Guide (macOS)"
-[melpa]: https://melpa.org/#/fountain-mode "MELPA"
-[melpa-stable]: https://stable.melpa.org/#/fountain-mode "MELPA-stable"
-[latest release]: https://github.com/rnkn/fountain-mode/releases/latest 
"Fountain Mode latest release"
-
-Bugs and Feature Requests
--
-
-Please raise an issue on 
[Issues](https://github.com/rnkn/fountain-mode/issues).
-
-- Emacs versions prior to 26 have a bug with `visual-line-mode` that produces 
erratic
-  navigation behavior when displaying very long lines. More information here:
-  
-
-Roadmap

-
-See [Roadmap](https://github.com/rnkn/fountain-mode/projects/2).
-
-History

-
-See [Releases](https://github.com/rnkn/fountain-mode/releases).
+Fountain Mode is now part of GNU ELPA and can be installed with `M-x
+package-install RET fountain-mode RET`.
 
-Tips
-
+Reporting Bugs
+--
 
-Ethereum address `0x209C60afd8aF6c61ac4Dbe340d81D4f789DF64D3`  
-Bitcoin Cash address `qp0n3z88mmq06xv9mvkwuur9289qhnyg2gl45tlhxf`
+To report bugs, please use `M-x report-emacs-bug RET` or send an email to
+
diff --git a/fountain-mode.el b/fountain-mode.el
index 7ef11ff..a1d824e 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -7,8 +7,6 @@
 ;; Version: 2.6.1
 ;; Package-Requires: ((emacs "24.5"))
 
-;; This file is not part of GNU Emacs.
-
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
 ;; the Free Software Foundation, either version 3 of the License, or (at
@@ -27,9 +25,9 @@
 ;; Fountain Mode
 ;; =
 
-;; Fountain Mode is a complete screenwriting environment for GNU Emacs
-;; using the Fountain markup format. For more information on the Fountain 
markup
-;; format, visit .
+;; Fountain Mode is a screenwriting environment for GNU Emacs using the 
Fountain
+;; markup format. For more information on the Fountain markup format, visit
+;; .
 
 ;; Features
 ;; 
@@ -78,62 +76,20 @@
 ;; 
 
 ;; - Emacs 24.5
-;; - LaTeX packages for PDF export: `geometry` `fontspec` `titling` `fancyhdr`
-;;   `marginnote` `ulem` `xstring` `oberdiek`
+;; - LaTeX packages for PDF export: geometry fontspec titling fancyhdr
+;;   marginnote ulem xstring oberdiek
 
 ;; Installation
 ;; 
 
-;; For users on OS X with no experience with Emacs, see the
-;; [Absolute Beginner's Guide (macOS)][guide].
-
-;; The latest stable release of Fountain Mode is available via
-;; [MELPA-stable](http://stable.melpa.org/#/fountain-mode).
-
-;; Alternately, download the [latest release], move the files into your
-;; `load-path` and add the following line to your `.emacs` or `init.el` file:
-
-;; (require 'fountain-mode)
-
-;; If you prefer the latest but perha

[elpa] externals/fountain-mode 7d92f6b: * fountain-mode.el: copyright year and version number

2019-01-25 Thread Paul Rankin
branch: externals/fountain-mode
commit 7d92f6b26c125c851076981f16fa96d377138ebb
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

* fountain-mode.el: copyright year and version number
---
 fountain-mode.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index a1d824e..7868bee 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1,10 +1,10 @@
 ;;; fountain-mode.el --- Major mode for screenwriting in Fountain markup -*- 
lexical-binding: t; -*-
 
-;; Copyright (c) 2014-2018  Free Software Foundation, Inc.
+;; Copyright (c) 2014-2019  Free Software Foundation, Inc.
 
 ;; Author: Paul Rankin 
 ;; Keywords: wp, text
-;; Version: 2.6.1
+;; Version: 2.6.2
 ;; Package-Requires: ((emacs "24.5"))
 
 ;; This program is free software; you can redistribute it and/or modify



[elpa] externals/olivetti updated (46fdcfe -> 211c03e)

2019-04-25 Thread Paul Rankin
pwr pushed a change to branch externals/olivetti.

  from  46fdcfe   Assign copyright to Free Software Foundation
   new  cfd5ba9   Update README/Commentary to reflect MELPA -> GNU ELPA
   new  211c03e   Add FIXME re window-size-change-functions


Summary of changes:
 README.md   | 35 +++
 olivetti.el | 57 -
 2 files changed, 27 insertions(+), 65 deletions(-)



[elpa] externals/olivetti 211c03e 2/2: Add FIXME re window-size-change-functions

2019-04-25 Thread Paul Rankin
branch: externals/olivetti
commit 211c03ee8336e8d5b03f4199beaea6ad59a7fe16
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Add FIXME re window-size-change-functions
---
 olivetti.el | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/olivetti.el b/olivetti.el
index 3cdd4a9..d50e334 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -146,6 +146,9 @@ exiting. The reverse is not true."
 
 ;;; Set Environment
 
+;; FIXME: A change to `window-size-change-functions' in 27.x breaks this
+;; function, which expects either no argument, or a frame (as per 26.1), but 
now
+;; may receive a window.
 (defun olivetti-set-margins (&optional frame)
   "Set text body width to `olivetti-body-width' with relative margins.
 



[elpa] externals/olivetti cfd5ba9 1/2: Update README/Commentary to reflect MELPA -> GNU ELPA

2019-04-25 Thread Paul Rankin
branch: externals/olivetti
commit cfd5ba91e838bd7ea8538826cc39d919cb6a
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Update README/Commentary to reflect MELPA -> GNU ELPA
---
 README.md   | 35 +++
 olivetti.el | 54 +-
 2 files changed, 24 insertions(+), 65 deletions(-)

diff --git a/README.md b/README.md
index 7ebd307..9519882 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,6 @@
 Olivetti
 
 
-[![MELPA 
Stable](https://stable.melpa.org/packages/olivetti-badge.svg)](https://stable.melpa.org/#/olivetti)
-[![MELPA](https://melpa.org/packages/olivetti-badge.svg)](https://melpa.org/#/olivetti)
-
 Olivetti is a simple Emacs minor mode for a nice writing environment.
 
 ![screenshot](https://github.com/rnkn/olivetti/raw/master/screenshots/01.png)
@@ -46,35 +43,17 @@ Requirements
 Installation
 
 
-Olivetti is available through [MELPA] and [MELPA-stable]. I
-encourage installing the stable version.
-
-Alternately, download the [latest release] and put it in your
-`load-path`.
+Olivetti is now part of GNU ELPA and can be installed with `M-x package-install
+RET olivetti RET`.
 
-[melpa]: https://melpa.org/ "MELPA"
-[melpa-stable]: https://stable.melpa.org/ "MELPA Stable"
-[latest release]: https://github.com/rnkn/olivetti/releases/latest "Olivetti 
latest release"
+Bugs
+
 
-Known Bugs
---
-
-- Emacs 27.x currently has a bug in `window.c` that will cause errors in
+- Emacs 27.x has a compatibility change in `window.c` that will cause errors in
   redisplay by passing a window instead of a frame as argument.
-- `linum-mode` in Emacs versions earlier than 26.1 has a bug that overwrites
-  margin settings, making it incompatible with modes that work with margins.
-  More information here: .
-
-Please report bugs on GitHub [Issues] page.
-
-[issues]: https://github.com/rnkn/olivetti/issues "Olivetti issues"
-
-History

-
-See [Releases].
 
-[releases]: https://github.com/rnkn/olivetti/releases "Olivetti releases"
+To report bugs, please use `M-x report-emacs-bug RET` or send an email to
+
 
 Hints
 -
diff --git a/olivetti.el b/olivetti.el
index 5b2f76a..3cdd4a9 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -34,21 +34,19 @@
 ;; - Text body width can be the number of characters (an integer) or a
 ;;   fraction of the window width (a float between 0.0 and 1.0).
 ;; - Interactively change body width with:
-;;   `olivetti-shrink` C-c [ [ [ ...
-;;   `olivetti-expand` C-c ] ] ] ...
-;;   `olivetti-set-width` C-c \
-;; - If `olivetti-body-width` is an integer, the text body width will scale
+;;   `olivetti-shrink' C-c [ [ [ ...
+;;   `olivetti-expand' C-c ] ] ] ...
+;;   `olivetti-set-width' C-c \
+;; - If `olivetti-body-width' is an integer, the text body width will scale
 ;;   with use of `text-scale-mode`, whereas if a fraction (float) then the
 ;;   text body width will remain at that fraction.
-;; - Optionally remember the state of `visual-line-mode` on entry and
+;; - Optionally remember the state of `visual-line-mode' on entry and
 ;;   recall its state on exit.
 
 ;; Olivetti keeps everything it does buffer-local, so you can write prose in 
one
 ;; buffer and code in another, side-by-side in the same frame. For those 
looking
 ;; for a hardcore distraction-free writing mode with a much larger scope, I
-;; recommend [writeroom-mode][].
-
-;; [writeroom-mode]: https://github.com/joostkremers/writeroom-mode "Writeroom 
Mode"
+;; recommend writeroom-mode: .
 
 ;; Requirements
 ;; 
@@ -58,45 +56,27 @@
 ;; Installation
 ;; 
 
-;; Olivetti is available through [MELPA] and [MELPA-stable]. I
-;; encourage installing the stable version.
-
-;; Alternately, download the [latest release] and put it in your
-;; `load-path`.
+;; Olivetti is now part of GNU ELPA and can be installed with M-x 
package-install
+;; RET olivetti RET.
 
-;; [melpa]: https://melpa.org/ "MELPA"
-;; [melpa-stable]: https://stable.melpa.org/ "MELPA Stable"
-;; [latest release]: https://github.com/rnkn/olivetti/releases/latest 
"Olivetti latest release"
+;; Bugs
+;; 
 
-;; Known Bugs
-;; --
-
-;; - Emacs 27.x currently has a bug in `window.c` that will cause errors in
+;; - Emacs 27.x has a compatibility change in window.c that will cause errors 
in
 ;;   redisplay by passing a window instead of a frame as argument.
-;; - `linum-mode` in Emacs versions earlier than 26.1 has a bug that overwrites
-;;   margin settings, making it incompatible with modes that work with margins.
-;;   More information here: .
-
-;; Please report bugs on GitHub [Issues] page.
-
-;; [issues]: https://github.com/rnkn/olivetti/issues "Olivetti issues"
-
-;; History
-;; ---
-
-;; See [Releases].
 
-;; [releases]: https://github.com/rnkn/olivetti/releases "Olivetti releases"
+;; To report bugs, please

[elpa] externals/olivetti 6835c97 2/2: Split olilvetti-set-margins for compatibility with Emacs 27

2019-05-07 Thread Paul Rankin
branch: externals/olivetti
commit 6835c973424a356b72c50c093c2eebd0d74091d9
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Split olilvetti-set-margins for compatibility with Emacs 27

Apply changes from Stefan, 2019-04-26
---
 olivetti.el | 59 ---
 1 file changed, 36 insertions(+), 23 deletions(-)

diff --git a/olivetti.el b/olivetti.el
index e60be64..94a5bdb 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -142,10 +142,7 @@ exiting. The reverse is not true."
 
 ;;; Set Environment
 
-;; FIXME: A change to `window-size-change-functions' in 27.x breaks this
-;; function, which expects either no argument, or a frame (as per 26.1), but 
now
-;; may receive a window.
-(defun olivetti-set-margins (&optional frame)
+(defun olivetti--set-margins ()
   "Set text body width to `olivetti-body-width' with relative margins.
 
 Cycle through all windows displaying current buffer and first
@@ -154,10 +151,23 @@ find the `olivetti-safe-width' to which to set
 relative to each window. Finally set the window margins, taking
 care that the maximum size is 0."
   (dolist (window (get-buffer-window-list nil nil t))
-(olivetti-reset-window window)
-(let ((width (olivetti-safe-width olivetti-body-width window))
-  (window-width (window-total-width window))
-  (fringes (window-fringes window))
+(olivetti--set-window-margins window)))
+
+(defun olivetti--set-window-margins (window-or-frame)
+  "Set text body width to `olivetti-body-width' with relative margins.
+First find the `olivetti-safe-width' to which to set
+`olivetti-body-width', then find the appropriate margin size
+relative to each window. Finally set the window margins, taking
+care that the maximum size is 0."
+  (if (framep window-or-frame)
+  ;; Emacs<27 calling style.
+  (mapc #'olivetti--set-window-margins
+(get-buffer-window-list nil nil frame))
+(olivetti-reset-window window-or-frame)
+(let ((width (olivetti-safe-width olivetti-body-width window-or-frame))
+  (frame (window-frame window-or-frame))
+  (window-width (window-total-width window-or-frame))
+  (fringes (window-fringes window-or-frame))
   left-fringe right-fringe margin-total left-margin right-margin)
   (cond ((integerp width)
  (setq width (olivetti-scale-width width)))
@@ -168,8 +178,8 @@ care that the maximum size is 0."
   (setq margin-total (max (/ (- window-width width) 2) 0)
 left-margin (max (round (- margin-total left-fringe)) 0)
 right-margin (max (round (- margin-total right-fringe)) 0))
-  (set-window-parameter window 'split-window 'olivetti-split-window)
-  (set-window-margins window left-margin right-margin
+  (set-window-parameter window-or-frame 'split-window 
'olivetti-split-window)
+  (set-window-margins window-or-frame left-margin right-margin
 
 (defun olivetti-reset-all-windows ()
   "Remove Olivetti's parameters and margins from all windows.
@@ -230,7 +240,9 @@ May return a float with many digits of precision."
   ((floatp width)
(max (/ min-width window-width) (min width 1.0)))
   ((user-error "`olivetti-body-width' must be an integer or a float")
-   (eval (car (get 'olivetti-body-width 'standard-value)))
+   ;; FIXME: This code is unreachable since we signal an error before
+   ;; getting here!?
+   (eval (car (get 'olivetti-body-width 'standard-value)) t)
 
 
 ;;; Width Interaction
@@ -245,7 +257,7 @@ fraction of the window width."
  (read-number "Set text body width (integer or float): "
   olivetti-body-width
   (setq olivetti-body-width n)
-  (olivetti-set-margins)
+  (olivetti--set-margins)
   (message "Text body width set to %s" olivetti-body-width))
 
 (defun olivetti-expand (&optional arg)
@@ -259,7 +271,7 @@ If prefixed with ARG, incrementally decrease."
   ((floatp olivetti-body-width)
(+ olivetti-body-width (* 0.01 p))
 (setq olivetti-body-width (olivetti-safe-width n (selected-window
-  (olivetti-set-margins)
+  (olivetti--set-margins)
   (message "Text body width set to %s" olivetti-body-width)
   (set-transient-map
(let ((map (make-sparse-keymap)))
@@ -286,7 +298,7 @@ If prefixed with ARG, incrementally increase."
   "Mode map for `olivetti-mode'.")
 
 (define-obsolete-function-alias 'turn-on-olivetti-mode
-  'olivetti-mode "1.7.0")
+  #'olivetti-mode "1.7.0")
 
 ;;;###autoload
 (define-minor-mode olivetti-mode
@@ -298,19 +310,20 @@ body width set with `olivetti-body-width'."
   :lighter olivetti-lighter
   (if olivetti-mode
   (progn
-(dolist (hook '(post-command-hook
-window-size-change-functions))
-  (add-hook hook 'olivetti-set-margins t t))
+(add-hook 'window-size-change-functions
+  #'olivetti--set-window-margin

[elpa] externals/olivetti updated (211c03e -> 6835c97)

2019-05-07 Thread Paul Rankin
pwr pushed a change to branch externals/olivetti.

  from  211c03e   Add FIXME re window-size-change-functions
   new  ab2e120   Remove redundant group keywords
   new  6835c97   Split olilvetti-set-margins for compatibility with Emacs 
27


Summary of changes:
 olivetti.el | 71 ++---
 1 file changed, 40 insertions(+), 31 deletions(-)



[elpa] externals/olivetti ab2e120 1/2: Remove redundant group keywords

2019-05-07 Thread Paul Rankin
branch: externals/olivetti
commit ab2e12059075d3a12df43fcb1a64f649aadc5857
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove redundant group keywords
---
 olivetti.el | 12 
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/olivetti.el b/olivetti.el
index d50e334..e60be64 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -114,23 +114,20 @@ best effect.
 
 This option does not affect file contents."
   :type '(choice (integer 70) (float 0.5))
-  :safe 'numberp
-  :group 'olivetti)
+  :safe 'numberp)
 (make-variable-buffer-local 'olivetti-body-width)
 
 (defcustom olivetti-minimum-body-width
   40
   "Minimum width in columns that text body width may be set."
   :type 'integer
-  :safe 'integerp
-  :group 'olivetti)
+  :safe 'integerp)
 
 (defcustom olivetti-lighter
   " Olv"
   "Mode-line indicator for `olivetti-mode'."
   :type '(choice (const :tag "No lighter" "") string)
-  :safe 'stringp
-  :group 'olivetti)
+  :safe 'stringp)
 
 (defcustom olivetti-recall-visual-line-mode-entry-state
   t
@@ -140,8 +137,7 @@ When non-nil, if `visual-line-mode' is inactive upon 
activating
 `olivetti-mode', then `visual-line-mode' will be deactivated upon
 exiting. The reverse is not true."
   :type 'boolean
-  :safe 'booleanp
-  :group 'olivetti)
+  :safe 'booleanp)
 
 
 ;;; Set Environment



[elpa] externals/olivetti 8332154: Change post-command-hook back to window-configuration-change-hook

2019-05-14 Thread Paul Rankin
branch: externals/olivetti
commit 8332154c1b28ed86d802843a019b5cfcf43b702e
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Change post-command-hook back to window-configuration-change-hook

This seems to cover the most bases on Emacs 26

Also:

- rename functions from internal style (they're not strictly internal)
- update function documentation
- make sure olivetti-set-margins passes a window when called recurisvely
---
 olivetti.el | 63 -
 1 file changed, 33 insertions(+), 30 deletions(-)

diff --git a/olivetti.el b/olivetti.el
index 94a5bdb..a64607e 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -142,32 +142,34 @@ exiting. The reverse is not true."
 
 ;;; Set Environment
 
-(defun olivetti--set-margins ()
-  "Set text body width to `olivetti-body-width' with relative margins.
+(defun olivetti-set-all-margins ()
+  "Balance window margins in all windows displaying current buffer.
 
-Cycle through all windows displaying current buffer and first
-find the `olivetti-safe-width' to which to set
-`olivetti-body-width', then find the appropriate margin size
-relative to each window. Finally set the window margins, taking
-care that the maximum size is 0."
+Cycle through all windows in all frames displaying the current
+buffer, and call `olivetti-set-margins'."
   (dolist (window (get-buffer-window-list nil nil t))
-(olivetti--set-window-margins window)))
+(olivetti-set-margins window)))
+
+(defun olivetti-set-margins (&optional frame-or-window)
+  "Balance window margins displaying current buffer.
+
+If FRAME-OR-WINDOW is a frame, cycle through windows displaying
+current buffer in that frame, otherwise only work on the selected
+window.
 
-(defun olivetti--set-window-margins (window-or-frame)
-  "Set text body width to `olivetti-body-width' with relative margins.
 First find the `olivetti-safe-width' to which to set
 `olivetti-body-width', then find the appropriate margin size
 relative to each window. Finally set the window margins, taking
 care that the maximum size is 0."
-  (if (framep window-or-frame)
-  ;; Emacs<27 calling style.
-  (mapc #'olivetti--set-window-margins
-(get-buffer-window-list nil nil frame))
-(olivetti-reset-window window-or-frame)
-(let ((width (olivetti-safe-width olivetti-body-width window-or-frame))
-  (frame (window-frame window-or-frame))
-  (window-width (window-total-width window-or-frame))
-  (fringes (window-fringes window-or-frame))
+  (if (framep frame-or-window)
+  (dolist (window (get-buffer-window-list nil nil frame-or-window))
+(olivetti-set-margins window))
+;; FRAME-OR-WINDOW passed below *must* be a window
+(olivetti-reset-window frame-or-window)
+(let ((width (olivetti-safe-width olivetti-body-width frame-or-window))
+  (frame (window-frame frame-or-window))
+  (window-width (window-total-width frame-or-window))
+  (fringes (window-fringes frame-or-window))
   left-fringe right-fringe margin-total left-margin right-margin)
   (cond ((integerp width)
  (setq width (olivetti-scale-width width)))
@@ -178,8 +180,8 @@ care that the maximum size is 0."
   (setq margin-total (max (/ (- window-width width) 2) 0)
 left-margin (max (round (- margin-total left-fringe)) 0)
 right-margin (max (round (- margin-total right-fringe)) 0))
-  (set-window-parameter window-or-frame 'split-window 
'olivetti-split-window)
-  (set-window-margins window-or-frame left-margin right-margin
+  (set-window-parameter frame-or-window 'split-window 
'olivetti-split-window)
+  (set-window-margins frame-or-window left-margin right-margin
 
 (defun olivetti-reset-all-windows ()
   "Remove Olivetti's parameters and margins from all windows.
@@ -257,7 +259,7 @@ fraction of the window width."
  (read-number "Set text body width (integer or float): "
   olivetti-body-width
   (setq olivetti-body-width n)
-  (olivetti--set-margins)
+  (olivetti-set-margins)
   (message "Text body width set to %s" olivetti-body-width))
 
 (defun olivetti-expand (&optional arg)
@@ -271,7 +273,7 @@ If prefixed with ARG, incrementally decrease."
   ((floatp olivetti-body-width)
(+ olivetti-body-width (* 0.01 p))
 (setq olivetti-body-width (olivetti-safe-width n (selected-window
-  (olivetti--set-margins)
+  (olivetti-set-margins)
   (message "Text body width set to %s" olivetti-body-width)
   (set-transient-map
(let ((map (make-sparse-keymap)))
@@ -311,19 +313,20 @@ body width set with `olivetti-body-width'."
   (if olivetti-mode
   (progn
 (add-hook 'window-size-change-functions
-  #'olivetti--set-window-margins t t)
-;; FIXME: Do we really still need this post-command-hook in
-;; Emacs-27?
-(add-hook 'post-c

[elpa] externals/olivetti 1a2a2eb 1/2: Call olivetti-set-all-margins from olivetti-expand/-set-width

2019-05-19 Thread Paul Rankin
branch: externals/olivetti
commit 1a2a2eba0a86a3530edcbadfc627f2156ef77c65
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Call olivetti-set-all-margins from olivetti-expand/-set-width
---
 olivetti.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/olivetti.el b/olivetti.el
index a64607e..a15df1b 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -259,7 +259,7 @@ fraction of the window width."
  (read-number "Set text body width (integer or float): "
   olivetti-body-width
   (setq olivetti-body-width n)
-  (olivetti-set-margins)
+  (olivetti-set-all-margins)
   (message "Text body width set to %s" olivetti-body-width))
 
 (defun olivetti-expand (&optional arg)
@@ -273,7 +273,7 @@ If prefixed with ARG, incrementally decrease."
   ((floatp olivetti-body-width)
(+ olivetti-body-width (* 0.01 p))
 (setq olivetti-body-width (olivetti-safe-width n (selected-window
-  (olivetti-set-margins)
+  (olivetti-set-all-margins)
   (message "Text body width set to %s" olivetti-body-width)
   (set-transient-map
(let ((map (make-sparse-keymap)))



[elpa] externals/olivetti updated (8332154 -> 7f3fe83)

2019-05-19 Thread Paul Rankin
pwr pushed a change to branch externals/olivetti.

  from  8332154   Change post-command-hook back to 
window-configuration-change-hook
   new  1a2a2eb   Call olivetti-set-all-margins from 
olivetti-expand/-set-width
   new  7f3fe83   Conditionally add hooks for Emacs 24 -> 27


Summary of changes:
 olivetti.el | 19 +--
 1 file changed, 13 insertions(+), 6 deletions(-)



[elpa] externals/olivetti 7f3fe83 2/2: Conditionally add hooks for Emacs 24 -> 27

2019-05-19 Thread Paul Rankin
branch: externals/olivetti
commit 7f3fe83f43be32a02c790e3b209a9d4d08bdcee1
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Conditionally add hooks for Emacs 24 -> 27
---
 olivetti.el | 15 +++
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/olivetti.el b/olivetti.el
index a15df1b..6e140ce 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -312,10 +312,17 @@ body width set with `olivetti-body-width'."
   :lighter olivetti-lighter
   (if olivetti-mode
   (progn
-(add-hook 'window-size-change-functions
-  #'olivetti-set-margins t t)
-(add-hook 'window-configuration-change-hook
-  'olivetti-set-all-margins t t)
+(cond ((<= emacs-major-version 24)
+   (add-hook 'window-configuration-change-hook
+ #'olivetti-set-all-margins t t))
+  ((<= emacs-major-version 26)
+   (add-hook 'window-configuration-change-hook
+ #'olivetti-set-all-margins t t)
+   (add-hook 'window-size-change-functions
+ #'olivetti-set-margins t t))
+  ((<= 27 emacs-major-version)
+   (add-hook 'window-size-change-functions
+ #'olivetti-set-margins t t)))
 (add-hook 'change-major-mode-hook
   #'olivetti-reset-all-windows nil t)
 (setq-local split-window-preferred-function



[elpa] externals/olivetti 567714d: Bump version number

2019-05-19 Thread Paul Rankin
branch: externals/olivetti
commit 567714d4cb3b9ef5c33b9bff0f26ff345c7b1ad0
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Bump version number
---
 olivetti.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/olivetti.el b/olivetti.el
index 6e140ce..eaed976 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -4,7 +4,7 @@
 
 ;; Author: Paul Rankin 
 ;; Keywords: wp, text
-;; Version: 1.7.0
+;; Version: 1.7.1
 ;; Package-Requires: ((emacs "24.5"))
 
 ;; This file is part of GNU Emacs.



[elpa] externals/olivetti 343bf1e: Remove window-size-change-function issue from README/Commentary

2019-05-19 Thread Paul Rankin
branch: externals/olivetti
commit 343bf1e9c9b31fdb608569cfa795f6176f9c91dc
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove window-size-change-function issue from README/Commentary
---
 README.md   | 5 +
 olivetti.el | 5 +
 2 files changed, 2 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index 9519882..c4969b6 100644
--- a/README.md
+++ b/README.md
@@ -49,11 +49,8 @@ RET olivetti RET`.
 Bugs
 
 
-- Emacs 27.x has a compatibility change in `window.c` that will cause errors in
-  redisplay by passing a window instead of a frame as argument.
-
 To report bugs, please use `M-x report-emacs-bug RET` or send an email to
-
+. Please include "olivetti" in the subject.
 
 Hints
 -
diff --git a/olivetti.el b/olivetti.el
index eaed976..d7403ff 100644
--- a/olivetti.el
+++ b/olivetti.el
@@ -62,11 +62,8 @@
 ;; Bugs
 ;; 
 
-;; - Emacs 27.x has a compatibility change in window.c that will cause errors 
in
-;;   redisplay by passing a window instead of a frame as argument.
-
 ;; To report bugs, please use `M-x report-emacs-bug RET` or send an email to
-;; 
+;; . Please include "olivetti" in the subject.
 
 ;; Hints
 ;; -



[elpa] externals/fountain-mode updated (7d92f6b -> eef014a)

2019-05-19 Thread Paul Rankin
pwr pushed a change to branch externals/fountain-mode.

  from  7d92f6b   * fountain-mode.el: copyright year and version number
   new  ea6f03b   Remove background functions & feature creep
   new  7ace331   Remove timer page count and mode-line alteration
   new  0a202b8   Remove fountain-auto-upcase-highlight face
   new  459bd14   Remove --edit-line funcs
   new  d6c367e   Clean-ups, fixing fountain-scene-numbers group
   new  eb1ae47   Cleaned up obsolete variable warnings
   new  a6a11f8   Remove fountain page count commands from menu
   new  e8a7ecd   Remove fountain-tab-command from menu
   new  5fd879c   Neaten up fountain menu
   new  6cdcb2d   Bump version number
   new  cb78fc0   Bind TAB to fountain-dwim, C-c C-o to 
fountain-include-find-file
   new  c1a01e3   Remove old page-count vars/options
   new  f12e7f0   Improve completion for scene headings
   new  51d3e39   Fix scene heading regexp grouping for scene numbers
   new  735561a   Change scene heading completion to location/suffix 
completion
   new  349436a   Update fountain-dwim to toggle outline/completion-at-point
   new  eef014a   Update README/Commentary/code comments


Summary of changes:
 README.md|  11 +-
 fountain-mode.el | 607 ---
 2 files changed, 227 insertions(+), 391 deletions(-)



[elpa] externals/fountain-mode eb1ae47 06/17: Cleaned up obsolete variable warnings

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit eb1ae4752b1a9d6d0ff4e897e655352435ce784a
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Cleaned up obsolete variable warnings
---
 fountain-mode.el | 120 ++-
 1 file changed, 74 insertions(+), 46 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index c0ea704..cb87f87 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -114,142 +114,170 @@
 ;;; Obsolete Warnings
 
 (define-obsolete-variable-alias 'fountain-align-centered
-  'fountain-align-center "1.1.0")
+  'fountain-align-center "fountain-mode-1.1.0")
 
 (define-obsolete-variable-alias 'fountain-hide-escapes
-  'fountain-hide-syntax-chars "1.3.0")
+  'fountain-hide-syntax-chars "fountain-mode-1.3.0")
 
 (make-obsolete-variable 'fountain-export-inline-style
-"Use inline style instead." "2.1.0")
+"use inline style instead."
+"fountain-mode-2.1.0")
 
 (define-obsolete-variable-alias 'fountain-export-style-template
-  'fountain-export-html-stylesheet "2.4.0")
+  'fountain-export-html-stylesheet "fountain-mode-2.4.0")
 
 (define-obsolete-face-alias 'fountain-centered
-  'fountain-center "1.1.0")
+  'fountain-center "fountain-mode-1.1.0")
 
 (define-obsolete-face-alias 'fountain-scene-heading-highlight
-  'fountain-scene-heading "1.2.0")
+  'fountain-scene-heading "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-note-highlight
-  'fountain-note "1.2.0")
+  'fountain-note "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-section-highlight
-  'fountain-section "1.2.0")
+  'fountain-section "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-synopsis-highlight
-  'fountain-synopsis "1.2.0")
+  'fountain-synopsis "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-center-highlight
-  'fountain-center "1.2.0")
+  'fountain-center "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-character-highlight
-  'fountain-character "1.2.0")
+  'fountain-character "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-paren-highlight
-  'fountain-paren "1.2.0")
+  'fountain-paren "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-dialog-highlight
-  'fountain-dialog "1.2.0")
+  'fountain-dialog "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-trans-highlight
-  'fountain-trans "1.2.0")
+  'fountain-trans "fountain-mode-1.2.0")
 
 (define-obsolete-face-alias 'fountain-section
-  'fountain-section-heading "1.4.1")
+  'fountain-section-heading "fountain-mode-1.4.1")
 
 (make-obsolete-variable 'fountain-export-title-page-left-template
-"Edit individual export templates instead." "2.4.0")
+"edit individual export templates instead."
+"fountain-mode-2.4.0")
 
 (make-obsolete-variable 'fountain-export-title-page-right-template
-"Edit individual export templates instead." "2.4.0")
+"edit individual export templates instead."
+"fountain-mode-2.4.0")
 
 (make-obsolete 'fountain-export-buffer-to-pdf-via-html
-   'fountain-export-buffer-to-latex "2.5.0")
+   'fountain-export-buffer-to-latex "fountain-mode-2.5.0")
 
 (make-obsolete-variable 'fountain-export-pdf-via-html-command
-'fountain-export-shell-command "2.0.0")
+'fountain-export-shell-command
+"fountain-mode-2.0.0")
 
 (make-obsolete-variable 'fountain-uuid-func
-"Use a third-party package instead." "2.0.0")
+"use a third-party package instead."
+"fountain-mode-2.0.0")
 
 (make-obsolete-variable 'fountain-export-bold-scene-headings
-'fountain-export-scene-heading-format "2.0.0")
+'fountain-export-scene-heading-format
+"fountain-mode-2.0.0")
 
 (make-obsolete-variable 'fountain-export-underline-scene-headings
-'fountain-export-scene-heading-format "2.0.0")
+'fountain-export-scene-heading-format
+"fountain-mode-2.0.0")
 
 (make-obsolete-variable 'fountain-export-double-space-scene-headings
-'fountain-export-scene-heading-format "2.0.0")
+'fountain-export-scene-heading-format
+"fountain-mode-2.0.0")
 
 (make-obsolete-variable 'fountain-export-bold-title
-"Edit individual export templates instead." "2.4.0")
+"edit individual export templates instead."
+"fountain-mode-2.4.0")
 
 (make-obsolete-variable 'fountain-export-underline-title
-"Edit individual export templates instead." "2.4.0")
+"edit individual export templ

[elpa] externals/fountain-mode cb78fc0 11/17: Bind TAB to fountain-dwim, C-c C-o to fountain-include-find-file

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit cb78fc0fdf66e820a94a68990d1f2594a67d6633
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Bind TAB to fountain-dwim, C-c C-o to fountain-include-find-file
---
 fountain-mode.el | 8 +++-
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 70d5ddb..00fb749 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1318,7 +1318,7 @@ characters from `fountain-completion-characters'."
 
 (defun fountain-completion-at-point ()
   "\\Return completion table for entity at point.
-Trigger completion with \\[completion-at-point].
+Trigger completion with \\[fountain-dwim].
 
 Always delimits entity from beginning of line to point. If at a
 scene heading, return `fountain-scene-heading-candidates'. If
@@ -4714,13 +4714,14 @@ keywords suitable for Font Lock."
 (defvar fountain-mode-map
   (let ((map (make-sparse-keymap)))
 ;; Editing commands:
-(define-key map (kbd "TAB") #'fountain-tab-action)
+(define-key map (kbd "TAB") #'fountain-dwim)
 (define-key map (kbd "C-c RET") #'fountain-upcase-line-and-newline)
 (define-key map (kbd "") #'fountain-upcase-line-and-newline)
 (define-key map (kbd "C-c C-c") #'fountain-upcase-line)
 (define-key map (kbd "C-c C-d") #'fountain-continued-dialog-refresh)
 (define-key map (kbd "C-c C-z") #'fountain-insert-note)
 (define-key map (kbd "C-c C-a") #'fountain-insert-synopsis)
+(define-key map (kbd "C-c C-o") #'fountain-include-find-file)
 (define-key map (kbd "C-c C-x i") #'auto-insert)
 (define-key map (kbd "C-c C-x #") #'fountain-add-scene-numbers)
 (define-key map (kbd "C-c C-x _") #'fountain-remove-scene-numbers)
@@ -4728,9 +4729,6 @@ keywords suitable for Font Lock."
 (define-key map (kbd "C-c C-x RET") #'fountain-insert-page-break)
 (define-key map (kbd "M-TAB") #'completion-at-point)
 (define-key map (kbd "C-c C-x a") #'fountain-completion-update)
-;; FIXME: `fountain-include-find-file' feels like it should be C-c C-c,
-;; (currently mapped to `fountain-upcase-line').
-;; (define-key map (kbd "C-c C-c") #'fountain-include-find-file)
 ;; Navigation commands:
 (define-key map [remap beginning-of-defun] #'fountain-beginning-of-scene)
 (define-key map [remap end-of-defun] #'fountain-end-of-scene)



[elpa] externals/fountain-mode 6cdcb2d 10/17: Bump version number

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 6cdcb2dd261f87bc99650bd75647000efd5505c6
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Bump version number
---
 fountain-mode.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 4ab76d4..70d5ddb 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -4,7 +4,7 @@
 
 ;; Author: Paul Rankin 
 ;; Keywords: wp, text
-;; Version: 2.6.2
+;; Version: 2.7.0
 ;; Package-Requires: ((emacs "24.5"))
 
 ;; This program is free software; you can redistribute it and/or modify
@@ -98,7 +98,7 @@
 (eval-when-compile (require 'cl-lib))
 
 (defconst fountain-version
-  "2.6.1")
+  "2.7.0")
 
 (defun fountain-version ()
   "Return `fountain-mode' version."



[elpa] externals/fountain-mode ea6f03b 01/17: Remove background functions & feature creep

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit ea6f03bd79fa3f919cd7b65e321fbad03a69d5b8
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove background functions & feature creep

- Remove completion update funcs from jit-lock-register
- Remove mode-line page information
- Remove page count timer
- Remove fountain--edit-line and associated funcs
- Make fountain-completion-characters occurrence-based
- Remove auto-upcase overlay feature (just use C-c C-c or S-RET)
- Remove auto-upcase post-command-hooks
---
 fountain-mode.el | 130 ++-
 1 file changed, 22 insertions(+), 108 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 7868bee..8b4b549 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1210,23 +1210,12 @@ Assumes that all other element matching has been done."
 (defvar-local fountain-completion-characters
   nil
   "List of characters in the current buffer.
-Each element is a cons (NAME . PRIORITY)  where NAME is a string, and
-PRIORITY is an integer.
+Each element is a cons (NAME . OCCUR) where NAME is a string, and
+OCCUR is an integer representing the character's number of
+occurrences. ")
 
-n.b. The priority value does not equate to the number of lines
-the character has.")
-
-(defvar-local fountain--edit-line
-  nil
-  "Line number currently being edited.
-Prevents incomplete strings added to candidates.")
-
-(defun fountain-completion-update-scene-headings (start end)
-  "Update `fountain-completion-scene-headings' between START and END.
-
-Added to `jit-lock-functions'."
-  ;; FIXME: Doing this within jit-lock is unreliable.  It should be done within
-  ;; *-change-functions instead!
+(defun fountain-completion-update-scene-headings (start end &optional length)
+  "Update `fountain-completion-scene-headings' between START and END."
   (goto-char end)
   (if (fountain-match-scene-heading)
   (forward-line)
@@ -1235,20 +1224,14 @@ Added to `jit-lock-functions'."
   (goto-char start)
   (fountain-forward-scene 0)
   (while (< (point) end)
-(when (and (not (and (integerp fountain--edit-line)
- (= fountain--edit-line (line-number-at-pos
-   (fountain-match-scene-heading))
+(when (fountain-match-scene-heading)
   (let ((scene-heading (match-string-no-properties 2)))
 (unless (member scene-heading fountain-completion-scene-headings)
   (push scene-heading fountain-completion-scene-headings
 (fountain-forward-scene 1)))
 
-(defun fountain-completion-update-characters (start end)
-  "Update `fountain-completion-characters' between START and END.
-
-Added to `jit-lock-functions'."
-  ;; FIXME: Doing this within jit-lock is unreliable.  It should be done within
-  ;; *-change-functions instead!
+(defun fountain-completion-update-characters (start end &optional length)
+  "Update `fountain-completion-characters' between START and END."
   (goto-char end)
   (if (fountain-match-scene-heading)
   (forward-line)
@@ -1257,9 +1240,7 @@ Added to `jit-lock-functions'."
   (goto-char start)
   (fountain-forward-scene 0)
   (while (< (point) end)
-(when (and (not (and (integerp fountain--edit-line)
- (= fountain--edit-line (line-number-at-pos
-   (fountain-match-character))
+(when (fountain-match-character)
   (let* ((character (match-string-no-properties 4))
  (candidate (assoc-string character 
fountain-completion-characters))
  (n (cdr candidate)))
@@ -1320,26 +1301,18 @@ scene heading, return 
`fountain-scene-heading-candidates'. If
 previous line is blank, return result of
 `fountain-completion-get-characters'.
 
-Set `completion-in-region-mode-map' to nil to retain TAB
-keybinding.
-
 Added to `completion-at-point-functions'."
-  (let (completion-in-region-mode-map jit-lock-mode)
-(list (line-beginning-position)
-  (point)
-  (completion-table-case-fold
-   (cond
-((fountain-match-scene-heading)
- fountain-completion-scene-headings)
-((fountain-blank-before-p)
- (fountain-completion-get-characters)))
+  (list (line-beginning-position)
+(point)
+(completion-table-case-fold
+ (cond
+  ((fountain-match-scene-heading)
+   fountain-completion-scene-headings)
+  ((fountain-blank-before-p)
+   (fountain-completion-get-characters))
 
 (defun fountain-completion-update ()
-  "Create new completion candidates for current buffer.
-
-Completion candidates are usually updated automatically with
-`jit-lock-mode', however this command will add completion
-candidates for the entire buffer.
+  "Update completion candidates for current buffer.
 
 Add to `fountain-mode-hook' to have full completion upon load."
   (interactive)
@@ -4092,50 +4065,6 @@ If nil, auto-upcase is deactivated.")
   (funcall fountain-tab-function arg)
 

[elpa] externals/fountain-mode f12e7f0 13/17: Improve completion for scene headings

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit f12e7f0b3d75293cdae137e9d1860b31e59f
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Improve completion for scene headings

- add variable fountain-scene-heading-suffix-list
- add variable fountain-scene-heading-suffix-sep
- allow completion to complete location or suffix
---
 fountain-mode.el | 91 +++-
 1 file changed, 64 insertions(+), 27 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index c493f82..f398ec7 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -576,6 +576,22 @@ e.g.
 
 Requires `fountain-match-scene-heading' for preceding blank line.")
 
+(defcustom fountain-scene-heading-suffix-sep
+  " - "
+  "String separating scene heading location from suffix."
+  :type 'string
+  :safe 'string
+  :set #'fountain--set-and-refresh-all-font-lock)
+
+(defcustom fountain-scene-heading-suffix-list
+  '("DAY" "NIGHT" "LATER" "MOMENTS LATER" "CONTINUOUS")
+  "List of scene heading suffixes (case insensitive).
+
+These are separated from scene heading locations with
+`fountain-scene-heading-suffix-sep'."
+  :type '(repeat (string :tag "Suffix"))
+  :set #'fountain--set-and-refresh-all-font-lock)
+
 (defvar fountain-trans-regexp
   nil
   "Regular expression for matching transitions.
@@ -893,33 +909,35 @@ scene heading regular expression."
  ;; Group 2: match scene heading without scene number
  "\\(?2:\\<"
  ;; Group 4: match location
- "\\(?4:.+?\\)[\s\t]*"
- ;; Group 5: match time of day
- "\\(?:--?[\s\t]*\\(?5:.+?\\)\\)?"
+ "\\(?4:.+?\\)"
+ ;; Group 5: match suffix separator
+ "\\(?:\\(?5:" fountain-scene-heading-suffix-sep "\\)"
+ ;; Group 6: match suffix
+ "\\(?6:.+\\)?\\)?"
  "\\)\\|"
  ;;; Match normal scene heading
  ;; Group 2: match scene heading without scene number
  "^\\(?2:"
  ;; Group 3: match INT/EXT
- "\\(?3:"
- (regexp-opt fountain-scene-heading-prefix-list)
- "\\)[.\s\t][\s\t]*"
+ "\\(?3:" (regexp-opt fountain-scene-heading-prefix-list) ".?\s+\\)"
  ;; Group 4: match location
- "\\(?4:.+?\\)[\s\t]*"
- ;; Group 5: match time of day
- "\\(?:--?[\s\t]*\\(?5:.+?\\)\\)?"
+ "\\(?4:.+?\\)?"
+ ;; Group 5: match suffix separator
+ "\\(?:\\(?5:" fountain-scene-heading-suffix-sep "\\)"
+ ;; Group 6: match suffix
+ "\\(?6:.+\\)?\\)?"
  "\\)\\)"
  ;;; Match scene number
  "\\(?:"
- ;; Group 6: match space between scene heading and scene number
- "\\(?6:[\s\t]+\\)"
- ;; Group 7: match first # delimiter
- "\\(?7:#\\)"
- ;; Group 8: match scene number
- "\\(?8:[0-9a-z\\.-]+\\)"
- ;; Group 9: match last # delimiter
- "\\(?9:#\\)\\)?"
- "[\s\t]*$")))
+ ;; Group 7: match space between scene heading and scene number
+ "\\(?7:\s+\\)"
+ ;; Group 8: match first # delimiter
+ "\\(?8:#\\)"
+ ;; Group 9: match scene number
+ "\\(?9:[0-9a-z\\.-]+\\)"
+ ;; Group 10: match last # delimiter
+ "\\(?10:#\\)\\)?"
+ "\s*$")))
 
 (defun fountain-init-trans-regexp ()
   "Initialize transition regular expression.
@@ -1249,7 +1267,7 @@ occurrences. ")
   (fountain-forward-scene 0)
   (while (< (point) end)
 (when (fountain-match-scene-heading)
-  (let ((scene-heading (match-string-no-properties 2)))
+  (let ((scene-heading (match-string-no-properties 4)))
 (unless (member scene-heading fountain-completion-scene-headings)
   (push scene-heading fountain-completion-scene-headings
 (fountain-forward-scene 1)))
@@ -1326,14 +1344,33 @@ previous line is blank, return result of
 `fountain-completion-get-characters'.
 
 Added to `completion-at-point-functions'."
-  (list (line-beginning-position)
-(point)
-(completion-table-case-fold
- (cond
-  ((fountain-match-scene-heading)
-   fountain-completion-scene-headings)
-  ((fountain-blank-before-p)
-   (fountain-completion-get-characters))
+  (cond ((and (fountain-match-scene-heading)
+  (match-string 5))
+ ;; Return scene heading suffix completion
+ (list (match-end 5)
+   (point)
+   (completion-table-case-fold
+fountain-scene-heading-suffix-list)))
+((and (fountain-match-scene-heading)
+  (match-string 3))
+ ;; Return scene location completion
+ (list (match-end 3)
+   (point)
+   (completion-table-case-fold
+fountain-completion-scene-headings)))
+((and (fountain-match-scene-heading)
+  (match-string 1))
+ ;; Return scene location completion (forced)
+ (list (match-end 1)
+   (p

[elpa] externals/fountain-mode d6c367e 05/17: Clean-ups, fixing fountain-scene-numbers group

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit d6c367e731eb03fe29775cca5fb5ccffb2b47df8
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Clean-ups, fixing fountain-scene-numbers group
---
 fountain-mode.el | 13 +
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 95f609c..c0ea704 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1310,7 +1310,7 @@ Added to `completion-at-point-functions'."
 (defun fountain-completion-update ()
   "Update completion candidates for current buffer.
 
-Add to `fountain-mode-hook' to have full completion upon load."
+Add to `fountain-mode-hook' to have completion upon load."
   (interactive)
   (setq fountain-completion-scene-headings nil
 fountain-completion-characters nil)
@@ -2181,8 +2181,7 @@ Passed to `format' with export format as single variable."
   t
   "If non-nil, include a title page in export."
   :type 'boolean
-  :safe 'booleanp
-  :set #'fountain--set-and-refresh-all-font-lock)
+  :safe 'booleanp)
 
 (defcustom fountain-export-contact-align-right
   nil
@@ -4164,14 +4163,14 @@ WARNING: Using conflicting revised scene number format 
in the
 same script may result in errors in output."
   :type 'boolean
   :safe 'booleanp
-  :group 'fountain)
+  :group 'fountain-scene-numbers)
 
 (defcustom fountain-scene-number-first-revision
   ?A
   "Character to start revised scene numbers."
   :type 'character
   :safe 'characterp
-  :group 'fountain-scene-number)
+  :group 'fountain-scene-numbers)
 
 (defcustom fountain-scene-number-separator
   nil
@@ -4181,7 +4180,7 @@ same script may result in errors in output."
   :safe '(lambda (value)
(or (null value)
(characterp value)))
-  :group 'fountain-scene-number)
+  :group 'fountain-scene-numbers)
 
 (defun fountain-scene-number-to-list (string)
   "Read scene number STRING and return a list.
@@ -4953,8 +4952,6 @@ keywords suitable for Font Lock."
   (add-hook 'post-self-insert-hook #'fountain-auto-upcase nil t)
   (when fountain-patch-emacs-bugs (fountain-patch-emacs-bugs))
   (jit-lock-register #'fountain-redisplay-scene-numbers))
-  ;; FIXME: Merge those two functions into one (and move them to
-  ;; *-change-functions)
 
 (provide 'fountain-mode)
 



[elpa] externals/fountain-mode 735561a 15/17: Change scene heading completion to location/suffix completion

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 735561a282510c15b0a021b31367dcf4023a5e2c
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Change scene heading completion to location/suffix completion
---
 fountain-mode.el | 34 --
 1 file changed, 20 insertions(+), 14 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 7974ec3..f249eac 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -579,16 +579,22 @@ Requires `fountain-match-scene-heading' for preceding 
blank line.")
 
 (defcustom fountain-scene-heading-suffix-sep
   " - "
-  "String separating scene heading location from suffix."
+  "String separating scene heading location from suffix.
+
+WARNING: If you change this any existing scene headings will no
+longer be parsed correctly."
   :type 'string
   :safe 'string
   :set #'fountain--set-and-refresh-all-font-lock)
 
 (defcustom fountain-scene-heading-suffix-list
-  '("DAY" "NIGHT" "LATER" "MOMENTS LATER" "CONTINUOUS")
+  '("DAY" "NIGHT" "CONTINUOUS" "LATER" "MOMENTS LATER")
   "List of scene heading suffixes (case insensitive).
 
-These are separated from scene heading locations with
+These are only used for auto-completion. Any scene headings can
+have whatever suffix you like.
+
+Separated from scene heading locations with
 `fountain-scene-heading-suffix-sep'."
   :type '(repeat (string :tag "Suffix"))
   :set #'fountain--set-and-refresh-all-font-lock)
@@ -1246,9 +1252,9 @@ Assumes that all other element matching has been done."
 
 ;;; Auto-completion
 
-(defvar-local fountain-completion-scene-headings
+(defvar-local fountain-completion-locations
   nil
-  "List of scene headings in the current buffer.")
+  "List of scene locations in the current buffer.")
 
 (defvar-local fountain-completion-characters
   nil
@@ -1257,8 +1263,8 @@ Each element is a cons (NAME . OCCUR) where NAME is a 
string, and
 OCCUR is an integer representing the character's number of
 occurrences. ")
 
-(defun fountain-completion-update-scene-headings (start end &optional length)
-  "Update `fountain-completion-scene-headings' between START and END."
+(defun fountain-completion-update-locations (start end &optional length)
+  "Update `fountain-completion-locations' between START and END."
   (goto-char end)
   (if (fountain-match-scene-heading)
   (forward-line)
@@ -1268,13 +1274,13 @@ occurrences. ")
   (fountain-forward-scene 0)
   (while (< (point) end)
 (when (fountain-match-scene-heading)
-  (let ((scene-heading (match-string-no-properties 4)))
-(unless (member scene-heading fountain-completion-scene-headings)
-  (push scene-heading fountain-completion-scene-headings
+  (let ((location (match-string-no-properties 4)))
+(unless (member location fountain-completion-locations)
+  (push location fountain-completion-locations
 (fountain-forward-scene 1)))
 
 (defun fountain-completion-update-characters (start end &optional length)
-  "Update `fountain-completion-characters' between START and END."
+  "Update `fountain-completion-characters' in current buffer."
   (goto-char end)
   (if (fountain-match-scene-heading)
   (forward-line)
@@ -1358,14 +1364,14 @@ Added to `completion-at-point-functions'."
  (list (match-end 3)
(point)
(completion-table-case-fold
-fountain-completion-scene-headings)))
+fountain-completion-locations)))
 ((and (fountain-match-scene-heading)
   (match-string 1))
  ;; Return scene location completion (forced)
  (list (match-end 1)
(point)
(completion-table-case-fold
-fountain-completion-scene-headings)))
+fountain-completion-locations)))
 ((fountain-blank-before-p)
  ;; Return character completion
  (list (line-beginning-position)
@@ -1378,7 +1384,7 @@ Added to `completion-at-point-functions'."
 
 Add to `fountain-mode-hook' to have completion upon load."
   (interactive)
-  (setq fountain-completion-scene-headings nil
+  (setq fountain-completion-locations nil
 fountain-completion-characters nil)
   (save-excursion
 (save-restriction



[elpa] externals/fountain-mode 5fd879c 09/17: Neaten up fountain menu

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 5fd879c2e921a864959d61ae4f7e3ad813cfca55
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Neaten up fountain menu
---
 fountain-mode.el | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index c2a95e4..4ab76d4 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -4802,7 +4802,7 @@ keywords suitable for Font Lock."
  ["Shift Element Down" fountain-shift-down]
  "---"
  ["Shift All Elements" (customize-set-variable 'fountain-shift-all-elements
-   (not 
fountain-shift-all-elements))
+ (not fountain-shift-all-elements))
   :style toggle
   :selected fountain-shift-all-elements])
 ("Scene Numbers"
@@ -4835,10 +4835,12 @@ keywords suitable for Font Lock."
  "---"
  ["Run Shell Command" fountain-export-shell-command]
  "---"
- ["US Letter Page Size" (customize-set-variable 'fountain-export-page-size 
'letter)
+ ["US Letter Page Size" (customize-set-variable 'fountain-export-page-size
+'letter)
   :style radio
   :selected (eq fountain-export-page-size 'letter)]
- ["A4 Page Size" (customize-set-variable 'fountain-export-page-size 'a4)
+ ["A4 Page Size" (customize-set-variable 'fountain-export-page-size
+ 'a4)
   :style radio
   :selected (eq fountain-export-page-size 'a4)]
  "---"
@@ -4850,25 +4852,25 @@ keywords suitable for Font Lock."
  ["Bold Scene Headings"
   (if (memq 'bold fountain-export-scene-heading-format)
   (customize-set-variable 'fountain-export-scene-heading-format
-  (remq 'bold 
fountain-export-scene-heading-format))
+ (remq 'bold fountain-export-scene-heading-format))
 (customize-set-variable 'fountain-export-scene-heading-format
-(cons 'bold 
fountain-export-scene-heading-format)))
+(cons 'bold fountain-export-scene-heading-format)))
   :style toggle
   :selected (memq 'bold fountain-export-scene-heading-format)]
  ["Double-Space Scene Headings"
   (if (memq 'double-space fountain-export-scene-heading-format)
   (customize-set-variable 'fountain-export-scene-heading-format
-  (remq 'double-space 
fountain-export-scene-heading-format))
+ (remq 'double-space fountain-export-scene-heading-format))
 (customize-set-variable 'fountain-export-scene-heading-format
-(cons 'double-space 
fountain-export-scene-heading-format)))
+(cons 'double-space fountain-export-scene-heading-format)))
   :style toggle
   :selected (memq 'double-space fountain-export-scene-heading-format)]
  ["Underline Scene Headings"
   (if (memq 'underline fountain-export-scene-heading-format)
   (customize-set-variable 'fountain-export-scene-heading-format
-  (remq 'underline 
fountain-export-scene-heading-format))
+(remq 'underline fountain-export-scene-heading-format))
 (customize-set-variable 'fountain-export-scene-heading-format
-(cons 'underline 
fountain-export-scene-heading-format)))
+   (cons 'underline fountain-export-scene-heading-format)))
   :style toggle
   :selected (memq 'underline fountain-export-scene-heading-format)]
  "---"



[elpa] externals/fountain-mode a6a11f8 07/17: Remove fountain page count commands from menu

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit a6a11f81aa2dd9c2c2396c55c2748ee467c7ab94
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove fountain page count commands from menu
---
 fountain-mode.el | 17 +
 1 file changed, 1 insertion(+), 16 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index cb87f87..403cdc1 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -4814,25 +4814,11 @@ keywords suitable for Font Lock."
   (not fountain-display-scene-numbers-in-margin))
   :style toggle
   :selected fountain-display-scene-numbers-in-margin])
-("Page Numbers"
- ["Count Pages" fountain-count-pages]
- "---"
- ["Don't Show in Mode Line"
-  (customize-set-variable 'fountain-pages-show-in-mode-line nil)
-  :style radio
-  :selected (not fountain-pages-show-in-mode-line)]
- ["Show in Mode Line with Manual Update"
-  (customize-set-variable 'fountain-pages-show-in-mode-line 'force)
-  :style radio
-  :selected (eq fountain-pages-show-in-mode-line 'force)]
- ["Show in Mode Line with Automatic Update"
-  (customize-set-variable 'fountain-pages-show-in-mode-line 'timer)
-  :style radio
-  :selected (eq fountain-pages-show-in-mode-line 'timer)])
 "---"
 ["Insert Metadata..." auto-insert]
 ["Insert Synopsis" fountain-insert-synopsis]
 ["Insert Note" fountain-insert-note]
+["Count Pages" fountain-count-pages]
 ["Insert Page Break..." fountain-insert-page-break]
 ["Refresh Continued Dialog" fountain-continued-dialog-refresh]
 ["Update Auto-Completion" fountain-completion-update]
@@ -4954,7 +4940,6 @@ keywords suitable for Font Lock."
   fountain-auto-upcase-scene-headings
   fountain-add-continued-dialog
   fountain-display-scene-numbers-in-margin
-  fountain-pages-show-in-mode-line
   fountain-hide-emphasis-delim
   fountain-hide-syntax-chars
   fountain-shift-all-elements



[elpa] externals/fountain-mode 51d3e39 14/17: Fix scene heading regexp grouping for scene numbers

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 51d3e39bbb6e8336395f9490b837871820f274b3
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Fix scene heading regexp grouping for scene numbers
---
 fountain-mode.el | 29 +++--
 1 file changed, 15 insertions(+), 14 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index f398ec7..7974ec3 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -564,15 +564,16 @@ e.g.
   nil
   "Regular expression for matching scene headings.
 
-Group 1: match leading . (for forced scene heading)
+Group 1: match leading . for forced scene heading
 Group 2: match whole scene heading without scene number
 Group 3: match INT/EXT
 Group 4: match location
-Group 5: match time of day
-Group 6: match space between scene heading and scene number
-Group 7: match first # delimiter
-Group 8: match scene number
-Group 9: match last # delimiter
+Group 5: match suffix separator
+Group 6: match suffix
+Group 7: match space between scene heading and scene number
+Group 8: match first # delimiter
+Group 9: match scene number
+Group 10: match last # delimiter
 
 Requires `fountain-match-scene-heading' for preceding blank line.")
 
@@ -925,7 +926,7 @@ scene heading regular expression."
  ;; Group 5: match suffix separator
  "\\(?:\\(?5:" fountain-scene-heading-suffix-sep "\\)"
  ;; Group 6: match suffix
- "\\(?6:.+\\)?\\)?"
+ "\\(?6:.+?\\)?\\)?"
  "\\)\\)"
  ;;; Match scene number
  "\\(?:"
@@ -4475,16 +4476,16 @@ scene number from being auto-upcased."
   :invisible fountain-syntax-chars
   :override prepend
   :laxmatch t)
-  (:level 2 :subexp 6
+  (:level 2 :subexp 7
   :laxmatch t)
-  (:level 2 :subexp 7 :face fountain-non-printing
+  (:level 2 :subexp 8 :face fountain-non-printing
   :invisible fountain-syntax-chars
   :override prepend
   :laxmatch t)
-  (:level 2 :subexp 8
+  (:level 2 :subexp 9
   :override prepend
   :laxmatch t)
-  (:level 2 :subexp 9 :face fountain-non-printing
+  (:level 2 :subexp 10 :face fountain-non-printing
   :invisible fountain-syntax-chars
   :override prepend
   :laxmatch t))
@@ -4709,10 +4710,10 @@ keywords suitable for Font Lock."
   (while (< (point) (min end (point-max)))
 (when (fountain-match-scene-heading)
   (if (and fountain-display-scene-numbers-in-margin
-   (match-string 8))
-  (put-text-property (match-beginning 6) (match-end 9)
+   (match-string 9))
+  (put-text-property (match-beginning 7) (match-end 10)
  'display (list '(margin right-margin)
-(match-string-no-properties 8)))
+(match-string-no-properties 9)))
 (remove-text-properties (match-beginning 0) (match-end 0)
 '(display
 (forward-line)))



[elpa] externals/fountain-mode eef014a 17/17: Update README/Commentary/code comments

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit eef014a2333bcfb37c5af70c06629efd7453e97a
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Update README/Commentary/code comments
---
 README.md| 11 ---
 fountain-mode.el | 11 +--
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/README.md b/README.md
index 8567911..c7f7e57 100644
--- a/README.md
+++ b/README.md
@@ -69,8 +69,13 @@ Installation
 Fountain Mode is now part of GNU ELPA and can be installed with `M-x
 package-install RET fountain-mode RET`.
 
-Reporting Bugs
---
+History
+---
+
+See: 
+
+Contributing
+
 
 To report bugs, please use `M-x report-emacs-bug RET` or send an email to
-
+. Please include "fountain" in the subject.
diff --git a/fountain-mode.el b/fountain-mode.el
index 7f9f5e5..84ffb48 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -7,6 +7,8 @@
 ;; Version: 2.7.0
 ;; Package-Requires: ((emacs "24.5"))
 
+;; This file is part of GNU Emacs.
+
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
 ;; the Free Software Foundation, either version 3 of the License, or (at
@@ -89,7 +91,7 @@
 ;; --
 
 ;; To report bugs, please use `M-x report-emacs-bug RET` or send an email to
-;; 
+;; . Please include "fountain" in the subject.
 
 
 ;;; Code:
@@ -1037,11 +1039,8 @@ In Emacs versions prior to 26, adds advice to override
 after POS or point has invisible text property eq to 'outline.
 See ."
   ;; In Emacs version prior to 26, `outline-invisible-p' returns non-nil for 
ANY
-  ;; invisible property of text at point:
-  ;;
-  ;; (get-char-property (or pos (point)) 'invisible))
-  ;;
-  ;; We want to only return non-nil if property is 'outline
+  ;; invisible property of text at point. We want to only return non-nil if
+  ;; property is 'outline
   (unless (or (advice-member-p 'fountain-outline-invisible-p 
'outline-invisible-p)
   (<= 26 emacs-major-version))
 (advice-add 'outline-invisible-p :override #'fountain-outline-invisible-p)



[elpa] externals/fountain-mode 349436a 16/17: Update fountain-dwim to toggle outline/completion-at-point

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 349436a3e4c0f1abb612502ef20d391365240fb0
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Update fountain-dwim to toggle outline/completion-at-point

The auto-upcasing overlay was dumb
---
 fountain-mode.el | 22 +-
 1 file changed, 9 insertions(+), 13 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index f249eac..7f9f5e5 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -4032,28 +4032,24 @@ to scene number or point."
 (upcase-region (line-beginning-position) (or (match-end 2) (point)
 
 (defun fountain-dwim (&optional arg)
-  "\\Call a command based on context (Do What I Mean).
+  "Call a command based on context (Do What I Mean).
 
-1. If point is at a scene heading or section heading, or within a
-   folded scene or section, or if prefixed with ARG, call
-   `fountain-outline-cycle' and pass ARG.
+1. If prefixed with ARG, call `fountain-outline-cycle' and pass
+   ARG.
 
-2. If point is at a directive to an included file, call
-   `fountain-find-included-file'.
+2. If point is at the beginning of a scene heading or section
+   heading call `fountain-outline-cycle'.
 
-3. Otherwise, call `fountain-toggle-auto-upcase'."
+3. Otherwise, call `complation-at-point'."
   (interactive "p")
   (cond ((and arg (< 1 arg))
  (fountain-outline-cycle arg))
+((eolp)
+ (completion-at-point))
 ((or (fountain-match-section-heading)
  (fountain-match-scene-heading)
  (eq (get-char-property (point) 'invisible) 'outline))
- (fountain-outline-cycle))
-((and (fountain-match-template)
-  (string-match-p "include" (match-string 1)))
- (fountain-find-included-file))
-(t
- (fountain-toggle-auto-upcase
+ (fountain-outline-cycle
 
 (defun fountain-upcase-line (&optional arg)
   "Upcase the line.



[elpa] externals/fountain-mode e8a7ecd 08/17: Remove fountain-tab-command from menu

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit e8a7ecd642a414eeed4ccfe0405fd340863d12df
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove fountain-tab-command from menu
---
 fountain-mode.el | 13 -
 1 file changed, 13 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 403cdc1..c2a95e4 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -4875,19 +4875,6 @@ keywords suitable for Font Lock."
  ["Customize Export"
   (customize-group 'fountain-export)])
 "---"
-("TAB Command"
- ["Contextual (Do What I Mean)" (customize-set-variable 
'fountain-tab-command 'fountain-dwim)
-  :style radio
-  :selected (eq fountain-tab-command 'fountain-dwim)]
- ["Cycle Outline Visibility" (customize-set-variable 'fountain-tab-command 
'fountain-outline-cycle)
-  :style radio
-  :selected (eq fountain-tab-command 'fountain-outline-cycle)]
- ["Toggle Auto-Upcasing" (customize-set-variable 'fountain-tab-command 
'fountain-toggle-auto-upcase)
-  :style radio
-  :selected (eq fountain-tab-command 'fountain-toggle-auto-upcase)]
- ["Auto-Completion" (customize-set-variable 'fountain-tab-command 
'completion-at-point)
-  :style radio
-  :selected (eq fountain-tab-command 'completion-at-point)])
 ("Syntax Highlighting"
  ["Minimum"
   (fountain-set-font-lock-decoration 1)



[elpa] externals/fountain-mode 459bd14 04/17: Remove --edit-line funcs

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 459bd14bceab3aabf6a9fc8ada0a965ae4979b81
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove --edit-line funcs
---
 fountain-mode.el | 41 +
 1 file changed, 1 insertion(+), 40 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 379bb33..95f609c 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -3972,57 +3972,18 @@ halt at end of scene."
 
 ;;; Editing
 
-(require 'help)
-
-(defun fountain-set-edit-line ()
-  "Set `fountain--edit-line' to current line.
-
-Added to `post-command-hook'."
-  (setq fountain--edit-line (line-number-at-pos)))
-
 (defcustom fountain-auto-upcase-scene-headings
   t
   "If non-nil, automatically upcase lines matching 
`fountain-scene-heading-regexp'."
   :type 'boolean
   :group 'fountain)
 
-(defvar-local fountain--auto-upcase-line
-  nil
-  "Integer of line number to auto-upcase.
-If nil, auto-upcase is deactivated.")
-
-(defvar-local fountain--auto-upcase-overlay
-  nil
-  "Overlay used for auto-upcasing current line.")
-
-(define-obsolete-variable-alias 'fountain-tab-command
-  'fountain-tab-function "fountain-mode-2.7.0")
-(defcustom fountain-tab-function
-  #'fountain-dwim
-  "Command to call when pressing the TAB key."
-  :type '(radio (function-item fountain-dwim)
-(function-item fountain-outline-cycle)
-(function-item fountain-toggle-auto-upcase)
-(function-item completion-at-point))
-  :group 'fountain)
-
-(defun fountain-tab-action (&optional arg)
-  "Simply calls the value of variable `fountain-tab-function'."
-  (interactive "p")
-  (condition-case nil
-  (funcall fountain-tab-function arg)
-(wrong-number-of-arguments (funcall fountain-tab-function
-
 (defun fountain-auto-upcase ()
   "Upcase all or part of the current line contextually.
 
 If `fountain-auto-upcase-scene-headings' is non-nil and point is
 at a scene heading, activate auto upcasing for beginning of line
-to scene number or point.
-
-Otherwise, activate auto-upcasing for the whole line.
-
-Added as hook to `post-self-insert-hook'."
+to scene number or point."
   (when (and fountain-auto-upcase-scene-headings
  (fountain-match-scene-heading))
 (upcase-region (line-beginning-position) (or (match-end 2) (point)



[elpa] externals/fountain-mode 0a202b8 03/17: Remove fountain-auto-upcase-highlight face

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 0a202b8767ff6cbdb25b1e53684ff30cc3421455
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove fountain-auto-upcase-highlight face
---
 fountain-mode.el | 4 
 1 file changed, 4 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 3a97a81..379bb33 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -804,10 +804,6 @@ To switch between these levels, customize the value of
   '((t (:inherit font-lock-preprocessor-face)))
   "Default face for template keys.")
 
-(defface fountain-auto-upcase-highlight
-  '((t (:inherit hi-yellow)))
-  "Default face for highlighting line for auto-upcasing.")
-
 
 ;;; Initializing
 



[elpa] externals/fountain-mode c1a01e3 12/17: Remove old page-count vars/options

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit c1a01e31ee9c3e01c7b20d4bfc914993a6b54d20
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove old page-count vars/options
---
 fountain-mode.el | 28 
 1 file changed, 28 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 00fb749..c493f82 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1373,34 +1373,6 @@ script, you may get incorrect output."
   :type 'boolean
   :safe 'booleanp)
 
-(defvar fountain-page-count-timer
-  nil)
-
-(defvar-local fountain-page-count-string
-  nil)
-
-(defcustom fountain-pages-count-delay
-  2.0
-  "Idle time in seconds before calculating page count."
-  :type 'number
-  :safe 'numberp)
-
-(defcustom fountain-pages-show-in-mode-line
-  nil
-  "If non-nil show current page of total pages in mode-line."
-  :type '(choice (const :tag "No page count" nil)
- (const :tag "Show with manual update" force)
- (const :tag "Show with automatic update" timer))
-  :safe (lambda (value) (memq value '(nil force timer)))
-  :set (lambda (symbol value)
- (set-default symbol value)
- ;; Don't call fountain-count-pages-maybe while in the middle of
- ;; loading this file!
- (when (featurep 'fountain-mode)
-   (dolist (buffer (buffer-list))
- (with-current-buffer buffer
-   (fountain-count-pages-maybe value))
-
 (defvar fountain-elements
   '((section-heading
  :tag "Section Heading"



[elpa] externals/fountain-mode 7ace331 02/17: Remove timer page count and mode-line alteration

2019-05-19 Thread Paul Rankin
branch: externals/fountain-mode
commit 7ace331c29f6ce7e2f0f4b3b1a8bcbf20ea961a6
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Remove timer page count and mode-line alteration
---
 fountain-mode.el | 58 +---
 1 file changed, 5 insertions(+), 53 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 8b4b549..3a97a81 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1637,60 +1637,12 @@ number."
 (setq current total found t)))
 (cons current total)
 
-(defun fountain-count-pages (&optional interactive)
-  "Return the approximate current page of total pages in current buffer.
-
-If called interactively, sets INTERACTIVE as non-nil
-unconditionally and prints a message in the echo area."
-  (interactive "p")
-  (fountain-pages-update-mode-line)
-  (redisplay)
+(defun fountain-count-pages ()
+  "Message the current page of total pages in current buffer.
+n.b. This is an approximate calculation."
+  (interactive)
   (let ((pages (fountain-get-page-count)))
-(fountain-pages-update-mode-line (car pages) (cdr pages))
-(when interactive
-  (message "Page %d of %d" (car pages) (cdr pages)
-
-(defun fountain-pages-update-mode-line (&optional current total)
-  (setq fountain-page-count-string
-(if fountain-pages-show-in-mode-line
-(if (and current total)
-(format "[%d/%d] " current total)
-  "[-/-] ")
-  nil))
-  (force-mode-line-update))
-
-(defun fountain-count-pages-maybe (&optional force)
-  (when (derived-mode-p 'fountain-mode)
-(while-no-input
-  (redisplay)
-  (cond (force
- (fountain-count-pages))
-((eq fountain-pages-show-in-mode-line 'timer)
- (fountain-count-pages))
-((and fountain-page-count-string
-  (not fountain-pages-show-in-mode-line))
- (fountain-pages-update-mode-line))
-
-(defun fountain-init-mode-line ()
-  (let ((tail (cdr (memq 'mode-line-modes mode-line-format
-(setq mode-line-format
-  (append
-   (butlast mode-line-format (length tail))
-   (cons 'fountain-page-count-string tail)
-
-(defun fountain-cancel-page-count-timer ()
-  (when (timerp fountain-page-count-timer)
-(cancel-timer fountain-page-count-timer))
-  (setq fountain-page-count-timer nil))
-
-(defun fountain-restart-page-count-timer ()
-  (fountain-cancel-page-count-timer)
-  (setq fountain-page-count-timer
-;; FIXME: `fountain-count-pages-maybe' only operates in the "current"
-;; buffer, but that will be the buffer that happens to be current when
-;; the timer is run.
-(run-with-idle-timer fountain-pages-count-delay t
- #'fountain-count-pages-maybe)))
+(message "Page %d of %d" (car pages) (cdr pages
 
 
 ;;; Templating



[elpa] externals/fountain-mode 16001a5 4/4: Use lm-version, bump version number

2019-05-23 Thread Paul Rankin
branch: externals/fountain-mode
commit 16001a5d8f039d031fb4a4c474664eb49676deb6
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Use lm-version, bump version number
---
 fountain-mode.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 1b29129..0602098 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -2,9 +2,9 @@
 
 ;; Copyright (c) 2014-2019 Free Software Foundation, Inc.
 
-;; Author: Paul Rankin 
+;; Author: Paul W. Rankin 
 ;; Keywords: wp, text
-;; Version: 2.7.0
+;; Version: 2.7.1
 ;; Package-Requires: ((emacs "24.5"))
 
 ;; This file is part of GNU Emacs.
@@ -92,7 +92,7 @@
 (eval-when-compile (require 'cl-lib))
 
 (defconst fountain-version
-  "2.7.0")
+  (lm-version))
 
 (defun fountain-version ()
   "Return `fountain-mode' version."



[elpa] externals/fountain-mode a017347 1/4: Update README example links, delete screenshots/01.png

2019-05-23 Thread Paul Rankin
GNU ELPA and can be installed with M-x
+package-install RET fountain-mode RET.
 
-History

+## History ##
 
-See: <https://git.sr.ht/~pwr/fountain-mode/refs>
+See: https://git.sr.ht/~pwr/fountain-mode/refs
 
-Contributing
-
+## Contributing ##
 
-To report bugs, please use `M-x report-emacs-bug RET` or send an email to
+To report bugs, please use M-x report-emacs-bug RET or send an email to
 . Please include "fountain" in the subject.
+
diff --git a/fountain-mode.el b/fountain-mode.el
index 84ffb48..b79cba4 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1,6 +1,6 @@
 ;;; fountain-mode.el --- Major mode for screenwriting in Fountain markup -*- 
lexical-binding: t; -*-
 
-;; Copyright (c) 2014-2019  Free Software Foundation, Inc.
+;; Copyright (c) 2014-2019 Free Software Foundation, Inc.
 
 ;; Author: Paul Rankin 
 ;; Keywords: wp, text
@@ -24,73 +24,65 @@
 
 ;;; Commentary:
 
-;; Fountain Mode
-;; =
+;; # Fountain Mode #
 
-;; Fountain Mode is a screenwriting environment for GNU Emacs using the 
Fountain
-;; markup format. For more information on the Fountain markup format, visit
-;; <http://fountain.io>.
+;; Fountain Mode is a screenwriting environment for GNU Emacs using the
+;; Fountain markup format. For more information on the Fountain markup
+;; format, visit http://fountain.io.
 
-;; Features
-;; 
+;; Screenshot: https://f002.backblazeb2.com/file/pwr-share/fountain-mode.png
+
+;; ## Features ##
 
 ;; - Support for Fountain 1.1 specification
 ;; - WYSIWYG auto-align elements (display only, does not modify file contents)
 ;;   specific to script format, e.g. screenplay, stageplay or user-defined 
format
-;; - Traditional TAB writing style for auto-upcasing character names
-;;   (see [Do What I Mean])
+;; - Navigation by section, scene, character name, or page
+;; - 3 levels of syntax highlighting
+;; - Integration with outline to fold/cycle visibility of sections and scenes
+;; - Integration with imenu (sections, scene headings, notes)
+;; - Intergration with auto-insert for title page metadata
+;; - Traditional TAB auto-completion writing style
+;; - Automatically add/remove character "(CONT'D)"
 ;; - Export to plain text, HTML, LaTeX, Final Draft (FDX), or Fountain
 ;; - Export to standalone document or snippet
-;; - Optionally show approximate page count (current page of total pages) in
-;;   mode-line
-;; - Include external files with `{{ include: FILENAME }}`
-;; - Integration with `outline` to fold/cycle visibility of sections and scenes
-;;   (see [Outlining])
-;; - Integration with `imenu` (sections, scene headings, notes)
-;; - Intergration with `auto-insert` for title page metadata
-;; - Add/remove automatic continuation string to successively speaking 
characters
-;; - Navigation by section, scene, character name, or page
+;; - Emphasis (bold, italic, underlined text)
+;; - Include external files with {{ include: FILENAME }}
 ;; - Optionally display scene numbers in the right margin
 ;; - Intelligent insertion of a page breaks
-;; - 3 levels of element syntax highlighting
-;; - Automatic loading for `*.fountain` files
+;; - Automatic loading for *.fountain files
 ;; - Include or omit a title page
-;; - Emphasis (bold, italic, underlined text)
 ;; - Toggle visibility of emphasis delimiters and syntax characters
 ;; - Everything is customizable
 
 ;; Check out the Nicholl Fellowship sample script exported from Fountain Mode 
to:
 
-;; - [Plain 
text](https://gist.github.com/rnkn/edd4fd20e0f6ce2ca1f75e37496e38c9/raw/)
-;; - [HTML](https://rawgit.com/rnkn/mcqueen/master/sample/sample.html)
-;; - [LaTeX](https://www.sharelatex.com/project/54ed9180966959cb7fdbde8e)
-;; - [Final 
Draft](https://gist.github.com/rnkn/f56934ac723d43c5dec63952dd99dcfd/raw/)
+;; - Plain text: 
https://paste.sr.ht/blob/930557283847c35cafbba81cf34f389980b35b3c
+;; - HTML: https://f002.backblazeb2.com/file/pwr-share/fountain-export.html
+;; - Final Draft: 
https://f002.backblazeb2.com/file/pwr-share/fountain-export.fdx
+;; - LaTeX: https://www.overleaf.com/project/54ed9180966959cb7fdbde8e
 
-;; Most common features are accessible from the menu. For a full list of 
functions
-;; and key-bindings, type C-h m.
+;; Most common features are accessible from the menu. For a full list of
+;; functions and key-bindings, type C-h m.
 
-;; [Do What I Mean]: https://github.com/rnkn/fountain-mode/wiki/Do-What-I-Mean
-;; [Outlining]: https://github.com/rnkn/fountain-mode/wiki/Outlining
-
-;; For more, see the [Wiki](https://github.com/rnkn/fountain-mode/wiki).
-
-;; Requirements
-;; 
+;; ## Requirements ##
 
 ;; - Emacs 24.5
 ;; - LaTeX packages for PDF export: geometry fontspec titling fancyhdr
 ;;   marginnote ulem xstring oberdiek
 
-;; Installation
-;; 
+;; ## Installation ##
+
+;; Fountain Mode is now part of GNU ELPA and can be installed with M-x
+;; package-install RET fountain-mode RET.
+
+;; ## History ##
 
-;; Fountain

[elpa] externals/fountain-mode 6577c05 2/4: Fix fountain-completion-update-locations bug

2019-05-23 Thread Paul Rankin
branch: externals/fountain-mode
commit 6577c05e731a25a56b809323559d252f3f331eba
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Fix fountain-completion-update-locations bug
---
 fountain-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index b79cba4..b1319ce 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1380,7 +1380,7 @@ Add to `fountain-mode-hook' to have completion upon load."
   (save-excursion
 (save-restriction
   (widen)
-  (fountain-completion-update-scene-headings (point-min) (point-max))
+  (fountain-completion-update-locations (point-min) (point-max))
   (fountain-completion-update-characters (point-min) (point-max
   (message "Completion candidates updated"))
 



[elpa] externals/fountain-mode 9f8e5cc 3/4: Only auto-complete when at eolp

2019-05-23 Thread Paul Rankin
branch: externals/fountain-mode
commit 9f8e5ccfa32793245f0073a5c92ee722bf1b7bfb
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Only auto-complete when at eolp
---
 fountain-mode.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index b1319ce..1b29129 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -1363,7 +1363,8 @@ Added to `completion-at-point-functions'."
(point)
(completion-table-case-fold
 fountain-completion-locations)))
-((fountain-blank-before-p)
+((and (eolp)
+  (fountain-blank-before-p))
  ;; Return character completion
  (list (line-beginning-position)
(point)



[elpa] externals/fountain-mode updated (eef014a -> 16001a5)

2019-05-23 Thread Paul Rankin
pwr pushed a change to branch externals/fountain-mode.

  from  eef014a   Update README/Commentary/code comments
   new  a017347   Update README example links, delete screenshots/01.png
   new  6577c05   Fix fountain-completion-update-locations bug
   new  9f8e5cc   Only auto-complete when at eolp
   new  16001a5   Use lm-version, bump version number


Summary of changes:
 LICENSE.txt => LICENSE |   0
 README.md  |  86 +++-
 fountain-mode.el   |  87 +++--
 screenshots/01.png | Bin 949424 -> 0 bytes
 4 files changed, 73 insertions(+), 100 deletions(-)
 rename LICENSE.txt => LICENSE (100%)
 delete mode 100644 screenshots/01.png



[elpa] externals/fountain-mode a9e14ec: Fix fountain-version bug

2019-05-24 Thread Paul Rankin
branch: externals/fountain-mode
commit a9e14ec8f821210710316f794ddf7ac26f30c6c7
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Fix fountain-version bug
---
 fountain-mode.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index 0602098..ee851f8 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -91,8 +91,9 @@
 (eval-when-compile (require 'subr-x))
 (eval-when-compile (require 'cl-lib))
 
-(defconst fountain-version
-  (lm-version))
+(eval-and-compile
+  (defconst fountain-version
+(lm-version)))
 
 (defun fountain-version ()
   "Return `fountain-mode' version."



[elpa] externals/fountain-mode de028db: Fix fountain-version bug v2

2019-05-25 Thread Paul Rankin
branch: externals/fountain-mode
commit de028db1786b8ee0740bb0bb48df990b997d1ced
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Fix fountain-version bug v2
---
 fountain-mode.el | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fountain-mode.el b/fountain-mode.el
index ee851f8..4b3959c 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -91,9 +91,8 @@
 (eval-when-compile (require 'subr-x))
 (eval-when-compile (require 'cl-lib))
 
-(eval-and-compile
-  (defconst fountain-version
-(lm-version)))
+(defconst fountain-version
+  (eval-when-compile (lm-version load-file-name)))
 
 (defun fountain-version ()
   "Return `fountain-mode' version."



[elpa] externals/fountain-mode bd73426: Update README/Commentary

2019-07-19 Thread Paul Rankin
branch: externals/fountain-mode
commit bd73426adf5cc484323479c1cea6e9f6b1bfe7f3
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Update README/Commentary
---
 README.md| 11 ++-
 fountain-mode.el | 11 ++-
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/README.md b/README.md
index 7b02b0e..d1a5fa0 100644
--- a/README.md
+++ b/README.md
@@ -31,7 +31,7 @@ Screenshot: 
https://f002.backblazeb2.com/file/pwr-share/fountain-mode.png
 
 Check out the Nicholl Fellowship sample script exported from Fountain Mode to:
 
-- Plain text: https://paste.sr.ht/blob/930557283847c35cafbba81cf34f389980b35b3c
+- Plain text: 
https://f002.backblazeb2.com/file/pwr-share/Nicholl_Fellowship_sample.txt
 - HTML: https://f002.backblazeb2.com/file/pwr-share/fountain-export.html
 - Final Draft: https://f002.backblazeb2.com/file/pwr-share/fountain-export.fdx
 - LaTeX: https://www.overleaf.com/project/54ed9180966959cb7fdbde8e
@@ -52,10 +52,11 @@ package-install RET fountain-mode RET.
 
 ## History ##
 
-See: https://git.sr.ht/~pwr/fountain-mode/refs
+See: https://github.com/rnkn/fountain-mode/releases
 
-## Contributing ##
+## Bugs ##
 
-To report bugs, please use M-x report-emacs-bug RET or send an email to
-. Please include "fountain" in the subject.
+To report bugs, use https://github.com/rnkn/fountain-mode/issues, or M-x
+report-emacs-bug RET or send an email to  (please 
include
+"fountain" in the subject).
 
diff --git a/fountain-mode.el b/fountain-mode.el
index d785f07..e57b1e2 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -57,7 +57,7 @@
 
 ;; Check out the Nicholl Fellowship sample script exported from Fountain Mode 
to:
 
-;; - Plain text: 
https://paste.sr.ht/blob/930557283847c35cafbba81cf34f389980b35b3c
+;; - Plain text: 
https://f002.backblazeb2.com/file/pwr-share/Nicholl_Fellowship_sample.txt
 ;; - HTML: https://f002.backblazeb2.com/file/pwr-share/fountain-export.html
 ;; - Final Draft: 
https://f002.backblazeb2.com/file/pwr-share/fountain-export.fdx
 ;; - LaTeX: https://www.overleaf.com/project/54ed9180966959cb7fdbde8e
@@ -78,12 +78,13 @@
 
 ;; ## History ##
 
-;; See: https://git.sr.ht/~pwr/fountain-mode/refs
+;; See: https://github.com/rnkn/fountain-mode/releases
 
-;; ## Contributing ##
+;; ## Bugs ##
 
-;; To report bugs, please use M-x report-emacs-bug RET or send an email to
-;; . Please include "fountain" in the subject.
+;; To report bugs, use https://github.com/rnkn/fountain-mode/issues, or M-x
+;; report-emacs-bug RET or send an email to  (please 
include
+;; "fountain" in the subject).
 
 
 ;;; Code:



[elpa] externals/fountain-mode 782dd4e: Update email, URL, Debian pkg and aesthetics of code comments

2019-08-01 Thread Paul Rankin
branch: externals/fountain-mode
commit 782dd4ec9e7390a5d6e17317a652459dfb4df31d
Author: Paul W. Rankin 
Commit: Paul W. Rankin 

Update email, URL, Debian pkg and aesthetics of code comments
---
 README.md|  32 -
 fountain-mode.el | 400 +++
 2 files changed, 251 insertions(+), 181 deletions(-)

diff --git a/README.md b/README.md
index d1a5fa0..faa364f 100644
--- a/README.md
+++ b/README.md
@@ -9,11 +9,13 @@ Screenshot: 
https://f002.backblazeb2.com/file/pwr-share/fountain-mode.png
 ## Features ##
 
 - Support for Fountain 1.1 specification
-- WYSIWYG auto-align elements (display only, does not modify file contents)
-  specific to script format, e.g. screenplay, stageplay or user-defined format
+- WYSIWYG auto-align elements (display only, does not modify file
+  contents) specific to script format, e.g. screenplay, stageplay or
+  user-defined format
 - Navigation by section, scene, character name, or page
 - 3 levels of syntax highlighting
-- Integration with outline to fold/cycle visibility of sections and scenes
+- Integration with outline to fold/cycle visibility of sections and
+  scenes
 - Integration with imenu (sections, scene headings, notes)
 - Intergration with auto-insert for title page metadata
 - Traditional TAB auto-completion writing style
@@ -29,9 +31,10 @@ Screenshot: 
https://f002.backblazeb2.com/file/pwr-share/fountain-mode.png
 - Toggle visibility of emphasis delimiters and syntax characters
 - Everything is customizable
 
-Check out the Nicholl Fellowship sample script exported from Fountain Mode to:
+Check out the Nicholl Fellowship sample script exported from Fountain
+Mode to the following formats:
 
-- Plain text: 
https://f002.backblazeb2.com/file/pwr-share/Nicholl_Fellowship_sample.txt
+- plain text: 
https://f002.backblazeb2.com/file/pwr-share/Nicholl_Fellowship_sample.txt
 - HTML: https://f002.backblazeb2.com/file/pwr-share/fountain-export.html
 - Final Draft: https://f002.backblazeb2.com/file/pwr-share/fountain-export.fdx
 - LaTeX: https://www.overleaf.com/project/54ed9180966959cb7fdbde8e
@@ -50,6 +53,21 @@ functions and key-bindings, type C-h m.
 Fountain Mode is now part of GNU ELPA and can be installed with M-x
 package-install RET fountain-mode RET.
 
+You can manually download the latest release from
+https://elpa.gnu.org/packages/fountain-mode.html
+
+Move this file into your load-path and add (require 'fountain-mode) to
+your .emacs/init.el file.
+
+If you prefer the latest but perhaps unstable version clone the
+repository into your load-path and require as above:
+
+git clone https://github.com/rnkn/fountain-mode.git
+
+Users of Debian >=10 or Ubuntu >=18.04 can install Fountain Mode with:
+
+sudo apt install elpa-fountain-mode
+
 ## History ##
 
 See: https://github.com/rnkn/fountain-mode/releases
@@ -57,6 +75,6 @@ See: https://github.com/rnkn/fountain-mode/releases
 ## Bugs ##
 
 To report bugs, use https://github.com/rnkn/fountain-mode/issues, or M-x
-report-emacs-bug RET or send an email to  (please 
include
-"fountain" in the subject).
+report-emacs-bug RET or send an email to  (please
+include "fountain" in the subject).
 
diff --git a/fountain-mode.el b/fountain-mode.el
index e57b1e2..387cc9e 100644
--- a/fountain-mode.el
+++ b/fountain-mode.el
@@ -2,10 +2,11 @@
 
 ;; Copyright (c) 2014-2019 Free Software Foundation, Inc.
 
-;; Author: Paul W. Rankin 
+;; Author: Paul W. Rankin 
 ;; Keywords: wp, text
-;; Version: 2.7.1
+;; Version: 2.7.2
 ;; Package-Requires: ((emacs "24.5"))
+;; URL: https://fountain-mode.org
 
 ;; This file is part of GNU Emacs.
 
@@ -35,11 +36,13 @@
 ;; ## Features ##
 
 ;; - Support for Fountain 1.1 specification
-;; - WYSIWYG auto-align elements (display only, does not modify file contents)
-;;   specific to script format, e.g. screenplay, stageplay or user-defined 
format
+;; - WYSIWYG auto-align elements (display only, does not modify file
+;;   contents) specific to script format, e.g. screenplay, stageplay or
+;;   user-defined format
 ;; - Navigation by section, scene, character name, or page
 ;; - 3 levels of syntax highlighting
-;; - Integration with outline to fold/cycle visibility of sections and scenes
+;; - Integration with outline to fold/cycle visibility of sections and
+;;   scenes
 ;; - Integration with imenu (sections, scene headings, notes)
 ;; - Intergration with auto-insert for title page metadata
 ;; - Traditional TAB auto-completion writing style
@@ -55,9 +58,10 @@
 ;; - Toggle visibility of emphasis delimiters and syntax characters
 ;; - Everything is customizable
 
-;; Check out the Nicholl Fellowship sample script exported from Fountain Mode 
to:
+;; Check out the Nicholl Fellowship sample script exported from Fountain
+;; Mode to the following formats:
 
-;; - Plain text: 
https://f002.backblazeb2.com/file/pwr-share/Nicholl_Fellowship_sample.txt
+;; - plain text: 
https://f002.backblazeb2.com/file/pwr-share/Nicholl_Fellowship_sample.txt
 ;; - HTM