Variable: so-long-file-local-mode-function

so-long-file-local-mode-function is a customizable and buffer-local variable defined in so-long.el.gz.

Documentation

Function to call during set-auto-mode when a file-local mode is set.

This affects the behavior of global-so-long-mode(var)/global-so-long-mode(fun).

The specified function will be called with a single argument, being the file-local mode which was established.

This happens before so-long is called, and so this function can modify the subsequent action.

The value so-long-mode-downgrade means so-long-minor-mode(var)/so-long-minor-mode(fun) will be used in place of so-long-mode -- therefore respecting the file-local mode value, yet still overriding minor modes and variables (as if so-long-action had been set to so-long-minor-mode(var)/so-long-minor-mode(fun)).

The value so-long-inhibit means that global-so-long-mode(var)/global-so-long-mode(fun) will not take any action at all for this file.

If nil, then do not treat files with file-local modes any differently to other files.

Note that this function is called if a file-local mode is set even if so-long will not be called, and also if the file-local mode is so-long-mode. Custom functions may need to test for these cases -- see so-long-mode-downgrade for an example.

This variable was added, or its default value changed, in so-long version 1.0.

Source Code

;; Defined in /usr/src/emacs/lisp/so-long.el.gz
(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 behavior of `global-so-long-mode'.

The specified function will be called with a single argument, being the
file-local mode which was established.

This happens before `so-long' is called, and so this function can modify the
subsequent action.

The value `so-long-mode-downgrade' means `so-long-minor-mode' will be used in
place of `so-long-mode' -- therefore respecting the file-local mode value, yet
still overriding minor modes and variables (as if `so-long-action' had been set
to `so-long-minor-mode').

The value `so-long-inhibit' means that `global-so-long-mode' will not take any
action at all for this file.

If nil, then do not treat files with file-local modes any differently to other
files.

Note that this function is called if a file-local mode is set even if `so-long'
will not be called, and also if the file-local mode is `so-long-mode'.  Custom
functions may need to test for these cases -- see `so-long-mode-downgrade' for
an example."
  :type '(radio (const so-long-mode-downgrade)
                (const so-long-inhibit)
                (const :tag "nil: Use so-long-function as normal" nil)
                (function :tag "Custom function"))
  :package-version '(so-long . "1.0"))