]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/printing.el (pr-global-menubar): Fix duplicate menu problem.
authorSaroj Thirumalai <emacs_bugs.saroj@thirumalai.com>
Wed, 23 Jun 2021 20:17:03 +0000 (23:17 +0300)
committerJuri Linkov <juri@linkov.net>
Wed, 23 Jun 2021 20:17:03 +0000 (23:17 +0300)
In Emacs 27.1 Print menu items were moved to a submenu of the File menu.
The Printing package (lisp/printing.el) replaces the Print menu (via the
function: pr-global-menubar).  The latter needs to be updated to reflect the
changes; otherwise, a second Print (sub)menu is created at the end of the
File menu.

Copyright-paperwork-exempt: yes

lisp/printing.el

index 5c7da96551f2827c85bd2e7b3ccd9ca7e3985a32..e7aab901d53b4c7cfe6a2e31d2616136ac6240e0 100644 (file)
@@ -1081,24 +1081,15 @@ Used by `pr-menu-bind' and `pr-update-menus'.")
   "Specify Printing menu-bar entry.")
 
 (defun pr-global-menubar (menu-spec)
-  (let ((menu-file '("menu-bar" "file")))
-    (cond
-     (pr-menu-print-item
-      (easy-menu-add-item global-map menu-file
-                          (easy-menu-create-menu "Print" menu-spec)
-                          "print-buffer")
-      (dolist (item '("print-buffer"          "print-region"
-                      "ps-print-buffer-faces" "ps-print-region-faces"
-                      "ps-print-buffer"       "ps-print-region"))
-        (easy-menu-remove-item global-map menu-file item))
-      (setq pr-menu-print-item nil
-            pr-menu-bar (vector 'menu-bar
-                                (easy-menu-intern (nth 1 menu-file))
-                                (easy-menu-intern "Print"))))
-     (t
-      (easy-menu-add-item global-map menu-file
-                          (easy-menu-create-menu "Print" menu-spec)))
-     )))
+  (let ((menu-file '("menu-bar" "file"))
+        (submenu-path [menu-bar file Print])
+        (submenu (easy-menu-create-menu "Print" menu-spec)))
+    (cond (pr-menu-print-item
+           (easy-menu-add-item global-map menu-file submenu "Print")
+           (easy-menu-remove-item global-map menu-file "print")
+           (setq pr-menu-print-item nil
+                 pr-menu-bar submenu-path))
+          (t (easy-menu-add-item global-map menu-file submenu)))))
 
 (defun pr-menu-position (entry index horizontal)
   (let ((pos (cdr (mouse-pixel-position))))