Mercurial > emacs
view lib-src/=wakeup.c @ 22945:58a8427745ec
(Vthis_command): Renamed from this_command.
(real_this_command): New variable, but not a Lisp variable;
updated like Vthis_command, but never altered by Lisp programs.
(command_loop_1): Use real_this_command to set Vreal_last_command.
(read_char): When input method returns no chars, call cancel_echoing.
Restore the previous echo area message and this_command_keys, too.
(Vinput_method_previous_message): New variable.
(syms_of_keyboard): Set up lisp variable.
(Qinput_method_exit_on_first_char, Qinput_method_use_echo_area): New variables.
(syms_of_keyboard): Initialize them.
(Fread_key_sequence): New arg COMMAND_LOOP.
Bind those variables.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sat, 08 Aug 1998 03:13:39 +0000 |
parents | f41d9619ffc4 |
children |
line wrap: on
line source
/* Program to produce output at regular intervals. */ #ifdef HAVE_CONFIG_H #include <config.h> #endif #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); } }