From: Noam Postavsky Date: Fri, 11 May 2018 11:05:53 +0000 (-0400) Subject: Fix comint-get-old-input-default for output field case (Bug#25028) X-Git-Tag: emacs-26.1.90~390 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=55c9bb9f3c2971e347caeea1402f97fb603c4210;p=emacs.git Fix comint-get-old-input-default for output field case (Bug#25028) * lisp/comint.el (comint-get-old-input-default): Don't return whole field when point was on an output field. --- diff --git a/lisp/comint.el b/lisp/comint.el index 1e4c0d33ee9..122291bcf9c 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -2248,14 +2248,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))))))