From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Shigeru Fukaya Newsgroups: gmane.emacs.bugs Subject: bug#17814: 24.3.91; better string manipulation in subr-x Date: Sat, 21 Jun 2014 02:14:19 +0900 Message-ID: <39CF8CAB123C5Fshigeru.fukaya@gmail.com> References: <38CF8BF2232E16shigeru.fukaya@gmail.com> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1403284531 17444 80.91.229.3 (20 Jun 2014 17:15:31 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Fri, 20 Jun 2014 17:15:31 +0000 (UTC) To: Stefan Monnier , 17814@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jun 20 19:15:23 2014 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 1Wy2PL-00030V-Gd for geb-bug-gnu-emacs@m.gmane.org; Fri, 20 Jun 2014 19:15:23 +0200 Original-Received: from localhost ([::1]:42178 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wy2PL-0000Di-2u for geb-bug-gnu-emacs@m.gmane.org; Fri, 20 Jun 2014 13:15:23 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:34425) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wy2P9-000074-Ak for bug-gnu-emacs@gnu.org; Fri, 20 Jun 2014 13:15:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wy2P0-00025S-Ue for bug-gnu-emacs@gnu.org; Fri, 20 Jun 2014 13:15:11 -0400 Original-Received: from debbugs.gnu.org ([140.186.70.43]:35637) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wy2P0-00025I-Rb for bug-gnu-emacs@gnu.org; Fri, 20 Jun 2014 13:15:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1Wy2P0-0007og-HD for bug-gnu-emacs@gnu.org; Fri, 20 Jun 2014 13:15:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Shigeru Fukaya Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 20 Jun 2014 17:15:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 17814 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 17814-submit@debbugs.gnu.org id=B17814.140328448129993 (code B ref 17814); Fri, 20 Jun 2014 17:15:02 +0000 Original-Received: (at 17814) by debbugs.gnu.org; 20 Jun 2014 17:14:41 +0000 Original-Received: from localhost ([127.0.0.1]:55017 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wy2Oa-0007nX-J4 for submit@debbugs.gnu.org; Fri, 20 Jun 2014 13:14:41 -0400 Original-Received: from mail-pa0-f54.google.com ([209.85.220.54]:38220) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1Wy2OS-0007n2-Gm for 17814@debbugs.gnu.org; Fri, 20 Jun 2014 13:14:33 -0400 Original-Received: by mail-pa0-f54.google.com with SMTP id et14so3320379pad.41 for <17814@debbugs.gnu.org>; Fri, 20 Jun 2014 10:14:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:mime-version:content-type :content-transfer-encoding:in-reply-to:references:message-id; bh=3usT8yBJU7VvA89sy3s9hWwM2+QSARmNRDfbAJtPRqM=; b=NNbXXnveoWJ1jljPNz2ahI/wezKFsnDw66hdUhqzhRPDQU8Y9EYYGm5ajczy0DBAcK 6JknYE046gBgb7wUm/9pFsZ2cAgASyKWdu3SVCvGKAL8dvgN/QRAfM3V8sF2jftwxfOK 8bYG437QxOEEgszTCtHGfgHGNf1MToGWDhaq/rsLFwK3NEzuq4dGhS8frzuIJoD2V1Zs lf6AQ01FMVtnUnYheJDmsuy8SFpafkL767POM6x2SP3qsESoXxYPA5srj/vBN1KTggj8 Ipoe7+7GiSeQezGs1pCMZI3NNUrUO8C/e5rtO1R60YKNxbvPOIxrp/a7O9XpS16ncs6t 4sFw== X-Received: by 10.66.232.166 with SMTP id tp6mr6443817pac.127.1403284461860; Fri, 20 Jun 2014 10:14:21 -0700 (PDT) Original-Received: from gmail.com (115x125x38x6.ap115.ftth.ucom.ne.jp. [115.125.38.6]) by mx.google.com with ESMTPSA id ee5sm14386306pbc.47.2014.06.20.10.14.18 for (version=TLSv1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 20 Jun 2014 10:14:19 -0700 (PDT) X-Mailer: HidemaruMail 6.24 (WinNT,602) In-Reply-To: X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.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:90604 Archived-At: >> I change the string-trim defined using defun from defsubst, as its >> string literal is somewhat big (Actually I suspect most of other >> functions would also be better if defined by defun). > >The use of `defsubst' is so that subr-x.el is not needed at run-time. I see. I didn't know that, and it's very good. Then, the code is (defsubst string-trim (string) "Remove leading and trailing whitespace from STRING." (string-trim-right (string-trim-left string))) or (defsubst string-trim (string) "Remove leading and trailing whitespace from STRING." (string-match "\\`[\s\t\n\r]*\\(.*?\\)[\s\t\n\r]*\\'" string) (if (or (< 0 (match-beginning 1)) (< (match-end 1) (match-end 0))) (match-string 1 string) string)) The latter is shorter in byte-compiled code, and call string-match only once. Literal string is seemingly larger, but the overhead of a string object will cover it, I think. Regards, Shigeru