* redisplay-dont-pause does not work @ 2006-05-25 10:52 David Kastrup 2006-05-26 2:21 ` Richard Stallman 0 siblings, 1 reply; 37+ messages in thread From: David Kastrup @ 2006-05-25 10:52 UTC (permalink / raw) I am checking for factual correctness of display.texi at the moment. It says: You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is pending, do this: @example (let ((redisplay-dont-pause t)) (sit-for 0)) @end example However, if I do M-: (progn (redraw-display) (let ((redisplay-dont-pause t)) (sleep-for 1) (sit-for 0) (sleep-for 5))) RET and press C-n within 1 second, then no redisplay occurs for the whole duration of 6 seconds. This is on GNU Emacs 22.0.50.36 (i686-pc-linux-gnu, GTK+ Version 2.8.17) of 2006-05-24 on lola -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-25 10:52 redisplay-dont-pause does not work David Kastrup @ 2006-05-26 2:21 ` Richard Stallman 2006-05-26 7:19 ` David Kastrup 0 siblings, 1 reply; 37+ messages in thread From: Richard Stallman @ 2006-05-26 2:21 UTC (permalink / raw) Cc: emacs-devel I am checking for factual correctness of display.texi at the moment. Thank you for checking it! However, if I do M-: (progn (redraw-display) (let ((redisplay-dont-pause t)) (sleep-for 1) (sit-for 0) (sleep-for 5))) RET and press C-n within 1 second, then no redisplay occurs for the whole duration of 6 seconds. That seems correct to me. sit-for sees there is input, so it does not redisplay. Do you perceive a contradiction between any part of the documentation and this observed behavior? ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-26 2:21 ` Richard Stallman @ 2006-05-26 7:19 ` David Kastrup 2006-05-27 3:36 ` Richard Stallman 0 siblings, 1 reply; 37+ messages in thread From: David Kastrup @ 2006-05-26 7:19 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > I am checking for factual correctness of display.texi at the moment. > > Thank you for checking it! > > However, if I do > > M-: (progn (redraw-display) (let ((redisplay-dont-pause t)) (sleep-for > 1) (sit-for 0) (sleep-for 5))) RET > > and press C-n within 1 second, then no redisplay occurs for the whole > duration of 6 seconds. > > That seems correct to me. sit-for sees there is input, so it does > not redisplay. > > Do you perceive a contradiction between any part of the documentation > and this observed behavior? Richard, I quoted it immediately above and you snipped it in your reply: You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is pending, do this: @example (let ((redisplay-dont-pause t)) (sit-for 0)) @end example Yes, I see a contradiction here. Setting `redisplay-dont-pause' does not have the declared effect, to wit "to force a display update even when input is pending". -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-26 7:19 ` David Kastrup @ 2006-05-27 3:36 ` Richard Stallman 2006-05-27 6:49 ` David Kastrup ` (2 more replies) 0 siblings, 3 replies; 37+ messages in thread From: Richard Stallman @ 2006-05-27 3:36 UTC (permalink / raw) Cc: emacs-devel You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is pending, do this: @example (let ((redisplay-dont-pause t)) (sit-for 0)) @end example Yes, I see a contradiction here. Setting `redisplay-dont-pause' does not have the declared effect, to wit "to force a display update even when input is pending". I think that text in the manual is mistaken. `redisplay-dont-pause' only affects redisplay itself. It has no effect on sit-for, which isn't (strictly speaking) redisplay. We could change the code, or change the manual. I am not sure which is better. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 3:36 ` Richard Stallman @ 2006-05-27 6:49 ` David Kastrup 2006-05-28 3:18 ` Richard Stallman 2006-05-27 8:24 ` Lars Hansen 2006-05-27 20:57 ` Kim F. Storm 2 siblings, 1 reply; 37+ messages in thread From: David Kastrup @ 2006-05-27 6:49 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > You can request a display update, but only if no input is pending, > with @code{(sit-for 0)}. To force a display update even when input is > pending, do this: > > @example > (let ((redisplay-dont-pause t)) > (sit-for 0)) > @end example > > Yes, I see a contradiction here. Setting `redisplay-dont-pause' does > not have the declared effect, to wit "to force a display update even > when input is pending". > > I think that text in the manual is mistaken. `redisplay-dont-pause' > only affects redisplay itself. It has no effect on sit-for, which > isn't (strictly speaking) redisplay. > > We could change the code, or change the manual. > I am not sure which is better. Given that there is no other way to force redisplay, I think it would be sensible to change the code. The manual would not talk about this possibility if there was not a perceived need for it. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 6:49 ` David Kastrup @ 2006-05-28 3:18 ` Richard Stallman 2006-05-28 7:47 ` David Kastrup 0 siblings, 1 reply; 37+ messages in thread From: Richard Stallman @ 2006-05-28 3:18 UTC (permalink / raw) Cc: emacs-devel Does this fix it? *** dispnew.c 01 May 2006 16:16:58 -0400 1.363 --- dispnew.c 27 May 2006 20:01:39 -0400 *************** *** 6405,6411 **** { swallow_events (display); ! if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) return Qnil; if (initial_display) --- 6405,6414 ---- { swallow_events (display); ! if ((detect_input_pending_run_timers (display) ! && NILP (Vredisplay_dont_pause)) ! || !NILP (Vexecuting_kbd_macro)) ! return Qnil; if (initial_display) ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-28 3:18 ` Richard Stallman @ 2006-05-28 7:47 ` David Kastrup 2006-05-29 6:38 ` Richard Stallman 0 siblings, 1 reply; 37+ messages in thread From: David Kastrup @ 2006-05-28 7:47 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > Does this fix it? > > *** dispnew.c 01 May 2006 16:16:58 -0400 1.363 > --- dispnew.c 27 May 2006 20:01:39 -0400 > *************** > *** 6405,6411 **** > { > swallow_events (display); > > ! if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) > return Qnil; > > if (initial_display) > --- 6405,6414 ---- > { > swallow_events (display); > > ! if ((detect_input_pending_run_timers (display) > ! && NILP (Vredisplay_dont_pause)) > ! || !NILP (Vexecuting_kbd_macro)) > ! > return Qnil; > > if (initial_display) /home/tmp/emacs/src/dispnew.c: In function ‘sit_for’: /home/tmp/emacs/src/dispnew.c:6409: error: ‘Vredisplay_dont_pause’ undeclared (first use in this function) /home/tmp/emacs/src/dispnew.c:6409: error: (Each undeclared identifier is reported only once /home/tmp/emacs/src/dispnew.c:6409: error: for each function it appears in.) make[1]: *** [dispnew.o] Error 1 make[1]: Leaving directory `/usr/local/tmp/emacs-build/src' make: *** [src] Error 2 -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-28 7:47 ` David Kastrup @ 2006-05-29 6:38 ` Richard Stallman 2006-05-29 8:08 ` Kim F. Storm 0 siblings, 1 reply; 37+ messages in thread From: Richard Stallman @ 2006-05-29 6:38 UTC (permalink / raw) Cc: emacs-devel Thanks. Does this do it? *** dispnew.c 01 May 2006 16:16:58 -0400 1.363 --- dispnew.c 28 May 2006 19:07:02 -0400 *************** *** 356,362 **** static void add_frame_display_history P_ ((struct frame *, int)); static void add_window_display_history P_ ((struct window *, char *, int)); ! /* Add to the redisplay history how window W has been displayed. MSG is a trace containing the information how W's glyph matrix has been constructed. PAUSED_P non-zero means that the update --- 356,363 ---- static void add_frame_display_history P_ ((struct frame *, int)); static void add_window_display_history P_ ((struct window *, char *, int)); ! extern Lisp_Object Vredisplay_dont_pause; ! \f /* Add to the redisplay history how window W has been displayed. MSG is a trace containing the information how W's glyph matrix has been constructed. PAUSED_P non-zero means that the update *************** *** 6405,6411 **** { swallow_events (display); ! if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) return Qnil; if (initial_display) --- 6406,6415 ---- { swallow_events (display); ! if ((detect_input_pending_run_timers (display) ! && NILP (Vredisplay_dont_pause)) ! || !NILP (Vexecuting_kbd_macro)) ! return Qnil; if (initial_display) ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-29 6:38 ` Richard Stallman @ 2006-05-29 8:08 ` Kim F. Storm 2006-06-01 9:44 ` David Kastrup 0 siblings, 1 reply; 37+ messages in thread From: Kim F. Storm @ 2006-05-29 8:08 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > Thanks. Does this do it? Obviously not, as the variable is named redisplay_dont_pause. Try this: *** dispnew.c 01 May 2006 16:16:58 -0400 1.363 --- dispnew.c 28 May 2006 19:07:02 -0400 *************** *** 6405,6411 **** { swallow_events (display); ! if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) return Qnil; if (initial_display) --- 6406,6415 ---- { swallow_events (display); ! if ((detect_input_pending_run_timers (display) ! && !redisplay_dont_pause) ! || !NILP (Vexecuting_kbd_macro)) ! return Qnil; if (initial_display) -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-29 8:08 ` Kim F. Storm @ 2006-06-01 9:44 ` David Kastrup 2006-06-01 12:11 ` Eli Zaretskii 2006-06-01 13:52 ` Kim F. Storm 0 siblings, 2 replies; 37+ messages in thread From: David Kastrup @ 2006-06-01 9:44 UTC (permalink / raw) Cc: rms, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Richard Stallman <rms@gnu.org> writes: > >> Thanks. Does this do it? > > Obviously not, as the variable is named redisplay_dont_pause. > > Try this: > > *** dispnew.c 01 May 2006 16:16:58 -0400 1.363 > --- dispnew.c 28 May 2006 19:07:02 -0400 > *************** > *** 6405,6411 **** > { > swallow_events (display); > > ! if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) > return Qnil; > > if (initial_display) > --- 6406,6415 ---- > { > swallow_events (display); > > ! if ((detect_input_pending_run_timers (display) > ! && !redisplay_dont_pause) > ! || !NILP (Vexecuting_kbd_macro)) > ! > return Qnil; > > if (initial_display) This works as documented in the manual. The effect with a non-zero argument to sit-for is that redisplay happens immediately, then the wait is commenced until (or unless) input is available. Which appears natural enough. I propose checking this change in. It might be worth mentioning redisplay-dont-pause in the DOC string of sit-for. If people agree, I could write something for there. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-01 9:44 ` David Kastrup @ 2006-06-01 12:11 ` Eli Zaretskii 2006-06-01 13:52 ` Kim F. Storm 1 sibling, 0 replies; 37+ messages in thread From: Eli Zaretskii @ 2006-06-01 12:11 UTC (permalink / raw) Cc: emacs-devel > From: David Kastrup <dak@gnu.org> > Date: Thu, 01 Jun 2006 11:44:27 +0200 > Cc: rms@gnu.org, emacs-devel@gnu.org > > The effect with a non-zero argument to sit-for is that redisplay > happens immediately, then the wait is commenced until (or unless) > input is available. Which appears natural enough. Not only is it natural, I think it would be a bug if it worked any other way: one of sit-for's purposes is to let the user to read a message that is displayed for a short duration of time. If sit-for would wait first and redisplay after that, it would defeat this purpose. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-01 9:44 ` David Kastrup 2006-06-01 12:11 ` Eli Zaretskii @ 2006-06-01 13:52 ` Kim F. Storm 2006-06-01 20:22 ` David Kastrup 2006-06-05 9:00 ` Lars Hansen 1 sibling, 2 replies; 37+ messages in thread From: Kim F. Storm @ 2006-06-01 13:52 UTC (permalink / raw) Cc: rms, emacs-devel David Kastrup <dak@gnu.org> writes: > I propose checking this change in. Done. > It might be worth > mentioning redisplay-dont-pause in the DOC string of sit-for. If > people agree, I could write something for there. Please do. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-01 13:52 ` Kim F. Storm @ 2006-06-01 20:22 ` David Kastrup 2006-06-05 9:00 ` Lars Hansen 1 sibling, 0 replies; 37+ messages in thread From: David Kastrup @ 2006-06-01 20:22 UTC (permalink / raw) Cc: rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 303 bytes --] storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >> I propose checking this change in. > > Done. > >> It might be worth >> mentioning redisplay-dont-pause in the DOC string of sit-for. If >> people agree, I could write something for there. > > Please do. I came up with [-- Warning: decoded text below may be mangled, UTF-8 assumed --] [-- Attachment #2: Type: text/x-patch, Size: 710 bytes --] Index: dispnew.c =================================================================== RCS file: /sources/emacs/emacs/src/dispnew.c,v retrieving revision 1.364 diff -u -r1.364 dispnew.c *** dispnew.c 1 Jun 2006 13:53:19 -0000 1.364 --- dispnew.c 1 Jun 2006 20:18:09 -0000 *************** *** 6438,6443 **** --- 6438,6446 ---- if input is available before it starts. Value is t if waited the full time with no input arriving. + Redisplay will occur even when input is available if you bind + `redisplay-dont-pause' to a non-nil value. + An obsolete but still supported form is \(sit-for SECONDS &optional MILLISECONDS NODISP) Where the optional arg MILLISECONDS specifies an additional wait period, [-- Attachment #3: Type: text/plain, Size: 91 bytes --] If nobody complains, I'll check it in. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum [-- Attachment #4: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-01 13:52 ` Kim F. Storm 2006-06-01 20:22 ` David Kastrup @ 2006-06-05 9:00 ` Lars Hansen 2006-06-05 9:05 ` David Kastrup 2006-06-05 21:31 ` Richard Stallman 1 sibling, 2 replies; 37+ messages in thread From: Lars Hansen @ 2006-06-05 9:00 UTC (permalink / raw) Cc: rms, emacs-devel [-- Attachment #1: Type: text/plain, Size: 171 bytes --] Kim F. Storm wrote: >David Kastrup <dak@gnu.org> writes: > > > >> I propose checking this change in. >> >> > >Done. > > Thanks! What about something like this: [-- Attachment #2: subr.el.diff --] [-- Type: text/x-patch, Size: 409 bytes --] *** /home/lh/cvsroot/emacs/lisp/subr.el 2006-06-01 22:55:47.000000000 +0200 --- subr.el 2006-06-05 09:04:22.868010017 +0200 *************** *** 1869,1874 **** --- 1869,1879 ---- (setq buffer-file-name name) (set-buffer-modified-p modified)))) + (defun redisplay-now () + "Force display update." + (let ((redisplay-dont-pause t)) + (sit-for 0))) + \f ;;;; Overlay operations [-- Attachment #3: display.text.diff --] [-- Type: text/x-patch, Size: 708 bytes --] *** /home/lh/cvsroot/emacs/lispref/display.texi 2006-06-01 22:55:58.000000000 +0200 --- display.texi 2006-06-05 10:30:36.432000900 +0200 *************** *** 103,114 **** You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is ! pending, do this: ! ! @example ! (let ((redisplay-dont-pause t)) ! (sit-for 0)) ! @end example @node Truncation @section Truncation --- 103,109 ---- You can request a display update, but only if no input is pending, with @code{(sit-for 0)}. To force a display update even when input is ! pending, call @code{redisplay-now}. @node Truncation @section Truncation [-- Attachment #4: Type: text/plain, Size: 142 bytes --] _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:00 ` Lars Hansen @ 2006-06-05 9:05 ` David Kastrup 2006-06-05 9:19 ` Lars Hansen 2006-06-05 9:34 ` Slawomir Nowaczyk 2006-06-05 21:31 ` Richard Stallman 1 sibling, 2 replies; 37+ messages in thread From: David Kastrup @ 2006-06-05 9:05 UTC (permalink / raw) Cc: emacs-devel, rms, Kim F. Storm Lars Hansen <lists@soem.dk> writes: > Kim F. Storm wrote: > >>David Kastrup <dak@gnu.org> writes: >> >> >> >>> I propose checking this change in. >>> >>> >> >>Done. >> >> > Thanks! > > What about something like this: > > *** /home/lh/cvsroot/emacs/lisp/subr.el 2006-06-01 22:55:47.000000000 +0200 > --- subr.el 2006-06-05 09:04:22.868010017 +0200 > *************** > *** 1869,1874 **** > --- 1869,1879 ---- > (setq buffer-file-name name) > (set-buffer-modified-p modified)))) > > + (defun redisplay-now () > + "Force display update." > + (let ((redisplay-dont-pause t)) > + (sit-for 0))) > + > \f In my opinion it is too much of a hack to warrant a function of its own. A proper `redisplay-now' function should have the ability to redisplay just a particular window and/or frame. If we invent such a function, it should do something more thorough. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:05 ` David Kastrup @ 2006-06-05 9:19 ` Lars Hansen 2006-06-05 9:34 ` Slawomir Nowaczyk 1 sibling, 0 replies; 37+ messages in thread From: Lars Hansen @ 2006-06-05 9:19 UTC (permalink / raw) Cc: emacs-devel, rms, Kim F. Storm David Kastrup wrote: >In my opinion it is too much of a hack to warrant a function of its >own. A proper `redisplay-now' function should have the ability to >redisplay just a particular window and/or frame. > > Optional parameters could be added to the function if a better implementation is envented later. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:05 ` David Kastrup 2006-06-05 9:19 ` Lars Hansen @ 2006-06-05 9:34 ` Slawomir Nowaczyk 2006-06-05 9:38 ` David Kastrup 2006-06-05 9:38 ` Lars Hansen 1 sibling, 2 replies; 37+ messages in thread From: Slawomir Nowaczyk @ 2006-06-05 9:34 UTC (permalink / raw) On Mon, 05 Jun 2006 11:05:08 +0200 David Kastrup <dak@gnu.org> wrote: #> Lars Hansen <lists@soem.dk> writes: #> #> > + (defun redisplay-now () #> > + "Force display update." #> > + (let ((redisplay-dont-pause t)) #> > + (sit-for 0))) #> > + #> #> In my opinion it is too much of a hack to warrant a function of its #> own. A proper `redisplay-now' function should have the ability to #> redisplay just a particular window and/or frame. FWIW, I think it is important to have a functions *exactly* because it is a hack... this way, when people use the function, we can later reimplement it in a better way. Otherwise, the hacks will have to be hunted down and replaced one by one. -- Best wishes, Slawomir Nowaczyk ( slawomir.nowaczyk.847@student.lu.se ) Avoid metaphors like the plague. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:34 ` Slawomir Nowaczyk @ 2006-06-05 9:38 ` David Kastrup 2006-06-05 21:26 ` Kim F. Storm 2006-06-05 9:38 ` Lars Hansen 1 sibling, 1 reply; 37+ messages in thread From: David Kastrup @ 2006-06-05 9:38 UTC (permalink / raw) Cc: emacs-devel Slawomir Nowaczyk <slawomir.nowaczyk.847@student.lu.se> writes: > On Mon, 05 Jun 2006 11:05:08 +0200 > David Kastrup <dak@gnu.org> wrote: > > #> Lars Hansen <lists@soem.dk> writes: > #> > #> > + (defun redisplay-now () > #> > + "Force display update." > #> > + (let ((redisplay-dont-pause t)) > #> > + (sit-for 0))) > #> > + > #> > #> In my opinion it is too much of a hack to warrant a function of its > #> own. A proper `redisplay-now' function should have the ability to > #> redisplay just a particular window and/or frame. > > FWIW, I think it is important to have a functions *exactly* because it > is a hack... this way, when people use the function, we can later > reimplement it in a better way. Otherwise, the hacks will have to be > hunted down and replaced one by one. But the hacks will have to be hunted down and replaced one by one, anyway, since the stuff indiscriminately refreshes everything instead of just the required parts of the display. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:38 ` David Kastrup @ 2006-06-05 21:26 ` Kim F. Storm 2006-06-06 8:21 ` Lars Hansen 0 siblings, 1 reply; 37+ messages in thread From: Kim F. Storm @ 2006-06-05 21:26 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel David Kastrup <dak@gnu.org> writes: > But the hacks will have to be hunted down and replaced one by one, > anyway, since the stuff indiscriminately refreshes everything instead > of just the required parts of the display. Not so -- if we allow (but ignore) the object to update, code can be written as if it DTRT. (defun redisplay-now (&optional object) "Force immediate display update of all windows. If optional arg object is a frame, update display of that frame only. If optional arg object is a window, update display of that window only. If object is a buffer or buffer name, update display of all windows displaying that buffer." ;; There is currently no way to update individual windows, so ;; update everything. (let ((redisplay-dont-pause t)) (sit-for 0))) Of course, in this form, it redisplays way too much if you specify a window or frame object, but in most cases, nobody will be able to notice! See also force-window-update. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 21:26 ` Kim F. Storm @ 2006-06-06 8:21 ` Lars Hansen 2006-06-06 9:47 ` Kim F. Storm 0 siblings, 1 reply; 37+ messages in thread From: Lars Hansen @ 2006-06-06 8:21 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel Kim F. Storm wrote: >(defun redisplay-now (&optional object) > "Force immediate display update of all windows. >If optional arg object is a frame, update display of that frame only. >If optional arg object is a window, update display of that window only. >If object is a buffer or buffer name, update display of all windows >displaying that buffer." > ;; There is currently no way to update individual windows, so > ;; update everything. > (let ((redisplay-dont-pause t)) > (sit-for 0))) > > This would be great IMO. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-06 8:21 ` Lars Hansen @ 2006-06-06 9:47 ` Kim F. Storm 2006-06-06 9:58 ` David Kastrup 0 siblings, 1 reply; 37+ messages in thread From: Kim F. Storm @ 2006-06-06 9:47 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel Lars Hansen <lists@soem.dk> writes: > Kim F. Storm wrote: > >>(defun redisplay-now (&optional object) >> "Force immediate display update of all windows. >>If optional arg object is a frame, update display of that frame only. >>If optional arg object is a window, update display of that window only. >>If object is a buffer or buffer name, update display of all windows >>displaying that buffer." >> ;; There is currently no way to update individual windows, so >> ;; update everything. >> (let ((redisplay-dont-pause t)) >> (sit-for 0))) >> >> > This would be great IMO. Thinking some more about this, I'm a bit puzzled about what specific purpose anyone would have from doing this ... In most cases, if there are no changes to other parts of the frame, redisplay will not spend time on updating them... So if the concern is that updating all windows/frames is performance related, I think that's a non-issue. And even if it _does_ redisplay all windows/frames, only the actual changes to the display are actually propagated to the screen. So I'm back to supporting the original proposal of having an explicit "redisplay now" functionality ... but I propose to implement it as a special call to sit-for: (sit-for t) or perhaps as (sit-for 0 'redisplay-dont-pause). -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-06 9:47 ` Kim F. Storm @ 2006-06-06 9:58 ` David Kastrup 2006-06-06 11:40 ` Kim F. Storm 2006-06-06 12:44 ` Lars Hansen 0 siblings, 2 replies; 37+ messages in thread From: David Kastrup @ 2006-06-06 9:58 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Lars Hansen <lists@soem.dk> writes: > >> Kim F. Storm wrote: >> >>>(defun redisplay-now (&optional object) >>> "Force immediate display update of all windows. >>>If optional arg object is a frame, update display of that frame only. >>>If optional arg object is a window, update display of that window only. >>>If object is a buffer or buffer name, update display of all windows >>>displaying that buffer." >>> ;; There is currently no way to update individual windows, so >>> ;; update everything. >>> (let ((redisplay-dont-pause t)) >>> (sit-for 0))) > > Thinking some more about this, I'm a bit puzzled about what specific > purpose anyone would have from doing this ... > > In most cases, if there are no changes to other parts of the frame, > redisplay will not spend time on updating them... So if the concern > is that updating all windows/frames is performance related, I think > that's a non-issue. > > And even if it _does_ redisplay all windows/frames, only the actual > changes to the display are actually propagated to the screen. > > > So I'm back to supporting the original proposal of having an explicit > "redisplay now" functionality ... but I propose to implement it as a > special call to sit-for: (sit-for t) or perhaps as > (sit-for 0 'redisplay-dont-pause). If we are going to be mess around with sit-for's argument, we might as well use (sit-for -1) This is perfectly logical, since then no input has been seen during the time interval [0, limit]. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-06 9:58 ` David Kastrup @ 2006-06-06 11:40 ` Kim F. Storm 2006-06-09 11:50 ` David Kastrup 2006-06-13 23:04 ` Kim F. Storm 2006-06-06 12:44 ` Lars Hansen 1 sibling, 2 replies; 37+ messages in thread From: Kim F. Storm @ 2006-06-06 11:40 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel David Kastrup <dak@gnu.org> writes: > If we are going to be mess around with sit-for's argument, we might as > well use > > (sit-for -1) > > This is perfectly logical, since then no input has been seen during > the time interval [0, limit]. Excellent idea. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-06 11:40 ` Kim F. Storm @ 2006-06-09 11:50 ` David Kastrup 2006-06-13 23:04 ` Kim F. Storm 1 sibling, 0 replies; 37+ messages in thread From: David Kastrup @ 2006-06-09 11:50 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >> If we are going to be mess around with sit-for's argument, we might as >> well use >> >> (sit-for -1) >> >> This is perfectly logical, since then no input has been seen during >> the time interval [0, limit]. > > Excellent idea. Given that `redisplay-dont-pause' did not work previously in connection with sit-for (has there been some released Emacs version where it did something useful?), I think changing the call interface for sit-for to make negative arguments ignore pending input would be a logical idea. However, `redisplay-dont-pause' seems intended to be a user option, and it is heeded at some points in the code. In dispnew.c I find: /* Update display of window W. FORCE_P non-zero means that we should not stop when detecting pending input. */ static int update_window (w, force_p) struct window *w; int force_p; { struct glyph_matrix *desired_matrix = w->desired_matrix; int paused_p; int preempt_count = baud_rate / 2400 + 1; extern int input_pending; extern Lisp_Object do_mouse_tracking; #if GLYPH_DEBUG /* Check that W's frame doesn't have glyph matrices. */ xassert (FRAME_WINDOW_P (XFRAME (WINDOW_FRAME (w)))); xassert (updating_frame != NULL); #endif /* Check pending input the first time so that we can quickly return. */ if (redisplay_dont_pause) force_p = 1; else detect_input_pending_ignore_squeezables (); /* If forced to complete the update, or if no input is pending, do the update. */ What is strange here is that if the function is entered with "force_p" set, but not redisplay_dont_pause, then it will still do the input detection thingy. I don't know whether this is intended: I have no clue about redisplay. Other functions checking `redisplay_dont_pause' are update_frame_1, and of course recently sit_for. All of the functions appear to have a "force_p" argument as well, which might suffice for passing the information down the call chain from sit_for, but I am not too certain about it. And the way it reads in ChangeLog.21, `redisplay_dont_pause' might be intended for use as a global variable representing a user preference. It might probably make sense to retain that functionality (though I have my doubts that it corresponds to consistent behavior), but still make sit-for use its own argument for doing an unconditional refresh: those functions seem not really too related. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-06 11:40 ` Kim F. Storm 2006-06-09 11:50 ` David Kastrup @ 2006-06-13 23:04 ` Kim F. Storm 1 sibling, 0 replies; 37+ messages in thread From: Kim F. Storm @ 2006-06-13 23:04 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >> If we are going to be mess around with sit-for's argument, we might as >> well use >> >> (sit-for -1) >> >> This is perfectly logical, since then no input has been seen during >> the time interval [0, limit]. > > Excellent idea. .. which has now been implemented. Thanks. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-06 9:58 ` David Kastrup 2006-06-06 11:40 ` Kim F. Storm @ 2006-06-06 12:44 ` Lars Hansen 1 sibling, 0 replies; 37+ messages in thread From: Lars Hansen @ 2006-06-06 12:44 UTC (permalink / raw) Cc: Slawomir Nowaczyk, emacs-devel, Kim F. Storm David Kastrup wrote: >If we are going to be mess around with sit-for's argument, we might as >well use > >(sit-for -1) > >This is perfectly logical, since then no input has been seen during >the time interval [0, limit]. > > I like this idea. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:34 ` Slawomir Nowaczyk 2006-06-05 9:38 ` David Kastrup @ 2006-06-05 9:38 ` Lars Hansen 1 sibling, 0 replies; 37+ messages in thread From: Lars Hansen @ 2006-06-05 9:38 UTC (permalink / raw) Cc: emacs-devel Slawomir Nowaczyk wrote: >FWIW, I think it is important to have a functions *exactly* because it >is a hack... this way, when people use the function, we can later >reimplement it in a better way. Otherwise, the hacks will have to be >hunted down and replaced one by one. > > Thanks for expressing my thoughts :-) ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 9:00 ` Lars Hansen 2006-06-05 9:05 ` David Kastrup @ 2006-06-05 21:31 ` Richard Stallman 2006-06-06 8:38 ` Kim F. Storm 1 sibling, 1 reply; 37+ messages in thread From: Richard Stallman @ 2006-06-05 21:31 UTC (permalink / raw) Cc: emacs-devel, storm + (defun redisplay-now () + "Force display update." + (let ((redisplay-dont-pause t)) + (sit-for 0))) I don't want dinky little Lisp extensions now. Let's focus on what we need to do to make the release. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-06-05 21:31 ` Richard Stallman @ 2006-06-06 8:38 ` Kim F. Storm 0 siblings, 0 replies; 37+ messages in thread From: Kim F. Storm @ 2006-06-06 8:38 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > + (defun redisplay-now () > + "Force display update." > + (let ((redisplay-dont-pause t)) > + (sit-for 0))) > > I don't want dinky little Lisp extensions now. Let's focus on what we > need to do to make the release. There is a discussion on whether redisplay-dont-pause is a user option or not, and what other choices we have for separating the implications on sit-for vs. users who don't want the preemptive redisplay jumpiness on slow computers. We do have a problem/bug here ... the question is how to solve it. The above implementation of redisplay-now does not solve this problem, but some form of redisplay-now function detached from redisplay-dont-pause could be a solution. For emacs 22, what about just making (sit-for t) force an immediate display update, and in general let sit-for _not_ pay attention to redisplay-dont-pause? And update the docs/NEWS accordingly. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 3:36 ` Richard Stallman 2006-05-27 6:49 ` David Kastrup @ 2006-05-27 8:24 ` Lars Hansen 2006-05-27 11:28 ` Eli Zaretskii 2006-05-27 20:57 ` Kim F. Storm 2 siblings, 1 reply; 37+ messages in thread From: Lars Hansen @ 2006-05-27 8:24 UTC (permalink / raw) Cc: emacs-devel Richard Stallman wrote: >We could change the code, or change the manual. >I am not sure which is better. > > IMO changing the code is best. Otherwise, IIUC, there is no way one can force redisplay from a lisp program. Here is an example of the need of a way to force redisplay: I have an Emacs lisp program that I use to copy files from one box to another. It shows in a buffer the list of files to copy and marks each file as it is processed. If I switch away from the Emacs frame and back again, the display is no longer updated (except for minibuffer messages). Until now I did not know why, but now I see that some window manager event stops (sit-for 0) forcing redisplay. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 8:24 ` Lars Hansen @ 2006-05-27 11:28 ` Eli Zaretskii 2006-05-27 14:14 ` Stefan Monnier 0 siblings, 1 reply; 37+ messages in thread From: Eli Zaretskii @ 2006-05-27 11:28 UTC (permalink / raw) Cc: emacs-devel > Date: Sat, 27 May 2006 10:24:39 +0200 > From: Lars Hansen <lists@soem.dk> > Cc: emacs-devel@gnu.org > > Richard Stallman wrote: > > >We could change the code, or change the manual. > >I am not sure which is better. > > > > > IMO changing the code is best. Otherwise, IIUC, there is no way one can > force redisplay from a lisp program. I think we should define what does ``force redisplay'' mean, before we decide how to provide such a feature. Does it mean redisplay everything (i.e. every window on every frame)? Or just the current frame, or maybe just the current window? (The latter should be available with "C-l", I think.) Do we want to let Lisp programs specify what they want redisplayed, perhaps? I think after we decide what possible uses could this functionality have, we should design a suitable Lisp interface to supersede the sit-for kludge. (It is a kludge, IMHO, because it doesn't really force a redisplay, it just enters the Emacs idle loop, which triggers a redisplay as one of its side effects--_provided_, that is, that there's no input pending, which is the reason for the need to toggle redisplay-dont-pause in the first place.) > Here is an example of the need of a way to force redisplay: > I have an Emacs lisp program that I use to copy files from one box to > another. It shows in a buffer the list of files to copy and marks each > file as it is processed. If I switch away from the Emacs frame and back > again, the display is no longer updated (except for minibuffer > messages). Until now I did not know why, but now I see that some window > manager event stops (sit-for 0) forcing redisplay. But sit-for was designed precisely for such situations, I think: wait for some event with a time-out. The fact that it does a redisplay is a side effect, not its purpose. What we need is redisplay-now or some such, which will explicitly enter the display engine, without any delays and conditions. ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 11:28 ` Eli Zaretskii @ 2006-05-27 14:14 ` Stefan Monnier 2006-05-27 14:21 ` David Kastrup 0 siblings, 1 reply; 37+ messages in thread From: Stefan Monnier @ 2006-05-27 14:14 UTC (permalink / raw) Cc: emacs-devel >> IMO changing the code is best. Otherwise, IIUC, there is no way one can >> force redisplay from a lisp program. > I think we should define what does ``force redisplay'' mean, before we > decide how to provide such a feature. Does it mean redisplay > everything (i.e. every window on every frame)? Or just the current > frame, or maybe just the current window? (The latter should be > available with "C-l", I think.) Do we want to let Lisp programs > specify what they want redisplayed, perhaps? I think we have to distinguish between a redisplay that does a "redraw" and one that does what the toplevel loop normally. The "redraw" does call for a specification of what to redraw, but the normal toplevel redisplay doesn't (it just looks for things that have changed since the last "redisplay"). For redraw, we already have redraw-display and redraw-frame and redraw-modeline, so I think we're set. For forcing the display to be updated OTOH only sit-for is available and it's not reliable. Stefan ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 14:14 ` Stefan Monnier @ 2006-05-27 14:21 ` David Kastrup 0 siblings, 0 replies; 37+ messages in thread From: David Kastrup @ 2006-05-27 14:21 UTC (permalink / raw) Cc: Eli Zaretskii, emacs-devel Stefan Monnier <monnier@iro.umontreal.ca> writes: >>> IMO changing the code is best. Otherwise, IIUC, there is no way one can >>> force redisplay from a lisp program. > >> I think we should define what does ``force redisplay'' mean, before we >> decide how to provide such a feature. Does it mean redisplay >> everything (i.e. every window on every frame)? Or just the current >> frame, or maybe just the current window? (The latter should be >> available with "C-l", I think.) Do we want to let Lisp programs >> specify what they want redisplayed, perhaps? > > I think we have to distinguish between a redisplay that does a "redraw" and > one that does what the toplevel loop normally. The "redraw" does call for > a specification of what to redraw, but the normal toplevel redisplay doesn't > (it just looks for things that have changed since the last "redisplay"). > For redraw, we already have redraw-display and redraw-frame and > redraw-modeline, so I think we're set. Disagree. Those _clear_ the respective frame and mark it as to be redrawn, but don't actually do the redraw. Even if one _could_ use them for forcing a redraw immediately, it would cause unnecessary flicker. > For forcing the display to be updated OTOH only sit-for is available > and it's not reliable. Well, then maybe one should try making it do what the docs claim? -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 3:36 ` Richard Stallman 2006-05-27 6:49 ` David Kastrup 2006-05-27 8:24 ` Lars Hansen @ 2006-05-27 20:57 ` Kim F. Storm 2006-05-27 21:22 ` David Kastrup 2 siblings, 1 reply; 37+ messages in thread From: Kim F. Storm @ 2006-05-27 20:57 UTC (permalink / raw) Cc: emacs-devel Richard Stallman <rms@gnu.org> writes: > You can request a display update, but only if no input is pending, > with @code{(sit-for 0)}. To force a display update even when input is > pending, do this: > > @example > (let ((redisplay-dont-pause t)) > (sit-for 0)) > @end example > > Yes, I see a contradiction here. Setting `redisplay-dont-pause' does > not have the declared effect, to wit "to force a display update even > when input is pending". > > I think that text in the manual is mistaken. `redisplay-dont-pause' > only affects redisplay itself. It has no effect on sit-for, which > isn't (strictly speaking) redisplay. > > We could change the code, or change the manual. > I am not sure which is better. Here is a fix for the code. *** dispnew.c 01 May 2006 10:07:42 +0200 1.363 --- dispnew.c 27 May 2006 22:53:42 +0200 *************** *** 6406,6412 **** swallow_events (display); if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) ! return Qnil; if (initial_display) redisplay_preserve_echo_area (2); --- 6406,6415 ---- swallow_events (display); if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) ! { ! if (!redisplay_dont_pause || sec || usec) ! return Qnil; ! } if (initial_display) redisplay_preserve_echo_area (2); -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 20:57 ` Kim F. Storm @ 2006-05-27 21:22 ` David Kastrup 2006-05-27 22:54 ` Kim F. Storm 0 siblings, 1 reply; 37+ messages in thread From: David Kastrup @ 2006-05-27 21:22 UTC (permalink / raw) Cc: rms, emacs-devel storm@cua.dk (Kim F. Storm) writes: > Richard Stallman <rms@gnu.org> writes: > >> You can request a display update, but only if no input is pending, >> with @code{(sit-for 0)}. To force a display update even when input is >> pending, do this: >> >> @example >> (let ((redisplay-dont-pause t)) >> (sit-for 0)) >> @end example >> >> Yes, I see a contradiction here. Setting `redisplay-dont-pause' does >> not have the declared effect, to wit "to force a display update even >> when input is pending". >> >> I think that text in the manual is mistaken. `redisplay-dont-pause' >> only affects redisplay itself. It has no effect on sit-for, which >> isn't (strictly speaking) redisplay. >> >> We could change the code, or change the manual. >> I am not sure which is better. > > Here is a fix for the code. > > *** dispnew.c 01 May 2006 10:07:42 +0200 1.363 > --- dispnew.c 27 May 2006 22:53:42 +0200 > *************** > *** 6406,6412 **** > swallow_events (display); > > if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) > ! return Qnil; > > if (initial_display) > redisplay_preserve_echo_area (2); > --- 6406,6415 ---- > swallow_events (display); > > if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro)) > ! { > ! if (!redisplay_dont_pause || sec || usec) > ! return Qnil; > ! } > > if (initial_display) > redisplay_preserve_echo_area (2); Is there a particular reason that you used " || sec || usec" here? It makes (sit-for 0) a special case, and I am not sure why. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 21:22 ` David Kastrup @ 2006-05-27 22:54 ` Kim F. Storm 2006-05-27 23:01 ` David Kastrup 0 siblings, 1 reply; 37+ messages in thread From: Kim F. Storm @ 2006-05-27 22:54 UTC (permalink / raw) Cc: rms, emacs-devel David Kastrup <dak@gnu.org> writes: >>> @example >>> (let ((redisplay-dont-pause t)) >>> (sit-for 0)) >>> @end example > Is there a particular reason that you used " || sec || usec" here? It > makes (sit-for 0) a special case, and I am not sure why. To match the example... And to make the change as non-intrusive as possible at this stage. -- Kim F. Storm <storm@cua.dk> http://www.cua.dk ^ permalink raw reply [flat|nested] 37+ messages in thread
* Re: redisplay-dont-pause does not work 2006-05-27 22:54 ` Kim F. Storm @ 2006-05-27 23:01 ` David Kastrup 0 siblings, 0 replies; 37+ messages in thread From: David Kastrup @ 2006-05-27 23:01 UTC (permalink / raw) Cc: rms, emacs-devel storm@cua.dk (Kim F. Storm) writes: > David Kastrup <dak@gnu.org> writes: > >>>> @example >>>> (let ((redisplay-dont-pause t)) >>>> (sit-for 0)) >>>> @end example > >> Is there a particular reason that you used " || sec || usec" here? It >> makes (sit-for 0) a special case, and I am not sure why. > > To match the example... And to make the change as non-intrusive as > possible at this stage. Is redisplay-dont-pause set by anybody but the user? If not, the change is not intrusive. -- David Kastrup, Kriemhildstr. 15, 44793 Bochum ^ permalink raw reply [flat|nested] 37+ messages in thread
end of thread, other threads:[~2006-06-13 23:04 UTC | newest] Thread overview: 37+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-05-25 10:52 redisplay-dont-pause does not work David Kastrup 2006-05-26 2:21 ` Richard Stallman 2006-05-26 7:19 ` David Kastrup 2006-05-27 3:36 ` Richard Stallman 2006-05-27 6:49 ` David Kastrup 2006-05-28 3:18 ` Richard Stallman 2006-05-28 7:47 ` David Kastrup 2006-05-29 6:38 ` Richard Stallman 2006-05-29 8:08 ` Kim F. Storm 2006-06-01 9:44 ` David Kastrup 2006-06-01 12:11 ` Eli Zaretskii 2006-06-01 13:52 ` Kim F. Storm 2006-06-01 20:22 ` David Kastrup 2006-06-05 9:00 ` Lars Hansen 2006-06-05 9:05 ` David Kastrup 2006-06-05 9:19 ` Lars Hansen 2006-06-05 9:34 ` Slawomir Nowaczyk 2006-06-05 9:38 ` David Kastrup 2006-06-05 21:26 ` Kim F. Storm 2006-06-06 8:21 ` Lars Hansen 2006-06-06 9:47 ` Kim F. Storm 2006-06-06 9:58 ` David Kastrup 2006-06-06 11:40 ` Kim F. Storm 2006-06-09 11:50 ` David Kastrup 2006-06-13 23:04 ` Kim F. Storm 2006-06-06 12:44 ` Lars Hansen 2006-06-05 9:38 ` Lars Hansen 2006-06-05 21:31 ` Richard Stallman 2006-06-06 8:38 ` Kim F. Storm 2006-05-27 8:24 ` Lars Hansen 2006-05-27 11:28 ` Eli Zaretskii 2006-05-27 14:14 ` Stefan Monnier 2006-05-27 14:21 ` David Kastrup 2006-05-27 20:57 ` Kim F. Storm 2006-05-27 21:22 ` David Kastrup 2006-05-27 22:54 ` Kim F. Storm 2006-05-27 23:01 ` David Kastrup
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.