++history_idx;
snprintf (buf, sizeof redisplay_history[0].trace,
- "%"pMu": window %p (`%s')%s\n%s",
+ "%"pMu": window %p (%s)%s\n%s",
history_tick++,
ptr,
((BUFFERP (w->contents)
for (i = 0; i < matrix->nrows; ++i)
matrix->rows[i].enabled_p = false;
}
+ /* We've disabled the mode-line row, so force redrawing of
+ the mode line, if any, since otherwise it will remain
+ disabled in the current matrix, and expose events won't
+ redraw it. */
+ if (WINDOW_WANTS_MODELINE_P (w))
+ w->update_mode_line = 1;
}
else if (matrix == w->desired_matrix)
{
if (duration > 0)
{
struct timespec t = dtotimespec (duration);
- wait_reading_process_output (min (t.tv_sec, WAIT_READING_MAX),
- t.tv_nsec, 0, 0, Qnil, NULL, 0);
+ struct timespec tend = timespec_add (current_timespec (), t);
+
+ /* wait_reading_process_output returns as soon as it detects
+ output from any subprocess, so we wait in a loop until the
+ time expires. */
+ do {
+ wait_reading_process_output (min (t.tv_sec, WAIT_READING_MAX),
+ t.tv_nsec, 0, 0, Qnil, NULL, 0);
+ t = timespec_sub (tend, current_timespec ());
+ } while (timespec_sign (t) > 0);
}
return Qnil;
}
#endif /* SIGWINCH */
- /* If running as a daemon, no need to initialize any frames/terminal. */
+ /* If running as a daemon, no need to initialize any frames/terminal,
+ except on Windows, where we at least want to initialize it. */
+#ifndef WINDOWSNT
if (IS_DAEMON)
return;
+#endif
/* If the user wants to use a window system, we shouldn't bother
initializing the terminal. This is especially important when the
{
#ifdef HAVE_WINDOW_SYSTEM
if (! inhibit_window_system)
- fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see `tset').\n");
+ fprintf (stderr, "Please set the environment variable DISPLAY or TERM (see 'tset').\n");
else
#endif /* HAVE_WINDOW_SYSTEM */
- fprintf (stderr, "Please set the environment variable TERM; see `tset'.\n");
+ fprintf (stderr, "Please set the environment variable TERM; see 'tset'.\n");
exit (1);
}
DEFVAR_LISP ("standard-display-table", Vstandard_display_table,
doc: /* Display table to use for buffers that specify none.
+It is also used for standard output and error streams.
See `buffer-display-table' for more information. */);
Vstandard_display_table = Qnil;