From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Michael Heerdegen Newsgroups: gmane.emacs.help Subject: Re: [External] : Re: Package cl is deprecated Date: Sat, 31 Jul 2021 03:34:11 +0200 Message-ID: <87fsvv2rn0.fsf@web.de> References: <874kceadmj.fsf@t14.reltub.ca> <83fsvytude.fsf@gnu.org> <87r1fi8qor.fsf@t14.reltub.ca> <83y29qs31w.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="32361"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) To: help-gnu-emacs@gnu.org Cancel-Lock: sha1:76y7+PMQ9T6mOi34C9PsbnLaf4E= Original-X-From: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Sat Jul 31 03:34:55 2021 Return-path: Envelope-to: geh-help-gnu-emacs@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 1m9dtv-00089d-Db for geh-help-gnu-emacs@m.gmane-mx.org; Sat, 31 Jul 2021 03:34:55 +0200 Original-Received: from localhost ([::1]:34818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1m9dtt-0000Vk-CE for geh-help-gnu-emacs@m.gmane-mx.org; Fri, 30 Jul 2021 21:34:53 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56758) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m9dtQ-0000TW-K7 for help-gnu-emacs@gnu.org; Fri, 30 Jul 2021 21:34:24 -0400 Original-Received: from ciao.gmane.io ([116.202.254.214]:45378) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1m9dtP-0005bo-37 for help-gnu-emacs@gnu.org; Fri, 30 Jul 2021 21:34:24 -0400 Original-Received: from list by ciao.gmane.io with local (Exim 4.92) (envelope-from ) id 1m9dtL-0007S7-Ni for help-gnu-emacs@gnu.org; Sat, 31 Jul 2021 03:34:19 +0200 X-Injected-Via-Gmane: http://gmane.org/ Received-SPF: pass client-ip=116.202.254.214; envelope-from=geh-help-gnu-emacs@m.gmane-mx.org; helo=ciao.gmane.io X-Spam_score_int: -13 X-Spam_score: -1.4 X-Spam_bar: - X-Spam_report: (-1.4 / 5.0 requ) BAYES_00=-1.9, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.248, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: help-gnu-emacs@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Users list for the GNU Emacs text editor List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: help-gnu-emacs-bounces+geh-help-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "help-gnu-emacs" Xref: news.gmane.io gmane.emacs.help:132205 Archived-At: Hongyi Zhao writes: > > (require[ > > ]+[.][ > > ]+cl) > > Thank you for showing me this pattern. TBF, it seems to me that the > syntax of line spanning match pattern is very strange. It would be > nice if there were some explanation for how to build this pattern. I suggest to use "xr" which is the reverse of `rx' which is a thing that allows to construct regular expressions from a simple and well documented symbolic description language (see doc of `rx'). So (xr "(require[ ]+[.][ ]+cl)") ==> (seq "(require" (one-or-more (any "\n ")) "." (one-or-more (any "\n ")) "cl)") As mentioned, see the help of `rx' to see what any part means, though it's already quite readable. Note that for regexp searching there is no Lisp interpreter involved that would read your input string. What you type is used directly, which means that \n does not match a newline (but instead the character "n"). That's why the search pattern includes real newlines. This is bit confusing at the beginning, anyway, that's already all, you can do it ;-) Michael.