Mercurial > emacs
view lib-src/=wakeup.c @ 12229:697c01e75adc
Various optimizations. The main one is to optimize for
simple output at the end of the buffer, with no paging, and in that
case to defer scrolling while we can.
(term-emulate-terminal): Don't call term-handle-scroll in
simple cases unless we are either paging or term-scroll-with-delete.
(term-down): Likewise.
(term-handle-scroll): Modify accordingly.
(term-emulate-terminal): Avoid deleting old text in common case.
Optimize the simple case of CRLF when we're at buffer end.
Handle deferred scroll when done processing output.
(term-handle-deferred-scroll): New function.
(term-down): Simplify - no longer take RIGHT argument. Tune.
(term-goto): Use term-move-columns to compensate for the above.
(term-escape-char, term-set-escape-char): Add doc-string.
(term-mouse-paste): Add xemacs support.
Various speed enhencements:
(term-handle-scroll): Don't clear term-current-row; maybe adjust it.
(term-down): Don't call term-adjust-current-row-cache if we've
done term-handle-scroll.
(term-emulate-terminal): Don't call term-adjust-current-row-cache.
(term-emulate-terminal): For TAB, don't nil term-start-line-column.
(term-goto): Possible optimization.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Wed, 14 Jun 1995 22:30:16 +0000 |
parents | dd3b83e4ceb0 |
children | f41d9619ffc4 |
line wrap: on
line source
/* Program to produce output at regular intervals. */ #include <config.h> #include <stdio.h> #include <sys/types.h> #ifdef TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> #else #ifdef HAVE_SYS_TIME_H #include <sys/time.h> #else #include <time.h> #endif #endif struct tm *localtime (); void main (argc, argv) int argc; char **argv; { int period = 60; time_t when; struct tm *tp; if (argc > 1) period = atoi (argv[1]); while (1) { /* Make sure wakeup stops when Emacs goes away. */ if (getppid () == 1) exit (0); printf ("Wake up!\n"); fflush (stdout); /* If using a period of 60, produce the output when the minute changes. */ if (period == 60) { time (&when); tp = localtime (&when); sleep (60 - tp->tm_sec); } else sleep (period); } }