From unknown Fri Jun 20 07:16:19 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#32990 <32990@debbugs.gnu.org> To: bug#32990 <32990@debbugs.gnu.org> Subject: Status: 26.1.50; isearch-forward + t-m-m/mark-active doc Reply-To: bug#32990 <32990@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:16:19 +0000 retitle 32990 26.1.50; isearch-forward + t-m-m/mark-active doc reassign 32990 emacs submitter 32990 charles@aurox.ch severity 32990 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 08 14:11:09 2018 Received: (at submit) by debbugs.gnu.org; 8 Oct 2018 18:11:09 +0000 Received: from localhost ([127.0.0.1]:40742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9Zzp-0000Af-F8 for submit@debbugs.gnu.org; Mon, 08 Oct 2018 14:11:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:46849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9Zzo-0000AS-De for submit@debbugs.gnu.org; Mon, 08 Oct 2018 14:11:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9Zzi-0000Vo-DU for submit@debbugs.gnu.org; Mon, 08 Oct 2018 14:11:03 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:39338) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9Zzf-0000UF-2O for submit@debbugs.gnu.org; Mon, 08 Oct 2018 14:11:00 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55646) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9Zzd-0002Kz-Vn for bug-gnu-emacs@gnu.org; Mon, 08 Oct 2018 14:10:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9Zk0-0006Ko-8k for bug-gnu-emacs@gnu.org; Mon, 08 Oct 2018 13:54:50 -0400 Received: from sinyavsky.aurox.ch ([2a03:2040:2:1b::1]:46854) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1g9Zjy-0005wg-32 for bug-gnu-emacs@gnu.org; Mon, 08 Oct 2018 13:54:48 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 5806622892 for ; Mon, 8 Oct 2018 17:58:21 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= reply-to:subject:subject:to:from:from:message-id:date:date; s= dkim; t=1539021500; x=1539885501; bh=IBC4X0mwGlIyDWk+gJN0T+i3YCq 5YF4zQPjHv5i72oE=; b=L3WggY7e4PRO+GqFGSg7ngfkFyC+sq4rn49FVUcTSUl lXn/1dphfRAm3/zQNhelYFFWmyAGjlHo8vepLR+EjfVfcrV1s5gyeS0dCsP7VfE1 EjJ+tyero/ZfKPyLY3DZpo75Ti46xZ/ut5lwMOW2Fq1zcyUgt2fBx4Kjz9q/MHjs = X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id nH05rbG2rKMw for ; Mon, 8 Oct 2018 17:58:20 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id C07A322882 for ; Mon, 8 Oct 2018 17:58:20 +0000 (UTC) Date: Mon, 08 Oct 2018 19:58:15 +0200 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: bug-gnu-emacs@gnu.org Subject: 26.1.50; isearch-forward + t-m-m/mark-active doc X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) 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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -6.0 (------) Another small change for emacs-26: diff --git a/lisp/isearch.el b/lisp/isearch.el index 3725779..7833a7b 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -719,6 +719,10 @@ isearch-forward If you try to exit with the search string still empty, it invokes nonincremental search. +Exiting pushes the mark where point was before the search +started, unless `transient-mark-mode' is on and the mark is +active. + Type \\[isearch-toggle-case-fold] to toggle search case-sensitivity. Type \\[isearch-toggle-invisible] to toggle search in invisible text. Type \\[isearch-toggle-regexp] to toggle regular-expression mode. This behavior is already documented in the manual node "Basic Isearch". From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 08 16:08:19 2018 Received: (at 32990) by debbugs.gnu.org; 8 Oct 2018 20:08:19 +0000 Received: from localhost ([127.0.0.1]:40807 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9bpD-00051T-JM for submit@debbugs.gnu.org; Mon, 08 Oct 2018 16:08:19 -0400 Received: from eggs.gnu.org ([208.118.235.92]:55922) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9bpC-00051D-8R for 32990@debbugs.gnu.org; Mon, 08 Oct 2018 16:08:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9bp1-0007uR-O1 for 32990@debbugs.gnu.org; Mon, 08 Oct 2018 16:08:12 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43912) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9bp1-0007uH-I5; Mon, 08 Oct 2018 16:08:07 -0400 Received: from [176.228.60.248] (port=3767 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1g9boz-000305-Si; Mon, 08 Oct 2018 16:08:07 -0400 Date: Mon, 08 Oct 2018 23:07:59 +0300 Message-Id: <83muroyzfk.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Mon, 08 Oct 2018 19:58:15 +0200 > From: charles@aurox.ch (Charles A. Roelli) > > Another small change for emacs-26: > > diff --git a/lisp/isearch.el b/lisp/isearch.el > index 3725779..7833a7b 100644 > --- a/lisp/isearch.el > +++ b/lisp/isearch.el > @@ -719,6 +719,10 @@ isearch-forward > If you try to exit with the search string still empty, it invokes > nonincremental search. > > +Exiting pushes the mark where point was before the search > +started, unless `transient-mark-mode' is on and the mark is > +active. > + Are you sure this is important to say there? The doc string of that function is already way beyond annoyingly long. I'd actually encourage the opposite trend: make the doc string shorter, and tell users to read the manual for more details. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 09 14:10:55 2018 Received: (at 32990) by debbugs.gnu.org; 9 Oct 2018 18:10:55 +0000 Received: from localhost ([127.0.0.1]:42539 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9wT9-0007Oj-MS for submit@debbugs.gnu.org; Tue, 09 Oct 2018 14:10:55 -0400 Received: from sinyavsky.aurox.ch ([37.35.109.145]:60615) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9wT7-0007OR-QD for 32990@debbugs.gnu.org; Tue, 09 Oct 2018 14:10:54 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 2996B22896 for <32990@debbugs.gnu.org>; Tue, 9 Oct 2018 18:14:53 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1539108892; x=1539972893; bh=Ux tF5d2lvhBPdR6T80m1xVjCpk6B7Sbi3fk8XHls7aU=; b=keqwtJ2IVIfNJosSUb O7TUy7y8oq3boVamuXMnUmpTkvSybuuh/Egwq310hYTF53XSk8ADdgqNIn0AQbXP D3WCrSwyQngqxfkJ6NYaVEpkY2y4AocfJ2SuG45w2ElVfjiR7w/pQt8CJke+rh3h Entlhrv9my0QL9h+fJtTHmLU0= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id kmbpflmbLiYI for <32990@debbugs.gnu.org>; Tue, 9 Oct 2018 18:14:52 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 9F84B22879; Tue, 9 Oct 2018 18:14:51 +0000 (UTC) Date: Tue, 09 Oct 2018 20:14:34 +0200 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <83muroyzfk.fsf@gnu.org> (message from Eli Zaretskii on Mon, 08 Oct 2018 23:07:59 +0300) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Mon, 08 Oct 2018 23:07:59 +0300 > From: Eli Zaretskii > CC: 32990@debbugs.gnu.org > > Are you sure this is important to say there? The doc string of that > function is already way beyond annoyingly long. It is important, but see below. > I'd actually encourage the opposite trend: make the doc string > shorter, and tell users to read the manual for more details. Ok, that would be better than duplicating all the details in both the function documentation and the manual. I will prepare a patch. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 09 14:21:39 2018 Received: (at 32990) by debbugs.gnu.org; 9 Oct 2018 18:21:39 +0000 Received: from localhost ([127.0.0.1]:42554 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9wdX-0007gf-8K for submit@debbugs.gnu.org; Tue, 09 Oct 2018 14:21:39 -0400 Received: from eggs.gnu.org ([208.118.235.92]:56220) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1g9wdV-0007gQ-81 for 32990@debbugs.gnu.org; Tue, 09 Oct 2018 14:21:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1g9wdM-0004hG-70 for 32990@debbugs.gnu.org; Tue, 09 Oct 2018 14:21:32 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:39215) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1g9wdM-0004h9-0r; Tue, 09 Oct 2018 14:21:28 -0400 Received: from [176.228.60.248] (port=3407 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1g9wdB-0002T5-Hd; Tue, 09 Oct 2018 14:21:27 -0400 Date: Tue, 09 Oct 2018 21:21:02 +0300 Message-Id: <83woqrx9pt.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Tue, 09 Oct 2018 20:14:34 +0200 > From: charles@aurox.ch (Charles A. Roelli) > CC: 32990@debbugs.gnu.org > > > I'd actually encourage the opposite trend: make the doc string > > shorter, and tell users to read the manual for more details. > > Ok, that would be better than duplicating all the details in both the > function documentation and the manual. I will prepare a patch. Thanks! From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 14 15:49:19 2018 Received: (at 32990) by debbugs.gnu.org; 14 Oct 2018 19:49:20 +0000 Received: from localhost ([127.0.0.1]:49589 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gBmO7-0000bn-M8 for submit@debbugs.gnu.org; Sun, 14 Oct 2018 15:49:19 -0400 Received: from sinyavsky.aurox.ch ([37.35.109.145]:36357) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gBmO5-0000bY-6d for 32990@debbugs.gnu.org; Sun, 14 Oct 2018 15:49:17 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 3DF4D2289B for <32990@debbugs.gnu.org>; Sun, 14 Oct 2018 19:53:21 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1539546799; x=1540410800; bh=j7 bDouZjLLYJyA0iiWF5zX6dUmkXMM+pAoPNX5CYjyI=; b=gykLAy738VntLGvMWD avMEr0Bs+YAmC58HImlaNN5ky90YLH5VrqcFtYwFzoHIJAi84T16YsbxuVoOAvFH jLhCVGZNeeRh8qBzjPqVpPKoFd1nvX0wi4DLErFANy9vcRHwdUf8HdtveyKmN/TU VBHkWem287dXr6yXd8sXTQqdQ= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id x3QoqZd30JBl for <32990@debbugs.gnu.org>; Sun, 14 Oct 2018 19:53:19 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 9466922887; Sun, 14 Oct 2018 19:53:19 +0000 (UTC) Date: Sun, 14 Oct 2018 21:53:31 +0200 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <83woqrx9pt.fsf@gnu.org> (message from Eli Zaretskii on Tue, 09 Oct 2018 21:21:02 +0300) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 09 Oct 2018 21:21:02 +0300 > From: Eli Zaretskii > > > Ok, that would be better than duplicating all the details in both the > > function documentation and the manual. I will prepare a patch. > > Thanks! This line of isearch-forward's current docstring points to several issues which make me uncomfortable changing or deleting it yet: Type DEL to cancel last input item from end of search string. (DEL is the binding for "isearch-delete-char"). "Last input" is defined by the documentation of "isearch-delete-char" as "the last character or the last isearch command that added or deleted characters from the search string, moved point, toggled regexp mode or case-sensitivity, etc.". This definition of "last input" is not in the manual, and DEL is never advertised to be capable of canceling regexp mode or case-sensitivity toggling. DEL is only advertised as being capable of "canceling the last character of the search string" (in node "Basic Isearch") and "canceling some C-s characters" (in node "Repeat Isearch"). For example, from emacs -Q, M-< C-s buffer M-r DEL deletes the "r" off the search string, instead of "canceling the last input item", which I understand should be the "M-r" regexp mode toggling. To make matters more complicated, DEL /sometimes/ does cancel the "last input" of a search: for example, if you have some text on your kill ring, C-s C-y DEL undoes the yanking of the string into the search. (This is surprisingly sophisticated to me, and, I think, something to document better.) All of this makes it sound as if "isearch-delete-char" is badly named: it is a wrapper around "isearch-pop-state", and seems to be a sort of general (but incomplete) "undo" command for ISEARCH. Maybe we should name it differently and even provide a more intuitive binding for it (on the master branch). Its name also clashes with "isearch-del-char". Thus, some first steps for the emacs-26 branch could be to: . correct the definition of "last input item" as mentioned in the documentation of "isearch-delete-char" . name, index and fully explain "isearch-delete-char" in the Emacs manual . mention in more places how and when to use "isearch-delete-char" If anybody can explain more about "isearch-delete-char", please do! From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 15 11:02:22 2018 Received: (at 32990) by debbugs.gnu.org; 15 Oct 2018 15:02:23 +0000 Received: from localhost ([127.0.0.1]:50916 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gC4Ny-0005iy-M2 for submit@debbugs.gnu.org; Mon, 15 Oct 2018 11:02:22 -0400 Received: from eggs.gnu.org ([208.118.235.92]:52030) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gC4Nw-0005ec-Qk for 32990@debbugs.gnu.org; Mon, 15 Oct 2018 11:02:21 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gC4Nh-0000cc-LR for 32990@debbugs.gnu.org; Mon, 15 Oct 2018 11:02:15 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43316) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gC4Nh-0000cW-Ha; Mon, 15 Oct 2018 11:02:05 -0400 Received: from [176.228.60.248] (port=1153 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gC4Nh-0002Ix-3u; Mon, 15 Oct 2018 11:02:05 -0400 Date: Mon, 15 Oct 2018 18:02:16 +0300 Message-Id: <835zy3tfrb.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Sun, 14 Oct 2018 21:53:31 +0200 > From: charles@aurox.ch (Charles A. Roelli) > CC: 32990@debbugs.gnu.org > > Thus, some first steps for the emacs-26 branch could be to: > > . correct the definition of "last input item" as mentioned in the > documentation of "isearch-delete-char" > > . name, index and fully explain "isearch-delete-char" in the Emacs > manual > > . mention in more places how and when to use "isearch-delete-char" Sounds like a good plan to me, thanks. I wouldn't rename isearch-delete-char; instead, I'd explain that what it does is a kind of "undo", as you describe. From debbugs-submit-bounces@debbugs.gnu.org Tue Oct 16 14:52:55 2018 Received: (at 32990) by debbugs.gnu.org; 16 Oct 2018 18:52:55 +0000 Received: from localhost ([127.0.0.1]:53953 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gCUSc-0007YF-Ur for submit@debbugs.gnu.org; Tue, 16 Oct 2018 14:52:55 -0400 Received: from sinyavsky.aurox.ch ([37.35.109.145]:37855) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gCUSY-0007Xw-QC for 32990@debbugs.gnu.org; Tue, 16 Oct 2018 14:52:51 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id A2E0D228A0 for <32990@debbugs.gnu.org>; Tue, 16 Oct 2018 18:56:56 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1539716215; x=1540580216; bh=re lTvxaQ73Sz+tdvk/RVDR62aEEYX8aW5lu2QafHbYs=; b=d/P1lp2mt8TZ/zNgdd a1DmXAPJH7+79Tw0j7NN9xwc/5zduGUSG6hOY6KBNSfch2U76pwgYt9AxqYt3i9d tAj0dCz9dn88uGsi94TwquhQ7aKLFdW+2T29n1zuFmJO064jhj7LFARerbQV7CUB 1mGgEel8P9I2B76LZlyQetjHc= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id aKlLxIU0qsqE for <32990@debbugs.gnu.org>; Tue, 16 Oct 2018 18:56:55 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id CC0332288F; Tue, 16 Oct 2018 18:56:54 +0000 (UTC) Date: Tue, 16 Oct 2018 20:57:13 +0200 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <835zy3tfrb.fsf@gnu.org> (message from Eli Zaretskii on Mon, 15 Oct 2018 18:02:16 +0300) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Mon, 15 Oct 2018 18:02:16 +0300 > From: Eli Zaretskii > > Sounds like a good plan to me, thanks. > > I wouldn't rename isearch-delete-char; instead, I'd explain that what > it does is a kind of "undo", as you describe. Ok, how about the following? diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 053603e..58a7658 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -99,10 +99,18 @@ Basic Isearch that customize this highlighting. The current search string is also displayed in the echo area. - If you make a mistake typing the search string, type @key{DEL}. -Each @key{DEL} cancels the last character of the search string. -@xref{Error in Isearch}, for more about dealing with unsuccessful -search. +@cindex isearch input item +@cindex input item, isearch +@findex isearch-delete-char +@kindex DEL @r{(Incremental search)} + If you make a mistake typing the search string, type @key{DEL} +(@code{isearch-delete-char}). Each @key{DEL} cancels the last input +item entered during the search. Emacs records a new @dfn{input item} +whenever you type a command that changes the search string, the +position of point, the success or failure of the search, the direction +of the search, the position of the other end of the current search +result, or the ``wrappedness'' of the search. @xref{Error in +Isearch}, for more about dealing with unsuccessful search. @cindex exit incremental search @cindex incremental search, exiting @@ -283,14 +291,15 @@ Error in Isearch @code{isearch-fail}. At this point, there are several things you can do. If your string -was mistyped, you can use @key{DEL} to erase some of it and correct -it, or you can type @kbd{M-e} and edit it. If you like the place you -have found, you can type @key{RET} to remain there. Or you can type -@kbd{C-g}, which removes from the search string the characters that -could not be found (the @samp{T} in @samp{FOOT}), leaving those that -were found (the @samp{FOO} in @samp{FOOT}). A second @kbd{C-g} at -that point cancels the search entirely, returning point to where it -was when the search started. +was mistyped, use @key{DEL} to cancel a previous input item +(@pxref{Basic Isearch}), @kbd{C-M-w} to erase one character at a time, +or @kbd{M-e} to edit it. If you like the place you have found, you +can type @key{RET} to remain there. Or you can type @kbd{C-g}, which +removes from the search string the characters that could not be found +(the @samp{T} in @samp{FOOT}), leaving those that were found (the +@samp{FOO} in @samp{FOOT}). A second @kbd{C-g} at that point cancels +the search entirely, returning point to where it was when the search +started. @cindex quitting (in search) @kindex C-g @r{(Incremental search)} diff --git a/lisp/isearch.el b/lisp/isearch.el index 31571e1..40b0799 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1956,11 +1956,14 @@ isearch-highlight-regexp (defun isearch-delete-char () - "Discard last input item and move point back. -Last input means the last character or the last isearch command -that added or deleted characters from the search string, -moved point, toggled regexp mode or case-sensitivity, etc. -If no previous match was done, just beep." + "Undo last input item during a search. + +An input item is a command that pushes a new state of isearch (as +recorded by the `isearch--state' structure) to `isearch-cmds'. +Info node `Basic Isearch' explains when Emacs pushes a new +isearch state. + +If no input items have been entered yet, just beep." (interactive) (if (null (cdr isearch-cmds)) (ding) From debbugs-submit-bounces@debbugs.gnu.org Sat Oct 20 06:00:20 2018 Received: (at 32990) by debbugs.gnu.org; 20 Oct 2018 10:00:20 +0000 Received: from localhost ([127.0.0.1]:60270 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gDo3Q-0004iN-6F for submit@debbugs.gnu.org; Sat, 20 Oct 2018 06:00:20 -0400 Received: from eggs.gnu.org ([208.118.235.92]:40815) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gDo3P-0004iC-8K for 32990@debbugs.gnu.org; Sat, 20 Oct 2018 06:00:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gDo3E-0000yC-VP for 32990@debbugs.gnu.org; Sat, 20 Oct 2018 06:00:13 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:37358) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gDo3D-0000xD-3g; Sat, 20 Oct 2018 06:00:08 -0400 Received: from [176.228.60.248] (port=3958 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gDo3C-0003Yk-Ny; Sat, 20 Oct 2018 06:00:07 -0400 Date: Sat, 20 Oct 2018 12:59:48 +0300 Message-Id: <83bm7pueej.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Tue, 16 Oct 2018 20:57:13 +0200 > From: charles@aurox.ch (Charles A. Roelli) > CC: 32990@debbugs.gnu.org > > Ok, how about the following? LGTM, with 2 comments: > (defun isearch-delete-char () > - "Discard last input item and move point back. > -Last input means the last character or the last isearch command > -that added or deleted characters from the search string, > -moved point, toggled regexp mode or case-sensitivity, etc. > -If no previous match was done, just beep." > + "Undo last input item during a search. > + > +An input item is a command that pushes a new state of isearch (as I think you meant to say that "An input item is the result of a command that pushes a new state ...". Right? > +Info node `Basic Isearch' explains when Emacs pushes a new > +isearch state. It is better to use `(emacs)Basic Search' as a link to the manual; that's what we do elsewhere. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 25 15:05:48 2018 Received: (at 32990) by debbugs.gnu.org; 25 Oct 2018 19:05:48 +0000 Received: from localhost ([127.0.0.1]:42818 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFkx2-0004t0-18 for submit@debbugs.gnu.org; Thu, 25 Oct 2018 15:05:48 -0400 Received: from sinyavsky.aurox.ch ([37.35.109.145]:43758) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFkx0-0004sl-Gq for 32990@debbugs.gnu.org; Thu, 25 Oct 2018 15:05:47 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 37DC4228A8 for <32990@debbugs.gnu.org>; Thu, 25 Oct 2018 19:10:01 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1540494600; x=1541358601; bh=vM NWqSj1osnkOj1fCx2NMbEEtlcweuZ46d5fraZrKMg=; b=OFso+r3Jgsa21MgjSG RtLZQBEBYJfLw/drBgX+4g8I/j1CZHv5Nz22pxBhMfN4W+M6hjxZv6UNlc20wQy/ o8na2BbyVeFssFROFKXsHwT/W78hqfZzvocWvhpmww3JyGkESiBIdoezq5XMp8H/ XmKzTpLiAW9O2hoGOxJv4r9wU= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 2_Auq7KBHhqu for <32990@debbugs.gnu.org>; Thu, 25 Oct 2018 19:10:00 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 32EEF22897; Thu, 25 Oct 2018 19:09:59 +0000 (UTC) Date: Thu, 25 Oct 2018 21:11:02 +0200 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <83bm7pueej.fsf@gnu.org> (message from Eli Zaretskii on Sat, 20 Oct 2018 12:59:48 +0300) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 20 Oct 2018 12:59:48 +0300 > From: Eli Zaretskii > > +An input item is a command that pushes a new state of isearch (as > > I think you meant to say that "An input item is the result of a > command that pushes a new state ...". Right? Yes. > > +Info node `Basic Isearch' explains when Emacs pushes a new > > +isearch state. > > It is better to use `(emacs)Basic Search' as a link to the manual; > that's what we do elsewhere. Thanks, I've done this and pushed to emacs-26. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 28 06:01:23 2018 Received: (at 32990) by debbugs.gnu.org; 28 Oct 2018 10:01:23 +0000 Received: from localhost ([127.0.0.1]:46719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGhso-0001PK-Jt for submit@debbugs.gnu.org; Sun, 28 Oct 2018 06:01:23 -0400 Received: from sinyavsky.aurox.ch ([37.35.109.145]:45715) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGhsm-0001P6-1B for 32990@debbugs.gnu.org; Sun, 28 Oct 2018 06:01:21 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 4E89A228BF for <32990@debbugs.gnu.org>; Sun, 28 Oct 2018 10:05:37 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1540721134; x=1541585135; bh=QN l6HQk5bOZDi3HSagAUi2BU8gd/RDsosR0WjQ+dD/k=; b=S9k2Ez6doAER7/asbG TNEqZBgXQLSzVoCvGk8kpx68TjJ1NDssG3EMkdmK9UapQr33N0RpmNmZ3lmbZs1O KIt3B7Y78GroZS1vTV1dNHb8UnttW4mu1an4DK1n8QBfhnD0bKdQBFZIzH6lBx5p r+GhD99/AlLf6bZwSsE+tHQn4= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id vnn3K27V05fr for <32990@debbugs.gnu.org>; Sun, 28 Oct 2018 10:05:34 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 741FE2289F; Sun, 28 Oct 2018 10:05:33 +0000 (UTC) Date: Sun, 28 Oct 2018 11:06:46 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: eliz@gnu.org In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) The following patch improves indexing of the isearch commands and bindings mentioned in the current docstring of isearch-forward, and adds an explanation in the manual for one missing command (isearch-query-replace-regexp). This should be one of the last changes before we can comfortably shorten isearch-forward's docstring. ---- * doc/emacs/search.texi (Basic Isearch): Index isearch-exit, isearch-abort, isearch-cancel, isearch-repeat-forward, isearch-repeat-backward and their bindings. (Repeat Isearch): Index isearch-ring-advance, isearch-ring-retreat and isearch-edit-string. (Special Isearch): Index isearch-quote-char, isearch-char-by-name and their bindings. Index isearch-query-replace and isearch-query-replace-regexp, and the latter's binding. Explain what isearch-query-replace-regexp does. Index isearch-complete. (Word Search): Index isearch-toggle-word and its binding. ---- diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 58a7658..9170dc2 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -114,24 +114,30 @@ Basic Isearch @cindex exit incremental search @cindex incremental search, exiting +@findex isearch-exit +@kindex RET @r{(Incremental search)} When you are satisfied with the place you have reached, type -@key{RET}. This stops searching, leaving the cursor where the search -brought it. Also, any command not specially meaningful in searches -stops the searching and is then executed. Thus, typing @kbd{C-a} -exits the search and then moves to the beginning of the line; typing -one of the arrow keys exits the search and performs the respective -movement command; etc. @key{RET} is necessary only if the next -command you want to type is a printing character, @key{DEL}, -@key{RET}, or another character that is special within searches -(@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, @kbd{C-y}, @kbd{M-y}, -@kbd{M-r}, @kbd{M-c}, @kbd{M-e}, and some others described below). -You can fine-tune the commands that exit the search; see @ref{Not -Exiting Isearch}. +@key{RET} (@code{isearch-exit}). This stops searching, leaving the +cursor where the search brought it. Also, any command not specially +meaningful in searches stops the searching and is then executed. +Thus, typing @kbd{C-a} exits the search and then moves to the +beginning of the line; typing one of the arrow keys exits the search +and performs the respective movement command; etc. @key{RET} is +necessary only if the next command you want to type is a printing +character, @key{DEL}, @key{RET}, or another character that is special +within searches (@kbd{C-q}, @kbd{C-w}, @kbd{C-r}, @kbd{C-s}, +@kbd{C-y}, @kbd{M-y}, @kbd{M-r}, @kbd{M-c}, @kbd{M-e}, and some others +described below). You can fine-tune the commands that exit the +search; see @ref{Not Exiting Isearch}. As a special exception, entering @key{RET} when the search string is empty launches nonincremental search (@pxref{Nonincremental Search}). (This can be customized; see @ref{Search Customizations}.) +@findex isearch-abort +@findex isearch-cancel +@kindex C-g C-g @r{(Incremental Search)} +@kindex ESC ESC ESC @r{(Incremental Search)} To abandon the search and return to the place where you started, type @kbd{@key{ESC} @key{ESC} @key{ESC}} (@code{isearch-cancel}) or @kbd{C-g C-g} (@code{isearch-abort}). @@ -154,13 +160,18 @@ Basic Isearch @node Repeat Isearch @subsection Repeating Incremental Search +@kindex C-s @r{(Incremental Search)} +@kindex C-r @r{(Incremental Search)} +@findex isearch-repeat-forward +@findex isearch-repeat-backward Suppose you search forward for @samp{FOO} and find a match, but not the one you expected to find: the @samp{FOO} you were aiming for -occurs later in the buffer. In this event, type another @kbd{C-s} to -move to the next occurrence of the search string. You can repeat this -any number of times. If you overshoot, you can cancel some @kbd{C-s} -characters with @key{DEL}. Similarly, each @kbd{C-r} in a backward -incremental search repeats the backward search. +occurs later in the buffer. In this event, type another @kbd{C-s} +(@code{isearch-repeat-forward}) to move to the next occurrence of the +search string. You can repeat this any number of times. If you +overshoot, you can cancel some @kbd{C-s} characters with @key{DEL}. +Similarly, each @kbd{C-r} (@code{isearch-repeat-backward}) in a +backward incremental search repeats the backward search. @cindex lazy search highlighting If you pause for a little while during incremental search, Emacs @@ -200,12 +211,15 @@ Repeat Isearch you have already seen. @cindex search ring +@findex isearch-ring-advance +@findex isearch-ring-retreat @kindex M-n @r{(Incremental search)} @kindex M-p @r{(Incremental search)} @vindex search-ring-max To reuse earlier search strings, use the @dfn{search ring}. The -commands @kbd{M-p} and @kbd{M-n} move through the ring to pick a -search string to reuse. These commands leave the selected search ring +commands @kbd{M-p} (@code{isearch-ring-retreat}) and @kbd{M-n} +(@code{isearch-ring-advance}) move through the ring to pick a search +string to reuse. These commands leave the selected search ring element in the minibuffer, where you can edit it. Type @kbd{C-s}/@kbd{C-r} or @key{RET} to accept the string and start searching for it. The number of most recently used search strings @@ -214,14 +228,16 @@ Repeat Isearch @cindex incremental search, edit search string @cindex interactively edit search string +@findex isearch-edit-string @kindex M-e @r{(Incremental search)} @kindex mouse-1 @r{in the minibuffer (Incremental Search)} To edit the current search string in the minibuffer without -replacing it with items from the search ring, type @kbd{M-e} or click -@kbd{mouse-1} in the minibuffer. Type @key{RET}, @kbd{C-s} or -@kbd{C-r} to finish editing the string and search for it. Type -@kbd{C-f} or @kbd{@key{RIGHT}} to add to the search string characters -following point from the buffer from which you started the search. +replacing it with items from the search ring, type @kbd{M-e} +(@code{isearch-edit-string}) or click @kbd{mouse-1} in the minibuffer. +Type @key{RET}, @kbd{C-s} or @kbd{C-r} to finish editing the string +and search for it. Type @kbd{C-f} or @kbd{@key{RIGHT}} to add to the +search string characters following point from the buffer from which +you started the search. @node Isearch Yank @subsection Isearch Yanking @@ -357,17 +373,22 @@ Special Isearch @itemize @bullet @item -Type @kbd{C-q}, followed by a non-graphic character or a sequence of -octal digits. This adds a character to the search string, similar to -inserting into a buffer using @kbd{C-q} (@pxref{Inserting Text}). For -example, @kbd{C-q C-s} during incremental search adds the -@samp{control-S} character to the search string. +@findex isearch-quote-char +@kindex C-q @r{(Incremental Search)} +Type @kbd{C-q} (@code{isearch-quote-char}), followed by a non-graphic +character or a sequence of octal digits. This adds a character to the +search string, similar to inserting into a buffer using @kbd{C-q} +(@pxref{Inserting Text}). For example, @kbd{C-q C-s} during +incremental search adds the @samp{control-S} character to the search +string. @item -Type @kbd{C-x 8 @key{RET}}, followed by a Unicode name or code-point -in hex. This adds the specified character into the search string, -similar to the usual @code{insert-char} command (@pxref{Inserting -Text}). +@findex isearch-char-by-name +@kindex C-x 8 RET @r{(Incremental Search)} +Type @kbd{C-x 8 @key{RET}} (@code{isearch-char-by-name}), followed by +a Unicode name or code-point in hex. This adds the specified +character into the search string, similar to the usual +@code{insert-char} command (@pxref{Inserting Text}). @item @kindex C-^ @r{(Incremental Search)} @@ -400,12 +421,20 @@ Special Isearch @code{isearch-occur}, which runs @code{occur} with the current search string. @xref{Other Repeating Search, occur}. +@findex isearch-query-replace +@findex isearch-query-replace-regexp @kindex M-% @r{(Incremental search)} - Typing @kbd{M-%} in incremental search invokes @code{query-replace} -or @code{query-replace-regexp} (depending on search mode) with the -current search string used as the string to replace. A negative -prefix argument means to replace backward. @xref{Query Replace}. - +@kindex C-M-% @r{(Incremental search)} + Typing @kbd{M-%} (@code{isearch-query-replace}) in incremental +search invokes @code{query-replace} or @code{query-replace-regexp} +(depending on search mode) with the current search string used as the +string to replace. A negative prefix argument means to replace +backward. @xref{Query Replace}. Typing @kbd{C-M-%} +(@code{isearch-query-replace-regexp}) invokes +@code{query-replace-regexp} with the current search string used as the +regexp to replace. + +@findex isearch-complete @kindex M-TAB @r{(Incremental search)} Typing @kbd{M-@key{TAB}} in incremental search invokes @code{isearch-complete}, which attempts to complete the search string @@ -599,15 +628,18 @@ Word Search Search the Web for the text in region. @end table -@kindex M-s w @findex isearch-forward-word +@findex isearch-toggle-word +@kindex M-s w +@kindex M-s w @r{(Incremental Search)} To begin a forward incremental word search, type @kbd{M-s w}. If incremental search is not already active, this runs the command @code{isearch-forward-word}. If incremental search is already active -(whether a forward or backward search), @kbd{M-s w} switches to a word -search while keeping the direction of the search and the current -search string unchanged. You can toggle word search back off by -typing @kbd{M-s w} again. +(whether a forward or backward search), @kbd{M-s w} runs the command +@code{isearch-toggle-word}, which switches to a word search while +keeping the direction of the search and the current search string +unchanged. You can toggle word search back off by typing @kbd{M-s w} +again. @findex word-search-forward @findex word-search-backward From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 28 11:53:24 2018 Received: (at 32990) by debbugs.gnu.org; 28 Oct 2018 15:53:24 +0000 Received: from localhost ([127.0.0.1]:49187 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGnNU-0008BV-4a for submit@debbugs.gnu.org; Sun, 28 Oct 2018 11:53:24 -0400 Received: from eggs.gnu.org ([208.118.235.92]:49251) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGnNT-0008BI-5j for 32990@debbugs.gnu.org; Sun, 28 Oct 2018 11:53:23 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gGnNJ-0000ae-12 for 32990@debbugs.gnu.org; Sun, 28 Oct 2018 11:53:17 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:49102) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gGnNI-0000aO-T5; Sun, 28 Oct 2018 11:53:12 -0400 Received: from [176.228.60.248] (port=3749 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gGnNI-0000QK-0d; Sun, 28 Oct 2018 11:53:12 -0400 Date: Sun, 28 Oct 2018 17:53:19 +0200 Message-Id: <834ld6m5jk.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Sun, 28 Oct 2018 11:06:46 +0100 > From: charles@aurox.ch (Charles A. Roelli) > CC: 32990@debbugs.gnu.org > > The following patch improves indexing of the isearch commands and > bindings mentioned in the current docstring of isearch-forward, and > adds an explanation in the manual for one missing command > (isearch-query-replace-regexp). This should be one of the last > changes before we can comfortably shorten isearch-forward's docstring. Thanks, I have a couple of minor comments: > +search string. You can repeat this any number of times. If you > +overshoot, you can cancel some @kbd{C-s} characters with @key{DEL}. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I would say "cancel some @kbd{C-s} commands", not "characters". "Cancel characters" sounds awkward and slightly confusing. > +@kindex M-s w > +@kindex M-s w @r{(Incremental Search)} It is not useful to have several index entries starting with the same string and pointing to the same place, or very close places. In this case, I think just the first one will do. From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 28 13:09:42 2018 Received: (at 32990) by debbugs.gnu.org; 28 Oct 2018 17:09:42 +0000 Received: from localhost ([127.0.0.1]:49249 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGoZK-0001Wc-0l for submit@debbugs.gnu.org; Sun, 28 Oct 2018 13:09:42 -0400 Received: from sinyavsky.aurox.ch ([37.35.109.145]:46053) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gGoZI-0001WO-2a for 32990@debbugs.gnu.org; Sun, 28 Oct 2018 13:09:40 -0400 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 9C25F228BB for <32990@debbugs.gnu.org>; Sun, 28 Oct 2018 17:13:57 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1540746836; x=1541610837; bh=/U cnETKCnS11A+5YuhPwll4AZUitwiwf6B4PV1c7A8s=; b=OA2LYXbmQMp7+wQAvC aGC9kLemQGwFI1A18O0a2z2pREUxmQYrd2KK5hV+wgsV1Wq3jmiJpX3p58qSuIhc 5ltbJRhp32cGtc9IgRjqyVqCz5gpg125gIEHPSEeeQIgmQ39ImqEeRx+JhWGEA21 nv9rzwEHVB0aYcu3KAwJTsvwE= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id oOkNffsNy_Du for <32990@debbugs.gnu.org>; Sun, 28 Oct 2018 17:13:56 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:c693:2d60:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 67EC222897; Sun, 28 Oct 2018 17:13:56 +0000 (UTC) Date: Sun, 28 Oct 2018 18:09:19 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <834ld6m5jk.fsf@gnu.org> (message from Eli Zaretskii on Sun, 28 Oct 2018 17:53:19 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sun, 28 Oct 2018 17:53:19 +0200 > From: Eli Zaretskii > > Thanks, I have a couple of minor comments: > > > +search string. You can repeat this any number of times. If you > > +overshoot, you can cancel some @kbd{C-s} characters with @key{DEL}. > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > I would say "cancel some @kbd{C-s} commands", not "characters". > "Cancel characters" sounds awkward and slightly confusing. > > > +@kindex M-s w > > +@kindex M-s w @r{(Incremental Search)} > > It is not useful to have several index entries starting with the same > string and pointing to the same place, or very close places. In this > case, I think just the first one will do. Thanks for reviewing, I pushed the change with these amendments. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 10 08:56:53 2018 Received: (at 32990) by debbugs.gnu.org; 10 Nov 2018 13:56:54 +0000 Received: from localhost ([127.0.0.1]:44271 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLTkr-0005q9-Mq for submit@debbugs.gnu.org; Sat, 10 Nov 2018 08:56:53 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:56378) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLTkp-0005pu-T7 for 32990@debbugs.gnu.org; Sat, 10 Nov 2018 08:56:52 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id EB39422995 for <32990@debbugs.gnu.org>; Sat, 10 Nov 2018 14:01:21 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1541858480; x=1542722481; bh=qE TZpmhvKd4mXQ2cBnIgIBUULMBnbHYnWnK4gQMt/Ck=; b=MwbczZF4OVhaa/Qdb1 Mu4zh8jQ7SPyKKfw0RBVFn0L9t/p6Oy3cqr5VaupbfnsstR4mx/ai/6BLqwlXrDw jberO4MKYObASUb8tteZQszuYHPuS6fnmePdGedqN224vUVM8pLLnBjYbbEcMZUh ABvvQgvMqeziUFX8V5CMTBOnY= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id I4MyHos_SFcT for <32990@debbugs.gnu.org>; Sat, 10 Nov 2018 14:01:20 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 8984B22181; Sat, 10 Nov 2018 14:01:20 +0000 (UTC) Date: Sat, 10 Nov 2018 14:57:43 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: eliz@gnu.org In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Now that we have all of the important isearch commands and bindings indexed, we should be able to shorten isearch-forward's docstring. The question is, how much? Here's one attempt that may cut out too much: "Do incremental search forward for a string as you type. \\ \\[isearch-repeat-forward] moves forward to the next search hit. \\[isearch-repeat-backward] moves backward to the previous search hit. \\[isearch-abort] aborts the search and returns point to its former position. \\[isearch-exit] exits the search and leaves point where it is. Many other non-printing keys have special bindings while searching; Info node `(emacs)Incremental Search' and its descendants describes them. If REGEXP-P is non-nil (or interactively, when called with a prefix argument), do an incremental regular expression search instead. If NO-RECURSIVE-EDIT is non-nil (as it is interactively), do not enter a recursive edit. If nil, enter a recursive edit and exit the recursive edit when the search is done." It covers the absolute basics, but leaves everything else to the manual. I'm not sure all users will like that, since the current docstring covers almost all of the keybindings. I remember reading somewhere a suggestion for adding a toolbar (and (or) a dedicated menu) for use during isearch-mode, to help the discoverability of these myriad keybindings. That could be a good alternative to listing verbosely every binding in the docstring. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 10 09:05:44 2018 Received: (at 32990) by debbugs.gnu.org; 10 Nov 2018 14:05:44 +0000 Received: from localhost ([127.0.0.1]:44281 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLTtO-00065P-Rz for submit@debbugs.gnu.org; Sat, 10 Nov 2018 09:05:44 -0500 Received: from eggs.gnu.org ([208.118.235.92]:60362) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLTtN-00065A-0R for 32990@debbugs.gnu.org; Sat, 10 Nov 2018 09:05:41 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gLTtB-0004Vv-UH for 32990@debbugs.gnu.org; Sat, 10 Nov 2018 09:05:33 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:58452) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gLTt1-0004Na-6v; Sat, 10 Nov 2018 09:05:21 -0500 Received: from [176.228.60.248] (port=3420 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gLTsz-0005Xu-JZ; Sat, 10 Nov 2018 09:05:19 -0500 Date: Sat, 10 Nov 2018 16:05:05 +0200 Message-Id: <831s7tauzy.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Sat, 10 Nov 2018 14:57:43 +0100 > From: charles@aurox.ch (Charles A. Roelli) > CC: 32990@debbugs.gnu.org > > Now that we have all of the important isearch commands and bindings > indexed, we should be able to shorten isearch-forward's docstring. > The question is, how much? Here's one attempt that may cut out too > much: > > "Do incremental search forward for a string as you type. > \\ > \\[isearch-repeat-forward] moves forward to the next search hit. > \\[isearch-repeat-backward] moves backward to the previous search hit. > \\[isearch-abort] aborts the search and returns point to its former position. > \\[isearch-exit] exits the search and leaves point where it is. > > Many other non-printing keys have special bindings while searching; > Info node `(emacs)Incremental Search' and its descendants describes > them. > > If REGEXP-P is non-nil (or interactively, when called with a > prefix argument), do an incremental regular expression search > instead. > > If NO-RECURSIVE-EDIT is non-nil (as it is interactively), do not > enter a recursive edit. If nil, enter a recursive edit and > exit the recursive edit when the search is done." I think we should at least describe in the doc string what is described in "Basic Isearch", which would mean adding isearch-delete-char. Other than that, I'm okay with this text. > I remember reading somewhere a suggestion for adding a toolbar (and > (or) a dedicated menu) for use during isearch-mode, to help the > discoverability of these myriad keybindings. That could be a good > alternative to listing verbosely every binding in the docstring. I agree, but we should make sure clicking the menu won't exit Isearch. Thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 10 16:58:58 2018 Received: (at 32990) by debbugs.gnu.org; 10 Nov 2018 21:58:58 +0000 Received: from localhost ([127.0.0.1]:45094 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLbHM-0004ph-R7 for submit@debbugs.gnu.org; Sat, 10 Nov 2018 16:58:57 -0500 Received: from bird.maple.relay.mailchannels.net ([23.83.214.17]:25843) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gLbHK-0004pX-5p for 32990@debbugs.gnu.org; Sat, 10 Nov 2018 16:58:55 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id E4F22421E2; Sat, 10 Nov 2018 21:58:51 +0000 (UTC) Received: from pdx1-sub0-mail-a77.g.dreamhost.com (unknown [100.96.20.98]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A494041F57; Sat, 10 Nov 2018 21:58:51 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a77.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Sat, 10 Nov 2018 21:58:51 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Wiry-Tasty: 3706ce1560cf98d6_1541887131761_3626996624 X-MC-Loop-Signature: 1541887131761:3038806612 X-MC-Ingress-Time: 1541887131761 Received: from pdx1-sub0-mail-a77.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTP id 7207C7F44E; Sat, 10 Nov 2018 13:58:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=gMWRHfDoQ2h/XcKxo2Ra4/dy71M=; b= bX6l2EnOQZX9ZXMzdEOalOEmlq3k8+iNQni1qF15+NbU7MQgPkOwMvzI8gqJT1hz 9thNNshNlYznaGPX9sKeuro08Ve5SBVAPbVcjMVEjL0Ew0Bo9Uw7yyC9UZUa4G4E h0TTw4OWyjV3wT++3WxL/HhcqJ++zt82aZl2ZyV+/j8= Received: from mail.jurta.org (m91-129-107-244.cust.tele2.ee [91.129.107.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTPSA id CD4138091E; Sat, 10 Nov 2018 13:58:49 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a77 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> Date: Sat, 10 Nov 2018 22:34:35 +0200 In-Reply-To: (Charles A. Roelli's message of "Sat, 10 Nov 2018 14:57:43 +0100") Message-ID: <87zhugua6c.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrkeehgdduheeiucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrddvgeegnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrvdeggedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegthhgrrhhlvghssegruhhrohigrdgthhenucevlhhushhtvghrufhiiigvpedt X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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 (-) > Now that we have all of the important isearch commands and bindings > indexed, we should be able to shorten isearch-forward's docstring. We could move all the current long text from isearch-forward's docstring to isearch-describe-mode. Maybe better to move it to isearch-describe-mode's docstring and then instead of current (describe-function 'isearch-forward) in isearch-describe-mode call (describe-function 'isearch-describe-mode) Then we could add a link to isearch-describe-mode from docstring of isearch-forward and other isearch commands with an explanation "For more information, see isearch-describe-mode ..." From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 15 14:55:55 2018 Received: (at 32990) by debbugs.gnu.org; 15 Nov 2018 19:55:55 +0000 Received: from localhost ([127.0.0.1]:54467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNNk2-0004ZL-J6 for submit@debbugs.gnu.org; Thu, 15 Nov 2018 14:55:55 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:60504) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNNk0-0004Z8-CI for 32990@debbugs.gnu.org; Thu, 15 Nov 2018 14:55:53 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 52E432296A for <32990@debbugs.gnu.org>; Thu, 15 Nov 2018 20:00:27 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542312023; x=1543176024; bh=H7 hiw24pcfjVT1jdqYjpRJQgIMgL4p3EbLGz0odQSyI=; b=fVqZ3S7wWcddNVM2NT FrEsfkPUuoq44q+X4KwIaMALXgjFkcGtz6pShAX1pQSj14aTKqeLsPjRqj9qBNA3 2xjRjnVJupNw64+/lPMiCextBphP7XRj4qMeWZKeezd4n01ZDFeQzOJyzsLGdYr4 HkcIW/gutgpIoScW7ztAELDpE= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id UVvqEnQ3nE0V for <32990@debbugs.gnu.org>; Thu, 15 Nov 2018 20:00:23 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 611C42295D; Thu, 15 Nov 2018 20:00:23 +0000 (UTC) Date: Thu, 15 Nov 2018 20:57:12 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <831s7tauzy.fsf@gnu.org> (message from Eli Zaretskii on Sat, 10 Nov 2018 16:05:05 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 10 Nov 2018 16:05:05 +0200 > From: Eli Zaretskii > > I think we should at least describe in the doc string what is > described in "Basic Isearch", which would mean adding > isearch-delete-char. Other than that, I'm okay with this text. Ok, I will add that in too. > > I remember reading somewhere a suggestion for adding a toolbar (and > > (or) a dedicated menu) for use during isearch-mode, to help the > > discoverability of these myriad keybindings. That could be a good > > alternative to listing verbosely every binding in the docstring. > > I agree, but we should make sure clicking the menu won't exit Isearch. > > Thanks. There's a first draft of a menu- and tool-bar for Isearch at the end of this message (on branch master). Clicking the menu items and icons should work okay with the mouse, but I haven't yet found a way to show the menu with either "tmm-menubar" or TTY menus, since activating these functions will normally exit Isearch. diff --git a/lisp/isearch.el b/lisp/isearch.el index 035ff69..1f8a611 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -489,6 +489,142 @@ 'isearch-mode-help ;; Define isearch-mode keymap. +(defvar isearch-menu-bar-map + (let ((map (make-sparse-keymap "Isearch"))) + (define-key map [isearch-complete] + '(menu-item "Complete current search string" isearch-complete + :help "Complete current search string over search history")) + (define-key map [isearch-complete-separator] + '(menu-item "--")) + (define-key map [isearch-query-replace-regexp] + '(menu-item "Replace search string as regexp" isearch-query-replace-regexp + :help "Replace matches for current search string as regexp")) + (define-key map [isearch-query-replace] + '(menu-item "Replace search string" isearch-query-replace + :help "Replace matches for current search string")) + (define-key map [isearch-occur] + '(menu-item "Show all matches for search string" isearch-occur + :help "Show all matches for current search string")) + (define-key map [isearch-highlight-regexp] + '(menu-item "Highlight all matches for search string" + isearch-highlight-regexp + :help "Highlight all matches for current search string")) + (define-key map [isearch-search-replace-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-specified-input-method] + '(menu-item "Turn on specific input method" + isearch-toggle-specified-input-method + :help "Turn on specific input method for search")) + (define-key map [isearch-toggle-input-method] + '(menu-item "Toggle input method" isearch-toggle-input-method + :help "Toggle input method for search")) + (define-key map [isearch-input-method-separator] + '(menu-item "--")) + (define-key map [isearch-char-by-name] + '(menu-item "Search for char by name" isearch-char-by-name + :help "Search for character by name")) + (define-key map [isearch-quote-char] + '(menu-item "Search for literal char" isearch-quote-char + :help "Search for literal char")) + (define-key map [isearch-special-char-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-word] + '(menu-item "Word matching" isearch-toggle-word + :help "Word matching" + :button (:toggle + . (eq isearch-regexp-function 'word-search-regexp)))) + (define-key map [isearch-toggle-symbol] + '(menu-item "Symbol matching" isearch-toggle-symbol + :help "Symbol matching" + :button (:toggle + . (eq isearch-regexp-function + 'isearch-symbol-regexp)))) + (define-key map [isearch-toggle-regexp] + '(menu-item "Regexp matching" isearch-toggle-regexp + :help "Regexp matching" + :button (:toggle . isearch-regexp))) + (define-key map [isearch-toggle-invisible] + '(menu-item "Invisible text matching" isearch-toggle-invisible + :help "Invisible text matching" + :button (:toggle . isearch-invisible))) + (define-key map [isearch-toggle-char-fold] + '(menu-item "Character folding matching" isearch-toggle-char-fold + :help "Character folding matching" + :button (:toggle + . (eq isearch-regexp-function + 'char-fold-to-regexp)))) + (define-key map [isearch-toggle-case-fold] + '(menu-item "Case folding matching" isearch-toggle-case-fold + :help "Case folding matching" + :button (:toggle . isearch-case-fold-search))) + (define-key map [isearch-toggle-lax-whitespace] + '(menu-item "Lax whitespace matching" isearch-toggle-lax-whitespace + :help "Lax whitespace matching" + :button (:toggle . isearch-lax-whitespace))) + (define-key map [isearch-toggle-separator] + '(menu-item "--")) + (define-key map [isearch-del-char] + '(menu-item "Delete last character from search string" isearch-del-char + :help "Delete last character from search string")) + (define-key map [isearch-yank-pop] + '(menu-item "Yank previous kill on search string" isearch-yank-pop + :help "Replace yanked previous kill on search string")) + (define-key map [isearch-yank-kill] + '(menu-item "Yank current kill on search string" isearch-yank-kill + :help "Append current kill to search string")) + (define-key map [isearch-yank-line] + '(menu-item "Yank rest of line on search string" isearch-yank-line + :help "Yank the rest of the current line on search string")) + (define-key map [isearch-yank-symbol-or-char] + '(menu-item "Yank symbol/char on search string" + isearch-yank-symbol-or-char + :help "Yank next symbol or char on search string")) + (define-key map [isearch-yank-word-or-char] + '(menu-item "Yank word/char on search string" + isearch-yank-word-or-char + :help "Yank next word or char on search string")) + (define-key map [isearch-yank-char] + '(menu-item "Yank char on search string" isearch-yank-char + :help "Yank char at point on search string")) + (define-key map [isearch-yank-separator] + '(menu-item "--")) + (define-key map [isearch-edit-string] + '(menu-item "Edit current search string" isearch-edit-string + :help "Edit current search string")) + (define-key map [isearch-ring-retreat] + '(menu-item "Edit previous search string" isearch-ring-retreat + :help "Edit previous search string in Isearch history")) + (define-key map [isearch-ring-advance] + '(menu-item "Edit next search string" isearch-ring-advance + :help "Edit next search string in Isearch history")) + (define-key map [isearch-delete-char] + '(menu-item "Cancel last input item" isearch-delete-char + :help "Cancel the last Isearch command")) + (define-key map [isearch-repeat-backward] + '(menu-item "Repeat search backward" isearch-repeat-backward + :help "Repeat current search backward")) + (define-key map [isearch-repeat-forward] + '(menu-item "Repeat search forward" isearch-repeat-forward + :help "Repeat current search forward")) + (define-key map [isearch-nonincremental] + '(menu-item "Nonincremental search" isearch-exit + :help "Start nonincremental search" + :visible (string-equal isearch-string ""))) + (define-key map [isearch-exit] + '(menu-item "Finish search" isearch-exit + :help "Finish search leaving point where it is" + :visible (not (string-equal isearch-string "")))) + (define-key map [isearch-abort] + '(menu-item "Remove characters not found" isearch-abort + :help "Quit current search" + :visible (not isearch-success))) + (define-key map [isearch-cancel] + `(menu-item "Cancel search" isearch-cancel + :help "Cancel current search and return to starting point" + :filter ,(lambda (binding) + (if isearch-success 'isearch-abort binding)))) + map)) + (defvar isearch-mode-map (let ((i 0) (map (make-keymap))) @@ -595,9 +731,58 @@ isearch-mode-map ;; characters to the search string. See iso-transl.el. (define-key map "\C-x8\r" 'isearch-char-by-name) + (define-key map [menu-bar search-menu] + (list 'menu-item "Isearch" isearch-menu-bar-map)) + map) "Keymap for `isearch-mode'.") +(defvar isearch-tool-bar-old-map nil + "Variable holding the old local value of `tool-bar-map', if any.") + +(defun isearch-tool-bar-image (image-name) + "Return an image specification for IMAGE-NAME." + (eval (tool-bar--image-expression image-name))) + +(defvar isearch-tool-bar-map + (let ((map (make-sparse-keymap))) + (define-key map [isearch-describe-mode] + (list 'menu-item "Help" 'isearch-describe-mode + :help "Get help for Isearch" + :image '(isearch-tool-bar-image "help"))) + (define-key map [isearch-occur] + (list 'menu-item "Show hits" 'isearch-occur + :help "Show each search hit" + :image '(isearch-tool-bar-image "index"))) + (define-key map [isearch-query-replace] + (list 'menu-item "Replace" 'isearch-query-replace + :help "Replace search string" + :image '(isearch-tool-bar-image "search-replace"))) + (define-key map [isearch-delete-char] + (list 'menu-item "Undo" 'isearch-delete-char + :help "Undo last input item" + :image '(isearch-tool-bar-image "undo"))) + (define-key map [isearch-exit] + (list 'menu-item "Finish" 'isearch-exit + :help "Finish search leaving point where it is" + :image '(isearch-tool-bar-image "exit") + :visible '(not (string-equal isearch-string "")))) + (define-key map [isearch-cancel] + (list 'menu-item "Abort" 'isearch-cancel + :help "Abort search" + :image '(isearch-tool-bar-image "close") + :filter (lambda (binding) + (if isearch-success 'isearch-abort binding)))) + (define-key map [isearch-repeat-forward] + (list 'menu-item "Repeat forward" 'isearch-repeat-forward + :help "Repeat search forward" + :image '(isearch-tool-bar-image "right-arrow"))) + (define-key map [isearch-repeat-backward] + (list 'menu-item "Repeat backward" 'isearch-repeat-backward + :help "Repeat search backward" + :image '(isearch-tool-bar-image "left-arrow"))) + map)) + (defvar minibuffer-local-isearch-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) @@ -733,6 +918,12 @@ isearch--saved-overriding-local-map (nconc minor-mode-alist (list '(isearch-mode isearch-mode)))) +;; We add an entry for `isearch-mode' to `minor-mode-map-alist' so +;; that `isearch-menu-bar-map' can show on the menu bar. +(or (assq 'isearch-mode minor-mode-map-alist) + (nconc minor-mode-map-alist + (list (cons 'isearch-mode isearch-mode-map)))) + (defvar-local isearch-mode nil) ;; Name of the minor mode, if non-nil. (define-key global-map "\C-s" 'isearch-forward) @@ -978,6 +1169,10 @@ isearch-mode isearch-original-minibuffer-message-timeout minibuffer-message-timeout minibuffer-message-timeout nil) + (if (local-variable-p 'tool-bar-map) + (setq isearch-tool-bar-old-map tool-bar-map)) + (setq-local tool-bar-map isearch-tool-bar-map) + ;; We must bypass input method while reading key. When a user type ;; printable character, appropriate input method is turned on in ;; minibuffer to read multibyte characters. @@ -1144,6 +1339,12 @@ isearch-done (setq input-method-function isearch-input-method-function) (kill-local-variable 'input-method-function)) + (if isearch-tool-bar-old-map + (progn + (setq-local tool-bar-map isearch-tool-bar-old-map) + (setq isearch-tool-bar-old-map nil)) + (kill-local-variable 'tool-bar-map)) + (force-mode-line-update) ;; If we ended in the middle of some intangible text, @@ -2486,7 +2687,10 @@ isearch-pre-command-hook ;; `set-transient-map' thingy like `universal-argument--mode'. ((not (eq overriding-terminal-local-map isearch--saved-overriding-local-map))) ;; Don't exit Isearch for isearch key bindings. - ((commandp (lookup-key isearch-mode-map key nil))) + ((or (commandp (lookup-key isearch-mode-map key nil)) + (commandp + (lookup-key + `(keymap (tool-bar menu-item nil ,isearch-tool-bar-map)) key)))) ;; Optionally edit the search string instead of exiting. ((eq search-exit-option 'edit) (setq this-command 'isearch-edit-string)) From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 15 15:08:00 2018 Received: (at 32990) by debbugs.gnu.org; 15 Nov 2018 20:08:00 +0000 Received: from localhost ([127.0.0.1]:54471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNNvk-0004r5-12 for submit@debbugs.gnu.org; Thu, 15 Nov 2018 15:08:00 -0500 Received: from eggs.gnu.org ([208.118.235.92]:55653) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNNvi-0004qo-3b for 32990@debbugs.gnu.org; Thu, 15 Nov 2018 15:07:58 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gNNvZ-0004QW-TR for 32990@debbugs.gnu.org; Thu, 15 Nov 2018 15:07:52 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_20 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:41904) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gNNvW-00047w-VJ; Thu, 15 Nov 2018 15:07:48 -0500 Received: from [176.228.60.248] (port=3435 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gNNvS-0001tS-UE; Thu, 15 Nov 2018 15:07:44 -0500 Date: Thu, 15 Nov 2018 22:07:44 +0200 Message-Id: <83h8gi6r5b.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Thu, 15 Nov 2018 20:57:12 +0100 > From: charles@aurox.ch (Charles A. Roelli) > CC: 32990@debbugs.gnu.org > > > I agree, but we should make sure clicking the menu won't exit Isearch. > > > > Thanks. > > There's a first draft of a menu- and tool-bar for Isearch at the end > of this message (on branch master). Thanks, I will try that later. > Clicking the menu items and icons should work okay with the mouse, > but I haven't yet found a way to show the menu with either > "tmm-menubar" or TTY menus, since activating these functions will > normally exit Isearch. Does it work to give the respective commands a non-nil isearch-scroll property? I think at least the TTY menus should work even when the TTY has no mouse. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 15 17:16:40 2018 Received: (at 32990) by debbugs.gnu.org; 15 Nov 2018 22:16:40 +0000 Received: from localhost ([127.0.0.1]:54545 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNPwF-0007wQ-Sy for submit@debbugs.gnu.org; Thu, 15 Nov 2018 17:16:40 -0500 Received: from quail.birch.relay.mailchannels.net ([23.83.209.151]:39298) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNPwE-0007wI-Jx for 32990@debbugs.gnu.org; Thu, 15 Nov 2018 17:16:39 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 6A29B4385B; Thu, 15 Nov 2018 22:16:37 +0000 (UTC) Received: from pdx1-sub0-mail-a77.g.dreamhost.com (unknown [100.96.20.98]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 37F4F43B6E; Thu, 15 Nov 2018 22:16:37 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a77.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Thu, 15 Nov 2018 22:16:37 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Befitting-Bitter: 72f9a14e2c5f1e15_1542320197311_294547683 X-MC-Loop-Signature: 1542320197311:289085432 X-MC-Ingress-Time: 1542320197310 Received: from pdx1-sub0-mail-a77.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTP id F22F98028E; Thu, 15 Nov 2018 14:16:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=F5frGT3hiRWVEIAmWbtgF57oVRs=; b= o49bYW56Q6pe5PuSSu8fxV2Re+LOi9QZD9NoQnMV/7+0qoxtHU5AIQlxHzLsE0pk JxoxzjyMzPXk6dw7+Q4j/D1ba+TYf2dxFxvp4Ijei11lvBn+QLZs+6A22xKGswVk S1ZDnHXGxaswZfQcM0zzaiPUZvBSw/CH9ks578FTYmc= Received: from mail.jurta.org (m91-129-107-244.cust.tele2.ee [91.129.107.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTPSA id 8FEDC80279; Thu, 15 Nov 2018 14:16:34 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a77 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> Date: Fri, 16 Nov 2018 00:15:02 +0200 In-Reply-To: (Charles A. Roelli's message of "Thu, 15 Nov 2018 20:57:12 +0100") Message-ID: <87va4yrnrt.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrleehgdduheefucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrddvgeegnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrvdeggedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegthhgrrhhlvghssegruhhrohigrdgthhenucevlhhushhtvghrufhiiigvpedt X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: Eli Zaretskii , 32990@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 (-) > There's a first draft of a menu- and tool-bar for Isearch at the end > of this message (on branch master). Thanks, this was needed for a long time. I tried it, and it looks great! > Clicking the menu items and icons should work okay with the mouse, but > I haven't yet found a way to show the menu with either "tmm-menubar" > or TTY menus, since activating these functions will normally > exit Isearch. Eli is right. (put 'tmm-menubar 'isearch-scroll t) did the trick. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 16 03:54:11 2018 Received: (at 32990) by debbugs.gnu.org; 16 Nov 2018 08:54:11 +0000 Received: from localhost ([127.0.0.1]:54718 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNZtD-0008LG-MC for submit@debbugs.gnu.org; Fri, 16 Nov 2018 03:54:11 -0500 Received: from mout.gmx.net ([212.227.15.18]:40193) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNZtB-0008Kf-GP for 32990@debbugs.gnu.org; Fri, 16 Nov 2018 03:54:09 -0500 Received: from [192.168.1.101] ([212.95.5.219]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LbMF8-1fcjnv3Gxu-00kzsd; Fri, 16 Nov 2018 09:53:53 +0100 Message-ID: <5BEE8597.3040009@gmx.at> Date: Fri, 16 Nov 2018 09:53:43 +0100 From: martin rudalics MIME-Version: 1.0 To: Juri Linkov , "Charles A. Roelli" Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> In-Reply-To: <87va4yrnrt.fsf@mail.linkov.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:HvHQvK2ZnpUZkeZvTaMtR6eElFXkpOhcI5HktRZyi6jx6d5ZlIC eFOG+RdZsI4+6Ek+PIn/7hfJbzySdLcslryzDQT4xDA2YTlTupod7Pq9ku8x3HXf3QEsB+F jEgBv35CBm7hcFh0HNRos5jdf3rnhC5liXYGYw0WrZibkdHqj2Psr4hxyjT/R8vJyMGfEL7 cBFelUq1666Id34G2Olnw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:/Zhv3WwGWqU=:/SFD1PJVmv9xPXxsGqMELC 5PkMsBlMG68uTeiUWQbdarbADdTQo2IZL2RKm3P0HWBlBjiZJYIhU0V/id7ninqkWAYg+OwM9 bYn2DJAKzQSy/azqB9ED9m+EqWCYMsPQaozgn85ubCc51/Yp81o3f9CmyQLXG2QgSqyNe8+0o QlgxKKq6rOxFzimlXgRXHRcx/W0T+BUmqKdL2wSYnIBO4d24p42ByONL3fXbtU6Cnn5GnIjEI Dczl+G61A1pmJfoONGiiCgxsGgmbNY4tAtcGSzJxKV6Rf7iooSEyGjvdYD/9FbXm/7McadKY5 GyLtV0TpLPhd7aEYoIo1GUn88CE7ZyFY9u0Cq6YGL5nykvlH1xFAPuGiTJ7Zzwy4sb0VvJcXA XbTGZJuELLkpjtlDW9evabhCoyOTeRbXh/1H2CfjE0c9Qv/Bv6YGnUSphRkK/Bj3nqpXiDeX9 oycn9WQksZVGnQbs+idMr4YMYfA2CR1dv/HvCVg+DLkjELU3njS2WU7Kd88hFpp/taZpcWnJO RjZVhAUV7yydl0IbtFy+biqtRFdvuAcxuLr3Ep7BMPM9J6EZmHYft8IHoEuKRR1zqZlWIkSJa LYg7uc28A13N6NORSAdoBb59Fw/QCFrypxKPj9Mi5SJzzrLMsUPnTkfpZ4M6NcE2fqqCmNrKf YP7ybPk0XiL/QqnIisDF4RbFuhQ8D3ssP77l8r5GesmpQ5fi6OHrx6esSncziHYO97dKeiRFx pHy0lZUzRGqk69WZHgyDcjQhqFX02OfBMu/jgVunBI47dM8PXxyFTPsdxXHMcB2qRx2/sBthf 1G46JzYn4gHcT1CZTIqQCeMco9yg2wNcYpxaohZPm6jnEITmk/cGYCUPNz7dXxoLtSwD1BVwU nIF5FGYpeSRx8u8cR/H5kqriZPo0fJ7cTRL/BKbJD+An499gw8AQKAQQ22fyCTm54wNwKrFvV VJwvUwRhHhg== X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 32990 Cc: 32990@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 (-) > Eli is right. (put 'tmm-menubar 'isearch-scroll t) did the trick. While you're there: Is there anything we could do about Bug#8213? martin From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 16 11:00:22 2018 Received: (at 32990) by debbugs.gnu.org; 16 Nov 2018 16:00:22 +0000 Received: from localhost ([127.0.0.1]:56695 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNgXe-0004e4-5b for submit@debbugs.gnu.org; Fri, 16 Nov 2018 11:00:22 -0500 Received: from aserp2120.oracle.com ([141.146.126.78]:43138) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNgXc-0004dl-JX for 32990@debbugs.gnu.org; Fri, 16 Nov 2018 11:00:21 -0500 Received: from pps.filterd (aserp2120.oracle.com [127.0.0.1]) by aserp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id wAGFhtsJ105535; Fri, 16 Nov 2018 16:00:05 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=W1JrSltE47tAxnBoBYz6iKMVL/u/LwajJtqgL3sdQdk=; b=42zED3x/LxPDFxRdY5cG54HkN9UzMez8qnm3uCbYQsfmmoFQkf8UjwhN207V8ROXMrZY bXYW6d57RMxaShWhlhPBtZ/341jIL6qu854csdfsqFEls8QsKBjsAJeXjst9GD2tEJOi DQB0gLe+Rarrgr9QFh+SFrTI85cK0thILlP82UrBpMMMovcQOGS9uBu8H0P+2Xlw6sjN +mzTuKRuU23MPNHgY9W8cNX1v0aJTj1FMEKontjn8ajm911aV+Wf6lxaGZsphvIHXui/ DgJwkOrFw9S7R9Rd1PV0iel3dVyqoiBgzmzi215MBJtkUp9Fk/xVRxRQAl6hzU6Lubb2 9w== Received: from userv0021.oracle.com (userv0021.oracle.com [156.151.31.71]) by aserp2120.oracle.com with ESMTP id 2nr7csfy0d-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Nov 2018 16:00:05 +0000 Received: from userv0122.oracle.com (userv0122.oracle.com [156.151.31.75]) by userv0021.oracle.com (8.14.4/8.14.4) with ESMTP id wAGG04gM028611 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 16 Nov 2018 16:00:04 GMT Received: from abhmp0002.oracle.com (abhmp0002.oracle.com [141.146.116.8]) by userv0122.oracle.com (8.14.4/8.14.4) with ESMTP id wAGG02Fb006391; Fri, 16 Nov 2018 16:00:03 GMT MIME-Version: 1.0 Message-ID: Date: Fri, 16 Nov 2018 08:00:01 -0800 (PST) From: Drew Adams To: martin rudalics , Juri Linkov , "Charles A. Roelli" Subject: RE: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> <5BEE8597.3040009@gmx.at> In-Reply-To: <5BEE8597.3040009@gmx.at> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4756.0 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9078 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=512 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811160140 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -3.3 (---) > > Eli is right. (put 'tmm-menubar 'isearch-scroll t) did the trick. >=20 > While you're there: Is there anything we could do about Bug#8213? Sorry for jumping in here in ignorance, but when I follow the recipe for bug #8213 with Emacs 26 I can move the window divider with no problem. That does exit Isearch, but that doesn't seem to be what the bug report was about - it says that you cannot move the divider. I'm on Windows 10, though, not Windows 7 as in the bug report. And maybe I'm missing something. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 16 15:20:44 2018 Received: (at 32990) by debbugs.gnu.org; 16 Nov 2018 20:20:44 +0000 Received: from localhost ([127.0.0.1]:56818 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNkbc-0006Py-4D for submit@debbugs.gnu.org; Fri, 16 Nov 2018 15:20:44 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:33299) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNkbb-0006Pl-2N for 32990@debbugs.gnu.org; Fri, 16 Nov 2018 15:20:43 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id B2FAB229A4 for <32990@debbugs.gnu.org>; Fri, 16 Nov 2018 20:25:19 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542399918; x=1543263919; bh=Bc 9Xh4fW+JcMcWgScJTnJ49A+KH3MT7UeDqDn95T8YI=; b=vRzuaQxX5ZPkFJgnJI CmNcaoIeAWUQYTJdW5YrYCfFlvPrrvA4No30aiNnzCDz1wn40ZqPcOl83r9wl8vM w5Wy3vO22xorBxM7trGmZ58OHacLAjRqHtzHJY6zDWPBjs+W3z4tLYVXeYmxi2PB KKIpA9bshoicWUWwBGccDU5Vc= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id IhXvl8_u7IPM for <32990@debbugs.gnu.org>; Fri, 16 Nov 2018 20:25:18 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 67A672296B; Fri, 16 Nov 2018 20:25:18 +0000 (UTC) Date: Fri, 16 Nov 2018 21:22:23 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Juri Linkov In-reply-to: <87va4yrnrt.fsf@mail.linkov.net> (message from Juri Linkov on Fri, 16 Nov 2018 00:15:02 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Date: Fri, 16 Nov 2018 00:15:02 +0200 > > Thanks, this was needed for a long time. I tried it, and it looks great! Thanks for testing it. > > Clicking the menu items and icons should work okay with the mouse, but > > I haven't yet found a way to show the menu with either "tmm-menubar" > > or TTY menus, since activating these functions will normally > > exit Isearch. > > Eli is right. (put 'tmm-menubar 'isearch-scroll t) did the trick. To see the positive effect of that statement, is setting `isearch-allow-scroll' to t required? For me, the following recipe still has issues, even with that line added to the patch: emacs -Q M-x set-variable isearch-allow-scroll t C-r M-` i The "Isearch" menu should now be shown in the *Completions* window, but instead Isearch actually searches for the character "i" in the minibuffer. If we can inhibit that then we should be fine. (It looks like Isearch is not happy about commands switching the current buffer behind its back.) As for the TTY menus, adding "(put 'menu-bar-open 'isearch-scroll t)" and enabling `isearch-allow-scroll' allows use of the new menu during Isearch from a TTY. Thanks Eli! From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 17 04:29:58 2018 Received: (at 32990) by debbugs.gnu.org; 17 Nov 2018 09:29:58 +0000 Received: from localhost ([127.0.0.1]:57073 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNwvO-0008BS-4o for submit@debbugs.gnu.org; Sat, 17 Nov 2018 04:29:58 -0500 Received: from mout.gmx.net ([212.227.17.20]:48399) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gNwvM-0008BG-BG for 32990@debbugs.gnu.org; Sat, 17 Nov 2018 04:29:56 -0500 Received: from [192.168.1.101] ([46.125.249.112]) by mail.gmx.com (mrgmx102 [212.227.17.168]) with ESMTPSA (Nemesis) id 0LsfrR-1fLhH428WP-012Db1; Sat, 17 Nov 2018 10:29:35 +0100 Message-ID: <5BEFDF7C.7040301@gmx.at> Date: Sat, 17 Nov 2018 10:29:32 +0100 From: martin rudalics MIME-Version: 1.0 To: Drew Adams , Juri Linkov , "Charles A. Roelli" Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> <5BEE8597.3040009@gmx.at> In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:/1lQtwE63QlAv2ZAameRkUPBN0Xu1os5WrNmTHypYvjUKwNaNgX SrU+sKab/hEVeL4gX02AhtQ/VzUkUnO7bM4bdmskKbOY451mHpNjAcy1ep1nEuP0ghsy9Mg tboaunDVVKQNyd5S+kwYPUkCWWakn3eGXgfxMtIZybmU+rNS+ammqyu5NkJ66hGPcl7Rw8p PgCdVjhbSMFO/X7wkzFJA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:T5NSFZkYCuw=:Gm1CzDz1vJy2VnDQxpU6Re nzvNEnQjK/1rVyEeP5tceE7+zZ1EZToqaQTl8Vqjc3qZYx3DvXH06eDeMYr7gXRt1FK3ZtSww tDqNHibStX7utcBaKvRO4F2j7s7kcEvgQjomhSpml0JDXQjVpTUUE3fwxYP7TZejHGzd9HAv/ j4v0VC49p0IszOdnLM68jU6Nuu5/2LFxbC1Dp04+/Cbgb23Cyej7yeSTFoyfDuweEWVGOYhXk 3oC7egP6c7vmEDSZpNY+SHpPJZzFIAqJ0hJvOVViWvVgZdQ2t0Ngw5RLlK1dYlwhONNaBdTSe qL1GHjGqqAYRWbv/0DQNx8JPNnMBdVvlDI9FkxV5+eyjtvZMywhwilZe2nIOVzZ0lJvOgTdCD hioWvPbmQ2/RMAisl19UzJXvCav8GBUf0C4skfcW1wHINCpzqf5Ht8iRau3UKZm0MJBW0wwkR EevZncgSZJAM8MR6FFOzD1bFmMRnEtPzNcEOHs6S932iZyWmiEMwpLntrs8Hc7E+EmbtUAdi6 POLfS/iNcgqUhQ4qDENsxBdSRIV5d/bbvruoPH+jUbbo8jjQmUdUluo1GlTop4QIs5GuNOIn1 A2eqJpan8gFVegYRycYtO/4Iyp9opGvD6IuIJ2wJTMvmsb+3FL4KzSAXXNeasgkLR3zFY05Ys WrcUAD9kLzcL7EhPH5cRMN3dFpY1lw9JixJv7ao2HD3N94UOHLtpN+v80FS/PHdkTTVSckafD 0GK3yC/aq5VH/5DbhLCfycozAQ9eWqHc1HkhwkUV5n1To/G/uJjijV4M5nCxKd8oNb7nNIYRT Z6I5Ku+5yD0c+UmKfV0W+TmPFEckbiXC+IsjOMAAk7BiKnMkSWDdJWq3rfariuQZVcY0Wu/iR YhWjYOXmFHRFw4ba57KRQ5qmhsTkX7IHGaGoP7rDI4JxZBNOgJWoDphEjPH0gT X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 32990 Cc: 32990@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 (-) > Sorry for jumping in here in ignorance, but when > I follow the recipe for bug #8213 with Emacs 26 > I can move the window divider with no problem. Thanks for checking. Apparently that bug was fixed in some version of Emacs 24 and is hopefully marked as done now. > That does exit Isearch, but that doesn't seem to > be what the bug report was about - it says that > you cannot move the divider. Right. It would be nice to be able to resize windows during Isearch without causing the latter to exit. That would, however, amount to a feature request and the bug report did not ask for it. > I'm on Windows 10, though, not Windows 7 as in > the bug report. And maybe I'm missing something. Hopefully not. Thanks again, martin From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 17 16:33:16 2018 Received: (at 32990) by debbugs.gnu.org; 17 Nov 2018 21:33:16 +0000 Received: from localhost ([127.0.0.1]:58172 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gO8DM-0006lx-AZ for submit@debbugs.gnu.org; Sat, 17 Nov 2018 16:33:16 -0500 Received: from cichlid.maple.relay.mailchannels.net ([23.83.214.36]:43111) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gO8DK-0006lo-OE for 32990@debbugs.gnu.org; Sat, 17 Nov 2018 16:33:15 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id AB87D4232B; Sat, 17 Nov 2018 21:33:12 +0000 (UTC) Received: from pdx1-sub0-mail-a77.g.dreamhost.com (unknown [100.96.29.126]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 7688E41FA5; Sat, 17 Nov 2018 21:33:12 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a77.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Sat, 17 Nov 2018 21:33:12 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Bubble-Scare: 04ddcfac6c2e0af4_1542490392577_4059365178 X-MC-Loop-Signature: 1542490392576:1466937507 X-MC-Ingress-Time: 1542490392576 Received: from pdx1-sub0-mail-a77.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTP id 4140280458; Sat, 17 Nov 2018 13:33:12 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=jPQ+r75ezQ9p6L3D2uxmk86UvfM=; b= E4JrX0C4+NAV/FDCaf/F+p8MNUFWy4JA76FS3Ki0uVx0j+HbZgSEZGTdJyX7zbhw /YFWZBMvX48nCARlgSfl/D4iUbXSHeyGN2MIYCpiw6VCRI7C7gR1HraC8OyEbLzh u9RWgh9UnkdXZf7FcjiWUsgShmUohJqtvCSuNguPU1E= Received: from mail.jurta.org (m91-129-107-244.cust.tele2.ee [91.129.107.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTPSA id 8967E804B9; Sat, 17 Nov 2018 13:33:08 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a77 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> Date: Sat, 17 Nov 2018 23:01:40 +0200 In-Reply-To: (Charles A. Roelli's message of "Fri, 16 Nov 2018 21:22:23 +0100") Message-ID: <87bm6nxy67.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrleelgdduheegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrddvgeegnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrvdeggedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegthhgrrhhlvghssegruhhrohigrdgthhenucevlhhushhtvghrufhiiigvpedt X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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 (-) > To see the positive effect of that statement, is setting > `isearch-allow-scroll' to t required? This is required as long as it's not the default. > For me, the following recipe still has issues, even with that line > added to the patch: > > emacs -Q > M-x set-variable isearch-allow-scroll t > C-r M-` i > > The "Isearch" menu should now be shown in the *Completions* window, > but instead Isearch actually searches for the character "i" in the > minibuffer. If we can inhibit that then we should be fine. (It looks > like Isearch is not happy about commands switching the current buffer > behind its back.) I tried: C-r M-` down i and it works fine, i.e. typing an arrow key after M-` somehow suspends the isearch mode, and you can continue typing letters in tmm-menu. But maybe we should suspend isearch explicitly with something like (defun isearch-tmm () (interactive) (with-isearch-suspended (tmm-menubar))) (define-key isearch-mode-map "\M-`" 'isearch-tmm) PS: I noticed that tmm menus are reversed, so you have to type `up' key for a previous tmm-menu item, not `down' like in other menus. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 17 16:33:23 2018 Received: (at 32990) by debbugs.gnu.org; 17 Nov 2018 21:33:23 +0000 Received: from localhost ([127.0.0.1]:58175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gO8DT-0006mH-Hn for submit@debbugs.gnu.org; Sat, 17 Nov 2018 16:33:23 -0500 Received: from quail.birch.relay.mailchannels.net ([23.83.209.151]:36125) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gO8DR-0006m8-N1 for 32990@debbugs.gnu.org; Sat, 17 Nov 2018 16:33:22 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 347745E2688; Sat, 17 Nov 2018 21:33:20 +0000 (UTC) Received: from pdx1-sub0-mail-a77.g.dreamhost.com (unknown [100.96.30.62]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id F1C1E5E2547; Sat, 17 Nov 2018 21:33:19 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a77.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Sat, 17 Nov 2018 21:33:20 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Snatch-Bubble: 0d1152cf44519797_1542490400081_679205799 X-MC-Loop-Signature: 1542490400081:3998670261 X-MC-Ingress-Time: 1542490400080 Received: from pdx1-sub0-mail-a77.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTP id BEB5B80458; Sat, 17 Nov 2018 13:33:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=linkov.net; bh=pTKWZN efADCBR+xc1mVMWwLkL8I=; b=wlgEqTegswI0FJeQxJMng4TUZBi+d8D3W8kfv/ 6E70qXlzngVNemd8UbbmxbfP3InGBth0mIMGLIFxSF8FNpKja7qk2GeBKFo01sxz TXWPTuoh6O8/oTTh0gA3cCR3kLCzRtEpJlSyA449qS4KGfT/IC6BYvgoNZIsHkec zIwG8= Received: from mail.jurta.org (m91-129-107-244.cust.tele2.ee [91.129.107.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTPSA id 365C8804C4; Sat, 17 Nov 2018 13:33:16 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a77 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> Date: Sat, 17 Nov 2018 23:07:58 +0200 In-Reply-To: (Charles A. Roelli's message of "Thu, 15 Nov 2018 20:57:12 +0100") Message-ID: <87sgzzwisx.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrleelgdduheegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgfgsehtkeertddtreejnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtjedrvdeggeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdejrddvgeegpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtoheptghhrghrlhgvshesrghurhhogidrtghhnecuvehluhhsthgvrhfuihiivgepud Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: Eli Zaretskii , 32990@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 (-) > There's a first draft of a menu- and tool-bar for Isearch at the end > of this message (on branch master). Clicking the menu items and icons > should work okay with the mouse, but I haven't yet found a way to show > the menu with either "tmm-menubar" or TTY menus, since activating > these functions will normally exit Isearch. What do you think about adding also some menu to the mode-line indicator of Isearch. Currently clicking on the word "Isearch " in the mode-line signals the error: Debugger entered--Lisp error: (error #("Cannot find minor mode for =E2=80= =98 Isearch=E2=80=99" ... signal(error (#("Cannot find minor mode for =E2=80=98 Isearch=E2=80=99"= ... error("Cannot find minor mode for `%s'" #(" Isearch" ... minor-mode-menu-from-indicator(#(" Isearch" ... mouse-minor-mode-menu((down-mouse-1 ... funcall-interactively(mouse-minor-mode-menu ... call-interactively(mouse-minor-mode-menu nil nil) command-execute(mouse-minor-mode-menu) From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 17 16:33:31 2018 Received: (at 32990) by debbugs.gnu.org; 17 Nov 2018 21:33:31 +0000 Received: from localhost ([127.0.0.1]:58178 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gO8Db-0006mc-Kv for submit@debbugs.gnu.org; Sat, 17 Nov 2018 16:33:31 -0500 Received: from purple.birch.relay.mailchannels.net ([23.83.209.150]:28692) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gO8DZ-0006mT-8e for 32990@debbugs.gnu.org; Sat, 17 Nov 2018 16:33:29 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 718295E2155; Sat, 17 Nov 2018 21:33:28 +0000 (UTC) Received: from pdx1-sub0-mail-a77.g.dreamhost.com (unknown [100.96.29.126]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 392D45E2620; Sat, 17 Nov 2018 21:33:28 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a77.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Sat, 17 Nov 2018 21:33:28 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Ski-Belong: 183aeca030866973_1542490408332_4078557188 X-MC-Loop-Signature: 1542490408332:501451475 X-MC-Ingress-Time: 1542490408332 Received: from pdx1-sub0-mail-a77.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTP id 0534E804C4; Sat, 17 Nov 2018 13:33:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=KDQ3SYg7P73AXkjYKLcmPLXgDEA=; b= Ynwxopn45bB0cvOdrAism6hi7LjX9H96MJqVaCLB/wmcXNt+l0PfYx35tm0jUMe3 1U+wwHaKtmB17/Q/jUda62ds/OH2gv3rpqx8ck5N+/fN2k4JsRKY5d1FVBDJ3MHL 0icgSC/KyAo3vYcFeNW6vhH8Ub4Y8T4ZDZNDF+9sVfM= Received: from mail.jurta.org (m91-129-107-244.cust.tele2.ee [91.129.107.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTPSA id 1E573804B9; Sat, 17 Nov 2018 13:33:24 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a77 From: Juri Linkov To: martin rudalics Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> <5BEE8597.3040009@gmx.at> <5BEFDF7C.7040301@gmx.at> Date: Sat, 17 Nov 2018 23:32:09 +0200 In-Reply-To: <5BEFDF7C.7040301@gmx.at> (martin rudalics's message of "Sat, 17 Nov 2018 10:29:32 +0100") Message-ID: <87k1lbwfty.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedrleelgdduheegucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdejrddvgeegnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddtjedrvdeggedprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopehruhgurghlihgtshesghhmgidrrghtnecuvehluhhsthgvrhfuihiivgepud X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: 32990@debbugs.gnu.org, "Charles A. Roelli" , Drew Adams 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 (-) >> That does exit Isearch, but that doesn't seem to >> be what the bug report was about - it says that >> you cannot move the divider. > > Right. It would be nice to be able to resize windows during Isearch > without causing the latter to exit. That would, however, amount to a > feature request and the bug report did not ask for it. This is now implemented in master for Emacs 27. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 17 20:50:18 2018 Received: (at 32990) by debbugs.gnu.org; 18 Nov 2018 01:50:18 +0000 Received: from localhost ([127.0.0.1]:58239 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOCE5-0004PE-TB for submit@debbugs.gnu.org; Sat, 17 Nov 2018 20:50:18 -0500 Received: from userp2120.oracle.com ([156.151.31.85]:41352) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOCE3-0004P1-Rc for 32990@debbugs.gnu.org; Sat, 17 Nov 2018 20:50:16 -0500 Received: from pps.filterd (userp2120.oracle.com [127.0.0.1]) by userp2120.oracle.com (8.16.0.22/8.16.0.22) with SMTP id wAI1njNA187503; Sun, 18 Nov 2018 01:50:00 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=mime-version : message-id : date : from : sender : to : cc : subject : references : in-reply-to : content-type : content-transfer-encoding; s=corp-2018-07-02; bh=IeRlenAVF4k7PPrdxRoBtPHoi1b7ykl/JctPDNx/mXQ=; b=oTqcma2eG7ull1H3DHfQ8tVys4ZneuVukLcSaSVnpzoRAZQc9OosdqIioAcxx0medDda YT3BU4RAl3ooDJ+TgVqGYXxbLzTj/0DQP64RHI430TL43yhbqOYi6Yot7Zr0h9m9+sYh IoLsB9FRSnio1ArBnVilcsOvTqsm11Rpfbvsf2ofg3WwySRHJCZT3TVF9gN9gPOWDH9D 2uOWqvfow3yk56nsEbEfCFxgmLZ8HLChcnwIws2LwXHyRZNpRYabkGA4z1su39RmHDp8 dijDJGCjODuzHguMEYr3Qu8DqSG6veAagYmw6GlMtyJd3xPFBq94mb5BOm5DW6k4iPOz nQ== Received: from userv0022.oracle.com (userv0022.oracle.com [156.151.31.74]) by userp2120.oracle.com with ESMTP id 2ntbmq9mxs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 18 Nov 2018 01:50:00 +0000 Received: from aserv0121.oracle.com (aserv0121.oracle.com [141.146.126.235]) by userv0022.oracle.com (8.14.4/8.14.4) with ESMTP id wAI1nxYe000528 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sun, 18 Nov 2018 01:50:00 GMT Received: from abhmp0018.oracle.com (abhmp0018.oracle.com [141.146.116.24]) by aserv0121.oracle.com (8.14.4/8.13.8) with ESMTP id wAI1nwXC021851; Sun, 18 Nov 2018 01:49:59 GMT MIME-Version: 1.0 Message-ID: <09e6bf57-dff3-4563-ab92-44de95723fe7@default> Date: Sat, 17 Nov 2018 17:49:58 -0800 (PST) From: Drew Adams To: Juri Linkov , charles@aurox.ch Subject: RE: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> In-Reply-To: <87sgzzwisx.fsf@mail.linkov.net> X-Priority: 3 X-Mailer: Oracle Beehive Extensions for Outlook 2.0.1.9.1 (1003210) [OL 16.0.4771.0 (x86)] Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Virus-Version: vendor=nai engine=5900 definitions=9080 signatures=668683 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 suspectscore=0 malwarescore=0 phishscore=0 bulkscore=0 spamscore=0 mlxscore=0 mlxlogscore=377 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1811180013 X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -3.3 (---) > What do you think about adding also some menu to the mode-line > indicator of Isearch. Sure, please do. Isearch has a lot it could add to such a menu, including lots of toggles. > Currently clicking on the word "Isearch " > in the mode-line signals the error: >=20 > Debugger entered--Lisp error: (error #("Cannot find minor mode for =E2=80= =98 > Isearch=E2=80=99" ... I don't see that in Emacs 26 (or before) on MS Windows. With emacs -Q, clicking there just exits Isearch. (With Isearch+ clicking there brings up menu `Isearch', with items `Turn off minor mode' and `Help for minor mode'. But that might be due to other things in my setup, not Isearch+. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 18 04:23:17 2018 Received: (at 32990) by debbugs.gnu.org; 18 Nov 2018 09:23:17 +0000 Received: from localhost ([127.0.0.1]:58318 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOJIT-0007K6-7m for submit@debbugs.gnu.org; Sun, 18 Nov 2018 04:23:17 -0500 Received: from mout.gmx.net ([212.227.15.15]:55927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOJIR-0007Jt-97 for 32990@debbugs.gnu.org; Sun, 18 Nov 2018 04:23:15 -0500 Received: from [192.168.1.101] ([212.95.5.128]) by mail.gmx.com (mrgmx003 [212.227.17.190]) with ESMTPSA (Nemesis) id 0MVvB2-1fvkqG3G9Y-00X3rL; Sun, 18 Nov 2018 10:22:56 +0100 Message-ID: <5BF12F6E.4060707@gmx.at> Date: Sun, 18 Nov 2018 10:22:54 +0100 From: martin rudalics MIME-Version: 1.0 To: Juri Linkov Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87va4yrnrt.fsf@mail.linkov.net> <5BEE8597.3040009@gmx.at> <5BEFDF7C.7040301@gmx.at> <87k1lbwfty.fsf@mail.linkov.net> In-Reply-To: <87k1lbwfty.fsf@mail.linkov.net> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Provags-ID: V03:K1:vHjRaPch0oqeiqMlONKYVQ/rzru3o4IvRUZRYStcohr3F4HRTX2 iehctwXFvHAZ3VdQ07JDb8+0fL4XulnBOsVDiMWm0kJz2tnpRKLvfF0NNGxkq6YtrnmAwcs Nchf3h0tZDQklDHZGFgQc/XiiOEaCPwzuZcDSX7HKYFH3dh93uVzzxKPzuT0YAoNtfWdKp0 iF5yqS/eJsCzvW7xxcnqw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V01:K0:QiJpgq/CVcI=:W7u0Oo4rcPPs3xxB9EVz1l kAX3stuy0xiiuJQND74O1rziJKnts3SgJqDcFRDYbN9S8SE90520e9zmlq4gBu4rI1+1ppClu d1RIOxcbsG8elewct/wjdKxURqP3b1u8HqApjOP/d7s4hs+AL3hfDw47zzS0jSSS3MZRS3laP CJeWVXf2I9LOWNfN2hI+8HM4qAN9pVzEfxtb4kAzAVq0d3w5ZUmEfNYrSM04rBqFCwXNAVtf4 pGDV4/SjE4rTgcAqkpmGEwj51DcFV7xtp3g5QHln98Prh9D9QO11lYJ/4vEANWQFCr0Vem18A G/0FVSIHUOMwbR+m1UNs+giLe70QRgrBjgUfE2LFGGaUoz1BU2CxQ3j0m17r8kBXH7rOtxTfi VauAhl9GM5PlpRrdYn7ElUbuunADQLOCUUnqzz/UCIUneoJ1W9TQ0w4kkcNklvmh3dlMy2aIk VUc6ovA2qyNHU5bUVO3WOImAuh+arrBaGkBvyKOSbRgFcypUE8L6Qk+is2OQgfJPXGcSCtJYf jw5TDBXqqUFC/6g1XBeUO5zNLovZNArkCCgOm2QBtxZYJQpJopyqUOyQyJtL7bsX3Wrgw/JDU hZjG3ecus5atwVYAIhKjcCnq5MCIdVuIIHvdPBTVG/DtJthXjWvTgNE+3tsZPA1C7+FfjhISS 6BTI5McOP6nE5lxennfcgB4j24G0qJYILhqI8hl0iY08pPt6aEeZqdG4pDa3Plcd9Hjc0p22S LGR2AdGdNXwgKWDW6Rprt9ETDFx7oH1O+M4yKoI2hG79LW6W+39AQMSvmb9PDu1JK8nQbBqDy p0NgBE5dOmI7nZMDaNXPl4cC6pVm/8uvkO0jKQJBOJW608++LE7dr05j8dkY95ILkdTD7BiTJ YSHkUJAwWJcfjPEUDl06H2DV6v/vHYxbusl3T23WCvFoyQmp4nliwb93HHQ/HI X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 32990 Cc: 32990@debbugs.gnu.org, "Charles A. Roelli" , Drew Adams 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 (-) > This is now implemented in master for Emacs 27. Great. Many thanks, martin From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 18 15:23:21 2018 Received: (at 32990) by debbugs.gnu.org; 18 Nov 2018 20:23:21 +0000 Received: from localhost ([127.0.0.1]:59381 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOTbF-0002E7-3M for submit@debbugs.gnu.org; Sun, 18 Nov 2018 15:23:21 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:34978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOTbD-0002Dt-5B for 32990@debbugs.gnu.org; Sun, 18 Nov 2018 15:23:19 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 3B6C322995 for <32990@debbugs.gnu.org>; Sun, 18 Nov 2018 20:27:57 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= content-transfer-encoding:content-type:content-type:mime-version :references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542572876; x=1543436877; bh=fM JIijhzrLArYVzrcEUnhjiyPcumjVK5fjxFPLkwjMA=; b=aWGsGMjZbn3abGD/6h Px6dqhcPyP4XA8A3Dm3+owJPdq4g+MnI/b/M0gBUNJmm+23CCBAp8x+yCpLHFCnA YHBVhl54IPQirttAdg6ZNs4tLlT0H6SzKBRsH/nQg5y5ZmUVnN/69lMyRh0bBoXE SJN78L3X+fEx8LdOGulrvAIx8= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 0UZX1OVxhoXD for <32990@debbugs.gnu.org>; Sun, 18 Nov 2018 20:27:56 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id A2877228C2; Sun, 18 Nov 2018 20:27:55 +0000 (UTC) Date: Sun, 18 Nov 2018 21:24:58 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Juri Linkov In-reply-to: <87sgzzwisx.fsf@mail.linkov.net> (message from Juri Linkov on Sat, 17 Nov 2018 23:07:58 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> MIME-version: 1.0 Content-type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Date: Sat, 17 Nov 2018 23:07:58 +0200 > > > There's a first draft of a menu- and tool-bar for Isearch at the end > > of this message (on branch master). Clicking the menu items and icons > > should work okay with the mouse, but I haven't yet found a way to show > > the menu with either "tmm-menubar" or TTY menus, since activating > > these functions will normally exit Isearch. > > What do you think about adding also some menu to the mode-line > indicator of Isearch. Good idea, will add it in. > Currently clicking on the word "Isearch " > in the mode-line signals the error: > > Debugger entered--Lisp error: (error #("Cannot find minor mode for ‘ Isearch’" ... > signal(error (#("Cannot find minor mode for ‘ Isearch’" ... > error("Cannot find minor mode for `%s'" #(" Isearch" ... > minor-mode-menu-from-indicator(#(" Isearch" ... > mouse-minor-mode-menu((down-mouse-1 ... > funcall-interactively(mouse-minor-mode-menu ... > call-interactively(mouse-minor-mode-menu nil nil) > command-execute(mouse-minor-mode-menu) Maybe "debug-on-error" is on? From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 18 18:07:09 2018 Received: (at 32990) by debbugs.gnu.org; 18 Nov 2018 23:07:09 +0000 Received: from localhost ([127.0.0.1]:59467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOW9k-00089i-Sr for submit@debbugs.gnu.org; Sun, 18 Nov 2018 18:07:09 -0500 Received: from bisque.maple.relay.mailchannels.net ([23.83.214.18]:31846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOW9i-00089Z-Lm for 32990@debbugs.gnu.org; Sun, 18 Nov 2018 18:07:07 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id DEDFF68291A; Sun, 18 Nov 2018 23:07:04 +0000 (UTC) Received: from pdx1-sub0-mail-a77.g.dreamhost.com (unknown [100.96.30.62]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id A663C68294F; Sun, 18 Nov 2018 23:07:04 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a77.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Sun, 18 Nov 2018 23:07:04 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Spill-Well-Made: 030b70615f37f8d7_1542582424768_1764859880 X-MC-Loop-Signature: 1542582424768:829691884 X-MC-Ingress-Time: 1542582424767 Received: from pdx1-sub0-mail-a77.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTP id 54DA8805E7; Sun, 18 Nov 2018 15:07:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type:content-transfer-encoding; s=linkov.net; bh=OfW6G6 s5Y5qq6ke1vhPpiQHBYbA=; b=3kiDMkADSwJbCpJ4nj02+VZt9gfdBmel9p3YAB 2uhhtBrWCb0uut3LMBLPF9ufDIEqAiglrlauXzYt66cCmFSOyvq2WVrO801TNYPW Xiv+Q8uOJqLeOih8rSuLxEeDa4D6y7s5oGXxIJg8LoVGk262NazpQgMqyTcdCuoH mVBeg= Received: from mail.jurta.org (m91-129-107-244.cust.tele2.ee [91.129.107.244]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a77.g.dreamhost.com (Postfix) with ESMTPSA id E8213805E2; Sun, 18 Nov 2018 15:07:01 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a77 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> Date: Mon, 19 Nov 2018 00:42:35 +0200 In-Reply-To: (Charles A. Roelli's message of "Sun, 18 Nov 2018 21:24:58 +0100") Message-ID: <87efbi57ok.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedruddtvddgtdehucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgfgsehtkeertddtreejnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddtjedrvdeggeenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdejrddvgeegpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtoheptghhrghrlhgvshesrghurhhogidrtghhnecuvehluhhsthgvrhfuihiivgeptd Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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 (-) >> Currently clicking on the word "Isearch " >> in the mode-line signals the error: >>=20 >> Debugger entered--Lisp error: (error #("Cannot find minor mode for =E2= =80=98 Isearch=E2=80=99" ... >> signal(error (#("Cannot find minor mode for =E2=80=98 Isearch=E2=80=99= " ... >> error("Cannot find minor mode for `%s'" #(" Isearch" ... >> minor-mode-menu-from-indicator(#(" Isearch" ... >> mouse-minor-mode-menu((down-mouse-1 ... >> funcall-interactively(mouse-minor-mode-menu ... >> call-interactively(mouse-minor-mode-menu nil nil) >> command-execute(mouse-minor-mode-menu) > > Maybe "debug-on-error" is on? Yes, this backtrace is displayed when debug-on-error is on. And when off, one-line error is displayed in the echo area. From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 19 15:13:14 2018 Received: (at 32990) by debbugs.gnu.org; 19 Nov 2018 20:13:14 +0000 Received: from localhost ([127.0.0.1]:33034 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOpuy-00054l-7c for submit@debbugs.gnu.org; Mon, 19 Nov 2018 15:13:13 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:35805) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOpuv-00054W-6O for 32990@debbugs.gnu.org; Mon, 19 Nov 2018 15:13:10 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 51AFD229A7 for <32990@debbugs.gnu.org>; Mon, 19 Nov 2018 20:17:48 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542658663; x=1543522664; bh=pb xzz5EoXBYznxyCpg9eP0wa0VDEJSAhmWrB9n5GDzs=; b=QnfdKXkZYtaJlfl1+M 2fnEu6YUFUjX8Tv4Ewq2QTLUAEAVnZ0/c+9g338CIELMg99eRtXZ7wIIzvKfCKTI muPxRVTLjS4jLgosIcAMVqTujx3pXxPCqZF4KZLw6dnIBEPm3a24vXWEKXnScLvn ThoX5O3Mqd70nu/ebYB5BnPF0= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id s3-Ly7ENSBNu for <32990@debbugs.gnu.org>; Mon, 19 Nov 2018 20:17:43 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 803E9228C2; Mon, 19 Nov 2018 20:17:43 +0000 (UTC) Date: Mon, 19 Nov 2018 21:14:51 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: juri@linkov.net In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Please try the change at the end of this message. The Isearch menu now works when clicking the mode-line indicator and tmm-menubar (M-`)/TTY menus (F10 from TTYs) should now work as expected (no need to set `isearch-allow-scroll' to t). ---- * lisp/tmm.el (tmm-menubar-keymap): New function factored out from 'tmm-menubar'. (tmm-menubar): Use 'tmm-menubar-keymap'. (tmm-prompt): New optional argument 'no-execute'. * lisp/isearch.el: Declare the new, non-autoloaded function 'tmm-menubar-keymap'. (isearch-tmm-menubar): New function. (isearch-menu-bar-map): New variable. (isearch-mode-map): Define a menu-bar search menu and remap 'tmm-menubar' bindings to point to 'isearch-tmm-menubar'. (isearch-tool-bar-old-map): New variable. (isearch-tool-bar-image): New function. (isearch-tool-bar-map): New variable. (minor-mode-alist): Add a constant mode-line indicator for Isearch so that 'minor-mode-menu-from-indicator' works (as used when clicking mouse-1 on the mode-line of Isearch). (minor-mode-map-alist): Add an entry for Isearch so that 'isearch-menu-bar-map' shows during search. (isearch-mode, isearch-done): Save and restore possible buffer-local 'tool-bar-map'. (isearch-pre-command-hook): Additionally allow bindings in 'isearch-tool-bar-map' to pass through, as well as commands 'isearch-tmm-menubar' and 'menu-bar-open'. (isearch-post-command-hook): Call 'force-mode-line-update' at its end to make sure the menu- and tool-bars are up-to-date. ---- diff --git a/lisp/isearch.el b/lisp/isearch.el index 87f4d49..19a03e3 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -54,6 +54,7 @@ ;;; Code: (eval-when-compile (require 'cl-lib)) +(declare-function tmm-menubar-keymap "tmm.el") ;; Some additional options and constants. @@ -489,6 +490,156 @@ 'isearch-mode-help ;; Define isearch-mode keymap. +(defun isearch-tmm-menubar () + "Run `tmm-menubar' while `isearch-mode' is enabled." + (interactive) + (require 'tmm) + (run-hooks 'menu-bar-update-hook) + (let ((command nil)) + (let ((menu-bar (tmm-menubar-keymap))) + (with-isearch-suspended + (setq command (let ((isearch-mode t)) ; Show bindings from + ; `isearch-mode-map' in + ; tmm's prompt. + (tmm-prompt menu-bar nil nil t))))) + (call-interactively command))) + +(defvar isearch-menu-bar-map + (let ((map (make-sparse-keymap "Isearch"))) + (define-key map [isearch-complete] + '(menu-item "Complete current search string" isearch-complete + :help "Complete current search string over search history")) + (define-key map [isearch-complete-separator] + '(menu-item "--")) + (define-key map [isearch-query-replace-regexp] + '(menu-item "Replace search string as regexp" isearch-query-replace-regexp + :help "Replace matches for current search string as regexp")) + (define-key map [isearch-query-replace] + '(menu-item "Replace search string" isearch-query-replace + :help "Replace matches for current search string")) + (define-key map [isearch-occur] + '(menu-item "Show all matches for search string" isearch-occur + :help "Show all matches for current search string")) + (define-key map [isearch-highlight-regexp] + '(menu-item "Highlight all matches for search string" + isearch-highlight-regexp + :help "Highlight all matches for current search string")) + (define-key map [isearch-search-replace-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-specified-input-method] + '(menu-item "Turn on specific input method" + isearch-toggle-specified-input-method + :help "Turn on specific input method for search")) + (define-key map [isearch-toggle-input-method] + '(menu-item "Toggle input method" isearch-toggle-input-method + :help "Toggle input method for search")) + (define-key map [isearch-input-method-separator] + '(menu-item "--")) + (define-key map [isearch-char-by-name] + '(menu-item "Search for char by name" isearch-char-by-name + :help "Search for character by name")) + (define-key map [isearch-quote-char] + '(menu-item "Search for literal char" isearch-quote-char + :help "Search for literal char")) + (define-key map [isearch-special-char-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-word] + '(menu-item "Word matching" isearch-toggle-word + :help "Word matching" + :button (:toggle + . (eq isearch-regexp-function 'word-search-regexp)))) + (define-key map [isearch-toggle-symbol] + '(menu-item "Symbol matching" isearch-toggle-symbol + :help "Symbol matching" + :button (:toggle + . (eq isearch-regexp-function + 'isearch-symbol-regexp)))) + (define-key map [isearch-toggle-regexp] + '(menu-item "Regexp matching" isearch-toggle-regexp + :help "Regexp matching" + :button (:toggle . isearch-regexp))) + (define-key map [isearch-toggle-invisible] + '(menu-item "Invisible text matching" isearch-toggle-invisible + :help "Invisible text matching" + :button (:toggle . isearch-invisible))) + (define-key map [isearch-toggle-char-fold] + '(menu-item "Character folding matching" isearch-toggle-char-fold + :help "Character folding matching" + :button (:toggle + . (eq isearch-regexp-function + 'char-fold-to-regexp)))) + (define-key map [isearch-toggle-case-fold] + '(menu-item "Case folding matching" isearch-toggle-case-fold + :help "Case folding matching" + :button (:toggle . isearch-case-fold-search))) + (define-key map [isearch-toggle-lax-whitespace] + '(menu-item "Lax whitespace matching" isearch-toggle-lax-whitespace + :help "Lax whitespace matching" + :button (:toggle . isearch-lax-whitespace))) + (define-key map [isearch-toggle-separator] + '(menu-item "--")) + (define-key map [isearch-del-char] + '(menu-item "Delete last character from search string" isearch-del-char + :help "Delete last character from search string")) + (define-key map [isearch-yank-pop] + '(menu-item "Yank previous kill on search string" isearch-yank-pop + :help "Replace yanked previous kill on search string")) + (define-key map [isearch-yank-kill] + '(menu-item "Yank current kill on search string" isearch-yank-kill + :help "Append current kill to search string")) + (define-key map [isearch-yank-line] + '(menu-item "Yank rest of line on search string" isearch-yank-line + :help "Yank the rest of the current line on search string")) + (define-key map [isearch-yank-symbol-or-char] + '(menu-item "Yank symbol/char on search string" + isearch-yank-symbol-or-char + :help "Yank next symbol or char on search string")) + (define-key map [isearch-yank-word-or-char] + '(menu-item "Yank word/char on search string" + isearch-yank-word-or-char + :help "Yank next word or char on search string")) + (define-key map [isearch-yank-char] + '(menu-item "Yank char on search string" isearch-yank-char + :help "Yank char at point on search string")) + (define-key map [isearch-yank-separator] + '(menu-item "--")) + (define-key map [isearch-edit-string] + '(menu-item "Edit current search string" isearch-edit-string + :help "Edit current search string")) + (define-key map [isearch-ring-retreat] + '(menu-item "Edit previous search string" isearch-ring-retreat + :help "Edit previous search string in Isearch history")) + (define-key map [isearch-ring-advance] + '(menu-item "Edit next search string" isearch-ring-advance + :help "Edit next search string in Isearch history")) + (define-key map [isearch-delete-char] + '(menu-item "Cancel last input item" isearch-delete-char + :help "Cancel the last Isearch command")) + (define-key map [isearch-repeat-backward] + '(menu-item "Repeat search backward" isearch-repeat-backward + :help "Repeat current search backward")) + (define-key map [isearch-repeat-forward] + '(menu-item "Repeat search forward" isearch-repeat-forward + :help "Repeat current search forward")) + (define-key map [isearch-nonincremental] + '(menu-item "Nonincremental search" isearch-exit + :help "Start nonincremental search" + :visible (string-equal isearch-string ""))) + (define-key map [isearch-exit] + '(menu-item "Finish search" isearch-exit + :help "Finish search leaving point where it is" + :visible (not (string-equal isearch-string "")))) + (define-key map [isearch-abort] + '(menu-item "Remove characters not found" isearch-abort + :help "Quit current search" + :visible (not isearch-success))) + (define-key map [isearch-cancel] + `(menu-item "Cancel search" isearch-cancel + :help "Cancel current search and return to starting point" + :filter ,(lambda (binding) + (if isearch-success 'isearch-abort binding)))) + map)) + (defvar isearch-mode-map (let ((i 0) (map (make-keymap))) @@ -595,9 +746,59 @@ isearch-mode-map ;; characters to the search string. See iso-transl.el. (define-key map "\C-x8\r" 'isearch-char-by-name) + (define-key map [menu-bar search-menu] + (list 'menu-item "Isearch" isearch-menu-bar-map)) + (define-key map [remap tmm-menubar] 'isearch-tmm-menubar) + map) "Keymap for `isearch-mode'.") +(defvar isearch-tool-bar-old-map nil + "Variable holding the old local value of `tool-bar-map', if any.") + +(defun isearch-tool-bar-image (image-name) + "Return an image specification for IMAGE-NAME." + (eval (tool-bar--image-expression image-name))) + +(defvar isearch-tool-bar-map + (let ((map (make-sparse-keymap))) + (define-key map [isearch-describe-mode] + (list 'menu-item "Help" 'isearch-describe-mode + :help "Get help for Isearch" + :image '(isearch-tool-bar-image "help"))) + (define-key map [isearch-occur] + (list 'menu-item "Show hits" 'isearch-occur + :help "Show each search hit" + :image '(isearch-tool-bar-image "index"))) + (define-key map [isearch-query-replace] + (list 'menu-item "Replace" 'isearch-query-replace + :help "Replace search string" + :image '(isearch-tool-bar-image "search-replace"))) + (define-key map [isearch-delete-char] + (list 'menu-item "Undo" 'isearch-delete-char + :help "Undo last input item" + :image '(isearch-tool-bar-image "undo"))) + (define-key map [isearch-exit] + (list 'menu-item "Finish" 'isearch-exit + :help "Finish search leaving point where it is" + :image '(isearch-tool-bar-image "exit") + :visible '(not (string-equal isearch-string "")))) + (define-key map [isearch-cancel] + (list 'menu-item "Abort" 'isearch-cancel + :help "Abort search" + :image '(isearch-tool-bar-image "close") + :filter (lambda (binding) + (if isearch-success 'isearch-abort binding)))) + (define-key map [isearch-repeat-forward] + (list 'menu-item "Repeat forward" 'isearch-repeat-forward + :help "Repeat search forward" + :image '(isearch-tool-bar-image "right-arrow"))) + (define-key map [isearch-repeat-backward] + (list 'menu-item "Repeat backward" 'isearch-repeat-backward + :help "Repeat search backward" + :image '(isearch-tool-bar-image "left-arrow"))) + map)) + (defvar minibuffer-local-isearch-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) @@ -728,10 +929,18 @@ isearch--saved-overriding-local-map ;; Minor-mode-alist changes - kind of redundant with the ;; echo area, but if isearching in multiple windows, it can be useful. +;; Also, clicking the mode-line indicator pops up +;; `isearch-menu-bar-map'. (or (assq 'isearch-mode minor-mode-alist) (nconc minor-mode-alist - (list '(isearch-mode isearch-mode)))) + (list '(isearch-mode " Isearch")))) + +;; We add an entry for `isearch-mode' to `minor-mode-map-alist' so +;; that `isearch-menu-bar-map' can show on the menu bar. +(or (assq 'isearch-mode minor-mode-map-alist) + (nconc minor-mode-map-alist + (list (cons 'isearch-mode isearch-mode-map)))) (defvar-local isearch-mode nil) ;; Name of the minor mode, if non-nil. @@ -981,6 +1190,10 @@ isearch-mode isearch-original-minibuffer-message-timeout minibuffer-message-timeout minibuffer-message-timeout nil) + (if (local-variable-p 'tool-bar-map) + (setq isearch-tool-bar-old-map tool-bar-map)) + (setq-local tool-bar-map isearch-tool-bar-map) + ;; We must bypass input method while reading key. When a user type ;; printable character, appropriate input method is turned on in ;; minibuffer to read multibyte characters. @@ -1147,6 +1360,12 @@ isearch-done (setq input-method-function isearch-input-method-function) (kill-local-variable 'input-method-function)) + (if isearch-tool-bar-old-map + (progn + (setq-local tool-bar-map isearch-tool-bar-old-map) + (setq isearch-tool-bar-old-map nil)) + (kill-local-variable 'tool-bar-map)) + (force-mode-line-update) ;; If we ended in the middle of some intangible text, @@ -2500,7 +2719,12 @@ isearch-pre-command-hook ;; `set-transient-map' thingy like `universal-argument--mode'. ((not (eq overriding-terminal-local-map isearch--saved-overriding-local-map))) ;; Don't exit Isearch for isearch key bindings. - ((commandp (lookup-key isearch-mode-map key nil))) + ((or (commandp (lookup-key isearch-mode-map key nil)) + (commandp + (lookup-key + `(keymap (tool-bar menu-item nil ,isearch-tool-bar-map)) key)))) + ;; Allow key bindings that open a menubar. + ((memq this-command '(isearch-tmm-menubar menu-bar-open))) ;; Optionally edit the search string instead of exiting. ((eq search-exit-option 'edit) (setq this-command 'isearch-edit-string)) @@ -2564,7 +2788,8 @@ isearch-post-command-hook (when isearch-forward (goto-char isearch-pre-move-point)) (isearch-search-and-update))) - (setq isearch-pre-move-point nil)))) + (setq isearch-pre-move-point nil))) + (force-mode-line-update)) (defun isearch-quote-char (&optional count) "Quote special characters for incremental search. diff --git a/lisp/tmm.el b/lisp/tmm.el index ff62774..4e3f254 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -42,6 +42,23 @@ tmm-km-list (defvar tmm-next-shortcut-digit) (defvar tmm-table-undef) +(defun tmm-menubar-keymap () + "Return the current menu-bar keymap. + +The ordering of the return value respects `menu-bar-final-items'." + (let ((menu-bar '()) + (menu-end '())) + (map-keymap + (lambda (key binding) + (push (cons key binding) + ;; If KEY is the name of an item that we want to put last, + ;; move it to the end. + (if (memq key menu-bar-final-items) + menu-end + menu-bar))) + (tmm-get-keybind [menu-bar])) + `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end)))) + ;;;###autoload (define-key global-map "\M-`" 'tmm-menubar) ;;;###autoload (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) @@ -58,19 +75,8 @@ tmm-menubar (interactive) (run-hooks 'menu-bar-update-hook) ;; Obey menu-bar-final-items; put those items last. - (let ((menu-bar '()) - (menu-end '()) + (let ((menu-bar (tmm-menubar-keymap)) menu-bar-item) - (map-keymap - (lambda (key binding) - (push (cons key binding) - ;; If KEY is the name of an item that we want to put last, - ;; move it to the end. - (if (memq key menu-bar-final-items) - menu-end - menu-bar))) - (tmm-get-keybind [menu-bar])) - (setq menu-bar `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end))) (if x-position (let ((column 0) prev-key) @@ -154,7 +160,7 @@ tmm--completion-table (defvar tmm--history nil) ;;;###autoload -(defun tmm-prompt (menu &optional in-popup default-item) +(defun tmm-prompt (menu &optional in-popup default-item no-execute) "Text-mode emulation of calling the bindings in keymap. Creates a text-mode menu of possible choices. You can access the elements in the menu in two ways: @@ -165,7 +171,9 @@ tmm-prompt MENU is like the MENU argument to `x-popup-menu': either a keymap or an alist of alists. DEFAULT-ITEM, if non-nil, specifies an initial default choice. -Its value should be an event that has a binding in MENU." +Its value should be an event that has a binding in MENU. +NO-EXECUTE, if non-nil, means to return the command the user selects +instead of executing it." ;; If the optional argument IN-POPUP is t, ;; then MENU is an alist of elements of the form (STRING . VALUE). ;; That is used for recursive calls only. @@ -268,7 +276,7 @@ tmm-prompt ;; We just did the inner level of a -popup menu. choice) ;; We just did the outer level. Do the inner level now. - (not-menu (tmm-prompt choice t)) + (not-menu (tmm-prompt choice t nil no-execute)) ;; We just handled a menu keymap and found another keymap. ((keymapp choice) (if (symbolp choice) @@ -276,11 +284,11 @@ tmm-prompt (condition-case nil (require 'mouse) (error nil)) - (tmm-prompt choice)) + (tmm-prompt choice nil nil no-execute)) ;; We just handled a menu keymap and found a command. (choice (if chosen-string - (progn + (if no-execute choice (setq last-command-event chosen-string) (call-interactively choice)) choice))))) From debbugs-submit-bounces@debbugs.gnu.org Mon Nov 19 17:08:27 2018 Received: (at 32990) by debbugs.gnu.org; 19 Nov 2018 22:08:27 +0000 Received: from localhost ([127.0.0.1]:33125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOriV-0007nS-IS for submit@debbugs.gnu.org; Mon, 19 Nov 2018 17:08:27 -0500 Received: from indri.birch.relay.mailchannels.net ([23.83.209.92]:43447) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gOriT-0007nI-5A for 32990@debbugs.gnu.org; Mon, 19 Nov 2018 17:08:25 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id 1CDB042CFC; Mon, 19 Nov 2018 22:08:23 +0000 (UTC) Received: from pdx1-sub0-mail-a37.g.dreamhost.com (unknown [100.96.20.98]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id CA78942D58; Mon, 19 Nov 2018 22:08:22 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a37.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Mon, 19 Nov 2018 22:08:23 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Slimy-Desert: 4f27270e2e34a0d3_1542665302981_2517780992 X-MC-Loop-Signature: 1542665302981:2838757348 X-MC-Ingress-Time: 1542665302981 Received: from pdx1-sub0-mail-a37.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a37.g.dreamhost.com (Postfix) with ESMTP id 87F6E8075A; Mon, 19 Nov 2018 14:08:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=/fv5TAyOW/YHfzeKreAKZsqshXQ=; b= UVKfcicW/h/wDilqNLFidrDtrODsKRVTKgZnu5dRwP5Pe52HSk+u7QilaqoYtZbz 7/9ucbQSdsxzJGPc210NHgqxRoeHjkYsFaO+sXCb6xnpr0Lzh9WM9l+o6JUERrsP y1uENnR+/gfIgkB0mB9kXnclVy0VD+jjKRUhzRFFPOg= Received: from mail.jurta.org (m91-129-105-252.cust.tele2.ee [91.129.105.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a37.g.dreamhost.com (Postfix) with ESMTPSA id 3EC5280759; Mon, 19 Nov 2018 14:08:19 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a37 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> Date: Mon, 19 Nov 2018 23:44:04 +0200 In-Reply-To: (Charles A. Roelli's message of "Mon, 19 Nov 2018 21:14:51 +0100") Message-ID: <87o9ak4ttv.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedruddtfedgudehkecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddthedrvdehvdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdehrddvhedvpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtoheptghhrghrlhgvshesrghurhhogidrtghhnecuvehluhhsthgvrhfuihiivgeptd X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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 (-) > Please try the change at the end of this message. Thanks, I tried, and have one suggestion: due to the long menu it doesn't fit into the frame's height, so to click an item at the end of the menu requires scrolling that takes time to scroll. I suggest to create more submenus, for example, a Yank submenu for all yank commands. > The Isearch menu now works when clicking the mode-line indicator and I tried clicking Isearch items in the mode-line indicator such as "Repeat search forward", but it cancels Isearch (and leaves Isearch highlighting). > tmm-menubar (M-`)/TTY menus (F10 from TTYs) should now work as > expected (no need to set `isearch-allow-scroll' to t). >From tmm I tried "C==>Cancel last input item DEL", but it does nothing. Do you see the same? > (or (assq 'isearch-mode minor-mode-alist) > (nconc minor-mode-alist > - (list '(isearch-mode isearch-mode)))) > + (list '(isearch-mode " Isearch")))) This duplicates the constant string " Isearch" in two places. Why this change was necessary? > @@ -2564,7 +2788,8 @@ isearch-post-command-hook > (when isearch-forward > (goto-char isearch-pre-move-point)) > (isearch-search-and-update))) > - (setq isearch-pre-move-point nil)))) > + (setq isearch-pre-move-point nil))) > + (force-mode-line-update)) What problems caused adding force-mode-line-update? From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 20 14:47:40 2018 Received: (at 32990) by debbugs.gnu.org; 20 Nov 2018 19:47:40 +0000 Received: from localhost ([127.0.0.1]:37408 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPBzo-0006Wb-A8 for submit@debbugs.gnu.org; Tue, 20 Nov 2018 14:47:40 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:36691) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPBzl-0006Qm-KO for 32990@debbugs.gnu.org; Tue, 20 Nov 2018 14:47:38 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 96D4C229A4 for <32990@debbugs.gnu.org>; Tue, 20 Nov 2018 19:52:17 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542743536; x=1543607537; bh=1u /7GHCc7cTAqYHYRZPeEV+0NnnsLCLxEmsjSrQEZ9w=; b=b80PqCNpkZr/Ag4fyQ AegnuYvfK8jsMWHgZ9oKSPQQsRnpk41QiniOH4b63tMlPR6yR7CQh28CLY/04wcv I1asBr0qojrU8HYOyW4ET/dNfcmPJiqdpHpDz32W3ItepHCtiZZ7E6OVadS125WQ GQEmEEBUWR4Az6zHvTB6VrEWc= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id z5oPO1RvX83e for <32990@debbugs.gnu.org>; Tue, 20 Nov 2018 19:52:16 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id AF18F228C2; Tue, 20 Nov 2018 19:52:15 +0000 (UTC) Date: Tue, 20 Nov 2018 20:49:39 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Juri Linkov In-reply-to: <87o9ak4ttv.fsf@mail.linkov.net> (message from Juri Linkov on Mon, 19 Nov 2018 23:44:04 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Date: Mon, 19 Nov 2018 23:44:04 +0200 > > Thanks, I tried, and have one suggestion: due to the long menu it > doesn't fit into the frame's height, so to click an item at the end of > the menu requires scrolling that takes time to scroll. I suggest to > create more submenus, for example, a Yank submenu for all yank commands. Thanks for testing. I made a Yank submenu as you suggest, which makes the menu height more reasonable. > I tried clicking Isearch items in the mode-line indicator such as > "Repeat search forward", but it cancels Isearch (and leaves Isearch > highlighting). Should be fixed in the next version of the change. (`isearch-mouse-leave-buffer' needed to allow command `mouse-minor-mode-menu'.) > > tmm-menubar (M-`)/TTY menus (F10 from TTYs) should now work as > > expected (no need to set `isearch-allow-scroll' to t). > > >From tmm I tried "C==>Cancel last input item DEL", but it does nothing. > Do you see the same? Yes. This may be `with-isearch-suspended's doing (as used in `isearch-tmm-menubar'): it pushes a new state of Isearch after running its arg BODY, so we will have to compensate for that somehow. > > (or (assq 'isearch-mode minor-mode-alist) > > (nconc minor-mode-alist > > - (list '(isearch-mode isearch-mode)))) > > + (list '(isearch-mode " Isearch")))) > > This duplicates the constant string " Isearch" in two places. > Why this change was necessary? It's no longer necessary and will be gone from the next version of the change. It was necessary because clicking the Isearch mode-line indicator was actually quitting Isearch. Fixed by the above change to `isearch-mouse-leave-buffer'. > > @@ -2564,7 +2788,8 @@ isearch-post-command-hook > > (when isearch-forward > > (goto-char isearch-pre-move-point)) > > (isearch-search-and-update))) > > - (setq isearch-pre-move-point nil)))) > > + (setq isearch-pre-move-point nil))) > > + (force-mode-line-update)) > > What problems caused adding force-mode-line-update? The menu- and tool-bars are not always updated after typing a character during Isearch, so some of the items in those keymaps may be wrongly displayed if we do not always force their recalculation. From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 21 15:12:42 2018 Received: (at 32990) by debbugs.gnu.org; 21 Nov 2018 20:12:42 +0000 Received: from localhost ([127.0.0.1]:40179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPYrY-00010T-8L for submit@debbugs.gnu.org; Wed, 21 Nov 2018 15:12:40 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:37611) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPYrU-00010D-T8 for 32990@debbugs.gnu.org; Wed, 21 Nov 2018 15:12:38 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 4CB13229AC for <32990@debbugs.gnu.org>; Wed, 21 Nov 2018 20:17:17 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542831432; x=1543695433; bh=23 HiTucPlre/WJ2oYj9UGEdh6o0DayeDok4urLLQGmw=; b=pZPJhW4qXD9T8mZdHQ dulmkS4erfqEyD18P/pFI7EXENxYWPmibtR7Y0ujAHl9xaWjYOjtxTePoRFswE3C 0HnyGaTvSRBLIOGfA8cxm4dth++X7XuzGhjol9BZnaz/n+qowJhmn6YdOs0WnDI5 Yiz8paCVvXd/RFfZN+aKiZo/I= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id GyfU4ZeSsk6B for <32990@debbugs.gnu.org>; Wed, 21 Nov 2018 20:17:12 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id BDEF4228C2; Wed, 21 Nov 2018 20:17:11 +0000 (UTC) Date: Wed, 21 Nov 2018 21:14:30 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: juri@linkov.net In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 20 Nov 2018 20:49:39 +0100 > From: charles@aurox.ch (Charles A. Roelli) > > > >From tmm I tried "C==>Cancel last input item DEL", but it does nothing. > > Do you see the same? > > Yes. This may be `with-isearch-suspended's doing (as used in > `isearch-tmm-menubar'): it pushes a new state of Isearch after running > its arg BODY, so we will have to compensate for that somehow. Should be fixed in the following change based on the latest master. In with-isearch-suspended, the state of Isearch is now only pushed if the new state is not `equal' to the state of Isearch we had before running the body (which should be in (car isearch-cmds), I think). ---- * lisp/tmm.el (tmm-menubar-keymap): New function factored out from 'tmm-menubar'. (tmm-menubar): Use 'tmm-menubar-keymap'. (tmm-prompt): New optional argument 'no-execute'. * lisp/isearch.el: Declare the new, non-autoloaded function 'tmm-menubar-keymap'. (isearch-tmm-menubar): New function. (isearch-menu-bar-yank-map, isearch-menu-bar-map): New variables. (isearch-mode-map): Define a menu-bar search menu and remap 'tmm-menubar' bindings to point to 'isearch-tmm-menubar'. (isearch-tool-bar-old-map): New variable. (isearch-tool-bar-image): New function. (isearch-tool-bar-map): New variable. (minor-mode-map-alist): Add an entry for Isearch so that 'isearch-menu-bar-map' shows during search. (isearch-mode, isearch-done): Save and restore possible buffer-local 'tool-bar-map' using 'isearch-tool-bar-old-map'. (isearch-mouse-leave-buffer): Allow 'mouse-minor-mode-menu'. (with-isearch-suspended): Only push state of Isearch if it has changed since running the body of this macro. (isearch-pre-command-hook): Additionally allow bindings in 'isearch-tool-bar-map' to pass through, as well as commands 'isearch-tmm-menubar', 'menu-bar-open' and 'mouse-minor-mode-menu'. (isearch-post-command-hook): Call 'force-mode-line-update' at its end to make sure the menu- and tool-bars are up-to-date. ---- diff --git a/lisp/isearch.el b/lisp/isearch.el index 6d94ef6..eb3cca7 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -54,6 +54,7 @@ ;;; Code: (eval-when-compile (require 'cl-lib)) +(declare-function tmm-menubar-keymap "tmm.el") ;; Some additional options and constants. @@ -489,6 +490,160 @@ 'isearch-mode-help ;; Define isearch-mode keymap. +(defun isearch-tmm-menubar () + "Run `tmm-menubar' while `isearch-mode' is enabled." + (interactive) + (require 'tmm) + (run-hooks 'menu-bar-update-hook) + (let ((command nil)) + (let ((menu-bar (tmm-menubar-keymap))) + (with-isearch-suspended + (setq command (let ((isearch-mode t)) ; Show bindings from + ; `isearch-mode-map' in + ; tmm's prompt. + (tmm-prompt menu-bar nil nil t))))) + (call-interactively command))) + +(defvar isearch-menu-bar-yank-map + (let ((map (make-sparse-keymap))) + (define-key map [isearch-yank-pop] + '(menu-item "Previous kill" isearch-yank-pop + :help "Replace previous yanked kill on search string")) + (define-key map [isearch-yank-kill] + '(menu-item "Current kill" isearch-yank-kill + :help "Append current kill to search string")) + (define-key map [isearch-yank-line] + '(menu-item "Rest of line" isearch-yank-line + :help "Yank the rest of the current line on search string")) + (define-key map [isearch-yank-symbol-or-char] + '(menu-item "Symbol/char" + isearch-yank-symbol-or-char + :help "Yank next symbol or char on search string")) + (define-key map [isearch-yank-word-or-char] + '(menu-item "Word/char" + isearch-yank-word-or-char + :help "Yank next word or char on search string")) + (define-key map [isearch-yank-char] + '(menu-item "Char" isearch-yank-char + :help "Yank char at point on search string")) + map)) + +(defvar isearch-menu-bar-map + (let ((map (make-sparse-keymap "Isearch"))) + (define-key map [isearch-complete] + '(menu-item "Complete current search string" isearch-complete + :help "Complete current search string over search history")) + (define-key map [isearch-complete-separator] + '(menu-item "--")) + (define-key map [isearch-query-replace-regexp] + '(menu-item "Replace search string as regexp" isearch-query-replace-regexp + :help "Replace matches for current search string as regexp")) + (define-key map [isearch-query-replace] + '(menu-item "Replace search string" isearch-query-replace + :help "Replace matches for current search string")) + (define-key map [isearch-occur] + '(menu-item "Show all matches for search string" isearch-occur + :help "Show all matches for current search string")) + (define-key map [isearch-highlight-regexp] + '(menu-item "Highlight all matches for search string" + isearch-highlight-regexp + :help "Highlight all matches for current search string")) + (define-key map [isearch-search-replace-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-specified-input-method] + '(menu-item "Turn on specific input method" + isearch-toggle-specified-input-method + :help "Turn on specific input method for search")) + (define-key map [isearch-toggle-input-method] + '(menu-item "Toggle input method" isearch-toggle-input-method + :help "Toggle input method for search")) + (define-key map [isearch-input-method-separator] + '(menu-item "--")) + (define-key map [isearch-char-by-name] + '(menu-item "Search for char by name" isearch-char-by-name + :help "Search for character by name")) + (define-key map [isearch-quote-char] + '(menu-item "Search for literal char" isearch-quote-char + :help "Search for literal char")) + (define-key map [isearch-special-char-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-word] + '(menu-item "Word matching" isearch-toggle-word + :help "Word matching" + :button (:toggle + . (eq isearch-regexp-function 'word-search-regexp)))) + (define-key map [isearch-toggle-symbol] + '(menu-item "Symbol matching" isearch-toggle-symbol + :help "Symbol matching" + :button (:toggle + . (eq isearch-regexp-function + 'isearch-symbol-regexp)))) + (define-key map [isearch-toggle-regexp] + '(menu-item "Regexp matching" isearch-toggle-regexp + :help "Regexp matching" + :button (:toggle . isearch-regexp))) + (define-key map [isearch-toggle-invisible] + '(menu-item "Invisible text matching" isearch-toggle-invisible + :help "Invisible text matching" + :button (:toggle . isearch-invisible))) + (define-key map [isearch-toggle-char-fold] + '(menu-item "Character folding matching" isearch-toggle-char-fold + :help "Character folding matching" + :button (:toggle + . (eq isearch-regexp-function + 'char-fold-to-regexp)))) + (define-key map [isearch-toggle-case-fold] + '(menu-item "Case folding matching" isearch-toggle-case-fold + :help "Case folding matching" + :button (:toggle . isearch-case-fold-search))) + (define-key map [isearch-toggle-lax-whitespace] + '(menu-item "Lax whitespace matching" isearch-toggle-lax-whitespace + :help "Lax whitespace matching" + :button (:toggle . isearch-lax-whitespace))) + (define-key map [isearch-toggle-separator] + '(menu-item "--")) + (define-key map [isearch-yank-menu] + `(menu-item "Yank on search string" ,isearch-menu-bar-yank-map)) + (define-key map [isearch-edit-string] + '(menu-item "Edit current search string" isearch-edit-string + :help "Edit current search string")) + (define-key map [isearch-ring-retreat] + '(menu-item "Edit previous search string" isearch-ring-retreat + :help "Edit previous search string in Isearch history")) + (define-key map [isearch-ring-advance] + '(menu-item "Edit next search string" isearch-ring-advance + :help "Edit next search string in Isearch history")) + (define-key map [isearch-del-char] + '(menu-item "Delete last char from search string" isearch-del-char + :help "Delete last character from search string")) + (define-key map [isearch-delete-char] + '(menu-item "Cancel last input item" isearch-delete-char + :help "Cancel the last Isearch command")) + (define-key map [isearch-repeat-backward] + '(menu-item "Repeat search backward" isearch-repeat-backward + :help "Repeat current search backward")) + (define-key map [isearch-repeat-forward] + '(menu-item "Repeat search forward" isearch-repeat-forward + :help "Repeat current search forward")) + (define-key map [isearch-nonincremental] + '(menu-item "Nonincremental search" isearch-exit + :help "Start nonincremental search" + :visible (string-equal isearch-string ""))) + (define-key map [isearch-exit] + '(menu-item "Finish search" isearch-exit + :help "Finish search leaving point where it is" + :visible (not (string-equal isearch-string "")))) + (define-key map [isearch-abort] + '(menu-item "Remove characters not found" isearch-abort + :help "Quit current search" + :visible (not isearch-success))) + (define-key map [isearch-cancel] + `(menu-item "Cancel search" isearch-cancel + :help "Cancel current search and return to starting point" + :filter ,(lambda (binding) + (if isearch-success 'isearch-abort binding)))) + map)) + (defvar isearch-mode-map (let ((i 0) (map (make-keymap))) @@ -595,9 +750,59 @@ isearch-mode-map ;; characters to the search string. See iso-transl.el. (define-key map "\C-x8\r" 'isearch-char-by-name) + (define-key map [menu-bar search-menu] + (list 'menu-item "Isearch" isearch-menu-bar-map)) + (define-key map [remap tmm-menubar] 'isearch-tmm-menubar) + map) "Keymap for `isearch-mode'.") +(defvar isearch-tool-bar-old-map nil + "Variable holding the old local value of `tool-bar-map', if any.") + +(defun isearch-tool-bar-image (image-name) + "Return an image specification for IMAGE-NAME." + (eval (tool-bar--image-expression image-name))) + +(defvar isearch-tool-bar-map + (let ((map (make-sparse-keymap))) + (define-key map [isearch-describe-mode] + (list 'menu-item "Help" 'isearch-describe-mode + :help "Get help for Isearch" + :image '(isearch-tool-bar-image "help"))) + (define-key map [isearch-occur] + (list 'menu-item "Show hits" 'isearch-occur + :help "Show each search hit" + :image '(isearch-tool-bar-image "index"))) + (define-key map [isearch-query-replace] + (list 'menu-item "Replace" 'isearch-query-replace + :help "Replace search string" + :image '(isearch-tool-bar-image "search-replace"))) + (define-key map [isearch-delete-char] + (list 'menu-item "Undo" 'isearch-delete-char + :help "Undo last input item" + :image '(isearch-tool-bar-image "undo"))) + (define-key map [isearch-exit] + (list 'menu-item "Finish" 'isearch-exit + :help "Finish search leaving point where it is" + :image '(isearch-tool-bar-image "exit") + :visible '(not (string-equal isearch-string "")))) + (define-key map [isearch-cancel] + (list 'menu-item "Abort" 'isearch-cancel + :help "Abort search" + :image '(isearch-tool-bar-image "close") + :filter (lambda (binding) + (if isearch-success 'isearch-abort binding)))) + (define-key map [isearch-repeat-forward] + (list 'menu-item "Repeat forward" 'isearch-repeat-forward + :help "Repeat search forward" + :image '(isearch-tool-bar-image "right-arrow"))) + (define-key map [isearch-repeat-backward] + (list 'menu-item "Repeat backward" 'isearch-repeat-backward + :help "Repeat search backward" + :image '(isearch-tool-bar-image "left-arrow"))) + map)) + (defvar minibuffer-local-isearch-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) @@ -728,11 +933,19 @@ isearch--saved-overriding-local-map ;; Minor-mode-alist changes - kind of redundant with the ;; echo area, but if isearching in multiple windows, it can be useful. +;; Also, clicking the mode-line indicator pops up +;; `isearch-menu-bar-map'. (or (assq 'isearch-mode minor-mode-alist) (nconc minor-mode-alist (list '(isearch-mode isearch-mode)))) +;; We add an entry for `isearch-mode' to `minor-mode-map-alist' so +;; that `isearch-menu-bar-map' can show on the menu bar. +(or (assq 'isearch-mode minor-mode-map-alist) + (nconc minor-mode-map-alist + (list (cons 'isearch-mode isearch-mode-map)))) + (defvar-local isearch-mode nil) ;; Name of the minor mode, if non-nil. (define-key global-map "\C-s" 'isearch-forward) @@ -981,6 +1194,10 @@ isearch-mode isearch-original-minibuffer-message-timeout minibuffer-message-timeout minibuffer-message-timeout nil) + (if (local-variable-p 'tool-bar-map) + (setq isearch-tool-bar-old-map tool-bar-map)) + (setq-local tool-bar-map isearch-tool-bar-map) + ;; We must bypass input method while reading key. When a user type ;; printable character, appropriate input method is turned on in ;; minibuffer to read multibyte characters. @@ -1147,6 +1364,12 @@ isearch-done (setq input-method-function isearch-input-method-function) (kill-local-variable 'input-method-function)) + (if isearch-tool-bar-old-map + (progn + (setq-local tool-bar-map isearch-tool-bar-old-map) + (setq isearch-tool-bar-old-map nil)) + (kill-local-variable 'tool-bar-map)) + (force-mode-line-update) ;; If we ended in the middle of some intangible text, @@ -1181,7 +1404,8 @@ isearch-done (defun isearch-mouse-leave-buffer () "Exit Isearch unless the mouse command is allowed in Isearch." - (unless (eq (get this-command 'isearch-scroll) t) + (unless (or (eq this-command 'mouse-minor-mode-menu) + (eq (get this-command 'isearch-scroll) t)) (isearch-done))) (defun isearch-update-ring (string &optional regexp) @@ -1449,7 +1673,9 @@ with-isearch-suspended ;; Reinvoke the pending search. (isearch-search) - (isearch-push-state) ; this pushes the correct state + (unless (and isearch-cmds + (equal (car isearch-cmds) (isearch--get-state))) + (isearch-push-state)) ; this pushes the correct state (isearch-update) (if isearch-nonincremental (progn @@ -2535,7 +2761,14 @@ isearch-pre-command-hook ;; `set-transient-map' thingy like `universal-argument--mode'. ((not (eq overriding-terminal-local-map isearch--saved-overriding-local-map))) ;; Don't exit Isearch for isearch key bindings. - ((commandp (lookup-key isearch-mode-map key nil))) + ((or (commandp (lookup-key isearch-mode-map key nil)) + (commandp + (lookup-key + `(keymap (tool-bar menu-item nil ,isearch-tool-bar-map)) key)))) + ;; Allow key bindings that open a menubar. + ((memq this-command '(isearch-tmm-menubar + menu-bar-open + mouse-minor-mode-menu))) ;; Optionally edit the search string instead of exiting. ((eq search-exit-option 'edit) (setq this-command 'isearch-edit-string)) @@ -2599,7 +2832,8 @@ isearch-post-command-hook (when isearch-forward (goto-char isearch-pre-move-point)) (isearch-search-and-update))) - (setq isearch-pre-move-point nil)))) + (setq isearch-pre-move-point nil))) + (force-mode-line-update)) (defun isearch-quote-char (&optional count) "Quote special characters for incremental search. diff --git a/lisp/tmm.el b/lisp/tmm.el index ff62774..4e3f254 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -42,6 +42,23 @@ tmm-km-list (defvar tmm-next-shortcut-digit) (defvar tmm-table-undef) +(defun tmm-menubar-keymap () + "Return the current menu-bar keymap. + +The ordering of the return value respects `menu-bar-final-items'." + (let ((menu-bar '()) + (menu-end '())) + (map-keymap + (lambda (key binding) + (push (cons key binding) + ;; If KEY is the name of an item that we want to put last, + ;; move it to the end. + (if (memq key menu-bar-final-items) + menu-end + menu-bar))) + (tmm-get-keybind [menu-bar])) + `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end)))) + ;;;###autoload (define-key global-map "\M-`" 'tmm-menubar) ;;;###autoload (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) @@ -58,19 +75,8 @@ tmm-menubar (interactive) (run-hooks 'menu-bar-update-hook) ;; Obey menu-bar-final-items; put those items last. - (let ((menu-bar '()) - (menu-end '()) + (let ((menu-bar (tmm-menubar-keymap)) menu-bar-item) - (map-keymap - (lambda (key binding) - (push (cons key binding) - ;; If KEY is the name of an item that we want to put last, - ;; move it to the end. - (if (memq key menu-bar-final-items) - menu-end - menu-bar))) - (tmm-get-keybind [menu-bar])) - (setq menu-bar `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end))) (if x-position (let ((column 0) prev-key) @@ -154,7 +160,7 @@ tmm--completion-table (defvar tmm--history nil) ;;;###autoload -(defun tmm-prompt (menu &optional in-popup default-item) +(defun tmm-prompt (menu &optional in-popup default-item no-execute) "Text-mode emulation of calling the bindings in keymap. Creates a text-mode menu of possible choices. You can access the elements in the menu in two ways: @@ -165,7 +171,9 @@ tmm-prompt MENU is like the MENU argument to `x-popup-menu': either a keymap or an alist of alists. DEFAULT-ITEM, if non-nil, specifies an initial default choice. -Its value should be an event that has a binding in MENU." +Its value should be an event that has a binding in MENU. +NO-EXECUTE, if non-nil, means to return the command the user selects +instead of executing it." ;; If the optional argument IN-POPUP is t, ;; then MENU is an alist of elements of the form (STRING . VALUE). ;; That is used for recursive calls only. @@ -268,7 +276,7 @@ tmm-prompt ;; We just did the inner level of a -popup menu. choice) ;; We just did the outer level. Do the inner level now. - (not-menu (tmm-prompt choice t)) + (not-menu (tmm-prompt choice t nil no-execute)) ;; We just handled a menu keymap and found another keymap. ((keymapp choice) (if (symbolp choice) @@ -276,11 +284,11 @@ tmm-prompt (condition-case nil (require 'mouse) (error nil)) - (tmm-prompt choice)) + (tmm-prompt choice nil nil no-execute)) ;; We just handled a menu keymap and found a command. (choice (if chosen-string - (progn + (if no-execute choice (setq last-command-event chosen-string) (call-interactively choice)) choice))))) From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 21 17:44:05 2018 Received: (at 32990) by debbugs.gnu.org; 21 Nov 2018 22:44:05 +0000 Received: from localhost ([127.0.0.1]:40312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPbE5-0004r6-97 for submit@debbugs.gnu.org; Wed, 21 Nov 2018 17:44:05 -0500 Received: from cichlid.maple.relay.mailchannels.net ([23.83.214.36]:48502) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPbE3-0004qx-90 for 32990@debbugs.gnu.org; Wed, 21 Nov 2018 17:44:04 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id E33083E438C; Wed, 21 Nov 2018 22:44:01 +0000 (UTC) Received: from pdx1-sub0-mail-a37.g.dreamhost.com (unknown [100.96.35.77]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 7B0033E49B2; Wed, 21 Nov 2018 22:44:01 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a37.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Wed, 21 Nov 2018 22:44:01 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Squirrel-Imminent: 122ec80e36a8dc6d_1542840241659_3843815499 X-MC-Loop-Signature: 1542840241659:3615622236 X-MC-Ingress-Time: 1542840241659 Received: from pdx1-sub0-mail-a37.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a37.g.dreamhost.com (Postfix) with ESMTP id 3DF658092B; Wed, 21 Nov 2018 14:44:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=l8AOlmQf8aYugRa996AB62hdcAM=; b= ArC74ajtrZcJe1hIi4O4cwR5LBzB/CcAWzCkG8GIeGLvcc4PLga6HdM5ueZDPzXw VFrjE6lrnOzOactBBsuxfSSBcxYmg0hTqotLlefp7apEiuvznIQNDIX2AupgE2mv xwxs+a3JvMVh5f39wKB7n/eMcIuoNlrPvUHNgIYNt1A= Received: from mail.jurta.org (m91-129-105-252.cust.tele2.ee [91.129.105.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a37.g.dreamhost.com (Postfix) with ESMTPSA id E265680925; Wed, 21 Nov 2018 14:43:58 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a37 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> Date: Thu, 22 Nov 2018 00:31:45 +0200 In-Reply-To: (Charles A. Roelli's message of "Wed, 21 Nov 2018 21:14:30 +0100") Message-ID: <87wop6f4fi.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedruddtkedgtddvucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuggftfghnshhusghstghrihgsvgdpffftgfetoffjqffuvfenuceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvufhofhffjgfkfgggtgesthdtredttdertdenucfhrhhomheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqeenucfkphepledurdduvdelrddutdehrddvhedvnecurfgrrhgrmhepmhhouggvpehsmhhtphdphhgvlhhopehmrghilhdrjhhurhhtrgdrohhrghdpihhnvghtpeeluddruddvledruddthedrvdehvddprhgvthhurhhnqdhprghthheplfhurhhiucfnihhnkhhovhcuoehjuhhriheslhhinhhkohhvrdhnvghtqedpmhgrihhlfhhrohhmpehjuhhriheslhhinhhkohhvrdhnvghtpdhnrhgtphhtthhopegthhgrrhhlvghssegruhhrohigrdgthhenucevlhhushhtvghrufhiiigvpedt X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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 (-) >> > >From tmm I tried "C==>Cancel last input item DEL", but it does nothing. >> > Do you see the same? >> >> Yes. This may be `with-isearch-suspended's doing (as used in >> `isearch-tmm-menubar'): it pushes a new state of Isearch after running >> its arg BODY, so we will have to compensate for that somehow. > > Should be fixed in the following change based on the latest master. > In with-isearch-suspended, the state of Isearch is now only pushed if > the new state is not `equal' to the state of Isearch we had before > running the body (which should be in (car isearch-cmds), I think). Thanks, I tested your new version and have a few suggestions: 1. There are two menu items with the same action word "Cancel": "Cancel search" "Cancel last input item" This is confusing terminology. I suggest to rename the latter to "Undo last input item" 2. Hard-coding command symbols with '(memq this-command ...' is not a good style. Isearch provides a special feature to put the property 'isearch-scroll' (a misnomer, unfortunately) for the purpose to not hard-code command symbols. 3. Please add a comment to with-isearch-suspended stating that pushing a new state is not necessary for cases that don't change search parameters. So that such commands that use with-isearch-suspended don't need special code to restore an old value of isearch-cmds. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 22 15:27:29 2018 Received: (at 32990) by debbugs.gnu.org; 22 Nov 2018 20:27:29 +0000 Received: from localhost ([127.0.0.1]:42709 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPvZQ-0002BB-Vk for submit@debbugs.gnu.org; Thu, 22 Nov 2018 15:27:29 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:38561) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPvZO-0002Aw-8j for 32990@debbugs.gnu.org; Thu, 22 Nov 2018 15:27:27 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 2268C229AA for <32990@debbugs.gnu.org>; Thu, 22 Nov 2018 20:32:08 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1542918722; x=1543782723; bh=gI g+98qkBEC2Q9Au05LGFVkjzUlaH2NpT56MemiZTDg=; b=bOH3jKDC0oa1vyCcyi TY5kSVpXyQk20ywQlDEzZt3MFD1DHR/BE7sEHKdu60dOOYpbZvgKGOmGrLMs+aNX 0KfmtMALD3gLZjVTsCTrYvvfqfsL5trU4HgQ/psg5qm2cdH83p3ldoMZ5ScWfZcD q2LNV5l+G9ptDHSxUV2souDzs= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id E20JxwR2L4QK for <32990@debbugs.gnu.org>; Thu, 22 Nov 2018 20:32:02 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id E170E228C2; Thu, 22 Nov 2018 20:32:01 +0000 (UTC) Date: Thu, 22 Nov 2018 21:29:25 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Juri Linkov In-reply-to: <87wop6f4fi.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 22 Nov 2018 00:31:45 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83muroyzfk.fsf@gnu.org> <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > From: Juri Linkov > Date: Thu, 22 Nov 2018 00:31:45 +0200 > > Thanks, I tested your new version and have a few suggestions: > > 1. There are two menu items with the same action word "Cancel": > "Cancel search" > "Cancel last input item" > > This is confusing terminology. I suggest to rename the latter to > "Undo last input item" Done, thanks. > 2. Hard-coding command symbols with '(memq this-command ...' is > not a good style. I've consolidated the list of commands into 'isearch-menu-bar-commands' (list of commands that can open a menu bar during Isearch). I also updated 'isearch-mouse-leave-buffer' to allow commands listed in new var 'isearch-mouse-commands' (list of mouse commands allowed during Isearch). > Isearch provides a special feature to put the > property 'isearch-scroll' (a misnomer, unfortunately) for the purpose > to not hard-code command symbols. 'isearch-scroll' does not work on 'isearch-tmm-menubar' since 'isearch-tmm-menubar' runs arbitrary Isearch commands and can therefore move point, which violates 'isearch-scroll's main requirement. > 3. Please add a comment to with-isearch-suspended stating that pushing > a new state is not necessary for cases that don't change search > parameters. So that such commands that use with-isearch-suspended > don't need special code to restore an old value of isearch-cmds. Done, thanks. I'm attaching the latest change again. ---- * lisp/tmm.el (tmm-menubar-keymap): New function factored out from 'tmm-menubar'. (tmm-menubar): Use 'tmm-menubar-keymap'. (tmm-prompt): New optional argument 'no-execute'. * lisp/isearch.el: Declare the new, non-autoloaded function 'tmm-menubar-keymap'. (isearch-tmm-menubar): New function. (isearch-menu-bar-commands): New variable. (isearch-menu-bar-yank-map, isearch-menu-bar-map): New variables. (isearch-mode-map): Define a menu-bar search menu and remap 'tmm-menubar' bindings to point to 'isearch-tmm-menubar'. (isearch-tool-bar-old-map): New variable. (isearch-tool-bar-image): New function. (isearch-tool-bar-map): New variable. (minor-mode-map-alist): Add an entry for Isearch so that 'isearch-menu-bar-map' shows during search. (isearch-mode, isearch-done): Save and restore possible buffer-local 'tool-bar-map' using 'isearch-tool-bar-old-map'. (iseacrh-mouse-commands): New variable. (isearch-mouse-leave-buffer): Allow commands in isearch-mouse-commands. (with-isearch-suspended): Only push changed states of Isearch after running the body argument of this macro. (isearch-pre-command-hook): Additionally allow bindings in 'isearch-tool-bar-map' to pass through, as well as commands in isearch-menu-bar-commands. (isearch-post-command-hook): Call 'force-mode-line-update' at its end to make sure the menu- and tool-bars are up-to-date. ---- diff --git a/lisp/isearch.el b/lisp/isearch.el index b05805c..15f66ee 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -54,6 +54,7 @@ ;;; Code: (eval-when-compile (require 'cl-lib)) +(declare-function tmm-menubar-keymap "tmm.el") ;; Some additional options and constants. @@ -489,6 +490,164 @@ 'isearch-mode-help ;; Define isearch-mode keymap. +(defun isearch-tmm-menubar () + "Run `tmm-menubar' while `isearch-mode' is enabled." + (interactive) + (require 'tmm) + (run-hooks 'menu-bar-update-hook) + (let ((command nil)) + (let ((menu-bar (tmm-menubar-keymap))) + (with-isearch-suspended + (setq command (let ((isearch-mode t)) ; Show bindings from + ; `isearch-mode-map' in + ; tmm's prompt. + (tmm-prompt menu-bar nil nil t))))) + (call-interactively command))) + +(defvar isearch-menu-bar-commands + '(isearch-tmm-menubar menu-bar-open mouse-minor-mode-menu) + "List of commands that can open a menu during Isearch.") + +(defvar isearch-menu-bar-yank-map + (let ((map (make-sparse-keymap))) + (define-key map [isearch-yank-pop] + '(menu-item "Previous kill" isearch-yank-pop + :help "Replace previous yanked kill on search string")) + (define-key map [isearch-yank-kill] + '(menu-item "Current kill" isearch-yank-kill + :help "Append current kill to search string")) + (define-key map [isearch-yank-line] + '(menu-item "Rest of line" isearch-yank-line + :help "Yank the rest of the current line on search string")) + (define-key map [isearch-yank-symbol-or-char] + '(menu-item "Symbol/char" + isearch-yank-symbol-or-char + :help "Yank next symbol or char on search string")) + (define-key map [isearch-yank-word-or-char] + '(menu-item "Word/char" + isearch-yank-word-or-char + :help "Yank next word or char on search string")) + (define-key map [isearch-yank-char] + '(menu-item "Char" isearch-yank-char + :help "Yank char at point on search string")) + map)) + +(defvar isearch-menu-bar-map + (let ((map (make-sparse-keymap "Isearch"))) + (define-key map [isearch-complete] + '(menu-item "Complete current search string" isearch-complete + :help "Complete current search string over search history")) + (define-key map [isearch-complete-separator] + '(menu-item "--")) + (define-key map [isearch-query-replace-regexp] + '(menu-item "Replace search string as regexp" isearch-query-replace-regexp + :help "Replace matches for current search string as regexp")) + (define-key map [isearch-query-replace] + '(menu-item "Replace search string" isearch-query-replace + :help "Replace matches for current search string")) + (define-key map [isearch-occur] + '(menu-item "Show all matches for search string" isearch-occur + :help "Show all matches for current search string")) + (define-key map [isearch-highlight-regexp] + '(menu-item "Highlight all matches for search string" + isearch-highlight-regexp + :help "Highlight all matches for current search string")) + (define-key map [isearch-search-replace-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-specified-input-method] + '(menu-item "Turn on specific input method" + isearch-toggle-specified-input-method + :help "Turn on specific input method for search")) + (define-key map [isearch-toggle-input-method] + '(menu-item "Toggle input method" isearch-toggle-input-method + :help "Toggle input method for search")) + (define-key map [isearch-input-method-separator] + '(menu-item "--")) + (define-key map [isearch-char-by-name] + '(menu-item "Search for char by name" isearch-char-by-name + :help "Search for character by name")) + (define-key map [isearch-quote-char] + '(menu-item "Search for literal char" isearch-quote-char + :help "Search for literal char")) + (define-key map [isearch-special-char-separator] + '(menu-item "--")) + (define-key map [isearch-toggle-word] + '(menu-item "Word matching" isearch-toggle-word + :help "Word matching" + :button (:toggle + . (eq isearch-regexp-function 'word-search-regexp)))) + (define-key map [isearch-toggle-symbol] + '(menu-item "Symbol matching" isearch-toggle-symbol + :help "Symbol matching" + :button (:toggle + . (eq isearch-regexp-function + 'isearch-symbol-regexp)))) + (define-key map [isearch-toggle-regexp] + '(menu-item "Regexp matching" isearch-toggle-regexp + :help "Regexp matching" + :button (:toggle . isearch-regexp))) + (define-key map [isearch-toggle-invisible] + '(menu-item "Invisible text matching" isearch-toggle-invisible + :help "Invisible text matching" + :button (:toggle . isearch-invisible))) + (define-key map [isearch-toggle-char-fold] + '(menu-item "Character folding matching" isearch-toggle-char-fold + :help "Character folding matching" + :button (:toggle + . (eq isearch-regexp-function + 'char-fold-to-regexp)))) + (define-key map [isearch-toggle-case-fold] + '(menu-item "Case folding matching" isearch-toggle-case-fold + :help "Case folding matching" + :button (:toggle . isearch-case-fold-search))) + (define-key map [isearch-toggle-lax-whitespace] + '(menu-item "Lax whitespace matching" isearch-toggle-lax-whitespace + :help "Lax whitespace matching" + :button (:toggle . isearch-lax-whitespace))) + (define-key map [isearch-toggle-separator] + '(menu-item "--")) + (define-key map [isearch-yank-menu] + `(menu-item "Yank on search string" ,isearch-menu-bar-yank-map)) + (define-key map [isearch-edit-string] + '(menu-item "Edit current search string" isearch-edit-string + :help "Edit current search string")) + (define-key map [isearch-ring-retreat] + '(menu-item "Edit previous search string" isearch-ring-retreat + :help "Edit previous search string in Isearch history")) + (define-key map [isearch-ring-advance] + '(menu-item "Edit next search string" isearch-ring-advance + :help "Edit next search string in Isearch history")) + (define-key map [isearch-del-char] + '(menu-item "Delete last char from search string" isearch-del-char + :help "Delete last character from search string")) + (define-key map [isearch-delete-char] + '(menu-item "Undo last input item" isearch-delete-char + :help "Undo the effect of the last Isearch command")) + (define-key map [isearch-repeat-backward] + '(menu-item "Repeat search backward" isearch-repeat-backward + :help "Repeat current search backward")) + (define-key map [isearch-repeat-forward] + '(menu-item "Repeat search forward" isearch-repeat-forward + :help "Repeat current search forward")) + (define-key map [isearch-nonincremental] + '(menu-item "Nonincremental search" isearch-exit + :help "Start nonincremental search" + :visible (string-equal isearch-string ""))) + (define-key map [isearch-exit] + '(menu-item "Finish search" isearch-exit + :help "Finish search leaving point where it is" + :visible (not (string-equal isearch-string "")))) + (define-key map [isearch-abort] + '(menu-item "Remove characters not found" isearch-abort + :help "Quit current search" + :visible (not isearch-success))) + (define-key map [isearch-cancel] + `(menu-item "Cancel search" isearch-cancel + :help "Cancel current search and return to starting point" + :filter ,(lambda (binding) + (if isearch-success 'isearch-abort binding)))) + map)) + (defvar isearch-mode-map (let ((i 0) (map (make-keymap))) @@ -595,9 +754,59 @@ isearch-mode-map ;; characters to the search string. See iso-transl.el. (define-key map "\C-x8\r" 'isearch-char-by-name) + (define-key map [menu-bar search-menu] + (list 'menu-item "Isearch" isearch-menu-bar-map)) + (define-key map [remap tmm-menubar] 'isearch-tmm-menubar) + map) "Keymap for `isearch-mode'.") +(defvar isearch-tool-bar-old-map nil + "Variable holding the old local value of `tool-bar-map', if any.") + +(defun isearch-tool-bar-image (image-name) + "Return an image specification for IMAGE-NAME." + (eval (tool-bar--image-expression image-name))) + +(defvar isearch-tool-bar-map + (let ((map (make-sparse-keymap))) + (define-key map [isearch-describe-mode] + (list 'menu-item "Help" 'isearch-describe-mode + :help "Get help for Isearch" + :image '(isearch-tool-bar-image "help"))) + (define-key map [isearch-occur] + (list 'menu-item "Show hits" 'isearch-occur + :help "Show each search hit" + :image '(isearch-tool-bar-image "index"))) + (define-key map [isearch-query-replace] + (list 'menu-item "Replace" 'isearch-query-replace + :help "Replace search string" + :image '(isearch-tool-bar-image "search-replace"))) + (define-key map [isearch-delete-char] + (list 'menu-item "Undo" 'isearch-delete-char + :help "Undo last input item" + :image '(isearch-tool-bar-image "undo"))) + (define-key map [isearch-exit] + (list 'menu-item "Finish" 'isearch-exit + :help "Finish search leaving point where it is" + :image '(isearch-tool-bar-image "exit") + :visible '(not (string-equal isearch-string "")))) + (define-key map [isearch-cancel] + (list 'menu-item "Abort" 'isearch-cancel + :help "Abort search" + :image '(isearch-tool-bar-image "close") + :filter (lambda (binding) + (if isearch-success 'isearch-abort binding)))) + (define-key map [isearch-repeat-forward] + (list 'menu-item "Repeat forward" 'isearch-repeat-forward + :help "Repeat search forward" + :image '(isearch-tool-bar-image "right-arrow"))) + (define-key map [isearch-repeat-backward] + (list 'menu-item "Repeat backward" 'isearch-repeat-backward + :help "Repeat search backward" + :image '(isearch-tool-bar-image "left-arrow"))) + map)) + (defvar minibuffer-local-isearch-map (let ((map (make-sparse-keymap))) (set-keymap-parent map minibuffer-local-map) @@ -728,11 +937,19 @@ isearch--saved-overriding-local-map ;; Minor-mode-alist changes - kind of redundant with the ;; echo area, but if isearching in multiple windows, it can be useful. +;; Also, clicking the mode-line indicator pops up +;; `isearch-menu-bar-map'. (or (assq 'isearch-mode minor-mode-alist) (nconc minor-mode-alist (list '(isearch-mode isearch-mode)))) +;; We add an entry for `isearch-mode' to `minor-mode-map-alist' so +;; that `isearch-menu-bar-map' can show on the menu bar. +(or (assq 'isearch-mode minor-mode-map-alist) + (nconc minor-mode-map-alist + (list (cons 'isearch-mode isearch-mode-map)))) + (defvar-local isearch-mode nil) ;; Name of the minor mode, if non-nil. (define-key global-map "\C-s" 'isearch-forward) @@ -986,6 +1203,10 @@ isearch-mode isearch-original-minibuffer-message-timeout minibuffer-message-timeout minibuffer-message-timeout nil) + (if (local-variable-p 'tool-bar-map) + (setq isearch-tool-bar-old-map tool-bar-map)) + (setq-local tool-bar-map isearch-tool-bar-map) + ;; We must bypass input method while reading key. When a user type ;; printable character, appropriate input method is turned on in ;; minibuffer to read multibyte characters. @@ -1152,6 +1373,12 @@ isearch-done (setq input-method-function isearch-input-method-function) (kill-local-variable 'input-method-function)) + (if isearch-tool-bar-old-map + (progn + (setq-local tool-bar-map isearch-tool-bar-old-map) + (setq isearch-tool-bar-old-map nil)) + (kill-local-variable 'tool-bar-map)) + (force-mode-line-update) ;; If we ended in the middle of some intangible text, @@ -1184,9 +1411,17 @@ isearch-done (and (not edit) isearch-recursive-edit (exit-recursive-edit))) +(defvar isearch-mouse-commands '(mouse-minor-mode-menu) + "List of mouse commands that are allowed during Isearch.") + (defun isearch-mouse-leave-buffer () - "Exit Isearch unless the mouse command is allowed in Isearch." - (unless (eq (get this-command 'isearch-scroll) t) + "Exit Isearch unless the mouse command is allowed in Isearch. + +Mouse commands are allowed in Isearch if they have a non-nil +`isearch-scroll' property or if they are listed in +`isearch-mouse-commands'." + (unless (or (memq this-command isearch-mouse-commands) + (eq (get this-command 'isearch-scroll) t)) (isearch-done))) (defun isearch-update-ring (string &optional regexp) @@ -1454,7 +1689,11 @@ with-isearch-suspended ;; Reinvoke the pending search. (isearch-search) - (isearch-push-state) ; this pushes the correct state + ;; If no code has changed the search parameters, then pushing + ;; a new state of Isearch should not be necessary. + (unless (and isearch-cmds + (equal (car isearch-cmds) (isearch--get-state))) + (isearch-push-state)) ; this pushes the correct state (isearch-update) (if isearch-nonincremental (progn @@ -2540,7 +2779,12 @@ isearch-pre-command-hook ;; `set-transient-map' thingy like `universal-argument--mode'. ((not (eq overriding-terminal-local-map isearch--saved-overriding-local-map))) ;; Don't exit Isearch for isearch key bindings. - ((commandp (lookup-key isearch-mode-map key nil))) + ((or (commandp (lookup-key isearch-mode-map key nil)) + (commandp + (lookup-key + `(keymap (tool-bar menu-item nil ,isearch-tool-bar-map)) key)))) + ;; Allow key bindings that open a menubar. + ((memq this-command isearch-menu-bar-commands)) ;; Optionally edit the search string instead of exiting. ((eq search-exit-option 'edit) (setq this-command 'isearch-edit-string)) @@ -2604,7 +2848,8 @@ isearch-post-command-hook (when isearch-forward (goto-char isearch-pre-move-point)) (isearch-search-and-update))) - (setq isearch-pre-move-point nil)))) + (setq isearch-pre-move-point nil))) + (force-mode-line-update)) (defun isearch-quote-char (&optional count) "Quote special characters for incremental search. diff --git a/lisp/tmm.el b/lisp/tmm.el index ff62774..4e3f254 100644 --- a/lisp/tmm.el +++ b/lisp/tmm.el @@ -42,6 +42,23 @@ tmm-km-list (defvar tmm-next-shortcut-digit) (defvar tmm-table-undef) +(defun tmm-menubar-keymap () + "Return the current menu-bar keymap. + +The ordering of the return value respects `menu-bar-final-items'." + (let ((menu-bar '()) + (menu-end '())) + (map-keymap + (lambda (key binding) + (push (cons key binding) + ;; If KEY is the name of an item that we want to put last, + ;; move it to the end. + (if (memq key menu-bar-final-items) + menu-end + menu-bar))) + (tmm-get-keybind [menu-bar])) + `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end)))) + ;;;###autoload (define-key global-map "\M-`" 'tmm-menubar) ;;;###autoload (define-key global-map [menu-bar mouse-1] 'tmm-menubar-mouse) @@ -58,19 +75,8 @@ tmm-menubar (interactive) (run-hooks 'menu-bar-update-hook) ;; Obey menu-bar-final-items; put those items last. - (let ((menu-bar '()) - (menu-end '()) + (let ((menu-bar (tmm-menubar-keymap)) menu-bar-item) - (map-keymap - (lambda (key binding) - (push (cons key binding) - ;; If KEY is the name of an item that we want to put last, - ;; move it to the end. - (if (memq key menu-bar-final-items) - menu-end - menu-bar))) - (tmm-get-keybind [menu-bar])) - (setq menu-bar `(keymap ,@(nreverse menu-bar) ,@(nreverse menu-end))) (if x-position (let ((column 0) prev-key) @@ -154,7 +160,7 @@ tmm--completion-table (defvar tmm--history nil) ;;;###autoload -(defun tmm-prompt (menu &optional in-popup default-item) +(defun tmm-prompt (menu &optional in-popup default-item no-execute) "Text-mode emulation of calling the bindings in keymap. Creates a text-mode menu of possible choices. You can access the elements in the menu in two ways: @@ -165,7 +171,9 @@ tmm-prompt MENU is like the MENU argument to `x-popup-menu': either a keymap or an alist of alists. DEFAULT-ITEM, if non-nil, specifies an initial default choice. -Its value should be an event that has a binding in MENU." +Its value should be an event that has a binding in MENU. +NO-EXECUTE, if non-nil, means to return the command the user selects +instead of executing it." ;; If the optional argument IN-POPUP is t, ;; then MENU is an alist of elements of the form (STRING . VALUE). ;; That is used for recursive calls only. @@ -268,7 +276,7 @@ tmm-prompt ;; We just did the inner level of a -popup menu. choice) ;; We just did the outer level. Do the inner level now. - (not-menu (tmm-prompt choice t)) + (not-menu (tmm-prompt choice t nil no-execute)) ;; We just handled a menu keymap and found another keymap. ((keymapp choice) (if (symbolp choice) @@ -276,11 +284,11 @@ tmm-prompt (condition-case nil (require 'mouse) (error nil)) - (tmm-prompt choice)) + (tmm-prompt choice nil nil no-execute)) ;; We just handled a menu keymap and found a command. (choice (if chosen-string - (progn + (if no-execute choice (setq last-command-event chosen-string) (call-interactively choice)) choice))))) From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 22 17:04:08 2018 Received: (at 32990) by debbugs.gnu.org; 22 Nov 2018 22:04:08 +0000 Received: from localhost ([127.0.0.1]:42775 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPx4y-00054u-Kw for submit@debbugs.gnu.org; Thu, 22 Nov 2018 17:04:08 -0500 Received: from golden.birch.relay.mailchannels.net ([23.83.209.73]:16941) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gPx4w-00054m-V3 for 32990@debbugs.gnu.org; Thu, 22 Nov 2018 17:04:07 -0500 X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from relay.mailchannels.net (localhost [127.0.0.1]) by relay.mailchannels.net (Postfix) with ESMTP id A2B41124E36; Thu, 22 Nov 2018 22:04:05 +0000 (UTC) Received: from pdx1-sub0-mail-a37.g.dreamhost.com (unknown [100.96.11.179]) (Authenticated sender: dreamhost) by relay.mailchannels.net (Postfix) with ESMTPA id 606A5124E3C; Thu, 22 Nov 2018 22:04:05 +0000 (UTC) X-Sender-Id: dreamhost|x-authsender|jurta@jurta.org Received: from pdx1-sub0-mail-a37.g.dreamhost.com (pop.dreamhost.com [64.90.62.162]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384) by 0.0.0.0:2500 (trex/5.16.2); Thu, 22 Nov 2018 22:04:05 +0000 X-MC-Relay: Neutral X-MailChannels-SenderId: dreamhost|x-authsender|jurta@jurta.org X-MailChannels-Auth-Id: dreamhost X-Macabre-Tank: 0cd1466819d7152d_1542924245481_3228283514 X-MC-Loop-Signature: 1542924245480:360649364 X-MC-Ingress-Time: 1542924245480 Received: from pdx1-sub0-mail-a37.g.dreamhost.com (localhost [127.0.0.1]) by pdx1-sub0-mail-a37.g.dreamhost.com (Postfix) with ESMTP id 236387FE69; Thu, 22 Nov 2018 14:04:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=linkov.net; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=linkov.net; bh=obXZ8AvLbeJTyEcmAkH+7SKrCS8=; b= C1HN+WPXGJ4OMtZtNk/anj+5q9NNFR66cpzFMbeTLnconT8AcwPN0wgmTlR41N/S XmDX0w08FdsmQFp9Wue/mPgtU6EARTaRFp3dOkYCa4CeqKVwzV37KSsYut6YPNGP wEWDlGU8y1COigelc9nd2NhErhTTA3EL0cEoA7VyScw= Received: from mail.jurta.org (m91-129-105-252.cust.tele2.ee [91.129.105.252]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) (Authenticated sender: jurta@jurta.org) by pdx1-sub0-mail-a37.g.dreamhost.com (Postfix) with ESMTPSA id 806F57FE67; Thu, 22 Nov 2018 14:04:01 -0800 (PST) X-DH-BACKEND: pdx1-sub0-mail-a37 From: Juri Linkov To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc Organization: LINKOV.NET References: <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> Date: Thu, 22 Nov 2018 23:59:53 +0200 In-Reply-To: (Charles A. Roelli's message of "Thu, 22 Nov 2018 21:29:25 +0100") Message-ID: <8736rsixie.fsf@mail.linkov.net> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-VR-OUT-STATUS: OK X-VR-OUT-SCORE: -100 X-VR-OUT-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedtkedruddtledgudehiecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucggtfgfnhhsuhgsshgtrhhisggvpdfftffgtefojffquffvnecuuegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjughrpefhvffuohhfffgjkfgfgggtsehttdertddtredtnecuhfhrohhmpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqnecukfhppeeluddruddvledruddthedrvdehvdenucfrrghrrghmpehmohguvgepshhmthhppdhhvghlohepmhgrihhlrdhjuhhrthgrrdhorhhgpdhinhgvthepledurdduvdelrddutdehrddvhedvpdhrvghtuhhrnhdqphgrthhhpefluhhrihcunfhinhhkohhvuceojhhurhhisehlihhnkhhovhdrnhgvtheqpdhmrghilhhfrhhomhepjhhurhhisehlihhnkhhovhdrnhgvthdpnhhrtghpthhtoheptghhrghrlhgvshesrghurhhogidrtghhnecuvehluhhsthgvrhfuihiivgeptd X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: eliz@gnu.org, 32990@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 (-) > Done, thanks. I'm attaching the latest change again. Thanks for these changes. I tried again and it works great. Please push your patch unless Eli has more comments. From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 23 03:17:09 2018 Received: (at 32990) by debbugs.gnu.org; 23 Nov 2018 08:17:09 +0000 Received: from localhost ([127.0.0.1]:42974 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQ6eD-0002vZ-AZ for submit@debbugs.gnu.org; Fri, 23 Nov 2018 03:17:09 -0500 Received: from eggs.gnu.org ([208.118.235.92]:54604) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQ6eB-0002vL-08 for 32990@debbugs.gnu.org; Fri, 23 Nov 2018 03:17:07 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQ6e2-0008N6-U9 for 32990@debbugs.gnu.org; Fri, 23 Nov 2018 03:17:02 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:40225) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQ6e2-0008Mj-Qq; Fri, 23 Nov 2018 03:16:58 -0500 Received: from [176.228.60.248] (port=3409 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gQ6e2-0007bS-Cv; Fri, 23 Nov 2018 03:16:58 -0500 Date: Fri, 23 Nov 2018 10:17:14 +0200 Message-Id: <838t1kgqd1.fsf@gnu.org> From: Eli Zaretskii To: Juri Linkov In-reply-to: <8736rsixie.fsf@mail.linkov.net> (message from Juri Linkov on Thu, 22 Nov 2018 23:59:53 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> <8736rsixie.fsf@mail.linkov.net> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@debbugs.gnu.org, charles@aurox.ch 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: -6.0 (------) > From: Juri Linkov > Cc: eliz@gnu.org, 32990@debbugs.gnu.org > Date: Thu, 22 Nov 2018 23:59:53 +0200 > > > Done, thanks. I'm attaching the latest change again. > > Thanks for these changes. I tried again and it works great. > Please push your patch unless Eli has more comments. No further comments from me, thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 24 06:22:56 2018 Received: (at 32990) by debbugs.gnu.org; 24 Nov 2018 11:22:56 +0000 Received: from localhost ([127.0.0.1]:44835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQW1Y-0003oY-2D for submit@debbugs.gnu.org; Sat, 24 Nov 2018 06:22:56 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:39890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQW1V-0003oK-DU for 32990@debbugs.gnu.org; Sat, 24 Nov 2018 06:22:54 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id 00518229B3 for <32990@debbugs.gnu.org>; Sat, 24 Nov 2018 11:27:36 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1543058855; x=1543922856; bh=gf xdsKqpHv7DCfRr968CSGiIwrcfyUzHznDEEidPREI=; b=ll7rP58Y1F3W+X+p4d bczYw7+/ktTzGxQZKlBV7TUQJhx95FGq9dAT03cwdx/0AdSkmKx+mQsnOob5TKBY V7hrVaQ7+Nyso17ITg3dffoIe9S6BM2Eo+d5PzJYahJTtK/nF1UOwM4A2Rf4Pdkz uMA+8A7qZwDJew1PWAnrCRTfI= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Rn2DUU52YRCO for <32990@debbugs.gnu.org>; Sat, 24 Nov 2018 11:27:35 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id 1FB132296D; Sat, 24 Nov 2018 11:27:34 +0000 (UTC) Date: Sat, 24 Nov 2018 12:25:01 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <838t1kgqd1.fsf@gnu.org> (message from Eli Zaretskii on Fri, 23 Nov 2018 10:17:14 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> <8736rsixie.fsf@mail.linkov.net> <838t1kgqd1.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Fri, 23 Nov 2018 10:17:14 +0200 > From: Eli Zaretskii > CC: charles@aurox.ch, 32990@debbugs.gnu.org > > > From: Juri Linkov > > Cc: eliz@gnu.org, 32990@debbugs.gnu.org > > Date: Thu, 22 Nov 2018 23:59:53 +0200 > > > > > Done, thanks. I'm attaching the latest change again. > > > > Thanks for these changes. I tried again and it works great. > > Please push your patch unless Eli has more comments. > > No further comments from me, thanks. Thanks for reviewing. Should I also add a NEWS entry, as follows? diff --git a/etc/NEWS b/etc/NEWS index f413bbe..a822704 100644 --- a/etc/NEWS +++ b/etc/NEWS @@ -687,6 +687,9 @@ the shift key. *** Isearch now remembers the regexp-based search mode for words/symbols and case-sensitivity together with search strings in the search ring. +--- +*** Isearch now has its own tool-bar and menu-bar menu. + ** Debugger +++ From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 24 06:45:05 2018 Received: (at 32990) by debbugs.gnu.org; 24 Nov 2018 11:45:05 +0000 Received: from localhost ([127.0.0.1]:44840 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQWMy-0004P8-IW for submit@debbugs.gnu.org; Sat, 24 Nov 2018 06:45:05 -0500 Received: from eggs.gnu.org ([208.118.235.92]:50814) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQWMv-0004OA-QC for 32990@debbugs.gnu.org; Sat, 24 Nov 2018 06:45:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gQWMm-0001x8-7Q for 32990@debbugs.gnu.org; Sat, 24 Nov 2018 06:44:56 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.5 required=5.0 tests=BAYES_05 autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:56239) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gQWMm-0001wy-4M; Sat, 24 Nov 2018 06:44:52 -0500 Received: from [176.228.60.248] (port=3838 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gQWMl-0005D4-Pc; Sat, 24 Nov 2018 06:44:52 -0500 Date: Sat, 24 Nov 2018 13:44:50 +0200 Message-Id: <83tvk6k8ct.fsf@gnu.org> From: Eli Zaretskii To: charles@aurox.ch In-reply-to: (charles@aurox.ch) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> <8736rsixie.fsf@mail.linkov.net> <838t1kgqd1.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: -6.0 (------) > Date: Sat, 24 Nov 2018 12:25:01 +0100 > From: charles@aurox.ch (Charles A. Roelli) > CC: juri@linkov.net, 32990@debbugs.gnu.org > > Thanks for reviewing. Should I also add a NEWS entry, as follows? > > > > diff --git a/etc/NEWS b/etc/NEWS > index f413bbe..a822704 100644 > --- a/etc/NEWS > +++ b/etc/NEWS > @@ -687,6 +687,9 @@ the shift key. > *** Isearch now remembers the regexp-based search mode for words/symbols > and case-sensitivity together with search strings in the search ring. > > +--- > +*** Isearch now has its own tool-bar and menu-bar menu. > + LGTM, thanks. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 24 07:49:09 2018 Received: (at 32990) by debbugs.gnu.org; 24 Nov 2018 12:49:09 +0000 Received: from localhost ([127.0.0.1]:44859 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQXMz-00081D-FT for submit@debbugs.gnu.org; Sat, 24 Nov 2018 07:49:09 -0500 Received: from sinyavsky.aurox.ch ([37.35.109.145]:39979) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gQXMx-00080q-96 for 32990@debbugs.gnu.org; Sat, 24 Nov 2018 07:49:07 -0500 Received: from sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) by sinyavsky.aurox.ch (Postfix) with ESMTP id C92CE229AE for <32990@debbugs.gnu.org>; Sat, 24 Nov 2018 12:53:50 +0000 (UTC) Authentication-Results: sinyavsky.aurox.ch (amavisd-new); dkim=pass reason="pass (just generated, assumed good)" header.d=aurox.ch DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aurox.ch; h= references:reply-to:subject:subject:in-reply-to:to:from:from :message-id:date:date; s=dkim; t=1543064030; x=1543928031; bh=fE F+JG1q31DOAlVFpJ/wla6BbT+R/7oFzyi/asR6luY=; b=O+H0pRpgqEQwTrawPF nnHCES4VLELaRlSNdIE8OGhdQVmkA7RuD55KZUgKzVMeL/8OWzCcwK+1DmqC1PT3 ZfgqtvJKdJQlo/dV2HMQMJIR0eon84x0lI0SjZl+WiJXlOha/Id2hAnrXFnNOpvp C5wNHy53XlnV1OZ/8QzNtu3Hw= X-Virus-Scanned: Debian amavisd-new at test.virtualizor.com Received: from sinyavsky.aurox.ch ([127.0.0.1]) by sinyavsky.aurox.ch (sinyavsky.aurox.ch [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id 3FW3Ph3ufz2d for <32990@debbugs.gnu.org>; Sat, 24 Nov 2018 12:53:50 +0000 (UTC) Received: from gray (unknown [IPv6:2a02:1205:34ff:bc50:c62c:3ff:fe30:b864]) by sinyavsky.aurox.ch (Postfix) with ESMTPSA id D9E92228C2; Sat, 24 Nov 2018 12:53:49 +0000 (UTC) Date: Sat, 24 Nov 2018 13:51:31 +0100 Message-Id: From: charles@aurox.ch (Charles A. Roelli) To: Eli Zaretskii In-reply-to: <83tvk6k8ct.fsf@gnu.org> (message from Eli Zaretskii on Sat, 24 Nov 2018 13:44:50 +0200) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <83woqrx9pt.fsf@gnu.org> <835zy3tfrb.fsf@gnu.org> <83bm7pueej.fsf@gnu.org> <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> <8736rsixie.fsf@mail.linkov.net> <838t1kgqd1.fsf@gnu.org> <83tvk6k8ct.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 32990 Cc: 32990@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: , Reply-To: charles@aurox.ch Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 24 Nov 2018 13:44:50 +0200 > From: Eli Zaretskii > > > diff --git a/etc/NEWS b/etc/NEWS > > index f413bbe..a822704 100644 > > --- a/etc/NEWS > > +++ b/etc/NEWS > > @@ -687,6 +687,9 @@ the shift key. > > *** Isearch now remembers the regexp-based search mode for words/symbols > > and case-sensitivity together with search strings in the search ring. > > > > +--- > > +*** Isearch now has its own tool-bar and menu-bar menu. > > + > > LGTM, thanks. Great, it's now pushed. From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 01 20:22:18 2019 Received: (at 32990) by debbugs.gnu.org; 2 Apr 2019 00:22:18 +0000 Received: from localhost ([127.0.0.1]:40111 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hB7By-0004ft-3h for submit@debbugs.gnu.org; Mon, 01 Apr 2019 20:22:18 -0400 Received: from mail-qt1-f176.google.com ([209.85.160.176]:34765) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1hB7Bw-0004fb-1s; Mon, 01 Apr 2019 20:22:16 -0400 Received: by mail-qt1-f176.google.com with SMTP id k2so13279741qtm.1; Mon, 01 Apr 2019 17:22:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version; bh=6Db594ExgCJ38vtgauw1YPOmml/rLdQXxK9JPTTrsJY=; b=tJd2V0Ug5t5/LWm6C7H0BHqioT84waPObYPdKalziwc7ds9nx1HLTHKokHKt8hPr1x mLiJ19Dj/L7BYFcjnm+zdIoiNxKT9fQJrRqKjMbY/IkD8o/YSV+kNR4+uxLpLQZxCzpE IQlTiYwX3Oul8OV4jMgFGMhjPqAn98P+KpuAq08/K8cBEongzjmwAHPuOIld5ZxAAGDy OIe+5/Jlzai5k4/XiqPVE8D4vF6n3Mop1vw3TmjxD7A2f3KHSOPTE0yawlmv1rw89wup bKaQQyS8jS5XuXllaAZ3JigHWHZ41Ot+sAVyjVGrGt0eIQJ2J3a2wgoA4qxcvW5Qvm0A yNdw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=6Db594ExgCJ38vtgauw1YPOmml/rLdQXxK9JPTTrsJY=; b=HBPQTcGbSqUNL/Mj0s289Km+jEwL/NZeCMwfTcMIllq+TOdyjPJ4PKyr4gl1ruWrOc wxHfO79C4wzS6MNn9/neZZTz9cAQA94IgPUyDazXbK65xZy4Rjj6Cmyt3Vd8XpafV5qt nQNu3y0E0s2qWdrDRlZ4QAgytT/D0snI81lh/Krozbrc9GCkRO52tAsHliZgNycsZL4g yl/h0aJnv/gk5U9Jg9MxWo5vSSQbjt3aPk1wsWaCU5JX/N0WsFoMHo7oOWOgD75ix9US 730FsgHCeAOcay2CuV9W2kZ6zj1uaDVsQhiAubGWMAjVtylw63eAjhFbMGlVIiAlugHs Wwsw== X-Gm-Message-State: APjAAAXR1qIcEQct5CsmzhgGMu7rj09KMSdt1wbN+esJ9VsXtpESvWya TOI/J0EH3X1mCc87hHWyT36RHD7v X-Google-Smtp-Source: APXvYqx6DixSVEErLXbmLeip5imHKeHZhPtKvqPOb4Gamyddzo7cR4Vv68RAPGc8E9rMsPPqhTgbOQ== X-Received: by 2002:a0c:a8e7:: with SMTP id h39mr37735083qvc.34.1554164530069; Mon, 01 Apr 2019 17:22:10 -0700 (PDT) Received: from minid (cbl-45-2-119-34.yyz.frontiernetworks.ca. [45.2.119.34]) by smtp.googlemail.com with ESMTPSA id a19sm6707444qtk.35.2019.04.01.17.22.08 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 01 Apr 2019 17:22:08 -0700 (PDT) From: Noam Postavsky To: charles@aurox.ch (Charles A. Roelli) Subject: Re: bug#32990: 26.1.50; isearch-forward + t-m-m/mark-active doc References: <834ld6m5jk.fsf@gnu.org> <831s7tauzy.fsf@gnu.org> <87sgzzwisx.fsf@mail.linkov.net> <87o9ak4ttv.fsf@mail.linkov.net> <87wop6f4fi.fsf@mail.linkov.net> <8736rsixie.fsf@mail.linkov.net> <838t1kgqd1.fsf@gnu.org> <83tvk6k8ct.fsf@gnu.org> Date: Mon, 01 Apr 2019 20:22:07 -0400 In-Reply-To: (Charles A. Roelli's message of "Sat, 24 Nov 2018 13:51:31 +0100") Message-ID: <87r2algssw.fsf@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1.91 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 32990 Cc: Eli Zaretskii , 32990@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: -1.0 (-) close 32990 26.2 quit charles@aurox.ch (Charles A. Roelli) writes: > > Great, it's now pushed. Sounds like this is finished, closing. From unknown Fri Jun 20 07:16:19 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 30 Apr 2019 11:24:06 +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