GNU bug report logs -
#63754
29.0.91; tmm breaks when tmm-completion-prompt is nil
Previous Next
Reported by: Thiago Melo <tmdmelo <at> gmail.com>
Date: Sat, 27 May 2023 14:55:02 UTC
Severity: normal
Found in version 29.0.91
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> > Should be fixed now on the emacs-29 branch.
>>
>> Cool. I've tested, it's working nicely. Thanks for the fix.
>
> Thanks for testing, I'm therefore closing this bug.
There is one remaining case where it fails:
(setq completions-header-format nil)
(setq tmm-completion-prompt nil)
(tmm-menubar) ; or `tmm-prompt' with any menu/keymap
Then the first item is deleted. The patch below fixes this.
>> Sorry if my comment is out of place, but I also gave a try to
>> `tmm-mid-prompt' = nil. Since it disables the tmm shortcuts, maybe it
>> would be more intuitive to let users input keys and do completion at
>> the minibuffer in this situation? (unless I'm missing some unwanted
>> side effect here)
>>
>> With this little change, for example:
>
> I don't know. The original completion works on the shortcuts, AFAIU,
> and thus makes no sense when tmm-mid-prompt is nil. When that
> variable is nil, the user needs to use the arrow keys to select the
> menu items. If someone wants to add a completion feature to that, I
> don't mind, but I don't know enough about tmm to tell, and such a
> change is definitely not for the release branch.
>
> If someone here has an opinion on this last suggestion, please speak
> up.
AFAICS, completion works without problems in tmm. The artificial restriction
that removes self-inserting keys was needed to allow only character shortcuts
when tmm-mid-prompt is nil.
diff --git a/lisp/tmm.el b/lisp/tmm.el
index 88254f0d1b8..a4058594622 100644
--- a/lisp/tmm.el
+++ b/lisp/tmm.el
@@ -329,7 +329,8 @@ tmm-completion-delete-prompt
(with-current-buffer standard-output
(goto-char (point-min))
(let* (;; First candidate: first string with mouse-face
- (menu-start-1 (next-single-char-property-change (point) 'mouse-face))
+ (menu-start-1 (or (and (get-text-property (point) 'mouse-face) (point))
+ (next-single-char-property-change (point) 'mouse-face)))
;; Second candidate: an inactive menu item with tmm-inactive face
(tps-result (save-excursion
(text-property-search-forward 'face 'tmm-inactive t)))
This bug report was last modified 1 year and 361 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.