Make connection-local variables user options
* lisp/files-x.el (connection-local-profile-alist) (connection-local-criteria-alist): Make them user options. * doc/lispref/variables.texi (Connection Local Variables): * etc/NEWS: Document this.
This commit is contained in:
parent
9338fbbc28
commit
992908b09a
3 changed files with 49 additions and 22 deletions
|
@ -2263,11 +2263,11 @@ list in @var{variables} is an alist of the form
|
|||
@end example
|
||||
@end defun
|
||||
|
||||
@defvar connection-local-profile-alist
|
||||
@deffn {User Option} connection-local-profile-alist
|
||||
This alist holds the connection profile symbols and the associated
|
||||
variable settings. It is updated by
|
||||
@code{connection-local-set-profile-variables}.
|
||||
@end defvar
|
||||
@end deffn
|
||||
|
||||
@defun connection-local-set-profiles criteria &rest profiles
|
||||
This function assigns @var{profiles}, which are symbols, to all remote
|
||||
|
@ -2321,11 +2321,11 @@ Therefore, the example above would be equivalent to
|
|||
defined by @code{connection-local-set-profile-variables}.
|
||||
@end defun
|
||||
|
||||
@defvar connection-local-criteria-alist
|
||||
@deffn {User Option} connection-local-criteria-alist
|
||||
This alist contains connection criteria and their assigned profile
|
||||
names. The function @code{connection-local-set-profiles} updates this
|
||||
list.
|
||||
@end defvar
|
||||
@end deffn
|
||||
|
||||
@defun hack-connection-local-variables criteria
|
||||
This function collects applicable connection-local variables
|
||||
|
|
36
etc/NEWS
36
etc/NEWS
|
@ -80,7 +80,7 @@ as was already the case for all the non-preloaded files.
|
|||
* Startup Changes in Emacs 29.1
|
||||
|
||||
+++
|
||||
** Emacs now support setting 'user-emacs-directory' via --init-directory.
|
||||
** Emacs now supports setting 'user-emacs-directory' via '--init-directory'.
|
||||
|
||||
+++
|
||||
** Emacs now has a '--fingerprint' option.
|
||||
|
@ -130,14 +130,15 @@ delete the entire sequence, not just a single character at its
|
|||
beginning.
|
||||
|
||||
** 'load-history' does not treat autoloads specially any more.
|
||||
An autoload definition appears just as a (defun . NAME) and the
|
||||
(t . NAME) entries are not generated any more.
|
||||
An autoload definition appears just as a '(defun . NAME)' and the
|
||||
'(t . NAME)' entries are not generated any more.
|
||||
|
||||
|
||||
* Changes in Emacs 29.1
|
||||
|
||||
---
|
||||
** New user option 'find-library-include-other-files'.
|
||||
If set to nil, commands like 'M-x find-library' will only include library
|
||||
If set to nil, commands like 'find-library' will only include library
|
||||
files in the completion candidates. The default is t, which preserves
|
||||
previous behavior, whereby non-library files could also be included.
|
||||
|
||||
|
@ -188,7 +189,7 @@ methods.
|
|||
This leads to less flicker and empty areas of a frame being displayed
|
||||
when a frame is being resized. Unfortunately, it does not work on
|
||||
some ancient buggy window managers, so if Emacs appears to freeze, but
|
||||
is still responive to input, you can turn it off by setting the X
|
||||
is still responsive to input, you can turn it off by setting the X
|
||||
resource "synchronizeResize" to "off".
|
||||
|
||||
+++
|
||||
|
@ -210,6 +211,12 @@ defaults to t, which makes Emacs use the toolkit tooltips. The
|
|||
existing GTK-specific option 'x-gtk-use-system-tooltips' is now an
|
||||
alias of this new option.
|
||||
|
||||
+++
|
||||
** Some connection-local variables are now user options.
|
||||
The variables 'connection-local-profile-alist' and
|
||||
'connection-local-criteria-alist' are now user options, in order to
|
||||
make it more convenient to inspect and modify them.
|
||||
|
||||
---
|
||||
** New minor mode 'pixel-scroll-precision-mode'.
|
||||
When enabled, and if your mouse supports it, you can scroll the
|
||||
|
@ -300,7 +307,7 @@ These will take you (respectively) to the next and previous "page".
|
|||
*** 'describe-char' now also outputs the name of emoji combinations.
|
||||
|
||||
+++
|
||||
*** New key binding in *Help* buffers: 'I'.
|
||||
*** New key binding in "*Help*" buffer: 'I'.
|
||||
This will take you to the Emacs Lisp manual entry for the item
|
||||
displayed, if any.
|
||||
|
||||
|
@ -478,7 +485,7 @@ the "*Completions*" buffer.
|
|||
|
||||
*** New user option 'completions-sort'.
|
||||
This option controls the sorting of the completion candidates in
|
||||
the *Completions* buffer. Available styles are no sorting,
|
||||
the "*Completions*" buffer. Available styles are no sorting,
|
||||
alphabetical (the default), or a custom sort function.
|
||||
|
||||
** Isearch and Replace
|
||||
|
@ -820,9 +827,9 @@ option to nil to disable this confirmation completely.
|
|||
|
||||
---
|
||||
*** Make 'image-dired-rotate-thumbnail-(left|right)' obsolete.
|
||||
Instead, use 'M-x image-dired-refresh-thumb' to generate a new
|
||||
thumbnail, or 'M-x image-rotate' to rotate the thumbnail without
|
||||
updating the thumbnail file.
|
||||
Instead, use commands 'image-dired-refresh-thumb' to generate a new
|
||||
thumbnail, or 'image-rotate' to rotate the thumbnail without updating
|
||||
the thumbnail file.
|
||||
|
||||
** Dired
|
||||
|
||||
|
@ -922,8 +929,9 @@ the Galeon web browser was released in September, 2008.
|
|||
Prefixing '|', '<' or '>' with an asterisk, i.e. '*|', '*<' or '*>',
|
||||
will cause the whole command to be passed to the operating system
|
||||
shell. This is particularly useful to bypass Eshell's own pipelining
|
||||
support for pipelines which will move a lot of data. See "Running
|
||||
Shell Pipelines Natively" in the Eshell manual.
|
||||
support for pipelines which will move a lot of data. See section
|
||||
"Running Shell Pipelines Natively" in the Eshell manual, node
|
||||
"(eshell) Input/Output".
|
||||
|
||||
** Miscellaneous
|
||||
|
||||
|
@ -1098,7 +1106,7 @@ is, the alias chain is returned.
|
|||
+++
|
||||
** New facility for handling session state: 'multisession-value'.
|
||||
This can be used as a convenient way to store (simple) application
|
||||
state, and 'M-x list-multisession-values' allows users to list
|
||||
state, and the command 'list-multisession-values' allows users to list
|
||||
(and edit) this data.
|
||||
|
||||
+++
|
||||
|
@ -1267,7 +1275,7 @@ inhibits 'isearch' matching the STRING parameter.
|
|||
It can be used to implement own regexp syntax for search/replace.
|
||||
|
||||
---
|
||||
** New variables to customize defaults of FROM for query-replace commands.
|
||||
** New variables to customize defaults of FROM for 'query-replace*' commands.
|
||||
The new variable 'query-replace-read-from-default' can be set to a
|
||||
function that returns the default value of FROM when 'query-replace'
|
||||
prompts for a string to be replaced. An example of such a function is
|
||||
|
|
|
@ -579,15 +579,22 @@ changed by the user.")
|
|||
(setq ignored-local-variables
|
||||
(cons 'connection-local-variables-alist ignored-local-variables))
|
||||
|
||||
(defvar connection-local-profile-alist nil
|
||||
(defcustom connection-local-profile-alist nil
|
||||
"Alist mapping connection profiles to variable lists.
|
||||
Each element in this list has the form (PROFILE VARIABLES).
|
||||
PROFILE is the name of a connection profile (a symbol).
|
||||
VARIABLES is a list that declares connection-local variables for
|
||||
PROFILE. An element in VARIABLES is an alist whose elements are
|
||||
of the form (VAR . VALUE).")
|
||||
of the form (VAR . VALUE)."
|
||||
:type '(repeat (cons (symbol :tag "Profile")
|
||||
(repeat :tag "Variables"
|
||||
(cons (symbol :tag "Variable")
|
||||
(sexp :tag "Value")))))
|
||||
:group 'files
|
||||
:group 'tramp
|
||||
:version "29.1")
|
||||
|
||||
(defvar connection-local-criteria-alist nil
|
||||
(defcustom connection-local-criteria-alist nil
|
||||
"Alist mapping connection criteria to connection profiles.
|
||||
Each element in this list has the form (CRITERIA PROFILES).
|
||||
CRITERIA is a plist identifying a connection and the application
|
||||
|
@ -596,7 +603,19 @@ using this connection. Property names might be `:application',
|
|||
`:application' is a symbol, all other property values are
|
||||
strings. All properties are optional; if CRITERIA is nil, it
|
||||
always applies.
|
||||
PROFILES is a list of connection profiles (symbols).")
|
||||
PROFILES is a list of connection profiles (symbols)."
|
||||
:type '(repeat (cons (plist :tag "Criteria"
|
||||
;; Give the most common options as checkboxes.
|
||||
:options (((const :format "%v " :application)
|
||||
symbol)
|
||||
((const :format "%v " :protocol) string)
|
||||
((const :format "%v " :user) string)
|
||||
((const :format "%v " :machine) string)))
|
||||
(repeat :tag "Profiles"
|
||||
(symbol :tag "Profile"))))
|
||||
:group 'files
|
||||
:group 'tramp
|
||||
:version "29.1")
|
||||
|
||||
(defsubst connection-local-normalize-criteria (criteria)
|
||||
"Normalize plist CRITERIA according to properties.
|
||||
|
|
Loading…
Add table
Reference in a new issue