Subject: bug#102: keymap property ignored for mouse click on overlay

From: Chong Yidong <[email-masked]>
Date: Wed, 16 Apr 2008 14:41:40 -0400

"Drew Adams" <[email-masked]> writes:

>> Since the benefit of this feature is rather marginal in the first
>> place, I think it's better to simply document that display strings
>> don't inherit keymaps.  The way to DTRT is to give the display string
>> a 'keymap text property, which has always worked.
>
> Could you state how that would change in the test case I sent? I added
> both a `display' property and a `keymap' property to the overlay. What
> would the new test-case code look like?
>
> I'm OK with documenting a limitation if there is an easy alternative
> way to do what I need.

It's simple:

(defun foo (beg end)
  (interactive "r")
  (let ((overlay (make-overlay beg end)))
    (overlay-put
     overlay 'display
     (propertize "xxxxxxxxx" 'face 'font-lock-constant-face
                             'keymap foo-map))
    (overlay-put overlay 'keymap foo-map)))