From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Stefan Monnier Newsgroups: gmane.emacs.devel Subject: Re: [PATCH] Handle case where `beg` and `end` are strings instead of markers Date: Fri, 29 Apr 2022 17:05:11 -0400 Message-ID: References: <87k0b84tfr.fsf@occasionallycogent.com> <87h76c4ruf.fsf@occasionallycogent.com> <86sfpwwerz.fsf@mail.linkov.net> <87czh03xa9.fsf@occasionallycogent.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="29205"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux) Cc: Juri Linkov , emacs-devel@gnu.org To: James N. V. Cash Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Fri Apr 29 23:06:05 2022 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 1nkXoT-0007Kp-Au for ged-emacs-devel@m.gmane-mx.org; Fri, 29 Apr 2022 23:06:05 +0200 Original-Received: from localhost ([::1]:47440 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nkXoS-0007Bo-3k for ged-emacs-devel@m.gmane-mx.org; Fri, 29 Apr 2022 17:06:04 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:53378) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nkXni-0006Vj-U0 for emacs-devel@gnu.org; Fri, 29 Apr 2022 17:05:18 -0400 Original-Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:27070) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nkXng-00063f-7Z for emacs-devel@gnu.org; Fri, 29 Apr 2022 17:05:17 -0400 Original-Received: from pmg3.iro.umontreal.ca (localhost [127.0.0.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id C27E04424D3; Fri, 29 Apr 2022 17:05:14 -0400 (EDT) Original-Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg3.iro.umontreal.ca (Proxmox) with ESMTP id 874404424CF; Fri, 29 Apr 2022 17:05:13 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1651266313; bh=83NLyxmjfDELMkKnXkYcOhmJWRfp4HFYjYDjVNmM3Lw=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=hlDgc44sd2B+r0gxVxsmw1Xo5exh7fcEAjBr/DklHcMUh7qqk1ThyRmmrlz3k/uhK Sk301MpBEITZbIlr6Ie/eKppLyjJMcTWjgUFlK//nW9MQqQcQd6EV8x8g1ktlWPVGy CEo6PFueiPb5R94V+IdzT3iYE7UwLCo5MIiuk282xnIybmhaB3Kwpiy54dCtdCnLUj Jz5G0ky9zP3ClErtbMerlSabAmIDyFyNXn2i3Ai4KcYPbpZP5hF+4/q0KOgjCUbbi/ P2j1Uvii9GCGNAyyo/uqhvzeclUZTvK8JzudX/gYP3VrnViXo6zPqXELnGlhcdxEFw apGNWCVsY+CZw== Original-Received: from alfajor (modemcable063.211-21-96.mc.videotron.ca [96.21.211.63]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 44BA91201A7; Fri, 29 Apr 2022 17:05:13 -0400 (EDT) In-Reply-To: (Stefan Monnier's message of "Fri, 29 Apr 2022 08:55:52 -0400") Received-SPF: pass client-ip=132.204.25.50; envelope-from=monnier@iro.umontreal.ca; helo=mailscanner.iro.umontreal.ca X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 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:289021 Archived-At: >> + (let ((beg (if (number-or-marker-p beg) >> + beg >> + (save-excursion >> + (goto-char (minibuffer-prompt-end)) >> + (search-forward beg)))) >> + (end (if (number-or-marker-p end) >> + end >> + (save-excursion >> + (goto-char (point-max)) >> + (search-backward end))))) > > What if there are several matches for `beg` and/or for `end` in > the buffer? How do we know we got the intended one? IIUC part of the purpose of using strings rather than positions is to account for the case where the text was modified between the moment the *Completions* list was created and the moment the user selects one of the options. So another question is what to do if the search fails (the above code signals an error in that case, which is probably not what we want). Stefan