]> git.eshelyaron.com Git - emacs.git/commitdiff
(standard_args): Add --no-unibyte.
authorRichard M. Stallman <rms@gnu.org>
Thu, 16 Apr 1998 21:24:37 +0000 (21:24 +0000)
committerRichard M. Stallman <rms@gnu.org>
Thu, 16 Apr 1998 21:24:37 +0000 (21:24 +0000)
(main): Recognize --no-unibyte to inhibit EMACS_UNIBYTE.

(main): Fix typo, add --multibyte and --no-multibyte.
(standard_args): Add --multibyte and --no-multibyte.

src/emacs.c

index 5f57f10c39314c55fe0dca8613dd726560e63f88..8d402f0fb75dfcec3bc6213949abaf1be96c84b2 100644 (file)
@@ -738,18 +738,28 @@ main (argc, argv, envp)
 
   inhibit_window_system = 0;
 
-  /* --unibyte requests that we set up to do everything with single-byte
-     buffers and strings.  We need to handle this before calling
-     init_lread, init_editfns and other places that generate Lisp strings
-     from text in the environment.  */
-  if ((argmatch (argv, argc, "-unibyte", "--unibyte", 4, NULL, &skip_args)) 
-      || getenv ("EMACS_UNIBYTE"))
-    {
-      Lisp_Object symbol;
-      symbol = intern ("default-enable-multibyte-characters");
-      Fset (symbol, Qnil);
-      Fset_default (symbol, Qnil);
-    }
+  {
+    int inhibit_unibyte = 0;
+
+    /* --multibyte overrides EMACS_UNIBYTE.  */
+    if (argmatch (argv, argc, "-no-unibyte", "--no-unibyte", 4, NULL, &skip_args)
+       || argmatch (argv, argc, "-multibyte", "--multibyte", 4, NULL, &skip_args))
+      inhibit_unibyte = 1;
+  
+    /* --unibyte requests that we set up to do everything with single-byte
+       buffers and strings.  We need to handle this before calling
+       init_lread, init_editfns and other places that generate Lisp strings
+       from text in the environment.  */
+    if (argmatch (argv, argc, "-unibyte", "--unibyte", 4, NULL, &skip_args)
+       || argmatch (argv, argc, "-no-multibyte", "--no-multibyte", 4, NULL, &skip_args)
+       || (getenv ("EMACS_UNIBYTE") && !inhibit_unibyte))
+      {
+       Lisp_Object symbol;
+       symbol = intern ("default-enable-multibyte-characters");
+       Fset (symbol, Qnil);
+       Fset_default (symbol, Qnil);
+      }
+  }
 
   /* Handle the -t switch, which specifies filename to use as terminal */
   {
@@ -1252,7 +1262,10 @@ struct standard_args standard_args[] =
 #ifdef VMS
   { "-map", "--map-data", 100, 0 },
 #endif
+  { "-no-unibyte", "--no-unibyte", 96, 0 },
+  { "-multibyte", "--multibyte", 96, 0 },
   { "-unibyte", "--unibyte", 95, 0 },
+  { "-no-multibyte", "--no-multibyte", 95, 0 },
   { "-t", "--terminal", 90, 1 },
   { "-d", "--display", 80, 1 },
   { "-display", 0, 80, 1 },