unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Karl Fogel <kfogel@red-bean.com>
To: Emacs Development <emacs-devel@gnu.org>
Subject: Questioning the new behavior of `open-line'.
Date: Wed, 11 Nov 2015 12:08:06 -0600	[thread overview]
Message-ID: <87vb98csu1.fsf@red-bean.com> (raw)

Recently, `open-line' has started behaving in a new way due to Arthur Malabarba's recent commits [1].  Here is how `open-line' behaves before and after the changes.

Suppose you have this text in a buffer, in just about any mode (i.e., not necessarily a programming language mode), and it is indented by two spaces as below:

  A lovely haiku
  An example for this bug
  For Emacs Devel

Now place point where the imaginary "X" is below and do C-o (`open-line'):

X A lovely haiku
  An example for this bug
  For Emacs Devel

Formerly, that would literally insert a newline, but not remove the the two spaces of indendation that come *after* the new newline (the two spaces right before "A lovely haiku").  So this would be the result:

[...this is the new line; imagine it's blank...]
  A lovely haiku
  An example for this bug
  For Emacs Devel

But after the recent commits, those two spaces are removed:

[...this is the new line; imagine it's blank...]
A lovely haiku
  An example for this bug
  For Emacs Devel

So now one can no longer just put point in column 0 and type C-o to open a line right before a block of indented text while preserving the block's indentation.

This is just a result of `electric-indent-mode' being on by default and `open-line' now being sensitive to `electric-indent-mode', I think.  But one of the things I always thought was good about `open-line' was that it *wasn't* sensitive that way -- that you could just put point in a column of your choice and insert a newline, and everything to the right of that column would be preserved after the newline.

Arthur was well aware of this change, and even asked about it in his first post in the thread "A few questions about open-line" [2]:

> 3. I think, when electric-indent-mode is on, open-line should indent
> the line that was created below if it isn't empty. May I go ahead?

Had I seen that question at the time, I would have answered "Oh, please don't" :-).  But maybe mine is a minority opinion?  I encounter the new behavior several times a day, and don't like it; turning off `electric-indent-mode' seems like a drastic solution.  But if people generally like this new behavior, I'll certainly live with being in the minority and figure out the appropritae local customization.

So do we think this new behavior is the right one?

(If it stays, then I'll add an item to NEWS about it.)

Best regards,
-Karl

[1] These two commits (note you have to take them together, as the earlier one accidentally leaves open-line in a syntactically invalid state, and the later one corrects that):

  commit bd4f04f86cea893e3369decdda074a4898491518
  Author: Artur Malabarba <bruce.connor.am@gmail.com>
  Date:   Sat Oct 24 22:26:27 2015 +0100
  
      * lisp/simple.el (open-line): Integrate with electric-indent-mode
      
      Also run `post-self-insert-hook' when called interactively.
  
  M	lisp/simple.el
  
  commit 6939896e2ffe2e742954c14bba6129af456f0857
  Author: Artur Malabarba <bruce.connor.am@gmail.com>
  Date:   Sat Oct 24 22:24:09 2015 +0100
  
      * lisp/simple.el (open-line): Fix docstring
      
      Also explain apparently redundant line.
  
  M	lisp/simple.el

[2] https://lists.gnu.org/archive/html/emacs-devel/2015-10/threads.html#02107



             reply	other threads:[~2015-11-11 18:08 UTC|newest]

Thread overview: 65+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-11 18:08 Karl Fogel [this message]
2015-11-11 18:51 ` Questioning the new behavior of `open-line' John Wiegley
2015-11-11 18:58   ` Karl Fogel
2015-11-11 19:07     ` Eli Zaretskii
2015-11-11 19:13       ` John Wiegley
2015-11-11 19:39         ` Karl Fogel
2015-11-11 20:11           ` Eli Zaretskii
2015-11-11 20:17             ` John Wiegley
2015-11-11 20:33               ` Karl Fogel
2015-11-11 20:37               ` Alan Mackenzie
2015-11-11 20:46               ` Eli Zaretskii
2015-11-11 20:58                 ` John Wiegley
2015-11-11 21:08                   ` Karl Fogel
2015-11-11 21:13                     ` John Wiegley
2015-11-12  7:59                       ` Karl Fogel
2015-11-11 21:53                     ` David Kastrup
2015-11-11 21:52               ` David Kastrup
2015-11-12  0:08                 ` Rasmus
2015-11-12  8:06                   ` Karl Fogel
2015-11-12 10:00                     ` Artur Malabarba
2015-11-12 11:08                       ` Rasmus
2015-11-12 11:18                         ` Andreas Schwab
2015-11-12 13:11                         ` Artur Malabarba
2015-11-12 14:16                           ` Rasmus
2015-11-12 14:44                             ` Yuri Khan
2015-11-12 14:52                               ` Rasmus
2015-11-12 14:54                                 ` Yuri Khan
2015-11-12 15:38                                   ` David Kastrup
2015-11-12 16:20                                     ` Karl Fogel
2015-11-12 16:33                                       ` Pierpaolo Bernardi
     [not found]                                         ` <CAAdUY-LVoXm-c+Cv8Gx6h+d40YDoK4rJp1U6Tw+Gc+yCOVee=g@mail.gmail.com>
2015-11-13  1:17                                           ` Artur Malabarba
2015-11-13  6:04                                             ` Pierpaolo Bernardi
2015-11-14 12:34                                               ` Artur Malabarba
2015-11-14 19:39                                                 ` David Kastrup
2015-11-17  0:42                                                   ` Karl Fogel
2015-11-17  0:53                                                     ` Karl Fogel
2015-11-17  3:46                                                     ` John Wiegley
2015-11-17 22:57                                                       ` Richard Stallman
2015-11-17 23:16                                                         ` John Wiegley
2015-11-18 17:25                                                           ` Andreas Röhler
2015-11-17 23:20                                                     ` Artur Malabarba
2015-11-18 20:32                                                       ` Karl Fogel
2015-11-18 21:03                                                         ` Artur Malabarba
2015-11-19 23:34                                                           ` Karl Fogel
2015-11-19 23:57                                                             ` Artur Malabarba
2015-11-14 21:59                                                 ` Karl Fogel
2015-11-12 14:57                                 ` David Kastrup
2015-11-12 16:09                             ` Artur Malabarba
2015-11-12 15:26                               ` Rasmus
2015-11-11 20:15         ` Eli Zaretskii
2015-11-11 20:28           ` John Wiegley
2015-11-11 20:55             ` Eli Zaretskii
2015-11-11 21:00               ` John Wiegley
2015-11-11 21:16                 ` Eli Zaretskii
2015-11-11 21:17                 ` Alan Mackenzie
2015-11-11 21:30                   ` John Wiegley
2015-11-11 22:40                 ` Artur Malabarba
2015-11-11 19:20       ` Paul Eggert
2015-11-11 19:25         ` John Wiegley
2015-11-11 20:13         ` Eli Zaretskii
2015-11-11 21:50 ` David Kastrup
2015-11-11 22:24 ` Artur Malabarba
2015-11-11 21:31   ` John Wiegley
2015-11-11 21:46     ` Karl Fogel
2015-11-12  7:38 ` Andreas Röhler

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=87vb98csu1.fsf@red-bean.com \
    --to=kfogel@red-bean.com \
    --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).