Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package remind for openSUSE:Factory checked in at 2025-06-24 20:47:23 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/remind (Old) and /work/SRC/openSUSE:Factory/.remind.new.7067 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "remind" Tue Jun 24 20:47:23 2025 rev:57 rq:1287920 version:5.4.1 Changes: -------- --- /work/SRC/openSUSE:Factory/remind/remind.changes 2025-06-11 16:28:53.782406249 +0200 +++ /work/SRC/openSUSE:Factory/.remind.new.7067/remind.changes 2025-06-24 20:48:28.750638394 +0200 @@ -1,0 +2,17 @@ +Mon Jun 16 11:17:47 UTC 2025 - Detlef Steuer <detlef.ste...@gmx.de> + +- VERSION 5.4 Patch 1 - 2025-06-15 + +- MAJOR BUG FIX: remind: In some circumstances, a REM command could + yield a trigger date after its UNTIL date, rather than recognizing it + as having expired. This has been fixed. Bug found by Ian! D. Allen. + +- BUG FIX: rem2pdf: Support the COLOUR special (as well as COLOR). + +- MINOR IMPROVEMENT: Add include/utils/add-html-anchors.rem. You can + INCLUDE this file to get HTML anchors added to every calendar day + by rem2html. + +- DOCUMENTATION: Add NOTE-ABOUT-AI.txt + +------------------------------------------------------------------- Old: ---- remind-05.04.00.tar.gz New: ---- remind-05.04.01.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ remind.spec ++++++ --- /var/tmp/diff_new_pack.kGalJQ/_old 2025-06-24 20:48:29.818682671 +0200 +++ /var/tmp/diff_new_pack.kGalJQ/_new 2025-06-24 20:48:29.822682837 +0200 @@ -17,9 +17,9 @@ Name: remind -Version: 5.4.0 +Version: 5.4.1 Release: 0 -%define tar_version 05.04.00 +%define tar_version 05.04.01 Summary: A sophisticated calendar and alarm program License: GPL-2.0-only Group: Productivity/Office/Organizers @@ -88,6 +88,8 @@ %dir /usr/share/remind/holidays %dir /usr/share/remind/lang %dir /usr/share/remind/site +%dir /usr/share/remind/utils + /usr/share/remind/ansitext.rem /usr/share/remind/holidays/README @@ -692,3 +694,5 @@ %lang(pt) /usr/share/remind/lang/pt.rem %lang(ro) /usr/share/remind/lang/ro.rem +/usr/share/remind/utils/add-html-anchors.rem + ++++++ remind-05.04.00.tar.gz -> remind-05.04.01.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/NOTE-ABOUT-AI.txt new/remind-05.04.01/NOTE-ABOUT-AI.txt --- old/remind-05.04.00/NOTE-ABOUT-AI.txt 1970-01-01 01:00:00.000000000 +0100 +++ new/remind-05.04.01/NOTE-ABOUT-AI.txt 2025-06-15 15:29:36.000000000 +0200 @@ -0,0 +1,28 @@ +Some Notes about AI/LLMs/GPTs/etc. +================================== + +1) No part of Remind was written using AI of any type. + +I certify that all of the C, Perl and Tcl code in Remind was written +by a human being. I certify that all code in .rem files other than +ones under include/holidays was written by a human being. The code +under include/holidays was derived from the Python "holidays" library +and I have no direct knowledge of the provenance of that library, +though I suspect it's entirely or almost entirely human-written. + +I certify that all of the man pages and other documentation that +ship with Remind were human-written and not generated with any sort +of AI. + +2) No AI-generated patches or other sorts of contributions to Remind +will be accepted. + +3) Remind's source code may not be used to train an AI model, +including an LLM model, unless all of the output of said model is +released under the GNU General Public License, version 2. If you use +any of Remind's source code to train your model, then anything that +the model produces is a derived product of Remind and must be licensed +under the same terms as Remind. + +-- +Dianne Skoll diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/README.md new/remind-05.04.01/README.md --- old/remind-05.04.00/README.md 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/README.md 2025-06-15 15:29:36.000000000 +0200 @@ -55,6 +55,19 @@ `wish ./build.tk` +## Usage + +Remind is a large and complex program. You can read the full manual page +with: + +`man remind` + +after installation. However, the man page is long and detailed and is +more of a reference than an introduction. You can get an overview +with a [slide deck](https://dianne.skoll.ca/projects/remind/download/remind-oclug.pdf) +I made a while back. There's also a (long) [YouTube video](https://www.youtube.com/watch?v=0SNgvsDvx7M) that serves as an +introduction to Remind. + --- Contact info: dia...@skoll.ca diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/configure new/remind-05.04.01/configure --- old/remind-05.04.00/configure 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/configure 2025-06-15 15:29:36.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for remind 05.04.00. +# Generated by GNU Autoconf 2.71 for remind 05.04.01. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -608,8 +608,8 @@ # Identity of this package. PACKAGE_NAME='remind' PACKAGE_TARNAME='remind' -PACKAGE_VERSION='05.04.00' -PACKAGE_STRING='remind 05.04.00' +PACKAGE_VERSION='05.04.01' +PACKAGE_STRING='remind 05.04.01' PACKAGE_BUGREPORT='' PACKAGE_URL='https://dianne.skoll.ca/projects/remind/' @@ -1265,7 +1265,7 @@ # 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 05.04.00 to adapt to many kinds of systems. +\`configure' configures remind 05.04.01 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1327,7 +1327,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of remind 05.04.00:";; + short | recursive ) echo "Configuration of remind 05.04.01:";; esac cat <<\_ACEOF @@ -1415,7 +1415,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -remind configure 05.04.00 +remind configure 05.04.01 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1865,7 +1865,7 @@ 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 05.04.00, which was +It was created by remind $as_me 05.04.01, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4710,7 +4710,7 @@ # 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 05.04.00, which was +This file was extended by remind $as_me 05.04.01, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -4775,7 +4775,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -remind config.status 05.04.00 +remind config.status 05.04.01 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/configure.ac new/remind-05.04.01/configure.ac --- old/remind-05.04.00/configure.ac 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/configure.ac 2025-06-15 15:29:36.000000000 +0200 @@ -1,6 +1,6 @@ dnl Process this file with autoconf to produce a configure script. -AC_INIT(remind, 05.04.00, , , https://dianne.skoll.ca/projects/remind/) +AC_INIT(remind, 05.04.01, , , https://dianne.skoll.ca/projects/remind/) AC_CONFIG_SRCDIR([src/queue.c]) cat <<'EOF' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/docs/WHATSNEW new/remind-05.04.01/docs/WHATSNEW --- old/remind-05.04.00/docs/WHATSNEW 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/docs/WHATSNEW 2025-06-15 15:29:36.000000000 +0200 @@ -1,5 +1,19 @@ CHANGES TO REMIND +* VERSION 5.4 Patch 1 - 2025-06-15 + +- MAJOR BUG FIX: remind: In some circumstances, a REM command could + yield a trigger date after its UNTIL date, rather than recognizing it + as having expired. This has been fixed. Bug found by Ian! D. Allen. + +- BUG FIX: rem2pdf: Support the COLOUR special (as well as COLOR). + +- MINOR IMPROVEMENT: Add include/utils/add-html-anchors.rem. You can + INCLUDE this file to get HTML anchors added to every calendar day + by rem2html. + +- DOCUMENTATION: Add NOTE-ABOUT-AI.txt + * VERSION 5.4 Patch 0 - 2025-06-03 - MAJOR IMPROVEMENT: remind: Track which expressions and variables diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/include/utils/add-html-anchors.rem new/remind-05.04.01/include/utils/add-html-anchors.rem --- old/remind-05.04.00/include/utils/add-html-anchors.rem 1970-01-01 01:00:00.000000000 +0100 +++ new/remind-05.04.01/include/utils/add-html-anchors.rem 2025-06-15 15:29:36.000000000 +0200 @@ -0,0 +1,5 @@ +# Add HTML anchors to each day box. +# This adds anchors: <a id="YYYY-MM-DD" name="YYYY-MM-DD"></a> +# to each calendar box in an HTML calendar. + +REM SPECIAL HTML <a id="[$T]" name="[$T]"></a> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/rem2pdf/bin/rem2pdf.in new/remind-05.04.01/rem2pdf/bin/rem2pdf.in --- old/remind-05.04.00/rem2pdf/bin/rem2pdf.in 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/rem2pdf/bin/rem2pdf.in 2025-06-15 15:29:36.000000000 +0200 @@ -265,6 +265,7 @@ } my ($obj, $err) = Remind::PDF->create_from_stream(*STDIN, {color => 1, + colour => 1, shade => 1, moon => 1, pango => 1, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/src/hashtab.c new/remind-05.04.01/src/hashtab.c --- old/remind-05.04.00/src/hashtab.c 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/src/hashtab.c 2025-06-15 15:29:36.000000000 +0200 @@ -1,6 +1,6 @@ /***************************************************************/ /* */ -/* HASHTAB_STATS.C */ +/* HASHTAB.C */ /* */ /* Implementation of hash table. */ /* */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/src/trigger.c new/remind-05.04.01/src/trigger.c --- old/remind-05.04.00/src/trigger.c 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/src/trigger.c 2025-06-15 15:29:36.000000000 +0200 @@ -310,15 +310,15 @@ { int simple, mod, omit; -/* First: Have we passed the UNTIL date? */ + /* First: Have we passed the UNTIL date? */ if (trig->until != NO_UNTIL && trig->until < start) { trig->expired = 1; return -1; /* expired */ } -/* Next: If it's an "AFTER"-type skip, back up - until we're at the start of a block of holidays */ + /* Next: If it's an "AFTER"-type skip, back up + until we're at the start of a block of holidays */ if (trig->skip == AFTER_SKIP) { int iter = 0; while (iter++ <= MaxSatIter) { @@ -339,16 +339,16 @@ } } -/* Find the next simple trigger */ + /* Find the next simple trigger */ simple = NextSimpleTrig(start, trig, err); -/* Problems? */ + /* Problems? */ if (*err || (simple == -1)) return -1; -/* Suggested starting point for next attempt */ + /* Suggested starting point for next attempt */ *nextstart = simple+1; -/* If there's a BACK, back up... */ + /* If there's a BACK, back up... */ if (trig->back != NO_BACK) { mod = trig->back; if (mod < 0) { @@ -376,7 +376,7 @@ } } -/* If there's a REP, calculate the next occurrence */ + /* If there's a REP, calculate the next occurrence */ if (trig->rep != NO_REP) { if (simple < start) { mod = (start - simple) / trig->rep; @@ -385,7 +385,7 @@ } } -/* If it's a "BEFORE"-type skip, back up */ + /* If it's a "BEFORE"-type skip, back up */ if (trig->skip == BEFORE_SKIP) { int iter = 0; while(iter++ <= MaxSatIter) { @@ -406,7 +406,7 @@ } } -/* If it's an "AFTER"-type skip, jump ahead */ + /* If it's an "AFTER"-type skip, jump ahead */ if (trig->skip == AFTER_SKIP) { int iter = 0; while (iter++ <= MaxSatIter) { @@ -423,7 +423,12 @@ } } -/* Return the date */ + /* If we've passed the UNTIL, then it's expired */ + if (trig->until != NO_UNTIL && simple > trig->until) { + return -1; + } + + /* Return the date */ return simple; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/tests/test-for-backends.rem new/remind-05.04.01/tests/test-for-backends.rem --- old/remind-05.04.00/tests/test-for-backends.rem 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/tests/test-for-backends.rem 2025-06-15 15:29:36.000000000 +0200 @@ -3,6 +3,9 @@ # If you're writing a back-end, test it by feeding it the output # of: remind -pp test-for-backends.rem +# All back-ends should endeavour to support: WEEK, SHADE, MOON, and +# COLOR/COLOUR. They may support other back-end-specific SPECIALs. + # Color and shade REM 1 SPECIAL COLOR 128 0 0 Red REM 2 SPECIAL COLOUR 0 128 0 British Green @@ -17,11 +20,18 @@ # Week REM Monday SPECIAL WEEK (W[weekno()]) -# PostScript -REM Wed PS Border Border 2 div moveto /Helvetica-Oblique findfont 6 scalefont setfont (oof!) show +# A normal reminder +REM 16 MSG A normal reminder + +# PostScript - currently only supported by rem2ps +REM Wed PS Border Border 2 div moveto /Helvetica-Oblique findfont 6 scalefont setfont (oof PostScript!) show # A SPECIAL that should be ignored REM 15 SPECIAL RANDOM-STUFF ignore me and be happy -# A normal reminder -REM 16 MSG A normal reminder +# HTML - currently only supported by rem2html +REM 17 SPECIAL HTML I am <b>bold</b> HTML + +# Pango - currently only supported by rem2pdf +REM 18 SPECIAL PANGO I am <b>bold</b> PANGO + diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/tests/test.cmp new/remind-05.04.01/tests/test.cmp --- old/remind-05.04.00/tests/test.cmp 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/tests/test.cmp 2025-06-15 15:29:36.000000000 +0200 @@ -1042,7 +1042,7 @@ "a05" + "6" => "a056" value("a056") => "SDFJHSDF KSJDFH KJSDFH KSJDFH" set a058 version() -version() => "05.04.00" +version() => "05.04.01" set a059 wkday(today()) today() => 1991-02-16 wkday(1991-02-16) => "Saturday" @@ -2605,7 +2605,7 @@ a007 "1991-02-16" a057 "SDFJHSDF KSJDFH KJSDFH KSJDFH" a008 "11:44" -a058 "05.04.00" +a058 "05.04.01" a059 "Saturday" a010 12 a060 6 @@ -3153,7 +3153,7 @@ ../tests/test.rem(561): Expired REM 1992-01-01 *1 UNTIL 1991-12-31 MSG Diagnosed ../tests/test.rem(562): Warning: UNTIL/THROUGH date earlier than start date -../tests/test.rem(562): Trig = Wednesday, 1 January, 1992 +../tests/test.rem(562): Expired set x '1992-01-01' MSG [isconst(x)] ../tests/test.rem(564): Trig = Saturday, 16 February, 1991 @@ -3164,7 +3164,7 @@ REM [x] *1 UNTIL 1991-12-31 MSG Diagnosed x => 1992-01-01 ../tests/test.rem(565): Warning: UNTIL/THROUGH date earlier than start date -../tests/test.rem(565): Trig = Wednesday, 1 January, 1992 +../tests/test.rem(565): Expired set x nonconst('1992-01-01') nonconst(1992-01-01) => 1992-01-01 @@ -3176,7 +3176,7 @@ REM [x] *1 UNTIL 1991-12-31 MSG Not diagnosed - nonconst expression x => 1992-01-01 -../tests/test.rem(569): Trig = Wednesday, 1 January, 1992 +../tests/test.rem(569): Expired REM MON FROM 1992-01-01 UNTIL 1991-12-31 MSG Diagnosed ../tests/test.rem(571): Warning: UNTIL/THROUGH date earlier than FROM date @@ -5639,8 +5639,8 @@ REM SATISFY [version() > "01.00.00"] ../tests/test.rem(1055): SATISFY: expression has no reference to trigdate() or $T... ../tests/test.rem(1055): Trig = Saturday, 16 February, 1991 -version() => "05.04.00" -"05.04.00" > "01.00.00" => 1 +version() => "05.04.01" +"05.04.01" > "01.00.00" => 1 ../tests/test.rem(1055): Trig(satisfied) = Saturday, 16 February, 1991 REM SATISFY [max(x, max(x, 1, 2, 3), 4, 5, 6) * 5] ../tests/test.rem(1056): SATISFY: expression has no reference to trigdate() or $T... @@ -16575,6 +16575,8 @@ ../tests/test.rem(1603): eval(): Too many recursive function calls Base: 1991-02-09 Base: 1991-02-09 +../tests/test.rem(1611): Expired +../tests/test.rem(1612): Expired Variable hash table statistics: Entries: 100143; Buckets: 87719; Non-empty Buckets: 66301 Maxlen: 5; Minlen: 0; Avglen: 1.142; Stddev: 0.878; Avg nonempty len: 1.510 @@ -23637,7 +23639,7 @@ 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 -05.04.00 +05.04.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 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/remind-05.04.00/tests/test.rem new/remind-05.04.01/tests/test.rem --- old/remind-05.04.00/tests/test.rem 2025-06-03 22:54:47.000000000 +0200 +++ new/remind-05.04.01/tests/test.rem 2025-06-15 15:29:36.000000000 +0200 @@ -1606,6 +1606,12 @@ REM 9 Feb 1991 *7 MSG Base: [trigbase()] REM 9 Feb 1991 *1 MSG Base: [$Tb] +# The UNTIL bug +DEBUG +t +REM SECOND SATURDAY +300 UNTIL 1991-02-02 MSG [$T] +REM SECOND SATURDAY +300 UNTIL 1991-02-16 MSG [$T] +DEBUG -t + # Output expression-node stats DEBUG +h