[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[6676] exclude first line of manpage node for detecting xrefs
From: |
Gavin D. Smith |
Subject: |
[6676] exclude first line of manpage node for detecting xrefs |
Date: |
Sun, 04 Oct 2015 17:20:00 +0000 |
Revision: 6676
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=6676
Author: gavin
Date: 2015-10-04 17:19:59 +0000 (Sun, 04 Oct 2015)
Log Message:
-----------
exclude first line of manpage node for detecting xrefs
Modified Paths:
--------------
trunk/ChangeLog
trunk/info/man.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2015-10-04 17:15:24 UTC (rev 6675)
+++ trunk/ChangeLog 2015-10-04 17:19:59 UTC (rev 6676)
@@ -1,5 +1,10 @@
2015-10-04 Gavin Smith <address@hidden>
+ * info/man.c (xrefs_of_manpage): Exclude first line of manpage.
+ (get_manpage_node): Don't add an extra line to the manpage node.
+
+2015-10-04 Gavin Smith <address@hidden>
+
* doc/texinfo.texi (Overview): Put contents of a footnote in the
main text.
Modified: trunk/info/man.c
===================================================================
--- trunk/info/man.c 2015-10-04 17:15:24 UTC (rev 6675)
+++ trunk/info/man.c 2015-10-04 17:19:59 UTC (rev 6676)
@@ -97,32 +97,10 @@
return 0;
plen = strlen (page);
- if (!preprocess_nodes_p)
- {
- char *header;
- hlen = asprintf (&header, "%s %s, %s %s, %s (dir)\n\n",
- INFO_FILE_LABEL, MANPAGE_FILE_BUFFER_NAME,
- INFO_NODE_LABEL, pagename,
- INFO_UP_LABEL);
+ node->contents = page;
+ node->nodelen = plen;
- node->contents = xcalloc (1, hlen + plen + 1);
- memcpy (node->contents, header, hlen);
- memcpy (node->contents + hlen, page, plen);
-
- /* Set nodelen. */
- node->nodelen = hlen + plen;
-
- free (header);
- /* FIXME: Don't allocate page just to immediately free it. */
- free (page);
- }
- else
- {
- node->contents = page;
- node->nodelen = plen;
- }
-
- node->body_start = strcspn (node->contents, "\n");
+ node->body_start = 0;
node->references = xrefs_of_manpage (node);
node->up = "(dir)";
}
@@ -570,6 +548,11 @@
s.flags = 0;
s.end = node->nodelen;
+ /* Exclude first line, which often looks like:
+CAT(1) User Commands CAT(1)
+ */
+ s.start = strcspn (node->contents, "\n");
+
/* Build a list of references. A reference is alphabetic characters
followed by non-whitespace text within parenthesis leading with a digit.
*/
while (search_forward ("(", &s, &position) == search_success)
@@ -581,8 +564,9 @@
if (whitespace_or_newline (s.buffer[name]))
break;
- if (name != 0)
- name++;
+ if (name == 0)
+ goto skip;
+ name++;
if (name == position)
goto skip; /* Whitespace immediately before '('. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [6676] exclude first line of manpage node for detecting xrefs,
Gavin D. Smith <=