emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] emacs-25 c593538: Revert `open-line' electric-indent sensi


From: Karl Fogel
Subject: [Emacs-diffs] emacs-25 c593538: Revert `open-line' electric-indent sensitivity
Date: Thu, 19 Nov 2015 23:32:57 +0000

branch: emacs-25
commit c593538968a6d6c3d03da9ef6f489da6210e70e1
Author: Karl Fogel <address@hidden>
Commit: Karl Fogel <address@hidden>

    Revert `open-line' electric-indent sensitivity
    
    * lisp/simple.el (open-line): Remove electric indent code.
      (electric-indent-just-newline): Don't declare.
    
    * test/automated/simple-test.el (open-line-indent): Adjust test.
    
    This partly reverts Artur Malabarba's change that added electric
    indent sensitivity to `open-line' (Oct 24 22:26:27 2015 +0100, git
    commit bd4f04f86), and adjusts a new test he added right afterwards
    (Sat Oct 24 23:43:06 2015 +0100, git commit 207f235e3) accordingly.
    However, the new INTERACTIVE argument to `open-line', which he also
    added in the first commit, is not reverted here.
    
    See the thread "Questioning the new behavior of `open-line'." on the
    Emacs Devel mailing list, and in particular this message:
    
      From: Artur Malabarba
      Subject: Re: Questioning the new behavior of `open-line'.
      To: Karl Fogel
      Cc: David Kastrup, Pierpaolo Bernardi, emacs-devel
      Date: Wed, 18 Nov 2015 21:03:58 +0000
      Message-ID: \
        <address@hidden>
    
      https://lists.gnu.org/archive/html/emacs-devel/2015-11/msg01707.html
---
 lisp/simple.el                |   12 ++----------
 test/automated/simple-test.el |   17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 11 deletions(-)

diff --git a/lisp/simple.el b/lisp/simple.el
index dc19bd6..8b57bf0 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -458,15 +458,10 @@ A non-nil INTERACTIVE argument means to run the 
`post-self-insert-hook'."
        (put-text-property from (point) 'rear-nonsticky
                           (cons 'hard sticky)))))
 
-(declare-function electric-indent-just-newline "electric")
 (defun open-line (n &optional interactive)
   "Insert a newline and leave point before it.
-If `electric-indent-mode' is enabled, indent the new line if it's
-not empty.
 If there is a fill prefix and/or a `left-margin', insert them on
-the new line.  If the old line would have been blank, insert them
-on the old line as well.
-
+the new line if the line would have been blank.
 With arg N, insert N newlines.
 A non-nil INTERACTIVE argument means to run the `post-self-insert-hook'."
   (interactive "*p\np")
@@ -475,10 +470,7 @@ A non-nil INTERACTIVE argument means to run the 
`post-self-insert-hook'."
         (loc (point-marker))
          ;; Don't expand an abbrev before point.
         (abbrev-mode nil))
-    (if (and interactive
-             (looking-at-p "[[:space:]]*$"))
-        (electric-indent-just-newline n)
-      (newline n interactive))
+    (newline n interactive)
     (goto-char loc)
     (while (> n 0)
       (cond ((bolp)
diff --git a/test/automated/simple-test.el b/test/automated/simple-test.el
index 07b5eaa..7e0dbb7 100644
--- a/test/automated/simple-test.el
+++ b/test/automated/simple-test.el
@@ -138,6 +138,21 @@
                      (open-line 1)))
                  '("- - " . "\n(a b c d)"))))
 
+;; For a while, from 24 Oct - 19 Nov 2015, `open-line' in the Emacs
+;; development tree became sensitive to `electric-indent-mode', which
+;; it had not been before.  This sensitivity was reverted for the
+;; Emacs 25 release, so it could be discussed further (see thread
+;; "Questioning the new behavior of `open-line'." on the Emacs Devel
+;; mailing list).  The only test case here that started failing after
+;; the reversion is the third one, the one that currently expects
+;; `("(a b" . "\n   \n   c d)")'.  If `open-line' were again sensitive
+;; to electric indent, then the three spaces between the two newlines
+;; would go away, leaving `("(a b" . "\n\n   c d)")'.
+;;
+;; If electric indent sensitivity were re-enabled, we might also want
+;; to make the test cases below a bit stricter, or add some more test
+;; cases that are specific to `electric-indent-mode', since right now
+;; all but one of the cases pass with or without electric indent.
 (ert-deftest open-line-indent ()
   (should (equal (simple-test--dummy-buffer
                    (electric-indent-local-mode 1)
@@ -152,7 +167,7 @@
                    (let ((current-prefix-arg nil))
                      (call-interactively #'open-line)
                      (call-interactively #'open-line)))
-                 '("(a b" . "\n\n   c d)")))
+                 '("(a b" . "\n   \n   c d)")))
   (should (equal (simple-test--dummy-buffer
                    (electric-indent-local-mode 1)
                    (open-line 5 'interactive))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]