From 0aac98ac25a96f19d007438a5037822b92702594 Mon Sep 17 00:00:00 2001 From: Martin Rudalics Date: Tue, 1 Jan 2013 12:02:14 +0100 Subject: Don't run view-mode-hook twice when calling view-mode (Bug#13315). * view.el (view-mode-enable): New argument run-view-mode-hook. Run view-mode-hook only when it's non-nil (Bug#13315). (view-mode-enter): Call view-mode-enable with run-view-mode-hook argument t. --- lisp/view.el | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'lisp/view.el') diff --git a/lisp/view.el b/lisp/view.el index 7ed42bf7ddc..329d3738edc 100644 --- a/lisp/view.el +++ b/lisp/view.el @@ -463,8 +463,9 @@ Entry to view-mode runs the normal hook `view-mode-hook'." :lighter " View" :keymap view-mode-map (if view-mode (view-mode-enable) (view-mode-disable))) -(defun view-mode-enable () - "Turn on View mode." +(defun view-mode-enable (&optional run-view-mode-hook) + "Turn on View mode. +Run `view-mode-hook' when RUN-VIEW-MODE-HOOK is non-nil." ;; Always leave view mode before changing major mode. ;; This is to guarantee that the buffer-read-only variable is restored. (add-hook 'change-major-mode-hook 'view-mode-disable nil t) @@ -482,7 +483,8 @@ Entry to view-mode runs the normal hook `view-mode-hook'." (file-name-nondirectory (buffer-file-name)) (buffer-name))))) (force-mode-line-update) - (run-hooks 'view-mode-hook)) + (when run-view-mode-hook + (run-hooks 'view-mode-hook))) (defun view-mode-disable () "Turn off View mode." @@ -560,7 +562,7 @@ This function runs the normal hook `view-mode-hook'." (setq view-exit-action exit-action)) (unless view-mode - (view-mode-enable) + (view-mode-enable t) (force-mode-line-update) (unless view-inhibit-help-message (message "%s" -- cgit v1.2.1