diff options
author | Eli Zaretskii <eliz@gnu.org> | 2016-02-24 22:56:32 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2016-02-24 22:56:32 +0200 |
commit | 040e0d6b3b9e7222707ba96a57f3abeef1f5fe88 (patch) | |
tree | db3175a320e0519b4753b81124c26ae1f29e139d | |
parent | 5244db29158aed4b3430329cbc48c1c925e1c36a (diff) |
Fix 'toggle-save-place'
* lisp/saveplace.el (toggle-save-place): Set up hooks necessary to
support save-place in the buffer. Autoload the command.
-rw-r--r-- | lisp/saveplace.el | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/lisp/saveplace.el b/lisp/saveplace.el index c27df15024..0233a5259a 100644 --- a/lisp/saveplace.el +++ b/lisp/saveplace.el @@ -143,6 +143,7 @@ where it was when you previously visited the same file." (make-variable-buffer-local 'save-place-mode) ; Hysterical raisins. +;;;###autoload (defun toggle-save-place (&optional parg) ;FIXME: save-place-local-mode! "Toggle whether to save your place in this file between sessions. If this mode is enabled, point is recorded when you kill the buffer @@ -165,6 +166,18 @@ file: (setq save-place (if parg (> (prefix-numeric-value parg) 0) (not save-place))) + (cond + (save-place + (add-hook 'find-file-hook 'save-place-find-file-hook t) + (add-hook 'dired-initial-position-hook 'save-place-dired-hook) + (unless noninteractive + (add-hook 'kill-emacs-hook 'save-place-kill-emacs-hook)) + (add-hook 'kill-buffer-hook 'save-place-to-alist)) + (t + (remove-hook 'find-file-hook 'save-place-find-file-hook t) + (remove-hook 'dired-initial-position-hook 'save-place-dired-hook) + (remove-hook 'kill-emacs-hook 'save-place-kill-emacs-hook) + (remove-hook 'kill-buffer-hook 'save-place-to-alist))) (message (if save-place "Place will be saved" "No place will be saved in this file")))) |