diff --git a/lisp/menu-bar.el b/lisp/menu-bar.el index 9bc667acd6..6340af08e9 100644 --- a/lisp/menu-bar.el +++ b/lisp/menu-bar.el @@ -1414,10 +1414,6 @@ menu-bar-options-menu (bindings--define-key menu [customize] `(menu-item "Customize Emacs" ,menu-bar-custom-menu)) - (bindings--define-key menu [package] - '(menu-item "Manage Emacs Packages" package-list-packages - :help "Install or uninstall additional Emacs packages")) - (bindings--define-key menu [save] '(menu-item "Save Options" menu-bar-options-save :help "Save options set from the menu above")) @@ -1682,6 +1678,18 @@ menu-bar-shell-commands-menu menu)) +(defvar menu-bar-package-menu + (let ((menu (make-sparse-keymap "Manage Emacs Packages"))) + (bindings--define-key menu [customize-package-archives] + '(menu-item "Customize package sources" + (lambda () (interactive) (customize-variable 'package-archives)) + :help "Set the list of Emacs package sources")) + (bindings--define-key menu [list-packages] + '(menu-item "List available packages" list-packages + :help "Browse a list of Emacs packages")) + + menu)) + (defun menu-bar-read-mail () "Read mail using `read-mail-command'." (interactive) @@ -1716,6 +1724,13 @@ menu-bar-tools-menu (bindings--define-key menu [separator-net] menu-bar-separator) + (bindings--define-key menu [package] + `(menu-item "Manage Emacs Packages" + ,menu-bar-package-menu)) + + (bindings--define-key menu [separator-package] + menu-bar-separator) + (bindings--define-key menu [browse-web] '(menu-item "Browse the Web..." browse-web)) (bindings--define-key menu [directory-search]