Subject: bug#34671: 27.0.50; Outdated code listings in (elisp) Example Major Modes

From: "Basil L. Contovounesios" <[email-masked]>
Date: Fri, 01 Mar 2019 19:46:31 +0000

Eli Zaretskii <[email-masked]> writes:

>> The first patch reconciles the code listings in the manual with the
>> current state of the corresponding libraries.
>
> This part is definitely OK, please push to the emacs-26 branch.

Sorry, I don't have write access, so someone else will have to do that.
BTW, is one expected to be a package author before it is acceptable to
request write access, or is it a matter of amassing enough flight hours?

>> The second patch enables lexical-binding in text-mode.el along with some
>> minor aesthetic changes.
>
> I don't see the need for parts of this patch.  Enabling
> lexical-binding is OK, but it should be a separate change unrelated to
> this bug report.

Should I submit a new bug report for that, or message emacs-devel?

> And I'm not sure I see the reason for the other changes, nor even
> agree with them.  In particular, please modify whitespace only where
> you actually make other non-trivial changes.

(Oops, looking back I accidentally mangled some Texinfo escape
characters by copy-pasting.)

I agree with this principle, but simply thought that a file-wide change
like enabling lexical-binding was sufficient excuse for minor "cleanups"
along the way.  I'm sorry the proposed changes weren't clean enough.

I assume the parts of the patch you're least keen on are:

* lisp/textmodes/text-mode.el (text-mode-syntax-table): Align comments
to comment-column.
(toggle-text-mode-auto-fill): Hoist save-current-buffer out of loop.
(center-region): Tiny simplification.

but that you're okay with the following:

* lisp/textmodes/text-mode.el: Use lexical-binding.
(text-mode-map, text-mode): Refill docstring.
(text-mode, paragraph-indent-minor-mode, text-mode-hook-identify):
Use setq-local.
(center-line): Tiny simplification.

Let me know and I will send updated patch(es) to a new ticket/thread.

>> The last patch fulfils an old promise in the manual to eventually forgo
>> setting indent-line-function in text-mode, which is considered
>> redundant.
>
> What if the user customizes the default values, shouldn't text-mode
> reset that in the buffer where it is turned on?

I can think of two reasons for keeping the reset in text-mode:

0. If text-mode breaks when indent-line-function is set to anything
   other than indent-relative.

   I'm not sure, but I don't think this is the case, as I set the
   variable in text-mode-hook for a while without any noticeable
   fallout.

1. To avoid a user-visible change of behaviour with user configurations
   (like mine) which change the default global value of
   indent-line-function.

The only reason (I can think of) to remove the reset is in order to
fulfil the relevant promise in the manual.

Keeping the reset is clearly less risky.  I don't mind either way, so
long as the side-note in the manual accurately reflects future
intentions.

Thanks,

-- 
Basil