unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* multi-tty breakage on MS-Windows
@ 2007-09-08  9:56 Eli Zaretskii
  2007-09-08 15:32 ` Dan Nicolaescu
  0 siblings, 1 reply; 23+ messages in thread
From: Eli Zaretskii @ 2007-09-08  9:56 UTC (permalink / raw)
  To: emacs-devel

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

^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: multi-tty breakage on MS-Windows
@ 2007-09-08 18:18 Angelo Graziosi
  0 siblings, 0 replies; 23+ messages in thread
From: Angelo Graziosi @ 2007-09-08 18:18 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eli Zaretskii, Dan Nicolaescu


A stange coincidence.

I flag this for the sake of completeness.


Eli Zaretskii wrote:

> "emacs -nw" crashes on startup;

After these changes:

---------------------------------------------------------------------
2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>

	* window.c (prefer_window_split_horizontally): New variable.
	(display_buffer): Consider splitting window horizontally depending
	on prefer_window_split_horizontally.

2007-09-08  Eli Zaretskii  <eliz@gnu.org>

	* sysdep.c [WINDOWSNT]: Don't include sysselect.h
--------------------------------------------------------------

this happens also on Cygwin BUT ONLY IF "emacs -nw" is started from the
DOS-like shell (cygwin.bat).

If it is started from an X shell it works fine ("emacs &" and "emacs
-nw").

The build I did after these changes (CVS cheched out less than 24 hours
ago):
------------------------------------------
2007-09-07  Stefan Monnier  <monnier@iro.umontreal.ca>

	* s/cygwin.h (GC_MARK_STACK): Enable conservative stack marking.

	* frame.c (x_set_frame_parameters): Check number is positive
before
	using XFASTINT.

	* window.c (freeze_window_start): Don't presume selected_window
holds
	a window object.
	(Fdisplay_buffer): Remove `register' since `buffer' needs to be
gcpro'd.
------------------------------------------

works fine from all shells (X, Dos-like).


Cheers,

   Angelo.

^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: multi-tty breakage on MS-Windows
@ 2007-09-09 21:18 Angelo Graziosi
  0 siblings, 0 replies; 23+ messages in thread
From: Angelo Graziosi @ 2007-09-09 21:18 UTC (permalink / raw)
  To: emacs-devel; +Cc: Eli Zaretskii, Dan Nicolaescu, Stefan Monnier, f.axelsson


As I described here

http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00756.html

the changes to emacs/src/window.c and to emacs/lisp/cus-start.el
-------------------------------------
2007-09-08  Fredrik Axelsson  <f.axelsson@gmail.com>

	* cus-start.el (all): Add prefer-window-split-horizontally from
	window.c.
-------------------------------------

make Emacs-CVS to crash when started as "emacs -nw" from the Cygwin
Dos-like shell (cygwin.bat) but not from an X shell.

If one, after a fresh CVS check out, substitutes window.c and cus-start.el
with the previous version, Emacs works fine when started from all shells
(Dos-like, rxvt, urxvt, xterm). Also emacsclient works fine.

Since I read this

http://lists.gnu.org/archive/html/emacs-devel/2007-09/msg00773.html,

should the changes to window.c and cus-start.el be reverted?

If not, we have to file an Emacs bug on Cygwin.


   Angelo.

^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2007-09-26 15:24 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-08  9:56 multi-tty breakage on MS-Windows Eli Zaretskii
2007-09-08 15:32 ` 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

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).