Ar an triú lá déag de mí Deireadh Fómhair, scríobh Stephen J. Turnbull:
QUERY
> * coding.el:
> * coding.el ('automatic-conversion): Removed.
> On non-Mule builds, alias 'iso-8859-1 to 'no-conversion, not
> 'undecided, since the latter does coding system autorecognition
> that is useless and leads to stack overflows without Mule.
I believe this is incorrect, and the problem is deeper. The fix
should be done in the detection code, because 'undecided *is* useful
on no-Mule, to detect EOL conventions. The detection code should not
try to detect coding systems, but hardcode to raw-text.
Also problematic, AFAIK 'no-conversion is 'binary and thus forces Unix
eols. The right coding system would be raw-text, IIRC (although this
nomenclature may be screwed up for GNU compatibility).
(decode-coding-string "hi there\r\n everyone" 'no-conversion)
=> "hi there^M
everyone"
(decode-coding-string "hi there\r\n everyone" 'raw-text)
=> "hi there
everyone"
Good point. I was misled by the existence of no-conversion-{unix, dos, mac};
I thought that implied autodetection for the coding system without line
ending information, but that is not so.
Okay, I’ve made the below change and Tramp builds. It still seems to me that
undecided is not useful on no-Mule, given the existence of raw-text to do
line ending convention detection.
lisp/ChangeLog addition:
2007-10-14 Aidan Kehoe <kehoea(a)parhasard.net>
* coding.el:
Use raw-text, not no-conversion for iso-8859-1 on non-Mule;
preserves the line ending autodetection, but doesn't do coding
system autodetection. Thank you Stephen.
XEmacs Trunk source patch:
Diff command: cvs -q diff -Nu
Files affected: lisp/coding.el
===================================================================
RCS
Index: lisp/coding.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/lisp/coding.el,v
retrieving revision 1.12
diff -u -u -r1.12 coding.el
--- lisp/coding.el 2007/10/13 14:08:28 1.12
+++ lisp/coding.el 2007/10/14 11:54:21
@@ -266,11 +266,11 @@
(when (not (featurep 'mule))
(define-coding-system-alias 'escape-quoted 'binary)
;; these are so that gnus and friends work when not mule
- (define-coding-system-alias 'iso-8859-1 'no-conversion)
+ (define-coding-system-alias 'iso-8859-1 'raw-text)
;; We're misrepresenting ourselves to the gnus code by saying we support
;; both.
- ; (define-coding-system-alias 'iso-8859-2 'no-conversion)
- (define-coding-system-alias 'ctext 'binary))
+ ; (define-coding-system-alias 'iso-8859-2 'raw-text)
+ (define-coding-system-alias 'ctext 'raw-text))
(make-compatible-variable 'enable-multibyte-characters "Unimplemented")
--
On the quay of the little Black Sea port, where the rescued pair came once
more into contact with civilization, Dobrinton was bitten by a dog which was
assumed to be mad, though it may only have been indiscriminating. (Saki)
_______________________________________________
XEmacs-Patches mailing list
XEmacs-Patches(a)xemacs.org
http://calypso.tux.org/cgi-bin/mailman/listinfo/xemacs-patches