From: David Kastrup <dak@gnu.org>
Cc: Slawomir Nowaczyk <slawomir.nowaczyk.847@student.lu.se>,
emacs-devel@gnu.org
Subject: Re: redisplay-dont-pause does not work
Date: Fri, 09 Jun 2006 13:50:10 +0200 [thread overview]
Message-ID: <85lks6sg3x.fsf@lola.goethe.zz> (raw)
In-Reply-To: <m31wu2ikas.fsf@kfs-l.imdomain.dk> (Kim F. Storm's message of "Tue, 06 Jun 2006 13:40:43 +0200")
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
next prev parent reply other threads:[~2006-06-09 11:50 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
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
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=85lks6sg3x.fsf@lola.goethe.zz \
--to=dak@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=slawomir.nowaczyk.847@student.lu.se \
/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.