From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Bastien Newsgroups: gmane.emacs.bugs Subject: bug#13260: 24.3.50; save match data for core functions like `delete-char' and `delete-backward-char'? Date: Mon, 24 Dec 2012 02:24:07 +0100 Message-ID: <878v8outs8.fsf@bzg.ath.cx> References: <87zk143ihe.fsf@bzg.ath.cx> <87bodkbu2k.fsf@bzg.ath.cx> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1356312278 11806 80.91.229.3 (24 Dec 2012 01:24:38 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 24 Dec 2012 01:24:38 +0000 (UTC) Cc: 13260@debbugs.gnu.org To: Stefan Monnier Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Dec 24 02:24:53 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Tmwmi-0002e6-Jk for geb-bug-gnu-emacs@m.gmane.org; Mon, 24 Dec 2012 02:24:52 +0100 Original-Received: from localhost ([::1]:33698 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TmwmU-0001Ke-93 for geb-bug-gnu-emacs@m.gmane.org; Sun, 23 Dec 2012 20:24:38 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:43544) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TmwmR-0001KW-F3 for bug-gnu-emacs@gnu.org; Sun, 23 Dec 2012 20:24:36 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TmwmQ-0004OC-FV for bug-gnu-emacs@gnu.org; Sun, 23 Dec 2012 20:24:35 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:46957) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TmwmQ-0004O7-BU for bug-gnu-emacs@gnu.org; Sun, 23 Dec 2012 20:24:34 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Tmwmr-0007eg-Ld for bug-gnu-emacs@gnu.org; Sun, 23 Dec 2012 20:25:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Bastien Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 24 Dec 2012 01:25:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 13260 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: wontfix Original-Received: via spool by 13260-submit@debbugs.gnu.org id=B13260.135631228029399 (code B ref 13260); Mon, 24 Dec 2012 01:25:01 +0000 Original-Received: (at 13260) by debbugs.gnu.org; 24 Dec 2012 01:24:40 +0000 Original-Received: from localhost ([127.0.0.1]:57208 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TmwmV-0007e8-Uh for submit@debbugs.gnu.org; Sun, 23 Dec 2012 20:24:40 -0500 Original-Received: from mail-wg0-f43.google.com ([74.125.82.43]:61235) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1TmwmT-0007dz-2V for 13260@debbugs.gnu.org; Sun, 23 Dec 2012 20:24:38 -0500 Original-Received: by mail-wg0-f43.google.com with SMTP id e12so3042108wge.10 for <13260@debbugs.gnu.org>; Sun, 23 Dec 2012 17:24:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:sender:from:to:cc:subject:in-reply-to:references :user-agent:date:message-id:mime-version:content-type; bh=xujTT7bzUU4Krd/rnTAOr8Xs9ysBS1m0iFd/4s6hygE=; b=gEbM+4rEi7wuft0reVlVyA+1LV5t+/w2m28eQeBX0RFtnRH3+qzDWijW6DKQxusI5q iYgytS/+u4IXRvyywcz1yNCHAtJ5zk0/ChQEX5IZ8skFhz+u3VjGnoHqk/tfjjbsIzEa tfhqtTRW0c4s7mh701f+lAuhyvYrFV8ELxvv5SbNjy4rhNPEZbgsWDJhivpNsOKg6bUZ bFdGAiX96Nifs718HYdt5mg02URPFsY1k41djUUkixjUdU7WKemFcrtd+Y+owC2okBhr tM1kVUq5zqBLrZOg/FrObrLrP77Hb/WGNCXtqP98xxtonPeHbZ6QHje7Szlwfd57LNRX tYkg== X-Received: by 10.180.109.10 with SMTP id ho10mr1845278wib.9.1356312247435; Sun, 23 Dec 2012 17:24:07 -0800 (PST) Original-Received: from bzg.localdomain (249.117.114.78.rev.sfr.net. [78.114.117.249]) by mx.google.com with ESMTPS id dm3sm40997070wib.9.2012.12.23.17.24.06 (version=TLSv1/SSLv3 cipher=OTHER); Sun, 23 Dec 2012 17:24:06 -0800 (PST) Original-Received: by bzg.localdomain (Postfix, from userid 1000) id 6BD581C206CC; Mon, 24 Dec 2012 02:24:07 +0100 (CET) In-Reply-To: (Stefan Monnier's message of "Sun, 23 Dec 2012 19:54:00 -0500") User-Agent: Gnus/5.130006 (Ma Gnus v0.6) Emacs/24.3.50 (gnu/linux) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 140.186.70.43 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.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:68971 Archived-At: Hi Stefan, Stefan Monnier writes: > AFAIK delete-char does not modify the match-data any more than other > buffer-modifying operations (such as delete-region, insert, ...). > They all just modify the buffer, which is turn can modify the match-data > because it runs various hooks which can do all kinds of things. Okay. >> Principle of least surprise? > > The rule "expect the match-data to be destroyed all the time" is the one > that leads to the least surprise. 99% of the functions can destroy the > match-data, even though they may preserve it in 99% of > the circumstances. That's fine -- but what about "should"? For all the functions like (defun x () "..." (save-match-data ...)) the match data is saved. For 99% of these functions, it's a design choice saying "these functions *should* save the match data". (Yes, there are such functions!) > And in 99% of the cases where they do destroy the match-data, nobody > cares anyway, which is why we shouldn't always save-match-data. I'm fine with a rule like "anything that modifies the buffer should be assumed to destroy the match data" -- given your explanation above. But I'm not convinced this should apply to all other functions. -- Bastien