diff options
author | Juri Linkov <juri@linkov.net> | 2015-02-19 21:28:41 +0200 |
---|---|---|
committer | Juri Linkov <juri@linkov.net> | 2015-02-19 21:28:41 +0200 |
commit | 6f2971ab761e62e649892bd3fe5c08983420c5ae (patch) | |
tree | 0ad3864eba6ea30b2502aad592b41789f748cb22 /lisp/comint.el | |
parent | 65d8ac7c3729e9416696f77a7add8944e069da92 (diff) | |
download | emacs-6f2971ab761e62e649892bd3fe5c08983420c5ae.tar.gz |
* lisp/comint.el (comint-line-beginning-position): Revert searching for
the prompt when comint-use-prompt-regexp is non-nil because it
doesn't distinguish input from output. Check the field property
`output' for the case when comint-use-prompt-regexp is nil.
Fixes: debbugs:19710
Diffstat (limited to 'lisp/comint.el')
-rw-r--r-- | lisp/comint.el | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lisp/comint.el b/lisp/comint.el index c81551acd5f..68b8edbb8ca 100644 --- a/lisp/comint.el +++ b/lisp/comint.el @@ -2267,8 +2267,6 @@ a buffer local variable." ;; Use comint-prompt-regexp (save-excursion (beginning-of-line) - (unless (looking-at comint-prompt-regexp) - (re-search-backward comint-prompt-regexp nil t)) (comint-skip-prompt) (point)) ;; Use input fields. Note that, unlike the behavior of @@ -2278,7 +2276,10 @@ a buffer local variable." ;; if there are two fields on a line, then the first one is the ;; prompt, and the second one is an input field, and is front-sticky ;; (as input fields should be). - (constrain-to-field (field-beginning) (line-end-position)))) + (constrain-to-field (if (eq (field-at-pos (point)) 'output) + (line-beginning-position) + (field-beginning)) + (line-end-position)))) (defun comint-bol (&optional arg) "Go to the beginning of line, then skip past the prompt, if any. |