emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Unmentioned "stringify" aspect in docu buffer-substring-no-properties


From: Andreas Roehler
Subject: Unmentioned "stringify" aspect in docu buffer-substring-no-properties
Date: Thu, 22 Jun 2006 22:24:02 +0200
User-agent: Thunderbird 1.5.0.4 (X11/20060516)

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)

2) it stringifies these portion, changes the type of it

;;; 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 \""

(setq baz (buffer-substring-no-properties 34 37))

baz"e \""

(stringp baz)t


;;;

or

(defun foo ()
" "
(interactive "*")
)

(buffer-substring-no-properties 1 41)"(defun foo ()
\" \"
(interactive \"*\")
"

(setq baz (buffer-substring-no-properties 1 41))"(defun foo ()
\" \"
(interactive \"*\")
"

baz"(defun foo ()
\" \"
(interactive \"*\")
"

(stringp baz)t

but

(stringp
(defun foo ()
" "
(interactive "*")
)
)nil

It happened to be a discussion in de.comp.editoren,
concerning a stringify function

The (still disputed) result exploits just the
mentioned quality.

(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))


__
Andreas Roehler





reply via email to

[Prev in Thread] Current Thread [Next in Thread]