From: Stephen J. Turnbull [mailto:stephenï¼ xemacs.org]
>>>>> "Paul" == Paul Moore <Moore>
writes:
Paul> Sorry. On the File menu, item "Page Setup..."
Windose only. Steve, you're off the hook.
Paul> Executing (generic-page-setup) in the *scratch*
Paul> buffer, immediately after startup, causes the same
Paul> crash.
Not for me, it doesn't.
Hmm. It does for me on two separate PCs. One Win2k and one XP Home.
Both using the same binary, built on the Win2k PC, though.
Windows 2k, XEmacs 21.5.11 (2003-04-02 CVS update).
Mine's the released 21.5.11. Is there a CVS snapshot (source)
anywhere I could try with? I don't have CVS on the machine with a
fast connection (firewall issues) so I can't get the CVS version
myself.
Can you get us a C backtrace?
OK. I had a go. I don't know how to print anything useful out of
Visual C++, but the crash comes from an abort() call in console.c
get_console_variant(), marked with a comment /* should never happen */.
"type" is 23503856, but as this is a Lisp_Object, which is typedef'd
as an EMACS_INT, a pure integer, MSVC won't show me any fields which
might be of use...
Hmm. By a bit of digging and typecasting, it looks like "type" is a
Lisp_Symbol with name "msprinter". Which is indeed not an option for
get_console_variant().
get_console_variant() is called from allocate_console(), which is in
turn called from create_console(), which is called from Fmake_device().
Type is passed down as a parameter through all these calls.
Next call up is Ffuncall(), at which point I can't follow what's going
on any more :-(
But I see in the Lisp backtrace, which I included in the original mail,
that there is a call to make-device(msprinter nil). I can't see much in
the Lisp backtrace to help debug further though. It looks like make-
device was called from Printer-get-device.
Hope this helps. If you need any more information, or you can tell me
how to get something you could use out of MSVC, then let me know.
Paul.