lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: lynx-dev USEMAP broken in 2.8.5dev.13 ?


From: Leonid Pauzner
Subject: Re: lynx-dev USEMAP broken in 2.8.5dev.13 ?
Date: Sat, 25 Jan 2003 04:10:05 +0300 (MSK)

>> >> Pressing Enter or the right arrow key would bring a list, but
>> >> now it points to the current link.
>>
>> > yes - it does seem to be broken.  (thanks).
>>
>> This is my fault. Just replacing html.c with dev.9 version of this file
>> fix the problem. Perhaps something with my optimization (Re: internal links),
>> no proper patch yet.

> oh.  my first guess was the rewrite of is_url, which would have been simpler
> to diagnose...

Here the fix [HTAnchor.c] -


--- htanchor.d13        2003-01-23 01:31:20.000000000 +0000
+++ htanchor.c  2003-01-25 04:06:10.000000000 +0000
@@ -261,18 +261,30 @@ PUBLIC HTChildAnchor * HTAnchor_findChil
        CONST char *fragment = NULL;
        HTParentAnchor * dest;

-       if (ltype == HTInternalLink) {
+       if (ltype == HTInternalLink && *href == '#') {
            dest = parent;
        } else {
            CONST char *relative_to = parent->parent->address;
            DocAddress parsed_doc;
            parsed_doc.address = HTParse(href, relative_to,
               PARSE_ACCESS | PARSE_HOST | PARSE_PATH | PARSE_PUNCTUATION);
+#ifndef DONT_TRACK_INTERNAL_LINKS
+           if (ltype && parent->post_data && ltype == LINK_INTERNAL) {
+               /* for internal links, find a destination with the same
+                  post data if the source of the link has post data. - kw
+                  no sure this ever happens when *href != '#' - LP */
+               parsed_doc.post_data = parent->post_data;
+               parsed_doc.post_content_type = parent->post_content_type;
+           } else
+#endif
+           {
            parsed_doc.post_data = NULL;
            parsed_doc.post_content_type = NULL;
+           }
            parsed_doc.bookmark = NULL;
            parsed_doc.isHEAD = FALSE;
            parsed_doc.safe = FALSE;
+
            dest = HTAnchor_findAddress_nofragment(&parsed_doc);
            FREE(parsed_doc.address);
        }

Attachment: htanchor.dif
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]