changeset 104698:8d9497f0afc1

* NEWS: Declare unibyte sessions obsolete. * emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte. (main): Use enable-multibyte-characters rather than default-enable-multibyte-characters. Output a warning message when running a unibyte session. * mule.texi (Enabling Multibyte): * cmdargs.texi (General Variables): Remove EMACS_UNIBYTE. (Initial Options): Remove --(no-)multibyte, --(no-)unibyte.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Sat, 29 Aug 2009 02:25:03 +0000
parents 89cb3b38143d
children 5f1532335662
files doc/emacs/ChangeLog doc/emacs/cmdargs.texi doc/emacs/mule.texi etc/NEWS lisp/disp-table.el src/ChangeLog src/emacs.c
diffstat 7 files changed, 33 insertions(+), 56 deletions(-) [+]
line wrap: on
line diff
--- a/doc/emacs/ChangeLog	Sat Aug 29 02:23:18 2009 +0000
+++ b/doc/emacs/ChangeLog	Sat Aug 29 02:25:03 2009 +0000
@@ -1,3 +1,9 @@
+2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* mule.texi (Enabling Multibyte):
+	* cmdargs.texi (General Variables): Remove EMACS_UNIBYTE.
+	(Initial Options): Remove --(no-)multibyte, --(no-)unibyte.
+
 2009-08-20  Glenn Morris  <rgm@gnu.org>
 
 	* cal-xtra.texi (Non-Gregorian Diary): Mention ``Adar I'' special case.
--- a/doc/emacs/cmdargs.texi	Sat Aug 29 02:23:18 2009 +0000
+++ b/doc/emacs/cmdargs.texi	Sat Aug 29 02:25:03 2009 +0000
@@ -333,27 +333,6 @@
 @xref{Error Debugging,, Entering the Debugger on an Error, elisp, The
 GNU Emacs Lisp Reference Manual}.
 
-@item --unibyte
-@opindex --unibyte
-@itemx --no-multibyte
-@opindex --no-multibyte
-@cindex unibyte operation, command-line argument
-Do almost everything with single-byte buffers and strings.
-All buffers and strings are unibyte unless you (or a Lisp program)
-explicitly ask for a multibyte buffer or string.  (Note that Emacs
-always loads Lisp files in multibyte mode, even if @samp{--unibyte} is
-specified; see @ref{Enabling Multibyte}.)  Setting the environment
-variable @env{EMACS_UNIBYTE} has the same effect
-(@pxref{General Variables}).
-
-@item --multibyte
-@opindex --multibyte
-@itemx --no-unibyte
-@opindex --no-unibyte
-Inhibit the effect of @env{EMACS_UNIBYTE}, so that Emacs
-uses multibyte characters by default, as usual.
-@end table
-
 @node Command Example
 @appendixsec Command Argument Example
 
@@ -479,12 +458,6 @@
 @item CDPATH
 Used by the @code{cd} command to search for the directory you specify,
 when you specify a relative directory name.
-@item EMACS_UNIBYTE
-@cindex unibyte operation, environment variable
-Defining this environment variable with a nonempty value directs Emacs
-to do almost everything with single-byte buffers and strings.  It is
-equivalent to using the @samp{--unibyte} command-line option on each
-invocation.  @xref{Initial Options}.
 @item EMACSDATA
 Directory for the architecture-independent files that come with Emacs.
 This is used to initialize the Lisp variable @code{data-directory}.
--- a/doc/emacs/mule.texi	Sat Aug 29 02:23:18 2009 +0000
+++ b/doc/emacs/mule.texi	Sat Aug 29 02:25:03 2009 +0000
@@ -249,8 +249,8 @@
 
 @cindex turn multibyte support on or off
   Under very special circumstances, you may want to disable multibyte
-character support, either for Emacs as a whole, or for a single
-buffer.  When multibyte characters are disabled in a buffer, we call
+character support, for a specific buffer.
+When multibyte characters are disabled in a buffer, we call
 that @dfn{unibyte mode}.  In unibyte mode, each character in the
 buffer has a character code ranging from 0 through 255 (0377 octal); 0
 through 127 (0177 octal) represent @acronym{ASCII} characters, and 128
@@ -268,22 +268,12 @@
 @samp{raw-text} doesn't disable format conversion, uncompression, or
 auto mode selection.
 
-@vindex enable-multibyte-characters
-@cindex environment variables, and non-@acronym{ASCII} characters
-  To turn off multibyte character support by default, start Emacs with
-the @samp{--unibyte} option (@pxref{Initial Options}), or set the
-environment variable @env{EMACS_UNIBYTE}.
-With @samp{--unibyte}, multibyte strings are not created during
-initialization from the values of environment variables,
-@file{/etc/passwd} entries etc., even if those contain
-non-@acronym{ASCII} characters.
-
 @cindex Lisp files, and multibyte operation
 @cindex multibyte operation, and Lisp files
 @cindex unibyte operation, and Lisp files
 @cindex init file, and non-@acronym{ASCII} characters
