From: Eli Zaretskii <eliz@gnu.org>
To: emacs-devel@gnu.org
Subject: multi-tty breakage on MS-Windows
Date: Sat, 08 Sep 2007 12:56:35 +0300 [thread overview]
Message-ID: <uhcm5scoc.fsf@gnu.org> (raw)
I've just built the current CVS HEAD on MS-Windows, and immediately
saw two problems:
. emacsclient is incompatible with Emacs 22.1's server: it causes
Emacs 22.1 to spew all kinds of weirdo error messages; here are a
few examples:
File no longer exists: -env, write buffer to file? (y or n)
File no longer exists: -file, write buffer to file? (y or n)
File no longer exists: -dir, write buffer to file? (y or n)
Use M-x make-directory RET RET to create the directory and its parents [3 times]
error in process filter: basic-save-buffer-2: d:/gnu/emacs/windir=C:/USERPROFILE=C:/Documents and Settings/TMPDIR=D:/usr/TMP=C:/DOCUME~1/Zaretzky/LOCALS~1/TEMP=C:/DOCUME~1/Zaretzky/LOCALS~1/SystemRoot=C:/: no such directory
Is this incompatibility an absolute must?
. "emacs -nw" crashes on startup; backtrace attached below.
emacs.exe caused an Access Violation at location 01095c7c in module emacs.exe Reading from location 00000148.
Registers:
eax=00000000 ebx=00000003 ecx=01717a00 edx=00000001 esi=00000052 edi=00000000
eip=01095c7c esp=0082e6d0 ebp=0082e798 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
Call stack:
01095C7C emacs.exe:01095C7C update_frame_line dispnew.c:5781
...
tem = (nlen - nsp) - (olen - osp);
> if (endmatch && tem
&& (!FRAME_CHAR_INS_DEL_OK (f)
|| endmatch <= char_ins_del_cost (f)[tem]))
...
010969DF emacs.exe:010969DF update_frame dispnew.c:5286
...
/* Update the individual lines as needed. Do bottom line first. */
if (MATRIX_ROW_ENABLED_P (desired_matrix, desired_matrix->nrows - 1))
> update_frame_line (f, desired_matrix->nrows - 1);
/* Now update the rest of the lines. */
...
0102F2BE emacs.exe:0102F2BE echo_area_display xdisp.c:8770
...
}
else
> update_frame (f, 1, 1);
/* If cursor is in the echo area, make sure that the next
...
0102FAF1 emacs.exe:0102FAF1 message2_nolog xdisp.c:7517
...
do_pending_window_change (0);
echo_area_display (1);
> do_pending_window_change (0);
if (FRAME_TERMINAL (f)->frame_up_to_date_hook != 0 && ! gc_in_progress)
(*FRAME_TERMINAL (f)->frame_up_to_date_hook) (f);
...
0102FBE0 emacs.exe:0102FBE0 message1_nolog xdisp.c:7650
...
char *m;
{
> message2_nolog (m, (m ? strlen (m) : 0), 0);
}
...
01066102 emacs.exe:01066102 Fgarbage_collect alloc.c:5156
...
if (garbage_collection_messages)
> message1_nolog ("Garbage collecting...");
BLOCK_INPUT;
...
0100B496 emacs.exe:0100B496 Feval eval.c:2259
...
{
GCPRO1 (form);
> Fgarbage_collect ();
UNGCPRO;
}
...
010763C3 emacs.exe:010763C3 readevalloop lread.c:1562
...
/* Now eval what we just read. */
> val = (*evalfun) (val);
if (printflag)
...
01077090 emacs.exe:01077090 Fload lread.c:1031
...
readevalloop (Qget_file_char, stream, hist_file_name,
Feval, 0, Qnil, Qnil, Qnil, Qnil);
> unbind_to (count, Qnil);
/* Run any eval-after-load forms for this file */
...
0100CC22 emacs.exe:0100CC22 do_autoload eval.c:2208
...
/* Save the old autoloads, in case we ever do an unload. */
> queue = Vautoload_queue;
while (CONSP (queue))
{
...
0100B3D7 emacs.exe:0100B3D7 Feval eval.c:2290
...
/* Optimize for no indirection. */
> fun = original_fun;
if (SYMBOLP (fun) && !EQ (fun, Qunbound)
&& (fun = XSYMBOL (fun)->function, SYMBOLP (fun)))
...
010763C3 emacs.exe:010763C3 readevalloop lread.c:1562
...
/* Now eval what we just read. */
> val = (*evalfun) (val);
if (printflag)
...
01076A75 emacs.exe:01076A75 Feval_buffer lread.c:1627
...
readevalloop (buf, 0, filename, Feval,
!NILP (printflag), unibyte, Qnil, Qnil, Qnil);
> unbind_to (count, Qnil);
return Qnil;
...
0100C233 emacs.exe:0100C233 Ffuncall eval.c:3050
...
goto done;
case 5:
> val = (*XSUBR (fun)->function) (internal_args[0], internal_args[1],
internal_args[2], internal_args[3],
internal_args[4]);
...
01110643 emacs.exe:01110643 Fbyte_code bytecode.c:679
...
}
#endif
> TOP = Ffuncall (op + 1, &TOP);
AFTER_POTENTIAL_GC ();
break;
...
0100BB87 emacs.exe:0100BB87 funcall_lambda eval.c:3228
...
}
> return unbind_to (count, val);
}
...
0100C07C emacs.exe:0100C07C Ffuncall eval.c:3105
...
done:
CHECK_CONS_LIST ();
> lisp_eval_depth--;
if (backtrace.debug_on_exit)
val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
...
0100C414 emacs.exe:0100C414 call4 eval.c:2892
...
RETURN_UNGCPRO (Ffuncall (5, &fn));
#endif /* not NO_ARG_ARRAY */
> }
/* Call function fn with 5 arguments arg1, arg2, arg3, arg4, arg5 */
...
01077358 emacs.exe:01077358 Fload lread.c:986
...
NILP (noerror) ? Qnil : Qt,
NILP (nomessage) ? Qnil : Qt);
> return unbind_to (count, val);
}
}
...
0100C233 emacs.exe:0100C233 Ffuncall eval.c:3050
...
goto done;
case 5:
> val = (*XSUBR (fun)->function) (internal_args[0], internal_args[1],
internal_args[2], internal_args[3],
internal_args[4]);
...
01110643 emacs.exe:01110643 Fbyte_code bytecode.c:679
...
}
#endif
> TOP = Ffuncall (op + 1, &TOP);
AFTER_POTENTIAL_GC ();
break;
...
0100BB87 emacs.exe:0100BB87 funcall_lambda eval.c:3228
...
}
> return unbind_to (count, val);
}
...
0100C07C emacs.exe:0100C07C Ffuncall eval.c:3105
...
done:
CHECK_CONS_LIST ();
> lisp_eval_depth--;
if (backtrace.debug_on_exit)
val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
...
01110643 emacs.exe:01110643 Fbyte_code bytecode.c:679
...
}
#endif
> TOP = Ffuncall (op + 1, &TOP);
AFTER_POTENTIAL_GC ();
break;
...
0100B7AB emacs.exe:0100B7AB Feval eval.c:2373
...
goto done;
case 3:
> val = (*XSUBR (fun)->function) (argvals[0], argvals[1],
argvals[2]);
goto done;
...
0100DAF4 emacs.exe:0100DAF4 internal_lisp_condition_case eval.c:1437
...
handlerlist = &h;
> val = Feval (bodyform);
catchlist = c.next;
handlerlist = h.next;
...
01110C23 emacs.exe:01110C23 Fbyte_code bytecode.c:869
...
body = POP;
BEFORE_POTENTIAL_GC ();
> TOP = internal_lisp_condition_case (TOP, body, handlers);
AFTER_POTENTIAL_GC ();
break;
...
0100BB87 emacs.exe:0100BB87 funcall_lambda eval.c:3228
...
}
> return unbind_to (count, val);
}
...
0100C07C emacs.exe:0100C07C Ffuncall eval.c:3105
...
done:
CHECK_CONS_LIST ();
> lisp_eval_depth--;
if (backtrace.debug_on_exit)
val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
...
01110643 emacs.exe:01110643 Fbyte_code bytecode.c:679
...
}
#endif
> TOP = Ffuncall (op + 1, &TOP);
AFTER_POTENTIAL_GC ();
break;
...
0100BB87 emacs.exe:0100BB87 funcall_lambda eval.c:3228
...
}
> return unbind_to (count, val);
}
...
0100BE04 emacs.exe:0100BE04 apply_lambda eval.c:3147
...
}
backtrace_list->evalargs = 0;
> tem = funcall_lambda (fun, XINT (numargs), arg_vector);
/* Do the debug-on-exit now, while arg_vector still exists. */
...
0100B4CC emacs.exe:0100B4CC Feval eval.c:2434
...
CHECK_CONS_LIST ();
> lisp_eval_depth--;
if (backtrace.debug_on_exit)
val = call_debugger (Fcons (Qexit, Fcons (val, Qnil)));
...
010512C1 emacs.exe:010512C1 top_level_2 keyboard.c:1415
...
{
return Feval (Vtop_level);
> }
Lisp_Object
...
0100A3E5 emacs.exe:0100A3E5 internal_condition_case eval.c:1495
...
val = (*bfun) ();
> catchlist = c.next;
handlerlist = h.next;
return val;
...
010512F3 emacs.exe:010512F3 top_level_1 keyboard.c:1427
...
else
message ("Bare Emacs (standard Lisp code not loaded)");
> return Qnil;
}
...
0100A31A emacs.exe:0100A31A internal_catch eval.c:1229
...
/* Call FUNC. */
if (! _setjmp (c.jmp))
> c.val = (*func) (arg);
/* Throw works by a longjmp that comes right here. */
...
01051098 emacs.exe:01051098 command_loop keyboard.c:1384
...
any_kboard_state ();
#endif
> internal_catch (Qtop_level, command_loop_2, Qnil);
executing_kbd_macro = Qnil;
...
0105114A emacs.exe:0105114A recursive_edit_1 keyboard.c:994
...
val = command_loop ();
> if (EQ (val, Qt))
Fsignal (Qquit, Qnil);
/* Handle throw from read_minibuf when using minibuffer
...
0105126B emacs.exe:0105126B Frecursive_edit keyboard.c:1056
...
recursive_edit_1 ();
> return unbind_to (count, Qnil);
}
...
010029C6 emacs.exe:010029C6 main emacs.c:1781
...
/* NOTREACHED */
return 0;
> }
/* Sort the args so we can find the most important ones
...
010011E7 emacs.exe:010011E7
01001238 emacs.exe:01001238
7C816D4F kernel32.dll:7C816D4F RegisterWaitForInputIdle
next reply other threads:[~2007-09-08 9:56 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-08 9:56 Eli Zaretskii [this message]
2007-09-08 15:32 ` multi-tty breakage on MS-Windows Dan Nicolaescu
2007-09-08 16:29 ` Eli Zaretskii
2007-09-08 17:24 ` Dan Nicolaescu
2007-09-08 17:48 ` martin rudalics
[not found] ` <E1IUCJC-0000YJ-0c@fencepost.gnu.org>
2007-09-10 3:35 ` Dan Nicolaescu
2007-09-10 4:44 ` dhruva
2007-09-10 23:54 ` Richard Stallman
2007-09-08 19:48 ` Stephen J. Turnbull
2007-09-09 20:05 ` Richard Stallman
2007-09-22 13:00 ` Eli Zaretskii
2007-09-22 21:16 ` Jason Rumney
2007-09-23 4:16 ` Eli Zaretskii
2007-09-23 11:37 ` Jason Rumney
2007-09-23 13:18 ` dhruva
2007-09-23 13:28 ` Jason Rumney
2007-09-25 9:01 ` Jason Rumney
2007-09-26 15:24 ` Eli Zaretskii
2007-09-09 19:51 ` Stefan Monnier
2007-09-09 20:03 ` David Kastrup
2007-09-10 3:21 ` Eli Zaretskii
-- strict thread matches above, loose matches on Subject: below --
2007-09-08 18:18 Angelo Graziosi
2007-09-09 21:18 Angelo Graziosi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=uhcm5scoc.fsf@gnu.org \
--to=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.