From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Re: make a pure string from a string literal Date: Wed, 4 Nov 2009 13:20:07 -0800 (PST) Message-ID: <200911042120.nA4LK7f9006754@godzilla.ics.uci.edu> References: <200911041601.nA4G1Ijj003807@godzilla.ics.uci.edu> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1257369735 31141 80.91.229.12 (4 Nov 2009 21:22:15 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 4 Nov 2009 21:22:15 +0000 (UTC) Cc: emacs-devel@gnu.org To: Stefan Monnier Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Nov 04 22:22:08 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1N5nIp-0002fy-Mg for ged-emacs-devel@m.gmane.org; Wed, 04 Nov 2009 22:22:04 +0100 Original-Received: from localhost ([127.0.0.1]:49170 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N5nIp-0007AX-2W for ged-emacs-devel@m.gmane.org; Wed, 04 Nov 2009 16:22:03 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1N5nIi-00079n-Ak for emacs-devel@gnu.org; Wed, 04 Nov 2009 16:21:56 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1N5nId-00077r-CG for emacs-devel@gnu.org; Wed, 04 Nov 2009 16:21:55 -0500 Original-Received: from [199.232.76.173] (port=49925 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1N5nId-00077W-8D for emacs-devel@gnu.org; Wed, 04 Nov 2009 16:21:51 -0500 Original-Received: from paul-mcgann-v0.ics.uci.edu ([128.195.1.147]:59387) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1N5nIb-0000vu-IU for emacs-devel@gnu.org; Wed, 04 Nov 2009 16:21:49 -0500 Original-Received: from godzilla.ics.uci.edu (godzilla.ics.uci.edu [128.195.10.101]) by paul-mcgann-v0.ics.uci.edu (8.13.8/8.13.8) with ESMTP id nA4LK77J025715 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Wed, 4 Nov 2009 13:20:07 -0800 Original-Received: (from dann@localhost) by godzilla.ics.uci.edu (8.13.8+Sun/8.13.6/Submit) id nA4LK7f9006754; Wed, 4 Nov 2009 13:20:07 -0800 (PST) In-Reply-To: (Stefan Monnier's message of "Wed, 04 Nov 2009 15:40:47 -0500") Original-Lines: 41 X-ICS-MailScanner-Information: Please send mail to helpdesk@ics.uci.edu or more information X-ICS-MailScanner-ID: nA4LK77J025715 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (not cached, score=-1.44, required 5, autolearn=disabled, ALL_TRUSTED -1.44) X-ICS-MailScanner-From: dann@godzilla.ics.uci.edu X-detected-operating-system: by monty-python.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:116646 Archived-At: Stefan Monnier writes: > > So how about adding: > > > Lisp_Object > > make_pure_string_from_literal (const char *data) > > My local hacks include the hunk below, so I think it's a good idea, tho > I never got around to installing it. Please do. I'd be happy to install it for you (and make use of it). > Stefan > > > @@ -4821,6 +4887,23 @@ > return string; > } > > +Lisp_Object > +make_pure_c_string (data) > + const char *data; > +{ > + Lisp_Object string; > + struct Lisp_String *s; > + int nchars = strlen (data); > + > + s = (struct Lisp_String *) pure_alloc (sizeof *s, Lisp_String); > + s->inlined = 0; > + s->size = nchars; > + s->size_byte = -1; > + s->data.ptr = data; > + s->intervals = NULL_INTERVAL; > + XSETSTRING (string, s); > + return string; > +} > > /* Return a cons allocated from pure space. Give it pure copies > of CAR as car and CDR as cdr. */