That addition to init.el fixes the problem. Thank you!
I won't try to patch and recompile locally, since I have never before
compiled XEmacs from source. For now I'll leave the fix in init.el and
wait for the new package to be released.
Stephen J. Turnbull wrote:
>>>>> "Murray" == Murray Eisenberg
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> Debugger entered--Lisp error: (error "No such coding system"
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:
(if (featurep 'xemacs)
(if (fboundp 'find-coding-system)
(or (find-coding-system 'utf-8)
;; support --with-file-coding
;; drop back 15 and punt!
;; assume Emacs 20, at least
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
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.
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)
+;; 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!
+ ;; assume Emacs 20, at least
"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.")
Murray Eisenberg murray(a)math.umass.edu
Mathematics & Statistics Dept.
Lederle Graduate Research Tower phone 413 549-1020 (H)
University of Massachusetts 413 545-2859 (W)
710 North Pleasant Street fax 413 545-1801
Amherst, MA 01003-9305