>>>> "Murray" == Murray Eisenberg
<murray(a)math.umass.edu> writes:
Murray> At first I thought this was caused by AUCTeX, but AUCTeX
Murray> expert David Kastrup says the problem is "very clearly an
Murray> XEmacs-internal" one that has no particular relation to
Murray> AUCTeX.
Murray> Debugger entered--Lisp error: (error "No such coding system"
iso-2022-8)
Actually, the problem is not XEmacs-internal. It's due to a library
that was coded by somebody who assumed that Mule facilities are always
available, but XEmacs 21.4 on Windows doesn't support Mule well, and
it's almost never available in that configuration.
The included patch should work. To test without patching and
recompiling, you can put the following form in your init.el:
(setq savehist-coding-system
(if (featurep 'xemacs)
(if (fboundp 'find-coding-system)
(or (find-coding-system 'utf-8)
(find-coding-system 'iso-2022-8)
;; support --with-file-coding
(find-coding-system 'binary))
;; drop back 15 and punt!
'binary)
;; assume Emacs 20, at least
'utf-8))
Please let me know if that does work for you. If so, I'll apply it to
CVS and we should have a package release in short order.
If you do decide to apply the patch locally, it will not interfere
with future upgrades of the package in any way (but if you upgrade
"too soon" you'll lose the patch). Don't forget to recompile with M-x
byte-compile-file.
Index: xemacs-packages/edit-utils/ChangeLog
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/edit-utils/ChangeLog,v
retrieving revision 1.222
diff -u -U0 -r1.222 ChangeLog
--- xemacs-packages/edit-utils/ChangeLog 28 Jun 2006 07:58:06 -0000 1.222
+++ xemacs-packages/edit-utils/ChangeLog 25 Jul 2006 04:28:16 -0000
@@ -0,0 +1,5 @@
+2006-07-25 Stephen J. Turnbull <stephen(a)xemacs.org>
+
+ * savehist.el (savehist-coding-system): Get a usable value
+ regardless of presence of file-coding. Document the issue.
+
Index: xemacs-packages/edit-utils/savehist.el
===================================================================
RCS file: /pack/xemacscvs/XEmacs/packages/xemacs-packages/edit-utils/savehist.el,v
retrieving revision 1.4
diff -u -r1.4 savehist.el
--- xemacs-packages/edit-utils/savehist.el 14 Nov 2005 07:05:54 -0000 1.4
+++ xemacs-packages/edit-utils/savehist.el 25 Jul 2006 04:28:21 -0000
@@ -135,12 +135,23 @@
;; This should be capable of representing characters used by Emacs.
;; We prefer UTF-8 over ISO 2022 because it is well-known outside
-;; Mule. XEmacs prir to 21.5 had UTF-8 provided by an external
-;; package which may not be loaded, which is why we check for version.
-(defvar savehist-coding-system (if (and (featurep 'xemacs)
- (<= emacs-major-version 21)
- (< emacs-minor-version 5))
- 'iso-2022-8 'utf-8)
+;; Mule.
+;; XEmacs 21.1 or 21.4 may not have Mule, especially on Windows, so
+;; we check for existence of *any* coding system at all.
+;; #### Use of 'binary' as the fallback for non-Mule XEmacsen should
+;; sort-of work because it's only used (a) as a coding cookie and (b) by
+;; binding `coding-system-for-write', but maybe we should error if there
+;; is a non-binary coding cookie in that case. Needs thought....
+(defvar savehist-coding-system (if (featurep 'xemacs)
+ (if (fboundp 'find-coding-system)
+ (or (find-coding-system 'utf-8)
+ (find-coding-system 'iso-2022-8)
+ ;; support --with-file-coding
+ (find-coding-system 'binary))
+ ;; drop back 15 and punt!
+ 'binary)
+ ;; assume Emacs 20, at least
+ 'utf-8))
"The coding system savehist uses for saving the minibuffer history.
Changing this value while Emacs is running is supported, but considered
unwise, unless you know what you are doing.")
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.