]> code.delx.au - gnu-emacs/commitdiff
Better support for the case of typing RET on the prompt in comint.
authorJuri Linkov <juri@linkov.net>
Tue, 10 Feb 2015 00:38:09 +0000 (02:38 +0200)
committerJuri Linkov <juri@linkov.net>
Tue, 10 Feb 2015 00:38:09 +0000 (02:38 +0200)
* lisp/comint.el (comint-get-old-input-default): Go to the field end
when comint-use-prompt-regexp is nil.
(comint-line-beginning-position): Check if point is already
on the prompt before searching for the prompt when
comint-use-prompt-regexp is non-nil.

Fixes: debbugs:19710
lisp/ChangeLog
lisp/comint.el

index 728b9833c9f5a1e53a925f144b8efa2bb11f568a..ea428b1de15231dc6bb3b2916e10db1d8a60509d 100644 (file)
@@ -1,3 +1,13 @@
+2015-02-10  Juri Linkov  <juri@linkov.net>
+
+       Better support for the case of typing RET on the prompt in comint.
+
+       * comint.el (comint-get-old-input-default): Go to the field end
+       when comint-use-prompt-regexp is nil.
+       (comint-line-beginning-position): Check if point is already
+       on the prompt before searching for the prompt when
+       comint-use-prompt-regexp is non-nil.  (Bug#19710)
+
 2015-02-08  Eli Zaretskii  <eliz@gnu.org>
 
        * frame.el (frame-notice-user-settings): Refresh the value of
index 419938ea684811af0719b50bec225c6484e083d8..c81551acd5fc70dc057f081eb852cd0b9cc23208 100644 (file)
@@ -2215,7 +2215,10 @@ the current line with any initial string matching the regexp
              (null (get-char-property (setq bof (field-beginning)) 'field)))
        (field-string-no-properties bof)
       (comint-bol)
-      (buffer-substring-no-properties (point) (line-end-position)))))
+      (buffer-substring-no-properties (point)
+                                     (if comint-use-prompt-regexp
+                                         (line-end-position)
+                                       (field-end))))))
 
 (defun comint-copy-old-input ()
   "Insert after prompt old input at point as new input to be edited.
@@ -2263,8 +2266,9 @@ a buffer local variable."
   (if comint-use-prompt-regexp
       ;; Use comint-prompt-regexp
       (save-excursion
-       (re-search-backward comint-prompt-regexp nil t)
        (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