emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r106101: comint.el: Don't let `insert


From: Stefan Monnier
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r106101: comint.el: Don't let `insert' break an `input' field into two.
Date: Mon, 17 Oct 2011 12:33:23 -0400
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 106101
fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9160
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2011-10-17 12:33:23 -0400
message:
  comint.el: Don't let `insert' break an `input' field into two.
  * lisp/comint.el (comint-insert-input, comint-send-input)
  (comint-get-old-input-default, comint-backward-matching-input)
  (comint-next-prompt): Use nil instead of `input' for field property of
  past user input (bug#114).
modified:
  lisp/ChangeLog
  lisp/comint.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-10-17 16:30:02 +0000
+++ b/lisp/ChangeLog    2011-10-17 16:33:23 +0000
@@ -1,5 +1,10 @@
 2011-10-17  Stefan Monnier  <address@hidden>
 
+       * comint.el (comint-insert-input, comint-send-input)
+       (comint-get-old-input-default, comint-backward-matching-input)
+       (comint-next-prompt): Use nil instead of `input' for field property of
+       past user input (bug#114).
+
        * minibuffer.el (completion--replace): Inherit surrounding properties
        (bug#114).
        (minibuffer-complete-and-exit): Use it.

=== modified file 'lisp/comint.el'
--- a/lisp/comint.el    2011-10-17 13:43:40 +0000
+++ b/lisp/comint.el    2011-10-17 16:33:23 +0000
@@ -849,8 +849,7 @@
       (and (< pos (field-end pos))
            (setq field (field-at-pos pos))
           (setq input (field-string-no-properties pos))))
-    (if (or (null comint-accum-marker)
-           (not (eq field 'input)))
+    (if (or (null comint-accum-marker) field)
        ;; Fall back to the global definition if (i) the selected
        ;; buffer is not a comint buffer (which can happen if a
        ;; non-comint window was selected and we clicked in a comint
@@ -1803,8 +1802,7 @@
               (add-text-properties
                beg end
                '(mouse-face highlight
-                 help-echo "mouse-2: insert after prompt as new input"
-                 field input))))
+                 help-echo "mouse-2: insert after prompt as new input"))))
           (unless (or no-newline comint-use-prompt-regexp)
             ;; Cover the terminating newline
             (add-text-properties end (1+ end)
@@ -2153,7 +2151,7 @@
 the current line with any initial string matching the regexp
 `comint-prompt-regexp' removed."
   (let ((bof (field-beginning)))
-    (if (eq (get-char-property bof 'field) 'input)
+    (if (null (get-char-property bof 'field)) ;Not `output'.
        (field-string-no-properties bof)
       (comint-bol)
       (buffer-substring-no-properties (point) (line-end-position)))))
@@ -2473,7 +2471,7 @@
              (while (/= n 0)
                (unless (re-search-backward regexp nil t dir)
                  (error "Not found"))
-               (when (eq (get-char-property (point) 'field) 'input)
+               (unless (get-char-property (point) 'field)
                  (setq n (- n dir))))
              (field-beginning))))
       (goto-char pos))))
@@ -2520,7 +2518,7 @@
                 (setq input-pos (point-max)))
               ;; stop iterating
               (setq n 0))
-             ((eq (get-char-property pos 'field) 'input)
+             ((null (get-char-property pos 'field))
               (setq n (if (< n 0) (1+ n) (1- n)))
               (setq input-pos pos))))
       (when input-pos


reply via email to

[Prev in Thread] Current Thread [Next in Thread]