From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: [RFC]: replace-region-contents Date: Tue, 05 Feb 2019 18:11:40 +0200 Message-ID: <83sgx2tdtv.fsf@gnu.org> References: <871s4rqk7u.fsf@gnu.org> <87o97syvno.fsf@gnu.org> <878syubwv3.fsf@gnu.org> Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="265753"; mail-complaints-to="usenet@blaine.gmane.org" Cc: monnier@IRO.UMontreal.CA, emacs-devel@gnu.org To: Tassilo Horn Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Tue Feb 05 17:12:06 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.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1gr3KQ-0016zr-Nc for ged-emacs-devel@m.gmane.org; Tue, 05 Feb 2019 17:12:06 +0100 Original-Received: from localhost ([127.0.0.1]:34264 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr3KP-0005Eb-NA for ged-emacs-devel@m.gmane.org; Tue, 05 Feb 2019 11:12:05 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:45453) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr3KH-0005ES-Qk for emacs-devel@gnu.org; Tue, 05 Feb 2019 11:11:58 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:43101) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gr3KB-0004bI-Vo; Tue, 05 Feb 2019 11:11:55 -0500 Original-Received: from [176.228.60.248] (port=1796 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1gr3KB-00023D-7y; Tue, 05 Feb 2019 11:11:51 -0500 In-reply-to: <878syubwv3.fsf@gnu.org> (message from Tassilo Horn on Tue, 05 Feb 2019 06:57:52 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.21 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:233001 Archived-At: > From: Tassilo Horn > Date: Tue, 05 Feb 2019 06:57:52 +0100 > Cc: emacs-devel@gnu.org > > I don't have a preference. I guess Eli might argue that this version > encourages passing strings around instead of using buffers. Not just strings, _large_ strings. Small strings are okay, we even have a special optimization for them. Large strings are much less efficient, in both memory management and access, than buffers. And in the context of the function we are talking about, the probability of a string to be large is IMO very high. I'm not against a string as an option, though. > I'd explain in the doc string that in the case of a string return > value, we're going thru a temporary buffer anyway, so if your > REPLACE-FN ends in (buffer-substring ...), you're clearly doing > something wrong... Right, thanks.