From unknown Sun Jun 22 11:45:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74166: [PATCH] Fix tmm "previous menu" shortcut Resent-From: Manuel Giraud Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 01 Nov 2024 18:37:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 74166 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 74166@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.17304861838613 (code B ref -1); Fri, 01 Nov 2024 18:37:02 +0000 Received: (at submit) by debbugs.gnu.org; 1 Nov 2024 18:36:23 +0000 Received: from localhost ([127.0.0.1]:51217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t6wVS-0002Er-Pk for submit@debbugs.gnu.org; Fri, 01 Nov 2024 14:36:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:50106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t6wVO-0002Ef-TF for submit@debbugs.gnu.org; Fri, 01 Nov 2024 14:36:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t6wVH-00025s-DC for bug-gnu-emacs@gnu.org; Fri, 01 Nov 2024 14:36:13 -0400 Received: from ledu-giraud.fr ([51.159.28.247]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t6wVB-000755-Vr for bug-gnu-emacs@gnu.org; Fri, 01 Nov 2024 14:36:09 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=coDHxkBC f/efwCbdjpAJl+XE2qHF975VAi8jPA5DuF8=; h=date:subject:to:from; d=ledu-giraud.fr; b=2CmV6rbKFPzYe3Ew7vS2wo0X6n36VkGn9SLyjVdHurlXTS9Va4 qZL4iXmxbth0726H0CZR6NFB9l0utwPfCUBA== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=coDHxkBCf/efwCbd jpAJl+XE2qHF975VAi8jPA5DuF8=; h=date:subject:to:from; d=ledu-giraud.fr; b=WmJqiJxrTAygWrv/onv1boU3+z/Em3+Cy+tcDho4Owj+1QLtjV FbQD+z7vyXHDAIzezGy6clEzAfpv2fjrf82woIUXEbsQDxxAgEL68Xew+GsgR/2ScilpTJ XTgQ3RPkoVK4T+c2h06G79eVvlQH/UDvZjZ7QIf5EuDtnoX8tKT2vdIGRbxokhlwg2gaMC 1neSepAj8fufzi++LAkVrqez6R5DsEFj48L3Tybs7eBi7N2M5m2efqdujyXgyfrX5JlRsk uAeFeSns7UeGdMHkMvM0Fz/1J1eavDZpahYx1rwsuYChVM82jZG2O6ir4RKr6IWzL3J3vd 7goP1LLNYIGg== Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id d50bfc78 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for ; Fri, 1 Nov 2024 19:36:02 +0100 (CET) From: Manuel Giraud Date: Fri, 01 Nov 2024 19:36:00 +0100 Message-ID: <877c9m244v.fsf@ledu-giraud.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=51.159.28.247; envelope-from=manuel@ledu-giraud.fr; helo=ledu-giraud.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Tags: patch Hi, The following patch fixes the "previous menu" shortcut in tmm-menubar when one has already used Up/Down keys into a submenu. How to reproduce the bug: - M-x tmm-menubar - t ;; for the Tools menu - Down ;; to circulate to the first entry - ^ ;; quits tmm but should go back to toplevel instead While here, explain a "Why?" comment. In GNU Emacs 31.0.50 (build 86, x86_64-unknown-openbsd7.6, X toolkit) of 2024-11-01 built on computer Repository revision: ffda8dfe847094bd8488059be2f96270fe298fa5 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: OpenBSD computer 7.6 GENERIC.MP#394 amd64 Configured using: 'configure CC=egcc CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs --bindir=/home/manuel/bin --with-x-toolkit=lucid --with-toolkit-scroll-bars=no --without-cairo --without-compress-install' --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-Fix-tmm-previous-menu-shortcut.patch >From 20cbb94b4c83a22d7d65578fab3a581a42836f56 Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Fri, 1 Nov 2024 19:27:31 +0100 Subject: [PATCH] Fix tmm "previous menu" shortcut * lisp/tmm.el (tmm-clear-self-insert-and-exit): New function to clear the minibuffer content then call `self-insert-and-exit'. (tmm-define-keys): Use it. (tmm-goto-completions): Explain a why. --- lisp/tmm.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/tmm.el b/lisp/tmm.el index 80991b246b6..cf34f643c3b 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -336,6 +336,12 @@ tmm-add-one-shortcut str)) (cdr elt)))))) +(defun tmm-clear-self-insert-and-exit () + "Clear the minibuffer content before self insert and exit." + (interactive) + (delete-region (minibuffer-prompt-end) (point-max)) + (self-insert-and-exit)) + ;; This returns the old map. (defun tmm-define-keys (minibuffer) (let ((map (make-sparse-keymap))) @@ -354,7 +360,7 @@ tmm-define-keys (define-key map "\C-n" 'next-history-element) (define-key map "\C-p" 'previous-history-element) ;; Previous menu shortcut (see `tmm-prompt'). - (define-key map "^" 'self-insert-and-exit)) + (define-key map "^" 'tmm-clear-self-insert-and-exit)) (prog1 (current-local-map) (use-local-map (append map (current-local-map)))))) @@ -454,7 +460,8 @@ tmm-goto-completions (interactive) (let ((prompt-end (minibuffer-prompt-end))) (setq tmm-c-prompt (buffer-substring prompt-end (point-max))) - ;; FIXME: Why? + ;; Clear minibuffer old content before using *Completions* buffer + ;; for selection. (delete-region prompt-end (point-max))) (switch-to-buffer-other-window "*Completions*") (search-forward tmm-c-prompt) -- 2.47.0 --=-=-= Content-Type: text/plain -- Manuel Giraud --=-=-=-- From unknown Sun Jun 22 11:45:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74166: [PATCH] Fix tmm "previous menu" shortcut Resent-From: Juri Linkov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Nov 2024 17:18:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74166 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Manuel Giraud Cc: 74166@debbugs.gnu.org Received: via spool by 74166-submit@debbugs.gnu.org id=B74166.17305678216904 (code B ref 74166); Sat, 02 Nov 2024 17:18:02 +0000 Received: (at 74166) by debbugs.gnu.org; 2 Nov 2024 17:17:01 +0000 Received: from localhost ([127.0.0.1]:54527 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7HkD-0001n9-7Q for submit@debbugs.gnu.org; Sat, 02 Nov 2024 13:17:01 -0400 Received: from relay1-d.mail.gandi.net ([217.70.183.193]:58835) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7HkA-0001mz-Pz for 74166@debbugs.gnu.org; Sat, 02 Nov 2024 13:16:59 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id C9069240002; Sat, 2 Nov 2024 17:16:51 +0000 (UTC) From: Juri Linkov In-Reply-To: <877c9m244v.fsf@ledu-giraud.fr> (Manuel Giraud via's message of "Fri, 01 Nov 2024 19:36:00 +0100") Organization: LINKOV.NET References: <877c9m244v.fsf@ledu-giraud.fr> Date: Sat, 02 Nov 2024 19:10:10 +0200 Message-ID: <86ses9o9k5.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@linkov.net X-Spam-Score: -0.7 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) > +(defun tmm-clear-self-insert-and-exit () > + "Clear the minibuffer content before self insert and exit." > + (interactive) > + (delete-region (minibuffer-prompt-end) (point-max)) > + (self-insert-and-exit)) There is a special function 'delete-minibuffer-contents' like is used e.g. in 'read-char-from-minibuffer-insert-char' and 'y-or-n-p-insert-y'. From unknown Sun Jun 22 11:45:23 2025 X-Loop: help-debbugs@gnu.org Subject: bug#74166: [PATCH] Fix tmm "previous menu" shortcut Resent-From: Manuel Giraud Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 02 Nov 2024 18:44:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 74166 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Juri Linkov Cc: 74166@debbugs.gnu.org Received: via spool by 74166-submit@debbugs.gnu.org id=B74166.173057302317397 (code B ref 74166); Sat, 02 Nov 2024 18:44:02 +0000 Received: (at 74166) by debbugs.gnu.org; 2 Nov 2024 18:43:43 +0000 Received: from localhost ([127.0.0.1]:54964 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7J67-0004WX-B3 for submit@debbugs.gnu.org; Sat, 02 Nov 2024 14:43:43 -0400 Received: from ledu-giraud.fr ([51.159.28.247]:11253) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t7J62-0004WP-On for 74166@debbugs.gnu.org; Sat, 02 Nov 2024 14:43:41 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=Oc4i+Wd0 O3vxxTLtaOSPMLkRsaVoeq111WvPtc9Enj4=; h=date:references:in-reply-to: subject:cc:to:from; d=ledu-giraud.fr; b=jlM2UFFSnY/Edmixa8vDrsXf0ceL61 La3SznApXvFer9N/B+E3GR5M4Qm6EwYjPWJcuvWrsdAyD6snWESIsFCQ== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=Oc4i+Wd0O3vxxTLt aOSPMLkRsaVoeq111WvPtc9Enj4=; h=date:references:in-reply-to:subject: cc:to:from; d=ledu-giraud.fr; b=RwpFuhFhocEttV3KrglVz/dK8aiTkyD4E7XgQ5 b7H0ooTeKJLh/8zkEE16qErtI2a/icE7GAdByUDyo6Du2vF8ucTex6si4oCZRr/BF/5ZfT MmyYNPiJ1DBtEE+x5LX3iY//sxckmDKgHJcXAsciRX+CuZONfnn+UZ5QkF9MIGaBT8O8/w E+tnuihqvsVxtxDHl5I9kW5LsuBZcTTU9dgsh2SengA1aspHhiHKtW8GHJBLIDEZK9H3Tq d42HWmZuH2BYhMyXt38vuvlPNLU6QM/ePGobOOD43cctMU2O/nwufccxLPzVS1fPFy24r7 8/KWYks4+Afev7tnuy58+egA== Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id bf61ac09 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sat, 2 Nov 2024 19:43:35 +0100 (CET) From: Manuel Giraud In-Reply-To: <86ses9o9k5.fsf@mail.linkov.net> (Juri Linkov's message of "Sat, 02 Nov 2024 19:10:10 +0200") References: <877c9m244v.fsf@ledu-giraud.fr> <86ses9o9k5.fsf@mail.linkov.net> Date: Sat, 02 Nov 2024 19:43:33 +0100 Message-ID: <87r07tzdbe.fsf@ledu-giraud.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) --=-=-= Content-Type: text/plain Juri Linkov writes: >> +(defun tmm-clear-self-insert-and-exit () >> + "Clear the minibuffer content before self insert and exit." >> + (interactive) >> + (delete-region (minibuffer-prompt-end) (point-max)) >> + (self-insert-and-exit)) > > There is a special function 'delete-minibuffer-contents' > like is used e.g. in 'read-char-from-minibuffer-insert-char' > and 'y-or-n-p-insert-y'. Thanks. Here is a new version that uses this. --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename=0001-Fix-tmm-previous-menu-shortcut.patch >From c4f2e844b6c9008f2a176f95a20b0f3caf0b9710 Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Fri, 1 Nov 2024 19:27:31 +0100 Subject: [PATCH] Fix tmm "previous menu" shortcut Bug#74166 * lisp/tmm.el (tmm-clear-self-insert-and-exit): New function to clear the minibuffer content then call `self-insert-and-exit'. (tmm-define-keys): Use it. (tmm-goto-completions): Explain a why. --- lisp/tmm.el | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/lisp/tmm.el b/lisp/tmm.el index 80991b246b6..c73eb8c637e 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -336,6 +336,12 @@ tmm-add-one-shortcut str)) (cdr elt)))))) +(defun tmm-clear-self-insert-and-exit () + "Clear the minibuffer contents then self insert and exit." + (interactive) + (delete-minibuffer-contents) + (self-insert-and-exit)) + ;; This returns the old map. (defun tmm-define-keys (minibuffer) (let ((map (make-sparse-keymap))) @@ -354,7 +360,7 @@ tmm-define-keys (define-key map "\C-n" 'next-history-element) (define-key map "\C-p" 'previous-history-element) ;; Previous menu shortcut (see `tmm-prompt'). - (define-key map "^" 'self-insert-and-exit)) + (define-key map "^" 'tmm-clear-self-insert-and-exit)) (prog1 (current-local-map) (use-local-map (append map (current-local-map)))))) @@ -452,10 +458,10 @@ tmm-shortcut (defun tmm-goto-completions () "Jump to the completions buffer." (interactive) - (let ((prompt-end (minibuffer-prompt-end))) - (setq tmm-c-prompt (buffer-substring prompt-end (point-max))) - ;; FIXME: Why? - (delete-region prompt-end (point-max))) + (setq tmm-c-prompt (buffer-substring (minibuffer-prompt-end) (point-max))) + ;; Clear minibuffer old contents before using *Completions* buffer for + ;; selection. + (delete-minibuffer-contents) (switch-to-buffer-other-window "*Completions*") (search-forward tmm-c-prompt) (search-backward tmm-c-prompt)) -- 2.47.0 --=-=-= Content-Type: text/plain -- Manuel Giraud --=-=-=-- From unknown Sun Jun 22 11:45:23 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Manuel Giraud Subject: bug#74166: closed (Re: bug#74166: [PATCH] Fix tmm "previous menu" shortcut) Message-ID: References: <86jzdcn19p.fsf@gnu.org> <877c9m244v.fsf@ledu-giraud.fr> X-Gnu-PR-Message: they-closed 74166 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 74166@debbugs.gnu.org Date: Sat, 09 Nov 2024 10:36:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1731148562-19760-1" This is a multi-part message in MIME format... ------------=_1731148562-19760-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #74166: [PATCH] Fix tmm "previous menu" shortcut which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 74166@debbugs.gnu.org. --=20 74166: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D74166 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1731148562-19760-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 74166-done) by debbugs.gnu.org; 9 Nov 2024 10:35:19 +0000 Received: from localhost ([127.0.0.1]:53554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t9ioJ-00057h-G9 for submit@debbugs.gnu.org; Sat, 09 Nov 2024 05:35:19 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38024) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t9ioH-00057T-J5 for 74166-done@debbugs.gnu.org; Sat, 09 Nov 2024 05:35:18 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t9ioA-0001OV-QN; Sat, 09 Nov 2024 05:35:11 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=KHj8tjnKftpzikWsi3QMOHP1nFtb2qfZe0QinbJSX4c=; b=L/frd8GzUPjQ gNsIpZ4boU+vIl5c7LwXN9O4KqnNmVKBwQVnWGG9IOA51a0mwGLDVu94GMZfKyetbxznvAwlv+gZo yCGxDgf9zJ+NwqrBWCSGNZ67jDp9IhrLy8kjTzkW4UKEt4Su0oemV1pkw/g04ZHzFtOWyPCm0Eeaa JGLpwqZJ0BRkrAAdVKNEFNTdMYJKOEOIstpd+w6HaZQNXqcYwTRziarpEExC8NUabDfIPncHlqxXR bANB2HVN+2a1g9YGGY0yNy1Kff+IRJ4X+/D7O2lB3QBvdXHUj0IU84R6VdUV9rXsZsAd3TPuVFDiy ZDhoKU7VVT4ByS26iagGhw==; Date: Sat, 09 Nov 2024 12:34:58 +0200 Message-Id: <86jzdcn19p.fsf@gnu.org> From: Eli Zaretskii To: Manuel Giraud In-Reply-To: <87r07tzdbe.fsf@ledu-giraud.fr> (bug-gnu-emacs@gnu.org) Subject: Re: bug#74166: [PATCH] Fix tmm "previous menu" shortcut References: <877c9m244v.fsf@ledu-giraud.fr> <86ses9o9k5.fsf@mail.linkov.net> <87r07tzdbe.fsf@ledu-giraud.fr> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 74166-done Cc: 74166-done@debbugs.gnu.org, juri@linkov.net X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Cc: 74166@debbugs.gnu.org > Date: Sat, 02 Nov 2024 19:43:33 +0100 > From: Manuel Giraud via "Bug reports for GNU Emacs, > the Swiss army knife of text editors" > > Juri Linkov writes: > > >> +(defun tmm-clear-self-insert-and-exit () > >> + "Clear the minibuffer content before self insert and exit." > >> + (interactive) > >> + (delete-region (minibuffer-prompt-end) (point-max)) > >> + (self-insert-and-exit)) > > > > There is a special function 'delete-minibuffer-contents' > > like is used e.g. in 'read-char-from-minibuffer-insert-char' > > and 'y-or-n-p-insert-y'. > > Thanks. Here is a new version that uses this. Thanks, installed on the master branch, and closing the bug. ------------=_1731148562-19760-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 1 Nov 2024 18:36:23 +0000 Received: from localhost ([127.0.0.1]:51217 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t6wVS-0002Er-Pk for submit@debbugs.gnu.org; Fri, 01 Nov 2024 14:36:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:50106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t6wVO-0002Ef-TF for submit@debbugs.gnu.org; Fri, 01 Nov 2024 14:36:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t6wVH-00025s-DC for bug-gnu-emacs@gnu.org; Fri, 01 Nov 2024 14:36:13 -0400 Received: from ledu-giraud.fr ([51.159.28.247]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t6wVB-000755-Vr for bug-gnu-emacs@gnu.org; Fri, 01 Nov 2024 14:36:09 -0400 DKIM-Signature: v=1; a=ed25519-sha256; c=simple/simple; s=ed25519; bh=coDHxkBC f/efwCbdjpAJl+XE2qHF975VAi8jPA5DuF8=; h=date:subject:to:from; d=ledu-giraud.fr; b=2CmV6rbKFPzYe3Ew7vS2wo0X6n36VkGn9SLyjVdHurlXTS9Va4 qZL4iXmxbth0726H0CZR6NFB9l0utwPfCUBA== DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; s=rsa; bh=coDHxkBCf/efwCbd jpAJl+XE2qHF975VAi8jPA5DuF8=; h=date:subject:to:from; d=ledu-giraud.fr; b=WmJqiJxrTAygWrv/onv1boU3+z/Em3+Cy+tcDho4Owj+1QLtjV FbQD+z7vyXHDAIzezGy6clEzAfpv2fjrf82woIUXEbsQDxxAgEL68Xew+GsgR/2ScilpTJ XTgQ3RPkoVK4T+c2h06G79eVvlQH/UDvZjZ7QIf5EuDtnoX8tKT2vdIGRbxokhlwg2gaMC 1neSepAj8fufzi++LAkVrqez6R5DsEFj48L3Tybs7eBi7N2M5m2efqdujyXgyfrX5JlRsk uAeFeSns7UeGdMHkMvM0Fz/1J1eavDZpahYx1rwsuYChVM82jZG2O6ir4RKr6IWzL3J3vd 7goP1LLNYIGg== Received: from computer ( [10.1.1.1]) by ledu-giraud.fr (OpenSMTPD) with ESMTPSA id d50bfc78 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO) for ; Fri, 1 Nov 2024 19:36:02 +0100 (CET) From: Manuel Giraud To: bug-gnu-emacs@gnu.org Subject: [PATCH] Fix tmm "previous menu" shortcut X-Debbugs-Cc: Date: Fri, 01 Nov 2024 19:36:00 +0100 Message-ID: <877c9m244v.fsf@ledu-giraud.fr> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Received-SPF: pass client-ip=51.159.28.247; envelope-from=manuel@ledu-giraud.fr; helo=ledu-giraud.fr X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --=-=-= Content-Type: text/plain Tags: patch Hi, The following patch fixes the "previous menu" shortcut in tmm-menubar when one has already used Up/Down keys into a submenu. How to reproduce the bug: - M-x tmm-menubar - t ;; for the Tools menu - Down ;; to circulate to the first entry - ^ ;; quits tmm but should go back to toplevel instead While here, explain a "Why?" comment. In GNU Emacs 31.0.50 (build 86, x86_64-unknown-openbsd7.6, X toolkit) of 2024-11-01 built on computer Repository revision: ffda8dfe847094bd8488059be2f96270fe298fa5 Repository branch: master Windowing system distributor 'The X.Org Foundation', version 11.0.12101013 System Description: OpenBSD computer 7.6 GENERIC.MP#394 amd64 Configured using: 'configure CC=egcc CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib MAKEINFO=gmakeinfo --prefix=/home/manuel/emacs --bindir=/home/manuel/bin --with-x-toolkit=lucid --with-toolkit-scroll-bars=no --without-cairo --without-compress-install' --=-=-= Content-Type: text/patch Content-Disposition: attachment; filename=0001-Fix-tmm-previous-menu-shortcut.patch >From 20cbb94b4c83a22d7d65578fab3a581a42836f56 Mon Sep 17 00:00:00 2001 From: Manuel Giraud Date: Fri, 1 Nov 2024 19:27:31 +0100 Subject: [PATCH] Fix tmm "previous menu" shortcut * lisp/tmm.el (tmm-clear-self-insert-and-exit): New function to clear the minibuffer content then call `self-insert-and-exit'. (tmm-define-keys): Use it. (tmm-goto-completions): Explain a why. --- lisp/tmm.el | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lisp/tmm.el b/lisp/tmm.el index 80991b246b6..cf34f643c3b 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -336,6 +336,12 @@ tmm-add-one-shortcut str)) (cdr elt)))))) +(defun tmm-clear-self-insert-and-exit () + "Clear the minibuffer content before self insert and exit." + (interactive) + (delete-region (minibuffer-prompt-end) (point-max)) + (self-insert-and-exit)) + ;; This returns the old map. (defun tmm-define-keys (minibuffer) (let ((map (make-sparse-keymap))) @@ -354,7 +360,7 @@ tmm-define-keys (define-key map "\C-n" 'next-history-element) (define-key map "\C-p" 'previous-history-element) ;; Previous menu shortcut (see `tmm-prompt'). - (define-key map "^" 'self-insert-and-exit)) + (define-key map "^" 'tmm-clear-self-insert-and-exit)) (prog1 (current-local-map) (use-local-map (append map (current-local-map)))))) @@ -454,7 +460,8 @@ tmm-goto-completions (interactive) (let ((prompt-end (minibuffer-prompt-end))) (setq tmm-c-prompt (buffer-substring prompt-end (point-max))) - ;; FIXME: Why? + ;; Clear minibuffer old content before using *Completions* buffer + ;; for selection. (delete-region prompt-end (point-max))) (switch-to-buffer-other-window "*Completions*") (search-forward tmm-c-prompt) -- 2.47.0 --=-=-= Content-Type: text/plain -- Manuel Giraud --=-=-=-- ------------=_1731148562-19760-1--