mirror of
https://salsa.debian.org/dskoll/remind.git
synced 2026-04-17 06:48:47 +02:00
Fix for calendar alignment for reminders with embedded tabs.
Convert all whitespace chars to space in calendar mode.
This commit is contained in:
@@ -884,7 +884,16 @@ static void PrintCentered(char const *s, int width, char *pad)
|
||||
|
||||
for (i=0; i<d; i++) fputs(pad, stdout);
|
||||
for (i=0; i<width; i++) {
|
||||
if (*s) PutChar(*s++); else break;
|
||||
if (*s) {
|
||||
if (isspace(*s)) {
|
||||
PutChar(' ');
|
||||
s++;
|
||||
} else {
|
||||
PutChar(*s++);
|
||||
}
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
for (i=d+len; i<width; i++) fputs(pad, stdout);
|
||||
#else
|
||||
@@ -1034,20 +1043,30 @@ static int WriteOneColLine(int col)
|
||||
if (!wspace) {
|
||||
for (ws = e->wc_pos; ws - e->wc_pos < ColSpaces; ws++) {
|
||||
if (!*ws) break;
|
||||
if (wcwidth(*ws) > 0) {
|
||||
numwritten += wcwidth(*ws);
|
||||
if (iswspace(*ws)) {
|
||||
PutChar(' ');
|
||||
numwritten++;
|
||||
} else {
|
||||
if (wcwidth(*ws) > 0) {
|
||||
numwritten += wcwidth(*ws);
|
||||
}
|
||||
PutWideChar(*ws);
|
||||
}
|
||||
PutWideChar(*ws);
|
||||
}
|
||||
e->wc_pos = ws;
|
||||
} else {
|
||||
/* We found a space - print everything before it. */
|
||||
for (ws = e->wc_pos; ws<wspace; ws++) {
|
||||
if (!*ws) break;
|
||||
if (wcwidth(*ws) > 0) {
|
||||
numwritten += wcwidth(*ws);
|
||||
if (iswspace(*ws)) {
|
||||
PutChar(' ');
|
||||
numwritten++;
|
||||
} else {
|
||||
if (wcwidth(*ws) > 0) {
|
||||
numwritten += wcwidth(*ws);
|
||||
}
|
||||
PutWideChar(*ws);
|
||||
}
|
||||
PutWideChar(*ws);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1097,7 +1116,7 @@ static int WriteOneColLine(int col)
|
||||
/* Find the last space char within the column. */
|
||||
while (s - e->pos <= ColSpaces) {
|
||||
if (!*s) {space = s; break;}
|
||||
if (*s == ' ') space = s;
|
||||
if (isspace(*s)) space = s;
|
||||
s++;
|
||||
}
|
||||
|
||||
@@ -1111,7 +1130,11 @@ static int WriteOneColLine(int col)
|
||||
for (s = e->pos; s - e->pos < ColSpaces; s++) {
|
||||
if (!*s) break;
|
||||
numwritten++;
|
||||
PutChar(*s);
|
||||
if (isspace(*s)) {
|
||||
PutChar(' ');
|
||||
} else {
|
||||
PutChar(*s);
|
||||
}
|
||||
}
|
||||
e->pos = s;
|
||||
} else {
|
||||
@@ -1119,7 +1142,11 @@ static int WriteOneColLine(int col)
|
||||
for (s = e->pos; s<space; s++) {
|
||||
if (!*s) break;
|
||||
numwritten++;
|
||||
PutChar(*s);
|
||||
if (isspace(*s)) {
|
||||
PutChar(' ');
|
||||
} else {
|
||||
PutChar(*s);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1132,7 +1159,7 @@ static int WriteOneColLine(int col)
|
||||
while(numwritten++ < ColSpaces) PutChar(' ');
|
||||
|
||||
/* Skip any spaces before next word */
|
||||
while (*s == ' ') s++;
|
||||
while (isspace(*s)) s++;
|
||||
|
||||
/* If done, free memory if no next entry. */
|
||||
if (!*s && !e->next) {
|
||||
|
||||
@@ -291,7 +291,7 @@ EOF
|
||||
|
||||
export LC_ALL=en_US.utf-8
|
||||
export LANG=en_US.utf-8
|
||||
../src/remind -w128 -c ../tests/utf-8.rem >> ../tests/test.out
|
||||
../src/remind -w128 -c ../tests/utf-8.rem 1 Nov 2019 >> ../tests/test.out
|
||||
cmp -s ../tests/test.out ../tests/test.cmp
|
||||
if [ "$?" = "0" ]; then
|
||||
echo "Remind: Acceptance test PASSED"
|
||||
|
||||
@@ -6848,22 +6848,22 @@ February 29
|
||||
| | | | | | | |
|
||||
+----------+----------+----------+----------+----------+----------+----------+
|
||||
+-----------------------------------------------------------------------------------------------------------------------------+
|
||||
| November 2020 |
|
||||
| November 2019 |
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
| Sunday | Monday | Tuesday | Wednesday | Thursday | Friday | Saturday |
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
|1 ************** |2 |3 |4 |5 |6 |7 |
|
||||
| | | | | |1 |2 |
|
||||
| | | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
| | | | | |ру́сский ру́сский |ру́сский ру́сский |
|
||||
| | | | | |ру́сский ру́сский |ру́сский ру́сский |
|
||||
| | | | | |ру́сский ру́сский |ру́сский ру́сский |
|
||||
| | | | | |ру́сский ру́сский |ру́сский ру́сский |
|
||||
| | | | | | | |
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | |עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | |עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | |עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
|8 |9 |10 |11 |12 |13 |14 |
|
||||
|3 |4 |5 |6 |7 |8 |9 |
|
||||
| | | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
@@ -6873,8 +6873,11 @@ February 29
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | | | |
|
||||
| | | |With tabs and | | | |
|
||||
| | | |spaces | | | |
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
|15 |16 |17 |18 |19 |20 |21 |
|
||||
|10 |11 |12 |13 |14 |15 |16 |
|
||||
| | | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
@@ -6884,8 +6887,11 @@ February 29
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | | | |
|
||||
| | | |With tabs and | | | |
|
||||
| | | |spaces | | | |
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
|22 |23 |24 |25 |26 |27 |28 |
|
||||
|17 |18 |19 |20 |21 |22 |23 |
|
||||
| | | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
@@ -6895,16 +6901,22 @@ February 29
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | | | |
|
||||
| | | |With tabs and | | | |
|
||||
| | | |spaces | | | |
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
|29 |30 | | | | | |
|
||||
|24 |25 |26 |27 |28 |29 |30 |
|
||||
| | | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский | | | | | |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
|ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |ру́сский ру́сский |
|
||||
| | | | | | | |
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית| | | | | |
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית| | | | | |
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית| | | | | |
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|עִבְרִית עִבְרִית עִבְרִית|
|
||||
| | | | | | | |
|
||||
| | | |With tabs and | | | |
|
||||
| | | |spaces | | | |
|
||||
+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+-----------------+
|
||||
|
||||
@@ -1,2 +1,4 @@
|
||||
MSG ру́сский ру́сский ру́сский ру́сский ру́сский ру́сский ру́сский ру́сский
|
||||
MSG עִבְרִית עִבְרִית עִבְרִית עִבְרִית עִבְרִית עִבְרִית עִבְרִית עִבְרִית עִבְרִית
|
||||
|
||||
Wed MSG With tabs and spaces
|
||||
Reference in New Issue
Block a user