Hi, while working on css I came across the following: <a class="d" name="INCR32"/> (found at [1]) dillo currently doesn't recognize that the element is empty. The relevant code is at html.cc:3530: /* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/' && /* XML: */ (isspace(tag[tagsize - 3]) || /* <x /> */ (size_t)tagsize == strlen(Tags[ni].name) + 3))) { /* <x/> */ We could simply drop the requirement for the blank before '/' which would lead to /* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/')) { /* XML */ or allow a '"' instead of the blank or keep things as they are, if XML requires a blank before the '/'.
From http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags I'd say the blank is optional.
What do you think? Cheers, Johannes [1] http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/...
Johannes wrote:
Hi,
while working on css I came across the following:
<a class="d" name="INCR32"/> (found at [1])
dillo currently doesn't recognize that the element is empty. The relevant code is at html.cc:3530:
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/' && /* XML: */ (isspace(tag[tagsize - 3]) || /* <x /> */ (size_t)tagsize == strlen(Tags[ni].name) + 3))) { /* <x/> */
We could simply drop the requirement for the blank before '/' which would lead to
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/')) { /* XML */
or allow a '"' instead of the blank or keep things as they are, if XML requires a blank before the '/'.
From http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags I'd say the blank is optional.
What do you think?
Yes, it looks like whitespace is optional there. EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' S ::= (#x20 | #x9 | #xD | #xA)+
[1] http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/...
On Mon, Dec 01, 2008 at 06:56:41PM +0000, corvid wrote:
Johannes wrote:
Hi,
while working on css I came across the following:
<a class="d" name="INCR32"/> (found at [1])
dillo currently doesn't recognize that the element is empty. The relevant code is at html.cc:3530:
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/' && /* XML: */ (isspace(tag[tagsize - 3]) || /* <x /> */ (size_t)tagsize == strlen(Tags[ni].name) + 3))) { /* <x/> */
We could simply drop the requirement for the blank before '/' which would lead to
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/')) { /* XML */
or allow a '"' instead of the blank or keep things as they are, if XML requires a blank before the '/'.
From http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags I'd say the blank is optional.
What do you think?
Yes, it looks like whitespace is optional there.
EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' S ::= (#x20 | #x9 | #xD | #xA)+
Committed to the mercurial repository. BTW, I want to give mercurial a more serious try so will keep updating only this repo for some time as a test: (http://freehg.org/u/dillo/main). In a nutshell: To get the repo into your HD: hg clone http://freehg.org/u/dillo/main dillo To update: cd dillo hg pull http://freehg.org/u/dillo/main Yes, I'm yet to update the web pages in our site... -- Cheers Jorge.- PS: I've been quite busy, trying to catch up. Please be patient...
On Sun, Dec 07, 2008 at 04:38:06PM -0300, Jorge Arellano Cid wrote:
On Mon, Dec 01, 2008 at 06:56:41PM +0000, corvid wrote:
Johannes wrote:
Hi,
while working on css I came across the following:
<a class="d" name="INCR32"/> (found at [1])
dillo currently doesn't recognize that the element is empty. The relevant code is at html.cc:3530:
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/' && /* XML: */ (isspace(tag[tagsize - 3]) || /* <x /> */ (size_t)tagsize == strlen(Tags[ni].name) + 3))) { /* <x/> */
We could simply drop the requirement for the blank before '/' which would lead to
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/')) { /* XML */
or allow a '"' instead of the blank or keep things as they are, if XML requires a blank before the '/'.
From http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags I'd say the blank is optional.
What do you think?
Yes, it looks like whitespace is optional there.
EmptyElemTag ::= '<' Name (S Attribute)* S? '/>' S ::= (#x20 | #x9 | #xD | #xA)+
Committed to the mercurial repository.
BTW, I want to give mercurial a more serious try so will keep updating only this repo for some time as a test:
(http://freehg.org/u/dillo/main).
In a nutshell: To get the repo into your HD: hg clone http://freehg.org/u/dillo/main dillo To update: cd dillo hg pull http://freehg.org/u/dillo/main
Yes, I'm yet to update the web pages in our site...
I personally like mercurial, but what do the other developers think? Cheers, Johannes
Johannes wrote:
On Sun, Dec 07, 2008 at 04:38:06PM -0300, Jorge Arellano Cid wrote:
BTW, I want to give mercurial a more serious try so will keep updating only this repo for some time as a test:
(http://freehg.org/u/dillo/main).
In a nutshell: To get the repo into your HD: hg clone http://freehg.org/u/dillo/main dillo To update: cd dillo hg pull http://freehg.org/u/dillo/main
Yes, I'm yet to update the web pages in our site...
I personally like mercurial, but what do the other developers think?
Hmm...looks like I'll have to make some room for python...
On Mon, Dec 01, 2008 at 06:56:12PM +0100, Johannes Hofmann wrote:
Hi,
while working on css I came across the following:
<a class="d" name="INCR32"/> (found at [1])
dillo currently doesn't recognize that the element is empty. The relevant code is at html.cc:3530:
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/' && /* XML: */ (isspace(tag[tagsize - 3]) || /* <x /> */ (size_t)tagsize == strlen(Tags[ni].name) + 3))) { /* <x/> */
We could simply drop the requirement for the blank before '/' which would lead to
/* Test for </x>, ReqTagClose, <x /> and <x/> */ if (*start == '/' || /* </x> */ html->ReqTagClose || /* request */ (tag[tagsize - 2] == '/')) { /* XML */
or allow a '"' instead of the blank or keep things as they are, if XML requires a blank before the '/'.
From http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags I'd say the blank is optional.
What do you think?
Cheers, Johannes
[1] http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/lib/libc/port/...
Oh, I committed a new version allowing [ "'] before />, and also a self closing element: <x/>. This because the former one failed on things like: <a href=/html/k_links/Kayden_Kross/> Kayden Kross </a> Example taken from: http://www.freeones.com/html/d_links/Denise_Milani/ look at the non-working bottom links, or elsewhere if you like. :-) -- Cheers Jorge.-
Oh, I committed a new version allowing [ "'] before />, and also a self closing element: <x/>.
This because the former one failed on things like:
<a href=/html/k_links/Kayden_Kross/> Kayden Kross </a>
Example taken from:
http://www.freeones.com/html/d_links/Denise_Milani/
look at the non-working bottom links, or elsewhere if you like. :-)
Yeah, and of course you really don't want to fail when it comes to Denise or Kayden. (Given the line this "testing" is taken, I'm surprised we don't have a feature to clear image caches/buffers without restart -- or am I missing something?). Another note: I've noticed that with dillo cvs snapshots dated after Nov. 9 there is a regression (or at least a change) in the behavior of Shift+{Left,Right}: in the later snapshots I lose the ability to shift to other tabs with these keys after right-clicking on a link in the current tab with the mouse, and can only regain this ability to shift tabs after opening a new tab with a middle-click on a link in the current tab, or by navigating to an existing tab with the mouse and closing it, or by quickly opening and closing a blank tab with Ctrl+T,Ctrl+Q combination. Any of these methods significantly slows browsing with many tabs open. Was this intended? Is there a new dillorc option to control this behavior, or some new key/mouse controls that I missed? Regards, b.
bf wrote:
I'm surprised we don't have a feature to clear image caches/buffers without restart -- or am I missing something?).
I think a good thing is to keep dillo nimble enough that it feels more like a utility than an application. I can open and use instances whenever I need them, much like rxvt (and unlike xterm, which I have to wait for).
Another note: I've noticed that with dillo cvs snapshots dated after Nov. 9 there is a regression (or at least a change) in the behavior of Shift+{Left,Right}: in the later snapshots I lose the ability to shift to other tabs with these keys after right-clicking on a link in the current tab with the mouse, and can only regain this ability to shift tabs after opening a new tab with a middle-click on a link in the current tab, or by navigating to an existing tab with the mouse and closing it, or by quickly opening and closing a blank tab with Ctrl+T,Ctrl+Q combination. Any of these methods significantly slows browsing with many tabs open. Was this intended? Is there a new dillorc option to control this behavior, or some new key/mouse controls that I missed?
Hmmm. I must have broken it with http://cvs.auriga.wearlab.de/cgi-bin/cvsweb.cgi/dillo2/dw/fltkviewbase.cc.di...
--- On Mon, 12/8/08, corvid <corvid@lavabit.com> wrote:
From: corvid <corvid@lavabit.com> Subject: Re: [Dillo-dev] empty html elements ... and Shift+{Left, Right} change To: dillo-dev@dillo.org Date: Monday, December 8, 2008, 7:39 PM bf wrote:
I'm surprised we don't have a feature to clear image caches/buffers without restart -- or am I missing something?).
I think a good thing is to keep dillo nimble enough that it feels more like a utility than an application. I can open and use instances whenever I need them, much like rxvt (and unlike xterm, which I have to wait for).
Leanness and speed are always nice, but are they and the ability to reduce the size of an existing instance necessarily mutually exclusive? Unless the introduction of a way to empty caches/buffers would require a huge amount of new code, it they don't seem to be. Consider the following scenario: you've opened a number of tabs in one instance, containing content you'd still like to look over. Then you open a few more, and find that the new pages occupy a large amount of memory, which you need for other uses. Right now, you can't close these tabs and clear the cache/buffer to bring the memory footprint back down to a lower level. Sure, you could kill the entire instance and start over, but what about the first set of tabs that you're not done with? You'd have to navigate back to each of them in a new instance, which could take a lot of time. You could mitigate that by bookmarking them, but that still takes time, and then you may have to clean your bookmarks up, and unless you're using a cache other than that of the browser, you'd have to download them again, too. This doesn't seem desirable. Am I missing something?
Another note: I've noticed that with dillo cvs snapshots dated after Nov. 9 there is a regression (or at least a change) in the behavior of Shift+{Left,Right}: in the later snapshots I lose the ability to shift to other tabs with these keys after right-clicking on a link in the current tab with the mouse, and can only regain this ability to shift tabs after opening a new tab with a middle-click on a link in the current tab, or by navigating to an existing tab with the mouse and closing it, or by quickly opening and closing a blank tab with Ctrl+T,Ctrl+Q combination. Any of these methods significantly slows browsing with many tabs open. Was this intended? Is there a new dillorc option to control this behavior, or some new key/mouse controls that I missed?
Hmmm. I must have broken it with http://cvs.auriga.wearlab.de/cgi-bin/cvsweb.cgi/dillo2/dw/fltkviewbase.cc.di...
A voice offstage right: "Shame! Shame!"
Am Mon, 8 Dec 2008 18:54:18 -0800 (PST) schrieb bf <bf2006a@yahoo.com>:
Leanness and speed are always nice, but are they and the ability to reduce the size of an existing instance necessarily mutually exclusive? Unless the introduction of a way to empty caches/buffers would require a huge amount of new code, it they don't seem to be.
I second that... being able to free RAM should be a good thing. I usually keep apps open for a long time, especially at least one browser window. Alrighty then, Thomas.
b. wrote:
Another note: I've noticed that with dillo cvs snapshots dated after Nov. 9 there is a regression (or at least a change) in the behavior of Shift+{Left,Right}: in the later snapshots I lose the ability to shift to other tabs with these keys after right-clicking on a link in the current tab with the mouse, and can only regain this ability to shift tabs after opening a new tab with a middle-click on a link in the current tab, or by navigating to an existing tab with the mouse and closing it, or by quickly opening and closing a blank tab with Ctrl+T,Ctrl+Q combination. Any of these methods significantly slows browsing with many tabs open. Was this intended? Is there a new dillorc option to control this behavior, or some new key/mouse controls that I missed?
You could try this:
--- On Tue, 12/9/08, corvid <corvid@lavabit.com> wrote:
Another note: I've noticed that with dillo cvs snapshots dated after Nov. 9 there is a regression (or at least a change) in
Shift+{Left,Right}: in the later snapshots I lose the ability to shift to other tabs with these keys after right-clicking on a link in the current tab with the mouse, and can only regain this ability to shift tabs after opening a new tab with a middle-click on a link in the current tab, or by navigating to an existing tab with the mouse and closing it, or by quickly opening and closing a blank tab with Ctrl+T,Ctrl+Q combination. Any of these methods significantly slows browsing with many tabs open. Was this intended? Is there a new dillorc option to control
From: corvid <corvid@lavabit.com> Subject: Re: [Dillo-dev] empty html elements ... and Shift+{Left, Right} change To: dillo-dev@dillo.org Date: Tuesday, December 9, 2008, 1:51 AM b. wrote: the behavior of this behavior, or some
new key/mouse controls that I missed?
You could try this:
Your patch seems to restore the lost functionality. Thank you for the quick response. Regards, b.
participants (5)
-
bf2006a@yahoo.com
-
corvid@lavabit.com
-
jcid@dillo.org
-
Johannes.Hofmann@gmx.de
-
thomas-forum@orgis.org