Compare commits

...

9 Commits

Author SHA1 Message Date
Dianne Skoll
a8607cb012 Add some terms to hunspell dictionary. 2025-11-10 12:15:34 -05:00
Dianne Skoll
6caa404e59 Prep for 06.02.01 release. 2025-11-10 12:14:28 -05:00
Dianne Skoll
13e1e19855 Add some tests; make tess pass on MUSL. 2025-11-10 12:08:58 -05:00
Dianne Skoll
96d40b81df Make early exit contingent upon ParseUntriggered. 2025-11-10 12:02:47 -05:00
Dianne Skoll
30e4a9fc50 Catch possible error 2025-11-06 21:42:57 -05:00
Dianne Skoll
6d0fbeed20 Hide font chooser if we kill .opts 2025-11-06 21:40:58 -05:00
Dianne Skoll
3f1aaeefd2 Raise .opts when font chooser is dismissed. 2025-11-06 21:39:42 -05:00
Dianne Skoll
326604fe18 Free trigger resources if we exit early because of expired reminder. 2025-11-04 17:07:09 -05:00
Dianne Skoll
57e93553bf Exit early if a reminder has expired. 2025-11-04 17:05:02 -05:00
10 changed files with 114 additions and 18 deletions

18
configure vendored
View File

@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.72 for remind 06.02.00.
# Generated by GNU Autoconf 2.72 for remind 06.02.01.
#
#
# Copyright (C) 1992-1996, 1998-2017, 2020-2023 Free Software Foundation,
@@ -601,8 +601,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='remind'
PACKAGE_TARNAME='remind'
PACKAGE_VERSION='06.02.00'
PACKAGE_STRING='remind 06.02.00'
PACKAGE_VERSION='06.02.01'
PACKAGE_STRING='remind 06.02.01'
PACKAGE_BUGREPORT=''
PACKAGE_URL='https://dianne.skoll.ca/projects/remind/'
@@ -1258,7 +1258,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
'configure' configures remind 06.02.00 to adapt to many kinds of systems.
'configure' configures remind 06.02.01 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1320,7 +1320,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of remind 06.02.00:";;
short | recursive ) echo "Configuration of remind 06.02.01:";;
esac
cat <<\_ACEOF
@@ -1408,7 +1408,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
remind configure 06.02.00
remind configure 06.02.01
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1871,7 +1871,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by remind $as_me 06.02.00, which was
It was created by remind $as_me 06.02.01, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4899,7 +4899,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by remind $as_me 06.02.00, which was
This file was extended by remind $as_me 06.02.01, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -4964,7 +4964,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
remind config.status 06.02.00
remind config.status 06.02.01
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"

View File

