>>>> "Matt" == Matt Tucker
<tuck(a)whistlingfish.net> writes:
Matt> The following patch fixes the crash, but don't ask me why:
It looks to me XSETINT changes the value of the first argument before
evaluating the second. Oops.
Index: callint.c
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/src/callint.c,v
retrieving revision 1.12.2.8
diff -u -r1.12.2.8 callint.c
--- callint.c 2000/11/13 09:00:30 1.12.2.8
+++ callint.c 2001/02/21 03:08:42
@@ -933,7 +933,10 @@
temporarily, convert it to an integer now. */
for (argnum = 0; argnum < argcount; argnum++)
if (!NILP (varies[argnum]))
- XSETINT (args[argnum], marker_position (args[argnum]));
+ {
+ Bufpos tmp = marker_position (args[argnum]);
+ XSETINT (args[argnum], tmp);
+ }
single_console_state ();
specbind (Qcommand_debug_status, Qnil);
Matt> I'm not going to commit this, since I'm not certain it's the
Matt> right thing to do. Perhaps someone with a little more
Matt> experience with this code than I have can offer an opinion?
The alternative would be to fix the lisp-union.h versions of
XSETINT and XSETCHAR, but it's not obvious to me how offhand.
Ben? Martin?
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."