changeset 5103:4129013a3954

merge
author Ben Wing <ben@xemacs.org>
date Fri, 05 Mar 2010 17:51:36 -0600
parents ec6e767f8fc5 (diff) a24f2ab0093b (current diff)
children 868a5349acee 7be849cb8828
files lisp/ChangeLog
diffstat 4 files changed, 32 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Mar 05 15:11:52 2010 +0000
+++ b/lisp/ChangeLog	Fri Mar 05 17:51:36 2010 -0600
@@ -44,6 +44,21 @@
 	Don't call (decode-char ... 'ucs) here, it can make bootstrapping
 	harder.
 
+2010-02-26  Ben Wing  <ben@xemacs.org>
+
+	* autoload.el (autoload-featurep-protect-autoloads):
+	Always insert a coding-system cookie, either raw-text-unix or
+	escape-quoted.  As before, insert an error statement when an
+	escape-quoted auto-autoload is loaded in a non-Mule XEmacs.
+
+	This fixes problems when the default coding system is UTF-8,
+	as in Cygwin.  Under some circumstances, the file can get
+	written out as raw text and read in as UTF-8, where invididual
+	high-bytes are usually invalid UTF-8 sequences and lead to
+	error octets in the buffer; when written out again, these
+	force escape-quoted.  Result: auto-autoloads.el for the
+	source-tree lisp/ directory would end up as escape-quoted.
+
 2010-02-25  Didier Verna  <didier@xemacs.org>
 
 	The background-placement face property.
@@ -62,7 +77,7 @@
 	* frame.el (frame-background-placement-instance):
 	* objects.el (make-face-background-placement-specifier): New.
 
-c2010-02-25  Ben Wing  <ben@xemacs.org>
+2010-02-25  Ben Wing  <ben@xemacs.org>
 
 	* autoload.el (make-autoload):
 	Call cl-function-arglist with one arg.
--- a/lisp/autoload.el	Fri Mar 05 15:11:52 2010 +0000
+++ b/lisp/autoload.el	Fri Mar 05 17:51:36 2010 -0600
@@ -1088,11 +1088,13 @@
 	   ;; recognized only one of the two magic-cookie styles (the -*- kind)
 	   ;; in find-file, but both of them in load.  We go ahead and put both
 	   ;; in, just to be safe.
+	   (insert (format " -*- coding: %s -*-\n" buffer-file-coding-system))
 	   (when (eq buffer-file-coding-system 'escape-quoted)
-	     (insert " -*- coding: escape-quoted; -*-
-\(or (featurep 'mule) (error \"Loading this file requires Mule support\"))
-;;;###coding system: escape-quoted"))
-	   (insert "\n(if (featurep '" sym ")")
+	     (insert "(or (featurep 'mule) ")
+	     (insert "(error \"Loading this file requires Mule support\"))\n"))
+	   (insert (format ";;;###coding system: %s\n"
+			   buffer-file-coding-system))
+	   (insert "(if (featurep '" sym ")")
 	   (insert " (error \"Feature " sym " already loaded\"))\n")
 	   (goto-char (point-max))
 	   (save-excursion
--- a/src/ChangeLog	Fri Mar 05 15:11:52 2010 +0000
+++ b/src/ChangeLog	Fri Mar 05 17:51:36 2010 -0600
@@ -1,3 +1,11 @@
+2010-03-05  Ben Wing  <ben@xemacs.org>
+
+	* mule-coding.c:
+	* mule-coding.c (iso2022_encode):
+	Horrible bug: `escape-quoted' was failing to escape-quote special
+	characters in the 0x80 - 0x9F range.  Who knows what breakage ensued?
+	SAME BUG IN XEMACS 21.4; MUST BE FIXED THERE TOO.
+
 2010-03-03  Ben Wing  <ben@xemacs.org>
 
 	* lrecord.h: Fix outdated comment.
--- a/src/mule-coding.c	Fri Mar 05 15:11:52 2010 +0000
+++ b/src/mule-coding.c	Fri Mar 05 17:51:36 2010 -0600
@@ -1,7 +1,7 @@
 /* Conversion functions for I18N encodings, but not Unicode (in separate file).
    Copyright (C) 1991, 1995 Free Software Foundation, Inc.
    Copyright (C) 1995 Sun Microsystems, Inc.
-   Copyright (C) 2000, 2001, 2002 Ben Wing.
+   Copyright (C) 2000, 2001, 2002, 2010 Ben Wing.
 
 This file is part of XEmacs.
 
@@ -2545,7 +2545,7 @@
 	  if (EQ (charset, Vcharset_control_1))
 	    {
 	      if (XCODING_SYSTEM_ISO2022_ESCAPE_QUOTED (codesys)
-		  && fit_to_be_escape_quoted (c))
+		  && fit_to_be_escape_quoted (c - 0x20))
 		Dynarr_add (dst, ISO_CODE_ESC);
 	      /* you asked for it ... */
 	      Dynarr_add (dst, c - 0x20);