mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-16 06:18:47 +02:00
Make "-tn" explicitly set a delta of ++n for *all* REM statements.
Also change the name of $DeltaOffset to $DeltaOverride.
This commit is contained in:
@@ -1,5 +1,10 @@
|
||||
CHANGES TO REMIND
|
||||
|
||||
- CHANGE: The "-tn" option sets all REM statement deltas to ++n rather than
|
||||
adding n to any existing REM statement's delta. Additionally, the
|
||||
corresponding system variable $DeltaOffset has been renamed to
|
||||
$DeltaOverride.
|
||||
|
||||
* VERSION 4.2 Patch 5 - 2023-04-11
|
||||
|
||||
- MINOR IMPROVEMENT: remind: If someone uses OMIT yyyy-mm-dd UNTIL yyyy-mm-dd
|
||||
|
||||
@@ -222,8 +222,8 @@ regardless of the \fIdelta\fR supplied for each reminder.
|
||||
.TP
|
||||
.B \-t\fR\fIn\fR
|
||||
If you supply a number \fIn\fR after the \fB\-t\fR option, then
|
||||
\fBRemind\fR pretends that \fIn\fR has been \fIadded\fR to each REM statement's
|
||||
existing delta and triggers reminders accordingly.
|
||||
\fBRemind\fR pretends that echo \fBREM\fR command has a delta
|
||||
of \+\+\fIn\fR, regardles of any existing delta.
|
||||
.TP
|
||||
.B \-tz\fR
|
||||
If you supply the letter \fBz\fR after the \fB\-t\fR option, then
|
||||
|
||||
24
src/dorem.c
24
src/dorem.c
@@ -1200,19 +1200,28 @@ int ShouldTriggerReminder(Trigger *t, TimeTrig *tim, int dse, int *err)
|
||||
/* If "infinite delta" option is chosen, always trigger future reminders */
|
||||
if (InfiniteDelta || NextMode) return 1;
|
||||
|
||||
/* If there's a "warn" function, it overrides any deltas */
|
||||
/* If there's a "warn" function, it overrides any deltas except
|
||||
* DeltaOverride*/
|
||||
if (t->warn[0] != 0) {
|
||||
if (DeltaOffset > 0) {
|
||||
if (dse <= DSEToday + DeltaOffset) {
|
||||
if (DeltaOverride > 0) {
|
||||
if (dse <= DSEToday + DeltaOverride) {
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
return ShouldTriggerBasedOnWarn(t, dse, err);
|
||||
}
|
||||
|
||||
/* Zero delta */
|
||||
if (DeltaOverride < 0) {
|
||||
return dse == DSEToday;
|
||||
}
|
||||
|
||||
/* Move back by delta days, if any */
|
||||
if (t->delta != NO_DELTA && DeltaOffset >= 0) {
|
||||
if (t->delta < 0)
|
||||
if (DeltaOverride) {
|
||||
/* A positive DeltaOverride takes precedence over everything */
|
||||
dse = dse - DeltaOverride;
|
||||
} else if (t->delta != NO_DELTA) {
|
||||
if (t->delta < 0)
|
||||
dse = dse + t->delta;
|
||||
else {
|
||||
int iter = 0;
|
||||
@@ -1236,11 +1245,8 @@ int ShouldTriggerReminder(Trigger *t, TimeTrig *tim, int dse, int *err)
|
||||
}
|
||||
}
|
||||
|
||||
if (DeltaOffset < 0) {
|
||||
return dse == DSEToday;
|
||||
}
|
||||
/* Should we trigger the reminder? */
|
||||
return (dse <= DSEToday + DeltaOffset);
|
||||
return (dse <= DSEToday);
|
||||
}
|
||||
|
||||
/***************************************************************/
|
||||
|
||||
@@ -70,7 +70,7 @@ EXTERN INIT( int Hush, 0);
|
||||
EXTERN INIT( int NextMode, 0);
|
||||
EXTERN INIT( int InfiniteDelta, 0);
|
||||
EXTERN INIT( int DefaultTDelta, 0);
|
||||
EXTERN INIT( int DeltaOffset, 0);
|
||||
EXTERN INIT( int DeltaOverride, 0);
|
||||
EXTERN INIT( int RunDisabled, 0);
|
||||
EXTERN INIT( int IgnoreOnce, 0);
|
||||
EXTERN INIT( int SortByTime, 0);
|
||||
|
||||
@@ -342,12 +342,12 @@ void InitRemind(int argc, char const *argv[])
|
||||
InfiniteDelta = 1;
|
||||
} else {
|
||||
if (*arg == 'z') {
|
||||
DeltaOffset = -1;
|
||||
DeltaOverride = -1;
|
||||
arg++;
|
||||
} else {
|
||||
PARSENUM(DeltaOffset, arg);
|
||||
if (DeltaOffset < 0) {
|
||||
DeltaOffset = 0;
|
||||
PARSENUM(DeltaOverride, arg);
|
||||
if (DeltaOverride < 0) {
|
||||
DeltaOverride = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -792,7 +792,7 @@ static SysVar SysVarArr[] = {
|
||||
{"DefaultColor", 1, SPECIAL_TYPE, default_color_func, 0, 0 },
|
||||
{"DefaultPrio", 1, INT_TYPE, &DefaultPrio, 0, 9999 },
|
||||
{"DefaultTDelta", 1, INT_TYPE, &DefaultTDelta, 0, 1440 },
|
||||
{"DeltaOffset", 0, INT_TYPE, &DeltaOffset, 0, 0 },
|
||||
{"DeltaOverride", 0, INT_TYPE, &DeltaOverride, 0, 0 },
|
||||
{"DontFork", 0, INT_TYPE, &DontFork, 0, 0 },
|
||||
{"DontQueue", 0, INT_TYPE, &DontQueue, 0, 0 },
|
||||
{"DontTrigAts", 0, INT_TYPE, &DontIssueAts, 0, 0 },
|
||||
|
||||
@@ -408,6 +408,14 @@ TZ=Europe/Berlin ../src/remind -dxe ../tests/tz.rem >> ../tests/test.out 2>&1
|
||||
# Test that banner is printed on every iteration
|
||||
echo "MSG Should be three banners." | ../src/remind - 2022-10-20 '*3' >> ../tests/test.out 2>&1
|
||||
|
||||
# Test the -tn option
|
||||
echo "REM May 23 +10 MSG Orange %b" | ../src/remind - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
echo "REM May 23 +10 MSG Quux %b" | ../src/remind -t1 - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
echo "REM May 23 +10 MSG Cabbage %b" | ../src/remind -t2 - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
echo "REM May 23 MSG Banana %b" | ../src/remind - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
echo "REM May 23 MSG Carrot %b" | ../src/remind -t1 - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
echo "REM May 23 MSG Apple %b" | ../src/remind -t2 - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
|
||||
# Test the -tz option
|
||||
echo "REM May 22 +10 MSG Foo %b" | ../src/remind - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
echo "REM May 22 +10 MSG Bar %b" | ../src/remind -tz - 2023-05-21 >> ../tests/test.out 2>&1
|
||||
|
||||
@@ -2756,7 +2756,7 @@ Variable Value
|
||||
$DefaultColor "-1 -1 -1"
|
||||
$DefaultPrio 5000 [0, 9999]
|
||||
$DefaultTDelta 0 [0, 1440]
|
||||
$DeltaOffset 0
|
||||
$DeltaOverride 0
|
||||
$DontFork 0
|
||||
$DontQueue 1
|
||||
$DontTrigAts 0
|
||||
@@ -2883,9 +2883,9 @@ msg [$DefaultTDelta]%
|
||||
../tests/test.rem(484): Trig = Saturday, 16 February, 1991
|
||||
$DefaultTDelta => 0
|
||||
0
|
||||
msg [$DeltaOffset]%
|
||||
msg [$DeltaOverride]%
|
||||
../tests/test.rem(485): Trig = Saturday, 16 February, 1991
|
||||
$DeltaOffset => 0
|
||||
$DeltaOverride => 0
|
||||
0
|
||||
msg [$DontFork]%
|
||||
../tests/test.rem(486): Trig = Saturday, 16 February, 1991
|
||||
@@ -10545,6 +10545,21 @@ Should be three banners.
|
||||
|
||||
Reminders for Sunday, 21st May, 2023:
|
||||
|
||||
Orange in 2 days' time
|
||||
|
||||
No reminders.
|
||||
Reminders for Sunday, 21st May, 2023:
|
||||
|
||||
Cabbage in 2 days' time
|
||||
|
||||
No reminders.
|
||||
No reminders.
|
||||
Reminders for Sunday, 21st May, 2023:
|
||||
|
||||
Apple in 2 days' time
|
||||
|
||||
Reminders for Sunday, 21st May, 2023:
|
||||
|
||||
Foo tomorrow
|
||||
|
||||
No reminders.
|
||||
|
||||
@@ -482,7 +482,7 @@ msg [$December]%
|
||||
msg [$DefaultColor]%
|
||||
msg [$DefaultPrio]%
|
||||
msg [$DefaultTDelta]%
|
||||
msg [$DeltaOffset]%
|
||||
msg [$DeltaOverride]%
|
||||
msg [$DontFork]%
|
||||
msg [$DontQueue]%
|
||||
msg [$DontTrigAts]%
|
||||
|
||||
Reference in New Issue
Block a user