I have only experienced this on hidden files, but I am not certain this
is the fact.
I am not the only one who has had this error.
Have an error like this occurred before, and does anyone know the cause?
Stein Inge Morisbak
> After we installed Emacs 20.3.1 on Sparc Sun Solaris 2.7, X tool kit,
> we have sometimes been getting the error message:
> "Wrong type argument: symbolp, 129" when saving.
Strange. Can you M-x toggle-debug-on-error RET and post a backtrace
when the error occurs again?
If you have only just installed Emacs, upgrading to 20.4 may be an
option. Though I don't know if that makes the error go away.
kai
--
I like BOTH kinds of music.
> Stein Inge Morisbak <st...@ifi.uib.no> writes:
>
> > After we installed Emacs 20.3.1 on Sparc Sun Solaris 2.7, X tool kit,
> > we have sometimes been getting the error message:
> > "Wrong type argument: symbolp, 129" when saving.
>
> Strange. Can you M-x toggle-debug-on-error RET and post a backtrace
> when the error occurs again?
>
Here it is:
Signaling: (wrong-type-argument symbolp 129)
#[(x) " Ã Ä\n‰ ÂN)ÅH \"*‡" [x propname charset prefered-coding-system
plist-get 14] 4](129)
mapcar(#[(x) " Ã Ä\n‰ ÂN)ÅH \"*‡" [x propname charset
prefered-coding-system plist-get 14] 4] (129))
find-coding-systems-for-charsets((129))
select-safe-coding-system(1 9330 raw-text-unix)
write-region(1 9330 "/bruker/stein/.emacs" nil t "~/.emacs")
basic-save-buffer-2()
basic-save-buffer-1()
basic-save-buffer()
save-buffer(1)
call-interactively(save-buffer)
> Signaling: (wrong-type-argument symbolp 129)
> #[(x) " Ã Ä\n‰ ÂN)ÅH \"*‡" [x propname charset prefered-coding-system
> plist-get 14] 4](129)
This unreadable gibberish is byte code. It comes from an *.elc file.
If you load the corresponding *.el file, you will get a better backtrace.
> mapcar(#[(x) " Ã Ä\n‰ ÂN)ÅH \"*‡" [x propname charset
> prefered-coding-system plist-get 14] 4] (129))
> find-coding-systems-for-charsets((129))
This is the function that got called which was byte-compiled. Type
C-h f find-coding-systems-for-charsets RET to find out which file that
comes from. In this case, it is international/mule-cmds.elc, so you
should do M-x load-library RET mule-cmds.el RET. Not the ".el".
Repeat the error.
If you get some more byte code, repeat the procedure outlined above
until no more byte code is left when the error occurs.
Post the resulting backtrace.
I'm afraid something is totally hosed with your setup, or you have
discovered a bug in Emacs. If the latter, upgrading to 20.4 would be
advisable. For the former -- what setup have you got?
The resulting backtrace.
Signaling: (wrong-type-argument symbolp 129)
charset-info(129)
(aref (charset-info charset) 14)
(charset-plist charset)
(plist-get (charset-plist charset) propname)
(and (not (eq charset ...)) (plist-get (charset-plist charset)
propname))
get-charset-property(129 preferred-coding-system)
(if (eq x (quote unknown)) (quote raw-text) (get-charset-property x
(quote preferred-coding-system)))
(lambda (x) (if (eq x ...) (quote raw-text) (get-charset-property x
...)))(129)
mapcar((lambda (x) (if (eq x ...) (quote raw-text)
(get-charset-property x ...))) (129))
(let ((l ...) (charset-preferred-codings ...) (priorities ...) codings
coding safe) (if (memq ... charsets) (setq l ...)) (while l (setq coding
... l ...) (if ... ...)) (mapcar (quote cdr) (sort codings ...)))
(if (or (null charsets) (and ... ...)) (quote (undecided)) (setq
charsets (delq ... charsets)) (let (... ... ... codings coding safe) (if
... ...) (while l ... ...) (mapcar ... ...)))
find-coding-systems-for-charsets((129))
(let* ((charsets ...) (safe-coding-systems ...)) (if (or ... ... ...
...) default-coding-system (let ... ...) (let ... ...)))
select-safe-coding-system(1 9332 raw-text-unix)
write-region(1 9332 "/bruker/stein/.emacs" nil t "~/.emacs")
basic-save-buffer-2()
basic-save-buffer-1()
basic-save-buffer()
save-buffer(1)
call-interactively(save-buffer)
I'm afraid something is totally hosed with your setup, or you have
discovered a bug in Emacs. If the latter, upgrading to 20.4 would be
advisable. For the former -- what setup have you got?
I have upgraded to 20.4, but the same error occurs.
-Stein Inge
> find-coding-systems-for-charsets((129))
It seems something is hosed at this point already. I'm sure that 129
is not a charset. But how did that get there? One could try to have
a look at select-safe-coding-system in mule-cmds.el.
> (let* ((charsets ...) (safe-coding-systems ...)) (if (or ... ... ...
> ...) default-coding-system (let ... ...) (let ... ...)))
> select-safe-coding-system(1 9332 raw-text-unix)
> write-region(1 9332 "/bruker/stein/.emacs" nil t "~/.emacs")
> basic-save-buffer-2()
> basic-save-buffer-1()
> basic-save-buffer()
> save-buffer(1)
> call-interactively(save-buffer)
kai
I think I've found out what is the problem, but unfortunately not how to
solve it. Only files which use 8-bit characters gets this errormessage.
Do you know how to configure emacs to be able to save files using 8-bit
caracters?
Regards
Stein Inge
> Do you know how to configure emacs to be able to save files using 8-bit
> caracters?
What happens if you do (set-language-environment "Latin-1")?