unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions.
       [not found] ` <E1a8WMm-0006yi-Di@vcs.savannah.gnu.org>
@ 2015-12-15  1:30   ` John Wiegley
  2015-12-15 13:15     ` Alan Mackenzie
  0 siblings, 1 reply; 10+ messages in thread
From: John Wiegley @ 2015-12-15  1:30 UTC (permalink / raw)
  To: emacs-devel; +Cc: Alan Mackenzie

>>>>> Alan Mackenzie <acm@muc.de> writes:

>     Replace GROUP argument in six window primitives by new functions.

Thanks, Alan, this looks better than adding the extra GROUP argument.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



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

* Re: [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions.
  2015-12-15  1:30   ` [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions John Wiegley
@ 2015-12-15 13:15     ` Alan Mackenzie
  2015-12-15 15:22       ` [Emacs-diffs] scratch/follow e8937ed: " John Wiegley
  2015-12-16  0:39       ` [Emacs-diffs] scratch/follow e8937de: " Juri Linkov
  0 siblings, 2 replies; 10+ messages in thread
From: Alan Mackenzie @ 2015-12-15 13:15 UTC (permalink / raw)
  To: emacs-devel; +Cc: Juri Linkov

Hello, John and Juri.

On Mon, Dec 14, 2015 at 05:30:35PM -0800, John Wiegley wrote:
> >>>>> Alan Mackenzie <acm@muc.de> writes:

> >     Replace GROUP argument in six window primitives by new functions.

> Thanks, Alan, this looks better than adding the extra GROUP argument.

Any objections to me merging (or rebasing) this into the emacs-25
branch?  I think it's ready.

It should finally fix bug #17453 "Isearch doesn't work properly with
Follow Mode.".

By the way, is it normal to merge or to rebase in such circumstances.
The code is currently in branch scratch/follow.

> -- 
> John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
> http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [Emacs-diffs] scratch/follow e8937ed: Replace GROUP argument in six window primitives by new functions.
  2015-12-15 13:15     ` Alan Mackenzie
@ 2015-12-15 15:22       ` John Wiegley
  2015-12-16  0:39       ` [Emacs-diffs] scratch/follow e8937de: " Juri Linkov
  1 sibling, 0 replies; 10+ messages in thread
From: John Wiegley @ 2015-12-15 15:22 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: Juri Linkov, emacs-devel

>>>>> Alan Mackenzie <acm@muc.de> writes:

> Any objections to me merging (or rebasing) this into the emacs-25 branch? I
> think it's ready.

If you receive no objections by week's end, please feel free to merge it in.

> By the way, is it normal to merge or to rebase in such circumstances. The
> code is currently in branch scratch/follow.

Personally I prefer merges for any branches that has been seen by others, as
it preserves the true history of the work. But if the policy has been to
rebase feature branches before merging them in, that works too.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



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

* Re: [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions.
  2015-12-15 13:15     ` Alan Mackenzie
  2015-12-15 15:22       ` [Emacs-diffs] scratch/follow e8937ed: " John Wiegley
@ 2015-12-16  0:39       ` Juri Linkov
  2015-12-17 22:14         ` Alan Mackenzie
  1 sibling, 1 reply; 10+ messages in thread
From: Juri Linkov @ 2015-12-16  0:39 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

> Any objections to me merging (or rebasing) this into the emacs-25
> branch?  I think it's ready.

Thanks, Alan.  I have only a small remark: the function name
‘recenter-group’ is too ambiguous.  Adding ‘window-group’
somewhere inside its name would help to narrow its scope, e.g.
‘window-group-recenter’, or ‘recenter-window-group’, or
‘recenter-in-window-group’ by analogy with ‘pos-visible-in-window-group-p’.

And one question: are the functions follow-window-start,
follow-set-window-start, etc. too specific to follow-mode,
or it would be possible to generalize and move them to window.el
leaving only ‘follow-all-followers’ as a follow-specific function?



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

* Re: [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions.
  2015-12-16  0:39       ` [Emacs-diffs] scratch/follow e8937de: " Juri Linkov
@ 2015-12-17 22:14         ` Alan Mackenzie
  2015-12-17 23:52           ` Juri Linkov
  0 siblings, 1 reply; 10+ messages in thread
From: Alan Mackenzie @ 2015-12-17 22:14 UTC (permalink / raw)
  To: Juri Linkov; +Cc: emacs-devel

Hello, Juri.

On Wed, Dec 16, 2015 at 02:39:08AM +0200, Juri Linkov wrote:
> > Any objections to me merging (or rebasing) this into the emacs-25
> > branch?  I think it's ready.

> Thanks, Alan.  I have only a small remark: the function name
> ‘recenter-group’ is too ambiguous.  Adding ‘window-group’
> somewhere inside its name would help to narrow its scope, e.g.
> ‘window-group-recenter’, or ‘recenter-window-group’, or
> ‘recenter-in-window-group’ by analogy with ‘pos-visible-in-window-group-p’.

I think it would have to be `recenter-window-group', but is
`recenter-group' really that ambiguous?  People have no problem with
`recenter', which, if anything, is even more ambiguous.

> And one question: are the functions follow-window-start,
> follow-set-window-start, etc. too specific to follow-mode,
> or it would be possible to generalize and move them to window.el
> leaving only ‘follow-all-followers’ as a follow-specific function?

An interesting idea - that would reduce the number of function variables
which Follow Mode needs to set.

In addition to the result of `follow-all-followers', Follow Mode
maintains a cache of the start and end points of each of its windows.
There is also a "cache-invalid" flag which is set in an
after-change-function and cleared by `follow-redisplay', the function
which synchronises the windows.

So, I think it would be possible to move some of the code from follow.el
to window.el, but the interface between them would necessarily be
thicker than just `follow-all-followers'.  It would have to include the
"cache-invalid" flag (probably encapsulated in a function call), and the
`follow-redisplay' function.  I'm not convinced that there would be any
great gain in abstraction.

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions.
  2015-12-17 22:14         ` Alan Mackenzie
@ 2015-12-17 23:52           ` Juri Linkov
  2015-12-18  0:43             ` [Emacs-diffs] scratch/follow e8937ed: " John Wiegley
  0 siblings, 1 reply; 10+ messages in thread
From: Juri Linkov @ 2015-12-17 23:52 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel

> I think it would have to be `recenter-window-group', but is
> `recenter-group' really that ambiguous?  People have no problem with
> `recenter', which, if anything, is even more ambiguous.

I don't know why `recenter' is not `recenter-window'
like other existing functions e.g. `reposition-window'.
Maybe for historical reasons.  But `recenter-group'
will add more ambiguity: recenter what? what group?

> So, I think it would be possible to move some of the code from follow.el
> to window.el, but the interface between them would necessarily be
> thicker than just `follow-all-followers'.  It would have to include the
> "cache-invalid" flag (probably encapsulated in a function call), and the
> `follow-redisplay' function.  I'm not convinced that there would be any
> great gain in abstraction.

This abstraction is not needed as long as window groups are used
only in one package follow.el.



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

* Re: [Emacs-diffs] scratch/follow e8937ed: Replace GROUP argument in six window primitives by new functions.
  2015-12-17 23:52           ` Juri Linkov
@ 2015-12-18  0:43             ` John Wiegley
  2015-12-18 10:57               ` Alan Mackenzie
  0 siblings, 1 reply; 10+ messages in thread
From: John Wiegley @ 2015-12-18  0:43 UTC (permalink / raw)
  To: Juri Linkov; +Cc: Alan Mackenzie, emacs-devel

>>>>> Juri Linkov <juri@linkov.net> writes:

>> I think it would have to be `recenter-window-group', but is
>> `recenter-group' really that ambiguous? People have no problem with
>> `recenter', which, if anything, is even more ambiguous.

> I don't know why `recenter' is not `recenter-window' like other existing
> functions e.g. `reposition-window'. Maybe for historical reasons. But
> `recenter-group' will add more ambiguity: recenter what? what group?

I prefer recenter-window-group.  And maybe we should have `recenter-window' as
an alias for `recenter', just for consistency.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



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

* Re: [Emacs-diffs] scratch/follow e8937ed: Replace GROUP argument in six window primitives by new functions.
  2015-12-18  0:43             ` [Emacs-diffs] scratch/follow e8937ed: " John Wiegley
@ 2015-12-18 10:57               ` Alan Mackenzie
  2015-12-20 13:05                 ` Alan Mackenzie
  2015-12-22 19:19                 ` John Wiegley
  0 siblings, 2 replies; 10+ messages in thread
From: Alan Mackenzie @ 2015-12-18 10:57 UTC (permalink / raw)
  To: Juri Linkov, emacs-devel

Hello, John and Juri.

On Thu, Dec 17, 2015 at 04:43:12PM -0800, John Wiegley wrote:
> >>>>> Juri Linkov <juri@linkov.net> writes:

> >> I think it would have to be `recenter-window-group', but is
> >> `recenter-group' really that ambiguous? People have no problem with
> >> `recenter', which, if anything, is even more ambiguous.

> > I don't know why `recenter' is not `recenter-window' like other existing
> > functions e.g. `reposition-window'. Maybe for historical reasons. But
> > `recenter-group' will add more ambiguity: recenter what? what group?

> I prefer recenter-window-group.

OK, I'm outvoted.  :-)  I've changed the name in the source and
documentation, including changing `recenter-group-function' to
`recenter-window-group-function'.

The end of the week is fast approaching.  I think the time is now ripe
for merging this change into the emacs-25 branch.  Any more objections?

> And maybe we should have `recenter-window' as an alias for `recenter',
> just for consistency.

Or, maybe not.  `recenter' is surely a very old function indeed, and
will have grandfather rights to its name.  I think introducing the alias
(for which there seems no need) would foster confusion.

Also, there is `recenter-top-bottom', which for consistency, would also
want the alias `recenter-window-top-bottom'.

Assuming we have no intention of phasing out the existing names, I don't
think we should introduce the aliases.

> -- 
> John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
> http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [Emacs-diffs] scratch/follow e8937ed: Replace GROUP argument in six window primitives by new functions.
  2015-12-18 10:57               ` Alan Mackenzie
@ 2015-12-20 13:05                 ` Alan Mackenzie
  2015-12-22 19:19                 ` John Wiegley
  1 sibling, 0 replies; 10+ messages in thread
From: Alan Mackenzie @ 2015-12-20 13:05 UTC (permalink / raw)
  To: Juri Linkov, emacs-devel

Hello again, John and Juri.

On Fri, Dec 18, 2015 at 10:57:49AM +0000, Alan Mackenzie wrote:

[ .... ]

> The end of the week is fast approaching.  I think the time is now ripe
> for merging this change into the emacs-25 branch.  Any more objections?

I've merged branch scratch/follow into emacs-25 and closed bug #17453.

-- 
Alan Mackenzie (Nuremberg, Germany).



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

* Re: [Emacs-diffs] scratch/follow e8937ed: Replace GROUP argument in six window primitives by new functions.
  2015-12-18 10:57               ` Alan Mackenzie
  2015-12-20 13:05                 ` Alan Mackenzie
@ 2015-12-22 19:19                 ` John Wiegley
  1 sibling, 0 replies; 10+ messages in thread
From: John Wiegley @ 2015-12-22 19:19 UTC (permalink / raw)
  To: Alan Mackenzie; +Cc: emacs-devel, Juri Linkov

>>>>> Alan Mackenzie <acm@muc.de> writes:

> Also, there is `recenter-top-bottom', which for consistency, would also want
> the alias `recenter-window-top-bottom'.

> Assuming we have no intention of phasing out the existing names, I don't
> think we should introduce the aliases.

Agreed, I have no burning desire to add them either.

-- 
John Wiegley                  GPG fingerprint = 4710 CF98 AF9B 327B B80F
http://newartisans.com                          60E1 46C4 BD1A 7AC1 4BA2



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

end of thread, other threads:[~2015-12-22 19:19 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20151214165252.26784.43201@vcs.savannah.gnu.org>
     [not found] ` <E1a8WMm-0006yi-Di@vcs.savannah.gnu.org>
2015-12-15  1:30   ` [Emacs-diffs] scratch/follow e8937de: Replace GROUP argument in six window primitives by new functions John Wiegley
2015-12-15 13:15     ` Alan Mackenzie
2015-12-15 15:22       ` [Emacs-diffs] scratch/follow e8937ed: " John Wiegley
2015-12-16  0:39       ` [Emacs-diffs] scratch/follow e8937de: " Juri Linkov
2015-12-17 22:14         ` Alan Mackenzie
2015-12-17 23:52           ` Juri Linkov
2015-12-18  0:43             ` [Emacs-diffs] scratch/follow e8937ed: " John Wiegley
2015-12-18 10:57               ` Alan Mackenzie
2015-12-20 13:05                 ` Alan Mackenzie
2015-12-22 19:19                 ` John Wiegley

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