summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuri Linkov <juri@linkov.net>2015-02-19 21:28:41 +0200
committerJuri Linkov <juri@linkov.net>2015-02-19 21:28:41 +0200
commit6f2971ab761e62e649892bd3fe5c08983420c5ae (patch)
tree0ad3864eba6ea30b2502aad592b41789f748cb22
parent65d8ac7c3729e9416696f77a7add8944e069da92 (diff)
downloademacs-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
-rw-r--r--lisp/ChangeLog8
-rw-r--r--lisp/comint.el7
2 files changed, 12 insertions, 3 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 6373df64e91..22e952a91e6 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,11 @@
+2015-02-19 Juri Linkov <juri@linkov.net>
+
+ * 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.
+ (Bug#19710)
+
2015-02-15 Jérémy Compostella <jeremy.compostella@gmail.com>
* net/tramp-sh.el (tramp-remote-process-environment): Disable paging
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.