From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 01 14:36:23 2024 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 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 02 13:17:01 2024 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 To: Manuel Giraud Subject: Re: bug#74166: [PATCH] Fix tmm "previous menu" shortcut 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-Debbugs-Envelope-To: 74166 Cc: 74166@debbugs.gnu.org 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 debbugs-submit-bounces@debbugs.gnu.org Sat Nov 02 14:43:43 2024 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 To: Juri Linkov Subject: Re: bug#74166: [PATCH] Fix tmm "previous menu" shortcut 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-Debbugs-Envelope-To: 74166 Cc: 74166@debbugs.gnu.org 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 debbugs-submit-bounces@debbugs.gnu.org Sat Nov 09 05:35:19 2024 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. From unknown Sat Aug 16 16:11:44 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 07 Dec 2024 12:24:12 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator