Package: emacs;
Reported by: Sean Devlin <spd <at> toadstyle.org>
Date: Fri, 1 Aug 2025 22:17:02 UTC
Severity: normal
Tags: patch
View this message in rfc822 format
From: Sean Devlin <spd <at> toadstyle.org> To: Eli Zaretskii <eliz <at> gnu.org> Cc: Christopher Howard <christopher <at> librehacker.com>, 79143 <at> debbugs.gnu.org Subject: bug#79143: [PATCH] New user option to inhibit Calc startup message Date: Sat, 2 Aug 2025 09:51:08 -0500
[Message part 1 (text/plain, inline)]
> On Aug 2, 2025, at 1:33 AM, Eli Zaretskii <eliz <at> gnu.org> wrote: > >> From: Sean Devlin <spd <at> toadstyle.org> >> Date: Fri, 1 Aug 2025 17:15:36 -0500 >> >> This is a patch adding a new user option to suppress Calc’s startup >> message. >> >> By default, Calc prints a message like this during startup: >> >> "Welcome to the GNU Emacs Calculator! Press ? or M-x calc-help-prefix >> for help, q to quit" >> >> I find this a bit distracting, so I’d like to be able to silence it. The >> attached patch adds an option to allow this along with a small test >> harness and documentation in the NEWS file. >> >> Please let me know if any changes are needed to the patch. > > Thanks. > > Christopher, any comments? (I hope you don't mind being involved in > maintenance of Calc by way of reviewing patches of others.) > >> From 1ad1f17b6c9326ffc009c6de5c5f2b9929014f52 Mon Sep 17 00:00:00 2001 >> From: Sean Devlin <spd <at> toadstyle.org> >> Date: Fri, 1 Aug 2025 17:05:48 -0500 >> Subject: [PATCH] New user option to inhibit Calc startup message >> MIME-Version: 1.0 >> Content-Type: text/plain; charset=UTF-8 >> Content-Transfer-Encoding: 8bit >> >> * etc/NEWS: Document the new option. >> * lisp/calc/calc.el (calc-inhibit-startup-message): New option to >> inhibit Calc’s startup message. >> (calc): Respect the option in Calc’s startup code. >> * test/lisp/calc/calc-tests.el (ert): Require ert-x for >> 'ert-with-message-capture'. >> (calc-inhibit-startup-message): Test the new user option. > > Should this new option be in the Calc manual as well? If you agree > and send an updated patch for that, then please (a) mention the bug > number in the commit log message, and (b) mark the NEWS entry as > "+++", to indicate that the relevant manuals have been updated. Hi Eli, I’ve taken a stab at this. Please see the attached patch, and let me know if the language or formatting need any revision. Thanks!
[0001-Add-user-option-to-inhibit-Calc-startup-message.patch (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
> >> --- >> etc/NEWS | 4 ++++ >> lisp/calc/calc.el | 21 ++++++++++++++------- >> test/lisp/calc/calc-tests.el | 15 +++++++++++++++ >> 3 files changed, 33 insertions(+), 7 deletions(-) >> >> diff --git a/etc/NEWS b/etc/NEWS >> index f4e64c0851f..aa1936fe7fc 100644 >> --- a/etc/NEWS >> +++ b/etc/NEWS >> @@ -2305,6 +2305,10 @@ Latin-1 range 0-255. This hard-coded maximum is replaced by >> the display of matching vectors as Unicode strings. The default value >> is 0xFF or 255 to preserve the existing behavior. >> >> +*** New user option 'calc-inhibit-startup-message'. >> +If it is non-nil, inhibit Calc from printing its startup message. The >> +default value is nil to preserve the existing behavior. >> + >> ** Time >> >> *** New user option 'world-clock-sort-order'. >> diff --git a/lisp/calc/calc.el b/lisp/calc/calc.el >> index a350419b320..d4fb8776c6c 100644 >> --- a/lisp/calc/calc.el >> +++ b/lisp/calc/calc.el >> @@ -1473,6 +1473,11 @@ calc-create-buffer >> (require 'calc-ext) >> (calc-set-language calc-language calc-language-option t))) >> >> +(defcustom calc-inhibit-startup-message nil >> + "If non-nil, inhibit the Calc startup message." >> + :version "31.1" >> + :type 'boolean) >> + >> (defcustom calc-make-windows-dedicated nil >> "If non-nil, windows displaying Calc buffers will be marked dedicated. >> See `window-dedicated-p' for what that means." >> @@ -1524,9 +1529,10 @@ calc >> (with-current-buffer (calc-trail-buffer) >> (and calc-display-trail >> (calc-trail-display 1 t))) >> - (message (substitute-command-keys >> - (concat "Welcome to the GNU Emacs Calculator! \\<calc-mode-map>" >> - "Press \\[calc-help] or \\[calc-help-prefix] for help, \\[calc-quit] to quit"))) >> + (unless calc-inhibit-startup-message >> + (message (substitute-command-keys >> + (concat "Welcome to the GNU Emacs Calculator! \\<calc-mode-map>" >> + "Press \\[calc-help] or \\[calc-help-prefix] for help, \\[calc-quit] to quit")))) >> (run-hooks 'calc-start-hook) >> (and (windowp full-display) >> (window-point full-display) >> @@ -1534,10 +1540,11 @@ calc >> (and calc-make-windows-dedicated >> (set-window-dedicated-p nil t)) >> (calc-check-defines) >> - (when (and calc-said-hello interactive) >> - (sit-for 2) >> - (message "")) >> - (setq calc-said-hello t))))) >> + (unless calc-inhibit-startup-message >> + (when (and calc-said-hello interactive) >> + (sit-for 2) >> + (message "")) >> + (setq calc-said-hello t)))))) >> >> ;;;###autoload >> (defun full-calc (&optional interactive) >> diff --git a/test/lisp/calc/calc-tests.el b/test/lisp/calc/calc-tests.el >> index 2fd6a6be45e..49762e146a5 100644 >> --- a/test/lisp/calc/calc-tests.el >> +++ b/test/lisp/calc/calc-tests.el >> @@ -26,6 +26,7 @@ >> >> (require 'cl-lib) >> (require 'ert) >> +(require 'ert-x) >> (require 'calc) >> (require 'calc-ext) >> (require 'calc-units) >> @@ -946,5 +947,19 @@ calc-math-vector-is-string >> (should-error (math-vector-is-string cplx-vec) >> :type 'wrong-type-argument)))) >> >> +(ert-deftest calc-inhibit-startup-message () >> + "Test user option `calc-inhibit-startup-message'." >> + (let ((welcome-message "Welcome to the GNU Emacs Calculator!")) >> + (ert-with-message-capture messages >> + (let ((calc-inhibit-startup-message t)) >> + (calc)) >> + (should-not (string-match-p welcome-message messages)) >> + (calc-quit)) >> + (ert-with-message-capture messages >> + (let ((calc-inhibit-startup-message nil)) >> + (calc)) >> + (should (string-match-p welcome-message messages)) >> + (calc-quit)))) >> + >> (provide 'calc-tests) >> ;;; calc-tests.el ends here >> -- >> 2.39.5 (Apple Git-154) >>
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.