* bug#24774: 26.0.50; Menu display navigation commands @ 2016-10-23 16:28 Andreas Röhler 2019-07-27 13:18 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Andreas Röhler @ 2016-10-23 16:28 UTC (permalink / raw) To: 24774 Hi, think it would be a gain if Emacs-lisp menu displays navigation commands. Thanks, Andreas GNU Emacs 26.0.50.1 (i686-pc-linux-gnu, GTK+ Version 3.14.5) of 2016-10-11 Recent messages: For information about GNU Emacs and the GNU system, type C-h C-a. (New file) Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GSETTINGS NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 Important settings: value of $LANG: de_DE.utf8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Emacs-Lisp Minor modes in effect: tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message subr-x puny seq byte-opt gv bytecomp byte-compile cl-extra help-mode cconv cl-loaddefs pcase cl-lib dired dired-loaddefs format-spec rfc822 mml easymenu mml-sec password-cache epa derived epg epg-config gnus-util rmail rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote dbusbind inotify dynamic-setting system-font-setting font-render-setting move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 8 169065 8354) (symbols 24 38597 0) (miscs 20 41 160) (strings 16 53551 4976) (string-bytes 1 873524) (vectors 8 13713) (vector-slots 4 474922 6778) (floats 8 183 30) (intervals 28 197 8) (buffers 520 12) (heap 1024 18127 894)) ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2016-10-23 16:28 bug#24774: 26.0.50; Menu display navigation commands Andreas Röhler @ 2019-07-27 13:18 ` Lars Ingebrigtsen 2019-07-30 7:54 ` Andreas Röhler 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2019-07-27 13:18 UTC (permalink / raw) To: Andreas Röhler; +Cc: 24774 Andreas Röhler <andreas.roehler@easy-emacs.de> writes: > think it would be a gain if Emacs-lisp menu displays navigation commands. What kind of navigation commands? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2019-07-27 13:18 ` Lars Ingebrigtsen @ 2019-07-30 7:54 ` Andreas Röhler 2019-07-30 10:25 ` Lars Ingebrigtsen 2021-02-27 14:58 ` Lars Ingebrigtsen 0 siblings, 2 replies; 50+ messages in thread From: Andreas Röhler @ 2019-07-30 7:54 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 24774 On 27.07.19 15:18, Lars Ingebrigtsen wrote: > Andreas Röhler <andreas.roehler@easy-emacs.de> writes: > >> think it would be a gain if Emacs-lisp menu displays navigation commands. > What kind of navigation commands? > Stuff like beginning-of-defun, up-list, forward-sexp Thanks, Andreas ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2019-07-30 7:54 ` Andreas Röhler @ 2019-07-30 10:25 ` Lars Ingebrigtsen 2020-11-18 15:34 ` Stefan Kangas 2021-02-27 14:58 ` Lars Ingebrigtsen 1 sibling, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2019-07-30 10:25 UTC (permalink / raw) To: Andreas Röhler; +Cc: 24774 Andreas Röhler <andreas.roehler@easy-emacs.de> writes: > On 27.07.19 15:18, Lars Ingebrigtsen wrote: >> Andreas Röhler <andreas.roehler@easy-emacs.de> writes: >> >>> think it would be a gain if Emacs-lisp menu displays navigation commands. >> What kind of navigation commands? > > Stuff like beginning-of-defun, up-list, forward-sexp Oh, sexp-based navigation commands. Yes, I think that's a good idea -- it'll make them more discoverable for new users. I think both an "Editing" sub-menu (`kill-sexp' etc) as well as a "Navigation" menu would be nice. Eep! (bindings--define-key menu-map [separator-format] menu-bar-separator) (bindings--define-key menu-map [comment-region] '(menu-item "Comment Out Region" comment-region :help "Comment or uncomment each line in the region" :enable mark-active)) (bindings--define-key menu-map [indent-region] '(menu-item "Indent Region" indent-region :help "Indent each nonblank line in the region" :enable mark-active)) (ad nauseam). elisp-mode.el doesn't use easy-menu, so every creating menus there is so. much. typing. And the file is dumped with Emacs, so I'm guessing requiring easy-menu and doing a rewrite wouldn't be welcome? So while I agree that these sub-menus should be added, I think I'll leave that to somebody else... -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2019-07-30 10:25 ` Lars Ingebrigtsen @ 2020-11-18 15:34 ` Stefan Kangas 2020-11-18 21:09 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Stefan Kangas @ 2020-11-18 15:34 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 24774 Lars Ingebrigtsen <larsi@gnus.org> writes: >> Stuff like beginning-of-defun, up-list, forward-sexp > > Oh, sexp-based navigation commands. Yes, I think that's a good idea -- > it'll make them more discoverable for new users. I think both an > "Editing" sub-menu (`kill-sexp' etc) as well as a "Navigation" menu > would be nice. > > Eep! > > (bindings--define-key menu-map [separator-format] menu-bar-separator) > (bindings--define-key menu-map [comment-region] > '(menu-item "Comment Out Region" comment-region > :help "Comment or uncomment each line in the region" > :enable mark-active)) > (bindings--define-key menu-map [indent-region] > '(menu-item "Indent Region" indent-region > :help "Indent each nonblank line in the region" > :enable mark-active)) > > (ad nauseam). elisp-mode.el doesn't use easy-menu, so every creating > menus there is so. much. typing. And the file is dumped with Emacs, so > I'm guessing requiring easy-menu and doing a rewrite wouldn't be > welcome? > > So while I agree that these sub-menus should be added, I think I'll > leave that to somebody else... Is preloading easy-menu.el excluded? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2020-11-18 15:34 ` Stefan Kangas @ 2020-11-18 21:09 ` Lars Ingebrigtsen 2020-11-18 22:01 ` Drew Adams 2021-02-23 15:19 ` Stefan Kangas 0 siblings, 2 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2020-11-18 21:09 UTC (permalink / raw) To: Stefan Kangas; +Cc: 24774 Stefan Kangas <stefan@marxist.se> writes: > Is preloading easy-menu.el excluded? If I do an "emacs -Q", then it turns out that easymenu.el is already present, so I think something is already loading it (even if it's not explicitly mentioned by lisp/loadup.el). So rewriting the emacs-lisp menus using easymenu should be uncontroversial. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2020-11-18 21:09 ` Lars Ingebrigtsen @ 2020-11-18 22:01 ` Drew Adams 2020-11-18 22:16 ` Stefan Kangas 2021-02-23 15:19 ` Stefan Kangas 1 sibling, 1 reply; 50+ messages in thread From: Drew Adams @ 2020-11-18 22:01 UTC (permalink / raw) To: Lars Ingebrigtsen, Stefan Kangas; +Cc: 24774 > So rewriting the emacs-lisp menus using easymenu should be > uncontroversial. Really? _Why_ rewrite them? And easy-menu doesn't offer all that an "extended menu item' offers. What would be the point of rewriting to use easy-menu. I actually find easy-menu harder to work with, FWIW. It's too monolithic. Ordinary menu bindings are individual, essentially independent. The easy-menu functions seem too all-or-nothing. (I'm no expert on easy-menu, so some of my view of it might be mistaken. It just seems to me more of a pain than a help, when trying to adapt or adjust some "easy" menu that already exists.) And what on earth does rewriting Elisp menus to use easy-menu have to do with this bug? This sounds like a solution (something you're perhaps more used to) in search of a problem. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2020-11-18 22:01 ` Drew Adams @ 2020-11-18 22:16 ` Stefan Kangas 2020-11-18 23:16 ` Drew Adams 0 siblings, 1 reply; 50+ messages in thread From: Stefan Kangas @ 2020-11-18 22:16 UTC (permalink / raw) To: Drew Adams, Lars Ingebrigtsen; +Cc: 24774 Drew Adams <drew.adams@oracle.com> writes: >> So rewriting the emacs-lisp menus using easymenu should be >> uncontroversial. > > Really? _Why_ rewrite them? They would be easier to read, understand and change. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2020-11-18 22:16 ` Stefan Kangas @ 2020-11-18 23:16 ` Drew Adams 2020-11-19 1:10 ` Stefan Kangas 0 siblings, 1 reply; 50+ messages in thread From: Drew Adams @ 2020-11-18 23:16 UTC (permalink / raw) To: Stefan Kangas, Lars Ingebrigtsen; +Cc: 24774 > >> So rewriting the emacs-lisp menus using easymenu should be > >> uncontroversial. > > > > Really? _Why_ rewrite them? > > They would be easier to read, understand and change. Easier for whom? I don't find maintenance easier with easy-menu. I find it harder. Of course my "maintenance" of existing Emacs menus means adding to, or otherwise changing, them. (How do you do the equivalent of a `define-key-after', for example? Oh, or is there no equivalent?) ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2020-11-18 23:16 ` Drew Adams @ 2020-11-19 1:10 ` Stefan Kangas 0 siblings, 0 replies; 50+ messages in thread From: Stefan Kangas @ 2020-11-19 1:10 UTC (permalink / raw) To: Drew Adams, Lars Ingebrigtsen; +Cc: 24774 Drew Adams <drew.adams@oracle.com> writes: > (How do you do the equivalent of a `define-key-after', > for example? Oh, or is there no equivalent?) I'm not sure why you can't use `define-key-after', but there is also `easy-menu-define-key'. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2020-11-18 21:09 ` Lars Ingebrigtsen 2020-11-18 22:01 ` Drew Adams @ 2021-02-23 15:19 ` Stefan Kangas 2021-02-23 15:29 ` Lars Ingebrigtsen 2021-02-23 15:57 ` Eli Zaretskii 1 sibling, 2 replies; 50+ messages in thread From: Stefan Kangas @ 2021-02-23 15:19 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 24774 [-- Attachment #1: Type: text/plain, Size: 462 bytes --] tags 24774 + patch thanks Lars Ingebrigtsen <larsi@gnus.org> writes: > Stefan Kangas <stefan@marxist.se> writes: > >> Is preloading easy-menu.el excluded? > > If I do an "emacs -Q", then it turns out that easymenu.el is already > present, so I think something is already loading it (even if it's not > explicitly mentioned by lisp/loadup.el). > > So rewriting the emacs-lisp menus using easymenu should be > uncontroversial. How do the attached patches look? [-- Attachment #2: 0001-Preload-easymenu.el.patch --] [-- Type: text/x-diff, Size: 2199 bytes --] From 73e00b8517ec97e5c7c6041eab30b4b0ddfb5d30 Mon Sep 17 00:00:00 2001 From: Stefan Kangas <stefan@marxist.se> Date: Thu, 19 Nov 2020 02:19:19 +0100 Subject: [PATCH 1/2] Preload easymenu.el * lisp/loadup.el: Preload easymenu. It turns out that it is already loaded in a default Emacs 27. --- lisp/emacs-lisp/easymenu.el | 4 ---- lisp/loadup.el | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/lisp/emacs-lisp/easymenu.el b/lisp/emacs-lisp/easymenu.el index bcd5cfd99b..68b0a27b6a 100644 --- a/lisp/emacs-lisp/easymenu.el +++ b/lisp/emacs-lisp/easymenu.el @@ -35,7 +35,6 @@ (defsubst easy-menu-intern (s) (if (stringp s) (intern s) s)) -;;;###autoload (defmacro easy-menu-define (symbol maps doc menu) "Define a pop-up menu and/or menu bar menu specified by MENU. If SYMBOL is non-nil, define SYMBOL as a function to pop up the @@ -166,7 +165,6 @@ easy-menu-binding "")) (cons menu props))))) -;;;###autoload (defun easy-menu-do-define (symbol maps doc menu) ;; We can't do anything that might differ between Emacs dialects in ;; `easy-menu-define' in order to make byte compiled files @@ -218,7 +216,6 @@ easy-menu-avoid-duplicate-keys If it holds a list, this is expected to be a list of keys already seen in the menu we're processing. Else it means we're not processing a menu.") -;;;###autoload (defun easy-menu-create-menu (menu-name menu-items) "Create a menu called MENU-NAME with items described in MENU-ITEMS. MENU-NAME is a string, the name of the menu. MENU-ITEMS is a list of items @@ -474,7 +471,6 @@ easy-menu-make-symbol (eval `(lambda () (interactive) ,callback) t))) command)) -;;;###autoload (defun easy-menu-change (path name items &optional before map) "Change menu found at PATH as item NAME to contain ITEMS. PATH is a list of strings for locating the menu that diff --git a/lisp/loadup.el b/lisp/loadup.el index d60aa2ead2..c16cd61594 100644 --- a/lisp/loadup.el +++ b/lisp/loadup.el @@ -266,6 +266,7 @@ (load "isearch") (load "rfn-eshadow") +(load "emacs-lisp/easymenu") (load "menu-bar") (load "tab-bar") (load "emacs-lisp/lisp") -- 2.30.0 [-- Attachment #3: 0002-Convert-emacs-lisp-mode-menu-to-easy-menu-define.patch --] [-- Type: text/x-diff, Size: 12273 bytes --] From 7613470112b5a5bcb492f1adda2947052b1e07c8 Mon Sep 17 00:00:00 2001 From: Stefan Kangas <stefan@marxist.se> Date: Tue, 23 Feb 2021 15:51:16 +0100 Subject: [PATCH 2/2] Convert emacs-lisp-mode menu to easy-menu-define * lisp/progmodes/elisp-mode.el (emacs-lisp-mode-map): Convert menu to use easy-menu-define. --- lisp/progmodes/elisp-mode.el | 215 +++++++++++++++-------------------- 1 file changed, 89 insertions(+), 126 deletions(-) diff --git a/lisp/progmodes/elisp-mode.el b/lisp/progmodes/elisp-mode.el index 397eb269a7..9532cf692e 100644 --- a/lisp/progmodes/elisp-mode.el +++ b/lisp/progmodes/elisp-mode.el @@ -46,140 +46,103 @@ emacs-lisp-mode-syntax-table "Syntax table used in `emacs-lisp-mode'.") (defvar emacs-lisp-mode-map - (let ((map (make-sparse-keymap)) - (menu-map (make-sparse-keymap "Emacs-Lisp")) - (lint-map (make-sparse-keymap)) - (prof-map (make-sparse-keymap)) - (tracing-map (make-sparse-keymap))) + (let ((map (make-sparse-keymap))) (set-keymap-parent map lisp-mode-shared-map) (define-key map "\e\t" 'completion-at-point) (define-key map "\e\C-x" 'eval-defun) (define-key map "\e\C-q" 'indent-pp-sexp) - (bindings--define-key map [menu-bar emacs-lisp] - (cons "Emacs-Lisp" menu-map)) - (bindings--define-key menu-map [eldoc] - '(menu-item "Auto-Display Documentation Strings" eldoc-mode - :button (:toggle . (bound-and-true-p eldoc-mode)) - :help "Display the documentation string for the item under cursor")) - (bindings--define-key menu-map [checkdoc] - '(menu-item "Check Documentation Strings" checkdoc - :help "Check documentation strings for style requirements")) - (bindings--define-key menu-map [re-builder] - '(menu-item "Construct Regexp" re-builder - :help "Construct a regexp interactively")) - (bindings--define-key menu-map [tracing] (cons "Tracing" tracing-map)) - (bindings--define-key tracing-map [tr-a] - '(menu-item "Untrace All" untrace-all - :help "Untrace all currently traced functions")) - (bindings--define-key tracing-map [tr-uf] - '(menu-item "Untrace Function..." untrace-function - :help "Untrace function, and possibly activate all remaining advice")) - (bindings--define-key tracing-map [tr-sep] menu-bar-separator) - (bindings--define-key tracing-map [tr-q] - '(menu-item "Trace Function Quietly..." trace-function-background - :help "Trace the function with trace output going quietly to a buffer")) - (bindings--define-key tracing-map [tr-f] - '(menu-item "Trace Function..." trace-function - :help "Trace the function given as an argument")) - (bindings--define-key menu-map [profiling] (cons "Profiling" prof-map)) - (bindings--define-key prof-map [prof-restall] - '(menu-item "Remove Instrumentation for All Functions" elp-restore-all - :help "Restore the original definitions of all functions being profiled")) - (bindings--define-key prof-map [prof-restfunc] - '(menu-item "Remove Instrumentation for Function..." elp-restore-function - :help "Restore an instrumented function to its original definition")) - - (bindings--define-key prof-map [sep-rem] menu-bar-separator) - (bindings--define-key prof-map [prof-resall] - '(menu-item "Reset Counters for All Functions" elp-reset-all - :help "Reset the profiling information for all functions being profiled")) - (bindings--define-key prof-map [prof-resfunc] - '(menu-item "Reset Counters for Function..." elp-reset-function - :help "Reset the profiling information for a function")) - (bindings--define-key prof-map [prof-res] - '(menu-item "Show Profiling Results" elp-results - :help "Display current profiling results")) - (bindings--define-key prof-map [prof-pack] - '(menu-item "Instrument Package..." elp-instrument-package - :help "Instrument for profiling all function that start with a prefix")) - (bindings--define-key prof-map [prof-func] - '(menu-item "Instrument Function..." elp-instrument-function - :help "Instrument a function for profiling")) - ;; Maybe this should be in a separate submenu from the ELP stuff? - (bindings--define-key prof-map [sep-natprof] menu-bar-separator) - (bindings--define-key prof-map [prof-natprof-stop] - '(menu-item "Stop Native Profiler" profiler-stop - :help "Stop recording profiling information" - :enable (and (featurep 'profiler) - (profiler-running-p)))) - (bindings--define-key prof-map [prof-natprof-report] - '(menu-item "Show Profiler Report" profiler-report - :help "Show the current profiler report" - :enable (and (featurep 'profiler) - (profiler-running-p)))) - (bindings--define-key prof-map [prof-natprof-start] - '(menu-item "Start Native Profiler..." profiler-start - :help "Start recording profiling information")) - - (bindings--define-key menu-map [lint] (cons "Linting" lint-map)) - (bindings--define-key lint-map [lint-di] - '(menu-item "Lint Directory..." elint-directory - :help "Lint a directory")) - (bindings--define-key lint-map [lint-f] - '(menu-item "Lint File..." elint-file - :help "Lint a file")) - (bindings--define-key lint-map [lint-b] - '(menu-item "Lint Buffer" elint-current-buffer - :help "Lint the current buffer")) - (bindings--define-key lint-map [lint-d] - '(menu-item "Lint Defun" elint-defun - :help "Lint the function at point")) - (bindings--define-key menu-map [edebug-defun] - '(menu-item "Instrument Function for Debugging" edebug-defun - :help "Evaluate the top level form point is in, stepping through with Edebug" - :keys "C-u C-M-x")) - (bindings--define-key menu-map [separator-byte] menu-bar-separator) - (bindings--define-key menu-map [disas] - '(menu-item "Disassemble Byte Compiled Object..." disassemble - :help "Print disassembled code for OBJECT in a buffer")) - (bindings--define-key menu-map [byte-recompile] - '(menu-item "Byte-recompile Directory..." byte-recompile-directory - :help "Recompile every `.el' file in DIRECTORY that needs recompilation")) - (bindings--define-key menu-map [emacs-byte-compile-and-load] - '(menu-item "Byte-compile and Load" emacs-lisp-byte-compile-and-load - :help "Byte-compile the current file (if it has changed), then load compiled code")) - (bindings--define-key menu-map [byte-compile] - '(menu-item "Byte-compile This File" emacs-lisp-byte-compile - :help "Byte compile the file containing the current buffer")) - (bindings--define-key menu-map [separator-eval] menu-bar-separator) - (bindings--define-key menu-map [ielm] - '(menu-item "Interactive Expression Evaluation" ielm - :help "Interactively evaluate Emacs Lisp expressions")) - (bindings--define-key menu-map [eval-buffer] - '(menu-item "Evaluate Buffer" eval-buffer - :help "Execute the current buffer as Lisp code")) - (bindings--define-key menu-map [eval-region] - '(menu-item "Evaluate Region" eval-region - :help "Execute the region as Lisp code" - :enable mark-active)) - (bindings--define-key menu-map [eval-sexp] - '(menu-item "Evaluate Last S-expression" eval-last-sexp - :help "Evaluate sexp before point; print value in echo area")) - (bindings--define-key menu-map [separator-format] menu-bar-separator) - (bindings--define-key menu-map [comment-region] - '(menu-item "Comment Out Region" comment-region - :help "Comment or uncomment each line in the region" - :enable mark-active)) - (bindings--define-key menu-map [indent-region] - '(menu-item "Indent Region" indent-region - :help "Indent each nonblank line in the region" - :enable mark-active)) - (bindings--define-key menu-map [indent-line] - '(menu-item "Indent Line" lisp-indent-line)) map) "Keymap for Emacs Lisp mode. All commands in `lisp-mode-shared-map' are inherited by this map.") +(easy-menu-define emacs-lisp-mode-menu emacs-lisp-mode-map + "Menu for Emacs Lisp mode." + '("Emacs-Lisp" + ["Indent Line" lisp-indent-line] + ["Indent Region" indent-region + :help "Indent each nonblank line in the region" + :active mark-active] + ["Comment Out Region" comment-region + :help "Comment or uncomment each line in the region" + :active mark-active] + "---" + ["Evaluate Last S-expression" eval-last-sexp + :help "Evaluate sexp before point; print value in echo area"] + ["Evaluate Region" eval-region + :help "Execute the region as Lisp code" + :active mark-active] + ["Evaluate Buffer" eval-buffer + :help "Execute the current buffer as Lisp code"] + ["Interactive Expression Evaluation" ielm + :help "Interactively evaluate Emacs Lisp expressions"] + "---" + ["Byte-compile This File" emacs-lisp-byte-compile + :help "Byte compile the file containing the current buffer"] + ["Byte-compile and Load" emacs-lisp-byte-compile-and-load + :help "Byte-compile the current file (if it has changed), then load compiled code"] + ["Byte-recompile Directory..." byte-recompile-directory + :help "Recompile every `.el' file in DIRECTORY that needs recompilation"] + ["Disassemble Byte Compiled Object..." disassemble + :help "Print disassembled code for OBJECT in a buffer"] + "---" + ["Instrument Function for Debugging" edebug-defun + :help "Evaluate the top level form point is in, stepping through with Edebug" + :keys "C-u C-M-x"] + ["Linting" + ["Lint Defun" elint-defun + :help "Lint the function at point"] + ["Lint Buffer" elint-current-buffer + :help "Lint the current buffer"] + ["Lint File..." elint-file + :help "Lint a file"] + ["Lint Directory..." elint-directory + :help "Lint a directory"]] + ["Profiling" + ;; Maybe this should be in a separate submenu from the ELP stuff? + ["Start Native Profiler..." profiler-start + :help "Start recording profiling information"] + ["Show Profiler Report" profiler-report + :help "Show the current profiler report" + :active (and (featurep 'profiler) + (profiler-running-p))] + ["Stop Native Profiler" profiler-stop + :help "Stop recording profiling information" + :active (and (featurep 'profiler) + (profiler-running-p))] + "---" + ["Instrument Function..." elp-instrument-function + :help "Instrument a function for profiling"] + ["Instrument Package..." elp-instrument-package + :help "Instrument for profiling all function that start with a prefix"] + ["Show Profiling Results" elp-results + :help "Display current profiling results"] + ["Reset Counters for Function..." elp-reset-function + :help "Reset the profiling information for a function"] + ["Reset Counters for All Functions" elp-reset-all + :help "Reset the profiling information for all functions being profiled"] + "---" + ["Remove Instrumentation for All Functions" elp-restore-all + :help "Restore the original definitions of all functions being profiled"] + ["Remove Instrumentation for Function..." elp-restore-function + :help "Restore an instrumented function to its original definition"]] + ["Tracing" + ["Trace Function..." trace-function + :help "Trace the function given as an argument"] + ["Trace Function Quietly..." trace-function-background + :help "Trace the function with trace output going quietly to a buffer"] + "---" + ["Untrace All" untrace-all + :help "Untrace all currently traced functions"] + ["Untrace Function..." untrace-function + :help "Untrace function, and possibly activate all remaining advice"]] + ["Construct Regexp" re-builder + :help "Construct a regexp interactively"] + ["Check Documentation Strings" checkdoc + :help "Check documentation strings for style requirements"] + ["Auto-Display Documentation Strings" eldoc-mode + :button (:toggle . (bound-and-true-p eldoc-mode)) + :help "Display the documentation string for the item under cursor"])) + (defun emacs-lisp-byte-compile () "Byte compile the file containing the current buffer." (interactive) -- 2.30.0 ^ permalink raw reply related [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 15:19 ` Stefan Kangas @ 2021-02-23 15:29 ` Lars Ingebrigtsen 2021-02-23 15:57 ` Eli Zaretskii 1 sibling, 0 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-23 15:29 UTC (permalink / raw) To: Stefan Kangas; +Cc: 24774 Stefan Kangas <stefan@marxist.se> writes: >> So rewriting the emacs-lisp menus using easymenu should be >> uncontroversial. > > How do the attached patches look? Looks good to me. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 15:19 ` Stefan Kangas 2021-02-23 15:29 ` Lars Ingebrigtsen @ 2021-02-23 15:57 ` Eli Zaretskii 2021-02-23 16:02 ` Lars Ingebrigtsen 1 sibling, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-23 15:57 UTC (permalink / raw) To: Stefan Kangas; +Cc: larsi, 24774 > From: Stefan Kangas <stefan@marxist.se> > Date: Tue, 23 Feb 2021 09:19:19 -0600 > Cc: 24774@debbugs.gnu.org > > * lisp/loadup.el: Preload easymenu. It turns out that it is already > loaded in a default Emacs 27. It is? I don't see it in "emacs -Q". It only gets loaded when emacs-lisp-mode is activated. So why do we need to preload it? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 15:57 ` Eli Zaretskii @ 2021-02-23 16:02 ` Lars Ingebrigtsen 2021-02-23 16:14 ` Lars Ingebrigtsen 2021-02-23 16:16 ` Eli Zaretskii 0 siblings, 2 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-23 16:02 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Stefan Kangas, 24774 Eli Zaretskii <eliz@gnu.org> writes: > It is? I don't see it in "emacs -Q". It only gets loaded when > emacs-lisp-mode is activated. emacs -Q (featurep 'easymenu) => t This is probably because *scratch* is an Emacs Lisp-derived mode, but it means that it's usually loaded on startup, and emacs-lisp.el should be able to use it, because the typical impact on users will be nil. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:02 ` Lars Ingebrigtsen @ 2021-02-23 16:14 ` Lars Ingebrigtsen 2021-02-23 16:16 ` Eli Zaretskii 1 sibling, 0 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-23 16:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Stefan Kangas, 24774 Lars Ingebrigtsen <larsi@gnus.org> writes: > This is probably because *scratch* is an Emacs Lisp-derived mode, but it > means that it's usually loaded on startup, and emacs-lisp.el should be > able to use it, because the typical impact on users will be nil. Sorry -- I meant that there is typically no negative impact on users, but there is, of course, typically a positive impact on preloading easymenu -- it means that Emacs will, invoked the typical way, start faster. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:02 ` Lars Ingebrigtsen 2021-02-23 16:14 ` Lars Ingebrigtsen @ 2021-02-23 16:16 ` Eli Zaretskii 2021-02-23 16:37 ` Stefan Kangas 2021-02-23 16:50 ` Basil L. Contovounesios 1 sibling, 2 replies; 50+ messages in thread From: Eli Zaretskii @ 2021-02-23 16:16 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: Stefan Kangas <stefan@marxist.se>, 24774@debbugs.gnu.org > Date: Tue, 23 Feb 2021 17:02:51 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > It is? I don't see it in "emacs -Q". It only gets loaded when > > emacs-lisp-mode is activated. > > emacs -Q > (featurep 'easymenu) > => t I get nil here, in Emacs 28. Both on MS-Windows and on GNU/Linux in "emacs -Q -nw". Maybe it's system-dependent? What Emacs configuration is the one where you get the above? > This is probably because *scratch* is an Emacs Lisp-derived mode Nope. > emacs-lisp.el should be able to use it, because the typical impact > on users will be nil. Why cannot emacs-lisp.el use it without preloading it? emacs-lisp.el is not itself preloaded, it loads only when you invoke the mode the first time, e.g. by visiting a .el file. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:16 ` Eli Zaretskii @ 2021-02-23 16:37 ` Stefan Kangas 2021-02-23 16:44 ` Eli Zaretskii 2021-02-23 16:50 ` Basil L. Contovounesios 1 sibling, 1 reply; 50+ messages in thread From: Stefan Kangas @ 2021-02-23 16:37 UTC (permalink / raw) To: Eli Zaretskii, Lars Ingebrigtsen; +Cc: 24774 Eli Zaretskii <eliz@gnu.org> writes: > Why cannot emacs-lisp.el use it without preloading it? emacs-lisp.el > is not itself preloaded, it loads only when you invoke the mode the > first time, e.g. by visiting a .el file. The correct name is "elisp-mode.el", and that file is preloaded. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:37 ` Stefan Kangas @ 2021-02-23 16:44 ` Eli Zaretskii 2021-02-25 1:25 ` Stefan Kangas 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-23 16:44 UTC (permalink / raw) To: Stefan Kangas; +Cc: larsi, 24774 > From: Stefan Kangas <stefan@marxist.se> > Date: Tue, 23 Feb 2021 10:37:04 -0600 > Cc: 24774@debbugs.gnu.org > > Eli Zaretskii <eliz@gnu.org> writes: > > > Why cannot emacs-lisp.el use it without preloading it? emacs-lisp.el > > is not itself preloaded, it loads only when you invoke the mode the > > first time, e.g. by visiting a .el file. > > The correct name is "elisp-mode.el", and that file is preloaded. OK, but easymenu is still not loaded here in "emacs -Q". Can you figure out which code loads it on your system? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:44 ` Eli Zaretskii @ 2021-02-25 1:25 ` Stefan Kangas 2021-02-25 9:04 ` Stephen Berman 0 siblings, 1 reply; 50+ messages in thread From: Stefan Kangas @ 2021-02-25 1:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, 24774 Eli Zaretskii <eliz@gnu.org> writes: >> The correct name is "elisp-mode.el", and that file is preloaded. > > OK, but easymenu is still not loaded here in "emacs -Q". Can you > figure out which code loads it on your system? I can no longer reproduce this now: emacs -Q M-: (featurep 'easymenu) => nil I tried this several times both on master and Emacs 27. I have no idea what I did differently before, because I did confirm that it was preloaded (or so it seemed). Perhaps I inadvertently did something else that loaded it? I do see this on both master and Emacs 27: emacs -Q foo.txt M-: (featurep 'easymenu) => t So it seems very easy to get it to load it in normal use. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 1:25 ` Stefan Kangas @ 2021-02-25 9:04 ` Stephen Berman 2021-02-25 9:24 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Stephen Berman @ 2021-02-25 9:04 UTC (permalink / raw) To: Stefan Kangas; +Cc: larsi, 24774 On Wed, 24 Feb 2021 19:25:25 -0600 Stefan Kangas <stefan@marxist.se> wrote: > I do see this on both master and Emacs 27: > > emacs -Q foo.txt > M-: (featurep 'easymenu) > => t I cannot reproduce this. Also with this: emacs-27 -Q --eval "(message \"easymenu is%s loaded\" (if (featurep 'easymenu) \"\" \" not\"))" foo.txt C-x b *Messages* => easymenu is not loaded Compare: emacs-27 -Q --eval "(progn (load-library \"easymenu\") (message \"easymenu is%s loaded\" (if (featurep 'easymenu) \"\" \" not\")))" foo.txt C-x b *Messages* => easymenu is loaded If you don't get this difference, something is weird somewhere. Steve Berman ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 9:04 ` Stephen Berman @ 2021-02-25 9:24 ` Eli Zaretskii 2021-02-25 15:09 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-25 9:24 UTC (permalink / raw) To: Stephen Berman, Stefan Kangas; +Cc: larsi, 24774 On February 25, 2021 11:04:06 AM GMT+02:00, Stephen Berman <stephen.berman@gmx.net> wrote: > On Wed, 24 Feb 2021 19:25:25 -0600 Stefan Kangas <stefan@marxist.se> > wrote: > > > I do see this on both master and Emacs 27: > > > > emacs -Q foo.txt > > M-: (featurep 'easymenu) > > => t > > I cannot reproduce this. Also with this: > > emacs-27 -Q --eval "(message \"easymenu is%s loaded\" (if (featurep > 'easymenu) \"\" \" not\"))" foo.txt > > C-x b *Messages* > => easymenu is not loaded > > Compare: > > emacs-27 -Q --eval "(progn (load-library \"easymenu\") (message > \"easymenu is%s loaded\" (if (featurep 'easymenu) \"\" \" not\")))" > foo.txt > > C-x b *Messages* > => easymenu is loaded > > If you don't get this difference, something is weird somewhere. I'm guessing that Stefan did this in a Git-versioned tree, where visiting a file loads vc-git.el, which loads diff-mode.el, which loads easymenu. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 9:24 ` Eli Zaretskii @ 2021-02-25 15:09 ` Lars Ingebrigtsen 2021-02-25 15:27 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-25 15:09 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Stephen Berman, Stefan Kangas, 24774 Eli Zaretskii <eliz@gnu.org> writes: > I'm guessing that Stefan did this in a Git-versioned tree, where > visiting a file loads vc-git.el, which loads diff-mode.el, which loads > easymenu. Right. Even `C-h v' loads easymenu, so I think the conclusion here is that it's difficult to do many normal operations in Emacs without easymenu being loaded. So preloading it seems like the right thing to do -- it'll make normal Emacs usage faster (and allow us to clean up more ancient code at the same time). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 15:09 ` Lars Ingebrigtsen @ 2021-02-25 15:27 ` Eli Zaretskii 2021-02-25 15:52 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-25 15:27 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: Stephen Berman <stephen.berman@gmx.net>, Stefan Kangas > <stefan@marxist.se>, 24774@debbugs.gnu.org > Date: Thu, 25 Feb 2021 16:09:58 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > I'm guessing that Stefan did this in a Git-versioned tree, where > > visiting a file loads vc-git.el, which loads diff-mode.el, which loads > > easymenu. > > Right. Even `C-h v' loads easymenu, so I think the conclusion here is > that it's difficult to do many normal operations in Emacs without > easymenu being loaded. So preloading it seems like the right thing to > do -- it'll make normal Emacs usage faster (and allow us to clean up > more ancient code at the same time). We never followed such logic, AFAIR. Quite the contrary: we tried to delay loading as log as we could. So maybe, for example, loading diff-mode just because a VC backend loads is not TRT. More generally, I'm afraid that not keeping this stuff in check will be a slippery slope, which will quickly lead to a much fatter Emacs process. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 15:27 ` Eli Zaretskii @ 2021-02-25 15:52 ` Lars Ingebrigtsen 2021-02-25 18:18 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-25 15:52 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: > More generally, I'm afraid that not keeping this stuff in check will > be a slippery slope, which will quickly lead to a much fatter Emacs > process. Including easymenu allows for a slimmer Emacs process -- using easymenu results in smaller .elc files for the .el files that use it, I think? So I say include it in loadup. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 15:52 ` Lars Ingebrigtsen @ 2021-02-25 18:18 ` Eli Zaretskii 2021-02-25 19:20 ` Eli Zaretskii 2021-02-26 8:48 ` Lars Ingebrigtsen 0 siblings, 2 replies; 50+ messages in thread From: Eli Zaretskii @ 2021-02-25 18:18 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Thu, 25 Feb 2021 16:52:26 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > More generally, I'm afraid that not keeping this stuff in check will > > be a slippery slope, which will quickly lead to a much fatter Emacs > > process. > > Including easymenu allows for a slimmer Emacs process -- using easymenu > results in smaller .elc files for the .el files that use it, I think? > > So I say include it in loadup. Again: we never included in loadup what is not immediately loaded at startup anyway. I don't think we should start that way, so please let's not. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 18:18 ` Eli Zaretskii @ 2021-02-25 19:20 ` Eli Zaretskii 2021-02-26 8:48 ` Lars Ingebrigtsen 1 sibling, 0 replies; 50+ messages in thread From: Eli Zaretskii @ 2021-02-25 19:20 UTC (permalink / raw) To: larsi; +Cc: stephen.berman, stefan, 24774 > Date: Thu, 25 Feb 2021 20:18:37 +0200 > From: Eli Zaretskii <eliz@gnu.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > > > Including easymenu allows for a slimmer Emacs process -- using easymenu > > results in smaller .elc files for the .el files that use it, I think? > > > > So I say include it in loadup. > > Again: we never included in loadup what is not immediately loaded at > startup anyway. I don't think we should start that way, so please > let's not. Alternatively, if you think the criteria for what should and shouldn't be preloaded should change, let's see if we can come up with some reasonable modified criteria that will not let us slip that slope. What I'd like to avoid is preloading something without having a clear idea why, because then we won't be able to explain why we preload foo.el, but not bar.el or baz.el. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-25 18:18 ` Eli Zaretskii 2021-02-25 19:20 ` Eli Zaretskii @ 2021-02-26 8:48 ` Lars Ingebrigtsen 2021-02-26 12:04 ` Eli Zaretskii 1 sibling, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-26 8:48 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: >> Including easymenu allows for a slimmer Emacs process -- using easymenu >> results in smaller .elc files for the .el files that use it, I think? >> >> So I say include it in loadup. > > Again: we never included in loadup what is not immediately loaded at > startup anyway. I don't think we should start that way, so please > let's not. The suggested patch is to use easymenu in elisp-mode.el -- which is a file that's preloaded. To use it there, easymenu itself also has to be preloaded, so I'm not sure exactly what you mean here. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-26 8:48 ` Lars Ingebrigtsen @ 2021-02-26 12:04 ` Eli Zaretskii 2021-02-26 12:07 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-26 12:04 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Fri, 26 Feb 2021 09:48:15 +0100 > > > Again: we never included in loadup what is not immediately loaded at > > startup anyway. I don't think we should start that way, so please > > let's not. > > The suggested patch is to use easymenu in elisp-mode.el -- which is a > file that's preloaded. To use it there, easymenu itself also has to be > preloaded, so I'm not sure exactly what you mean here. maybe it's a reason good enough not to use easymenu in elisp-mode.el? Why do we want to do that, again? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-26 12:04 ` Eli Zaretskii @ 2021-02-26 12:07 ` Lars Ingebrigtsen 2021-02-26 12:27 ` Eli Zaretskii 2021-02-26 16:04 ` bug#24774: [External] : " Drew Adams 0 siblings, 2 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-26 12:07 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: > maybe it's a reason good enough not to use easymenu in elisp-mode.el? > Why do we want to do that, again? Because it's a better, more sensible way to define menus. (And possibly smaller .elc file, as I said.) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-26 12:07 ` Lars Ingebrigtsen @ 2021-02-26 12:27 ` Eli Zaretskii 2021-02-27 4:30 ` Lars Ingebrigtsen 2021-02-26 16:04 ` bug#24774: [External] : " Drew Adams 1 sibling, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-26 12:27 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Fri, 26 Feb 2021 13:07:34 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > maybe it's a reason good enough not to use easymenu in elisp-mode.el? > > Why do we want to do that, again? > > Because it's a better, more sensible way to define menus. But the same argument can be brought up for cl-macs.el and cl-lib.el and seq.el and map.el and pcase.el and probably several others. Where do we stop, if the criterion is "better and more sensible" (which are highly subjective judgments)? Or are you saying that memory footprint considerations are totally unimportant, and we should preload everything that might possibly be helpful? That's why I suggested to discuss and agree on the criteria first. If we don't agree on some criteria, we will have this argument many times in the future. > (And possibly smaller .elc file, as I said.) I'd like to see the actual numbers, please. And also the memory footprint before and after loading easymenu. With the current code, I see a 0.25MB increase in the VM size after I load easymenu.elc. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-26 12:27 ` Eli Zaretskii @ 2021-02-27 4:30 ` Lars Ingebrigtsen 2021-02-27 5:27 ` Lars Ingebrigtsen ` (2 more replies) 0 siblings, 3 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 4:30 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: >> Because it's a better, more sensible way to define menus. > > But the same argument can be brought up for cl-macs.el and cl-lib.el > and seq.el and map.el and pcase.el and probably several others. Yes, of course. > Where do we stop, if the criterion is "better and more sensible" > (which are highly subjective judgments)? I don't think anybody claims that the non-easymenu way of defining menus is superior? Our most important code is the one that is in the very core of Emacs, and it's a shame we don't use more of these libraries there, and instead open-code stuff badly. easymenu.el is over-ripe for preloading since it's very hard to do much in Emacs without it being pulled in anyway -- so you get no space savings in practice, but just a slower Emacs. >> (And possibly smaller .elc file, as I said.) > > I'd like to see the actual numbers, please. And also the memory > footprint before and after loading easymenu. With the current code, I > see a 0.25MB increase in the VM size after I load easymenu.elc. Pre patch: larsi@xo:~/src/emacs/trunk$ ls -l src/emacs src/emacs.pdmp lisp/progmodes/elisp-mode.elc -rw-r--r-- 1 larsi larsi 60375 Feb 27 05:09 lisp/progmodes/elisp-mode.elc -rwxr-xr-x 2 larsi larsi 32583784 Feb 27 05:10 src/emacs -rw-r--r-- 2 larsi larsi 10630544 Feb 27 05:10 src/emacs.pdmp Post patch: larsi@xo:~/src/emacs/trunk$ ls -l src/emacs src/emacs.pdmp lisp/progmodes/elisp-mode.elc -rw-r--r-- 1 larsi larsi 58798 Feb 27 05:21 lisp/progmodes/elisp-mode.elc -rwxr-xr-x 2 larsi larsi 32583784 Feb 27 05:21 src/emacs -rw-r--r-- 2 larsi larsi 10632360 Feb 27 05:21 src/emacs.pdmp (- (+ 10632360 58798) (+ 10630544 60375)) => 239 bytes. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 4:30 ` Lars Ingebrigtsen @ 2021-02-27 5:27 ` Lars Ingebrigtsen 2021-02-27 6:14 ` bug#24774: [External] : " Drew Adams 2021-02-27 7:43 ` Eli Zaretskii 2 siblings, 0 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 5:27 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Lars Ingebrigtsen <larsi@gnus.org> writes: > larsi@xo:~/src/emacs/trunk$ ls -l src/emacs src/emacs.pdmp > lisp/progmodes/elisp-mode.elc > -rw-r--r-- 1 larsi larsi 58798 Feb 27 05:21 lisp/progmodes/elisp-mode.elc > -rwxr-xr-x 2 larsi larsi 32583784 Feb 27 05:21 src/emacs > -rw-r--r-- 2 larsi larsi 10632360 Feb 27 05:21 src/emacs.pdmp > > (- (+ 10632360 58798) (+ 10630544 60375)) => 239 bytes. Err. That's counting the elisp-mode.elc size reduction twice, since it's included in the .pdmp file, I guess. So it's (- 10632360 10630544) => 1816 bytes -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: [External] : bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 4:30 ` Lars Ingebrigtsen 2021-02-27 5:27 ` Lars Ingebrigtsen @ 2021-02-27 6:14 ` Drew Adams 2021-02-27 7:43 ` Eli Zaretskii 2 siblings, 0 replies; 50+ messages in thread From: Drew Adams @ 2021-02-27 6:14 UTC (permalink / raw) To: Lars Ingebrigtsen, Eli Zaretskii Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > > Where do we stop, if the criterion is "better and more sensible" > > (which are highly subjective judgments)? > > I don't think anybody claims that the non-easymenu > way of defining menus is superior? I'm somebody, and I claimed that explicitly. And I gave reasons why I find it superior. You can ignore my posts, but that doesn't annul their arguments. You, on the other hand, haven't provided any reason for what you want to do (except "smaller .elc file"). An empty claim of "it's better" is not a great argument. > easymenu.el is over-ripe for preloading since it's very hard to do much > in Emacs without it being pulled in anyway -- so you get no space > savings in practice, but just a slower Emacs. How is it "very hard to do much in Emacs" without pulling in easymenu? It's easymenu that's redundant, not "the non-easymenu way". Your claim that easymenu is a "better, more sensible way to define menus", and your claims that everything that can be done the "non-easymenu way" can be done with easymenu (and better and more sensibly), call out for replacing the non-easymenu way altogether. Are you arguing in favor of that? If not, why not? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 4:30 ` Lars Ingebrigtsen 2021-02-27 5:27 ` Lars Ingebrigtsen 2021-02-27 6:14 ` bug#24774: [External] : " Drew Adams @ 2021-02-27 7:43 ` Eli Zaretskii 2021-02-27 11:50 ` Lars Ingebrigtsen 2 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-27 7:43 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Sat, 27 Feb 2021 05:30:39 +0100 > > > But the same argument can be brought up for cl-macs.el and cl-lib.el > > and seq.el and map.el and pcase.el and probably several others. > > Yes, of course. > > > Where do we stop, if the criterion is "better and more sensible" > > (which are highly subjective judgments)? > > I don't think anybody claims that the non-easymenu way of defining menus > is superior? It isn't a catastrophe, IMO, not even close. Non-easymenu: (bindings--define-key prof-map [prof-natprof-stop] '(menu-item "Stop Native Profiler" profiler-stop :help "Stop recording profiling information" :enable (and (featurep 'profiler) (profiler-running-p)))) With easymenu: ["Show trailing whitespace" whitespace-mode :style toggle :selected (bound-and-true-p whitespace-mode) :help "Show trailing whitespace in modified lines"] There's some boilerplate in the former, but it isn't unreadable, and writing it is just a bunch of C-y's in addition to the actual content, which must be typed in both cases. It isn't superior, but is it so awfully inferior? I don't think so. > Our most important code is the one that is in the very core of Emacs, > and it's a shame we don't use more of these libraries there, and instead > open-code stuff badly. I disagree with "shame" and "badly". Next we will see similar arguments about all the other packages mentioned above. Again, I think we should agree on some criteria, because otherwise we will not be able to reconcile subjective opinions about stylistic issues. > > I'd like to see the actual numbers, please. And also the memory > > footprint before and after loading easymenu. With the current code, I > > see a 0.25MB increase in the VM size after I load easymenu.elc. > > Pre patch: > > larsi@xo:~/src/emacs/trunk$ ls -l src/emacs src/emacs.pdmp lisp/progmodes/elisp-mode.elc > -rw-r--r-- 1 larsi larsi 60375 Feb 27 05:09 lisp/progmodes/elisp-mode.elc > -rwxr-xr-x 2 larsi larsi 32583784 Feb 27 05:10 src/emacs > -rw-r--r-- 2 larsi larsi 10630544 Feb 27 05:10 src/emacs.pdmp > > Post patch: > > larsi@xo:~/src/emacs/trunk$ ls -l src/emacs src/emacs.pdmp lisp/progmodes/elisp-mode.elc > -rw-r--r-- 1 larsi larsi 58798 Feb 27 05:21 lisp/progmodes/elisp-mode.elc > -rwxr-xr-x 2 larsi larsi 32583784 Feb 27 05:21 src/emacs > -rw-r--r-- 2 larsi larsi 10632360 Feb 27 05:21 src/emacs.pdmp > > (- (+ 10632360 58798) (+ 10630544 60375)) => 239 bytes. Thanks, but I meant the runtime memory footprint, not the size on disk (which IMO is of no importance, as long as small savings are being discussed). ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 7:43 ` Eli Zaretskii @ 2021-02-27 11:50 ` Lars Ingebrigtsen 2021-02-27 12:56 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 11:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: > Thanks, but I meant the runtime memory footprint, not the size on disk > (which IMO is of no importance, as long as small savings are being > discussed). Without patch: larsi 958039 11.5 0.3 355040 61504 pts/0 Sl 12:47 0:00 ./src/emacs -Q larsi 958573 12.0 0.3 355036 61440 pts/0 Sl 12:48 0:00 ./src/emacs -Q larsi 958833 11.5 0.3 355036 61364 pts/0 Sl 12:48 0:00 ./src/emacs -Q With patch: larsi 959730 11.5 0.3 354940 61560 pts/0 Sl 12:48 0:00 ./src/emacs -Q larsi 959992 11.5 0.3 354940 61132 pts/0 Sl 12:48 0:00 ./src/emacs -Q larsi 960242 11.5 0.3 355012 61704 pts/0 Sl 12:48 0:00 ./src/emacs -Q Tested with bash -c "./src/emacs -Q&" ; sleep 2; ps auxwww | grep "[.]/src/emacs" -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 11:50 ` Lars Ingebrigtsen @ 2021-02-27 12:56 ` Eli Zaretskii 2021-02-27 13:25 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-27 12:56 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Sat, 27 Feb 2021 12:50:59 +0100 > > Without patch: > > larsi 958039 11.5 0.3 355040 61504 pts/0 Sl 12:47 0:00 ./src/emacs -Q > larsi 958573 12.0 0.3 355036 61440 pts/0 Sl 12:48 0:00 ./src/emacs -Q > larsi 958833 11.5 0.3 355036 61364 pts/0 Sl 12:48 0:00 ./src/emacs -Q > > With patch: > > larsi 959730 11.5 0.3 354940 61560 pts/0 Sl 12:48 0:00 ./src/emacs -Q > larsi 959992 11.5 0.3 354940 61132 pts/0 Sl 12:48 0:00 ./src/emacs -Q > larsi 960242 11.5 0.3 355012 61704 pts/0 Sl 12:48 0:00 ./src/emacs -Q > > > Tested with > > bash -c "./src/emacs -Q&" ; sleep 2; ps auxwww | grep "[.]/src/emacs" Sounds inconsistent? Do you understand why? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 12:56 ` Eli Zaretskii @ 2021-02-27 13:25 ` Lars Ingebrigtsen 2021-02-27 13:32 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 13:25 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: > Sounds inconsistent? Do you understand why? Nope -- Emacs is of different size every time I start it. Address randomisation leading to different malloc/free/return-to-OS patterns? Anyway, there's no noticeable difference in mean size with or without the patch in these runs, apparently. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 13:25 ` Lars Ingebrigtsen @ 2021-02-27 13:32 ` Eli Zaretskii 2021-02-27 13:49 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-27 13:32 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Sat, 27 Feb 2021 14:25:10 +0100 > > Eli Zaretskii <eliz@gnu.org> writes: > > > Sounds inconsistent? Do you understand why? > > Nope -- Emacs is of different size every time I start it. Address > randomisation leading to different malloc/free/return-to-OS patterns? I'm not talking about the initial size, I'm talking about the difference between the RSS of the two variants: it is sometimes positive and sometimes negative. > Anyway, there's no noticeable difference in mean size with or without > the patch in these runs, apparently. Yes, I think so. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 13:32 ` Eli Zaretskii @ 2021-02-27 13:49 ` Lars Ingebrigtsen 2021-02-27 13:58 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 13:49 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: >> Nope -- Emacs is of different size every time I start it. Address >> randomisation leading to different malloc/free/return-to-OS patterns? > > I'm not talking about the initial size, I'm talking about the > difference between the RSS of the two variants: it is sometimes > positive and sometimes negative. I'm not sure I understand you here -- there's no initial size in the ps output, only virtual size and resident set size? I don't get the "sometimes positive and sometimes" negative either -- there were three runs of Emacsen started (with and without the patch), and both numbers varied in all instances. >> Anyway, there's no noticeable difference in mean size with or without >> the patch in these runs, apparently. > > Yes, I think so. The mean RSS sizes were 61436 and 61465, which is not a noticeable difference. But I may be misunderstanding what you mean here either. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 13:49 ` Lars Ingebrigtsen @ 2021-02-27 13:58 ` Eli Zaretskii 2021-02-27 14:24 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-27 13:58 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: stephen.berman, stefan, 24774 > From: Lars Ingebrigtsen <larsi@gnus.org> > Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > Date: Sat, 27 Feb 2021 14:49:14 +0100 > > The mean RSS sizes were 61436 and 61465, which is not a noticeable > difference. I'm not sure the average is representative here, given the variance. But anyway, the difference is too small to invest any more energy into this aspect. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-27 13:58 ` Eli Zaretskii @ 2021-02-27 14:24 ` Lars Ingebrigtsen 0 siblings, 0 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 14:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: stephen.berman, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: > I'm not sure the average is representative here, given the variance. > But anyway, the difference is too small to invest any more energy into > this aspect. OK; applying and pushing Stefan's patch, then. And then somebody could take a look at actually implementing the stuff this bug report is really about. :-) -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: [External] : bug#24774: 26.0.50; Menu display navigation commands 2021-02-26 12:07 ` Lars Ingebrigtsen 2021-02-26 12:27 ` Eli Zaretskii @ 2021-02-26 16:04 ` Drew Adams 1 sibling, 0 replies; 50+ messages in thread From: Drew Adams @ 2021-02-26 16:04 UTC (permalink / raw) To: Lars Ingebrigtsen, Eli Zaretskii Cc: stephen.berman@gmx.net, stefan@marxist.se, 24774@debbugs.gnu.org > > maybe it's a reason good enough not to use easymenu in elisp-mode.el? > > Why do we want to do that, again? > > Because it's a better, more sensible way to define menus. If that were true then it would be an argument for getting rid of extended menu items and defining menus using define-key altogether. Are you arguing for that also? If not, why not? IOW, how about a "better" - meaning more refined or precise - reason for what you want to do? "It's better" is not what I'd call a great argument. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:16 ` Eli Zaretskii 2021-02-23 16:37 ` Stefan Kangas @ 2021-02-23 16:50 ` Basil L. Contovounesios 2021-02-23 17:10 ` Eli Zaretskii 1 sibling, 1 reply; 50+ messages in thread From: Basil L. Contovounesios @ 2021-02-23 16:50 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Lars Ingebrigtsen, stefan, 24774 Eli Zaretskii <eliz@gnu.org> writes: >> From: Lars Ingebrigtsen <larsi@gnus.org> >> Cc: Stefan Kangas <stefan@marxist.se>, 24774@debbugs.gnu.org >> Date: Tue, 23 Feb 2021 17:02:51 +0100 >> >> emacs -Q >> (featurep 'easymenu) >> => t > > I get nil here, in Emacs 28. Both on MS-Windows and on GNU/Linux in > "emacs -Q -nw". I get nil too with C-j, C-x C-e, and M-:, and regardless of '-nw'. > Maybe it's system-dependent? What Emacs configuration is the one > where you get the above? -- Basil In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2021-02-23 built on tia Repository revision: 228fd92fb389eeaf2ec0bbca51da0569fce28ee7 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12010000 System Description: Debian GNU/Linux bullseye/sid Configured using: 'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache --prefix=/home/blc/.local --enable-checking=structs --with-x-toolkit=lucid --with-file-notification=yes --with-x' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XAW3D XDBE XIM XPM LUCID ZLIB Important settings: value of $LANG: en_IE.UTF-8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Lisp Interaction Minor modes in effect: tooltip-mode: t global-eldoc-mode: t eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t tool-bar-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: None found. Features: (shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs rfc822 mml easymenu mml-sec epa derived epg epg-config gnus-util rmail rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json map text-property-search time-date subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify lcms2 dynamic-setting system-font-setting font-render-setting cairo x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 50707 5750) (symbols 48 6596 1) (strings 32 18891 1693) (string-bytes 1 608073) (vectors 16 12103) (vector-slots 8 165037 8809) (floats 8 23 41) (intervals 56 229 0) (buffers 992 10)) ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 16:50 ` Basil L. Contovounesios @ 2021-02-23 17:10 ` Eli Zaretskii 2021-02-23 17:24 ` Gregory Heytings 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-23 17:10 UTC (permalink / raw) To: Basil L. Contovounesios; +Cc: larsi, stefan, 24774 > From: "Basil L. Contovounesios" <contovob@tcd.ie> > Cc: Lars Ingebrigtsen <larsi@gnus.org>, stefan@marxist.se, > 24774@debbugs.gnu.org > Date: Tue, 23 Feb 2021 16:50:53 +0000 > > I get nil too with C-j, C-x C-e, and M-:, and regardless of '-nw'. > > > Maybe it's system-dependent? What Emacs configuration is the one > > where you get the above? > > -- > Basil > > In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) > of 2021-02-23 built on tia So maybe this is specific to GTK builds? ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 17:10 ` Eli Zaretskii @ 2021-02-23 17:24 ` Gregory Heytings 2021-02-23 17:37 ` Eli Zaretskii 0 siblings, 1 reply; 50+ messages in thread From: Gregory Heytings @ 2021-02-23 17:24 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 24774 >> I get nil too with C-j, C-x C-e, and M-:, and regardless of '-nw'. >> >>> Maybe it's system-dependent? What Emacs configuration is the one >>> where you get the above? >> >> In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars) of 2021-02-23 built on tia > > So maybe this is specific to GTK builds? > I just tried on several GTK builds (of Emacs 26, 27 and 28) and they all return nil. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 17:24 ` Gregory Heytings @ 2021-02-23 17:37 ` Eli Zaretskii 2021-02-24 15:12 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Eli Zaretskii @ 2021-02-23 17:37 UTC (permalink / raw) To: Gregory Heytings; +Cc: 24774 > Date: Tue, 23 Feb 2021 17:24:38 +0000 > From: Gregory Heytings <gregory@heytings.org> > cc: 24774@debbugs.gnu.org > > > So maybe this is specific to GTK builds? > > > > I just tried on several GTK builds (of Emacs 26, 27 and 28) and they all > return nil. Thanks for testing. So, Lars and Stefan: what is your secret? We are all dying to know. ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-23 17:37 ` Eli Zaretskii @ 2021-02-24 15:12 ` Lars Ingebrigtsen 2021-02-24 16:01 ` Stephen Berman 0 siblings, 1 reply; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-24 15:12 UTC (permalink / raw) To: Eli Zaretskii; +Cc: Gregory Heytings, 24774 Eli Zaretskii <eliz@gnu.org> writes: > So, Lars and Stefan: what is your secret? We are all dying to know. This is really weird -- I'm also getting (featurep 'easymenu) => nil now on "emacs -Q". Hm. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-24 15:12 ` Lars Ingebrigtsen @ 2021-02-24 16:01 ` Stephen Berman 2021-02-24 16:06 ` Lars Ingebrigtsen 0 siblings, 1 reply; 50+ messages in thread From: Stephen Berman @ 2021-02-24 16:01 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Gregory Heytings, 24774 On Wed, 24 Feb 2021 16:12:22 +0100 Lars Ingebrigtsen <larsi@gnus.org> wrote: > Eli Zaretskii <eliz@gnu.org> writes: > >> So, Lars and Stefan: what is your secret? We are all dying to know. > > This is really weird -- I'm also getting (featurep 'easymenu) => nil now > on "emacs -Q". > > Hm. When you got t previously, could you have done `C-h v features' before testing featurep? help-mode loads easymenu.el. Steve Berman ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2021-02-24 16:01 ` Stephen Berman @ 2021-02-24 16:06 ` Lars Ingebrigtsen 0 siblings, 0 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-24 16:06 UTC (permalink / raw) To: Stephen Berman; +Cc: Gregory Heytings, 24774 Stephen Berman <stephen.berman@gmx.net> writes: > When you got t previously, could you have done `C-h v features' before > testing featurep? help-mode loads easymenu.el. Aha! Just doing `C-h v TAB' loads easymenu. So I must have done that (or something similar) on my way to `M-: (featurep 'easymenu)' -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
* bug#24774: 26.0.50; Menu display navigation commands 2019-07-30 7:54 ` Andreas Röhler 2019-07-30 10:25 ` Lars Ingebrigtsen @ 2021-02-27 14:58 ` Lars Ingebrigtsen 1 sibling, 0 replies; 50+ messages in thread From: Lars Ingebrigtsen @ 2021-02-27 14:58 UTC (permalink / raw) To: Andreas Röhler; +Cc: 24774 Andreas Röhler <andreas.roehler@easy-emacs.de> writes: >>> think it would be a gain if Emacs-lisp menu displays navigation commands. >> What kind of navigation commands? >> > > Stuff like beginning-of-defun, up-list, forward-sexp OK; added to Emacs 28 now. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 50+ messages in thread
end of thread, other threads:[~2021-02-27 14:58 UTC | newest] Thread overview: 50+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-10-23 16:28 bug#24774: 26.0.50; Menu display navigation commands Andreas Röhler 2019-07-27 13:18 ` Lars Ingebrigtsen 2019-07-30 7:54 ` Andreas Röhler 2019-07-30 10:25 ` Lars Ingebrigtsen 2020-11-18 15:34 ` Stefan Kangas 2020-11-18 21:09 ` Lars Ingebrigtsen 2020-11-18 22:01 ` Drew Adams 2020-11-18 22:16 ` Stefan Kangas 2020-11-18 23:16 ` Drew Adams 2020-11-19 1:10 ` Stefan Kangas 2021-02-23 15:19 ` Stefan Kangas 2021-02-23 15:29 ` Lars Ingebrigtsen 2021-02-23 15:57 ` Eli Zaretskii 2021-02-23 16:02 ` Lars Ingebrigtsen 2021-02-23 16:14 ` Lars Ingebrigtsen 2021-02-23 16:16 ` Eli Zaretskii 2021-02-23 16:37 ` Stefan Kangas 2021-02-23 16:44 ` Eli Zaretskii 2021-02-25 1:25 ` Stefan Kangas 2021-02-25 9:04 ` Stephen Berman 2021-02-25 9:24 ` Eli Zaretskii 2021-02-25 15:09 ` Lars Ingebrigtsen 2021-02-25 15:27 ` Eli Zaretskii 2021-02-25 15:52 ` Lars Ingebrigtsen 2021-02-25 18:18 ` Eli Zaretskii 2021-02-25 19:20 ` Eli Zaretskii 2021-02-26 8:48 ` Lars Ingebrigtsen 2021-02-26 12:04 ` Eli Zaretskii 2021-02-26 12:07 ` Lars Ingebrigtsen 2021-02-26 12:27 ` Eli Zaretskii 2021-02-27 4:30 ` Lars Ingebrigtsen 2021-02-27 5:27 ` Lars Ingebrigtsen 2021-02-27 6:14 ` bug#24774: [External] : " Drew Adams 2021-02-27 7:43 ` Eli Zaretskii 2021-02-27 11:50 ` Lars Ingebrigtsen 2021-02-27 12:56 ` Eli Zaretskii 2021-02-27 13:25 ` Lars Ingebrigtsen 2021-02-27 13:32 ` Eli Zaretskii 2021-02-27 13:49 ` Lars Ingebrigtsen 2021-02-27 13:58 ` Eli Zaretskii 2021-02-27 14:24 ` Lars Ingebrigtsen 2021-02-26 16:04 ` bug#24774: [External] : " Drew Adams 2021-02-23 16:50 ` Basil L. Contovounesios 2021-02-23 17:10 ` Eli Zaretskii 2021-02-23 17:24 ` Gregory Heytings 2021-02-23 17:37 ` Eli Zaretskii 2021-02-24 15:12 ` Lars Ingebrigtsen 2021-02-24 16:01 ` Stephen Berman 2021-02-24 16:06 ` Lars Ingebrigtsen 2021-02-27 14:58 ` Lars Ingebrigtsen
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).