diff lisp/coding.el @ 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 baffa6ca776a
children f00192e1cd49 308d34e9f07d
line wrap: on
line diff
--- 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: