completion-in-region-mode improvements
authorDaniel Colascione <dancol@dancol.org>
Sun, 30 Mar 2014 19:12:57 +0000 (12:12 -0700)
committerDaniel Colascione <dancol@dancol.org>
Sun, 30 Mar 2014 19:12:57 +0000 (12:12 -0700)
lisp/ChangeLog
lisp/comint.el
lisp/simple.el

index ce4ee87..af658ee 100644 (file)
@@ -1,3 +1,12 @@
+2014-03-30  Daniel Colascione  <dancol@dancol.org>
+
+       * comint.el (comint-send-input): Deactivate
+       completion-in-region-mode before we send comint input.
+       (Bug#17139).
+
+       * simple.el (keyboard-quit): Deactivate completion-in-region-mode
+       on keyboard-quit.
+
 2014-03-29  Glenn Morris  <rgm@gnu.org>
 
        * textmodes/reftex.el: Manage most autoloads automatically.
index ec11d5b..dfc3fee 100644 (file)
@@ -1769,6 +1769,12 @@ If the Comint is Lucid Common Lisp,
 
 Similarly for Soar, Scheme, etc."
   (interactive)
+  ;; If we're currently completing, stop.  We're definitely done
+  ;; completing, and by sending the input, we might cause side effects
+  ;; that will confuse the code running in the completion
+  ;; post-command-hook.
+  (when completion-in-region-mode
+    (completion-in-region-mode -1))
   ;; Note that the input string does not include its terminal newline.
   (let ((proc (get-buffer-process (current-buffer))))
     (if (not proc) (user-error "Current buffer has no process")
index 6cc9c6b..eee9c9b 100644 (file)
@@ -6580,6 +6580,8 @@ At top-level, as an editor command, this simply beeps."
     (deactivate-mark))
   (if (fboundp 'kmacro-keyboard-quit)
       (kmacro-keyboard-quit))
+  (when completion-in-region-mode
+    (completion-in-region-mode -1))
   (setq defining-kbd-macro nil)
   (let ((debug-on-quit nil))
     (signal 'quit nil)))