;; * Overview of modes and commands
;; --------------------------------
;; - `global-so-long-mode' - A global minor mode which enables the automated
-;; behaviour, causing the user's preferred action to be invoked whenever a
+;; behavior, causing the user's preferred action to be invoked whenever a
;; newly-visited file contains excessively long lines.
;; - `so-long-mode' - A major mode, and the default action.
;; - `so-long-minor-mode' - A minor mode version of the major mode, and an
;;
;; On rare occasions you may choose to manually invoke the `so-long' command,
;; which invokes your preferred `so-long-action' (exactly as the automatic
-;; behaviour would do if it had detected long lines). You might use this if a
+;; behavior would do if it had detected long lines). You might use this if a
;; problematic file did not meet your configured criteria, and you wished to
;; trigger the performance improvements manually.
;;
;; available to `so-long' but, like any other mode, they can be invoked directly
;; if you have a need to do that (see also "Other ways of using so-long" below).
;;
-;; If the behaviour ever triggers when you did not want it to, you can use the
+;; If the behavior ever triggers when you did not want it to, you can use the
;; `so-long-revert' command to restore the buffer to its original state.
;; * Basic configuration
;;
;; Note that `so-long-minor-modes' is not useful for other global minor modes
;; (as distinguished from globalized minor modes), but in some cases it will be
-;; possible to inhibit or otherwise counter-act the behaviour of a global mode
+;; possible to inhibit or otherwise counter-act the behavior of a global mode
;; by overriding variables, or by employing hooks (see below). You would need
;; to inspect the code for a given global mode (on a case by case basis) to
;; determine whether it's possible to inhibit it for a single buffer -- and if
;; If `so-long-action' is set to either `so-long-mode' or `so-long-minor-mode',
;; the buffer-local value for each variable in the list is set to the associated
;; value in the alist. Use this to enforce values which will improve
-;; performance or otherwise avoid undesirable behaviours. If `so-long-revert'
+;; performance or otherwise avoid undesirable behaviors. If `so-long-revert'
;; is called, then the original values are restored.
;; * Retaining minor modes and settings when switching to `so-long-mode'
;; `so-long-mode', completely bypassing the automated decision process.
;; Refer to M-: (info "(emacs) Specifying File Variables") RET
;;
-;; If so-long itself causes problems, disable the automated behaviour with
+;; If so-long itself causes problems, disable the automated behavior with
;; M-- M-x global-so-long-mode, or M-: (global-so-long-mode 0)
;; * Example configuration
;; (add-hook 'js-mode-hook 'my-js-mode-hook)
;;
;; (defun my-js-mode-hook ()
-;; "Custom `js-mode' behaviours."
+;; "Custom `js-mode' behaviors."
;; (setq-local so-long-max-lines 100)
;; (setq-local so-long-threshold 1000))
;;
;; (add-hook 'nxml-mode-hook 'my-nxml-mode-hook)
;;
;; (defun my-nxml-mode-hook ()
-;; "Custom `nxml-mode' behaviours."
+;; "Custom `nxml-mode' behaviors."
;; (require 'so-long)
;; (setq-local so-long-variable-overrides
;; (remove '(bidi-inhibit-bpa . t) so-long-variable-overrides)))
;; meaning you would need to add to `safe-local-variable-values' in order to
;; avoid being queried about them.
;;
-;; Finally, the `so-long-predicate' user option enables the automated behaviour
+;; Finally, the `so-long-predicate' user option enables the automated behavior
;; to be determined by a custom function, if greater control is needed.
;; * Implementation notes
;; * Caveats
;; ---------
-;; The variables affecting the automated behaviour of this library (such as
+;; The variables affecting the automated behavior of this library (such as
;; `so-long-action') can be used as file- or dir-local values in Emacs 26+, but
;; not in previous versions of Emacs. This is on account of improvements made
;; to `normal-mode' in 26.1, which altered the execution order with respect to
;; 0.6 - Added `so-long-minor-modes' and `so-long-hook'.
;; 0.5 - Renamed library to "so-long.el".
;; - Added explicit `so-long-enable' command to activate our advice.
-;; 0.4 - Amended/documented behaviour with file-local 'mode' variables.
+;; 0.4 - Amended/documented behavior with file-local 'mode' variables.
;; 0.3 - Defer to a file-local 'mode' variable.
;; 0.2 - Initial release to EmacsWiki.
;; 0.1 - Experimental.
;; automatically."; however `so-long--ensure-enabled' may forcibly re-enable
;; it contrary to the user's expectations, so for the present this should be
;; considered internal-use only (with `global-so-long-mode' the interface
- ;; for enabling or disabling the automated behaviour). FIXME: Establish a
+ ;; for enabling or disabling the automated behavior). FIXME: Establish a
;; way to support the original use-case, or rename to `so-long--enabled'.
"Internal use. Non-nil when any `so-long' functionality has been used.")
(defcustom so-long-invisible-buffer-function #'so-long-deferred
"Function called in place of `so-long' when the buffer is not displayed.
-This affects the behaviour of `global-so-long-mode'.
+This affects the behavior of `global-so-long-mode'.
We treat invisible buffers differently from displayed buffers because, in
cases where a library is using a buffer for behind-the-scenes processing,
'so-long-detected-long-line-p)
"Function called after `set-auto-mode' to decide whether action is needed.
-This affects the behaviour of `global-so-long-mode'.
+This affects the behavior of `global-so-long-mode'.
Only called if the major mode is a member of `so-long-target-modes'.
The value `longlines-mode' causes that minor mode to be enabled. See
longlines.el for more details.
-Each action likewise determines the behaviour of `so-long-revert'.
+Each action likewise determines the behavior of `so-long-revert'.
If the value is nil, or not defined in `so-long-action-alist', then no action
will be taken."
(defcustom so-long-file-local-mode-function 'so-long-mode-downgrade
"Function to call during `set-auto-mode' when a file-local mode is set.
-This affects the behaviour of `global-so-long-mode'.
+This affects the behavior of `global-so-long-mode'.
The specified function will be called with a single argument, being the
file-local mode which was established.
or `so-long-minor-mode'. If `so-long-revert' is subsequently invoked, then the
disabled modes are re-enabled by calling them with the numeric argument 1.
-`so-long-hook' can be used where more custom behaviour is desired.
+`so-long-hook' can be used where more custom behavior is desired.
Please submit bug reports to recommend additional modes for this list, whether
they are in Emacs core, GNU ELPA, or elsewhere."
(if so-long-minor-mode ;; We are enabling the mode.
(progn
;; Housekeeping. `so-long-minor-mode' might be invoked directly rather
- ;; than via `so-long', so replicate the necessary behaviours. The minor
+ ;; than via `so-long', so replicate the necessary behaviors. The minor
;; mode also cares about whether `so-long' was already active, as we do
;; not want to remember values which were (potentially) overridden
;; already.
Use \\[so-long-commentary] for more information.
Use \\[so-long-customize] to open the customization group `so-long' to
-configure the behaviour."
+configure the behavior."
;; Housekeeping. `so-long-mode' might be invoked directly rather than via
- ;; `so-long', so replicate the necessary behaviours. We could use this same
+ ;; `so-long', so replicate the necessary behaviors. We could use this same
;; test in `so-long-after-change-major-mode' to run `so-long-hook', but that's
;; not so obviously the right thing to do, so I've omitted it for now.
(unless so-long--calling
This advice acts before `so-long-mode', with the previous mode still active."
(unless (derived-mode-p 'so-long-mode)
;; Housekeeping. `so-long-mode' might be invoked directly rather than
- ;; via `so-long', so replicate the necessary behaviours.
+ ;; via `so-long', so replicate the necessary behaviors.
(unless so-long--calling
(so-long-remember-all :reset))
;; Remember the original major mode, regardless.
;; Emacs 26+ has already called `hack-local-variables' (during
;; `run-mode-hooks'; provided there was a `buffer-file-name'), but for older
;; versions we need to call it here. In Emacs 26+ the revised 'HANDLE-MODE'
- ;; argument is set to `no-mode' (being the non-nil-and-non-t behaviour),
+ ;; argument is set to `no-mode' (being the non-nil-and-non-t behavior),
;; which we mimic here by binding `so-long--hack-local-variables-no-mode',
;; in order to prevent a local 'mode' variable from clobbering the major
;; mode we have just called.
;; Act only if `so-long-mode' would be enabled by the current action.
(when (and (symbolp (so-long-function))
(provided-mode-derived-p (so-long-function) 'so-long-mode))
- ;; Downgrade from `so-long-mode' to the `so-long-minor-mode' behaviour.
+ ;; Downgrade from `so-long-mode' to the `so-long-minor-mode' behavior.
(setq so-long-function 'turn-on-so-long-minor-mode
so-long-revert-function 'turn-off-so-long-minor-mode))))
This special-case code will ultimately be removed from Emacs, as it exists to
deal with a deprecated feature; but until then we need to replicate it in order
-to inhibit our own behaviour in the presence of a header comment `mode'
+to inhibit our own behavior in the presence of a header comment `mode'
declaration.
If a file-local mode is detected in the header comment, then we call the
major mode to `so-long-mode' by this point, that protection is insufficient
and so we need to perform our own test.
-We likewise need to support an equivalent of the `no-mode' behaviour in 26.1+
+We likewise need to support an equivalent of the `no-mode' behavior in 26.1+
to ensure that `so-long-mode-revert' will not restore a file-local mode again
after it has already reverted to the original mode.
Use \\[so-long-commentary] for more information.
Use \\[so-long-customize] to open the customization group `so-long' to
-configure the behaviour."
+configure the behavior."
:global t
:group 'so-long
(if global-so-long-mode