[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master b04ec9a7d3: Fix defcustom type of auto-save-file-name-transforms
From: |
Lars Ingebrigtsen |
Subject: |
master b04ec9a7d3: Fix defcustom type of auto-save-file-name-transforms |
Date: |
Mon, 22 Aug 2022 06:18:53 -0400 (EDT) |
branch: master
commit b04ec9a7d3a7c823427609abc67cd811424f9e06
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>
Fix defcustom type of auto-save-file-name-transforms
* lisp/files.el (auto-save-file-name-transforms): Fix the
defcustom type (bug#57321).
---
lisp/files.el | 32 +++++++++++++++++++++-----------
1 file changed, 21 insertions(+), 11 deletions(-)
diff --git a/lisp/files.el b/lisp/files.el
index 05a924a363..cf2a522193 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -396,19 +396,24 @@ add a final newline, whenever you save a file that really
needs one."
;; transformed to "/2" on DOS/Windows.
,(concat temporary-file-directory "\\2") t))
"Transforms to apply to buffer file name before making auto-save file name.
+
Each transform is a list (REGEXP REPLACEMENT UNIQUIFY):
+
REGEXP is a regular expression to match against the file name.
If it matches, `replace-match' is used to replace the
matching part with REPLACEMENT.
-If the optional element UNIQUIFY is non-nil, the auto-save file name is
-constructed by taking the directory part of the replaced file-name,
-concatenated with the buffer file name with all directory separators
-changed to `!' to prevent clashes. This will not work
-correctly if your filesystem truncates the resulting name.
-If UNIQUIFY is one of the members of `secure-hash-algorithms',
-Emacs constructs the nondirectory part of the auto-save file name
-by applying that `secure-hash' to the buffer file name. This
-avoids any risk of excessively long file names.
+
+If the optional element UNIQUIFY is nil, Emacs does not check for
+file name clashes, so using that is not recommended. If UNIQUIFY
+is one of the members of `secure-hash-algorithms', Emacs
+constructs the nondirectory part of the auto-save file name by
+applying that `secure-hash' to the buffer file name. This avoids
+any risk of excessively long file names. Finally, if UNIQUIFY is
+any other value the auto-save file name is constructed by taking
+the directory part of the replaced file-name, concatenated with
+the buffer file name with all directory separators changed to `!'
+to prevent clashes. This will not work correctly if your
+filesystem truncates the resulting name.
All the transforms in the list are tried, in the order they are listed.
When one transform applies, its result is final;
@@ -421,8 +426,13 @@ editing a remote file.
On MS-DOS filesystems without long names this variable is always
ignored."
:group 'auto-save
- :type '(repeat (list (regexp :tag "Regexp") (string :tag "Replacement")
- (boolean :tag "Uniquify")))
+ :type `(repeat (list (regexp :tag "Regexp")
+ (string :tag "Replacement")
+ (choice
+ (const :tag "Uniquify" t)
+ ,@(mapcar (lambda (algo)
+ (list 'const algo))
+ (secure-hash-algorithms)))))
:initialize 'custom-initialize-delay
:version "21.1")
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master b04ec9a7d3: Fix defcustom type of auto-save-file-name-transforms,
Lars Ingebrigtsen <=