[PATCH 0/2] re-enable line wrapping and add some header bling
Jani Nikula
jani at nikula.org
Fri Jan 27 00:22:54 PST 2012
On Fri, 27 Jan 2012 06:52:46 +0000, David Edmondson <dme at dme.org> wrote:
> On Thu, 26 Jan 2012 20:17:49 +0400, Dmitry Kurochkin <dmitry.kurochkin at gmail.com> wrote:
> > I did not review the code, but here is a general comment for both
> > patches (but especially for the first one). It would be nice to have a
> > more detailed documentation for hooks. Docstring like "Enable Visual
> > Line mode." for a function named `notmuch-show-turn-on-visual-line-mode'
> > is near useless. It is quite obvious that the function enables
> > visual-line-mode from it's name. And it does not give any information
> > on why would someone actually want to use it. I do not remember what
> > visual-line-mode is exactly, so to understand whether this hook is
> > actually useful for me, I have to read visual-line-mode docs, think
> > about how it helps in notmuch-show, read some code, perhaps, etc. I
> > would argue that since the hook itself is trivial, the main point in
> > having it is to provide a clearly documented solution for a common
> > problem for those who do not know how to solve this problem right away.
> > Currently, those who know what visual-line-mode is do not need this
> > hook, because they can easily write their own, and those who do not know
> > what visual-line-mode is can not use this hook, because it says nothing
> > about why it is actually useful.
> >
> > Also, in addition to better docs, I would rename
> > `notmuch-show-turn-on-visual-line-mode' to something that reflects what
> > it does from user POV (like the other two hooks).
> >
> > Though, the fact that the hook is enabled by default makes the above
> > arguments less important, I guess.
>
> I have a bunch of somewhat conflicting thoughts about this:
> - Being able to configure the behaviour without having to change the
> core code is good, so implementing behaviour using hook functions is
> useful.
> - Things should behave well in the default configuration, so most of
> the hook functions are enabled by default.
> - Everything can't be hook functions, so there's a balance to be made
> between implementing things as in-line code and via hook functions.
> - Most users shouldn't need to modify any of the hooks.
> - Documentation that explains what a hook function is about is
> obviously good.
> - Documenting something that is external to notmuch can be both
> wasteful and risky.
>
> Wasteful because such documentation typically already exists and
> risky because the precise behaviour of external components is not
> under our control.
>
> For example, the documentation for `visual-line-mode' is both
> concise and good, so there's little point in repeating it and, of
> course, the exact details of what `visual-line-mode' does can be
> changed by the Emacs developers. One would expect that they would
> update the documentation for `visual-line-mode' in such situations,
> which would leave any cloned documentation in an incorrect state.
>
> Hence, I would probably take issue with your statement:
>
> > I would argue that since the hook itself is trivial, the main point in
> > having it is to provide a clearly documented solution for a common
> > problem for those who do not know how to solve this problem right
> > away.
>
> That's not the intention of the hook functions under discussion
> here. They are hook functions so that a curious and interested user can
> make a change based on some aesthetic preference. The are not about
> solving problems with the default configuration.
>
> I think that `turn-on-visual-line-mode' (or the package local derivative
> of it that was chosen) is precisely the right name for a function that
> enables `visual-line-mode'. It describes perfectly and succinctly what
> the function does and provides a pointer to follow to find out more (the
> documentation for `visual-line-mode') without a user even having to
> examine the documentation of the function itself.
Agree completely.
Concrete suggestion:
+(defun notmuch-show-turn-on-visual-line-mode ()
+ "Enable `visual-line-mode'."
+ (visual-line-mode t))
To provide a link to the visual-line-mode documentation.
> All of that said, I'd agree that the documentation of
> `notmuch-show-indent-continuations' could have been better. How about:
> "Indent any continuation lines in the current headers."
> ?
Sounds good.
BR,
Jani.
More information about the notmuch
mailing list