changeset 5083:88f955fa5a7f

Back out revision c673987f5f3d, undump mule/make-coding-system.el. lisp/ChangeLog addition: 2010-02-26 Aidan Kehoe <kehoea@parhasard.net> Back out Ben's revision c673987f5f3d. * coding.el: Add a compiler macro for #'make-coding-system on non-Mule builds too, to fix the problem he addressed with that changeset. * mule/make-coding-system.el (fixed-width-private-use-start): Don't call (decode-char ... 'ucs) here, it can make bootstrapping harder. src/ChangeLog addition: 2010-02-26 Aidan Kehoe <kehoea@parhasard.net> * file-coding.c (Fmake_coding_system_internal): Be somewhat clearer in this docstring, especially for the sake of people running non-Mule builds who will see this docstring when they do F1 f make-coding-system RET.
author Aidan Kehoe <kehoea@parhasard.net>
date Fri, 26 Feb 2010 15:52:24 +0000
parents 37a17808de95
children 6afe991b8135 ed624ab64583
files lisp/ChangeLog lisp/coding.el lisp/mule/make-coding-system.el src/ChangeLog src/file-coding.c
diffstat 5 files changed, 39 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Feb 26 15:24:58 2010 +0000
+++ b/lisp/ChangeLog	Fri Feb 26 15:52:24 2010 +0000
@@ -1,3 +1,13 @@
+2010-02-26  Aidan Kehoe  <kehoea@parhasard.net>
+
+	Back out Ben's revision c673987f5f3d.
+	* coding.el:
+	Add a compiler macro for #'make-coding-system on non-Mule builds
+	too, to fix the problem he addressed with that changeset.
+	* mule/make-coding-system.el (fixed-width-private-use-start):
+	Don't call (decode-char ... 'ucs) here, it can make bootstrapping
+	harder.
+
 2010-02-25  Didier Verna  <didier@xemacs.org>
 
 	The background-placement face property.
--- a/lisp/coding.el	Fri Feb 26 15:24:58 2010 +0000
+++ b/lisp/coding.el	Fri Feb 26 15:52:24 2010 +0000
@@ -487,6 +487,19 @@
 
   ;; Mule's not available; 
   (fset 'make-coding-system (symbol-function 'make-coding-system-internal))
+  (define-compiler-macro make-coding-system (&whole form name type
+                                             &optional description props)
+    (cond
+     ;; We shouldn't normally see these forms under non-Mule; they're all in
+     ;; the mule/ subdirectory.
+     ((equal '(quote fixed-width) type)
+      form)
+     ((byte-compile-constp type)
+      `(funcall (or (and (fboundp 'make-coding-system-internal)
+                         'make-coding-system-internal) 'make-coding-system)
+        ,@(cdr form)))
+     (t form)))
+
   (define-coding-system-alias 'escape-quoted 'binary)
 
   ;; These are so that gnus and friends work when not mule:
--- a/lisp/mule/make-coding-system.el	Fri Feb 26 15:24:58 2010 +0000
+++ b/lisp/mule/make-coding-system.el	Fri Feb 26 15:52:24 2010 +0000
@@ -26,7 +26,7 @@
 
 ;;; Code:
 
-(defvar fixed-width-private-use-start (decode-char 'ucs #xE000)
+(defvar fixed-width-private-use-start ?\uE000
   "Start of a 256 code private use area for fixed-width coding systems.
 
 This is used to ensure that distinct octets on disk for a given coding
--- a/src/ChangeLog	Fri Feb 26 15:24:58 2010 +0000
+++ b/src/ChangeLog	Fri Feb 26 15:52:24 2010 +0000
@@ -1,3 +1,10 @@
+2010-02-26  Aidan Kehoe  <kehoea@parhasard.net>
+
+	* file-coding.c (Fmake_coding_system_internal):
+	Be somewhat clearer in this docstring, especially for the sake of
+	people running non-Mule builds who will see this docstring when
+	they do F1 f make-coding-system RET.
+
 2010-02-25  Didier Verna  <didier@xemacs.org>
 
 	The background-placement face property.
--- a/src/file-coding.c	Fri Feb 26 15:24:58 2010 +0000
+++ b/src/file-coding.c	Fri Feb 26 15:52:24 2010 +0000
@@ -1407,13 +1407,15 @@
 }
 
 DEFUN ("make-coding-system-internal", Fmake_coding_system_internal, 2, 4, 0, /*
-See `make-coding-system'.  This does much of the work of that function.
-
+Create a new coding system object, and register NAME as its name.
+
+With Mule support, this does much of the work of `make-coding-system'.
 Without Mule support, it does all the work of that function, and an alias
-exists, mapping `make-coding-system' to
-`make-coding-system-internal'. You'll need a non-Mule XEmacs to read the
-complete docstring. Or you can just read it in make-coding-system.el;
-something like the following should work:
+exists, mapping `make-coding-system' to `make-coding-system-internal'.
+
+You'll need a Mule XEmacs to read the complete docstring. Or you can
+just read it in make-coding-system.el; something like the following
+should work:
 
  \\[find-function-other-window] find-file RET \\[find-file] mule/make-coding-system.el RET