GNU bug report logs -
#70622
[PATCH] New window parameter 'cursor-type'
Previous Next
Reported by: Eshel Yaron <me <at> eshelyaron.com>
Date: Sun, 28 Apr 2024 06:29:01 UTC
Severity: normal
Tags: patch
Fixed in version 30.1
Done: Eshel Yaron <me <at> eshelyaron.com>
Bug is archived. No further changes may be made.
Full log
Message #26 received at 70622 <at> debbugs.gnu.org (full text, mbox):
> From: Eshel Yaron <me <at> eshelyaron.com>
> Cc: rudalics <at> gmx.at, 70622 <at> debbugs.gnu.org
> Date: Mon, 29 Apr 2024 10:18:33 +0200
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > I still don't think I understand the difficultly. The "window
> > parameter not set" can be detected by testing whether cursor-type is
> > an element in the alist returned by window-parameters, couldn't it?
>
> Perhaps I'm missing something, but I think it's not so simple. We
> can't/shouldn't interpret a value of nil differently from no alist entry
> at all, since there's no way to remove alist entries (in order to unset
> the window parameter) from lisp, right?
Why is the ability to remove important?
> > It is confusing to have several parameters and variables with a
> > similar semantics that each require special quirks to get the same
> > effect. We should try to make the forms of the values of such
> > variables and parameters be uniform.
>
> Agreed. If we could use exactly the same format for the values of the
> variable and window parameter that would be best. But AFAIU we need
> some encoding (special quirk) when translating from variable values (VV)
> to window parameter values (WPV), due to the competing interpretations
> for nil. The first encoding I proposed is simple and uniform: cons to
> go from VV to WPV, car to go the other way. The alternative encoding I
> proposed below, following mode-line-format, is trivial for most VV, but
> not uniform, because one needs to translate nil to 'none when going from
> VV to WPV.
>
> >> Alternatively, we can use the exact same format for the window
> >> parameter as we do for the variable, except we interpret a window
> >> parameter nil value as "window parameter unset", not "no cursor", and
> >> instead add another value for the window parameter, 'none, that'll
> >> correspond to the nil value of the variable (so window parameter 'none
> >> would say not to show the cursor).
> >
> > That's possible, but doesn't the absence of cursor-type parameter from
> > window-parameters already allow to solve that?
>
> See above. Please let me know if I'm mistaken about the possibility of
> differentiating a value of nil from the absence of an alist entry.
>
> >> This is in line with what we have
> >> for the mode-line-format variable and window parameter, for example.
> >
> > Where do we use this convention for window parameters?
>
> See "(elisp) Window Parameters":
>
> ‘mode-line-format’
> This parameter replaces the value of the buffer-local variable
> ‘mode-line-format’ (*note Mode Line Basics::) of this window's
> buffer whenever this window is displayed. The symbol ‘none’ means
> to suppress display of a mode line for this window.
>
> Here the window parameter has the same set of possible values as the
> variable, except the window parameter also has the value 'none, which
> corresponds to the variable's nil value. The nil value of the window
> parameter means "window parameter not set".
If this is unavoidable (which I'm not yet sure), we can use this. But
let's first hear from Martin, maybe there are better ideas.
This bug report was last modified 1 year and 96 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.