unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#51132: Make sure user is doubly aware of finished complilations
@ 2021-10-11  6:50 積丹尼 Dan Jacobson
  2021-10-11  8:46 ` Lars Ingebrigtsen
  2021-10-11 12:16 ` Eli Zaretskii
  0 siblings, 2 replies; 22+ messages in thread
From: 積丹尼 Dan Jacobson @ 2021-10-11  6:50 UTC (permalink / raw)
  To: 51132

(info "(emacs) Compilation"):

"While the compilation is running … the word ‘Compiling’ appears in
all mode lines."

That's good. Because "Nobody is going to sit in the Laundromat watching
the dryer spin." They'll be somewhere else doing something else. (I.e.,
they won't be staring at the *compilation* buffer.)

OK, but then it disappears when the compilation is over.

(It's like "you are about to become the proud father..." and then *poof*,
No cigar. Nothing.)

It should become "Compilation Finished" and red, and flashing, etc. you
know.

Else "who is going to remember that they had some clothes left there in
the clothes dryer?"

And when it finally comes time for save-buffers-kill-emacs, there should
be a question: "You have a Compilation buffer that you haven't even
looked at once. Surely you forgot that you had an important compilation
job. Would you like to have one last look at its results before exiting
emacs? You know it has 34 lines of genuine output that you surely forgot
about during snack time.

Don't get upset. Emacs cares about you. If you think emacs is too pushy,
then do as you would with a cronjob, Make sure your STDOUT and STDERR
don't end up in the *compilation* buffer, and make sure to exit 0 and
not 1, etc. And we here at emacs won't bother you about it next time."

emacs-version "27.1"





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11  6:50 bug#51132: Make sure user is doubly aware of finished complilations 積丹尼 Dan Jacobson
@ 2021-10-11  8:46 ` Lars Ingebrigtsen
  2021-10-11  9:21   ` Kévin Le Gouguec
  2021-10-11 14:41   ` Drew Adams
  2021-10-11 12:16 ` Eli Zaretskii
  1 sibling, 2 replies; 22+ messages in thread
From: Lars Ingebrigtsen @ 2021-10-11  8:46 UTC (permalink / raw)
  To: 積丹尼 Dan Jacobson; +Cc: 51132

積丹尼 Dan Jacobson <jidanni@jidanni.org> writes:

> That's good. Because "Nobody is going to sit in the Laundromat watching
> the dryer spin." They'll be somewhere else doing something else. (I.e.,
> they won't be staring at the *compilation* buffer.)
>
> OK, but then it disappears when the compilation is over.

A message is issued, and I think that's sufficient.  Closing.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11  8:46 ` Lars Ingebrigtsen
@ 2021-10-11  9:21   ` Kévin Le Gouguec
  2021-10-11 14:44     ` bug#51132: [External] : " Drew Adams
  2021-10-11 14:41   ` Drew Adams
  1 sibling, 1 reply; 22+ messages in thread
From: Kévin Le Gouguec @ 2021-10-11  9:21 UTC (permalink / raw)
  To: Lars Ingebrigtsen; +Cc: 51132, 積丹尼 Dan Jacobson

Lars Ingebrigtsen <larsi@gnus.org> writes:

> 積丹尼 Dan Jacobson <jidanni@jidanni.org> writes:
>
>> That's good. Because "Nobody is going to sit in the Laundromat watching
>> the dryer spin." They'll be somewhere else doing something else. (I.e.,
>> they won't be staring at the *compilation* buffer.)
>>
>> OK, but then it disappears when the compilation is over.
>
> A message is issued, and I think that's sufficient.  Closing.

Note that you can customize compilation-finish-functions to do all sorts
of things; you can e.g. send a desktop notification:

#+begin_src elisp
(defun my/compilation-notify (buffer results)
  (require 'notifications)
  (notifications-notify :title (buffer-name buffer) :body results :timeout 0))

(add-to-list 'compilation-finish-functions 'my/compilation-notify)
#+end_src

':timeout 0' should ensure that the notification popup remains until you
dimiss it manually.

Writing a function that adds « "Compilation Finished" and red, and
flashing, etc. » to the mode-line is left as an exercise to the reader
:)





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11  6:50 bug#51132: Make sure user is doubly aware of finished complilations 積丹尼 Dan Jacobson
  2021-10-11  8:46 ` Lars Ingebrigtsen
