* On the new startup and scratch buffer @ 2008-02-13 16:24 Angelo Graziosi 2008-02-13 17:56 ` Jonathan Rockway 0 siblings, 1 reply; 25+ messages in thread From: Angelo Graziosi @ 2008-02-13 16:24 UTC (permalink / raw) To: emacs-devel Today, after a bootstrap of fresh CVS, I observe that the startup buffer is not loaded any more and the scratch buffer is *completely* empty. Usually the scratch buffer contains (in red) this sentence: ============================================================ ;; This buffer is for notes you don't want to save, and for Lisp evaluation. ;; If you want to create a file, visit that file with C-x C-f, ;; then enter the text in that file's own buffer. ============================================================ Is this the correct behaviour? The behaviour of the startup screen is confirmed by this ----------------------------------------------------------------- lisp/ChangeLog [...] * desktop.el (after-init-hook): Set inhibit-startup-screen to t after reading the desktop. ----------------------------------------------------------------- but I cannot find any reference to the new behaviour of scratch buffer. Cheers, Angelo. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-13 16:24 On the new startup and scratch buffer Angelo Graziosi @ 2008-02-13 17:56 ` Jonathan Rockway 2008-02-13 18:08 ` Angelo Graziosi 0 siblings, 1 reply; 25+ messages in thread From: Jonathan Rockway @ 2008-02-13 17:56 UTC (permalink / raw) To: Angelo Graziosi; +Cc: emacs-devel * On Wed, Feb 13 2008, Angelo Graziosi wrote: > Today, after a bootstrap of fresh CVS, I observe that the startup > buffer is not loaded any more and the scratch buffer is *completely* > empty. > > > Usually the scratch buffer contains (in red) this sentence: > > ============================================================ > ;; This buffer is for notes you don't want to save, and for Lisp evaluation. > ;; If you want to create a file, visit that file with C-x C-f, > ;; then enter the text in that file's own buffer. > ============================================================ > > Is this the correct behaviour? > > The behaviour of the startup screen is confirmed by this > > ----------------------------------------------------------------- > lisp/ChangeLog > [...] > * desktop.el (after-init-hook): Set inhibit-startup-screen to > t after reading the desktop. > ----------------------------------------------------------------- According to the docstring on `initial-scratch-message': "Initial message displayed in *scratch* buffer at startup. If this is nil, no message will be displayed. If `inhibit-startup-screen' is non-nil, then no message is displayed, regardless of the value of this variable." So it looks like this is expected, although annoying. This just looks like a side effect of having this block: (and initial-scratch-message (get-buffer "*scratch*") (with-current-buffer "*scratch*" (when (zerop (buffer-size)) (insert initial-scratch-message) (set-buffer-modified-p nil)))) On the "else" side of the (if (or ... inhibit-startup-screen ...) ...) statement. If people are interested in a change to this behavior (always add text to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. Regards, Jonathan Rockway ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-13 17:56 ` Jonathan Rockway @ 2008-02-13 18:08 ` Angelo Graziosi 2008-02-13 22:45 ` Juri Linkov 2008-02-21 16:27 ` Sascha Wilde 0 siblings, 2 replies; 25+ messages in thread From: Angelo Graziosi @ 2008-02-13 18:08 UTC (permalink / raw) To: Jonathan Rockway; +Cc: emacs-devel Jonathan Rockway ha scritto: > * On Wed, Feb 13 2008, Angelo Graziosi wrote: >> Today, after a bootstrap of fresh CVS, I observe that the startup >> buffer is not loaded any more and the scratch buffer is *completely* >> empty. >> >> >> Usually the scratch buffer contains (in red) this sentence: >> >> ============================================================ >> ;; This buffer is for notes you don't want to save, and for Lisp evaluation. >> ;; If you want to create a file, visit that file with C-x C-f, >> ;; then enter the text in that file's own buffer. >> ============================================================ >> >> Is this the correct behaviour? >> >> The behaviour of the startup screen is confirmed by this >> >> ----------------------------------------------------------------- >> lisp/ChangeLog >> [...] >> * desktop.el (after-init-hook): Set inhibit-startup-screen to >> t after reading the desktop. >> ----------------------------------------------------------------- > > According to the docstring on `initial-scratch-message': > > "Initial message displayed in *scratch* buffer at startup. > If this is nil, no message will be displayed. > If `inhibit-startup-screen' is non-nil, then no message is displayed, > regardless of the value of this variable." > > So it looks like this is expected, although annoying. This just looks > like a side effect of having this block: > > (and initial-scratch-message > (get-buffer "*scratch*") > (with-current-buffer "*scratch*" > (when (zerop (buffer-size)) > (insert initial-scratch-message) > (set-buffer-modified-p nil)))) > > On the "else" side of the (if (or ... inhibit-startup-screen ...) ...) > statement. > > If people are interested in a change to this behavior (always add text > to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. > I think it would be a good thing, so I vote for it: +1. Thanks, Angelo. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-13 18:08 ` Angelo Graziosi @ 2008-02-13 22:45 ` Juri Linkov 2008-02-14 1:37 ` Stefan Monnier 2008-02-21 16:27 ` Sascha Wilde 1 sibling, 1 reply; 25+ messages in thread From: Juri Linkov @ 2008-02-13 22:45 UTC (permalink / raw) To: Angelo Graziosi; +Cc: Jonathan Rockway, emacs-devel >> If people are interested in a change to this behavior (always add text >> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. > > I think it would be a good thing, so I vote for it: +1. I agree that `inhibit-startup-screen' is irrelevant to adding the text from `initial-scratch-message' to the *scratch* buffer. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-13 22:45 ` Juri Linkov @ 2008-02-14 1:37 ` Stefan Monnier 2008-02-14 4:18 ` [patch] " Jonathan Rockway 0 siblings, 1 reply; 25+ messages in thread From: Stefan Monnier @ 2008-02-14 1:37 UTC (permalink / raw) To: Juri Linkov; +Cc: emacs-devel, Jonathan Rockway, Angelo Graziosi >>> If people are interested in a change to this behavior (always add text >>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >> >> I think it would be a good thing, so I vote for it: +1. > I agree that `inhibit-startup-screen' is irrelevant to adding the > text from `initial-scratch-message' to the *scratch* buffer. +1 Stefan ^ permalink raw reply [flat|nested] 25+ messages in thread
* [patch] Re: On the new startup and scratch buffer 2008-02-14 1:37 ` Stefan Monnier @ 2008-02-14 4:18 ` Jonathan Rockway 0 siblings, 0 replies; 25+ messages in thread From: Jonathan Rockway @ 2008-02-14 4:18 UTC (permalink / raw) To: Stefan Monnier; +Cc: Juri Linkov, emacs-devel, Angelo Graziosi [-- Attachment #1: Type: text/plain, Size: 613 bytes --] >>>> If people are interested in a change to this behavior (always add text >>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >>> >>> I think it would be a good thing, so I vote for it: +1. > >> I agree that `inhibit-startup-screen' is irrelevant to adding the >> text from `initial-scratch-message' to the *scratch* buffer. > > +1 Hi, the patch for this is attached. I'm not sure if `emacs-quick-startup' should affect insertion of the message or not (it did before) -- this patch will always insert the message if `initial-scratch-message' is non-nil. Regards, Jonathan Rockway [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: show initial-scratch-message in *scratch* even if inhibit-startup-screen is non-nil --] [-- Type: text/x-diff, Size: 2093 bytes --] Index: lisp/startup.el =================================================================== RCS file: /sources/emacs/emacs/lisp/startup.el,v retrieving revision 1.477 diff -C 2 -r1.477 startup.el *** lisp/startup.el 12 Feb 2008 23:41:08 -0000 1.477 --- lisp/startup.el 14 Feb 2008 04:08:15 -0000 *************** *** 57,61 **** (defcustom inhibit-startup-screen nil "Non-nil inhibits the startup screen. - It also inhibits display of the initial message in the `*scratch*' buffer. This is for use in your personal init file (but NOT site-start.el), once --- 57,60 ---- *************** *** 1151,1157 **** ") "Initial message displayed in *scratch* buffer at startup. ! If this is nil, no message will be displayed. ! If `inhibit-startup-screen' is non-nil, then no message is displayed, ! regardless of the value of this variable." :type '(choice (text :tag "Message") (const :tag "none" nil)) --- 1150,1154 ---- ") "Initial message displayed in *scratch* buffer at startup. ! If this is nil, no message will be displayed." :type '(choice (text :tag "Message") (const :tag "none" nil)) *************** *** 2181,2184 **** --- 2178,2189 ---- (find-file initial-buffer-choice)))) + ;; If *scratch* exists and is empty, insert initial-scratch-message. + (and initial-scratch-message + (get-buffer "*scratch*") + (with-current-buffer "*scratch*" + (when (zerop (buffer-size)) + (insert initial-scratch-message) + (set-buffer-modified-p nil)))) + (if (or inhibit-startup-screen initial-buffer-choice *************** *** 2226,2237 **** ;; (setq menubar-bindings-done t)) - ;; If *scratch* exists and is empty, insert initial-scratch-message. - (and initial-scratch-message - (get-buffer "*scratch*") - (with-current-buffer "*scratch*" - (when (zerop (buffer-size)) - (insert initial-scratch-message) - (set-buffer-modified-p nil)))) - (if (> file-count 0) (display-startup-screen t) --- 2231,2234 ---- ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-13 18:08 ` Angelo Graziosi 2008-02-13 22:45 ` Juri Linkov @ 2008-02-21 16:27 ` Sascha Wilde 2008-02-21 17:04 ` Jonathan Rockway 1 sibling, 1 reply; 25+ messages in thread From: Sascha Wilde @ 2008-02-21 16:27 UTC (permalink / raw) To: Angelo Graziosi; +Cc: Jonathan Rockway, emacs-devel Angelo Graziosi <angelo.graziosi@alice.it> wrote: > Jonathan Rockway ha scritto: [...] >> According to the docstring on `initial-scratch-message': >> >> "Initial message displayed in *scratch* buffer at startup. >> If this is nil, no message will be displayed. >> If `inhibit-startup-screen' is non-nil, then no message is displayed, >> regardless of the value of this variable." >> >> So it looks like this is expected, although annoying. This just looks >> like a side effect of having this block: >> >> (and initial-scratch-message >> (get-buffer "*scratch*") >> (with-current-buffer "*scratch*" >> (when (zerop (buffer-size)) >> (insert initial-scratch-message) >> (set-buffer-modified-p nil)))) >> >> On the "else" side of the (if (or ... inhibit-startup-screen ...) ...) >> statement. >> >> If people are interested in a change to this behavior (always add text >> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >> > > I think it would be a good thing, so I vote for it: +1. AOL: +1 As initial-scratch-message is sufficient to disable the *scratch* message in case one wants to, inhibit-startup-screen shouldn't do so. cheers sascha -- Sascha Wilde I've always figured UNIX is a utility to be run under emacs. -- Charles R. Martin ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-21 16:27 ` Sascha Wilde @ 2008-02-21 17:04 ` Jonathan Rockway 2008-02-21 23:11 ` Angelo Graziosi 2008-02-28 23:00 ` Juri Linkov 0 siblings, 2 replies; 25+ messages in thread From: Jonathan Rockway @ 2008-02-21 17:04 UTC (permalink / raw) To: Sascha Wilde; +Cc: emacs-devel, Angelo Graziosi * On Thu, Feb 21 2008, Sascha Wilde wrote: > Angelo Graziosi <angelo.graziosi@alice.it> wrote: >> Jonathan Rockway ha scritto: >>> >>> If people are interested in a change to this behavior (always add text >>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >>> >> >> I think it would be a good thing, so I vote for it: +1. > > AOL: +1 I posted the patch a week or so ago, but haven't heard anything yet. Please try it out and let me know if anything needs to be changed. http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01136.html Regards, Jonathan Rockway ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-21 17:04 ` Jonathan Rockway @ 2008-02-21 23:11 ` Angelo Graziosi 2008-02-28 23:00 ` Juri Linkov 1 sibling, 0 replies; 25+ messages in thread From: Angelo Graziosi @ 2008-02-21 23:11 UTC (permalink / raw) To: Jonathan Rockway; +Cc: Sascha Wilde, emacs-devel Jonathan Rockway ha scritto: > * On Thu, Feb 21 2008, Sascha Wilde wrote: >> Angelo Graziosi <angelo.graziosi@alice.it> wrote: >>> Jonathan Rockway ha scritto: >>>> If people are interested in a change to this behavior (always add text >>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >>>> >>> I think it would be a good thing, so I vote for it: +1. >> AOL: +1 > > I posted the patch a week or so ago, but haven't heard anything yet. > Please try it out and let me know if anything needs to be changed. > > http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01136.html > > Regards, > Jonathan Rockway Sorry for the late replay. I have applied it in the builds on Linux and Cygwin. It looks OK to me. Now the *Scratch* buffer appears as I always knew it. Cheers, Angelo. --- Stat rosa pristina nomine, nomina nuda tenemus. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-21 17:04 ` Jonathan Rockway 2008-02-21 23:11 ` Angelo Graziosi @ 2008-02-28 23:00 ` Juri Linkov 2008-02-28 23:40 ` Juri Linkov ` (2 more replies) 1 sibling, 3 replies; 25+ messages in thread From: Juri Linkov @ 2008-02-28 23:00 UTC (permalink / raw) To: Jonathan Rockway; +Cc: Sascha Wilde, Angelo Graziosi, emacs-devel >> Angelo Graziosi <angelo.graziosi@alice.it> wrote: >>> Jonathan Rockway ha scritto: >>>> >>>> If people are interested in a change to this behavior (always add text >>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >>>> >>> >>> I think it would be a good thing, so I vote for it: +1. >> >> AOL: +1 > > I posted the patch a week or so ago, but haven't heard anything yet. > Please try it out and let me know if anything needs to be changed. Thanks. > http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01136.html Installed on the trunk and the Emacs 22 branch. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-28 23:00 ` Juri Linkov @ 2008-02-28 23:40 ` Juri Linkov 2008-02-29 10:36 ` Eli Zaretskii 2008-02-29 10:34 ` Eli Zaretskii 2008-02-29 23:00 ` Chong Yidong 2 siblings, 1 reply; 25+ messages in thread From: Juri Linkov @ 2008-02-28 23:40 UTC (permalink / raw) To: emacs-devel; +Cc: Jonathan Rockway, Angelo Graziosi > Installed on the trunk and the Emacs 22 branch. I also fixed a problem that when Emacs doesn't show the fancy startup screen and uses `normal-splash-screen' instead of `fancy-startup-screen' then it should follow the same logic that if there are a file name given on the command line then it should display the first file in the top window and the startup screen in another window below it. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-28 23:40 ` Juri Linkov @ 2008-02-29 10:36 ` Eli Zaretskii 2008-02-29 21:31 ` Juri Linkov 0 siblings, 1 reply; 25+ messages in thread From: Eli Zaretskii @ 2008-02-29 10:36 UTC (permalink / raw) To: Juri Linkov; +Cc: angelo.graziosi, jon, emacs-devel > From: Juri Linkov <juri@jurta.org> > Date: Fri, 29 Feb 2008 01:40:21 +0200 > Cc: Jonathan Rockway <jon@jrock.us>, Angelo Graziosi <angelo.graziosi@alice.it> > > > Installed on the trunk and the Emacs 22 branch. > > I also fixed a problem that when Emacs doesn't show the fancy startup screen > and uses `normal-splash-screen' instead of `fancy-startup-screen' then > it should follow the same logic that if there are a file name given on the > command line then it should display the first file in the top window and > the startup screen in another window below it. Are such changes in behavior really necessary at this stage in the pretest? ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-29 10:36 ` Eli Zaretskii @ 2008-02-29 21:31 ` Juri Linkov 2008-03-01 9:13 ` Eli Zaretskii 0 siblings, 1 reply; 25+ messages in thread From: Juri Linkov @ 2008-02-29 21:31 UTC (permalink / raw) To: Eli Zaretskii; +Cc: angelo.graziosi, jon, emacs-devel >> I also fixed a problem that when Emacs doesn't show the fancy startup screen >> and uses `normal-splash-screen' instead of `fancy-startup-screen' then >> it should follow the same logic that if there are a file name given on the >> command line then it should display the first file in the top window and >> the startup screen in another window below it. > > Are such changes in behavior really necessary at this stage in the > pretest? These fixes are caused by changes made earlier on the Emacs 22 branch. They are part of fixes that are intended to implement the behavior agreed on emacs-devel and approved several times to do on the Emacs 22 branch. Since they fix unintentional behavior they can be named bug fixes. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-29 21:31 ` Juri Linkov @ 2008-03-01 9:13 ` Eli Zaretskii 0 siblings, 0 replies; 25+ messages in thread From: Eli Zaretskii @ 2008-03-01 9:13 UTC (permalink / raw) To: Juri Linkov; +Cc: angelo.graziosi, jon, emacs-devel > From: Juri Linkov <juri@jurta.org> > Cc: emacs-devel@gnu.org, jon@jrock.us, angelo.graziosi@alice.it > Date: Fri, 29 Feb 2008 23:31:42 +0200 > > > Are such changes in behavior really necessary at this stage in the > > pretest? > > These fixes are caused by changes made earlier on the Emacs 22 branch. > They are part of fixes that are intended to implement the behavior agreed > on emacs-devel and approved several times to do on the Emacs 22 branch. > Since they fix unintentional behavior they can be named bug fixes. We can name it whatever we want, but it won't change the facts: a non-trivial behavior change was introduced into a pretest that was five minutes before its last .9X version, the one that should have been followed by a release. If I were in Stefan's and Yidong's shoes now, I'd probably insist on another .9X pretest. It's too bad that the behavior ``agreed on emacs-devel and approved several times to do on the Emacs 22 branch'' was not added to the code enough time ago, but this sad fact does not mean such changes should be allowed to be installed now without additional discussions, IMO. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-28 23:00 ` Juri Linkov 2008-02-28 23:40 ` Juri Linkov @ 2008-02-29 10:34 ` Eli Zaretskii 2008-02-29 23:00 ` Chong Yidong 2 siblings, 0 replies; 25+ messages in thread From: Eli Zaretskii @ 2008-02-29 10:34 UTC (permalink / raw) To: Juri Linkov; +Cc: wilde, emacs-devel, jon, angelo.graziosi > From: Juri Linkov <juri@jurta.org> > Date: Fri, 29 Feb 2008 01:00:41 +0200 > Cc: Sascha Wilde <wilde@sha-bang.de>, > Angelo Graziosi <angelo.graziosi@alice.it>, emacs-devel@gnu.org > > > http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01136.html > > Installed on the trunk and the Emacs 22 branch. Why? I thought we were asked not to install anything on the release branch that isn't a clear bugfix, without asking first. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-28 23:00 ` Juri Linkov 2008-02-28 23:40 ` Juri Linkov 2008-02-29 10:34 ` Eli Zaretskii @ 2008-02-29 23:00 ` Chong Yidong 2008-03-02 2:54 ` Juri Linkov 2 siblings, 1 reply; 25+ messages in thread From: Chong Yidong @ 2008-02-29 23:00 UTC (permalink / raw) To: Juri Linkov; +Cc: Sascha Wilde, emacs-devel, Jonathan Rockway, Angelo Graziosi Juri Linkov <juri@jurta.org> writes: >>>>> If people are interested in a change to this behavior (always add text >>>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. > > Installed on the trunk and the Emacs 22 branch. I'm not convinced that this change should go into Emacs 22. The reason is a little subtle. If you check the changelogs, inhibit-startup-screen used to be called inhibit-startup-message, and i-s-m is now an alias for i-s-s. With this change, people who've been using Emacs for a while and have inhibit-startup-message bound to nil in their init file (as I did) will encounter unexpected behavior. In other words, even though inhibit-startup-message is non-nil, there's a startup message! It's scarcely a serious issue---after all, Emacs progresses, and the meanings of variables change. All the same, this kind of incompatibility is best introduced between major versions. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-02-29 23:00 ` Chong Yidong @ 2008-03-02 2:54 ` Juri Linkov 2008-03-02 9:48 ` Angelo Graziosi ` (2 more replies) 0 siblings, 3 replies; 25+ messages in thread From: Juri Linkov @ 2008-03-02 2:54 UTC (permalink / raw) To: Chong Yidong; +Cc: Sascha Wilde, emacs-devel, Jonathan Rockway, Angelo Graziosi >>>>>> If people are interested in a change to this behavior (always add text >>>>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >> >> Installed on the trunk and the Emacs 22 branch. > > I'm not convinced that this change should go into Emacs 22. The > reason is a little subtle. > > If you check the changelogs, inhibit-startup-screen used to be called > inhibit-startup-message, and i-s-m is now an alias for i-s-s. > > With this change, people who've been using Emacs for a while and have > inhibit-startup-message bound to nil in their init file (as I did) > will encounter unexpected behavior. In other words, even though > inhibit-startup-message is non-nil, there's a startup message! > > It's scarcely a serious issue---after all, Emacs progresses, and the > meanings of variables change. All the same, this kind of > incompatibility is best introduced between major versions. OK, let's do everything what would be the best now to avoid any kind of incompatibility for the upcoming release, but I still don't understand the problem. I see there are two very similarly named user options (that adds more confusion to this already complicated issue): inhibit-startup-message initial-scratch-message The option inhibit-startup-message as an alias for inhibit-startup-screen still disables the startup screen regardless of the value of initial-scratch-message. In 22.1, inhibit-startup-message was an alias for inhibit-splash-screen that disables the startup screen. So users who have inhibit-startup-message set to non-nil in .emacs will not see the startup screen (though they will see the initial message in the scratch buffer if not explicitly disabled it using nil for initial-scratch-message). The recent patch was installed after complaints from users that even when initial-scratch-message is non-nil the scratch buffer is still empty. This is caused by the changes that allow more command line options and other conditions to disable the startup screen and thus to ignore the value of initial-scratch-message. This is bad because many users and especially novices will miss this important text in the scratch buffer after running Emacs with command line arguments. We can expect more such complaints after the release if we will deliver a version that disregards the value of initial-scratch-message after disabling the startup screen. Given these facts, please decide what would be the best to do now. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-02 2:54 ` Juri Linkov @ 2008-03-02 9:48 ` Angelo Graziosi 2008-03-02 14:41 ` Juri Linkov 2008-03-02 15:20 ` Chong Yidong 2008-03-03 14:01 ` Johan Bockgård 2 siblings, 1 reply; 25+ messages in thread From: Angelo Graziosi @ 2008-03-02 9:48 UTC (permalink / raw) To: Juri Linkov; +Cc: Sascha Wilde, Chong Yidong, Jonathan Rockway, emacs-devel Juri Linkov ha scritto: >>>>>>> If people are interested in a change to this behavior (always add text >>>>>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >>> Installed on the trunk and the Emacs 22 branch. >> I'm not convinced that this change should go into Emacs 22. The >> reason is a little subtle. >> >> If you check the changelogs, inhibit-startup-screen used to be called >> inhibit-startup-message, and i-s-m is now an alias for i-s-s. >> >> With this change, people who've been using Emacs for a while and have >> inhibit-startup-message bound to nil in their init file (as I did) >> will encounter unexpected behavior. In other words, even though >> inhibit-startup-message is non-nil, there's a startup message! >> >> It's scarcely a serious issue---after all, Emacs progresses, and the >> meanings of variables change. All the same, this kind of >> incompatibility is best introduced between major versions. > > OK, let's do everything what would be the best now to avoid any kind of > incompatibility for the upcoming release, but I still don't understand > the problem. > > I see there are two very similarly named user options (that adds > more confusion to this already complicated issue): > > inhibit-startup-message > initial-scratch-message > > The option inhibit-startup-message as an alias for inhibit-startup-screen > still disables the startup screen regardless of the value of > initial-scratch-message. > > In 22.1, inhibit-startup-message was an alias for inhibit-splash-screen > that disables the startup screen. So users who have inhibit-startup-message > set to non-nil in .emacs will not see the startup screen (though they will > see the initial message in the scratch buffer if not explicitly disabled it > using nil for initial-scratch-message). > > The recent patch was installed after complaints from users that even when > initial-scratch-message is non-nil the scratch buffer is still empty. > This is caused by the changes that allow more command line options and > other conditions to disable the startup screen and thus to ignore the > value of initial-scratch-message. This is bad because many users and > especially novices will miss this important text in the scratch buffer > after running Emacs with command line arguments. > > We can expect more such complaints after the release if we will deliver > a version that disregards the value of initial-scratch-message after > disabling the startup screen. > > Given these facts, please decide what would be the best to do now. > I flagged the problem of empty scratch buffer on Feb 13 2008 [1]. This means that a few hours before someone patched Emacs to reach that new behaviour. So, does this mean that Emacs at that time was not in pretest phase? If I remember correctly 22.1.91 has the empty scratch buffer but 22.1.90 not. I think that if Emacs was in pretest on Feb 13, than, since that time, one had to object on the new behaviour (empty scratch buffer), not only now that the acient behaviour has been restored. Cheers, Angelo. --- [1] http://lists.gnu.org/archive/html/emacs-devel/2008-02/msg01044.html ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-02 9:48 ` Angelo Graziosi @ 2008-03-02 14:41 ` Juri Linkov 0 siblings, 0 replies; 25+ messages in thread From: Juri Linkov @ 2008-03-02 14:41 UTC (permalink / raw) To: Angelo Graziosi; +Cc: Sascha Wilde, Chong Yidong, Jonathan Rockway, emacs-devel >>>>>>>> If people are interested in a change to this behavior (always add text >>>>>>>> to *scratch* if initial-scratch-message isn't nil), I'll supply a patch. >>>> Installed on the trunk and the Emacs 22 branch. >>> I'm not convinced that this change should go into Emacs 22. The >>> reason is a little subtle. >>> >>> If you check the changelogs, inhibit-startup-screen used to be called >>> inhibit-startup-message, and i-s-m is now an alias for i-s-s. >>> >>> With this change, people who've been using Emacs for a while and have >>> inhibit-startup-message bound to nil in their init file (as I did) >>> will encounter unexpected behavior. In other words, even though >>> inhibit-startup-message is non-nil, there's a startup message! >>> >>> It's scarcely a serious issue---after all, Emacs progresses, and the >>> meanings of variables change. All the same, this kind of >>> incompatibility is best introduced between major versions. >> >> OK, let's do everything what would be the best now to avoid any kind of >> incompatibility for the upcoming release, but I still don't understand >> the problem. >> >> I see there are two very similarly named user options (that adds >> more confusion to this already complicated issue): >> >> inhibit-startup-message >> initial-scratch-message >> >> The option inhibit-startup-message as an alias for inhibit-startup-screen >> still disables the startup screen regardless of the value of >> initial-scratch-message. >> >> In 22.1, inhibit-startup-message was an alias for inhibit-splash-screen >> that disables the startup screen. So users who have inhibit-startup-message >> set to non-nil in .emacs will not see the startup screen (though they will >> see the initial message in the scratch buffer if not explicitly disabled it >> using nil for initial-scratch-message). >> >> The recent patch was installed after complaints from users that even when >> initial-scratch-message is non-nil the scratch buffer is still empty. >> This is caused by the changes that allow more command line options and >> other conditions to disable the startup screen and thus to ignore the >> value of initial-scratch-message. This is bad because many users and >> especially novices will miss this important text in the scratch buffer >> after running Emacs with command line arguments. >> >> We can expect more such complaints after the release if we will deliver >> a version that disregards the value of initial-scratch-message after >> disabling the startup screen. >> >> Given these facts, please decide what would be the best to do now. >> > > I flagged the problem of empty scratch buffer on Feb 13 2008 [1]. This > means that a few hours before someone patched Emacs to reach that > new behaviour. > > So, does this mean that Emacs at that time was not in pretest phase? > > If I remember correctly 22.1.91 has the empty scratch buffer but > 22.1.90 not. > > I think that if Emacs was in pretest on Feb 13, than, since that time, one > had to object on the new behaviour (empty scratch buffer), not only now > that the acient behaviour has been restored. I guess you are using desktop mode. So disabling the startup screen after loading the desktop helped you to discover the problem of leaving the scratch buffer empty that also affects more use cases (running Emacs with command line arguments and other cases that automatically disable the startup screen). Thank you for reporting this problem. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-02 2:54 ` Juri Linkov 2008-03-02 9:48 ` Angelo Graziosi @ 2008-03-02 15:20 ` Chong Yidong 2008-03-02 16:20 ` Juri Linkov 2008-03-03 14:01 ` Johan Bockgård 2 siblings, 1 reply; 25+ messages in thread From: Chong Yidong @ 2008-03-02 15:20 UTC (permalink / raw) To: Juri Linkov; +Cc: Sascha Wilde, emacs-devel, Jonathan Rockway, Angelo Graziosi Juri Linkov <juri@jurta.org> writes: > OK, let's do everything what would be the best now to avoid any kind of > incompatibility for the upcoming release, but I still don't understand > the problem. > > inhibit-startup-message > initial-scratch-message > > The option inhibit-startup-message as an alias for inhibit-startup-screen > still disables the startup screen regardless of the value of > initial-scratch-message. > > In 22.1, inhibit-startup-message was an alias for inhibit-splash-screen > that disables the startup screen. So users who have inhibit-startup-message > set to non-nil in .emacs will not see the startup screen (though they will > see the initial message in the scratch buffer if not explicitly disabled it > using nil for initial-scratch-message). No. I just checked this: in 22.1, non-nil inhibit-startup-message causes Emacs to start up with an empty scratch buffer, the same as in Emacs 21. For compatibility, I think your patch has to be modified so that inhibit-startup-message is no longer an alias of inhibit-startup-screen, and then make it do what it did in Emacs 22 (i.e, display an empty scratch buffer on startup). In the meantime, however, please revert this change for the 22.2 release. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-02 15:20 ` Chong Yidong @ 2008-03-02 16:20 ` Juri Linkov 0 siblings, 0 replies; 25+ messages in thread From: Juri Linkov @ 2008-03-02 16:20 UTC (permalink / raw) To: Chong Yidong; +Cc: Sascha Wilde, emacs-devel, Jonathan Rockway, Angelo Graziosi >> OK, let's do everything what would be the best now to avoid any kind of >> incompatibility for the upcoming release, but I still don't understand >> the problem. >> >> inhibit-startup-message >> initial-scratch-message >> >> The option inhibit-startup-message as an alias for inhibit-startup-screen >> still disables the startup screen regardless of the value of >> initial-scratch-message. >> >> In 22.1, inhibit-startup-message was an alias for inhibit-splash-screen >> that disables the startup screen. So users who have inhibit-startup-message >> set to non-nil in .emacs will not see the startup screen (though they will >> see the initial message in the scratch buffer if not explicitly disabled it >> using nil for initial-scratch-message). > > No. I just checked this: in 22.1, non-nil inhibit-startup-message > causes Emacs to start up with an empty scratch buffer, the same as in > Emacs 21. The problem here is in the terminology: in Emacs 21 "startup message" meant the same thing as "splash screen" in Emacs 22 that we later renamed to "startup screen". In contrast, the initial text in the scratch buffer is named "initial scratch message", not "startup message". The fact that `inhibit-startup-message' also disabled the initial scratch message as a side effect now created a problem that users who need to see the initial scratch message will not get it. > For compatibility, I think your patch has to be modified so that > inhibit-startup-message is no longer an alias of > inhibit-startup-screen, and then make it do what it did in Emacs 22 > (i.e, display an empty scratch buffer on startup). Another solution is to create a new internal variable and set it in places that automatically disable the startup screen. This variable will be separate from the user option `inhibit-startup-screen'. So when the user has explicitly disabled the startup screen by setting `inhibit-startup-screen' (or its aliases) to non-nil, then the scratch buffer will be empty. Otherwise, when the startup screen is automatically disabled, the user will see the initial scratch message in the scratch buffer. > In the meantime, however, please revert this change for the 22.2 > release. OK, reverted. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-02 2:54 ` Juri Linkov 2008-03-02 9:48 ` Angelo Graziosi 2008-03-02 15:20 ` Chong Yidong @ 2008-03-03 14:01 ` Johan Bockgård 2008-03-03 21:19 ` Stefan Monnier 2008-03-12 22:40 ` Juri Linkov 2 siblings, 2 replies; 25+ messages in thread From: Johan Bockgård @ 2008-03-03 14:01 UTC (permalink / raw) To: emacs-devel Juri Linkov <juri@jurta.org> writes: > The recent patch was installed after complaints from users that even > when initial-scratch-message is non-nil the scratch buffer is still > empty. I agree that `inhibit-startup-screen' should not disable the scratch message, but I think that emacs-quick-startup (-Q) should. (After your patch it doesn't.) -- Johan Bockgård ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-03 14:01 ` Johan Bockgård @ 2008-03-03 21:19 ` Stefan Monnier 2008-03-04 0:34 ` Juri Linkov 2008-03-12 22:40 ` Juri Linkov 1 sibling, 1 reply; 25+ messages in thread From: Stefan Monnier @ 2008-03-03 21:19 UTC (permalink / raw) To: emacs-devel >> The recent patch was installed after complaints from users that even >> when initial-scratch-message is non-nil the scratch buffer is still >> empty. > I agree that `inhibit-startup-screen' should not disable the scratch > message, but I think that emacs-quick-startup (-Q) should. (After your > patch it doesn't.) I see no reason why -Q should inhibit the scratch message. It's probably OK if it does, but it seems preferable if it doesn't. Stefan ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-03 21:19 ` Stefan Monnier @ 2008-03-04 0:34 ` Juri Linkov 0 siblings, 0 replies; 25+ messages in thread From: Juri Linkov @ 2008-03-04 0:34 UTC (permalink / raw) To: Stefan Monnier; +Cc: emacs-devel >>> The recent patch was installed after complaints from users that even >>> when initial-scratch-message is non-nil the scratch buffer is still >>> empty. > >> I agree that `inhibit-startup-screen' should not disable the scratch >> message, but I think that emacs-quick-startup (-Q) should. (After your >> patch it doesn't.) > > I see no reason why -Q should inhibit the scratch message. > It's probably OK if it does, but it seems preferable if it doesn't. One reason for -Q to inhibit the scratch message is backward compatibility: when the user sends a bug report for Emacs 22.1 that says: "Run emacs -Q and in the scratch buffer do this and that..." then the result may be different depending on the initial text in the scratch buffer. OTOH, users include the version number in bug reports anyway, and using the same version to reproduce the reported bug will give the same result. So I see no more reasons to inhibit the scratch message for -Q. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: On the new startup and scratch buffer 2008-03-03 14:01 ` Johan Bockgård 2008-03-03 21:19 ` Stefan Monnier @ 2008-03-12 22:40 ` Juri Linkov 1 sibling, 0 replies; 25+ messages in thread From: Juri Linkov @ 2008-03-12 22:40 UTC (permalink / raw) To: emacs-devel >> The recent patch was installed after complaints from users that even >> when initial-scratch-message is non-nil the scratch buffer is still >> empty. > > I agree that `inhibit-startup-screen' should not disable the scratch > message, but I think that emacs-quick-startup (-Q) should. (After your > patch it doesn't.) Actually, this initial scratch message serves as a quick visual reminder for the user that the current buffer is the scratch buffer (that doesn't save its content) even when Emacs is stared with `emacs -Q'. -- Juri Linkov http://www.jurta.org/emacs/ ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2008-03-12 22:40 UTC | newest] Thread overview: 25+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2008-02-13 16:24 On the new startup and scratch buffer Angelo Graziosi 2008-02-13 17:56 ` Jonathan Rockway 2008-02-13 18:08 ` Angelo Graziosi 2008-02-13 22:45 ` Juri Linkov 2008-02-14 1:37 ` Stefan Monnier 2008-02-14 4:18 ` [patch] " Jonathan Rockway 2008-02-21 16:27 ` Sascha Wilde 2008-02-21 17:04 ` Jonathan Rockway 2008-02-21 23:11 ` Angelo Graziosi 2008-02-28 23:00 ` Juri Linkov 2008-02-28 23:40 ` Juri Linkov 2008-02-29 10:36 ` Eli Zaretskii 2008-02-29 21:31 ` Juri Linkov 2008-03-01 9:13 ` Eli Zaretskii 2008-02-29 10:34 ` Eli Zaretskii 2008-02-29 23:00 ` Chong Yidong 2008-03-02 2:54 ` Juri Linkov 2008-03-02 9:48 ` Angelo Graziosi 2008-03-02 14:41 ` Juri Linkov 2008-03-02 15:20 ` Chong Yidong 2008-03-02 16:20 ` Juri Linkov 2008-03-03 14:01 ` Johan Bockgård 2008-03-03 21:19 ` Stefan Monnier 2008-03-04 0:34 ` Juri Linkov 2008-03-12 22:40 ` Juri Linkov
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).