mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-17 14:59:20 +02:00
Compare commits
2 Commits
05.03.02
...
curses_rem
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ae17834610 | ||
|
|
5acbb907b4 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -35,3 +35,4 @@ www/Makefile
|
|||||||
gmon.out
|
gmon.out
|
||||||
tests/once.timestamp
|
tests/once.timestamp
|
||||||
src/xlat.c
|
src/xlat.c
|
||||||
|
cremind/Makefile.PL
|
||||||
|
|||||||
3
configure
vendored
3
configure
vendored
@@ -4209,7 +4209,7 @@ printf "%s\n" "#define CONFIG_CMD \"$CONFIG_CMD\"" >>confdefs.h
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
ac_config_files="$ac_config_files src/Makefile www/Makefile src/version.h rem2html/Makefile rem2html/rem2html rem2pdf/Makefile.PL rem2pdf/Makefile.top rem2pdf/bin/rem2pdf man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind"
|
ac_config_files="$ac_config_files src/Makefile www/Makefile src/version.h rem2html/Makefile rem2html/rem2html rem2pdf/Makefile.PL rem2pdf/Makefile.top rem2pdf/bin/rem2pdf man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind cremind/Makefile.PL"
|
||||||
|
|
||||||
cat >confcache <<\_ACEOF
|
cat >confcache <<\_ACEOF
|
||||||
# This file is a shell script that caches the results of configure
|
# This file is a shell script that caches the results of configure
|
||||||
@@ -4911,6 +4911,7 @@ do
|
|||||||
"man/remind.1") CONFIG_FILES="$CONFIG_FILES man/remind.1" ;;
|
"man/remind.1") CONFIG_FILES="$CONFIG_FILES man/remind.1" ;;
|
||||||
"man/tkremind.1") CONFIG_FILES="$CONFIG_FILES man/tkremind.1" ;;
|
"man/tkremind.1") CONFIG_FILES="$CONFIG_FILES man/tkremind.1" ;;
|
||||||
"scripts/tkremind") CONFIG_FILES="$CONFIG_FILES scripts/tkremind" ;;
|
"scripts/tkremind") CONFIG_FILES="$CONFIG_FILES scripts/tkremind" ;;
|
||||||
|
"cremind/Makefile.PL") CONFIG_FILES="$CONFIG_FILES cremind/Makefile.PL" ;;
|
||||||
|
|
||||||
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
|
||||||
esac
|
esac
|
||||||
|
|||||||
@@ -95,7 +95,7 @@ AC_SUBST(VERSION)
|
|||||||
AC_SUBST(PERL)
|
AC_SUBST(PERL)
|
||||||
AC_SUBST(PERLARTIFACTS)
|
AC_SUBST(PERLARTIFACTS)
|
||||||
AC_SUBST(RELEASE_DATE)
|
AC_SUBST(RELEASE_DATE)
|
||||||
AC_CONFIG_FILES([src/Makefile www/Makefile src/version.h rem2html/Makefile rem2html/rem2html rem2pdf/Makefile.PL rem2pdf/Makefile.top rem2pdf/bin/rem2pdf man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind])
|
AC_CONFIG_FILES([src/Makefile www/Makefile src/version.h rem2html/Makefile rem2html/rem2html rem2pdf/Makefile.PL rem2pdf/Makefile.top rem2pdf/bin/rem2pdf man/rem.1 man/rem2ps.1 man/remind.1 man/tkremind.1 scripts/tkremind cremind/Makefile.PL])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
chmod a+x rem2pdf/bin/rem2pdf
|
chmod a+x rem2pdf/bin/rem2pdf
|
||||||
chmod a+x scripts/tkremind
|
chmod a+x scripts/tkremind
|
||||||
|
|||||||
21
cremind/Makefile.PL.in
Normal file
21
cremind/Makefile.PL.in
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
use ExtUtils::MakeMaker;
|
||||||
|
{
|
||||||
|
# Override pod2man options
|
||||||
|
package MY;
|
||||||
|
sub manifypods {
|
||||||
|
my ($self,%attribs) = @_;
|
||||||
|
my $result = $self->SUPER::manifypods(%attribs);
|
||||||
|
$result =~ s/^(POD2MAN_EXE\s*=\s*)(.+)$/$1$2 --center 'VERSION @VERSION@' --date '@RELEASE_DATE@'/m;
|
||||||
|
return $result;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
WriteMakefile(
|
||||||
|
NAME => 'cremind"
|
||||||
|
AUTHOR => q{Dianne Skoll <dianne@skoll.ca>},
|
||||||
|
VERSION => '@VERSION@',
|
||||||
|
PREREQ_PM => {
|
||||||
|
'Curses::UI' => 0,
|
||||||
|
},
|
||||||
|
EXE_FILES => [ 'bin/cremind' ]
|
||||||
|
);
|
||||||
43
cremind/bin/cremind
Normal file
43
cremind/bin/cremind
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
use Curses::UI;
|
||||||
|
|
||||||
|
my $panes;
|
||||||
|
my $cui = Curses::UI->new(
|
||||||
|
-clear_on_exit => 1,
|
||||||
|
-color_support => 1,
|
||||||
|
);
|
||||||
|
|
||||||
|
sub check_window_size {
|
||||||
|
if ($Curses::LINES < 24 || $Curses::COLS < 80) {
|
||||||
|
$cui->dialog("This program needs a terminal window at least 24 lines by 80 columns. This one is " . $Curses::LINES . " by " . $Curses::COLS);
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
sub create_panes {
|
||||||
|
$panes->{calendar} = $cui->add(
|
||||||
|
'calendar', 'Window',
|
||||||
|
-x => 0,
|
||||||
|
-y => 0,
|
||||||
|
-bfg => 'green',
|
||||||
|
-width => 23,
|
||||||
|
-border => 1,
|
||||||
|
-height => 10);
|
||||||
|
$panes->{calendar}->add('cal', 'TextViewer',
|
||||||
|
-text =>
|
||||||
|
" March 2025\n" .
|
||||||
|
"Su Mo Tu We Th Fr Sa\n" .
|
||||||
|
" 1 2 3 4 5 6 7\n" .
|
||||||
|
" 8 9 10 11 12 13 14\n" .
|
||||||
|
"15 16 17 18 19 20 21\n" .
|
||||||
|
"22 23 24 25 26 27 28\n" .
|
||||||
|
"29 30 31\n")
|
||||||
|
}
|
||||||
|
check_window_size();
|
||||||
|
create_panes();
|
||||||
|
alarm(3);
|
||||||
|
$cui->mainloop();
|
||||||
|
|
||||||
@@ -79,6 +79,7 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int dse,
|
|||||||
int origLen = DBufLen(dbuf);
|
int origLen = DBufLen(dbuf);
|
||||||
int altmode;
|
int altmode;
|
||||||
int r;
|
int r;
|
||||||
|
int origtime;
|
||||||
Value v;
|
Value v;
|
||||||
UserFunc *func;
|
UserFunc *func;
|
||||||
|
|
||||||
@@ -87,6 +88,7 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int dse,
|
|||||||
if (tt) {
|
if (tt) {
|
||||||
tim = tt->ttime;
|
tim = tt->ttime;
|
||||||
}
|
}
|
||||||
|
origtime = tim;
|
||||||
if (tim == NO_TIME) tim = curtime;
|
if (tim == NO_TIME) tim = curtime;
|
||||||
tdiff = tim - curtime;
|
tdiff = tim - curtime;
|
||||||
adiff = ABS(tdiff);
|
adiff = ABS(tdiff);
|
||||||
@@ -405,6 +407,12 @@ int DoSubst(ParsePtr p, DynamicBuffer *dbuf, Trigger *t, TimeTrig *tt, int dse,
|
|||||||
Eprint("%s", GetErr(r));
|
Eprint("%s", GetErr(r));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (origtime == NO_TIME) {
|
||||||
|
if ((c >= '0' && c <= '9') || (c == '!')) {
|
||||||
|
Wprint(tr("`%%%c' substitution sequence should not be used without an AT clause"), c);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch(UPPER(c)) {
|
switch(UPPER(c)) {
|
||||||
case 'A':
|
case 'A':
|
||||||
if (altmode == '*' || !strcmp(tr("on"), "")) {
|
if (altmode == '*' || !strcmp(tr("on"), "")) {
|
||||||
|
|||||||
@@ -690,6 +690,11 @@ set a "\x0P"
|
|||||||
set a "\x00P"
|
set a "\x00P"
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Test diagnostics when using a timed substitution without an AT clause
|
||||||
|
../src/remind - 1 Feb 2024 1:00 <<EOF >> ../tests/test.out 2>&1
|
||||||
|
REM MSG %0 %1 %2 %3 %4 %5 %6 %7 %8 %9 %! hahaha
|
||||||
|
EOF
|
||||||
|
|
||||||
# Test translate table dumping
|
# Test translate table dumping
|
||||||
../src/remind - 1 Feb 2024 <<EOF >> ../tests/test.out 2>&1
|
../src/remind - 1 Feb 2024 <<EOF >> ../tests/test.out 2>&1
|
||||||
TRANSLATE "\x03" "BREAK"
|
TRANSLATE "\x03" "BREAK"
|
||||||
|
|||||||
@@ -24548,6 +24548,7 @@ TRANSLATE "Warning: Useless use of UNTIL with fully-specified date and no *rep"
|
|||||||
TRANSLATE "Warning: Variable name `%.*s...' truncated to `%.*s'" ""
|
TRANSLATE "Warning: Variable name `%.*s...' truncated to `%.*s'" ""
|
||||||
TRANSLATE "You have OMITted everything! The space-time continuum is at risk." ""
|
TRANSLATE "You have OMITted everything! The space-time continuum is at risk." ""
|
||||||
TRANSLATE "\\x00 is not a valid escape sequence" ""
|
TRANSLATE "\\x00 is not a valid escape sequence" ""
|
||||||
|
TRANSLATE "`%%%c' substitution sequence should not be used without an AT clause" ""
|
||||||
TRANSLATE "did you mean" ""
|
TRANSLATE "did you mean" ""
|
||||||
TRANSLATE "here" ""
|
TRANSLATE "here" ""
|
||||||
TRANSLATE "psmoon() is deprecated; use SPECIAL MOON instead." ""
|
TRANSLATE "psmoon() is deprecated; use SPECIAL MOON instead." ""
|
||||||
@@ -24691,6 +24692,21 @@ a "xPOO"
|
|||||||
-stdin-(24): \x00 is not a valid escape sequence
|
-stdin-(24): \x00 is not a valid escape sequence
|
||||||
-stdin-(25): \x00 is not a valid escape sequence
|
-stdin-(25): \x00 is not a valid escape sequence
|
||||||
-stdin-(26): \x00 is not a valid escape sequence
|
-stdin-(26): \x00 is not a valid escape sequence
|
||||||
|
-stdin-(1): `%0' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%1' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%2' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%3' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%4' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%5' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%6' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%7' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%8' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%9' substitution sequence should not be used without an AT clause
|
||||||
|
-stdin-(1): `%!' substitution sequence should not be used without an AT clause
|
||||||
|
Reminders for Thursday, 1st February, 2024:
|
||||||
|
|
||||||
|
s now at 1:00am at 01:00 0 0 from now 0 0 s is hahaha
|
||||||
|
|
||||||
# Translation table
|
# Translation table
|
||||||
TRANSLATE "LANGID" "en"
|
TRANSLATE "LANGID" "en"
|
||||||
TRANSLATE "\x03" "BREAK"
|
TRANSLATE "\x03" "BREAK"
|
||||||
|
|||||||
Reference in New Issue
Block a user