> I've lost patience with this.
hate to see a waste of programming skill of such magnitude
_hand edited_ the appended patch so let Leonid give an okay first.
should go on from the top directory without a hitch (tested)
__Henry
(Leonid, I can offer web space, but it will be inconvenient since there
is no longer any way to access our school lan from the outside. You'd
have to send things to me, preferably gzipped and b64 encoded, and have
me put them on the server. Anyway don't hesitate to ask.)
--- src/GridText.c.orig Wed Dec 4 10:11:11 2002
+++ src/GridText.c Wed Dec 4 10:10:51 2002
@@ -2496,7 +2496,7 @@
HTLine *, line,
int, line_number,
HText *, text,
- TextAnchor *, prev_anchor,
+ TextAnchor **, prev_anchor,
int, ninserts,
int *, oldpos, /* Measured in cells */
int *, newpos) /* Likewise */
@@ -2529,9 +2529,9 @@
mod_line = allocHTLine(line->size + added_chars);
if (!mod_line)
return NULL;
- if (!prev_anchor)
- prev_anchor = text->first_anchor;
- head_processed = (prev_anchor && prev_anchor->line_num < line_number);
+ if (!*prev_anchor)
+ *prev_anchor = text->first_anchor;
+ head_processed = (*prev_anchor && *prev_anchor->line_num < line_number);
memcpy(mod_line, line, LINE_SIZE(0));
t = newdata = mod_line->data;
ip = 0;
@@ -2562,7 +2562,7 @@
/* Now s is at the "displayed" char, pre is before the style change */
if (ip) /* Fix anchor positions */
- move_anchors_in_region(line, line_number, &prev_anchor,
+ move_anchors_in_region(line, line_number, prev_anchor,
&head_processed,
copied - line->data, pre - line->data,
shift);
@@ -2590,8 +2590,8 @@
while (pre < s) /* Copy remaining style-codes */
*t++ = *pre++;
/* Check whether the last anchor continues on the next line */
- if (head_processed && prev_anchor && prev_anchor->line_num == line_number)
- prev_anchor->extent += shift;
+ if (head_processed && *prev_anchor && (*prev_anchor)->line_num == line_number)
+ (*prev_anchor)->extent += shift;
*t = '\0';
mod_line->size = t - newdata;
return mod_line;
@@ -3245,21 +3245,11 @@
previous = jline;
}
{ /* (ht_num_runs==1) */
- /* keep maintaining 'last_anchor_of_previous_line' */
- TextAnchor* a2 = last_anchor_of_previous_line;
if (justify_start_position) {
char* p2 = previous->data;
for( ; p2 < previous->data + justify_start_position; ++p2)
*p2 = (*p2 == HT_NON_BREAK_SPACE ? ' ' : *p2);
}
-
- if (!a2)
- a2 = text->first_anchor;
- else
- a2 = a2->next; /* 1st anchor on line we justify */
-
- for (; a2 && a2->line_num <= text->Lines-1;
- last_anchor_of_previous_line = a2, a2 = a2->next);
}
} else {
if (REALLY_CAN_JUSTIFY(text) ) {
@@ -4506,7 +4496,7 @@
continue;
}
mod_line = insert_blanks_in_line(line, lineno, me,
- me->last_anchor_before_stbl,
+ &me->last_anchor_before_stbl,
ninserts, oldpos, newpos);
if (mod_line) {
if (line == me->last_line) {
; To UNSUBSCRIBE: Send "unsubscribe lynx-dev" to [EMAIL PROTECTED]