diff lisp/subr.el @ 26084:804cba424b64

Fix bootstrapping problems. Use the system locale to specify Emacs locale defaults. * international/mule-cmds.el (global-map): Do not use backquote, because that makes a bootstrapping problem if you need to recompile all Lisp files using interpreted code. * international/mule.el (charset-id, charset-bytes, charset-dimension, charset-chars, charset-width, charset-direction, charset-iso-final-char, charset-iso-graphic-plane, charset-reverse-charset, charset-short-name, charset-long-name, charset-description, charset-plist): Likewise. * subr.el (save-match-data): Likewise. * international/mule-cmds.el (set-display-table-and-terminal-coding-system): New function, containing code migrated out of set-language-environment. (set-language-environment, set-locale-environment): Use it. (locale-translation-file-name): Moved here from startup.el. (locale-language-names, locale-preferred-coding-systems): New vars. (locale-name-match, set-locale-environment): New functions. * language/japan-util.el (setup-japanese-environment-internal): Prefer japanese-iso-8bit if the system-type is usg-unix-v. * startup.el (iso-8859-n-locale-regexp): Remove. (locale-translation-file-name): Move to mule-cmds.el. (command-line): Move locale-stuff into set-locale-environment.
author Paul Eggert <eggert@twinsun.com>
date Tue, 19 Oct 1999 07:18:58 +0000
parents 4f46db3c9d7d
children f5713c397636
line wrap: on
line diff
--- a/lisp/subr.el	Tue Oct 19 07:17:20 1999 +0000
+++ b/lisp/subr.el	Tue Oct 19 07:18:58 1999 +0000
@@ -1,6 +1,6 @@
 ;;; subr.el --- basic lisp subroutines for Emacs
 
-;; Copyright (C) 1985, 1986, 1992, 1994, 1995 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 86, 92, 94, 95, 1999 Free Software Foundation, Inc.
 
 ;; This file is part of GNU Emacs.
 
@@ -1069,10 +1069,14 @@
 ;; now, but it generates slower code.
 (defmacro save-match-data (&rest body)
   "Execute the BODY forms, restoring the global value of the match data."
-  `(let ((save-match-data-internal (match-data)))
-       (unwind-protect
-	   (progn ,@body)
-	 (set-match-data save-match-data-internal))))
+  ;; It is better not to use backquote here,
+  ;; because that makes a bootstrapping problem
+  ;; if you need to recompile all the Lisp files using interpreted code.
+  (list 'let
+	'((save-match-data-internal (match-data)))
+	(list 'unwind-protect
+	      (cons 'progn body)
+	      '(set-match-data save-match-data-internal))))
 
 (defun match-string (num &optional string)
   "Return string of text matched by last search.