xemacs broken after security update

I’m running Suse 11.2. Xemacs worked fine until I did a security update yesterday. Now, when I try to open a file, the file doesn’t open and at the bottom of the window it says 'Loading this file requires xemacs, (null(function-max-args ‘throw))’
Help?

  • cadence13,

you mean when clicking a file from the file system? Can you start emacs and open it from there? In this case it’s only the file association that’s broken.

Uwe

It doesn’t matter which file I try to open, they all open fine in gedit, and not in xemacs. Emacs hasn’t worked for me since I upgraded to suse 11.2. For now I’m using gedit, but I much prefer xemacs.

  • cadence13

again, can you launch Emacs without opening a file and then open the file from within Emacs?

Uwe

Sorry, yes I can open a file from within emacs.

cadence13 wrote:
> Sorry, yes I can open a file from within emacs.

then what you have is a need to reset which files are associated with
xemacs…you didn’t say which desktop environment
(KDE/GNOME/XFCE/other) you are using so i can’t be precise (one can
have gedit, kedit and many others active in any of those desktops),
so you may have to hunt some (or a lot), but this is the way i would
do it here:

Menu (lizard in the corner, bottom left probably) > Personal Settings
(Configure Desktop) [may be hidden] > KDE Components > File Associations

then pick the category of file types which are now opening with
kwrite…like ‘text’, left click on the + and look for (say) ‘plain’,
left click on ‘plain’ and the dialog will expand and you will see
KWrite at the top of the list and emacs (xemacs, and others
probably) down the list…just left click on the one you want to
always open the file type you selected, and then click to “Move Up”
until it is on the top of the list, click apply and move on to the
next file type…

oh, i just found it in my notes “configure desktop” is kcontrol in
KDE and in gnome it is systemsettings…so, if you don’t find it
easily under the Menu, just hold down Alt and press F2, up will pop a
run command, type in kcontrol or systemsttings (as applicable–i have
NO idea what it might be for XFCE, or any of the others) and press enter…

hope this is helpful…


palladium

Thanks, I’m running gnome. Typing systemsettings does nothing though, and I can’t find the file associations. I opened the default applications file in /usr/share/applications and xemacs is listed for text,plain, c++, etc.

IMO SuSE used a buggy or experimental byte compiler for a lot of *.elc files. I’ve fixed the problem removing the buggy *.elc and falling back to the *.el sources.

First install the lisp sources if not already done:

zypper in xemacs-el

Next remove the buggy *.elc:

for i in /usr/share/xemacs/xemacs-packages/lisp//.elc ; do grep -q ‘null (function-max-arg’ $i && rm $i ; done

if you installed the mule-packages you should do the same in /usr/share/xemacs/mule-packages/lisp

There is another buggy string in the elc files. I suggest the same procedure like above on the string ‘Loading this file requires xemacs, (subrp (symbol-function’ instead of ‘null (function-max-arg’

After Restart xemacs will use the *.el files instead missing *.elc files.

Good Luck!
Kind regards Ralf


Linux ist like a Wigwam:
No Windows, no Gates and Apache inside.

Thanks ralfsoergel! That did the trick.

Thanks also to ralfsoergel - this fix to the buggy .elc files almost fixes everything.
However, when I first run .xemacs I get the 'Loading this file requires xemacs, (null(function-max-args ‘throw))’ message, and it fails to load my ~/.xemacs/init.el file.

If I then manually do load-file of ~/.xemacs/init.el, it loads just fine!
Any ideas what is messing up the initial run of xemacs?

Thanks in advance!

Jon B