Subject: bug#8262: closed (Re: bug#8262: string-make-*byte in elisp manual)

From: [email-masked] (GNU bug Tracking System)
Date: Wed, 16 Mar 2011 17:42:02 +0000

Your bug report

#8262: string-make-*byte in elisp manual

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
8262: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8262
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#8262: string-make-*byte in elisp manual
From: Stefan Monnier <[email-masked]>
To: Arni Magnusson <[email-masked]>
Cc: [email-masked]
Date: Wed, 16 Mar 2011 13:40:50 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

> 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
-@code{string-make-unibyte} convert the text representation of a string
+into an object.  The functions @code{string-to-multibyte} and
+@code{string-to-unibyte} convert the text representation of a string
 (@pxref{Converting Representations}).
 
   @xref{Documentation}, for functions that produce textual descriptions

Subject: string-make-*byte in elisp manual
From: Arni Magnusson <[email-masked]>
To: [email-masked]
Date: Tue, 15 Mar 2011 21:36:09 +0000 (UTC)
List-Id: <debbugs-submit.debbugs.gnu.org>

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,

Arni

---

GNU Emacs Lisp Reference Manual for Emacs version 23.3 (Rev 3.0, July 
2009)