@ 2021-10-11 12:16 ` Eli Zaretskii
  2021-10-12  8:04   ` 積丹尼 Dan Jacobson
  1 sibling, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-11 12:16 UTC (permalink / raw)
  To: 積丹尼 Dan Jacobson; +Cc: 51132

> From: 積丹尼 Dan Jacobson
>  <jidanni@jidanni.org>
> Date: Mon, 11 Oct 2021 14:50:39 +0800
> 
> (info "(emacs) Compilation"):
> 
> "While the compilation is running … the word ‘Compiling’ appears in
> all mode lines."
> 
> That's good. Because "Nobody is going to sit in the Laundromat watching
> the dryer spin." They'll be somewhere else doing something else. (I.e.,
> they won't be staring at the *compilation* buffer.)
> 
> OK, but then it disappears when the compilation is over.

It does?  Here, I see that it leaves at least 2 indications that the
compilation is complete:

  . I see "Compilation finished at <DATE> <TIME>" in the buffer
  . I see "Compilation:exit" on the mode line (all of them)

And if the compilation fails, those indication has a distinct color
that stands out.  That hardly counts as "disappearance".





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11  8:46 ` Lars Ingebrigtsen
  2021-10-11  9:21   ` Kévin Le Gouguec
@ 2021-10-11 14:41   ` Drew Adams
  2021-10-11 16:03     ` Eli Zaretskii
  1 sibling, 1 reply; 22+ messages in thread
From: Drew Adams @ 2021-10-11 14:41 UTC (permalink / raw)
  To: Lars Ingebrigtsen, 積丹尼 Dan Jacobson
  Cc: 51132@debbugs.gnu.org

> > OK, but then it disappears when the compilation is over.
> 
> A message is issued, and I think that's sufficient.  Closing.

FWIW:

I agree with the OP that a progress indication
should end with an indication that the thing in
progress is finished.

AND the indication should generally be of the same
type (at least - _additional_ indications are OK).

A message "Foobarring..." should generally be
followed when done by "Foobarring...done".  And an
indication "Foobarring..." in the mode line should
generally be followed by an indication in the mode
line (e.g. "Foobarring...done").

This is just common sense, IMO.  Saying that there's
some _other_ indication somewhere else, doesn't cut
the mustard.  The "opening of the parenthesis" needs
to be followed by its closing in the same manner
(e.g. same place) - whatever that manner might be.

