aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2015-12-22 02:14:47 +0200
committerJuri Linkov2015-12-22 02:14:47 +0200
commit33efb6d60614131e1504b29885bf8b82f7c1b3cb (patch)
tree00821b01240dc15c8040bc8c0a70f77b24d75e64
parent5443f4cd58f7db981eab90e6fe7bf0ce0808d576 (diff)
downloademacs-33efb6d60614131e1504b29885bf8b82f7c1b3cb.tar.gz
emacs-33efb6d60614131e1504b29885bf8b82f7c1b3cb.zip
* lisp/saveplace.el (toggle-save-place, save-place-to-alist)
(save-places-to-alist, save-place-dired-hook): Check for dired-subdir-alist. (Bug#19851)
-rw-r--r--lisp/saveplace.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index fe54743e393..5bbcd79927d 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -158,6 +158,8 @@ file:
158\(setq-default save-place t)" 158\(setq-default save-place t)"
159 (interactive "P") 159 (interactive "P")
160 (if (not (or buffer-file-name (and (derived-mode-p 'dired-mode) 160 (if (not (or buffer-file-name (and (derived-mode-p 'dired-mode)
161 (boundp 'dired-subdir-alist)
162 dired-subdir-alist
161 (dired-current-directory)))) 163 (dired-current-directory))))
162 (message "Buffer `%s' not visiting a file or directory" (buffer-name)) 164 (message "Buffer `%s' not visiting a file or directory" (buffer-name))
163 (setq save-place (if parg 165 (setq save-place (if parg
@@ -178,6 +180,8 @@ file:
178 ;; will be saved again when Emacs is killed. 180 ;; will be saved again when Emacs is killed.
179 (or save-place-loaded (load-save-place-alist-from-file)) 181 (or save-place-loaded (load-save-place-alist-from-file))
180 (let* ((directory (and (derived-mode-p 'dired-mode) 182 (let* ((directory (and (derived-mode-p 'dired-mode)
183 (boundp 'dired-subdir-alist)
184 dired-subdir-alist
181 (dired-current-directory))) 185 (dired-current-directory)))
182 (item (or buffer-file-name 186 (item (or buffer-file-name
183 (and directory 187 (and directory
@@ -310,6 +314,8 @@ may have changed) back to `save-place-alist'."
310 ;; save-place checks buffer-file-name too, but we can avoid 314 ;; save-place checks buffer-file-name too, but we can avoid
311 ;; overhead of function call by checking here too. 315 ;; overhead of function call by checking here too.
312 (and (or buffer-file-name (and (derived-mode-p 'dired-mode) 316 (and (or buffer-file-name (and (derived-mode-p 'dired-mode)
317 (boundp 'dired-subdir-alist)
318 dired-subdir-alist
313 (dired-current-directory))) 319 (dired-current-directory)))
314 (save-place-to-alist)) 320 (save-place-to-alist))
315 (setq buf-list (cdr buf-list)))))) 321 (setq buf-list (cdr buf-list))))))
@@ -331,6 +337,8 @@ may have changed) back to `save-place-alist'."
331 "Position the point in a Dired buffer." 337 "Position the point in a Dired buffer."
332 (or save-place-loaded (load-save-place-alist-from-file)) 338 (or save-place-loaded (load-save-place-alist-from-file))
333 (let* ((directory (and (derived-mode-p 'dired-mode) 339 (let* ((directory (and (derived-mode-p 'dired-mode)
340 (boundp 'dired-subdir-alist)
341 dired-subdir-alist
334 (dired-current-directory))) 342 (dired-current-directory)))
335 (cell (assoc (and directory 343 (cell (assoc (and directory
336 (expand-file-name (if (consp directory) 344 (expand-file-name (if (consp directory)