emacs迷你缓冲区中的可单击文本

emacs迷你缓冲区中的可单击文本,emacs,elisp,Emacs,Elisp,如何将可点击文本放入emacs迷你缓冲区 例如,这段代码在文本缓冲区中生成可点击的文本,对我来说效果很好 (let ((map (make-sparse-keymap))) (define-key map (kbd "<down-mouse-1>") '(lambda() (interactive) (message-box "it works!"))) (add-text-properties 1 5 `(keymap, map

如何将可点击文本放入emacs迷你缓冲区

例如,这段代码在文本缓冲区中生成可点击的文本,对我来说效果很好

(let ((map (make-sparse-keymap)))
     (define-key map (kbd "<down-mouse-1>") 
            '(lambda() (interactive) (message-box "it works!")))
     (add-text-properties 1 5 `(keymap, map
                                mouse-face highlight)))
因此,文本被放入一个没有这些属性的小型缓冲区中。 我也尝试了(属性化),但结果是一样的

     [...]
     (message (propertize "link" 
                          'mouse-face 'highlight
                          'keymap map)))
这个怎么了

谢谢

  • 消息
    写入回显区域,而不是微型缓冲区

  • 微型缓冲区未激活。即使使用
    insert
    而不是
    message
    ,您也不会在那里看到文本


  • 您真正想做的是什么?您希望在微缓冲区中插入此类属性化文本的上下文是什么?微缓冲区在读取输入时处于活动状态。您可以启动读取,并在激活时将文本插入其中。

    我在微缓冲区上下文中使用属性化文本-
    (与当前缓冲区一起)(窗口缓冲区(minibuffer window))[…])
    。因此我尝试使用
    插入
    而不是
    消息
    ,它在minibuffer中显示可单击的文本。这就是我需要的。谢谢。
         [...]
         (message (propertize "link" 
                              'mouse-face 'highlight
                              'keymap map)))