Author: bdubbs
Date: 2007-08-20 10:00:00 -0600 (Mon, 20 Aug 2007)
New Revision: 1866

Added:
   trunk/man-db/
   trunk/man-db/man-db-2.4.4-fixes-1.patch
Log:
Add man-db patch

Added: trunk/man-db/man-db-2.4.4-fixes-1.patch
===================================================================
--- trunk/man-db/man-db-2.4.4-fixes-1.patch                             (rev 0)
+++ trunk/man-db/man-db-2.4.4-fixes-1.patch     2007-08-20 16:00:00 UTC (rev 
1866)
@@ -0,0 +1,68 @@
+Submitted By: Alexander E. Patrakov
+Date: 2007-08-20
+Initial Package Version: 2.4.4
+Origin: Debian
+Upstream Status: Backport
+Description: Fixes two bugs:
+
+1) makewhatis didn't break descriptions at certain macros
+2) ugly error message was displayed when the user pressed
+   "q" without reading the long manual page
+
+--- man-db-2.4.4.orig/src/lexgrog.l
++++ man-db-2.4.4/src/lexgrog.l
+@@ -314,14 +314,18 @@
+  /* collapse spaces, escaped spaces, tabs, newlines to a single space */
+ <CAT_NAME>{next}((\\[ ])|{blank})*    add_char_to_whatis (' ');
+ 
+- /* a ROFF break request (.br) or a paragraph request (.LP, .PP, .P)
++ /* a ROFF break request, a paragraph request, or an indentation change
+     usually means we have multiple whatis definitions, provide a separator
+     for later processing */
+ <MAN_NAME>{
+       {bol}\.br{blank}*               |
+       {bol}\.LP{blank}*               |
+       {bol}\.PP{blank}*               |
+-      {bol}\.P{blank}*                add_char_to_whatis ((char) 0x11);
++      {bol}\.P{blank}*                |
++      {bol}\.IP{blank}.*              |
++      {bol}\.HP{blank}.*              |
++      {bol}\.RS{blank}.*              |
++      {bol}\.RE{blank}.*              add_char_to_whatis ((char) 0x11);
+ }
+ 
+ <MAN_NAME>{bol}\.{alpha}{2}{blank}*   { /* very general roff requests */
+--- man-db-2.4.4.orig/lib/pipeline.c
++++ man-db-2.4.4/lib/pipeline.c
+@@ -633,8 +633,6 @@
+               if (pid < 0)
+                       error (FATAL, errno, _("fork failed"));
+               if (pid == 0) {
+-                      struct sigaction sa;
+-
+                       /* child */
+                       pop_all_cleanups ();
+ 
+@@ -677,11 +675,6 @@
+                       /* Restore signals. */
+                       xsigaction (SIGINT, &osa_sigint, NULL);
+                       xsigaction (SIGQUIT, &osa_sigquit, NULL);
+-                      /* ... but we don't want to know about SIGPIPE. */
+-                      sa.sa_handler = SIG_IGN;
+-                      sigemptyset(&sa.sa_mask);
+-                      sa.sa_flags = 0;
+-                      xsigaction (SIGPIPE, &sa, NULL);
+ 
+                       execvp (p->commands[i]->name, p->commands[i]->argv);
+                       error (EXEC_FAILED_EXIT_STATUS, errno,
+@@ -840,7 +833,9 @@
+                       if (WIFSIGNALED (status)) {
+                               int sig = WTERMSIG (status);
+ #ifdef SIGPIPE
+-                              if (sig != SIGPIPE) {
++                              if (sig == SIGPIPE)
++                                      status = 0;
++                              else {
+ #endif /* SIGPIPE */
+                                       if (WCOREDUMP (status))
+                                               error (0, 0,

-- 
http://linuxfromscratch.org/mailman/listinfo/patches
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to