[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Emacs HEAD regressions (another test case)
From: |
sand |
Subject: |
Re: Emacs HEAD regressions (another test case) |
Date: |
Thu, 5 Feb 2009 18:42:06 -0800 |
Angelo Graziosi writes:
> address@hidden ha scritto:
> >
> > Anything that can generate 6kB lines in your complation buffer should
> > do. Try calling a shell script that writes the long line. For me, it
> > was a long compilation line from "make".
>
> Indeed! The attached script 'prints' 6x1024 'x' characters, and on
> GNU/LINUX KUBUNTU 8.04.02 it takes:
>
> 4 seconds with Emacs CVS LESS THAN OR EQUAL TO (<=) 20090129 15:30
>
> 2:15 minutes, i.e. 60x2+15=135 seconds with Emacs GREATER THAN OR EQUAL
> TO (>=) 20090129 15:40!
>
> To reproduce:
>
> $ emacs -Q &
>
> M-x compile
> C-a C-k
> ./test_script-6KB.sh
>
I can repro the success and failure cases on those two times. Note
that people need to set their timezone to CET for those timestamps to
be accurate:
env TZ=CET cvs diff -D '2009-01-29 15:30' -D '2009-01-29 15:40'
That diff contains changes for pending signals.
+2009-01-29 Chong Yidong <address@hidden>
+
+ * keyboard.c (pending_signals): New var.
+ (poll_for_input, input_available_signal, init_keyboard): Set it.
+ (process_pending_signals): New function.
+
+ * lisp.h (QUIT): Check pending_signals instead of
+ interrupt_input_pending. Use process_pending_signals.
+
+ * atimer.c (run_timers, alarm_signal_handler): Update
+ pending_signals.
+
+ * process.c (wait_reading_process_output): Use
+ process_pending_signals.
+
+ * sysdep.c (emacs_write): Use process_pending_signals.
+
+ * xterm.c (XTread_socket): Update pending_signals.
+
+ * w32term.c (w32_read_socket): Update pending_signals.
+
+ * w32inevt.c (w32_console_read_socket): Update pending_signals.
+
Derek