view lib-src/wakeup.c @ 4451:e214ff9f9507

Use char-tables, not vectors, to instantiate the display table specifiers. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * mule/cyril-util.el: * mule/cyril-util.el (cyrillic-encode-koi8-r-char): Removed. * mule/cyril-util.el (cyrillic-encode-alternativnyj-char): Removed. No-one uses these functions in google.com/codesearch, GNU have a comment doubting their utility, and their implementation is trivial. * mule/cyril-util.el (cyrillic-language-alist): Reformatted. * mule/cyril-util.el (standard-display-table)): Removed. It wasn't used anyway. * mule/cyril-util.el (standard-display-cyrillic-translit): Rewrite it to work with character tables as display tables, and not to abort with an error. 2007-07-21 Aidan Kehoe <kehoea@parhasard.net> * disp-table.el: * disp-table.el (make-display-table): Moved earlier in the file in a weak attempt at making syncing with GNU easier. * disp-table.el (frob-display-table): Autoload it, accept TAG-SET, for editing specifiers. * disp-table.el (describe-display-table): Have it handle character sets. * disp-table.el (standard-display-8bit-1): * disp-table.el (standard-display-8bit): * disp-table.el (standard-display-default-1): * disp-table.el (standard-display-ascii): * disp-table.el (standard-display-g1): * disp-table.el (standard-display-graphic): * disp-table.el (standard-display-underline): * disp-table.el (standard-display-european): Rework them all to use put-char-table, remove-char-table instead of aset. Limit standard-display-g1, standard-display-graphic to TTYs; have standard-display-underline work on X11 too. * font.el (font-caps-display-table): Use put-char-table instead of aset when editing a display table. * x-init.el: * x-init.el (tab): Create the initial display table as a char-table, not a vector.
author Aidan Kehoe <kehoea@parhasard.net>
date Mon, 24 Dec 2007 20:22:08 +0100
parents abe6d1db359e
children
line wrap: on
line source

/* Program to produce output at regular intervals.  */

#include <config.h>

#if __STDC__ || defined(STDC_HEADERS)
#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#endif

#include <stdio.h>
#include <sys/types.h>

#ifdef WIN32_NATIVE
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
#undef sleep
#define sleep(t) Sleep ((t) * 1000)
#define getppid() (0)
#undef HAVE_SYS_TIME_H
#endif /* WIN32_NATIVE */

#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

int
main (int argc, char *argv[])
{
  int period = 60;

  if (argc > 1)
    period = atoi (argv[1]);

  while (1)
    {
      /* Make sure wakeup stops when Emacs goes away.  */
      if (getppid () == 1)
	return 0;
      printf ("Wake up!\n");
      /* If fflush fails, then our stdout pipe is broken. */
      if (fflush (stdout) != 0)
	return 0;
      /* If using a period of 60, produce the output when the minute
	 changes. */
      if (period == 60)
	{
	  time_t when;
	  struct tm *tp;
	  time (&when);
	  tp = localtime (&when);
	  sleep (60 - tp->tm_sec);
	}
      else
	sleep (period);
    }
}