emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

multi-tty breakage on MS-Windows


From: Eli Zaretskii
Subject: multi-tty breakage on MS-Windows
Date: Sat, 08 Sep 2007 12:56:35 +0300

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]