[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
texinfo/makeinfo files.c,1.14,1.15 files.h,1.6,1.7 index.c,1.17,1.18 ind
From: |
dirt |
Subject: |
texinfo/makeinfo files.c,1.14,1.15 files.h,1.6,1.7 index.c,1.17,1.18 index.h,1.5,1.6 node.c,1.17,1.18 node.h,1.3,1.4 |
Date: |
Sat, 28 Feb 2004 11:42:53 +0100 |
Update of /cvsroot/texinfo/texinfo/makeinfo
In directory sheep:/tmp/cvs-serv12558/makeinfo
Modified Files:
files.c files.h index.c index.h node.c node.h
Log Message:
2004-02-28 Alper Ersoy <address@hidden>
* makeinfo/files.h: new members node_order and index_order in
DELAYED_WRITE struct.
* makeinfo/files.c (register_delayed_write): save current node and
index order.
(handle_delayed_writes): update tag_table positions and index line
numbers by comparing orders, not line numbers they are defined.
* makeinfo/index.c: made index_counter not static and ...
* makeinfo/index.h: extern.
* makeinfo/node.h: new member order in TAG_ENTRY struct.
* makeinfo/node.c (cm_node): keep the order of the node entry.
Index: files.c
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/files.c,v
retrieving revision 1.14
retrieving revision 1.15
diff -C2 -d -r1.14 -r1.15
*** files.c 13 Feb 2004 22:01:38 -0000 1.14
--- files.c 28 Feb 2004 10:42:50 -0000 1.15
***************
*** 663,666 ****
--- 663,670 ----
new->calling_line = line_number;
new->node = current_node ? xstrdup (current_node): "";
+
+ new->node_order = node_order;
+ new->index_order = index_counter;
+
new->next = delayed_writes;
delayed_writes = new;
***************
*** 735,744 ****
/* Update positions in tag table for nodes that are defined after
the line this delayed write is registered. */
! {
! TAG_ENTRY *node;
! for (node = tag_table; node; node = node->next_ent)
! if (node->line_no > temp->calling_line)
! node->position += position_shift_amount;
! }
/* Something similar for the line numbers in all of the defined
--- 739,749 ----
/* Update positions in tag table for nodes that are defined after
the line this delayed write is registered. */
! if (!html && !xml)
! {
! TAG_ENTRY *node;
! for (node = tag_table; node; node = node->next_ent)
! if (node->order > temp->node_order)
! node->position += position_shift_amount;
! }
/* Something similar for the line numbers in all of the defined
***************
*** 752,757 ****
INDEX_ELT *index;
for (index = index_list (name); index; index = index->next)
! if ((!no_headers || STREQ (index->node, temp->node))
! && index->defining_line > temp->calling_line)
index->output_line += line_number_shift_amount;
}
--- 757,762 ----
INDEX_ELT *index;
for (index = index_list (name); index; index = index->next)
! if ((no_headers || STREQ (index->node, temp->node))
! && index->entry_number > temp->index_order)
index->output_line += line_number_shift_amount;
}
Index: files.h
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/files.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** files.h 13 Feb 2004 22:01:38 -0000 1.6
--- files.h 28 Feb 2004 10:42:50 -0000 1.7
***************
*** 61,64 ****
--- 61,67 ----
int position;
int calling_line;
+
+ int node_order;
+ int index_order;
} DELAYED_WRITE;
Index: index.c
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/index.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** index.c 26 Feb 2004 00:58:44 -0000 1.17
--- index.c 28 Feb 2004 10:42:50 -0000 1.18
***************
*** 39,42 ****
--- 39,45 ----
int defined_indices = 0;
+ /* This is the order of the index. */
+ int index_counter = 0;
+
/* Stuff for defining commands on the fly. */
COMMAND **user_command_array = NULL;
***************
*** 135,139 ****
}
- static int index_counter = 0;
/* Add the arguments to the current index command to the index NAME.
html fixxme generate specific html anchor */
--- 138,141 ----
Index: index.h
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/index.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** index.h 23 Feb 2004 16:48:48 -0000 1.5
--- index.h 28 Feb 2004 10:42:50 -0000 1.6
***************
*** 87,90 ****
--- 87,91 ----
extern int defined_indices;
extern int printing_index;
+ extern int index_counter;
INDEX_ELT *index_list (char *name);
Index: node.c
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/node.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -d -r1.17 -r1.18
*** node.c 20 Feb 2004 12:48:21 -0000 1.17
--- node.c 28 Feb 2004 10:42:50 -0000 1.18
***************
*** 37,40 ****
--- 37,41 ----
TAG_ENTRY *tag_table = NULL;
int node_number = -1;
+ int node_order = 0;
int current_section = 0;
int outstanding_node = 0;
***************
*** 1039,1042 ****
--- 1040,1047 ----
if (current_node && STREQ (current_node, "Top"))
top_node_seen = 1;
+
+ /* Increment the order counter, and save it. */
+ node_order++;
+ tag_table->order = node_order;
filling_enabled = 1;
Index: node.h
===================================================================
RCS file: /cvsroot/texinfo/texinfo/makeinfo/node.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** node.h 13 Feb 2004 22:01:39 -0000 1.3
--- node.h 28 Feb 2004 10:42:50 -0000 1.4
***************
*** 42,45 ****
--- 42,46 ----
splitting -- from use+define order, not just
define. */
+ int order; /* The order of the tag, starting from zero. */
char *html_fname; /* The HTML file to which this node is written
(non-NULL only for HTML splitting). */
***************
*** 87,90 ****
--- 88,94 ----
/* Counter for setting node_ref.number; zero is Top. */
extern int node_number;
+
+ /* Node order counter. */
+ extern int node_order;
/* The current node's section level. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- texinfo/makeinfo files.c,1.14,1.15 files.h,1.6,1.7 index.c,1.17,1.18 index.h,1.5,1.6 node.c,1.17,1.18 node.h,1.3,1.4,
dirt <=