diff options
-rw-r--r-- | ChangeLog.3 | 2 | ||||
-rw-r--r-- | lisp/comint.el | 8 | ||||
-rw-r--r-- | lisp/progmodes/cc-engine.el | 12 | ||||
-rw-r--r-- | lisp/progmodes/cc-mode.el | 4 | ||||
-rw-r--r-- | lisp/progmodes/cperl-mode.el | 2 | ||||
-rw-r--r-- | lisp/simple.el | 5 |
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. |