From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Dmitry Gutov Newsgroups: gmane.emacs.bugs Subject: bug#31796: 27.1; dired-do-find-regexp-and-replace fails to find multiline regexps Date: Tue, 1 Dec 2020 17:20:47 +0200 Message-ID: <21c9d43c-9972-bf22-17a4-df95cdf0091e@yandex.ru> References: <10120030-8b8d-b702-add4-8f099f934ed5@chalmers.se> <831rgivl7l.fsf@gnu.org> <83lfequ30g.fsf@gnu.org> <83a6v6tss9.fsf@gnu.org> <08c0bbce-051e-7a49-106a-d6d0629b2224@yandex.ru> <834kl6lv5f.fsf@gnu.org> <43b0d5df-a4e7-e8a7-d6cf-5dc6bc7a52cf@yandex.ru> <87czzudk6p.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="26496"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 Cc: abela@chalmers.se, 31796@debbugs.gnu.org, Jean Louis To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Dec 01 16:21:24 2020 Return-path: Envelope-to: geb-bug-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 1kk7T1-0006lo-V1 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 01 Dec 2020 16:21:23 +0100 Original-Received: from localhost ([::1]:56878 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kk7T0-0006B2-W3 for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 01 Dec 2020 10:21:23 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:32910) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kk7Sg-0006A2-Co for bug-gnu-emacs@gnu.org; Tue, 01 Dec 2020 10:21:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:49637) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kk7Sg-0003qh-5Q for bug-gnu-emacs@gnu.org; Tue, 01 Dec 2020 10:21:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1kk7Sg-0005xw-0t for bug-gnu-emacs@gnu.org; Tue, 01 Dec 2020 10:21:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Dmitry Gutov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 01 Dec 2020 15:21:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 31796 X-GNU-PR-Package: emacs Original-Received: via spool by 31796-submit@debbugs.gnu.org id=B31796.160683605922917 (code B ref 31796); Tue, 01 Dec 2020 15:21:01 +0000 Original-Received: (at 31796) by debbugs.gnu.org; 1 Dec 2020 15:20:59 +0000 Original-Received: from localhost ([127.0.0.1]:32950 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kk7Sc-0005xZ-Ro for submit@debbugs.gnu.org; Tue, 01 Dec 2020 10:20:59 -0500 Original-Received: from mail-wr1-f46.google.com ([209.85.221.46]:45904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kk7Sa-0005xJ-MO for 31796@debbugs.gnu.org; Tue, 01 Dec 2020 10:20:57 -0500 Original-Received: by mail-wr1-f46.google.com with SMTP id t4so3157472wrr.12 for <31796@debbugs.gnu.org>; Tue, 01 Dec 2020 07:20:56 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=iZGgHPbGZwMiUAjYbCsXDx/rbeTRYmrl6NPJWLRoahU=; b=MaGBmEfHRDVrprmQDtEaJVjqUGg6nhgm7voaiiyfAEEz1/wkGHIgAl9MZ0CpuaiQc0 3W3Yaudzb5LrJMCPiFQDVZ9aa/vDdfTZpkObYiTgZOUcwS2kRyyleLhk7+miuoe4lslk U0KxGAl+tVvmxrnSYL+oQKaOdUYob59uSIlvO4Mc6RNqjyIIDh08xlmFaBKC71gF1OxD zCOslKZGEn66lX8vDNA3kQFuNJEa+GL7pWSSHhASHebD0bPhmoZmCOdxqX7DoaPLgu/U AahpMnlQNbczk2RKu06LwetVS/5Pl3bKLvCIVUprgr+h+hsfaEocYUeZOaNegu5Ar0/V 7KPw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:cc:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=iZGgHPbGZwMiUAjYbCsXDx/rbeTRYmrl6NPJWLRoahU=; b=BNpTLohN/+rtMMcQCFrGqLrQn1FBFJW91YHK7qElD0blMzKutirmdPGUK29mbOt+mD EFGnaQHZGhsSrwJAgqOWqFX/+iOdbu2c4Cle3vkH0cPCAL5A2AhnFmR3vWQ/QjSjiP8l ou2fY9Asj6JtxGpAKNoso8Gbquy0prGmu3zlHWj6tSZYWh20G8J76bvE80UcYHCMaO3J +TTrKGtJyfXuwXzg9OGhZnfeZmwtDJ/vByDJD2ZI6UsEc0vVm3n6ebbMdP7wOXhC9spC rL8pz5DZ09ZX3vdYNXDDfq/FR71Knqeym04JjYsUBpom2hZ621bT3gI3n3PoORaMS6mq icyg== X-Gm-Message-State: AOAM532Qd0bjs4YHQceAoqjbjVapHR+EbZxgPjoOjmRMOQM11IBioqER weynEoSgQm/AO3km56w/3MTyTGXo+CK9nA== X-Google-Smtp-Source: ABdhPJyzMV4l7mW1fVNpMIP6p4t2cpJwmyFuu6LbmBuY+3L8OsJtWv97+fbWuNOTctDFjZxJdxnPQw== X-Received: by 2002:adf:f98a:: with SMTP id f10mr4579285wrr.154.1606836050592; Tue, 01 Dec 2020 07:20:50 -0800 (PST) Original-Received: from [192.168.0.4] ([66.205.71.3]) by smtp.googlemail.com with ESMTPSA id d13sm4109133wrb.39.2020.12.01.07.20.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 01 Dec 2020 07:20:49 -0800 (PST) In-Reply-To: <87czzudk6p.fsf@mail.linkov.net> Content-Language: en-US X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:194742 Archived-At: On 01.12.2020 10:36, Juri Linkov wrote: >>> It is possible to combine with sed: >>> https://www.gnu.org/software/sed/manual/html_node/Text-search-across-multiple-lines.html >>> https://www.gnu.org/software/sed/manual/html_node/Multiline-techniques.html#Multiline-techniques >> >> It's pretty much Chinese to me, sorry. > > When I need to grep in multi-line mode I use Ruby, but its modifiers > differ from Perl: > > https://regular-expressions.mobi/ruby.html > /m makes the dot match newlines. Ruby indeed uses /m, whereas Perl and > many other programming languages use /s for “dot matches newlines”. > > https://www.regular-expressions.info/modifiers.html > (?s) for “single line mode” makes the dot match all characters, > including line breaks. Not supported by Ruby or JavaScript. > (?m) for “multi-line mode” makes the caret and dollar match at the start > and end of each line in the subject string. In Ruby, (?m) makes the > dot match all characters, without affecting the caret and dollar which > always match at the start and end of each line in Ruby. Ruby's much easier for me, of course, but it doesn't have the same advantage of ubiquity that awk (and, to a lesser extent, perl) have. Either way, someone would need to write that script.