home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
misc
/
volume39
/
remind
/
patch09a
< prev
next >
Wrap
Text File
|
1993-10-04
|
50KB
|
1,291 lines
Newsgroups: comp.sources.misc
From: dfs@doe.carleton.ca (David F. Skoll)
Subject: v39i115: remind - A replacement for calendar, Patch09a/4
Message-ID: <csm-v39i115=remind.153702@sparky.Sterling.COM>
X-Md4-Signature: 95e50d37ee885733da3a34ea3cad2b02
Sender: kent@sparky.sterling.com (Kent Landfield)
Organization: Dept. of Electronics, Carleton University
Date: Mon, 4 Oct 1993 20:37:43 GMT
Approved: kent@sparky.sterling.com
Submitted-by: dfs@doe.carleton.ca (David F. Skoll)
Posting-number: Volume 39, Issue 115
Archive-name: remind/patch09a
Environment: UNIX, MS-DOS, OS/2
Patch-To: remind: Volume 33, Issue 58-69
This is patch 9 for version 3.0 of Remind.
Remind is a sophisticated calendar/alarm program, which runs under
MS-DOS, UNIX and OS/2.
Most noticeable changes: Addition of complete support for
Finnish; implementation of moon phases; more calendar options;
more PostScript goodies.
AVAILABILITY: Remind is available via anonymous ftp at ftp.doe.carleton.ca
(134.117.9.35) in the directory /pub/remind-3.0 - see the file README.1st
in that directory for a list of files.
>From the WHATSNEW file:
CHANGES TO REMIND
* Version 3.0 Patch 9
+ NOTES
- Remind is now too big to compile under the "small" model in
MS-DOS. You must recompile everything under the "medium" model.
+ MAJOR ENHANCEMENTS
- Functions moonphase(), moondate() and moontime() were added for dealing
with phases of the moon. The code was snarfed from "moontool" by
John Walker - see the file "moon.c" for detailed acknowledgement. Also
added psmoon() for putting little moon symbols on the PostScript calendar.
+ MINOR ENHANCEMENTS
- Added some more examples to defs.rem - notably, support for ANSI
terminal color-changing escape sequences, thanks to Gail Gurman.
- Modified both Remind and Rem2PS so that calendars can start on Sunday or
Monday, depending on your preference. Unfortunately, the command-line
options are different -- for Remind, it's '-m' and for Rem2PS it's '-n'
because '-m' was already in use. Based on a suggestion by John Plate
and a patch sent by Mikko Silvonen.
- The Finnish language support is better - now, all usage and error
messages are in Finnish. In addition, the Finnish language module
supports the IBM extended character set as well as ISOLATIN1.
Thanks to Mikko Silvonen.
- Modified Rem2PS to allow more control over the placement of the small
calendars, thanks to a suggestion by Frank Vance. Also added option
to control the calendar title (e.g., "September 1993") independently
of day-of-week headings.
- Added the psshade() function to make it easier to shade PostScript
calendars.
- Allowed a repeat parameter '*num' to be supplied on command line so
a 'preview' of many days' worth of reminders can be obtained easily.
- Added the $Location system variable.
- Allowed an expression to be supplied to EXIT to return an exit
status.
- Added the FLUSH command.
+ BUG FIXES
- Fixed the MSF-type reminder to fill paragraphs more intelligently.
It puts double spaces after '!', '.' and '?', and can handle quotes,
brackets, etc. after periods, etc. These characters can be specified
with the $EndSent and $EndSentIg system variables. Also modified it
so that newlines in the body start new paragraphs, rather than being
swallowed as white-space.
David F. Skoll
---
#! /bin/sh
# This is a shell archive. Remove anything before this line, then feed it
# into a shell via "sh file" or similar. To overwrite existing files,
# type "sh file -c".
# Contents: patch.09.B
# Wrapped by kent@sparky on Mon Oct 4 15:03:30 1993
PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
echo If this archive is complete, you will see the following message:
echo ' "shar: End of archive 1 (of 4)."'
if test -f 'patch.09.B' -a "${1}" != "-c" ; then
echo shar: Will not clobber existing file \"'patch.09.B'\"
else
echo shar: Extracting \"'patch.09.B'\" \(43820 characters\)
sed "s/^X//" >'patch.09.B' <<'END_OF_FILE'
X*** ../prev/README.DOS Thu Aug 19 17:06:36 1993
X--- ./README.DOS Wed Sep 1 15:45:21 1993
X***************
X*** 1,5 ****
X--- 1,8 ----
X REMIND version 3.0 for MS-DOS
X
X+ REMIND is a sophisticated alarm/calendar program. Details are given
X+ in the man page, "remind.1".
X+
X 1 - Read the file COPYRIGHT. (This may be called COPYRIGH on your
X MS-DOS system.)
X
X*** ../prev/README.OS2 Thu Aug 19 17:06:14 1993
X--- ./README.OS2 Wed Sep 1 15:45:18 1993
X***************
X*** 1,5 ****
X--- 1,8 ----
X REMIND version 3.0 for OS/2
X
X+ REMIND is a sophisticated alarm/calendar program. Details are given
X+ in the man page, "remind.1".
X+
X 1 - Read the file COPYRIGHT. (This may be called COPYRIGH on your
X MS-DOS system.)
X
X*** ../prev/README.UNIX Thu Aug 19 17:05:59 1993
X--- ./README.UNIX Wed Sep 1 15:45:14 1993
X***************
X*** 1,5 ****
X--- 1,8 ----
X REMIND version 3.0 for UNIX
X
X+ REMIND is a sophisticated alarm/calendar program. Details are given
X+ in the man page, "remind.1".
X+
X 1 - Read the file COPYRIGHT.
X
X 2- Before compiling the software, check to see if it includes patches.
X*** ../prev/WHATSNEW.30 Thu Aug 19 16:57:45 1993
X--- ./WHATSNEW.30 Thu Sep 30 15:51:29 1993
X***************
X*** 1,5 ****
X--- 1,62 ----
X CHANGES TO REMIND
X
X+ * Version 3.0 Patch 9
X+
X+ + NOTES
X+
X+ - Remind is now too big to compile under the "small" model in
X+ MS-DOS. You must recompile everything under the "medium" model.
X+
X+ + MAJOR ENHANCEMENTS
X+
X+ - Functions moonphase(), moondate() and moontime() were added for dealing
X+ with phases of the moon. The code was snarfed from "moontool" by
X+ John Walker - see the file "moon.c" for detailed acknowledgement. Also
X+ added psmoon() for putting little moon symbols on the PostScript calendar.
X+
X+ + MINOR ENHANCEMENTS
X+
X+ - Added some more examples to defs.rem - notably, support for ANSI
X+ terminal color-changing escape sequences, thanks to Gail Gurman.
X+
X+ - Modified both Remind and Rem2PS so that calendars can start on Sunday or
X+ Monday, depending on your preference. Unfortunately, the command-line
X+ options are different -- for Remind, it's '-m' and for Rem2PS it's '-n'
X+ because '-m' was already in use. Based on a suggestion by John Plate
X+ and a patch sent by Mikko Silvonen.
X+
X+ - The Finnish language support is better - now, all usage and error
X+ messages are in Finnish. In addition, the Finnish language module
X+ supports the IBM extended character set as well as ISOLATIN1.
X+ Thanks to Mikko Silvonen.
X+
X+ - Modified Rem2PS to allow more control over the placement of the small
X+ calendars, thanks to a suggestion by Frank Vance. Also added option
X+ to control the calendar title (e.g., "September 1993") independently
X+ of day-of-week headings.
X+
X+ - Added the psshade() function to make it easier to shade PostScript
X+ calendars.
X+
X+ - Allowed a repeat parameter '*num' to be supplied on command line so
X+ a 'preview' of many days' worth of reminders can be obtained easily.
X+
X+ - Added the $Location system variable.
X+
X+ - Allowed an expression to be supplied to EXIT to return an exit
X+ status.
X+
X+ - Added the FLUSH command.
X+
X+ + BUG FIXES
X+
X+ - Fixed the MSF-type reminder to fill paragraphs more intelligently.
X+ It puts double spaces after '!', '.' and '?', and can handle quotes,
X+ brackets, etc. after periods, etc. These characters can be specified
X+ with the $EndSent and $EndSentIg system variables. Also modified it
X+ so that newlines in the body start new paragraphs, rather than being
X+ swallowed as white-space.
X+
X * Version 3.0 Patch 8
X
X + MAJOR ENHANCEMENTS
X*** ../prev/calendar.c Thu Aug 19 16:55:52 1993
X--- ./calendar.c Tue Sep 28 16:09:36 1993
X***************
X*** 81,87 ****
X DoCalendarOneMonth();
X return;
X } else {
X! JulianToday -= ((JulianToday+1)%7);
X
X if (!DoSimpleCalendar) {
X WriteIntermediateCalLine();
X--- 81,88 ----
X DoCalendarOneMonth();
X return;
X } else {
X! if (MondayFirst) JulianToday -= (JulianToday%7);
X! else JulianToday -= ((JulianToday+1)%7);
X
X if (!DoSimpleCalendar) {
X WriteIntermediateCalLine();
X***************
X*** 123,129 ****
X
X /* If it's "Simple Calendar" format, do it simply... */
X if (DoSimpleCalendar) {
X! wd = (JulianToday + 1) % 7;
X for (i=0; i<7; i++) {
X WriteSimpleEntries(i, OrigJul+i-wd);
X }
X--- 124,131 ----
X
X /* If it's "Simple Calendar" format, do it simply... */
X if (DoSimpleCalendar) {
X! if (MondayFirst) wd = JulianToday % 7;
X! else wd = (JulianToday + 1) % 7;
X for (i=0; i<7; i++) {
X WriteSimpleEntries(i, OrigJul+i-wd);
X }
X***************
X*** 234,240 ****
X
X /* Get the date of the first day */
X FromJulian(JulianToday, &y, &m, &d);
X! wd = (JulianToday + 1) % 7;
X
X /* Fill in the column entries */
X for (i=wd; i<7; i++) {
X--- 236,243 ----
X
X /* Get the date of the first day */
X FromJulian(JulianToday, &y, &m, &d);
X! if (!MondayFirst) wd = (JulianToday + 1) % 7;
X! else wd = JulianToday % 7;
X
X /* Fill in the column entries */
X for (i=wd; i<7; i++) {
X***************
X*** 474,480 ****
X /* Do some initialization first... */
X ClearGlobalOmits();
X DestroyOmitContexts();
X! DestroyVars();
X NumTriggered = 0;
X
X r=OpenFile(InitialFile);
X--- 477,483 ----
X /* Do some initialization first... */
X ClearGlobalOmits();
X DestroyOmitContexts();
X! DestroyVars(0);
X NumTriggered = 0;
X
X r=OpenFile(InitialFile);
X***************
X*** 519,529 ****
X case T_Else: r=DoElse(&p); break;
X case T_EndIf: r=DoEndif(&p); break;
X case T_Include: r=DoInclude(&p); break;
X! case T_Exit: exit(99);
X case T_Set: r=DoSet(&p); break;
X case T_Fset: r=DoFset(&p); break;
X case T_UnSet: r=DoUnset(&p); break;
X case T_Clr: r=DoClear(&p); break;
X case T_Debug: break; /* IGNORE DEBUG CMD */
X case T_Dumpvars: break; /* IGNORE DUMPVARS CMD */
X case T_Banner: break; /* IGNORE BANNER CMD */
X--- 522,533 ----
X case T_Else: r=DoElse(&p); break;
X case T_EndIf: r=DoEndif(&p); break;
X case T_Include: r=DoInclude(&p); break;
X! case T_Exit: DoExit(&p); break;
X case T_Set: r=DoSet(&p); break;
X case T_Fset: r=DoFset(&p); break;
X case T_UnSet: r=DoUnset(&p); break;
X case T_Clr: r=DoClear(&p); break;
X+ case T_Flush: r=DoFlush(&p); break;
X case T_Debug: break; /* IGNORE DEBUG CMD */
X case T_Dumpvars: break; /* IGNORE DUMPVARS CMD */
X case T_Banner: break; /* IGNORE BANNER CMD */
X***************
X*** 782,788 ****
X int i;
X putchar('|');
X for (i=0; i<7; i++) {
X! PrintCentered(DayName[(i+6)%7], ColSpaces, ' ');
X putchar('|');
X }
X putchar('\n');
X--- 786,795 ----
X int i;
X putchar('|');
X for (i=0; i<7; i++) {
X! if (!MondayFirst)
X! PrintCentered(DayName[(i+6)%7], ColSpaces, ' ');
X! else
X! PrintCentered(DayName[i%7], ColSpaces, ' ');
X putchar('|');
X }
X putchar('\n');
X*** ../prev/config.h Wed Aug 18 12:56:55 1993
X--- ./config.h Mon Sep 20 11:39:59 1993
X***************
X*** 14,19 ****
X--- 14,20 ----
X /*---------------------------------------------------------------------*/
X /* LAT_DEG, LAT_MIN and LAT_SEC: Latitude of your location */
X /* LON_DEG, LON_MIN and LON_SEC: Longitude of your location */
X+ /* LOCATION: A string identifying your location. */
X /* For latitude, north is positive, south is negative. */
X /* For longitude, west is positive, east is negative. */
X /* NOTE: For negative numbers, all three of DEG, MIN, SEC should be */
X***************
X*** 27,32 ****
X--- 28,34 ----
X #define LON_DEG 75
X #define LON_MIN 39
X #define LON_SEC 0
X+ #define LOCATION "Ottawa"
X
X /*---------------------------------------------------------------------*/
X /* HAVE_MKTIME: Define this if your C library includes the mktime() */
X***************
X*** 70,75 ****
X--- 72,85 ----
X /* ISO 8859-1 character set instead of ASCII. */
X /*---------------------------------------------------------------------*/
X /* #define ISOLATIN1 1 */
X+
X+ /*---------------------------------------------------------------------*/
X+ /* IBMEXTENDED: uncomment the following line if you want to use the */
X+ /* IBM extended character set. NOT ALL LANGUAGE MODULES SUPPORT THIS. */
X+ /* Note that at most one of ISOLATIN1 or IBMEXTENDED should be */
X+ /* defined; if both are defined, the results are unspecified. */
X+ /*---------------------------------------------------------------------*/
X+ /* #define IBMEXTENDED 1 */
X
X /*---------------------------------------------------------------------*/
X /* WANT_U_OPTION: Comment out the next define to permanently disable */
X*** ../prev/defs.rem Mon Aug 23 11:54:35 1993
X--- ./defs.rem Tue Sep 28 14:53:50 1993
X***************
X*** 14,19 ****
X--- 14,20 ----
X # "#USHOLS" for U.S. holidays #
X # "#JHOLS" for Jewish holidays #
X # "#PSSTUFF" for nifty PostScript examples #
X+ # "#COLORS" for examples of ANSI color escape sequences. #
X # #
X # This file is part of REMIND. #
X # Copyright (C) 1992, 1993 by David F. Skoll #
X***************
X*** 25,32 ****
X ################################################
X # Ensure required version of remind is used... #
X ################################################
X! IF version() < "03.00.08"
X! ERRMSG This file requires at least version 03.00.08 of Remind.%
X ERRMSG This version is version [version()].
X EXIT
X ENDIF
X--- 26,33 ----
X ################################################
X # Ensure required version of remind is used... #
X ################################################
X! IF version() < "03.00.09"
X! ERRMSG This file requires at least version 03.00.09 of Remind.%
X ERRMSG This version is version [version()].
X EXIT
X ENDIF
X***************
X*** 305,319 ****
X ##########################################################################
X
X # Convenient to stick all the PostScript code in a string var - makes
X! # reminders easier to understand. The variable "shade" will contain
X! # PostScript code to shade in a particular box on the calendar.
X! SET shade \
X! "/_A LineWidth 2 div def \
X! _A _A moveto \
X! BoxWidth _A sub _A lineto \
X! BoxWidth _A sub BoxHeight _A sub lineto \
X! _A BoxHeight _A sub lineto \
X! closepath 0.95 setgray fill 0.0 setgray"
X
X # The following reminder will shade the Saturday and Sunday calendar
X # entries.
X--- 306,314 ----
X ##########################################################################
X
X # Convenient to stick all the PostScript code in a string var - makes
X! # reminders easier to understand and faster. The variable "shade" will
X! # contain PostScript code to shade in a particular box on the calendar.
X! SET shade psshade(95)
X
X # The following reminder will shade the Saturday and Sunday calendar
X # entries.
X***************
X*** 320,330 ****
X REM Sat Sun PS [shade]
X
X # The following will fill in the Hebrew dates on the calendar. For this
X! # example, I recommend that you use the "-sd 10" option for rem2ps.
X! REM PS Border BoxHeight Border sub DaySize sub moveto \
X /DayFont findfont DaySize scalefont setfont \
X ([hebday(today())] [hebmon(today())]) show
X
X #USHOLS
X #############################################################################
X # #
X--- 315,331 ----
X REM Sat Sun PS [shade]
X
X # The following will fill in the Hebrew dates on the calendar. For this
X! # example, I recommend that you use the -sd 10 option for Rem2PS.
X! REM PS Border Border moveto \
X /DayFont findfont DaySize scalefont setfont \
X ([hebday(today())] [hebmon(today())]) show
X
X+ # Fill in the phases of the moon on the PostScript calendar
X+ [trigger(moondate(0))] PS [psmoon(0)]
X+ [trigger(moondate(1))] PS [psmoon(1)]
X+ [trigger(moondate(2))] PS [psmoon(2)]
X+ [trigger(moondate(3))] PS [psmoon(3)]
X+
X #USHOLS
X #############################################################################
X # #
X***************
X*** 556,558 ****
X--- 557,594 ----
X
X REM Friday CAL Candle lighting at [sunset(trigdate())-18]
X REM Saturday CAL Havdalah at [sunset(trigdate())+42]
X+
X+ #COLORS
X+ ##########################################################################
X+ # #
X+ # This contains sample ANSI escape sequences for coloring messages. #
X+ # It should work on an IBM PC with the ANSI.SYS driver, and on #
X+ # other terminals which use the ANSI sequences. #
X+ # #
X+ # This information was provided by Gail Gurman.
X+ # #
X+ ##########################################################################
X+ # Colors - use Nrm to reset to normal text.
X+ SET Esc CHAR(27)
X+
X+ SET Nrm Esc + "[0m"
X+ SET Blk Esc + "[0;30m"
X+ SET Red Esc + "[0;31m"
X+ SET Grn Esc + "[0;32m"
X+ SET Ylw Esc + "[0;33m"
X+ SET Blu Esc + "[0;34m"
X+ SET Mag Esc + "[0;35m"
X+ SET Cyn Esc + "[0;36m"
X+ SET Wht Esc + "[0;37m"
X+ SET Gry Esc + "[30;1m"
X+ SET BrRed Esc + "[31;1m"
X+ SET BrGrn Esc + "[32;1m"
X+ SET BrYlw Esc + "[33;1m"
X+ SET BrBlu Esc + "[34;1m"
X+ SET BrMag Esc + "[35;1m"
X+ SET BrCyn Esc + "[36;1m"
X+ SET BrWht Esc + "[37;1m"
X+
X+ # Examples
X+ REM MSG A [Blu]blue[Nrm] reminder.
X+ REM MSG [Red]%"A red reminder%" safe to use in the calendar mode.[Nrm]
X*** ../prev/expr.c Thu Aug 19 16:24:24 1993
X--- ./expr.c Wed Sep 1 11:44:27 1993
X***************
X*** 1220,1237 ****
X Value *dest, *src;
X #endif
X {
X! dest->type = src->type;
X if (src->type == STR_TYPE) {
X dest->v.str = StrDup(src->v.str);
X! if (!dest->v.str) {
X! dest->type = ERR_TYPE;
X! return E_NO_MEM;
X! }
X! return OK;
X } else {
X dest->v.val = src->v.val;
X- return OK;
X }
X }
X
X /***************************************************************/
X--- 1220,1234 ----
X Value *dest, *src;
X #endif
X {
X! dest->type = ERR_TYPE;
X if (src->type == STR_TYPE) {
X dest->v.str = StrDup(src->v.str);
X! if (!dest->v.str) return E_NO_MEM;
X } else {
X dest->v.val = src->v.val;
X }
X+ dest->type = src->type;
X+ return OK;
X }
X
X /***************************************************************/
X*** ../prev/files.c Thu Aug 26 10:47:48 1993
X--- ./files.c Fri Sep 3 11:36:57 1993
X***************
X*** 516,521 ****
X--- 516,522 ----
X #endif
X {
X CachedLine *cl, *cnext;
X+ CachedFile *temp;
X if (cf->filename) free(cf->filename);
X cl = cf->cache;
X while (cl) {
X***************
X*** 523,528 ****
X--- 524,540 ----
X cnext = cl->next;
X free(cl);
X cl = cnext;
X+ }
X+ if (CachedFiles == cf) CachedFiles = cf->next;
X+ else {
X+ temp = CachedFiles;
X+ while(temp) {
X+ if (temp->next == cf) {
X+ temp->next = cf->next;
X+ break;
X+ }
X+ temp = temp->next;
X+ }
X }
X free(cf);
X }
X*** ../prev/finnish.h Mon Jun 28 12:29:37 1993
X--- ./finnish.h Tue Sep 28 12:38:49 1993
X***************
X*** 4,10 ****
X /* */
X /* Support for the Finnish language. */
X /* */
X! /* Author: Mikko Silvonen (Mikko.Silvonen@Helsinki.FI) */
X /* */
X /* This file is part of REMIND. */
X /* Copyright (C) 1992, 1993 by David F. Skoll. */
X--- 4,10 ----
X /* */
X /* Support for the Finnish language. */
X /* */
X! /* Author: Mikko Silvonen <Mikko.Silvonen@Helsinki.FI> */
X /* */
X /* This file is part of REMIND. */
X /* Copyright (C) 1992, 1993 by David F. Skoll. */
X***************
X*** 32,40 ****
X #define L_MAR "maaliskuu"
X #define L_APR "huhtikuu"
X #define L_MAY "toukokuu"
X! #ifdef ISOLATIN1
X #define L_JUN "kes\xE4kuu"
X #define L_JUL "hein\xE4kuu"
X #else
X #define L_JUN "kes{kuu"
X #define L_JUL "hein{kuu"
X--- 32,43 ----
X #define L_MAR "maaliskuu"
X #define L_APR "huhtikuu"
X #define L_MAY "toukokuu"
X! #if defined(ISOLATIN1)
X #define L_JUN "kes\xE4kuu"
X #define L_JUL "hein\xE4kuu"
X+ #elif defined(IBMEXTENDED)
X+ #define L_JUN "kes\x84kuu"
X+ #define L_JUL "hein\x84kuu"
X #else
X #define L_JUN "kes{kuu"
X #define L_JUL "hein{kuu"
X***************
X*** 46,53 ****
X #define L_DEC "joulukuu"
X
X /* Today and tomorrow */
X! #ifdef ISOLATIN1
X #define L_TODAY "t\xE4n\xE4\xE4n"
X #else
X #define L_TODAY "t{n{{n"
X #endif
X--- 49,58 ----
X #define L_DEC "joulukuu"
X
X /* Today and tomorrow */
X! #if defined(ISOLATIN1)
X #define L_TODAY "t\xE4n\xE4\xE4n"
X+ #elif defined(IBMEXTENDED)
X+ #define L_TODAY "t\x84n\x84\x84n"
X #else
X #define L_TODAY "t{n{{n"
X #endif
X***************
X*** 68,75 ****
X #define L_FROMNOW "kuluttua"
X
X /* "in %d days' time" */
X! #ifdef ISOLATIN1
X #define L_INXDAYS "%d p\xE4iv\xE4n kuluttua"
X #else
X #define L_INXDAYS "%d p{iv{n kuluttua"
X #endif
X--- 73,82 ----
X #define L_FROMNOW "kuluttua"
X
X /* "in %d days' time" */
X! #if defined(ISOLATIN1)
X #define L_INXDAYS "%d p\xE4iv\xE4n kuluttua"
X+ #elif defined(IBMEXTENDED)
X+ #define L_INXDAYS "%d p\x84iv\x84n kuluttua"
X #else
X #define L_INXDAYS "%d p{iv{n kuluttua"
X #endif
X***************
X*** 82,89 ****
X /* Pluralizing - this is a problem for many languages and may require
X a more drastic fix */
X /* The partitive ending of "day" */
X! #ifdef ISOLATIN1
X #define L_PLURAL "\xE4"
X #else
X #define L_PLURAL "{"
X #endif
X--- 89,98 ----
X /* Pluralizing - this is a problem for many languages and may require
X a more drastic fix */
X /* The partitive ending of "day" */
X! #if defined(ISOLATIN1)
X #define L_PLURAL "\xE4"
X+ #elif defined(IBMEXTENDED)
X+ #define L_PLURAL "\x84"
X #else
X #define L_PLURAL "{"
X #endif
X***************
X*** 98,104 ****
X #define L_AND "ja"
X
X /* What to add to make "hour" plural (or actually partitive) */
X! #define L_HPLU "a"
X /* What to add to make "minute" plural (or actually partitive) */
X #define L_MPLU "a"
X
X--- 107,113 ----
X #define L_AND "ja"
X
X /* What to add to make "hour" plural (or actually partitive) */
X! #define L_HPLU "a"
X /* What to add to make "minute" plural (or actually partitive) */
X #define L_MPLU "a"
X
X***************
X*** 110,180 ****
X /* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
X See the file dosubst.c for more info. */
X
X! #ifdef ISOLATIN1
X #define L_ORDINAL_OVERRIDE switch(d) { \
X! case 1: plu = ":sen\xE4"; break; \
X! case 2: plu = ":sena"; break; \
X! default: \
X! switch(d%10) { \
X! case 2: \
X! case 3: \
X! case 6: \
X! case 8: plu = ":ntena"; break; \
X! default: plu = ":nten\xE4"; break; \
X! } \
X! }
X #else
X #define L_ORDINAL_OVERRIDE switch(d) { \
X! case 1: plu = ":sen{"; break; \
X! case 2: plu = ":sena"; break; \
X! default: \
X! switch(d%10) { \
X! case 2: \
X! case 3: \
X! case 6: \
X! case 8: plu = ":ntena"; break; \
X! default: plu = ":nten{"; break; \
X! } \
X! }
X #endif
X #define L_A_OVER sprintf(s, "%s%s, %d. %s%s %d", DayName[jul%7], L_ON, d, \
X! MonthName[m], L_PARTIT, y);
X #define L_C_OVER sprintf(s, "%s%s", DayName[jul%7], L_ON);
X #define L_E_OVER sprintf(s, "%02d%c%02d%c%04d", d, DATESEP, m+1, DATESEP, \
X! y);
X #define L_F_OVER sprintf(s, "%02d%c%02d%c%04d", m+1, DATESEP, d, DATESEP, y);
X #define L_G_OVER sprintf(s, "%s%s, %d. %s%s", DayName[jul%7], L_ON, d, \
X! MonthName[m], L_PARTIT);
X #define L_H_OVER sprintf(s, "%02d%c%02d", d, DATESEP, m+1);
X #define L_I_OVER sprintf(s, "%02d%c%02d", m+1, DATESEP, d);
X #define L_J_OVER sprintf(s, "%s%s, %sn %d%s %d", DayName[jul%7], L_ON, \
X! MonthName[m], d, plu, y);
X #define L_K_OVER sprintf(s, "%s%s, %sn %d%s", DayName[jul%7], L_ON, \
X MonthName[m], d, plu);
X #define L_L_OVER sprintf(s, "%04d%c%02d%c%02d", y, DATESEP, m+1, DATESEP, d);
X #define L_Q_OVER sprintf(s, "n");
X #define L_U_OVER sprintf(s, "%s%s, %d%s %s%s %d", DayName[jul%7], L_ON, \
X! d, plu, MonthName[m], L_PARTIT, y);
X #define L_V_OVER sprintf(s, "%s%s, %d%s %s%s", DayName[jul%7], L_ON, d, \
X! plu, MonthName[m], L_PARTIT);
X #define L_1_OVER if (tdiff == 0) \
X! sprintf(s, L_NOW); \
X! else { \
X! if (hdiff != 0) { \
X! if (tdiff < 0) \
X! sprintf(s, "%d %s%s ", hdiff, L_HOUR, hplu); \
X! else \
X! sprintf(s, "%d %s ", hdiff, L_HGEN); \
X! s += strlen(s); \
X! } \
X! if (mdiff != 0) { \
X! if (tdiff < 0) \
X! sprintf(s, "%d %s%s ", mdiff, L_MINUTE, \
X! mplu); \
X! else \
X! sprintf(s, "%d %s ", mdiff, L_MGEN); \
X! s += strlen(s); \
X! } \
X! sprintf(s, when); \
X! }
X #endif /* L_IN_DOSUBST */
X--- 119,609 ----
X /* Define any overrides here, such as L_ORDINAL_OVERRIDE, L_A_OVER, etc.
X See the file dosubst.c for more info. */
X
X! #if defined(ISOLATIN1)
X #define L_ORDINAL_OVERRIDE switch(d) { \
X! case 1: plu = ":sen\xE4"; break; \
X! case 2: plu = ":sena"; break; \
X! default: \
X! switch(d%10) { \
X! case 2: \
X! case 3: \
X! case 6: \
X! case 8: plu = ":ntena"; break; \
X! default: plu = ":nten\xE4"; break; \
X! } \
X! }
X! #elif defined(IBMEXTENDED)
X! #define L_ORDINAL_OVERRIDE switch(d) { \
X! case 1: plu = ":sen\x84"; break; \
X! case 2: plu = ":sena"; break; \
X! default: \
X! switch(d%10) { \
X! case 2: \
X! case 3: \
X! case 6: \
X! case 8: plu = ":ntena"; break; \
X! default: plu = ":nten\x84"; break; \
X! } \
X! }
X #else
X #define L_ORDINAL_OVERRIDE switch(d) { \
X! case 1: plu = ":sen{"; break; \
X! case 2: plu = ":sena"; break; \
X! default: \
X! switch(d%10) { \
X! case 2: \
X! case 3: \
X! case 6: \
X! case 8: plu = ":ntena"; break; \
X! default: plu = ":nten{"; break; \
X! } \
X! }
X #endif
X #define L_A_OVER sprintf(s, "%s%s, %d. %s%s %d", DayName[jul%7], L_ON, d, \
X! MonthName[m], L_PARTIT, y);
X #define L_C_OVER sprintf(s, "%s%s", DayName[jul%7], L_ON);
X #define L_E_OVER sprintf(s, "%02d%c%02d%c%04d", d, DATESEP, m+1, DATESEP, \
X! y);
X #define L_F_OVER sprintf(s, "%02d%c%02d%c%04d", m+1, DATESEP, d, DATESEP, y);
X #define L_G_OVER sprintf(s, "%s%s, %d. %s%s", DayName[jul%7], L_ON, d, \
X! MonthName[m], L_PARTIT);
X #define L_H_OVER sprintf(s, "%02d%c%02d", d, DATESEP, m+1);
X #define L_I_OVER sprintf(s, "%02d%c%02d", m+1, DATESEP, d);
X #define L_J_OVER sprintf(s, "%s%s, %sn %d%s %d", DayName[jul%7], L_ON, \
X! MonthName[m], d, plu, y);
X #define L_K_OVER sprintf(s, "%s%s, %sn %d%s", DayName[jul%7], L_ON, \
X MonthName[m], d, plu);
X #define L_L_OVER sprintf(s, "%04d%c%02d%c%02d", y, DATESEP, m+1, DATESEP, d);
X #define L_Q_OVER sprintf(s, "n");
X #define L_U_OVER sprintf(s, "%s%s, %d%s %s%s %d", DayName[jul%7], L_ON, \
X! d, plu, MonthName[m], L_PARTIT, y);
X #define L_V_OVER sprintf(s, "%s%s, %d%s %s%s", DayName[jul%7], L_ON, d, \
X! plu, MonthName[m], L_PARTIT);
X #define L_1_OVER if (tdiff == 0) \
X! sprintf(s, L_NOW); \
X! else { \
X! if (hdiff != 0) { \
X! if (tdiff < 0) \
X! sprintf(s, "%d %s%s ", hdiff, L_HOUR, hplu); \
X! else \
X! sprintf(s, "%d %s ", hdiff, L_HGEN); \
X! s += strlen(s); \
X! } \
X! if (mdiff != 0) { \
X! if (tdiff < 0) \
X! sprintf(s, "%d %s%s ", mdiff, L_MINUTE, \
X! mplu); \
X! else \
X! sprintf(s, "%d %s ", mdiff, L_MGEN); \
X! s += strlen(s); \
X! } \
X! sprintf(s, when); \
X! }
X #endif /* L_IN_DOSUBST */
X+
X+ /* The next ones are used only when MK_GLOBALS is set */
X+ #ifdef MK_GLOBALS
X+ #define L_ERR_OVERRIDE 1
X+ EXTERN char *ErrMsg[] =
X+ {
X+ #if defined(ISOLATIN1)
X+ "Ok",
X+ "Puuttuva ']'",
X+ "Puuttuva lainausmerkki",
X+ "Liian monimutkainen lauseke - liikaa operaattoreita",
X+ "Liian monimutkainen lauseke - liikaa operandeja",
X+ "Puuttuva ')'",
X+ "M\xE4\xE4rittelem\xE4t\xF6n funktio",
X+ "Virheellinen merkki",
X+ "Kaksipaikkainen operaattori puuttuu",
X+ "Muisti loppui",
X+ "Virheellinen luku",
X+ "Operaattoripino tyhj\xE4 - sis\xE4inen virhe",
X+ "Muuttujapino tyhj\xE4 - sis\xE4inen virhe",
X+ "Tyyppimuunnos ei onnistu",
X+ "Virheellinen tyyppi",
X+ "Liian suuri p\xE4iv\xE4ys",
X+ "Pinovirhe - sis\xE4inen virhe",
X+ "Jako nollalla",
X+ "M\xE4\xE4rittelem\xE4t\xF6n funktio",
X+ "Odottamaton rivin loppu",
X+ "Odottamaton tiedoston loppu",
X+ "Sy\xF6tt\xF6- tai tulostusvirhe",
X+ "Liian pitk\xE4 rivi",
X+ "Sis\xE4inen virhe",
X+ "Virheellinen p\xE4iv\xE4ys",
X+ "Liian v\xE4h\xE4n argumentteja",
X+ "Liian paljon argumentteja",
X+ "Virheellinen aika",
X+ "Liian suuri luku",
X+ "Liian pieni luku",
X+ "Tiedoston avaus ei onnistu",
X+ "Liian monta sis\xE4kk\xE4ist\xE4 INCLUDEa",
X+ "J\xE4sennysvirhe",
X+ "Laukaisuhetken laskenta ei onnistu",
X+ "Liian monta sis\xE4kk\xE4ist\xE4 IF-lausetta",
X+ "ELSE ilman IF-lausetta",
X+ "ENDIF ilman IF-lausetta",
X+ "Kaikkia viikonp\xE4ivi\xE4 ei voi j\xE4tt\xE4\xE4 pois",
X+ "Ylim\xE4\xE4r\xE4isi\xE4 merkkej\xE4 rivill\xE4",
X+ "POP-OMIT-CONTEXT ilman PUSH-OMIT-CONTEXTia",
X+ "RUN-lauseen k\xE4ytt\xF6 estetty",
X+ "Arvoaluevirhe",
X+ "Virheellinen tunniste",
X+ "Rekursiivinen funktiokutsu havaittu",
X+ "",
X+ "J\xE4rjestelm\xE4muuttujan muuttaminen ei onnistu",
X+ "C-kirjastofunktio ei pysty esitt\xE4m\xE4\xE4n p\xE4iv\xE4yst\xE4 tai aikaa",
X+ "Sis\xE4isen funktion m\xE4\xE4ritelm\xE4\xE4 yritettiin muuttaa",
X+ "Lausekkeessa ei voi olla sis\xE4kk\xE4isi\xE4 funktiom\xE4\xE4ritelmi\xE4",
X+ "P\xE4iv\xE4yksen t\xE4ytyy olla t\xE4ydellinen toistokertoimessa",
X+ "Vuosi annettu kahdesti",
X+ "Kuukausi annettu kahdesti",
X+ "P\xE4iv\xE4 annettu kahdesti",
X+ "Tuntematon sana tai merkki",
X+ "OMIT-komennossa on annettava kuukausi ja p\xE4iv\xE4",
X+ "Liian monta osittaista OMIT-komentoa",
X+ "Liian monta t\xE4ydellist\xE4 OMIT-komentoa",
X+ "Varoitus: PUSH-OMIT-CONTEXT ilman POP-OMIT-CONTEXTia",
X+ "Virhe tiedoston luvussa",
X+ "Pilkku puuttuu",
X+ "Virheellinen juutalainen p\xE4iv\xE4ys",
X+ "IIF vaatii parittoman m\xE4\xE4r\xE4n argumentteja",
X+ "Varoitus: puuttuva ENDIF",
X+ "Pilkku puuttuu",
X+ "Viikonp\xE4iv\xE4 annettu kahdesti",
X+ "K\xE4yt\xE4 vain yht\xE4 komennoista BEFORE, AFTER ja SKIP",
X+ "Sis\xE4kk\xE4isi\xE4 MSG-, MSF- ja RUN-lauseita ei voi k\xE4ytt\xE4\xE4 lausekkeessa",
X+ "Toistokerroin annettu kahdesti",
X+ "Delta-arvo annettu kahdesti",
X+ "Peruutusarvo annettu kahdesti",
X+ "ONCE-avainsanaa k\xE4ytetty kahdesti. (Hah.)",
X+ "AT-sanan per\xE4st\xE4 puuttuu aika",
X+ "UNTIL-sanaa k\xE4ytetty kahdesti",
X+ "Ep\xE4t\xE4ydellinen p\xE4iv\xE4ys",
X+ "SCANFROM-sanaa k\xE4ytetty kahdesti",
X+ "Muuttuja",
X+ "Arvo",
X+ "*M\xC4\xC4RITTELEM\xC4T\xD6N*",
X+ "Siirryt\xE4\xE4n funktioon",
X+ "Poistutaan funktiosta",
X+ "Vanhentunut",
X+ "fork() ep\xE4onnistui - jonomuistutukset eiv\xE4t toimi",
X+ "Tiedoston avaus ei onnistu",
X+ "Virheellinen j\xE4rjestelm\xE4p\xE4iv\xE4ys: vuosi on v\xE4hemm\xE4n kuin %d\n",
X+ "Tuntematon virheenetsint\xE4tarkenne '%c'\n",
X+ "Tuntematon tarkenne '%c'\n",
X+ "Tuntematon k\xE4ytt\xE4j\xE4 '%s'\n",
X+ "Ryhm\xE4numeron vaihto %d:ksi ei onnistunut\n",
X+ "K\xE4ytt\xE4j\xE4numeron vaihto %d:ksi ei onnistunut\n",
X+ "Muisti ei riit\xE4 ymp\xE4rist\xF6lle\n",
X+ "Puuttuva '='-merkki",
X+ "Puuttuva muuttujanimi",
X+ "Puuttuva lauseke",
X+ "P\xE4iv\xE4n asetus %s:ksi ei onnitus\n",
X+ "Remind: tarkenne '-i': %s\n",
X+ "Ei viestej\xE4.",
X+ "%d viesti(\xE4) t\xE4m\xE4n p\xE4iv\xE4n jonossa.\n",
X+ #elif defined(IBMEXTENDED)
X+ "Ok",
X+ "Puuttuva ']'",
X+ "Puuttuva lainausmerkki",
X+ "Liian monimutkainen lauseke - liikaa operaattoreita",
X+ "Liian monimutkainen lauseke - liikaa operandeja",
X+ "Puuttuva ')'",
X+ "M\x84\x84rittelem\x84t\x94n funktio",
X+ "Virheellinen merkki",
X+ "Kaksipaikkainen operaattori puuttuu",
X+ "Muisti loppui",
X+ "Virheellinen luku",
X+ "Operaattoripino tyhj\x84 - sis\x84inen virhe",
X+ "Muuttujapino tyhj\x84 - sis\x84inen virhe",
X+ "Tyyppimuunnos ei onnistu",
X+ "Virheellinen tyyppi",
X+ "Liian suuri p\x84iv\x84ys",
X+ "Pinovirhe - sis\x84inen virhe",
X+ "Jako nollalla",
X+ "M\x84\x84rittelem\x84t\x94n funktio",
X+ "Odottamaton rivin loppu",
X+ "Odottamaton tiedoston loppu",
X+ "Sy\x94tt\x94- tai tulostusvirhe",
X+ "Liian pitk\x84 rivi",
X+ "Sis\x84inen virhe",
X+ "Virheellinen p\x84iv\x84ys",
X+ "Liian v\x84h\x84n argumentteja",
X+ "Liian paljon argumentteja",
X+ "Virheellinen aika",
X+ "Liian suuri luku",
X+ "Liian pieni luku",
X+ "Tiedoston avaus ei onnistu",
X+ "Liian monta sis\x84kk\x84ist\x84 INCLUDEa",
X+ "J\x84sennysvirhe",
X+ "Laukaisuhetken laskenta ei onnistu",
X+ "Liian monta sis\x84kk\x84ist\x84 IF-lausetta",
X+ "ELSE ilman IF-lausetta",
X+ "ENDIF ilman IF-lausetta",
X+ "Kaikkia viikonp\x84ivi\x84 ei voi j\x84tt\x84\x84 pois",
X+ "Ylim\x84\x84r\x84isi\x84 merkkej\x84 rivill\x84",
X+ "POP-OMIT-CONTEXT ilman PUSH-OMIT-CONTEXTia",
X+ "RUN-lauseen k\x84ytt\x94 estetty",
X+ "Arvoaluevirhe",
X+ "Virheellinen tunniste",
X+ "Rekursiivinen funktiokutsu havaittu",
X+ "",
X+ "J\x84rjestelm\x84muuttujan muuttaminen ei onnistu",
X+ "C-kirjastofunktio ei pysty esitt\x84m\x84\x84n p\x84iv\x84yst\x84 tai aikaa",
X+ "Sis\x84isen funktion m\x84\x84ritelm\x84\x84 yritettiin muuttaa",
X+ "Lausekkeessa ei voi olla sis\x84kk\x84isi\x84 funktiom\x84\x84ritelmi\x84",
X+ "P\x84iv\x84yksen t\x84ytyy olla t\x84ydellinen toistokertoimessa",
X+ "Vuosi annettu kahdesti",
X+ "Kuukausi annettu kahdesti",
X+ "P\x84iv\x84 annettu kahdesti",
X+ "Tuntematon sana tai merkki",
X+ "OMIT-komennossa on annettava kuukausi ja p\x84iv\x84",
X+ "Liian monta osittaista OMIT-komentoa",
X+ "Liian monta t\x84ydellist\x84 OMIT-komentoa",
X+ "Varoitus: PUSH-OMIT-CONTEXT ilman POP-OMIT-CONTEXTia",
X+ "Virhe tiedoston luvussa",
X+ "Pilkku puuttuu",
X+ "Virheellinen juutalainen p\x84iv\x84ys",
X+ "IIF vaatii parittoman m\x84\x84r\x84n argumentteja",
X+ "Varoitus: puuttuva ENDIF",
X+ "Pilkku puuttuu",
X+ "Viikonp\x84iv\x84 annettu kahdesti",
X+ "K\x84yt\x84 vain yht\x84 komennoista BEFORE, AFTER ja SKIP",
X+ "Sis\x84kk\x84isi\x84 MSG-, MSF- ja RUN-lauseita ei voi k\x84ytt\x84\x84 lausekkeessa",
X+ "Toistokerroin annettu kahdesti",
X+ "Delta-arvo annettu kahdesti",
X+ "Peruutusarvo annettu kahdesti",
X+ "ONCE-avainsanaa k\x84ytetty kahdesti. (Hah.)",
X+ "AT-sanan per\x84st\x84 puuttuu aika",
X+ "UNTIL-sanaa k\x84ytetty kahdesti",
X+ "Ep\x84t\x84ydellinen p\x84iv\x84ys",
X+ "SCANFROM-sanaa k\x84ytetty kahdesti",
X+ "Muuttuja",
X+ "Arvo",
X+ "*M\x8E\x8ERITTELEM\x8ET\x99N*",
X+ "Siirryt\x84\x84n funktioon",
X+ "Poistutaan funktiosta",
X+ "Vanhentunut",
X+ "fork() ep\x84onnistui - jonomuistutukset eiv\x84t toimi",
X+ "Tiedoston avaus ei onnistu",
X+ "Virheellinen j\x84rjestelm\x84p\x84iv\x84ys: vuosi on v\x84hemm\x84n kuin %d\n",
X+ "Tuntematon virheenetsint\x84tarkenne '%c'\n",
X+ "Tuntematon tarkenne '%c'\n",
X+ "Tuntematon k\x84ytt\x84j\x84 '%s'\n",
X+ "Ryhm\x84numeron vaihto %d:ksi ei onnistunut\n",
X+ "K\x84ytt\x84j\x84numeron vaihto %d:ksi ei onnistunut\n",
X+ "Muisti ei riit\x84 ymp\x84rist\x94lle\n",
X+ "Puuttuva '='-merkki",
X+ "Puuttuva muuttujanimi",
X+ "Puuttuva lauseke",
X+ "P\x84iv\x84n asetus %s:ksi ei onnitus\n",
X+ "Remind: tarkenne '-i': %s\n",
X+ "Ei viestej\x84.",
X+ "%d viesti(\x84) t\x84m\x84n p\x84iv\x84n jonossa.\n",
X+ #else
X+ "Ok",
X+ "Puuttuva ']'",
X+ "Puuttuva lainausmerkki",
X+ "Liian monimutkainen lauseke - liikaa operaattoreita",
X+ "Liian monimutkainen lauseke - liikaa operandeja",
X+ "Puuttuva ')'",
X+ "M{{rittelem{t|n funktio",
X+ "Virheellinen merkki",
X+ "Kaksipaikkainen operaattori puuttuu",
X+ "Muisti loppui",
X+ "Virheellinen luku",
X+ "Operaattoripino tyhj{ - sis{inen virhe",
X+ "Muuttujapino tyhj{ - sis{inen virhe",
X+ "Tyyppimuunnos ei onnistu",
X+ "Virheellinen tyyppi",
X+ "Liian suuri p{iv{ys",
X+ "Pinovirhe - sis{inen virhe",
X+ "Jako nollalla",
X+ "M{{rittelem{t|n funktio",
X+ "Odottamaton rivin loppu",
X+ "Odottamaton tiedoston loppu",
X+ "Sy|tt|- tai tulostusvirhe",
X+ "Liian pitk{ rivi",
X+ "Sis{inen virhe",
X+ "Virheellinen p{iv{ys",
X+ "Liian v{h{n argumentteja",
X+ "Liian paljon argumentteja",
X+ "Virheellinen aika",
X+ "Liian suuri luku",
X+ "Liian pieni luku",
X+ "Tiedoston avaus ei onnistu",
X+ "Liian monta sis{kk{ist{ INCLUDEa",
X+ "J{sennysvirhe",
X+ "Laukaisuhetken laskenta ei onnistu",
X+ "Liian monta sis{kk{ist{ IF-lausetta",
X+ "ELSE ilman IF-lausetta",
X+ "ENDIF ilman IF-lausetta",
X+ "Kaikkia viikonp{ivi{ ei voi j{tt{{ pois",
X+ "Ylim{{r{isi{ merkkej{ rivill{",
X+ "POP-OMIT-CONTEXT ilman PUSH-OMIT-CONTEXTia",
X+ "RUN-lauseen k{ytt| estetty",
X+ "Arvoaluevirhe",
X+ "Virheellinen tunniste",
X+ "Rekursiivinen funktiokutsu havaittu",
X+ "",
X+ "J{rjestelm{muuttujan muuttaminen ei onnistu",
X+ "C-kirjastofunktio ei pysty esitt{m{{n p{iv{yst{ tai aikaa",
X+ "Sis{isen funktion m{{ritelm{{ yritettiin muuttaa",
X+ "Lausekkeessa ei voi olla sis{kk{isi{ funktiom{{ritelmi{",
X+ "P{iv{yksen t{ytyy olla t{ydellinen toistokertoimessa",
X+ "Vuosi annettu kahdesti",
X+ "Kuukausi annettu kahdesti",
X+ "P{iv{ annettu kahdesti",
X+ "Tuntematon sana tai merkki",
X+ "OMIT-komennossa on annettava kuukausi ja p{iv{",
X+ "Liian monta osittaista OMIT-komentoa",
X+ "Liian monta t{ydellist{ OMIT-komentoa",
X+ "Varoitus: PUSH-OMIT-CONTEXT ilman POP-OMIT-CONTEXTia",
X+ "Virhe tiedoston luvussa",
X+ "Pilkku puuttuu",
X+ "Virheellinen juutalainen p{iv{ys",
X+ "IIF vaatii parittoman m{{r{n argumentteja",
X+ "Varoitus: puuttuva ENDIF",
X+ "Pilkku puuttuu",
X+ "Viikonp{iv{ annettu kahdesti",
X+ "K{yt{ vain yht{ komennoista BEFORE, AFTER ja SKIP",
X+ "Sis{kk{isi{ MSG-, MSF- ja RUN-lauseita ei voi k{ytt{{ lausekkeessa",
X+ "Toistokerroin annettu kahdesti",
X+ "Delta-arvo annettu kahdesti",
X+ "Peruutusarvo annettu kahdesti",
X+ "ONCE-avainsanaa k{ytetty kahdesti. (Hah.)",
X+ "AT-sanan per{st{ puuttuu aika",
X+ "UNTIL-sanaa k{ytetty kahdesti",
X+ "Ep{t{ydellinen p{iv{ys",
X+ "SCANFROM-sanaa k{ytetty kahdesti",
X+ "Muuttuja",
X+ "Arvo",
X+ "*M[[RITTELEM[T\\N*",
X+ "Siirryt{{n funktioon",
X+ "Poistutaan funktiosta",
X+ "Vanhentunut",
X+ "fork() ep{onnistui - jonomuistutukset eiv{t toimi",
X+ "Tiedoston avaus ei onnistu",
X+ "Virheellinen j{rjestelm{p{iv{ys: vuosi on v{hemm{n kuin %d\n",
X+ "Tuntematon virheenetsint{tarkenne '%c'\n",
X+ "Tuntematon tarkenne '%c'\n",
X+ "Tuntematon k{ytt{j{ '%s'\n",
X+ "Ryhm{numeron vaihto %d:ksi ei onnistunut\n",
X+ "K{ytt{j{numeron vaihto %d:ksi ei onnistunut\n",
X+ "Muisti ei riit{ ymp{rist|lle\n",
X+ "Puuttuva '='-merkki",
X+ "Puuttuva muuttujanimi",
X+ "Puuttuva lauseke",
X+ "P{iv{n asetus %s:ksi ei onnitus\n",
X+ "Remind: tarkenne '-i': %s\n",
X+ "Ei viestej{.",
X+ "%d viesti({) t{m{n p{iv{n jonossa.\n",
X+ #endif
X+ };
X+ #endif /* MK_GLOBALS */
X+
X+ /* The following is only used in init.c */
X+ #ifdef L_IN_INIT
X+ #define L_USAGE_OVERRIDE 1
X+ #ifdef HAVE_PROTOS
X+ PUBLIC void Usage(void)
X+ #else
X+ void Usage()
X+ #endif /* HAVE_PROTOS */
X+ {
X+ fprintf(ErrFp, "\nREMIND %s (%s version) Copyright 1992, 1993 by David F. Skoll\n", VERSION, L_LANGNAME);
X+ #ifdef BETA
X+ fprintf(ErrFp, ">>>> BETAVERSIO <<<<\n");
X+ #endif
X+ #if defined(ISOLATIN1)
X+ fprintf(ErrFp, "K\xE4ytt\xF6: remind [tarkenteet] tiedosto [p\xE4iv\xE4ys]\n");
X+ fprintf(ErrFp, "Tarkenteet:\n");
X+ fprintf(ErrFp, " -n Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
X+ fprintf(ErrFp, " -r Est\xE4 RUN-lauseiden k\xE4ytt\xF6\n");
X+ fprintf(ErrFp, " -c[n] Tulosta n:n kuukauden kalenteri (oletus 1)\n");
X+ fprintf(ErrFp, " -c+[n] Tulosta n:n viikon kalenteri (oletus 1)\n");
X+ fprintf(ErrFp, " -w[n[,p[,s]]] Aseta kalenterin leveys, tasaus ja v\xE4lit\n");
X+ fprintf(ErrFp, " -s[+][n] Tulosta n:n kuukauden (viikon) 'yksink. kalenteri' (oletus 1)\n");
X+ fprintf(ErrFp, " -p[n] Kuten -s, mutta tulosta rem2ps:lle sopivassa muodossa\n");
X+ fprintf(ErrFp, " -v Laveat tulostukset\n");
X+ fprintf(ErrFp, " -o \xC4l\xE4 noudata ONCE-lauseita\n");
X+ fprintf(ErrFp, " -t Laukaise kaikki viestit deltan arvosta v\xE4litt\xE4m\xE4tt\xE4\n");
X+ fprintf(ErrFp, " -h Suppeat tulostukset\n");
X+ #ifdef HAVE_QUEUED
X+ fprintf(ErrFp, " -a \xC4l\xE4 laukaise viestej\xE4 heti - lis\xE4\xE4 ne jonoon\n");
X+ fprintf(ErrFp, " -q \xC4l\xE4 lis\xE4\xE4 viestej\xE4 jonoon\n");
X+ fprintf(ErrFp, " -f Laukaise viestit, pysy etualalla\n");
X+ fprintf(ErrFp, " -z[n] K\xE4ynnisty demonina, her\xE4tys n:n (5:n) minuutin v\xE4lein\n");
X+ #endif
X+ fprintf(ErrFp, " -d... Virheenetsint\xE4: e=echo x=expr-eval t=trig v=dumpvars l=showline\n");
X+ fprintf(ErrFp, " -e Ohjaa virhetulostus stdout-vuohon\n");
X+ fprintf(ErrFp, " -b[n] Ajan ilmaisu: 0=ap/ip, 1=24 tuntia, 2=ei aikoja\n");
X+ fprintf(ErrFp, " -x[n] SATISFY-lauseen toistoraja (oletus 150)\n");
X+ fprintf(ErrFp, " -kcmd Suorita 'cmd' MSG-tyyppisille viesteille\n");
X+ fprintf(ErrFp, " -g[d[d]] Lajittele viestit p\xE4iv\xE4yksen ja ajan mukaan\n");
X+ fprintf(ErrFp, " -ivar=val Alusta muuttuja var arvolla val ja s\xE4ilyt\xE4 var\n");
X+ fprintf(ErrFp, " -m Aloita kalenteri maanantaista eik\xE4 sunnuntaista");
X+ exit(1);
X+ #elif defined(IBMEXTENDED)
X+ fprintf(ErrFp, "K\x84ytt\x94: remind [tarkenteet] tiedosto [p\x84iv\x84ys]\n");
X+ fprintf(ErrFp, "Tarkenteet:\n");
X+ fprintf(ErrFp, " -n Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
X+ fprintf(ErrFp, " -r Est\x84 RUN-lauseiden k\x84ytt\x94\n");
X+ fprintf(ErrFp, " -c[n] Tulosta n:n kuukauden kalenteri (oletus 1)\n");
X+ fprintf(ErrFp, " -c+[n] Tulosta n:n viikon kalenteri (oletus 1)\n");
X+ fprintf(ErrFp, " -w[n[,p[,s]]] Aseta kalenterin leveys, tasaus ja v\x84lit\n");
X+ fprintf(ErrFp, " -s[+][n] Tulosta n:n kuukauden (viikon) 'yksink. kalenteri' (oletus 1)\n");
X+ fprintf(ErrFp, " -p[n] Kuten -s, mutta tulosta rem2ps:lle sopivassa muodossa\n");
X+ fprintf(ErrFp, " -v Laveat tulostukset\n");
X+ fprintf(ErrFp, " -o \x8El\x84 noudata ONCE-lauseita\n");
X+ fprintf(ErrFp, " -t Laukaise kaikki viestit deltan arvosta v\x84litt\x84m\x84tt\x84\n");
X+ fprintf(ErrFp, " -h Suppeat tulostukset\n");
X+ #ifdef HAVE_QUEUED
X+ fprintf(ErrFp, " -a \x8El\x84 laukaise viestej\x84 heti - lis\x84\x84 ne jonoon\n");
X+ fprintf(ErrFp, " -q \x8El\x84 lis\x84\x84 viestej\x84 jonoon\n");
X+ fprintf(ErrFp, " -f Laukaise viestit, pysy etualalla\n");
X+ fprintf(ErrFp, " -z[n] K\x84ynnisty demonina, her\x84tys n:n (5:n) minuutin v\x84lein\n");
X+ #endif
X+ fprintf(ErrFp, " -d... Virheenetsint\x84: e=echo x=expr-eval t=trig v=dumpvars l=showline\n");
X+ fprintf(ErrFp, " -e Ohjaa virhetulostus stdout-vuohon\n");
X+ fprintf(ErrFp, " -b[n] Ajan ilmaisu: 0=ap/ip, 1=24 tuntia, 2=ei aikoja\n");
X+ fprintf(ErrFp, " -x[n] SATISFY-lauseen toistoraja (oletus 150)\n");
X+ fprintf(ErrFp, " -kcmd Suorita 'cmd' MSG-tyyppisille viesteille\n");
X+ fprintf(ErrFp, " -g[d[d]] Lajittele viestit p\x84iv\x84yksen ja ajan mukaan\n");
X+ fprintf(ErrFp, " -ivar=val Alusta muuttuja var arvolla val ja s\x84ilyt\x84 var\n");
X+ fprintf(ErrFp, " -m Aloita kalenteri maanantaista eik\x84 sunnuntaista");
X+ exit(1);
X+ #else
X+ fprintf(ErrFp, "K{ytt|: remind [tarkenteet] tiedosto [p{iv{ys]\n");
X+ fprintf(ErrFp, "Tarkenteet:\n");
X+ fprintf(ErrFp, " -n Tulosta viestien seuraavat esiintymiskerrat yksink. muodossa\n");
X+ fprintf(ErrFp, " -r Est{ RUN-lauseiden k{ytt|\n");
X+ fprintf(ErrFp, " -c[n] Tulosta n:n kuukauden kalenteri (oletus 1)\n");
X+ fprintf(ErrFp, " -c+[n] Tulosta n:n viikon kalenteri (oletus 1)\n");
X+ fprintf(ErrFp, " -w[n[,p[,s]]] Aseta kalenterin leveys, tasaus ja v{lit\n");
X+ fprintf(ErrFp, " -s[+][n] Tulosta n:n kuukauden (viikon) 'yksink. kalenteri' (oletus 1)\n");
X+ fprintf(ErrFp, " -p[n] Kuten -s, mutta tulosta rem2ps:lle sopivassa muodossa\n");
X+ fprintf(ErrFp, " -v Laveat tulostukset\n");
X+ fprintf(ErrFp, " -o [l{ noudata ONCE-lauseita\n");
X+ fprintf(ErrFp, " -t Laukaise kaikki viestit deltan arvosta v{litt{m{tt{\n");
X+ fprintf(ErrFp, " -h Suppeat tulostukset\n");
X+ #ifdef HAVE_QUEUED
X+ fprintf(ErrFp, " -a [l{ laukaise viestej{ heti - lis{{ ne jonoon\n");
X+ fprintf(ErrFp, " -q [l{ lis{{ viestej{ jonoon\n");
X+ fprintf(ErrFp, " -f Laukaise viestit, pysy etualalla\n");
X+ fprintf(ErrFp, " -z[n] K{ynnisty demonina, her{tys n:n (5:n) minuutin v{lein\n");
X+ #endif
X+ fprintf(ErrFp, " -d... Virheenetsint{: e=echo x=expr-eval t=trig v=dumpvars l=showline\n");
X+ fprintf(ErrFp, " -e Ohjaa virhetulostus stdout-vuohon\n");
X+ fprintf(ErrFp, " -b[n] Ajan ilmaisu: 0=ap/ip, 1=24 tuntia, 2=ei aikoja\n");
X+ fprintf(ErrFp, " -x[n] SATISFY-lauseen toistoraja (oletus 150)\n");
X+ fprintf(ErrFp, " -kcmd Suorita 'cmd' MSG-tyyppisille viesteille\n");
X+ fprintf(ErrFp, " -g[d[d]] Lajittele viestit p{iv{yksen ja ajan mukaan\n");
X+ fprintf(ErrFp, " -ivar=val Alusta muuttuja var arvolla val ja s{ilyt{ var\n");
X+ fprintf(ErrFp, " -m Aloita kalenteri maanantaista eik{ sunnuntaista");
X+ exit(1);
X+ #endif
X+ }
X+ #endif /* L_IN_INIT */
END_OF_FILE
if test 43820 -ne `wc -c <'patch.09.B'`; then
echo shar: \"'patch.09.B'\" unpacked with wrong size!
elif test -f 'patch.09.A' && test -f 'patch.09.C' && test -f 'patch.09.D'
then
echo shar: Combining \"'patch.09'\" \(145785 characters\)
cat 'patch.09.A' 'patch.09.B' 'patch.09.C' 'patch.09.D' > 'patch.09'
if test 145785 -ne `wc -c <'patch.09'`; then
echo shar: \"'patch.09'\" combined with wrong size!
else
rm patch.09.A patch.09.B patch.09.C patch.09.D
fi
fi
# end of 'patch.09.B'
fi
echo shar: End of archive 1 \(of 4\).
cp /dev/null ark1isdone
MISSING=""
for I in 1 2 3 4 ; do
if test ! -f ark${I}isdone ; then
MISSING="${MISSING} ${I}"
fi
done
if test "${MISSING}" = "" ; then
echo You have unpacked all 4 archives.
rm -f ark[1-9]isdone
else
echo You still must unpack the following archives:
echo " " ${MISSING}
fi
exit 0
exit 0 # Just in case...