* Dedicated window for *log-edit-files*
@ 2019-10-25 11:48 João Távora
2019-10-25 12:48 ` Stefan Monnier
` (2 more replies)
0 siblings, 3 replies; 13+ messages in thread
From: João Távora @ 2019-10-25 11:48 UTC (permalink / raw)
To: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 891 bytes --]
When finalizing a commit with VC, (I usually do it from vc-next-action
but maybe there are other ways), a buffer and a window popup for
*log-edit-files*, showing the files touched by the "commit" (here
I'm using "commit" to designate the corresponding VC action
across VCSystems).
For me personally, the window is quite annoying because it's
in the path of my "C-x o" workflow: very frequently I want to jump
back to the source buffer to do some last minute adjustment.
My questions are:
1. can I get rid of the `*log-edit-files*` window & buffer?
1.2. what about just the window?
2. does the buffer serve any other purpose besides
informing me?
3. supposing the answer to 2 is "No" would some
overlay text in the *vc-log* buffer, much like the overlay
trickery that is already done there, server the same
purpose?
Would a patch that does 3 be acceptable?
João
[-- Attachment #2: Type: text/html, Size: 1442 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 11:48 Dedicated window for *log-edit-files* João Távora
@ 2019-10-25 12:48 ` Stefan Monnier
2019-10-25 15:36 ` João Távora
2019-10-25 14:43 ` Drew Adams
2019-10-26 8:12 ` martin rudalics
2 siblings, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2019-10-25 12:48 UTC (permalink / raw)
To: João Távora; +Cc: emacs-devel
João Távora [2019-10-25 12:48:19] wrote:
> When finalizing a commit with VC, (I usually do it from vc-next-action
> but maybe there are other ways), a buffer and a window popup for
> *log-edit-files*, showing the files touched by the "commit" (here
> I'm using "commit" to designate the corresponding VC action
> across VCSystems).
>
> For me personally, the window is quite annoying because it's
> in the path of my "C-x o" workflow: very frequently I want to jump
> back to the source buffer to do some last minute adjustment.
>
> My questions are:
>
> 1. can I get rid of the `*log-edit-files*` window & buffer?
> 1.2. what about just the window?
Remove `log-edit-show-files` from `log-edit-hook`.
[ Yes, non-nil default values for non-preloaded hooks are evil.
I confess to doing it, but I plead insanity. ]
> 2. does the buffer serve any other purpose besides
> informing me?
No.
> 3. supposing the answer to 2 is "No" would some overlay text in the
> *vc-log* buffer, much like the overlay trickery that is already done
> there, server the same purpose?
That could work, but I think a separate buffer&window is just as well
(makes it easier to copy&paste, hide, etc...).
Maybe we should arrange for `C-x o` not to switch to it (on GUI frames
you could still point&click to select it in those rare cases that you
want to, not sure what UI to use for the tty case: maybe just force the
user to C-x b to the *log-edit-files* buffer in another window).
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 12:48 ` Stefan Monnier
@ 2019-10-25 15:36 ` João Távora
2019-10-25 15:50 ` Stefan Monnier
2019-10-29 21:37 ` Juri Linkov
0 siblings, 2 replies; 13+ messages in thread
From: João Távora @ 2019-10-25 15:36 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 590 bytes --]
On Fri, Oct 25, 2019 at 1:48 PM Stefan Monnier <monnier@iro.umontreal.ca>
wrote:
> Remove `log-edit-show-files` from `log-edit-hook`.
Oh, that works perfectly! Thanks.
> [ Yes, non-nil default values for non-preloaded hooks are evil.
> I confess to doing it, but I plead insanity. ]
Why evil? How else would you arrange to have this
default behaviour?
Not that I agree with this particular one: I think
log-edit-show-files does more harm than good,
and should be out of the default value (maybe
mentioned in the docstring). But that's another
discussion.
João
[-- Attachment #2: Type: text/html, Size: 855 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 15:36 ` João Távora
@ 2019-10-25 15:50 ` Stefan Monnier
2019-10-25 21:38 ` João Távora
2019-10-29 21:37 ` Juri Linkov
1 sibling, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2019-10-25 15:50 UTC (permalink / raw)
To: João Távora; +Cc: emacs-devel
>> [ Yes, non-nil default values for non-preloaded hooks are evil.
>> I confess to doing it, but I plead insanity. ]
> Why evil?
Because you can't conveniently add/remove values from it (you either
have to wait for the file to be loaded to do that, or force loading it
eagerly at startup, or completely override the default value with your
own).
We discussed a few times teaching Custom how to modify lists like these
(so what is stored in your config file for this variable is morally
a sort of "diff" rather than the current result of applying the diff).
> How else would you arrange to have this default behaviour?
Typically we add ad-hoc config vars to enable/disable features instead
that also helps with discoverability. But yes, it has its own disadvantages.
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 15:50 ` Stefan Monnier
@ 2019-10-25 21:38 ` João Távora
2019-10-25 23:51 ` Stefan Monnier
0 siblings, 1 reply; 13+ messages in thread
From: João Távora @ 2019-10-25 21:38 UTC (permalink / raw)
To: Stefan Monnier; +Cc: emacs-devel
[-- Attachment #1: Type: text/plain, Size: 949 bytes --]
On Fri, Oct 25, 2019, 16:50 Stefan Monnier <monnier@iro.umontreal.ca> wrote:
> >> [ Yes, non-nil default values for non-preloaded hooks are evil.
> >> I confess to doing it, but I plead insanity. ]
> > Why evil?
>
> Because you can't conveniently add/remove values from it (you either
> have to wait for the file to be loaded to do that, or force loading it
> eagerly at startup, or completely override the default value with your
> own).
>
Makes sense. I suppose an autoload cookie could do it, but
maybe it's kind of ugly.
> We discussed a few times teaching Custom how to modify lists like these
> (so what is stored in your config file for this variable is morally
> a sort of "diff" rather than the current result of applying the diff).
>
Yes. But it wouldn't work for Custom-hat... err... avoiders like me,
right?
Anyway, it's the first time I bump into this problem, so it mustn't
be so terrible.
João
[-- Attachment #2: Type: text/html, Size: 1662 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 21:38 ` João Távora
@ 2019-10-25 23:51 ` Stefan Monnier
0 siblings, 0 replies; 13+ messages in thread
From: Stefan Monnier @ 2019-10-25 23:51 UTC (permalink / raw)
To: João Távora; +Cc: emacs-devel
> Makes sense. I suppose an autoload cookie could do it, but
> maybe it's kind of ugly.
Autoloaded variables are their own kind of evil ;-)
> Yes. But it wouldn't work for Custom-hat... err... avoiders like me, right?
For ... coders, you can use (with-eval-after-load 'log-edit (remove-hook
...)) or just (re)use the Custom machinery manually.
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 15:36 ` João Távora
2019-10-25 15:50 ` Stefan Monnier
@ 2019-10-29 21:37 ` Juri Linkov
1 sibling, 0 replies; 13+ messages in thread
From: Juri Linkov @ 2019-10-29 21:37 UTC (permalink / raw)
To: João Távora; +Cc: Stefan Monnier, emacs-devel
>> Remove `log-edit-show-files` from `log-edit-hook`.
>
> Oh, that works perfectly! Thanks.
Also it's possible to display the same window with *log-edit-files* buffer
later, after typing ‘C-c C-c’ when you don't need to switch windows,
if ‘log-edit-confirm’ is customized to ‘t’.
PS: typing ‘C-h v log-edit-confirm RET’ displays in *Help* buffer:
log-edit-confirm is a variable defined in ‘log-edit.el’.
Its value is t
Original value was changed
And indeed the original value was changed because I customized it to ‘t’,
but what was the original value? It took a while to realize that the value
itself is ‘changed’. To remove such ambiguity should it add quotes?
Original value was ‘changed’
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: Dedicated window for *log-edit-files*
2019-10-25 11:48 Dedicated window for *log-edit-files* João Távora
2019-10-25 12:48 ` Stefan Monnier
@ 2019-10-25 14:43 ` Drew Adams
2019-10-25 15:21 ` João Távora
2019-10-26 8:12 ` martin rudalics
2 siblings, 1 reply; 13+ messages in thread
From: Drew Adams @ 2019-10-25 14:43 UTC (permalink / raw)
To: João Távora, emacs-devel
Is this about a dedicated window? If so, how?
(I see "dedicated" in the Subject line but nowhere in the message body.)
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-25 11:48 Dedicated window for *log-edit-files* João Távora
2019-10-25 12:48 ` Stefan Monnier
2019-10-25 14:43 ` Drew Adams
@ 2019-10-26 8:12 ` martin rudalics
2019-10-26 12:00 ` Stefan Monnier
2 siblings, 1 reply; 13+ messages in thread
From: martin rudalics @ 2019-10-26 8:12 UTC (permalink / raw)
To: João Távora, emacs-devel
> When finalizing a commit with VC, (I usually do it from vc-next-action
> but maybe there are other ways), a buffer and a window popup for
> *log-edit-files*, showing the files touched by the "commit" (here
> I'm using "commit" to designate the corresponding VC action
> across VCSystems).
>
> For me personally, the window is quite annoying because it's
> in the path of my "C-x o" workflow: very frequently I want to jump
> back to the source buffer to do some last minute adjustment.
Probbaly, 'log-edit-show-files' should mark the window as dedicated
only if it appears on a separate frame.
But the corresponding code is weird. For starters, wrapping some sort
of 'pop-to-buffer' in 'save-selected-window' is not reasonable IMHO.
And both, 'cvs-pop-to-buffer-same-frame' and 'cvs-bury-buffer', should
be eventually rewritten via 'display-buffer' such that "q" just quits
the associated window using its 'quit-restore' parameter.
martin
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: Dedicated window for *log-edit-files*
2019-10-26 8:12 ` martin rudalics
@ 2019-10-26 12:00 ` Stefan Monnier
2019-10-27 7:49 ` martin rudalics
0 siblings, 1 reply; 13+ messages in thread
From: Stefan Monnier @ 2019-10-26 12:00 UTC (permalink / raw)
To: martin rudalics; +Cc: João Távora, emacs-devel
> Probbaly, 'log-edit-show-files' should mark the window as dedicated
> only if it appears on a separate frame.
It should never appear on a separate frame, IIRC (that's the
"-same-frame" part of cvs-pop-to-buffer-same-frame).
> But the corresponding code is weird. For starters, wrapping some sort
> of 'pop-to-buffer' in 'save-selected-window' is not reasonable IMHO.
> And both, 'cvs-pop-to-buffer-same-frame' and 'cvs-bury-buffer', should
> be eventually rewritten via 'display-buffer' such that "q" just quits
> the associated window using its 'quit-restore' parameter.
Quite so,
Stefan
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2019-10-29 21:37 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-10-25 11:48 Dedicated window for *log-edit-files* João Távora
2019-10-25 12:48 ` Stefan Monnier
2019-10-25 15:36 ` João Távora
2019-10-25 15:50 ` Stefan Monnier
2019-10-25 21:38 ` João Távora
2019-10-25 23:51 ` Stefan Monnier
2019-10-29 21:37 ` Juri Linkov
2019-10-25 14:43 ` Drew Adams
2019-10-25 15:21 ` João Távora
2019-10-26 8:12 ` martin rudalics
2019-10-26 12:00 ` Stefan Monnier
2019-10-27 7:49 ` martin rudalics
2019-10-27 17:43 ` Stefan Monnier
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).