From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Juri Linkov Newsgroups: gmane.emacs.devel Subject: Re: Simple isearch concerns Date: Fri, 30 Apr 2021 02:00:10 +0300 Organization: LINKOV.NET Message-ID: <87v98466it.fsf@mail.linkov.net> References: <20210403001539.x4rb55dvh46rmhb3.ref@Ergus> <20210403001539.x4rb55dvh46rmhb3@Ergus> <2599ffef-4f70-025c-5f9c-61b9ac94faf8@inventati.org> <87eefrbo9k.fsf@posteo.net> <7473b27b2b479f5686af@heytings.org> <87tuon9vf1.fsf@posteo.net> <20210403174508.xwr5uc36dzityitn@Ergus> <87wnsurdr7.fsf@gmail.com> <87fszij6to.fsf@mail.linkov.net> <87v98asulc.fsf@gmail.com> <87pmyimiwd.fsf@mail.linkov.net> <87bla11u5q.fsf@gmail.com> <87lf937hgk.fsf@mail.linkov.net> <87y2d1ksga.fsf@mail.linkov.net> <87r1it7zfw.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="14079"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) Cc: Philip Kaludercic , Gregory Heytings , Manuel Uberti , Ergus , emacs-devel@gnu.org To: Augusto Stoffel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 30 01:23:08 2021 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lcFzw-0003Wt-7m for ged-emacs-devel@m.gmane-mx.org; Fri, 30 Apr 2021 01:23:08 +0200 Original-Received: from localhost ([::1]:35654 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lcFzv-0007Yw-BZ for ged-emacs-devel@m.gmane-mx.org; Thu, 29 Apr 2021 19:23:07 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:46958) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcFww-0005Eb-49 for emacs-devel@gnu.org; Thu, 29 Apr 2021 19:20:02 -0400 Original-Received: from relay7-d.mail.gandi.net ([217.70.183.200]:55953) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lcFwp-0000eu-Pl for emacs-devel@gnu.org; Thu, 29 Apr 2021 19:20:01 -0400 X-Originating-IP: 91.129.102.166 Original-Received: from mail.gandi.net (m91-129-102-166.cust.tele2.ee [91.129.102.166]) (Authenticated sender: juri@linkov.net) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id 24CC820002; Thu, 29 Apr 2021 23:19:50 +0000 (UTC) In-Reply-To: <87r1it7zfw.fsf@gmail.com> (Augusto Stoffel's message of "Thu, 29 Apr 2021 19:50:11 +0200") Received-SPF: pass client-ip=217.70.183.200; envelope-from=juri@linkov.net; helo=relay7-d.mail.gandi.net X-Spam_score_int: -25 X-Spam_score: -2.6 X-Spam_bar: -- X-Spam_report: (-2.6 / 5.0 requ) BAYES_00=-1.9, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:268644 Archived-At: >> Actually, overriding-local-map can't be used, because it prioritizes >> global-map over local maps, so e.g. in Dired typing C-o exits isearch >> and calls open-line instead of dired-display-file. >> >> According to (info "(elisp) Searching Keymaps"), the next available keymap is >> emulation-mode-map-alists. The following patch added a single line: >> >> (add-to-list 'emulation-mode-map-alists `((isearch-mode . ,isearch-mode-map))) >> >> then removed all mentions of overriding-terminal-local-map, >> removed all 156 lines of the monstrous macro with-isearch-suspended, >> added a single line to the end of isearch-edit-string: >> >> (isearch-search-and-update) >> >> and then M-e edits the search string without exiting isearch. And it's >> trivial to use isearch commands without exiting the minibuffer with e.g. >> >> (with-minibuffer-selected-window (isearch-repeat-forward)) >> >> And everything works fine. It's too good to be true, >> but I don't see where's the catch. > > This seems promising, and actually not too different from the experiment > I mentioned a few messages back: https://github.com/astoff/isearch-mb/ > > I've been using it for some time without problems. Thanks for the experiment that demonstrates how it's possible to implement this feature for all Emacs versions. Now the question is whether it's worth to have this feature in isearch.el where adding it will allow simplifications. What would be good customization options for that? I imagine a new boolean option 'isearch-buffer-local'. Maybe later it would require a new value to support even multiple isearch sessions in different buffers. In this case, all state variables like isearch-cmds, isearch-lazy-highlight-overlays etc. could be made buffer-local.