[PATCH] Re: Fix the nomule package build; eliminate some non-X compile time warnings

Aidan Kehoe kehoea at parhasard.net
Sun Oct 14 08:00:07 EDT 2007


 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 at 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)



More information about the XEmacs-Patches mailing list