@@ -1,6 +1,6 @@
dnl Process this file with autoconf to produce a configure script.
AC_INIT(remind, 06.02.00, , , https://dianne.skoll.ca/projects/remind/)
AC_INIT(remind, 06.02.01, , , https://dianne.skoll.ca/projects/remind/)
AC_CONFIG_SRCDIR([src/queue.c])
cat <<'EOF'

View File

@@ -1,5 +1,17 @@
CHANGES TO REMIND
* VERSION 06.02.01 - 2025-11-10
- BUG FIX: remind: Obey $ParseUntriggered in Calendar Mode. Before,
$ParseUntriggered was always being treated as 1 in Calendar Mode.
- BUG FIX: TkRemind: Fix some buggy interactions between the Options
dialog and the font chooser.
- TEST FIX: One test was consistently failing under MUSL, and it is
not clear whether MUSL's or glibc's interpretation is correct.
Remove that test so all tests pass under MUSL.
* VERSION 06.02.00 - 2025-11-03
- MAJOR NEW FEATURE: TkRemind: A new "View..." menu lets you choose a

View File

@@ -1084,6 +1084,7 @@ proc EditOptions {} {
button $w.cancel -text "Cancel" -command "CancelOptions; destroy $w"
wm protocol $w WM_DELETE_WINDOW "CancelOptions; destroy $w"
pack $w.default $w.dark $w.save $w.cancel -in $w.b -side left -expand 0 -fill x
bind $w <Destroy> {catch { tk fontchooser hide } }
bind $w <KeyPress-Escape> "$w.cancel flash; $w.cancel invoke"
bind $w <Control-KeyPress-w> "$w.cancel flash; $w.cancel invoke"
CenterWindow $w .
@@ -5158,6 +5159,15 @@ proc balloon_calculate_geometry { w } {
return "+$tx+$ty"
}
bind . <<TkFontchooserVisibility>> [list fontchooservisibility]
proc fontchooservisibility {} {
if {[tk fontchooser configure -visible]} {
return
}
catch { raise .opt }
}
proc ChooseCalboxFont {} {
tk fontchooser show
tk fontchooser configure -font [font actual CalboxFont]

View File

@@ -2078,6 +2078,11 @@ static int DoCalRem(ParsePtr p, int col)
FreeTrig(&trig);
return OK;
}
if (dse < 0 && !ParseUntriggered) {
/* Expired */
FreeTrig(&trig);
return OK;
}
} else {
/* Calculate the trigger date */
EnterTimezone(trig.tz);
@@ -2090,6 +2095,11 @@ static int DoCalRem(ParsePtr p, int col)
FreeTrig(&trig);
return r;
}
if (dse < 0 && !ParseUntriggered) {
/* Expired */
FreeTrig(&trig);
return OK;
}
}
/* Adjust trigger date/time to time zone */

View File

@@ -501,6 +501,9 @@ int DoOmit(ParsePtr p)
int
AddGlobalOmit(int dse)
{
if (dse < 0) {
return OK;
}
if (NumFullOmits == MAX_FULL_OMITS) return E_2MANY_FULL;
if (!BexistsIntArray(FullOmitArray, NumFullOmits, dse)) {
InsertIntoSortedArray(FullOmitArray, NumFullOmits, dse);

View File

@@ -244,6 +244,9 @@ MSC
MSF
MSGPREFIX
MSGSUFFIX
MUSL
MUSL
MUSL's
Madsen
Makefile
Makefiles
@@ -592,6 +595,7 @@ gaa
garbhol
gcc
getenv
glibc's
grey
greyed
gridline

View File

@@ -957,7 +957,16 @@ REM 2025 Oct [1] MSG Expr but not nonconst [today()]
REM 2025-10-01 MSG No expr seen [1+2]
EOF
# Purge mode
# Early exit from calendar processing
$REMIND -p - 2026-01-01 <<'EOF' >> $OUT 2>&1
REM 1 Jan 1994 MSG 1/0 = [1/0]
EOF
# No early exit from calendar processing
$REMIND -p - 2026-01-01 <<'EOF' >> $OUT 2>&1
SET $ParseUntriggered 1
REM 1 Jan 1994 MSG 1/0 = [1/0]
EOF
cmp -s $OUT $CMP
if [ "$?" = "0" ]; then

View File

@@ -1046,7 +1046,7 @@ set a057 value("a05"+"6")
"a05" + "6" => "a056"
value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH"
set a058 version()
version() => "06.02.00"
version() => "06.02.01"
set a059 wkday(today())
today() => 1991-02-16
wkday(1991-02-16) => "Saturday"
@@ -2609,7 +2609,7 @@ a056 "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a007 "1991-02-16"
a057 "SDFJHSDF KSJDFH KJSDFH KSJDFH"
a008 "11:44"
a058 "06.02.00"
a058 "06.02.01"
a059 "Saturday"
a010 12
a060 6
@@ -5563,8 +5563,8 @@ REM SATISFY ""
REM SATISFY [version() > "01.00.00"]
../tests/test.rem(1074): SATISFY: expression has no reference to trigdate() or $T...
../tests/test.rem(1074): Trig = Saturday, 16 February, 1991
version() => "06.02.00"
"06.02.00" > "01.00.00" => 1
version() => "06.02.01"
"06.02.01" > "01.00.00" => 1
../tests/test.rem(1074): Trig(satisfied) = Saturday, 16 February, 1991
REM SATISFY [max(x, max(x, 1, 2, 3), 4, 5, 6) * 5]
../tests/test.rem(1075): SATISFY: expression has no reference to trigdate() or $T...
@@ -23716,7 +23716,7 @@ SECURITY: Won't read world-writable file or directory!
Error reading include_dir/ww: Can't open file
SECURITY: Won't read world-writable file or directory!
Error reading include_dir/ww: No files matching *.rem
06.02.00
06.02.01
Enabling test mode: This is meant for the acceptance test.
Do not use --test in production.
In test mode, the system time is fixed at 2025-01-06@19:00
@@ -39559,7 +39559,6 @@ trigger(2060-08-01@23:55, 1) => "1 August 2060 AT 19:55"
utctolocal(2050-01-01@01:00) => 2049-12-31@20:00
localtoutc(2050-12-31@23:44) => 2051-01-01@04:44
localtoutc(2050-03-13@00:00) => 2050-03-13@05:00
localtoutc(2050-03-13@02:00) => 2050-03-13@07:00
localtoutc(2050-11-06@00:00) => 2050-11-06@04:00
localtoutc(2050-11-06@02:00) => 2050-11-06@07:00
utctolocal(2051-01-01@04:44) => 2050-12-31@23:44
@@ -39957,3 +39956,50 @@ REM 2025 Oct [a] MSG Nonconst IS set
#!P: Next line has expired, but contains expression... please verify
#!P: Expired: REM 2025 Oct [1] MSG Expr but not nonconst [today()]
#!P: Expired: REM 2025-10-01 MSG No expr seen [1+2]
# translations
{"LANGID":"en"}
# rem2ps begin
January 2026 31 4 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
December 31
February 28
# rem2ps end
# translations
{"LANGID":"en"}
# rem2ps begin
January 2026 31 4 0
Sunday Monday Tuesday Wednesday Thursday Friday Saturday
December 31
February 28
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
-stdin-(2): `/': Division by zero
# rem2ps end

View File

@@ -26,7 +26,9 @@ set a utctolocal('2050-01-01@01:00')
set a localtoutc('2050-12-31@23:44')
set a localtoutc('2050-03-13@00:00')
set a localtoutc('2050-03-13@02:00')
# This next one fails on MUSL, so it's commented out.
# We expect 2050-03-13@07:00 but MUSL gives 2050-03-13@06:00
#set a localtoutc('2050-03-13@02:00')
set a localtoutc('2050-11-06@00:00')
set a localtoutc('2050-11-06@02:00')