From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Paul Eggert Newsgroups: gmane.emacs.devel Subject: Re: icalendar.el bug fix patch Date: Sun, 3 Nov 2019 16:50:10 -0800 Organization: UCLA Computer Science Department Message-ID: <197e1e7e-5cdc-f91d-bc1d-23fe10de8897@cs.ucla.edu> References: <875zkfd1rz.fsf@hm.sivalik.com> <83eeyslytn.fsf@gnu.org> <87imo3g8af.fsf@hm.sivalik.com> <831rurn3vs.fsf@gnu.org> <321C5595-5EBF-4231-9179-FE1CA4A412F7@acm.org> <83tv7nlo16.fsf@gnu.org> <34fad408-c220-7980-c7fe-1299093d842f@cs.ucla.edu> <871ruq88yp.fsf@mail.linkov.net> <87bltsisui.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: quoted-printable Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="199801"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.9.0 Cc: rajeev@sivalik.com, Eli Zaretskii , emacs-devel@gnu.org, Juri Linkov To: =?UTF-8?Q?Mattias_Engdeg=c3=a5rd?= , Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Mon Nov 04 01:50:28 2019 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1iRQZe-000ppJ-5b for ged-emacs-devel@m.gmane.org; Mon, 04 Nov 2019 01:50:26 +0100 Original-Received: from localhost ([::1]:57084 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iRQZd-00021H-1z for ged-emacs-devel@m.gmane.org; Sun, 03 Nov 2019 19:50:25 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:45214) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1iRQZX-000217-8o for emacs-devel@gnu.org; Sun, 03 Nov 2019 19:50:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1iRQZV-00074c-VO for emacs-devel@gnu.org; Sun, 03 Nov 2019 19:50:18 -0500 Original-Received: from zimbra.cs.ucla.edu ([131.179.128.68]:37570) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1iRQZU-00073l-Di; Sun, 03 Nov 2019 19:50:16 -0500 Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 64D151604E7; Sun, 3 Nov 2019 16:50:12 -0800 (PST) Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 8RfUiN48IPu3; Sun, 3 Nov 2019 16:50:11 -0800 (PST) Original-Received: from localhost (localhost [127.0.0.1]) by zimbra.cs.ucla.edu (Postfix) with ESMTP id 921411605B7; Sun, 3 Nov 2019 16:50:11 -0800 (PST) X-Virus-Scanned: amavisd-new at zimbra.cs.ucla.edu Original-Received: from zimbra.cs.ucla.edu ([127.0.0.1]) by localhost (zimbra.cs.ucla.edu [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Aj_M1GYXP9Eb; Sun, 3 Nov 2019 16:50:11 -0800 (PST) Original-Received: from [192.168.1.9] (cpe-23-242-74-103.socal.res.rr.com [23.242.74.103]) by zimbra.cs.ucla.edu (Postfix) with ESMTPSA id 461751604E7; Sun, 3 Nov 2019 16:50:11 -0800 (PST) In-Reply-To: Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [fuzzy] X-Received-From: 131.179.128.68 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.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.org gmane.emacs.devel:241774 Archived-At: On 11/3/19 1:34 PM, Mattias Engdeg=C3=A5rd wrote: > There are so many regexp engines these days that I can't keep track of = them all, but there may be precedences elsewhere. Some of the precedent discussed in this thread seems to be based on Perl,= which=20 introduced the "single-line" concept and which has notations like (?s:RE)= to=20 cause RE to operate in single-line mode which means '.' within RE matches= any=20 single character. However, Perl later added another escape '\N' which mat= ches=20 any single non-newline character even when single-line mode is in effect = - which=20 sounds a bit like piling one kludge atop another. This remind me of Perl's using ^ and $ to mean either the beginning and e= nd of=20 text or the beginning and end of line, depending on whether Perl's m flag= is in=20 effect. Emacs solves this in a different and arguably better way, by usin= g \`=20 and \' for beginning and end of text instead. If we want to keep with thi= s=20 tradition, Emacs should use a separate escape sequence for "match any sin= gle=20 character including newline". On looking into what other systems do, I find that I prefer Vim's syntax = of=20 '\_.' to match any single character including newline. (Vim has other use= s for=20 \_ which we could decide separately whether to adopt.) Partly this is bec= ause \!=20 might better be used to denote regular expression negation. > Paul mentioned \! which would do, but I'm not sure if it was an off-the= -cuff suggestion or a carefully considered proposal. A bit of both. The choice of '\!' was off-the-cuff and on second thought = it'd=20 probably be better to use Vim's syntax, since it's a precedent and it lea= ves us=20 better room for future extensions.