summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog.32
-rw-r--r--lisp/comint.el8
-rw-r--r--lisp/progmodes/cc-engine.el12
-rw-r--r--lisp/progmodes/cc-mode.el4
-rw-r--r--lisp/progmodes/cperl-mode.el2
-rw-r--r--lisp/simple.el5
6 files changed, 18 insertions, 15 deletions
diff --git a/ChangeLog.3 b/ChangeLog.3
index 42452c33977..6704d0d7169 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 <eggert@cs.ucla.edu>
diff --git a/lisp/comint.el b/lisp/comint.el
index 0a33e749446..f334a4ca4d4 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 36f5196c5e2..3961ea647cf 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 e619fac43f2..f09ca04cfff 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 09a26ddbe08..18a72324c65 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 57e70a8d153..3d625bd2886 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.