emacs-pretest-bug
[Top][All Lists]
Advanced

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

Icomplete deactivates mark in minibuffer


From: Johan Bockgård
Subject: Icomplete deactivates mark in minibuffer
Date: Wed, 07 Mar 2007 22:55:47 +0100
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/22.0.93 (gnu/linux)

    emacs -Q -f icomplete-mode

    M-x find C-SPC C-SPC

    (Emacs echoes "Transient-mark-mode temporarily enabled".)

    C-b C-b C-b

Note how nothing is highlighted (the mark is immediately deactivated).
This is because icomplete makes modification to the buffer, and
doesn't bind deactivate-mark, while doing its internal stuff.

(After this fix, if you activate the mark in the minibuffer and exit
with C-g, the mark will be activated in the non-minibuffer. This
problem already exists outside icomplete mode, though. (The problems
with the globalness of deactivate-mark have been discussed before.))



2007-03-07  Johan Bockgård  <address@hidden>

        * icomplete.el (icomplete-tidy, icomplete-exhibit): Bind
        deactivate-mark.


--- icomplete.el        07 Mar 2007 22:12:37 +0100      1.42
+++ icomplete.el        22 Jan 2007 00:31:46 +0100      
@@ -219,7 +219,8 @@
   (when (and icomplete-mode icomplete-eoinput)
 
     (unless (>= icomplete-eoinput (point-max))
-      (let ((buffer-undo-list t)) ; prevent entry
+      (let ((buffer-undo-list t) ; prevent entry
+           deactivate-mark)
        (delete-region icomplete-eoinput (point-max))))
 
     ;; Reestablish the safe value.
@@ -256,7 +257,8 @@
                          minibuffer-completion-table
                          minibuffer-completion-predicate
                          (not minibuffer-completion-confirm)))))
-               (buffer-undo-list t))
+               (buffer-undo-list t)
+               deactivate-mark)
            ;; Do nothing if while-no-input was aborted.
            (if (consp text) (insert (car text))))))))
 

-- 
Johan Bockgård




reply via email to

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