-  Emacs normally loads Lisp files as multibyte, regardless of whether
-you used @samp{--unibyte}.  This includes the Emacs initialization
+  Emacs normally loads Lisp files as multibyte.
+This includes the Emacs initialization
 file, @file{.emacs}, and the initialization files of Emacs packages
 such as Gnus.  However, you can specify unibyte loading for a
 particular Lisp file, by putting @w{@samp{-*-unibyte: t;-*-}} in a
--- a/etc/NEWS	Sat Aug 29 02:23:18 2009 +0000
+++ b/etc/NEWS	Sat Aug 29 02:25:03 2009 +0000
@@ -34,6 +34,12 @@
 
 * Changes in Emacs 23.2
 
+** Unibyte sessions are declared obsolete.
+I.e. the use of the environment variable EMACS_UNIBYTE, or command line
+arguments --unibyte, --multibyte, --no-multibyte, and --no-unibyte
+is deprecated.  Similarly for custom-izing enable-multibyte-characters, or
+setting default-enable-multibyte-characters.
+
 ** The default value of `trash-directory' has changed to nil, which
 means that `move-file-to-trash' trashes files according to
 freedesktop.org specifications, the same method used by the Gnome,
--- a/lisp/disp-table.el	Sat Aug 29 02:23:18 2009 +0000
+++ b/lisp/disp-table.el	Sat Aug 29 02:25:03 2009 +0000
@@ -216,14 +216,11 @@
 (defun standard-display-european (arg)
   "Semi-obsolete way to toggle display of ISO 8859 European characters.
 
-This function is semi-obsolete; if you want to do your editing with
-unibyte characters, it is better to `set-language-environment' coupled
-with either the `--unibyte' option or the EMACS_UNIBYTE environment
-variable, or else customize `enable-multibyte-characters'.
+This function is semi-obsolete; you probably don't need it, or else you
+probably should use `set-language-environment' or `set-locale-environment'.
 
-With prefix argument, this command enables European character display
-if ARG is positive, disables it otherwise.  Otherwise, it toggles
-European character display.
+This function enables European character display if ARG is positive,
+disables it if negative.  Otherwise, it toggles European character display.
 
 When this mode is enabled, characters in the range of 160 to 255
 display not as octal escapes, but as accented characters.  Codes 146
@@ -231,10 +228,9 @@
 ASCII codes for apostrophe and space.
 
 Enabling European character display with this command noninteractively
-from Lisp code also selects Latin-1 as the language environment, and
-selects unibyte mode for all Emacs buffers \(both existing buffers and
-those created subsequently).  This provides increased compatibility
-for users who call this function in `.emacs'."
+from Lisp code also selects Latin-1 as the language environment.
+This provides increased compatibility for users who call this function
+in `.emacs'."
 
   (if (or (<= (prefix-numeric-value arg) 0)
 	  (and (null arg)
--- a/src/ChangeLog	Sat Aug 29 02:23:18 2009 +0000
+++ b/src/ChangeLog	Sat Aug 29 02:25:03 2009 +0000
@@ -1,3 +1,10 @@
+2009-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* emacs.c (USAGE1): Remove --(no-)multibyte, --(no-)unibyte.
+	(main): Use enable-multibyte-characters rather than
+	default-enable-multibyte-characters.  Output a warning message when
+	running a unibyte session.
+
 2009-08-28  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
 
 	* unexmacosx.c (print_load_command_name) [LC_DYLD_INFO]: Add cases
--- a/src/emacs.c	Sat Aug 29 02:23:18 2009 +0000
+++ b/src/emacs.c	Sat Aug 29 02:25:03 2009 +0000
@@ -271,7 +271,6 @@
 --daemon                    start a server in the background\n\
 --debug-init                enable Emacs Lisp debugger for init file\n\
 --display, -d DISPLAY       use X server DISPLAY\n\
---multibyte, --no-unibyte   inhibit the effect of EMACS_UNIBYTE\n\
 --no-desktop                do not load a saved desktop\n\
 --no-init-file, -q          load neither ~/.emacs nor default.el\n\
 --no-shared-memory, -nl     do not use shared memory\n\
@@ -281,7 +280,6 @@
 --quick, -Q                 equivalent to -q --no-site-file --no-splash\n\
 --script FILE               run FILE as an Emacs Lisp script\n\
 --terminal, -t DEVICE       use DEVICE for terminal I/O\n\
---unibyte, --no-multibyte   run Emacs in unibyte mode\n\
 --user, -u USER             load ~USER/.emacs instead of your own\n\
 \n%s"
 
@@ -1439,8 +1437,8 @@
 	  Lisp_Object old_log_max;
 	  Lisp_Object symbol, tail;
 
-	  symbol = intern ("default-enable-multibyte-characters");
-	  Fset (symbol, Qnil);
+	  symbol = intern ("enable-multibyte-characters");
+	  Fset_default (symbol, Qnil);
 
 	  if (initialized)
 	    {
@@ -1467,6 +1465,7 @@
 		  set_buffer_temp (current);
 		}
 	    }
+	  message ("Warning: unibyte sessions are obsolete and will disappear");
 	}
     }