branch: main commit c25a5f527321a9ab25fe72ace153abdfc521ce41 Author: Tassilo Horn <t...@gnu.org> Commit: Tassilo Horn <t...@gnu.org>
Setup preview menu/keymap only once. * preview.el.in (LaTeX-preview-setup): Setup menu and keymap only once. --- ChangeLog | 5 ++++ preview.el | 79 ++++++++++++++++++++++++++++++++------------------------------ 2 files changed, 46 insertions(+), 38 deletions(-) diff --git a/ChangeLog b/ChangeLog index f3de2d2c..6c79bddc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2015-08-10 Tassilo Horn <t...@gnu.org> + + * preview.el.in (LaTeX-preview-setup): Setup menu and keymap only + once. + 2015-08-09 Arash Esbati <esb...@gmx.de> * style/enumitem.el ("enumitem"): Cater for the starred version of diff --git a/preview.el b/preview.el index 1afb45ec..d78682c7 100644 --- a/preview.el +++ b/preview.el @@ -2490,44 +2490,47 @@ pp") "Hook function for embedding the preview package into AUCTeX. This is called by `LaTeX-mode-hook' and changes AUCTeX variables to add the preview functionality." - (remove-hook 'LaTeX-mode-hook #'LaTeX-preview-setup) - (add-hook 'LaTeX-mode-hook #'preview-mode-setup) - (define-key LaTeX-mode-map "\C-c\C-p" preview-map) - (easy-menu-define preview-menu LaTeX-mode-map - "This is the menu for preview-latex." - '("Preview" - "Generate previews" - ["(or toggle) at point" preview-at-point] - ["for environment" preview-environment] - ["for section" preview-section] - ["for region" preview-region (preview-mark-active)] - ["for buffer" preview-buffer] - ["for document" preview-document] - "---" - "Remove previews" - ["at point" preview-clearout-at-point] - ["from section" preview-clearout-section] - ["from region" preview-clearout (preview-mark-active)] - ["from buffer" preview-clearout-buffer] - ["from document" preview-clearout-document] - "---" - "Turn preamble cache" - ["on" preview-cache-preamble] - ["off" preview-cache-preamble-off] - "---" - ("Customize" - ["Browse options" - (customize-group 'preview)] - ["Extend this menu" - (easy-menu-add-item - nil '("Preview") - (customize-menu-create 'preview))]) - ["Read documentation" preview-goto-info-page] - ["Report Bug" preview-report-bug])) - (if (eq major-mode 'latex-mode) - (preview-mode-setup)) - (if (boundp 'desktop-buffer-misc) - (preview-buffer-restore desktop-buffer-misc))) + ;; This has to be done only once. + (unless (and (boundp 'LaTeX-mode-hook) + (memq #'preview-mode-setup LaTeX-mode-hook)) + (remove-hook 'LaTeX-mode-hook #'LaTeX-preview-setup) + (add-hook 'LaTeX-mode-hook #'preview-mode-setup) + (define-key LaTeX-mode-map "\C-c\C-p" preview-map) + (easy-menu-define preview-menu LaTeX-mode-map + "This is the menu for preview-latex." + '("Preview" + "Generate previews" + ["(or toggle) at point" preview-at-point] + ["for environment" preview-environment] + ["for section" preview-section] + ["for region" preview-region (preview-mark-active)] + ["for buffer" preview-buffer] + ["for document" preview-document] + "---" + "Remove previews" + ["at point" preview-clearout-at-point] + ["from section" preview-clearout-section] + ["from region" preview-clearout (preview-mark-active)] + ["from buffer" preview-clearout-buffer] + ["from document" preview-clearout-document] + "---" + "Turn preamble cache" + ["on" preview-cache-preamble] + ["off" preview-cache-preamble-off] + "---" + ("Customize" + ["Browse options" + (customize-group 'preview)] + ["Extend this menu" + (easy-menu-add-item + nil '("Preview") + (customize-menu-create 'preview))]) + ["Read documentation" preview-goto-info-page] + ["Report Bug" preview-report-bug])) + (if (eq major-mode 'latex-mode) + (preview-mode-setup)) + (if (boundp 'desktop-buffer-misc) + (preview-buffer-restore desktop-buffer-misc)))) (defun preview-clean-subdir (dir) "Cleans out a temporary DIR with preview image files."