emacs-devel
[Top][All Lists]
Advanced

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

Re: Feature request : Tab-completion for 'shell-comand'


From: Juri Linkov
Subject: Re: Feature request : Tab-completion for 'shell-comand'
Date: Fri, 14 Mar 2008 03:04:35 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (x86_64-unknown-linux-gnu)

>> But it seems impossible to add an overlay *after* the cursor at the
>> end of the minibuffer, like `minibuffer-message' already does
>> inserting the message after the cursor at the end of the minibuffer.
>
> Try
>
>     (setq ov (make-overlay (point-max) (point-max)))
>     (overlay-put ov 'insert-in-front-hooks
>                  (list (lambda (o &rest ignore)
>                          (move-overlay o (point-max) (point-max)))))
>     (overlay-put ov 'after-string (concat (propertize " " 'cursor t)
>                                            "[No match]"))

This makes possible to create a function like below:

(defvar message-minibuffer-overlay)
(make-variable-buffer-local 'message-minibuffer-overlay)
(defun message-minibuffer (message)
  (when (overlayp message-minibuffer-overlay)
    (delete-overlay message-minibuffer-overlay))
  (setq message-minibuffer-overlay
        (make-overlay (point-max) (point-max) nil t t))
  (overlay-put message-minibuffer-overlay
               'after-string
               (concat (propertize " " 'cursor t)
                       (format "[%s]" message))))

But I observed that a static message at the end of the minibuffer
causes a false impression that the command that put this message is
not yet completed, thus inviting to wait until it goes out.

-- 
Juri Linkov
http://www.jurta.org/emacs/




reply via email to

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