GNU bug report logs -
#37213
Execute set-window-margins. left-margin-width remains 0.
Previous Next
Reported by: Alan Mackenzie <acm <at> muc.de>
Date: Wed, 28 Aug 2019 18:54:01 UTC
Severity: normal
Done: Alan Mackenzie <acm <at> muc.de>
Bug is archived. No further changes may be made.
Full log
Message #14 received at 37213 <at> debbugs.gnu.org (full text, mbox):
> Date: Wed, 28 Aug 2019 19:57:06 +0000
> Cc: 37213 <at> debbugs.gnu.org
> From: Alan Mackenzie <acm <at> muc.de>
>
> > I don't think this is a bug. This variable is for _setting_ the
> > margin width, not for _returning_ its width as set "by other means".
> > See its documentation.
>
> The documentation says "This variable specifies the width of the left
> margin". As best, this is unclear. What you're saying is that the
> variable ceases to specify that width, should the margin be altered by
> other means.
>
> I maintain that this is either a bug in the documentation, or in the
> code.
I'm okay with clarifying the documentation, but let's first agree what
needs clarifying there.
> If the former, it should explicitly state that the variable is
> write-only, and its read value is undefined. It should say that the
> function window-margins should be used instead.
>
> But it might be easier just to amend the code. There appear to be just
> two ways to set the width of the left margin (or the right margin), so
> if it gets set the second way, why not just set that variable? Could
> this do any harm? (Note: I haven't looked at the code, yet.)
Think about it: left-margin-width is a per-buffer variable. A buffer
can be displayed in zero or more windows, and the margin is a window
property. How can a single buffer-local variable reflect a value that
can be different in different windows, and can even be meaningless if
the buffer is not displayed in any window?
What happens in the code is that when a buffer is displayed in a
window, this variable is consulted, and the window's margin-width
attribute set accordingly. The window margins can grow or shrink
thereafter, and the function window-margins then returns this window
attribute's value at any given moment for a specific window.
This bug report was last modified 5 years and 325 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.