--- Begin Message ---
Subject: |
Re: bug#8262: string-make-*byte in elisp manual |
Date: |
Wed, 16 Mar 2011 13:40:50 -0400 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.0.50 (gnu/linux) |
> The elisp manual mentions the functions `string-make-multibyte' and
> string-make-unibyte' in two places (Sections 4.6 and 22.15), indicating that
> these functions are defined in greater detail in Section 33.2.
> This is not the case, however. Shouldn't these functions be defined in
> Section 33.2?
Thanks for spotting this. Indeed, the functions now documented are
string-to-*byte instead, whose semantic is less likely to introduce bugs
(or rather more likely to make those bugs apparent rather than latent).
So I've installed the patch below.
Stefan
=== modified file 'doc/lispref/keymaps.texi'
--- doc/lispref/keymaps.texi 2011-02-19 19:40:59 +0000
+++ doc/lispref/keymaps.texi 2011-03-16 14:39:56 +0000
@@ -1705,15 +1705,11 @@
@noindent
and your language environment is multibyte Latin-1, these commands
-actually bind the multibyte character with code 2294, not the unibyte
-Latin-1 character with code 246 (@kbd{M-v}). In order to use this
-binding, you need to enter the multibyte Latin-1 character as keyboard
-input. One way to do this is by using an appropriate input method
-(@pxref{Input Methods, , Input Methods, emacs, The GNU Emacs Manual}).
-
- If you want to use a unibyte character in the key binding, you can
-construct the key sequence string using @code{multibyte-char-to-unibyte}
-or @code{string-make-unibyte} (@pxref{Converting Representations}).
+actually bind the multibyte character with code 246, not the byte
+code 246 (@kbd{M-v}) sent by a Latin-1 terminal. In order to use this
+binding, you need to teach Emacs how to decode the keyboard by using an
+appropriate input method (@pxref{Input Methods, , Input Methods, emacs, The GNU
+Emacs Manual}).
@deffn Command global-set-key key binding
This function sets the binding of @var{key} in the current global map
=== modified file 'doc/lispref/nonascii.texi'
--- doc/lispref/nonascii.texi 2011-01-25 04:08:28 +0000
+++ doc/lispref/nonascii.texi 2011-03-16 14:44:14 +0000
@@ -167,7 +167,7 @@
user that cannot be overridden automatically.
Converting unibyte text to multibyte text leaves @acronym{ASCII}
-characters unchanged, and converts bytes with codes 128 through 159 to
+characters unchanged, and converts bytes with codes 128 through 255 to
the multibyte representation of raw eight-bit bytes.
Converting multibyte text to unibyte converts all @acronym{ASCII}
=== modified file 'doc/lispref/strings.texi'
--- doc/lispref/strings.texi 2011-01-25 04:08:28 +0000
+++ doc/lispref/strings.texi 2011-03-16 14:47:55 +0000
@@ -554,8 +554,8 @@
@code{prin1-to-string} (@pxref{Output Functions}) can also convert
Lisp objects into strings. @code{read-from-string} (@pxref{Input
Functions}) can ``convert'' a string representation of a Lisp object
-into an object. The functions @code{string-make-multibyte} and
address@hidden convert the text representation of a string
+into an object. The functions @code{string-to-multibyte} and
address@hidden convert the text representation of a string
(@pxref{Converting Representations}).
@xref{Documentation}, for functions that produce textual descriptions
--- End Message ---