unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: emacs-devel@gnu.org
Subject: Re: require-hard-newlines to use newline
Date: Mon, 7 Mar 2005 18:50:35 -0600 (CST)	[thread overview]
Message-ID: <200503080050.j280oZF28714@raven.dms.auburn.edu> (raw)
In-Reply-To: <87sm373fah.fsf@ID-87814.user.uni-berlin.de> (message from Oliver Scholz on Mon, 07 Mar 2005 11:45:42 +0100)

Oliver Scholz wrote:

   If I understand things correctly, the problem would go away, if
   require-f-n would just add the newline when writing the file but not
   to the buffer (a bit similar to a function in
   `write-region-annotate-functions') .

That would be OK for longlines to do but not for Emacs in general.
Some people are already (very) upset that certain modes add newlines
behind their back.  The added newline is not easy to spot in the
buffer.  Going trough the effort of actually _completely_ hiding it
would make matters worse.

But longlines _already_ puts newlines in the buffer that are not present
in the file and will _not_ be saved into it, so for longlines to do it
would make sense.

I would suggest that we keep writing a _soft_ newline to the end of
the file (unless a newline, soft or hard, is already present) if both
require-final-newline and use-hard-newlines are enabled, but that
_only_ longlines handle it differently.

Longlines treats soft and hard newlines similarly to the way for
instance the AbiWord word processor does, which is very different from
the way Enriched mode treats them.  Soft newlines do not exist in the
actual file.  Every newline occurring in the file is a hard newline.
Using longlines-mode for a file apparently only makes sense if you
always use it if you edit that file (for instance, if you set it
through a file local variable).  I suggest that longlines treats final
newlines the same way AbiWord does.  _Always_ add one internal final
newline to the file (_maybe_ even regardless of require-final-newline),
that _never_ shows up in the buffer.  (But _tell_ the user in the docs
that you are doing so.)  Applications that insist on a final newline
will not recognize the extra newline as internal and will be happy.

Note that Enriched mode, in contrast with AbiWord and longlines stores
soft newlines as a single newline and sequences of N hard newlines as
sequences of N + 1 newlines, in line with RFC1896.

Sincerely,

Luc.

  reply	other threads:[~2005-03-08  0:50 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-03-06  2:18 require-hard-newlines to use newline Chong Yidong
2005-03-07  5:02 ` Richard Stallman
2005-03-07 10:45   ` Oliver Scholz
2005-03-08  0:50     ` Luc Teirlinck [this message]
2005-03-08  1:43       ` Luc Teirlinck
2005-03-08  2:52     ` Richard Stallman
2005-03-08  1:31   ` Luc Teirlinck
  -- strict thread matches above, loose matches on Subject: below --
2005-03-02  2:26 (no subject) Chong Yidong
2005-03-02  3:02 ` Luc Teirlinck
2005-03-02  3:26   ` require-hard-newlines to use newline Chong Yidong
2005-03-02  3:55     ` Luc Teirlinck
2005-03-03  2:29     ` Richard Stallman
2005-03-03  2:49       ` Chong Yidong
2005-03-03 20:57         ` Richard Stallman
2005-03-03 22:32           ` Chong Yidong
2005-03-04  0:33             ` Luc Teirlinck
2005-03-04  0:56               ` Chong Yidong
2005-03-04  1:40                 ` Miles Bader
2005-03-04  6:02                   ` Chong Yidong
2005-03-04  9:55                     ` David Kastrup
2005-03-04 23:46                   ` Richard Stallman
2005-03-08  0:05                     ` Luc Teirlinck
2005-03-08  2:10                       ` Chong Yidong
2005-03-08  3:09                         ` Luc Teirlinck
2005-03-08  4:28                         ` Luc Teirlinck
2005-03-08 15:45                           ` Luc Teirlinck
2005-03-08 16:42                             ` Chong Yidong
2005-03-08 18:04                               ` Stefan Monnier
2005-03-08 18:12                                 ` Luc Teirlinck
2005-03-08 19:02                                   ` Stefan Monnier
2005-03-08 18:26                                 ` Luc Teirlinck
2005-03-08 16:03                       ` Richard Stallman
2005-03-08 16:39                         ` Chong Yidong
2005-03-09  9:45                           ` Chong Yidong
2005-03-11  1:46                           ` Richard Stallman
2005-03-11  9:10                             ` Chong Yidong
2005-03-11 10:25                               ` Kim F. Storm
2005-03-11 13:03                                 ` Chong Yidong
2005-03-11 14:32                                   ` Stefan Monnier
2005-03-11 14:57                                     ` Kim F. Storm
2005-03-11 15:08                                       ` Chong Yidong
2005-03-11 15:28                                         ` Stefan Monnier
2005-03-11 15:13                                       ` Chong Yidong
2005-03-11 15:30                                       ` Stefan Monnier
2005-03-11 16:11                                         ` Chong Yidong
2005-03-11 17:32                                           ` Stefan Monnier
2005-03-12  2:40                                             ` Chong Yidong
2005-03-11 22:29                                           ` Kim F. Storm
2005-03-12  2:23                                             ` Chong Yidong
2005-03-12 22:16                                   ` Richard Stallman
2005-03-12 23:53                                     ` Stefan Monnier
2005-03-14  3:00                                       ` Richard Stallman
2005-03-13  6:14                                     ` Chong Yidong
2005-03-14  3:00                                       ` Richard Stallman
2005-03-14  3:42                                         ` Chong Yidong
2005-03-15 18:39                                           ` Richard Stallman
2005-03-12 22:16                               ` Richard Stallman
2005-03-04 23:45             ` Richard Stallman
2005-03-05  2:03               ` Chong Yidong
2005-03-06  0:41                 ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200503080050.j280oZF28714@raven.dms.auburn.edu \
    --to=teirllm@dms.auburn.edu \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).