[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[5827] mark dir node and man pages as internal
From: |
Gavin D. Smith |
Subject: |
[5827] mark dir node and man pages as internal |
Date: |
Sun, 14 Sep 2014 17:24:37 +0000 |
Revision: 5827
http://svn.sv.gnu.org/viewvc/?view=rev&root=texinfo&revision=5827
Author: gavin
Date: 2014-09-14 17:24:35 +0000 (Sun, 14 Sep 2014)
Log Message:
-----------
mark dir node and man pages as internal
Modified Paths:
--------------
trunk/ChangeLog
trunk/info/dir.c
trunk/info/footnotes.c
trunk/info/indices.c
trunk/info/man.c
trunk/info/nodemenu.c
trunk/info/nodes.h
trunk/info/session.c
Modified: trunk/ChangeLog
===================================================================
--- trunk/ChangeLog 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/ChangeLog 2014-09-14 17:24:35 UTC (rev 5827)
@@ -1,3 +1,17 @@
+2014-09-14 Gavin Smith <address@hidden>
+
+ * info/nodes.h (N_Unstored): New flag.
+ * info/session.c (info_split_window): Copy 'nodename' and 'references'
+ fields if node is marked with N_Unstored, instead of N_IsInternal.
+ * info/nodemenu.c (list_visted_nodes),
+ * info/indices.c (info_virtual_index),
+ * info/footnotes.c (make_footnotes_node): Mark generated nodes with
+ N_Unstored.
+ * info/dir.c (build_dir_node),
+ * info/man.c (get_manpage_node): Mark generated nodes with
+ N_IsInternal, to disable attempting to get another node in a
+ containing file.
+
2014-09-13 Gavin Smith <address@hidden>
* info/info-utils.c (copy_converting) <EINVAL>: Try converting again
Modified: trunk/info/dir.c
===================================================================
--- trunk/info/dir.c 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/dir.c 2014-09-14 17:24:35 UTC (rev 5827)
@@ -139,7 +139,7 @@
{
char *old_contents = node->contents;
- node->flags |= N_IsDir;
+ node->flags |= (N_IsDir | N_IsInternal);
scan_node_contents (0, &node);
if (node->flags & N_WasRewritten)
free (old_contents);
Modified: trunk/info/footnotes.c
===================================================================
--- trunk/info/footnotes.c 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/footnotes.c 2014-09-14 17:24:35 UTC (rev 5827)
@@ -139,8 +139,6 @@
memcpy (result->contents + strlen (header),
fn_node->contents + text_start, fn_node->nodelen - text_start);
- result->flags |= N_IsInternal;
-
/* Copy and adjust references that appear in footnotes section. */
{
REFERENCE **ref = fn_node->references;
@@ -161,7 +159,7 @@
}
result->nodename = xstrdup (footnote_nodename);
- result->flags |= N_IsInternal;
+ result->flags |= (N_IsInternal | N_Unstored);
/* Needed in case the user follows a reference in the footnotes window. */
result->fullpath = fn_node->fullpath;
Modified: trunk/info/indices.c
===================================================================
--- trunk/info/indices.c 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/indices.c 2014-09-14 17:24:35 UTC (rev 5827)
@@ -783,7 +783,7 @@
node->contents = text_buffer_base (&text);
node->nodelen = text_buffer_off (&text) - 1;
node->body_start = strcspn (node->contents, "\n");
- node->flags |= N_IsInternal;
+ node->flags |= (N_IsInternal | N_Unstored);
scan_node_contents (0, &node);
info_set_node_of_window (window, node);
Modified: trunk/info/man.c
===================================================================
--- trunk/info/man.c 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/man.c 2014-09-14 17:24:35 UTC (rev 5827)
@@ -84,7 +84,7 @@
tag = info_create_node ();
tag->fullpath = MANPAGE_FILE_BUFFER_NAME;
tag->nodename = xstrdup (pagename);
- tag->flags |= (N_HasTagsTable | N_IsManPage);
+ tag->flags |= (N_HasTagsTable | N_IsManPage | N_IsInternal);
tag->up = "(dir)";
Modified: trunk/info/nodemenu.c
===================================================================
--- trunk/info/nodemenu.c 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/nodemenu.c 2014-09-14 17:24:35 UTC (rev 5827)
@@ -243,6 +243,7 @@
new->flags |= W_NoWrap;
node = get_visited_nodes ();
name_internal_node (node, xstrdup (nodemenu_nodename));
+ node->flags |= N_Unstored;
info_set_node_of_window (new, node);
active_window = new;
Modified: trunk/info/nodes.h
===================================================================
--- trunk/info/nodes.h 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/nodes.h 2014-09-14 17:24:35 UTC (rev 5827)
@@ -79,6 +79,7 @@
#define N_IsIndex 0x200 /* An index node. */
#define N_IsDir 0x400 /* A dir node. */
#define N_Subfile 0x800 /* File buffer is a subfile of a split file. */
+#define N_Unstored 0x1000 /* References are not stored anywhere else. */
/* String constants. */
#define INFO_FILE_LABEL "File:"
Modified: trunk/info/session.c
===================================================================
--- trunk/info/session.c 2014-09-13 17:36:39 UTC (rev 5826)
+++ trunk/info/session.c 2014-09-14 17:24:35 UTC (rev 5827)
@@ -879,7 +879,7 @@
static void
free_history_node (NODE *n)
{
- if (n->flags & N_IsInternal)
+ if (n->flags & N_Unstored)
{
/* These fields are not stored anywhere else. The
contents field was recorded with add_gcable_pointer. */
@@ -1926,7 +1926,7 @@
/* This allows us to free internal nodes without checking if
these fields are shared by NODE objects in other windows. */
- if (copy->flags & N_IsInternal)
+ if (copy->flags & N_Unstored)
{
copy->references = info_copy_references (copy->references);
copy->nodename = xstrdup (copy->nodename);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [5827] mark dir node and man pages as internal,
Gavin D. Smith <=