From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: David Kastrup Newsgroups: gmane.emacs.devel Subject: Re: Unmentioned "stringify" aspect in docu buffer-substring-no-properties Date: Thu, 22 Jun 2006 22:28:14 +0200 Message-ID: <85ejxhkk9t.fsf@lola.goethe.zz> References: <449AFC62.8030404@online.de> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1151008166 11419 80.91.229.2 (22 Jun 2006 20:29:26 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 22 Jun 2006 20:29:26 +0000 (UTC) Cc: Richard Stallman , emacs-devel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 22 22:29:25 2006 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FtVna-0004kx-Vm for ged-emacs-devel@m.gmane.org; Thu, 22 Jun 2006 22:29:12 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FtVna-0005KW-Bb for ged-emacs-devel@m.gmane.org; Thu, 22 Jun 2006 16:29:10 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FtVnP-0005KQ-Ib for emacs-devel@gnu.org; Thu, 22 Jun 2006 16:28:59 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FtVnO-0005K1-DK for emacs-devel@gnu.org; Thu, 22 Jun 2006 16:28:59 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FtVnO-0005Js-A3 for emacs-devel@gnu.org; Thu, 22 Jun 2006 16:28:58 -0400 Original-Received: from [199.232.76.164] (helo=fencepost.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.52) id 1FtVyR-0007Oi-AB for emacs-devel@gnu.org; Thu, 22 Jun 2006 16:40:23 -0400 Original-Received: from localhost ([127.0.0.1] helo=lola.goethe.zz) by fencepost.gnu.org with esmtp (Exim 4.34) id 1FtVnG-0007a6-5p; Thu, 22 Jun 2006 16:28:50 -0400 Original-Received: by lola.goethe.zz (Postfix, from userid 1002) id 5745D1C4D3B5; Thu, 22 Jun 2006 22:28:14 +0200 (CEST) Original-To: Andreas Roehler In-Reply-To: <449AFC62.8030404@online.de> (Andreas Roehler's message of "Thu, 22 Jun 2006 22:24:02 +0200") User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux) 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:56084 Archived-At: Andreas Roehler writes: > Richard Stallman schrieb: >> Would people please check those files for accuracy one more time? >> They are the files listed in FOR-RELEASE with just one name. > >> text.texi > IMO: > Unmentioned "stringify" aspect in > `buffer-substring-no-properties'; also concerns > `buffer-substring' > > AFAIU there are two different meanings of string, which > are mixed up in naming and function of > > `buffer-substring-no-properties': > > 1) it takes a portion of the buffer, but not necessary > of a type `string', so `substring' might mislead > here (nonetheless, would not ask for changing this > name for compatiblity reasons) Uh what? Of course the type is `string'. > 2) it stringifies these portion, changes the type of it It does nothing of the sort. > ;;; check the following examples in a buffer starting > with it, in order to have the Start-End-Entries > set as given > > (defun foo () > " " > (interactive "*") > ) > > (buffer-substring-no-properties 34 37)"e \"" There is no "stringification" done by buffer-substring-no-properties. The Lisp reader prints the result of the evaluation in string syntax, that is all. > It happened to be a discussion in de.comp.editoren, > concerning a stringify function > > The (still disputed) result exploits just the > mentioned quality. It doesn't. > (defun region2string (start end) > "Make a string from the chars of a region. > Doublequotes inside will be quoted therefor. > > baz --> \"baz\" > > baz \"bar\" --> \"baz \\\"bar\\\"\"" > (interactive "r*") > (goto-char end) > (prin1 (buffer-substring-no-properties start end) (current-buffer)) > (delete-region start end)) The string quotes get added by prin1, not by buffer-substring-no-properties. You should really try reading up some basics in the Emacs Lisp tutorial. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum