[PATCH packages] [Bug: 21.4.19] XEmacs hangs at exit with "No such coding system: iso-2022-8"

Murray Eisenberg murray at math.umass.edu
Tue Jul 25 10:32:50 EDT 2006


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

-- 
Murray Eisenberg                     murray at 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




More information about the XEmacs-Beta mailing list