unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* require-final-newline
@ 2005-03-05 19:53 Luc Teirlinck
  2005-03-06 19:10 ` require-final-newline Richard Stallman
  0 siblings, 1 reply; 6+ messages in thread
From: Luc Teirlinck @ 2005-03-05 19:53 UTC (permalink / raw)


This is related with an issue discussed in another thread
(require-hard-newlines to use newline), but is more general.

In Emacs 21.3, Text mode did not override the default value of
require-final-newline.  In current CVS, it does via
mode-require-final-newline.  Is there a reason for that?  I can see a
reason for some specific derived modes, but these derived modes could
use mode-require-final-newline themselves, instead of letting the
parent mode do it for them.

Also, nil _is_ a valid value for mode-require-final-newline.  But the
docstring is not very explicit about that and you can not set it to
nil via Custom.  If you set it to nil outside Custom, Custom will
falsely describe the value as `ask', which is a bug.  Would it be good
to have the docstring mention this explicitly and allow it to be set
to nil via Custom with proper warning of the involved dangers (which
would fix the bug)?

Sincerely,

Luc.

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

* Re: require-final-newline
  2005-03-05 19:53 require-final-newline Luc Teirlinck
@ 2005-03-06 19:10 ` Richard Stallman
  2005-03-07  1:29   ` require-final-newline Luc Teirlinck
  2005-03-07  1:41   ` require-final-newline Luc Teirlinck
  0 siblings, 2 replies; 6+ messages in thread
From: Richard Stallman @ 2005-03-06 19:10 UTC (permalink / raw)
  Cc: emacs-devel

    In Emacs 21.3, Text mode did not override the default value of
    require-final-newline.  In current CVS, it does via
    mode-require-final-newline.  Is there a reason for that?

I don't remember the reason, but I remember there was one.
I think that specific point was discussed in this list
a few months ago.

    Also, nil _is_ a valid value for mode-require-final-newline.  But the
    docstring is not very explicit about that and you can not set it to
    nil via Custom.  If you set it to nil outside Custom, Custom will
    falsely describe the value as `ask', which is a bug.

I will fix that.

      Would it be good
    to have the docstring mention this explicitly and allow it to be set
    to nil via Custom with proper warning of the involved dangers

I don't know how to make Custom issue warnings.

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

* Re: require-final-newline
  2005-03-06 19:10 ` require-final-newline Richard Stallman
@ 2005-03-07  1:29   ` Luc Teirlinck
  2005-03-07  1:41     ` require-final-newline Stefan Monnier
  2005-03-08  2:51     ` require-final-newline Richard Stallman
  2005-03-07  1:41   ` require-final-newline Luc Teirlinck
  1 sibling, 2 replies; 6+ messages in thread
From: Luc Teirlinck @ 2005-03-07  1:29 UTC (permalink / raw)
  Cc: Stefan Monnier, emacs-devel

Richard Stallman wrote:
       
       In Emacs 21.3, Text mode did not override the default value of
       require-final-newline.  In current CVS, it does via
       mode-require-final-newline.  Is there a reason for that?

   I don't remember the reason, but I remember there was one.
   I think that specific point was discussed in this list
   a few months ago.

Actually, the decision to replace the old _way_ to override the
default value of `require-final-newline' with a new one based on
`mode-require-final-newline' was made a few months ago.  Maybe I
caused confusion by mentioning `mode-require-final-newline'.  I was
not asking about the _implementation change_.  The real question I
wanted to ask was:

       In Emacs 21.3, Text mode did not override the default value of
       require-final-newline.  In current CVS, it does.  Is there a
       reason for that?

Here, the relevant change was made more than two years ago:

2002-09-02  Stefan Monnier  <monnier@cs.yale.edu>

	    * textmodes/text-mode.el
              (paragraph-indent-text-mode-abbrev-table)
	      (paragraph-indent-text-mode-syntax-table,
              paragraph-indent-text-mode):
	      Use text-mode's syntax-table and abbrev-table.
	      (text-mode): Set require-final-newline to t.

Sincerely,

Luc.

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

* Re: require-final-newline
  2005-03-07  1:29   ` require-final-newline Luc Teirlinck
@ 2005-03-07  1:41     ` Stefan Monnier
  2005-03-08  2:51     ` require-final-newline Richard Stallman
  1 sibling, 0 replies; 6+ messages in thread
From: Stefan Monnier @ 2005-03-07  1:41 UTC (permalink / raw)
  Cc: rms, emacs-devel

>        In Emacs 21.3, Text mode did not override the default value of
>        require-final-newline.  In current CVS, it does.  Is there a
>        reason for that?

> Here, the relevant change was made more than two years ago:

> 2002-09-02  Stefan Monnier  <monnier@cs.yale.edu>

> 	    * textmodes/text-mode.el
>               (paragraph-indent-text-mode-abbrev-table)
> 	      (paragraph-indent-text-mode-syntax-table,
>               paragraph-indent-text-mode):
> 	      Use text-mode's syntax-table and abbrev-table.
> 	      (text-mode): Set require-final-newline to t.

Hmmm... I didn't expect my name to show up here.
I must say I can't remember why I set require-final-newline to t there.
And in retrospect and given all the discussions about require-final-newline,
I wouldn't mind if someone reverts this part of the above change.


        Stefan

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

* Re: require-final-newline
  2005-03-06 19:10 ` require-final-newline Richard Stallman
  2005-03-07  1:29   ` require-final-newline Luc Teirlinck
@ 2005-03-07  1:41   ` Luc Teirlinck
  1 sibling, 0 replies; 6+ messages in thread
From: Luc Teirlinck @ 2005-03-07  1:41 UTC (permalink / raw)
  Cc: emacs-devel

Richard Stallman wrote:
	 
	 Would it be good
       to have the docstring mention this explicitly and allow it to be set
       to nil via Custom with proper warning of the involved dangers

   I don't know how to make Custom issue warnings.

I meant putting a warning message in the Custom buffer if nil is
chosen from the value menu, using the :doc keyword.  But on second
thought, I do not believe that such a warning is necessary.  The
docstring of `mode-require-final-newline' already says:

  Those modes set `require-final-newline' to this value when you enable
  them.  They do so because they are used for files that are supposed to
  end in newlines, and the question is how to arrange that.

If the user sets the option to nil, he knows that he chooses to
arrange for that by remembering to do it manually (or by using
software that can handle files without final newline).

Sincerely,

Luc.

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

* Re: require-final-newline
  2005-03-07  1:29   ` require-final-newline Luc Teirlinck
  2005-03-07  1:41     ` require-final-newline Stefan Monnier
@ 2005-03-08  2:51     ` Richard Stallman
  1 sibling, 0 replies; 6+ messages in thread
From: Richard Stallman @ 2005-03-08  2:51 UTC (permalink / raw)
  Cc: monnier, emacs-devel

	   In Emacs 21.3, Text mode did not override the default value of
	   require-final-newline.  In current CVS, it does.  Is there a
	   reason for that?

I think we did discuss that question leading up to my decision
to introduce mode-require-final-newline.  However, there is
probably more discussion in August or September 2002.

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

end of thread, other threads:[~2005-03-08  2:51 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-03-05 19:53 require-final-newline Luc Teirlinck
2005-03-06 19:10 ` require-final-newline Richard Stallman
2005-03-07  1:29   ` require-final-newline Luc Teirlinck
2005-03-07  1:41     ` require-final-newline Stefan Monnier
2005-03-08  2:51     ` require-final-newline Richard Stallman
2005-03-07  1:41   ` require-final-newline Luc Teirlinck

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