emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 23e9bef 1/5: Merge from emacs-26


From: Noam Postavsky
Subject: [Emacs-diffs] master 23e9bef 1/5: Merge from emacs-26
Date: Sun, 10 Jun 2018 19:03:39 -0400 (EDT)

branch: master
commit 23e9beff8cb950112fb9f750d4b3040d3fe36e05
Merge: f4e9cea f21fa14
Author: Noam Postavsky <address@hidden>
Commit: Noam Postavsky <address@hidden>

    Merge from emacs-26
    
    55c9bb9f3c Fix comint-get-old-input-default for output field case (Bu...
    26819cd1c0 ; ChangeLog.3: Fix typo.
    e35a08ea4b Prevent infloop in 'delete-trailing-whitespace'
    
    * lisp/progmodes/cperl-mode.el:
    * lisp/progmodes/cc-engine.el:
    * lisp/progmodes/cc-mode.el: Fix tabs mixed with space preventing
    commit hook from succeeding.
---
 ChangeLog.3                  |  2 +-
 lisp/comint.el               |  8 +++++---
 lisp/progmodes/cc-engine.el  | 12 ++++++------
 lisp/progmodes/cc-mode.el    |  4 ++--
 lisp/progmodes/cperl-mode.el |  2 +-
 lisp/simple.el               |  5 +++--
 6 files changed, 18 insertions(+), 15 deletions(-)

diff --git a/ChangeLog.3 b/ChangeLog.3
index 42452c3..6704d0d 100644
--- a/ChangeLog.3
+++ b/ChangeLog.3
@@ -37197,7 +37197,7 @@
        delete-trailing-whitespace: handle read-only text in buffer
 
        * lisp/simple.el (region-modifiable-p): New function.
-       (delete-trailing-whitespace): Us it to avoid trying to delete read-only 
text.
+       (delete-trailing-whitespace): Use it to avoid trying to delete 
read-only text.
 
 2016-12-07  Paul Eggert  <address@hidden>
 
diff --git a/lisp/comint.el b/lisp/comint.el
index 0a33e74..f334a4c 100644
--- a/lisp/comint.el
+++ b/lisp/comint.el
@@ -2255,14 +2255,16 @@ current line, if point is on an output field.
 If `comint-use-prompt-regexp' is non-nil, then return
 the current line with any initial string matching the regexp
 `comint-prompt-regexp' removed."
-  (let (bof)
+  (let (field-prop bof)
     (if (and (not comint-use-prompt-regexp)
              ;; Make sure we're in an input rather than output field.
-             (null (get-char-property (setq bof (field-beginning)) 'field)))
+             (not (setq field-prop (get-char-property
+                                    (setq bof (field-beginning)) 'field))))
        (field-string-no-properties bof)
       (comint-bol)
       (buffer-substring-no-properties (point)
-                                     (if comint-use-prompt-regexp
+                                      (if (or comint-use-prompt-regexp
+                                              (eq field-prop 'output))
                                          (line-end-position)
                                        (field-end))))))
 
diff --git a/lisp/progmodes/cc-engine.el b/lisp/progmodes/cc-engine.el
index 36f5196..3961ea6 100644
--- a/lisp/progmodes/cc-engine.el
+++ b/lisp/progmodes/cc-engine.el
@@ -12619,12 +12619,12 @@ comment at the start of cc-engine.el for more info."
          (c-beginning-of-statement-1 containing-sexp nil nil t)
          (when (/= (point) indent-point)
            (if (> (c-point 'boi) containing-sexp)
-               (goto-char (c-point 'boi))
-             (if (consp special-brace-list)
-                 (progn
-                   (goto-char (caar special-brace-list))
-                   (c-forward-token-2 1 nil indent-point))
-               (goto-char containing-sexp))
+                (goto-char (c-point 'boi))
+              (if (consp special-brace-list)
+                  (progn
+                    (goto-char (caar special-brace-list))
+                    (c-forward-token-2 1 nil indent-point))
+                (goto-char containing-sexp))
              (forward-char)
              (c-skip-ws-forward indent-point)))
          (cond
diff --git a/lisp/progmodes/cc-mode.el b/lisp/progmodes/cc-mode.el
index e619fac..f09ca04 100644
--- a/lisp/progmodes/cc-mode.el
+++ b/lisp/progmodes/cc-mode.el
@@ -1180,13 +1180,13 @@ Note that the style variables are always made local to 
the buffer."
                       end))
          (c-literal-limits)))
        (end-literal-type (and end-limits
-                             (c-literal-type end-limits)))
+                                      (c-literal-type end-limits)))
        (beg-limits
        (progn
          (goto-char beg)
          (c-literal-limits)))
        (beg-literal-type (and beg-limits
-                             (c-literal-type beg-limits))))
+                                      (c-literal-type beg-limits))))
 
     (when (eq end-literal-type 'string)
       (setq c-new-END (max c-new-END (cdr end-limits))))
diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el
index 09a26dd..18a7232 100644
--- a/lisp/progmodes/cperl-mode.el
+++ b/lisp/progmodes/cperl-mode.el
@@ -1693,7 +1693,7 @@ or as help on variables `cperl-tips', `cperl-problems',
   (set (make-local-variable 'comment-end) "")
   (set (make-local-variable 'comment-column) cperl-comment-column)
   (set (make-local-variable 'comment-start-skip) "#+ *")
-  
+
 ;;       "[ \t]*sub"
 ;;       (cperl-after-sub-regexp 'named nil) ; 8=name 11=proto 14=attr-start
 ;;       cperl-maybe-white-and-comment-rex     ; 15=pre-block
diff --git a/lisp/simple.el b/lisp/simple.el
index 57e70a8..3d625bd 100644
--- a/lisp/simple.el
+++ b/lisp/simple.el
@@ -697,8 +697,9 @@ buffer if the variable `delete-trailing-lines' is non-nil."
           (while (re-search-forward "\\s-$" end-marker t)
             (skip-syntax-backward "-" (line-beginning-position))
             (let ((b (point)) (e (match-end 0)))
-              (when (region-modifiable-p b e)
-                (delete-region b e)))))
+              (if (region-modifiable-p b e)
+                  (delete-region b e)
+                (goto-char e)))))
         (if end
             (set-marker end-marker nil)
           ;; Delete trailing empty lines.



reply via email to

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