]> git.eshelyaron.com Git - emacs.git/commitdiff
Add new user option to abbreviate file names in save-place
authorLars Ingebrigtsen <larsi@gnus.org>
Thu, 15 Jul 2021 16:03:36 +0000 (18:03 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Thu, 15 Jul 2021 16:03:36 +0000 (18:03 +0200)
* lisp/saveplace.el (save-place-abbreviate-file-names): New user
option (bug#13286).
(save-place-to-alist): Use it.

etc/NEWS
lisp/saveplace.el

index 6e5d358c9588a9ab79b77d7be845630048483b96..bec7f9fb04cf5f241340dbbee8132c03802a22fa 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -2185,6 +2185,9 @@ summaries will include the failing condition.
 
 ** Miscellaneous
 
+---
+*** New user option 'save-place-abbreviate-file-names'.
+
 ---
 *** 'tabulated-list-mode' can now restore original display order.
 Many commands (like 'C-x C-b') are derived from 'tabulated-list-mode',
index f654702def44118274b97c5b45d2b0db3e41d226..2a95b39da8785ff716e0a0486ffbb3e03c058d4f 100644 (file)
@@ -87,6 +87,11 @@ this happens automatically before saving `save-place-alist' to
 `save-place-file'."
   :type 'boolean)
 
+(defcustom save-place-abbreviate-file-names nil
+  "If non-nil, abbreviate file names before saving them."
+  :type 'boolean
+  :version "28.1")
+
 (defcustom save-place-save-skipped t
   "If non-nil, remember files matching `save-place-skip-check-regexp'.
 
@@ -177,7 +182,10 @@ file:
   "Add current buffer filename and position to `save-place-alist'.
 Put filename and point in a cons box and then cons that onto the
 front of the `save-place-alist', if `save-place-mode' is non-nil.
-Otherwise, just delete that file from the alist."
+Otherwise, just delete that file from the alist.
+
+If `save-place-abbreviate-file-names' is non-nil, abbreviate the
+file names."
   ;; First check to make sure alist has been loaded in from the master
   ;; file.  If not, do so, then feel free to modify the alist.  It
   ;; will be saved again when Emacs is killed.
@@ -195,6 +203,8 @@ Otherwise, just delete that file from the alist."
                (or (not save-place-ignore-files-regexp)
                    (not (string-match save-place-ignore-files-regexp
                                       item))))
+      (when save-place-abbreviate-file-names
+        (setq item (abbreviate-file-name item)))
       (let ((cell (assoc item save-place-alist))
             (position (cond ((eq major-mode 'hexl-mode)
                             (with-no-warnings