It shouldn't be difficult to update the mode-line
indication to add "...done".  And the first user
action can erase that indication.  (Ideally, a user
action might cause such a mode-line message to be
copied to `*Messages*' or some other log, if there
is no other progress indication than that in the
mode line.

I see no reason for the justification of won't-fix
that just because there's an echo-area message that
the process is done there should be no mode-line
indication as well.

Just one opinion.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11  9:21   ` Kévin Le Gouguec
@ 2021-10-11 14:44     ` Drew Adams
  2021-10-11 16:03       ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Drew Adams @ 2021-10-11 14:44 UTC (permalink / raw)
  To: Kévin Le Gouguec, Lars Ingebrigtsen
  Cc: 51132@debbugs.gnu.org, 積丹尼 Dan Jacobson

> > A message is issued, and I think that's sufficient.  Closing.
> 
> Note that you can customize compilation-finish-functions to do all
> sorts of things; you can e.g. send a desktop notification:

Fine.  But by default Emacs should generally pair
notification of starting/continuing progress with
notification of finishing - in the _same manner_,
at a minimum.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 14:41   ` Drew Adams
@ 2021-10-11 16:03     ` Eli Zaretskii
  2021-10-11 16:13       ` Drew Adams
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-11 16:03 UTC (permalink / raw)
  To: Drew Adams; +Cc: larsi, 51132, jidanni

> From: Drew Adams <drew.adams@oracle.com>
> Date: Mon, 11 Oct 2021 14:41:53 +0000
> Cc: "51132@debbugs.gnu.org" <51132@debbugs.gnu.org>
> 
> A message "Foobarring..." should generally be
> followed when done by "Foobarring...done".  And an
> indication "Foobarring..." in the mode line should
> generally be followed by an indication in the mode
> line (e.g. "Foobarring...done").

But that's exactly what Emacs does.  Did you try to invoke
"M-x compile" and see what happens on display when it finishes?





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 14:44     ` bug#51132: [External] : " Drew Adams
@ 2021-10-11 16:03       ` Eli Zaretskii
  2021-10-11 16:21         ` Drew Adams
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-11 16:03 UTC (permalink / raw)
  To: Drew Adams; +Cc: larsi, 51132, kevin.legouguec, jidanni

> Resent-From: Drew Adams <drew.adams@oracle.com>
> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org>
> Resent-CC: bug-gnu-emacs@gnu.org
> Resent-Sender: help-debbugs@gnu.org
> From: Drew Adams <drew.adams@oracle.com>
> Date: Mon, 11 Oct 2021 14:44:21 +0000
> Accept-Language: en-US
> Cc: "51132@debbugs.gnu.org" <51132@debbugs.gnu.org>,
>  積丹尼 Dan Jacobson <jidanni@jidanni.org>
> 
> > > A message is issued, and I think that's sufficient.  Closing.
> > 
> > Note that you can customize compilation-finish-functions to do all
> > sorts of things; you can e.g. send a desktop notification:
> 
> Fine.  But by default Emacs should generally pair
> notification of starting/continuing progress with
> notification of finishing - in the _same manner_,
> at a minimum.

It does.  PLEASE try this before you post.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 16:03     ` Eli Zaretskii
@ 2021-10-11 16:13       ` Drew Adams
  0 siblings, 0 replies; 22+ messages in thread
From: Drew Adams @ 2021-10-11 16:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: larsi@gnus.org, 51132@debbugs.gnu.org, jidanni@jidanni.org

> > A message "Foobarring..." should generally be
> > followed when done by "Foobarring...done".  And an
> > indication "Foobarring..." in the mode line should
> > generally be followed by an indication in the mode
> > line (e.g. "Foobarring...done").
> 
> But that's exactly what Emacs does.  Did you try to invoke
> "M-x compile" and see what happens on display when it finishes?

I'm not QAing whether the bug description is
accurate.  IF it's accurate then it's a bug,
IMHO.  That's all.

I replied to this:

>> OK, but then it disappears when the compilation is over.
> A message is issued, and I think that's sufficient.  Closing.
    ^^^^^^^                        ^^^^^^^^^^^^^^^^^

IMO, it's NOT sufficient that a message (echo
area) be issued, to finish an indication in
the mode line.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 16:03       ` Eli Zaretskii
@ 2021-10-11 16:21         ` Drew Adams
  2021-10-11 16:31           ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Drew Adams @ 2021-10-11 16:21 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: larsi@gnus.org, 51132@debbugs.gnu.org, kevin.legouguec@gmail.com,
	jidanni@jidanni.org

> > > > A message is issued, and I think that's sufficient.  Closing.
> > >
> > > Note that you can customize compilation-finish-functions
> > > to do all sorts of things; you can e.g. send a desktop 
> > > notification:
> >
> > Fine.  But by default Emacs should generally pair
> > notification of starting/continuing progress with
> > notification of finishing - in the _same manner_,
> > at a minimum.
> 
> It does.  PLEASE try this before you post.

PLEASE read what I wrote.  I replied to a claim
that it's sufficient to issue a message, to end
a mode-line in-progress message.

And then to a claim that it's sufficient that
users can customize, to work around such a bug.

Whether there is in fact such a lack/bug is
something else.

It's the justifications for closing that were
misguided - and they did NOT say that there is
a mode-line indication (as you've pointed out).
Save your PLEAS for them.

^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 16:21         ` Drew Adams
@ 2021-10-11 16:31           ` Eli Zaretskii
  2021-10-11 16:44             ` Drew Adams
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-11 16:31 UTC (permalink / raw)
  To: Drew Adams; +Cc: larsi, 51132, kevin.legouguec, jidanni

> From: Drew Adams <drew.adams@oracle.com>
> CC: "kevin.legouguec@gmail.com" <kevin.legouguec@gmail.com>,
>         "larsi@gnus.org"
> 	<larsi@gnus.org>,
>         "51132@debbugs.gnu.org" <51132@debbugs.gnu.org>,
>         "jidanni@jidanni.org" <jidanni@jidanni.org>
> Date: Mon, 11 Oct 2021 16:21:02 +0000
> 
> > > > > A message is issued, and I think that's sufficient.  Closing.
> > > >
> > > > Note that you can customize compilation-finish-functions
> > > > to do all sorts of things; you can e.g. send a desktop 
> > > > notification:
> > >
> > > Fine.  But by default Emacs should generally pair
> > > notification of starting/continuing progress with
> > > notification of finishing - in the _same manner_,
> > > at a minimum.
> > 
> > It does.  PLEASE try this before you post.
> 
> PLEASE read what I wrote.  I replied to a claim
> that it's sufficient to issue a message, to end
> a mode-line in-progress message.

How is it useful to ask for something that already happens?  Even if
Lars didn't mention it?  It just adds noise.

> Whether there is in fact such a lack/bug is
> something else.

Please make a point of looking at the actual behavior before you join
a discussion.  If you want to help the discussion to be constructive.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 16:31           ` Eli Zaretskii
@ 2021-10-11 16:44             ` Drew Adams
  2021-10-12  8:01               ` 積丹尼 Dan Jacobson
  0 siblings, 1 reply; 22+ messages in thread
From: Drew Adams @ 2021-10-11 16:44 UTC (permalink / raw)
  To: Eli Zaretskii
  Cc: larsi@gnus.org, 51132@debbugs.gnu.org, kevin.legouguec@gmail.com,
	jidanni@jidanni.org

> > > > > Note that you can customize compilation-finish-functions
> > > > > to do all sorts of things; you can e.g. send a desktop
> > > > > notification:
> > > >
> > > > Fine.  But by default Emacs should generally pair
> > > > notification of starting/continuing progress with
> > > > notification of finishing - in the _same manner_,
> > > > at a minimum.
> > >
> > > It does.  PLEASE try this before you post.
> >
> > PLEASE read what I wrote.  I replied to a claim
> > that it's sufficient to issue a message, to end
> > a mode-line in-progress message.
> 
> How is it useful to ask for something that already happens?
> Even if Lars didn't mention it?  It just adds noise.

A policy that a message is sufficient to end a
mode-line in-progress indication is misguided.

I responded to the claim that it's sufficient.
Setting this policy straight is important.

> > Whether there is in fact such a lack/bug is
> > something else.
> 
> Please make a point of looking at the actual behavior before you join
> a discussion.  If you want to help the discussion to be constructive.

Tell that to Lars, who apparently took it as
given that the behavior described in the bug
report was accurate.

Based on Lars's apparent agreement with the
description, and his defense of it, I assumed
the same and spoke (only) to that misguided
defense.

Save your criticism of lack of QA for the guy
who apparently closed the bug without "looking
at the actual behavior" - and in fact defended
the _reported_ behavior as "sufficient".





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 16:44             ` Drew Adams
@ 2021-10-12  8:01               ` 積丹尼 Dan Jacobson
  2021-10-12 13:59                 ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: 積丹尼 Dan Jacobson @ 2021-10-12  8:01 UTC (permalink / raw)
  To: Drew Adams
  Cc: 51132@debbugs.gnu.org, larsi@gnus.org, kevin.legouguec@gmail.com

All I know is in emacs-version "27.1"
I first chopped up the *scratch* buffer
C-x 2 C-x 3 C-x 2 C-x 3...
then did M-x compile, running "date" which finished right away,
but none of the *scratch* buffers had anything in their modeline
about it anymore at that point.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-11 12:16 ` Eli Zaretskii
@ 2021-10-12  8:04   ` 積丹尼 Dan Jacobson
  2021-10-12 14:00     ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: 積丹尼 Dan Jacobson @ 2021-10-12  8:04 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 51132

EZ>   . I see "Compilation:exit" on the mode line (all of them)

Well in emacs-version "27.1" the Compilation:exit is only in the
*compilation* buffer's modeline. That's all I know.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: [External] : bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-12  8:01               ` 積丹尼 Dan Jacobson
@ 2021-10-12 13:59                 ` Eli Zaretskii
  0 siblings, 0 replies; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-12 13:59 UTC (permalink / raw)
  To: 積丹尼 Dan Jacobson; +Cc: larsi, 51132, kevin.legouguec

> From: 積丹尼 Dan Jacobson <jidanni@jidanni.org>
> Cc: Eli Zaretskii <eliz@gnu.org>,  "kevin.legouguec@gmail.com"
>  <kevin.legouguec@gmail.com>,  "larsi@gnus.org" <larsi@gnus.org>,
>   "51132@debbugs.gnu.org" <51132@debbugs.gnu.org>
> Date: Tue, 12 Oct 2021 16:01:15 +0800
> 
> All I know is in emacs-version "27.1"
> I first chopped up the *scratch* buffer
> C-x 2 C-x 3 C-x 2 C-x 3...
> then did M-x compile, running "date" which finished right away,
> but none of the *scratch* buffers had anything in their modeline
> about it anymore at that point.

Then you have been amply punished for preventing yourself from seeing
anything useful in that session.  Try turning off
truncate-partial-width-windows.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-12  8:04   ` 積丹尼 Dan Jacobson
@ 2021-10-12 14:00     ` Eli Zaretskii
  2021-10-12 15:16       ` Kévin Le Gouguec
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-12 14:00 UTC (permalink / raw)
  To: 積丹尼 Dan Jacobson; +Cc: 51132

> From: 積丹尼 Dan Jacobson <jidanni@jidanni.org>
> Cc: 51132@debbugs.gnu.org
> Date: Tue, 12 Oct 2021 16:04:04 +0800
> 
> EZ>   . I see "Compilation:exit" on the mode line (all of them)
> 
> Well in emacs-version "27.1" the Compilation:exit is only in the
> *compilation* buffer's modeline. That's all I know.

Which is great, and you should see it.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-12 14:00     ` Eli Zaretskii
@ 2021-10-12 15:16       ` Kévin Le Gouguec
  2021-10-12 16:11         ` Eli Zaretskii
  0 siblings, 1 reply; 22+ messages in thread
From: Kévin Le Gouguec @ 2021-10-12 15:16 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 51132, 積丹尼 Dan Jacobson

Eli Zaretskii <eliz@gnu.org> writes:

>> From: 積丹尼 Dan Jacobson <jidanni@jidanni.org>
>> Cc: 51132@debbugs.gnu.org
>> Date: Tue, 12 Oct 2021 16:04:04 +0800
>> 
>> EZ>   . I see "Compilation:exit" on the mode line (all of them)
>> 
>> Well in emacs-version "27.1" the Compilation:exit is only in the
>> *compilation* buffer's modeline. That's all I know.
>
> Which is great, and you should see it.

Unless the *compilation* buffer's mode-line is not visible, either
because of excessive window splitting (as hinted by Dan's other
message), or because one buried the buffer before the process
terminates, which one might very well do if it's a long-running process
with no interesting output except the final diagnosis.

(I'm confused by your earlier statement, when you say "all of them": do
you see "Compilation:exit" in the mode-line of *all* buffers?  On my
end, as Dan describes, that only shows up in the *compilation* buffer's
mode-line)

I think I can see how the current state of affairs makes it possible to
forget to check out a compilation result if the buffer is buried (or if
its mode-line is not completely visible):

- the "[Compiling]" mode-line indicator in other buffers disappears once
  the process terminates,

- the "Compilation finished/exited" message can be clobbered almost
  immediately by many things (e.g. navigation commands that push the
  mark, digit arguments, C-g).

Dan's suggestion to have (an option to have) an indicator in every
mode-line that disappears when you focus the *compilation* buffer makes
sense IMO.  It's not unlike erc-track's mode-line indicators AFAICT.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-12 15:16       ` Kévin Le Gouguec
@ 2021-10-12 16:11         ` Eli Zaretskii
  2021-10-12 18:24           ` Kévin Le Gouguec
  0 siblings, 1 reply; 22+ messages in thread
From: Eli Zaretskii @ 2021-10-12 16:11 UTC (permalink / raw)
  To: Kévin Le Gouguec; +Cc: 51132, jidanni

> From: Kévin Le Gouguec <kevin.legouguec@gmail.com>
> Cc: 積丹尼 Dan Jacobson <jidanni@jidanni.org>,
>   51132@debbugs.gnu.org
> Date: Tue, 12 Oct 2021 17:16:47 +0200
> 
> (I'm confused by your earlier statement, when you say "all of them": do
> you see "Compilation:exit" in the mode-line of *all* buffers?

No, all of the mode lines of the windows that show the *Compilation*
buffer, of course.  When you do something that jidanni does:

   C-x 2 C-x 3 C-x 2 C-x 3...

then you will have many *Compilation* buffers, right?

> I think I can see how the current state of affairs makes it possible to
> forget to check out a compilation result if the buffer is buried (or if
> its mode-line is not completely visible):
> 
> - the "[Compiling]" mode-line indicator in other buffers disappears once
>   the process terminates,
> 
> - the "Compilation finished/exited" message can be clobbered almost
>   immediately by many things (e.g. navigation commands that push the
>   mark, digit arguments, C-g).

(That message gets written into the *Compilation* buffer, not in the
echo-area.  So it never gets clobbered by anything, except another
compilation.)

Anyway, we are talking about a user who (mis-)configures his windows
so that nothing useful is visible on the mode line, then buries the
*Compilation* buffer (since the compilation he launches doesn't
interest him at all, right?), and then, when he finally wants to know
what happened there, doesn't even consider to look back in that buried
buffer?  Is that the situation?  And we are supposed to tweak Emacs to
cater to such hypothetical users? why?

> Dan's suggestion to have (an option to have) an indicator in every
> mode-line that disappears when you focus the *compilation* buffer makes
> sense IMO.

This request has been considered and denied, both by Lars and myself.
I see no reason to make yet another, 3rd indication, especially since
every indication can be ignored if the user really wants to ignore it,
exactly like the existing 2 indications are ignored.  Not say anything
about the bad karma of adding unnecessary stuff to the mode line,
where space is at premium since long ago.  Thanks, but no, thanks.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-12 16:11         ` Eli Zaretskii
@ 2021-10-12 18:24           ` Kévin Le Gouguec
  2021-10-20  1:09             ` 積丹尼 Dan Jacobson
  0 siblings, 1 reply; 22+ messages in thread
From: Kévin Le Gouguec @ 2021-10-12 18:24 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 51132, jidanni

Eli Zaretskii <eliz@gnu.org> writes:

> No, all of the mode lines of the windows that show the *Compilation*
> buffer, of course.  When you do something that jidanni does:
>
>    C-x 2 C-x 3 C-x 2 C-x 3...
>
> then you will have many *Compilation* buffers, right?

I'm assuming that Dan would keep at most _one_ window displaying the
*compilation* buffer.

>> - the "Compilation finished/exited" message can be clobbered almost
>>   immediately by many things (e.g. navigation commands that push the
>>   mark, digit arguments, C-g).
>
> (That message gets written into the *Compilation* buffer, not in the
> echo-area.  So it never gets clobbered by anything, except another
> compilation.)

Apologies for being unclear; I was referring to the message that is
printed in the echo-area by compilation-handle-exit.  AFAIK, when the
*compilation* buffer is e.g. buried, that is one of the two visible
signs that tell the user that the process has finished, the other being
the disappearance of "[Compiling]" in the mode-line.

> Anyway, we are talking about a user who (mis-)configures his windows
> so that nothing useful is visible on the mode line, then buries the
> *Compilation* buffer (since the compilation he launches doesn't
> interest him at all, right?), and then, when he finally wants to know
> what happened there, doesn't even consider to look back in that buried
> buffer?  Is that the situation?

The situation, as it happened to me a couple of times before learning
about compilation-finish-functions, was:

1. run some background process in a *compilation* buffer,

2. bury the buffer because I know the result will not be available for a
   couple of minutes or hours,

3. work on completely unrelated matters in the meantime, in the same
   Emacs session,

4. miss both hints that the process has finished and the result I want
   is available (if I spend 5 minutes reading something in a web
   browser, then I won't notice the _absence_ of "[Compiling]" in the
   mode-lines when coming back to Emacs; as for the message in the
   echo-area, see above),

5. consider I have finished working on the unrelated matters, and close
   Emacs,

6. bang my head on the desk out of frustration and self-loathing.

>                                  And we are supposed to tweak Emacs to
> cater to such hypothetical users? why?

> This request has been considered and denied, both by Lars and myself.
> I see no reason to make yet another, 3rd indication, especially since
> every indication can be ignored if the user really wants to ignore it,
> exactly like the existing 2 indications are ignored.  Not say anything
> about the bad karma of adding unnecessary stuff to the mode line,
> where space is at premium since long ago.  Thanks, but no, thanks.

That's perfectly fine as far as I am concerned; and that's also why my
original contribution to the discussion was pointing Dan to
compilation-finish-functions, where he hopefully can design an
indication that will be tailored to his needs and not so easily ignored.

My second contribution to the discussion was obviously unneeded and I
apologize for the time that was wasted.





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-12 18:24           ` Kévin Le Gouguec
@ 2021-10-20  1:09             ` 積丹尼 Dan Jacobson
  2021-10-20  6:09               ` Kévin Le Gouguec
  0 siblings, 1 reply; 22+ messages in thread
From: 積丹尼 Dan Jacobson @ 2021-10-20  1:09 UTC (permalink / raw)
  To: Kévin Le Gouguec; +Cc: 51132

> Try turning off truncate-partial-width-windows

>> Anyway, we are talking about a user who (mis-)configures his windows
>> so that nothing useful is visible on the mode line,

All I know is I was using emacs -Q.

>> C-x 2 C-x 3 C-x 2 C-x 3...
>> then you will have many *Compilation* buffers, right?

No. Many *scratch* buffers, as shown by the steps I posted.

KLG> I'm assuming that Dan would keep at most _one_ window displaying the
KLG> *compilation* buffer.

>> then buries the *Compilation* buffer (since the compilation he
>> launches doesn't interest him at all, right?), and then, when he
>> finally wants to know what happened there, doesn't even consider to
>> look back in that buried buffer? Is that the situation?

Correct: no reason to keep staring at a half-hour long boring
compilation when there is lots of email to reply to, etc. Before long
that buffer is no longer one of the many still on the screen.

But think about it like a file you were editing and hadn't yet saved
before exiting emacs. Emacs correctly asks you about it upon exit.

Maybe (info "(emacs) Compilation") should mention:
"Like KLG says, it is extremely easy to forget you had a lengthy compile
job running, and ...

KLG> 5. consider I have finished working on the unrelated matters, and close
KLG>    Emacs,

KLG> 6. bang my head on the desk out of frustration and self-loathing.

... therefore perhaps consider wrapping your compile jobs in a nohup(1)
statement, perhaps with a tail -f nohup.out to simulate traditional
compile-mode output. Example: ..."





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-20  1:09             ` 積丹尼 Dan Jacobson
@ 2021-10-20  6:09               ` Kévin Le Gouguec
  2021-10-22 12:32                 ` 積丹尼 Dan Jacobson
  0 siblings, 1 reply; 22+ messages in thread
From: Kévin Le Gouguec @ 2021-10-20  6:09 UTC (permalink / raw)
  To: 積丹尼 Dan Jacobson; +Cc: 51132

積丹尼 Dan Jacobson <jidanni@jidanni.org> writes:

> Maybe (info "(emacs) Compilation") should mention:
> "Like KLG says, it is extremely easy to forget you had a lengthy compile
> job running, and ...
>
> KLG> 5. consider I have finished working on the unrelated matters, and close
> KLG>    Emacs,
>
> KLG> 6. bang my head on the desk out of frustration and self-loathing.
>
> ... therefore perhaps consider wrapping your compile jobs in a nohup(1)
> statement, perhaps with a tail -f nohup.out to simulate traditional
> compile-mode output. Example: ..."

That, or maybe advertise compilation-finish-functions more?  Promote it
to a defcustom, keep it nil by default, add some :options, such as:

- a function that calls notifications-notify,
- a function that saves the buffer; serving suggestion:

(defun compilation-save-buffer (buffer _results)
  ;; TODO:
  ;; - better path-separator escaping?
  ;; - give user more control over directory?
  ;; - give user more control over filename?
  ;; - use write-file and mark buffer as "unsaved"?
  (let* ((cmd (string-replace "/" "-"
                              (with-current-buffer buffer compile-command)))
         (time (format-time-string "%F-%T")))
    (with-current-buffer buffer
      (write-region (point-min) (point-max) (format "%s-%s.log" time cmd)))))

… and document it in (info "(emacs) Compilation").


I wouldn't mind working on a patch, if the above sounds appealing.  I'm
a bit swamped these days, but from our discussion I understand that this
wouldn't exactly be a high-priority feature anyway :)





^ permalink raw reply	[flat|nested] 22+ messages in thread

* bug#51132: Make sure user is doubly aware of finished complilations
  2021-10-20  6:09               ` Kévin Le Gouguec
@ 2021-10-22 12:32                 ` 積丹尼 Dan Jacobson
  0 siblings, 0 replies; 22+ messages in thread
From: 積丹尼 Dan Jacobson @ 2021-10-22 12:32 UTC (permalink / raw)
  To: Kévin Le Gouguec; +Cc: 51132

>>>>> "KLG" == Kévin Le Gouguec <kevin.legouguec@gmail.com> writes:

KLG> … and document it in (info "(emacs) Compilation").

Yes, (info "(emacs) Compilation") needs to mention "It is easy to close
emacs without remembering you had compilation results. Therefore
consider..."





^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2021-10-22 12:32 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-11  6:50 bug#51132: Make sure user is doubly aware of finished complilations 積丹尼 Dan Jacobson
2021-10-11  8:46 ` Lars Ingebrigtsen
2021-10-11  9:21   ` Kévin Le Gouguec
2021-10-11 14:44     ` bug#51132: [External] : " Drew Adams
2021-10-11 16:03       ` Eli Zaretskii
2021-10-11 16:21         ` Drew Adams
2021-10-11 16:31           ` Eli Zaretskii
2021-10-11 16:44             ` Drew Adams
2021-10-12  8:01               ` 積丹尼 Dan Jacobson
2021-10-12 13:59                 ` Eli Zaretskii
2021-10-11 14:41   ` Drew Adams
2021-10-11 16:03     ` Eli Zaretskii
2021-10-11 16:13       ` Drew Adams
2021-10-11 12:16 ` Eli Zaretskii
2021-10-12  8:04   ` 積丹尼 Dan Jacobson
2021-10-12 14:00     ` Eli Zaretskii
2021-10-12 15:16       ` Kévin Le Gouguec
2021-10-12 16:11         ` Eli Zaretskii
2021-10-12 18:24           ` Kévin Le Gouguec
2021-10-20  1:09             ` 積丹尼 Dan Jacobson
2021-10-20  6:09               ` Kévin Le Gouguec
2021-10-22 12:32                 ` 積丹尼 Dan Jacobson

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).