summaryrefslogtreecommitdiff
path: root/news/tin
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2009-10-22 22:01:25 +0000
committerwiz <wiz@pkgsrc.org>2009-10-22 22:01:25 +0000
commitb4a2493127e0a182c9a57c9d9297011974a71e60 (patch)
treeb1f7a1f49c95272aaeba4ac1933a10e1ea9390d8 /news/tin
parentb7ed99511c349b4f35a0a67c8ed0264a9b25bd0f (diff)
downloadpkgsrc-b4a2493127e0a182c9a57c9d9297011974a71e60.tar.gz
Add patch from Dennis Preiser on tin-dev.
Fixes, among others, |perl-script issues with suspending and SIGWINCH problems. Bump PKGREVISION.
Diffstat (limited to 'news/tin')
-rw-r--r--news/tin/Makefile3
-rw-r--r--news/tin/distinfo11
-rw-r--r--news/tin/patches/patch-ad12
-rw-r--r--news/tin/patches/patch-ae12
-rw-r--r--news/tin/patches/patch-af13
-rw-r--r--news/tin/patches/patch-ag28
-rw-r--r--news/tin/patches/patch-ah23
-rw-r--r--news/tin/patches/patch-ai15
-rw-r--r--news/tin/patches/patch-aj110
-rw-r--r--news/tin/patches/patch-ak84
-rw-r--r--news/tin/patches/patch-al142
11 files changed, 451 insertions, 2 deletions
diff --git a/news/tin/Makefile b/news/tin/Makefile
index 56f599a75d8..1568c6f0ba6 100644
--- a/news/tin/Makefile
+++ b/news/tin/Makefile
@@ -1,7 +1,8 @@
-# $NetBSD: Makefile,v 1.42 2009/08/23 16:49:54 wiz Exp $
+# $NetBSD: Makefile,v 1.43 2009/10/22 22:01:25 wiz Exp $
#
DISTNAME= tin-1.9.4
+PKGREVISION= 1
CATEGORIES= news
MASTER_SITES= ftp://ftp.tin.org/pub/news/clients/tin/unstable/ \
ftp://ftp.cs.tu-berlin.de/pub/net/news/tin/unstable/
diff --git a/news/tin/distinfo b/news/tin/distinfo
index 8048f602eab..dd4a79c8821 100644
--- a/news/tin/distinfo
+++ b/news/tin/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.16 2009/07/22 10:53:51 wiz Exp $
+$NetBSD: distinfo,v 1.17 2009/10/22 22:01:25 wiz Exp $
SHA1 (tin-1.9.4.tar.bz2) = e1f5ff2f04923137f43119b144f8a20e733eea23
RMD160 (tin-1.9.4.tar.bz2) = 6a85e47ea06f2e86f2b8f688df137432ecb7c4e9
@@ -6,3 +6,12 @@ Size (tin-1.9.4.tar.bz2) = 1526534 bytes
SHA1 (patch-aa) = a3d40ff4e38230bcf8a3814c92ec2a75f85bf44e
SHA1 (patch-ab) = 34794d259ae4fb81888184ded9876ab5874d8731
SHA1 (patch-ac) = b5e72a659414833db5f18c2e8f3404dadd03f87f
+SHA1 (patch-ad) = 598a9e287a343eff866ac95d89ed7724eb364c0c
+SHA1 (patch-ae) = 558deb467d7c3c423d4982952a736a501c906355
+SHA1 (patch-af) = c71cfb049312ac4931bb2d488623aa249d255486
+SHA1 (patch-ag) = 6885a9a8444129288207904084963705fb60aaea
+SHA1 (patch-ah) = bac7062665d7351f88081d8582110c079d828228
+SHA1 (patch-ai) = d956f88aff41969e25857af60b04e92c055fb8d2
+SHA1 (patch-aj) = db18012097b3f7fbc1108c1ec530658dc2d3ff1d
+SHA1 (patch-ak) = 746c6edfef424e8ccfd93f945e51eea4b93f4f1c
+SHA1 (patch-al) = f17d06620d7556f90cd72de443ac27fe91604896
diff --git a/news/tin/patches/patch-ad b/news/tin/patches/patch-ad
new file mode 100644
index 00000000000..08b5aa09d7f
--- /dev/null
+++ b/news/tin/patches/patch-ad
@@ -0,0 +1,12 @@
+$NetBSD: patch-ad,v 1.3 2009/10/22 22:01:26 wiz Exp $
+
+--- include/proto.h.orig 2009-01-25 19:59:14.000000000 +0100
++++ include/proto.h
+@@ -503,6 +503,7 @@ extern t_bool prompt_option_string(enum
+ extern t_bool prompt_string(const char *prompt, char *buf, int which_hist);
+ extern void prompt_continue(void);
+ extern void prompt_slk_redraw(void);
++extern void prompt_yn_redraw(void);
+
+ /* read.c */
+ extern char *tin_fgets(FILE *fp, t_bool header);
diff --git a/news/tin/patches/patch-ae b/news/tin/patches/patch-ae
new file mode 100644
index 00000000000..56d6b7babb7
--- /dev/null
+++ b/news/tin/patches/patch-ae
@@ -0,0 +1,12 @@
+$NetBSD: patch-ae,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- include/tcurses.h.orig 2008-12-30 20:27:28.000000000 +0100
++++ include/tcurses.h
+@@ -95,6 +95,7 @@
+ # define HpGlitch(func) /*nothing*/
+
+ extern int cmdReadCh(void);
++extern int cmd_get_arrow_key(int prech);
+ extern char *screen_contents(int row, int col, char *buffer);
+ extern void MoveCursor(int row, int col);
+ extern void my_erase(void);
diff --git a/news/tin/patches/patch-af b/news/tin/patches/patch-af
new file mode 100644
index 00000000000..20ccc881290
--- /dev/null
+++ b/news/tin/patches/patch-af
@@ -0,0 +1,13 @@
+$NetBSD: patch-af,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- include/tin.h.orig 2009-02-10 18:10:02.000000000 +0100
++++ include/tin.h
+@@ -98,7 +98,7 @@
+ #include <signal.h>
+
+ enum context { cMain, cArt, cConfig, cFilter, cGroup, cHelp, cInfopager, cPage, cSelect, cThread };
+-enum icontext { cNone, cGetline, cPromptSLK };
++enum icontext { cNone, cGetline, cPromptCONT, cPromptSLK, cPromptYN };
+ enum resizer { cNo, cYes, cRedraw };
+ enum rc_state { RC_IGNORE, RC_CHECK, RC_UPGRADE, RC_DOWNGRADE, RC_ERROR };
+
diff --git a/news/tin/patches/patch-ag b/news/tin/patches/patch-ag
new file mode 100644
index 00000000000..173529624c0
--- /dev/null
+++ b/news/tin/patches/patch-ag
@@ -0,0 +1,28 @@
+$NetBSD: patch-ag,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- src/curses.c.orig 2008-12-30 20:26:23.000000000 +0100
++++ src/curses.c
+@@ -32,6 +32,7 @@
+ #if defined(MULTIBYTE_ABLE) && !defined(NO_LOCALE) && defined(M_UNIX)
+ # define ReadWch cmdReadWch
+ #endif /* MULTIBYTE_ABLE && !NO_LOCALE && M_UNIX */
++#define get_arrow_key cmd_get_arrow_key
+
+ void my_dummy(void) { } /* ANSI C requires non-empty file */
+ t_bool have_linescroll = TRUE; /* USE_CURSES always allows line scrolling */
+@@ -920,6 +921,7 @@ word_highlight_string(
+ tputs(_reset, 1, outchar);
+ stow_cursor();
+ }
++#endif /* USE_CURSES */
+
+
+ /*
+@@ -1142,7 +1144,6 @@ get_arrow_key(
+ return KEYMAP_UNKNOWN;
+ }
+ }
+-#endif /* USE_CURSES */
+
+
+ /*
diff --git a/news/tin/patches/patch-ah b/news/tin/patches/patch-ah
new file mode 100644
index 00000000000..bc87284f67f
--- /dev/null
+++ b/news/tin/patches/patch-ah
@@ -0,0 +1,23 @@
+$NetBSD: patch-ah,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- src/feed.c.orig 2008-12-30 20:26:23.000000000 +0100
++++ src/feed.c
+@@ -607,8 +607,10 @@ feed_articles(
+ EndWin(); /* Turn off curses/windowing */
+ Raw(FALSE);
+ fflush(stdout);
++ set_signal_catcher(FALSE);
+ if ((pipe_fp = popen(tinrc.default_pipe_command, "w")) == NULL) {
+ perror_message(_(txt_command_failed), tinrc.default_pipe_command);
++ set_signal_catcher(TRUE);
+ Raw(TRUE);
+ InitWin();
+ return;
+@@ -846,6 +848,7 @@ got_sig_pipe_while_piping:
+ got_sig_pipe = FALSE;
+ fflush(pipe_fp);
+ (void) pclose(pipe_fp);
++ set_signal_catcher(TRUE);
+ Raw(TRUE);
+ InitWin();
+ prompt_continue();
diff --git a/news/tin/patches/patch-ai b/news/tin/patches/patch-ai
new file mode 100644
index 00000000000..40d78006b69
--- /dev/null
+++ b/news/tin/patches/patch-ai
@@ -0,0 +1,15 @@
+$NetBSD: patch-ai,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- src/nntplib.c.orig 2009-02-09 11:03:19.000000000 +0100
++++ src/nntplib.c
+@@ -888,6 +888,10 @@ get_server(
+ * leave the s_gets() in that case)
+ */
+ while (nntp_rd_fp == NULL || s_gets(string, size, nntp_rd_fp) == NULL) {
++ if (errno == EINTR) {
++ errno = 0;
++ continue;
++ }
+ if (quitting) /* Don't bother to reconnect */
+ tin_done(NNTP_ERROR_EXIT); /* And don't try to disconnect again! */
+
diff --git a/news/tin/patches/patch-aj b/news/tin/patches/patch-aj
new file mode 100644
index 00000000000..d1df7c1f793
--- /dev/null
+++ b/news/tin/patches/patch-aj
@@ -0,0 +1,110 @@
+$NetBSD: patch-aj,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- src/prompt.c.orig 2009-01-23 16:10:39.000000000 +0100
++++ src/prompt.c
+@@ -44,6 +44,7 @@
+
+
+ static char *prompt_slk_message; /* prompt message for prompt_slk_redraw */
++static char *prompt_yn_message;
+
+ /*
+ * Local prototypes
+@@ -163,7 +164,7 @@ prompt_yn(
+ {
+ char *keyprompt;
+ char keyno[MAXKEYLEN], keyyes[MAXKEYLEN];
+- int keyyes_len = 0, keyno_len = 0, maxlen;
++ int keyyes_len = 0, keyno_len = 0, maxlen, prompt_len;
+ t_function func;
+ #if defined (MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+ wint_t yes, no, prompt_ch, ch;
+@@ -194,21 +195,17 @@ prompt_yn(
+ keyno_len = (int) strlen(keyno);
+ #endif /* MULTIBYTE_ABLE && !NO_LOCALE */
+ maxlen = MAX(keyyes_len, keyno_len);
++ prompt_len = (int) strlen(prompt) + keyyes_len + keyno_len + maxlen + 6;
++ prompt_yn_message = my_malloc(prompt_len + 1);
++
++ input_context = cPromptYN;
+
+ do {
+ prompt_ch = (default_answer ? yes : no);
+ keyprompt = (default_answer ? keyyes : keyno);
+
+- if (!cmd_line) {
+- MoveCursor(cLINES, 0);
+- CleartoEOLN();
+- }
+- my_printf("%s (%s/%s) %-*s", prompt, keyyes, keyno, maxlen, keyprompt);
+- if (!cmd_line)
+- cursoron();
+- my_flush();
+- if (!cmd_line)
+- MoveCursor(cLINES, (int) strlen(prompt) + keyyes_len + keyno_len + 5);
++ snprintf(prompt_yn_message, prompt_len, "%s (%s/%s) %-*s", prompt, keyyes, keyno, maxlen, keyprompt);
++ prompt_yn_redraw();
+
+ #if defined (MULTIBYTE_ABLE) && !defined(NO_LOCALE)
+ if (((ch = ReadWch()) == '\n') || (ch == '\r'))
+@@ -248,6 +245,9 @@ prompt_yn(
+ func = key_to_func(ch, prompt_keys);
+ } while (func == NOT_ASSIGNED);
+
++ input_context = cNone;
++ FreeAndNull(prompt_yn_message);
++
+ if (!cmd_line) {
+ clear_message();
+ my_flush();
+@@ -256,6 +256,24 @@ prompt_yn(
+ }
+
+
++/* (Re)draws the prompt message for prompt_yn() */
++void
++prompt_yn_redraw(
++ void)
++{
++ if (!cmd_line) {
++ MoveCursor(cLINES, 0);
++ CleartoEOLN();
++ }
++ my_printf("%s", prompt_yn_message);
++ if (!cmd_line)
++ cursoron();
++ my_flush();
++ if (!cmd_line)
++ MoveCursor(cLINES, (int) strlen(prompt_yn_message) -1);
++}
++
++
+ /*
+ * help_text is displayed near the bottom of the screen.
+ * var is an index into a list containing size elements.
+@@ -745,11 +763,14 @@ prompt_continue(
+ void)
+ {
+ int ch;
++ int save_signal_context = signal_context;
+
+ #ifdef USE_CURSES
+ cmd_line = TRUE;
+ #endif /* USE_CURSES */
+ info_message(_(txt_return_key));
++ signal_context = cMain;
++ input_context = cPromptCONT;
+
+ switch ((ch = ReadCh())) {
+ case ESC:
+@@ -763,6 +784,10 @@ prompt_continue(
+ break;
+ }
+
++ input_context = cNone;
++ signal_context = save_signal_context;
++ my_fputc('\n', stdout);
++
+ #ifdef USE_CURSES
+ cmd_line = FALSE;
+ my_retouch();
diff --git a/news/tin/patches/patch-ak b/news/tin/patches/patch-ak
new file mode 100644
index 00000000000..26547f8be6c
--- /dev/null
+++ b/news/tin/patches/patch-ak
@@ -0,0 +1,84 @@
+$NetBSD: patch-ak,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- src/signal.c.orig 2008-12-30 20:26:25.000000000 +0100
++++ src/signal.c
+@@ -104,6 +104,8 @@ int need_resize = cNo;
+ */
+ int NOTESLINES;
+
++static t_bool redraw_after_suspend;
++
+
+ #ifndef __LCLINT__ /* lclint doesn't like it */
+ static const struct {
+@@ -268,7 +270,7 @@ handle_resize(
+ switch (signal_context) {
+ case cArt:
+ ClearScreen();
+- show_art_msg(curr_group->name);
++ show_art_msg(CURR_GROUP.name);
+ break;
+
+ case cConfig:
+@@ -303,14 +305,24 @@ handle_resize(
+ gl_redraw();
+ break;
+
++ case cPromptCONT:
++ if (redraw_after_suspend)
++ info_message(_(txt_return_key));
++ break;
++
+ case cPromptSLK:
+ prompt_slk_redraw();
+ break;
+
++ case cPromptYN:
++ prompt_yn_redraw();
++ break;
++
+ default:
+ break;
+ }
+ my_fflush(stdout);
++ redraw_after_suspend = FALSE;
+ #endif /* SIGWINCH || SIGTSTP */
+ }
+
+@@ -320,22 +332,34 @@ static void
+ handle_suspend(
+ void)
+ {
++ t_bool save_cmd_line = cmd_line;
++ t_bool save_state = (!batch_mode || !cmd_line);
++
+ TRACE(("handle_suspend(%d)", signal_context));
+
+ set_keypad_off();
+ if (!cmd_line)
+ set_xclick_off();
+
+- Raw(FALSE);
++ if (save_state) {
++ EndWin();
++ Raw(FALSE);
++ }
++
+ wait_message(0, _(txt_suspended_message), tin_progname);
+
+ kill(0, SIGSTOP); /* Put ourselves to sleep */
+
+ RESTORE_HANDLER(SIGTSTP, signal_handler);
+
+- if (!batch_mode) {
++ if (save_state) {
+ Raw(TRUE);
++ InitWin();
++ cmd_line = save_cmd_line;
++ if (!cmd_line)
++ my_retouch();
+ need_resize = cRedraw; /* Flag a redraw */
++ redraw_after_suspend = TRUE;
+ }
+ set_keypad_on();
+ if (!cmd_line)
diff --git a/news/tin/patches/patch-al b/news/tin/patches/patch-al
new file mode 100644
index 00000000000..581bdf6103e
--- /dev/null
+++ b/news/tin/patches/patch-al
@@ -0,0 +1,142 @@
+$NetBSD: patch-al,v 1.1 2009/10/22 22:01:26 wiz Exp $
+
+--- src/tcurses.c.orig 2008-12-30 20:26:25.000000000 +0100
++++ src/tcurses.c
+@@ -896,72 +896,77 @@ get_arrow_key(
+ # ifdef NCURSES_MOUSE_VERSION
+ MEVENT my_event;
+ # endif /* NCURSES_MOUSE_VERSION */
+- int ch = getch();
++ int ch;
+ int code = KEYMAP_UNKNOWN;
+
+- switch (ch) {
+- case KEY_DC:
+- code = KEYMAP_DEL;
+- break;
+-
+- case KEY_IC:
+- code = KEYMAP_INS;
+- break;
+-
+- case KEY_UP:
+- code = KEYMAP_UP;
+- break;
+-
+- case KEY_DOWN:
+- code = KEYMAP_DOWN;
+- break;
+-
+- case KEY_LEFT:
+- code = KEYMAP_LEFT;
+- break;
+-
+- case KEY_RIGHT:
+- code = KEYMAP_RIGHT;
+- break;
+-
+- case KEY_NPAGE:
+- code = KEYMAP_PAGE_DOWN;
+- break;
+-
+- case KEY_PPAGE:
+- code = KEYMAP_PAGE_UP;
+- break;
+-
+- case KEY_HOME:
+- code = KEYMAP_HOME;
+- break;
+-
+- case KEY_END:
+- code = KEYMAP_END;
+- break;
++ if (cmd_line)
++ code = cmd_get_arrow_key(prech);
++ else {
++ ch = getch();
++ switch (ch) {
++ case KEY_DC:
++ code = KEYMAP_DEL;
++ break;
++
++ case KEY_IC:
++ code = KEYMAP_INS;
++ break;
++
++ case KEY_UP:
++ code = KEYMAP_UP;
++ break;
++
++ case KEY_DOWN:
++ code = KEYMAP_DOWN;
++ break;
++
++ case KEY_LEFT:
++ code = KEYMAP_LEFT;
++ break;
++
++ case KEY_RIGHT:
++ code = KEYMAP_RIGHT;
++ break;
++
++ case KEY_NPAGE:
++ code = KEYMAP_PAGE_DOWN;
++ break;
++
++ case KEY_PPAGE:
++ code = KEYMAP_PAGE_UP;
++ break;
++
++ case KEY_HOME:
++ code = KEYMAP_HOME;
++ break;
++
++ case KEY_END:
++ code = KEYMAP_END;
++ break;
+
+ # ifdef NCURSES_MOUSE_VERSION
+- case KEY_MOUSE:
+- if (getmouse(&my_event) != ERR) {
+- switch ((int) my_event.bstate) {
+- case BUTTON1_CLICKED:
+- xmouse = MOUSE_BUTTON_1;
+- break;
+-
+- case BUTTON2_CLICKED:
+- xmouse = MOUSE_BUTTON_2;
+- break;
+-
+- case BUTTON3_CLICKED:
+- xmouse = MOUSE_BUTTON_3;
+- break;
++ case KEY_MOUSE:
++ if (getmouse(&my_event) != ERR) {
++ switch ((int) my_event.bstate) {
++ case BUTTON1_CLICKED:
++ xmouse = MOUSE_BUTTON_1;
++ break;
++
++ case BUTTON2_CLICKED:
++ xmouse = MOUSE_BUTTON_2;
++ break;
++
++ case BUTTON3_CLICKED:
++ xmouse = MOUSE_BUTTON_3;
++ break;
++ }
++ xcol = my_event.x; /* column */
++ xrow = my_event.y; /* row */
++ code = KEYMAP_MOUSE;
+ }
+- xcol = my_event.x; /* column */
+- xrow = my_event.y; /* row */
+- code = KEYMAP_MOUSE;
+- }
+- break;
++ break;
+ # endif /* NCURSES_MOUSE_VERSION */
++ }
+ }
+ return code;
+ }