# HG changeset patch # User Aidan Kehoe # Date 1267199544 0 # Node ID 88f955fa5a7fe8b73b7c40c379e9c4f4ffaf0646 # Parent 37a17808de9506c5c4ec3180aba3a33af4fa4039 Back out revision c673987f5f3d, undump mule/make-coding-system.el. lisp/ChangeLog addition: 2010-02-26 Aidan Kehoe 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 * 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. diff -r 37a17808de95 -r 88f955fa5a7f lisp/ChangeLog --- 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 + + 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 The background-placement face property. diff -r 37a17808de95 -r 88f955fa5a7f lisp/coding.el --- 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: diff -r 37a17808de95 -r 88f955fa5a7f lisp/mule/make-coding-system.el --- 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 diff -r 37a17808de95 -r 88f955fa5a7f src/ChangeLog --- 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 + + * 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 The background-placement face property. diff -r 37a17808de95 -r 88f955fa5a7f src/file-coding.c --- 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