aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJuri Linkov2014-01-20 10:52:44 +0200
committerJuri Linkov2014-01-20 10:52:44 +0200
commit71f16bdad487018608007b53d26eb65b4cbe6b55 (patch)
tree0ef20eb6a49c8776981b4de7b8b5b28cb429961b
parent3c5a4839a1e4751d1df8cec1b4e0b6b559d31070 (diff)
downloademacs-71f16bdad487018608007b53d26eb65b4cbe6b55.tar.gz
emacs-71f16bdad487018608007b53d26eb65b4cbe6b55.zip
* lisp/saveplace.el (toggle-save-place, save-place-to-alist)
(save-places-to-alist, save-place-dired-hook): Add (derived-mode-p 'dired-mode) before checking for dired-directory. Fixes: debbugs:16477
-rw-r--r--lisp/ChangeLog6
-rw-r--r--lisp/saveplace.el26
2 files changed, 22 insertions, 10 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 2f76b7502a3..3a838762a1b 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,5 +1,11 @@
12014-01-20 Juri Linkov <juri@jurta.org> 12014-01-20 Juri Linkov <juri@jurta.org>
2 2
3 * saveplace.el (toggle-save-place, save-place-to-alist)
4 (save-places-to-alist, save-place-dired-hook): Add (derived-mode-p
5 'dired-mode) before checking for dired-directory. (Bug#16477)
6
72014-01-20 Juri Linkov <juri@jurta.org>
8
3 * indent.el (indent-line-to): Use backward-to-indentation 9 * indent.el (indent-line-to): Use backward-to-indentation
4 instead of back-to-indentation. (Bug#16461) 10 instead of back-to-indentation. (Bug#16461)
5 11
diff --git a/lisp/saveplace.el b/lisp/saveplace.el
index f77a438473f..064a70a1041 100644
--- a/lisp/saveplace.el
+++ b/lisp/saveplace.el
@@ -152,7 +152,8 @@ file:
152 152
153\(setq-default save-place t\)" 153\(setq-default save-place t\)"
154 (interactive "P") 154 (interactive "P")
155 (if (not (or buffer-file-name dired-directory)) 155 (if (not (or buffer-file-name (and (derived-mode-p 'dired-mode)
156 dired-directory)))
156 (message "Buffer `%s' not visiting a file or directory" (buffer-name)) 157 (message "Buffer `%s' not visiting a file or directory" (buffer-name))
157 (if (and save-place (or (not parg) (<= parg 0))) 158 (if (and save-place (or (not parg) (<= parg 0)))
158 (progn 159 (progn
@@ -172,10 +173,11 @@ file:
172 ;; will be saved again when Emacs is killed. 173 ;; will be saved again when Emacs is killed.
173 (or save-place-loaded (load-save-place-alist-from-file)) 174 (or save-place-loaded (load-save-place-alist-from-file))
174 (let ((item (or buffer-file-name 175 (let ((item (or buffer-file-name
175 (and dired-directory 176 (and (derived-mode-p 'dired-mode)
176 (if (consp dired-directory) 177 dired-directory
177 (expand-file-name (car dired-directory)) 178 (expand-file-name (if (consp dired-directory)
178 (expand-file-name dired-directory)))))) 179 (car dired-directory)
180 dired-directory))))))
179 (when (and item 181 (when (and item
180 (or (not save-place-ignore-files-regexp) 182 (or (not save-place-ignore-files-regexp)
181 (not (string-match save-place-ignore-files-regexp 183 (not (string-match save-place-ignore-files-regexp
@@ -184,7 +186,8 @@ file:
184 (position (cond ((eq major-mode 'hexl-mode) 186 (position (cond ((eq major-mode 'hexl-mode)
185 (with-no-warnings 187 (with-no-warnings
186 (1+ (hexl-current-address)))) 188 (1+ (hexl-current-address))))
187 (dired-directory 189 ((and (derived-mode-p 'dired-mode)
190 dired-directory)
188 (let ((filename (dired-get-filename nil t))) 191 (let ((filename (dired-get-filename nil t)))
189 (if filename 192 (if filename
190 `((dired-filename . ,filename)) 193 `((dired-filename . ,filename))
@@ -301,7 +304,8 @@ may have changed\) back to `save-place-alist'."
301 (with-current-buffer (car buf-list) 304 (with-current-buffer (car buf-list)
302 ;; save-place checks buffer-file-name too, but we can avoid 305 ;; save-place checks buffer-file-name too, but we can avoid
303 ;; overhead of function call by checking here too. 306 ;; overhead of function call by checking here too.
304 (and (or buffer-file-name dired-directory) 307 (and (or buffer-file-name (and (derived-mode-p 'dired-mode)
308 dired-directory))
305 (save-place-to-alist)) 309 (save-place-to-alist))
306 (setq buf-list (cdr buf-list)))))) 310 (setq buf-list (cdr buf-list))))))
307 311
@@ -321,9 +325,11 @@ may have changed\) back to `save-place-alist'."
321(defun save-place-dired-hook () 325(defun save-place-dired-hook ()
322 "Position the point in a dired buffer." 326 "Position the point in a dired buffer."
323 (or save-place-loaded (load-save-place-alist-from-file)) 327 (or save-place-loaded (load-save-place-alist-from-file))
324 (let ((cell (assoc (if (consp dired-directory) 328 (let ((cell (assoc (and (derived-mode-p 'dired-mode)
325 (expand-file-name (car dired-directory)) 329 dired-directory
326 (expand-file-name dired-directory)) 330 (expand-file-name (if (consp dired-directory)
331 (car dired-directory)
332 dired-directory)))
327 save-place-alist))) 333 save-place-alist)))
328 (if cell 334 (if cell
329 (progn 335 (progn