Dillo-dev
By thread
dillo-dev@mailman3.com
By month
Messages by month
- ----- 2026 -----
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2004 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2003 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2002 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2001 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2000 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1999 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1998 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1997 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1996 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 1995 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- 2 participants
- 11672 messages
[patch] Search Previous
by Johannes.Hofmannï¼ gmx.de
Hello,
On Tue, Feb 03, 2009 at 07:48:18PM +0000, Jo?o Ricardo Louren?o wrote:
> Greetings.
>
> I 'spotted' a TODO on searching 'backwards' and decided to have a go at
> it.
Great.
>
> Basically, I implemented the Search Previous feature.
>
> I must say I have difficulties understanding the code behind
> FindtextState::search0(), so I did not base my code on it at all. Sure
> it could possibly be optimized, but it seems to do the job for now, I
> haven't found any bugs, if you find any, please do say.
FindtextState implements the Knuth-Morris-Pratt algorithm
http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm
for efficient searching. It is pretty clever but a bit tricky.
I see some issues in your implementation. E.g. try to search for
'ab' in a string 'abababa'.
Even more tricky is searching for ababb in abababb, i.e. the prefix
matches, but once it no longer does you would need to backtrack.
The easiest but inefficient way to implement searching
is doing a strcmp() at every text position. The Knuth-Morris-Pratt
algorithm avoids that.
I think it would be best to adapt search0 somehow to allow backward
searching - it's more or less the same thing as forward searching
anyway. Some ugly edge cases when switching between forward and
backward maybe :-)
Thanks for working on that,
Johannes
>
> Additionally, I did not set any hotkeys for the search-previous action,
> maybe something like SHIFT+RETURN, since RETURN handles searching
> forwards?
>
> Also, I did not add any tests, and I only altered a line to make them
> compilable, but I might add some tests soon.
>
> Thanks,
>
> Jo?o
> diff -r ccdc02768890 dw/findtext.cc
> --- a/dw/findtext.cc Sun Feb 01 17:21:41 2009 -0300
> +++ b/dw/findtext.cc Tue Feb 03 19:24:11 2009 +0000
> @@ -66,8 +66,9 @@
> hlIterator = NULL;
> }
>
> -FindtextState::Result FindtextState::search (const char *key, bool caseSens)
> +FindtextState::Result FindtextState::search (const char *key, bool caseSens, bool backwards)
> {
> +
> if (!widget || *key == 0) // empty keys are not found
> return NOT_FOUND;
>
> @@ -91,13 +92,19 @@
> if (iterator)
> delete iterator;
> iterator = new CharIterator (widget);
> - iterator->next ();
> +
> + if(backwards) {
> + /* Go to end */
> + while(iterator->next () ) ;
> + iterator->prev(); //We don't want to be at CharIterator::END.
> + } else
> + iterator->next ();
> } else
> newKey = false;
>
> bool firstTrial = !wasHighlighted || newKey;
>
> - if (search0 ()) {
> + if (backwards ? search0Backwards () : search0 ()) {
> // Highlighlighting is done with a clone.
> hlIterator = iterator->cloneCharIterator ();
> for (int i = 0; key[i]; i++)
> @@ -116,10 +123,15 @@
> // Nothing found anymore, reset the state for the next trial.
> delete iterator;
> iterator = new CharIterator (widget);
> - iterator->next ();
> + if(backwards) {
> + /* Go to end */
> + while(iterator->next () ) ;
> + iterator->prev(); //We don't want to be at CharIterator::END.
> + } else
> + iterator->next ();
>
> // We expect a success.
> - Result result2 = search (key, caseSens);
> + Result result2 = search (key, caseSens, backwards);
> assert (result2 == SUCCESS);
> return RESTART;
> }
> @@ -179,6 +191,46 @@
> return false;
> }
>
> +/*
> + * Search backwards.
> + */
> +bool FindtextState::search0Backwards ()
> +{
> + if (iterator->getChar () == CharIterator::END)
> + return false;
> +
> + bool equal=false;
> + int l = strlen (key);
> + int j = l;
> +
> + /* get before the word */
> + for (int i = 0; i < l+1; i++)
> + iterator->prev ();
> +
> + do {
> +
> + if (charsEqual (iterator->getChar (), key[l==1 ? 0 : j], caseSens)) {
> +
> + if((j==0 && equal) || l==1) { return true; }
> + equal=true;
> +
> + } else if(j!=l) {
> +
> + /* Restart the search */
> + equal=false;
> + j=l;
> + continue; /* Do not iterate back when restarting the search. */
> +
> + }
> +
> + if(!iterator->prev()) return false; /* No more text where to search */
> +
> + j--;
> +
> + } while(true);
> +
> +}
> +
> bool FindtextState::search0 ()
> {
> if (iterator->getChar () == CharIterator::END)
> diff -r ccdc02768890 dw/findtext.hh
> --- a/dw/findtext.hh Sun Feb 01 17:21:41 2009 -0300
> +++ b/dw/findtext.hh Tue Feb 03 19:24:11 2009 +0000
> @@ -62,6 +62,7 @@
> static int *createNexttab (const char *key, bool caseSens);
> bool unhighlight ();
> bool search0 ();
> + bool search0Backwards ();
>
> inline static bool charsEqual (char c1, char c2, bool caseSens)
> { return caseSens ? c1 == c2 : tolower (c1) == tolower (c2) ||
> @@ -72,7 +73,7 @@
> ~FindtextState ();
>
> void setWidget (Widget *widget);
> - Result search (const char *key, bool caseSens);
> + Result search (const char *key, bool caseSens, bool backwards);
> void resetSearch ();
> };
>
> diff -r ccdc02768890 dw/layout.hh
> --- a/dw/layout.hh Sun Feb 01 17:21:41 2009 -0300
> +++ b/dw/layout.hh Tue Feb 03 19:24:11 2009 +0000
> @@ -255,8 +255,8 @@
> emitter.connectLayout (receiver); }
>
> /** \brief See dw::core::FindtextState::search. */
> - inline FindtextState::Result search (const char *str, bool caseSens)
> - { return findtextState.search (str, caseSens); }
> + inline FindtextState::Result search (const char *str, bool caseSens, int backwards)
> + { return findtextState.search (str, caseSens, backwards); }
>
> /** \brief See dw::core::FindtextState::resetSearch. */
> inline void resetSearch () { findtextState.resetSearch (); }
> diff -r ccdc02768890 src/findbar.cc
> --- a/src/findbar.cc Sun Feb 01 17:21:41 2009 -0300
> +++ b/src/findbar.cc Tue Feb 03 19:24:11 2009 +0000
> @@ -63,7 +63,21 @@
>
> if (key[0] != '\0')
> a_UIcmd_findtext_search(a_UIcmd_get_bw_by_widget(fb),
> - key, case_sens);
> + key, case_sens, false);
> +}
> +
> +/*
> + * Find previous occurrence of input key
> + */
> +void Findbar::searchBackwards_cb(Widget *, void *vfb)
> +{
> + Findbar *fb = (Findbar *)vfb;
> + const char *key = fb->i->text();
> + bool case_sens = fb->check_btn->value();
> +
> + if (key[0] != '\0')
> + a_UIcmd_findtext_search(a_UIcmd_get_bw_by_widget(fb),
> + key, case_sens, true);
> }
>
> /*
> @@ -96,7 +110,7 @@
> int button_width = 70;
> int gap = 2;
> int border = 2;
> - int input_width = width - (2 * border + 3 * (button_width + gap));
> + int input_width = width - (2 * border + 4 * (button_width + gap));
> int x = border;
> height -= 2 * border;
>
> @@ -121,7 +135,6 @@
> i->clear_tab_to_focus();
> i->set_click_to_focus();
>
> - // TODO: search previous would be nice
> next_btn = new HighlightButton(x, border, button_width, height, "Next");
> x += button_width + gap;
> next_btn->tooltip("Find next occurrence of the search phrase");
> @@ -129,6 +142,12 @@
> next_btn->add_shortcut(KeypadEnter);
> next_btn->callback(search_cb, this);
> next_btn->clear_tab_to_focus();
> +
> + prev_btn= new HighlightButton(x, border, button_width, height, "Previous");
> + prev_btn->tooltip("Find previous occurrence of the search phrase");
> + prev_btn->callback(searchBackwards_cb, this);
> + prev_btn->clear_tab_to_focus();
> + x += button_width + gap;
>
> check_btn = new CheckButton(x, border, 2*button_width, height,
> "Case-sensitive");
> diff -r ccdc02768890 src/findbar.hh
> --- a/src/findbar.hh Sun Feb 01 17:21:41 2009 -0300
> +++ b/src/findbar.hh Tue Feb 03 19:24:11 2009 +0000
> @@ -16,12 +16,13 @@
> */
> class Findbar : public Group {
> Button *clrb;
> - HighlightButton *hide_btn, *next_btn;
> + HighlightButton *hide_btn, *next_btn, *prev_btn;
> CheckButton *check_btn;
> xpmImage *hideImg;
> Input *i;
>
> static void search_cb (Widget *, void *);
> + static void searchBackwards_cb (Widget *, void *); //add
> static void search_cb2 (Widget *, void *);
> static void hide_cb (Widget *, void *);
>
> diff -r ccdc02768890 src/uicmd.cc
> --- a/src/uicmd.cc Sun Feb 01 17:21:41 2009 -0300
> +++ b/src/uicmd.cc Tue Feb 03 19:24:11 2009 +0000
> @@ -17,6 +17,8 @@
> #include <math.h> /* for rint */
> #include <fltk/Widget.h>
> #include <fltk/TabGroup.h>
> +#include <fltk/Button.h>
> +#include <fltk/InvisibleBox.h>
>
> #include "dir.h"
> #include "ui.hh"
> @@ -964,13 +1032,13 @@
> }
>
> /*
> - * Search for next occurrence of key.
> + * Search for next/previous occurrence of key.
> */
> -void a_UIcmd_findtext_search(BrowserWindow *bw, const char *key, int case_sens)
> +void a_UIcmd_findtext_search(BrowserWindow *bw, const char *key, int case_sens, int backwards)
> {
> Layout *l = (Layout *)bw->render_layout;
>
> - switch (l->search(key, case_sens)) {
> + switch (l->search(key, case_sens, backwards)) {
> case FindtextState::RESTART:
> a_UIcmd_set_msg(bw, "No further occurrences of \"%s\". "
> "Restarting from the top.", key);
> diff -r ccdc02768890 src/uicmd.hh
> --- a/src/uicmd.hh Sun Feb 01 17:21:41 2009 -0300
> +++ b/src/uicmd.hh Tue Feb 03 19:24:11 2009 +0000
> @@ -34,7 +34,7 @@
> void a_UIcmd_add_bookmark(BrowserWindow *bw, const DilloUrl *url);
> void a_UIcmd_fullscreen_toggle(BrowserWindow *bw);
> void a_UIcmd_findtext_dialog(BrowserWindow *bw);
> -void a_UIcmd_findtext_search(BrowserWindow *bw,const char *key,int case_sens);
> +void a_UIcmd_findtext_search(BrowserWindow *bw,const char *key,int case_sens, int backwards);
> void a_UIcmd_findtext_reset(BrowserWindow *bw);
> void a_UIcmd_focus_main_area(BrowserWindow *bw);
> void a_UIcmd_focus_location(void *vbw);
> diff -r ccdc02768890 test/dw_find_test.cc
> --- a/test/dw_find_test.cc Sun Feb 01 17:21:41 2009 -0300
> +++ b/test/dw_find_test.cc Tue Feb 03 19:24:11 2009 +0000
> @@ -44,7 +44,7 @@
> static void findCallback (::fltk::Widget *widget, void *data)
> {
> //switch(layout->search ("worm", true)) {
> - switch(layout->search ("WORM", false)) {
> + switch(layout->search ("WORM", false, false)) {
> case FindtextState::SUCCESS:
> resultLabel->label("SUCCESS");
> break;
> _______________________________________________
> Dillo-dev mailing list
> Dillo-dev(a)dillo.org
> http://lists.auriga.wearlab.de/cgi-bin/mailman/listinfo/dillo-dev
Feb. 3, 2009
[patch] Search Previous
by jorl17.8ï¼ gmail.com
Greetings.
I 'spotted' a TODO on searching 'backwards' and decided to have a go at
it.
Basically, I implemented the Search Previous feature.
I must say I have difficulties understanding the code behind
FindtextState::search0(), so I did not base my code on it at all. Sure
it could possibly be optimized, but it seems to do the job for now, I
haven't found any bugs, if you find any, please do say.
Additionally, I did not set any hotkeys for the search-previous action,
maybe something like SHIFT+RETURN, since RETURN handles searching
forwards?
Also, I did not add any tests, and I only altered a line to make them
compilable, but I might add some tests soon.
Thanks,
Jo?o
Feb. 3, 2009
Bad character coding for www.blisty.cz
by newman.xï¼ gmail.com
On Tue, Feb 03, 2009 at 09:34:17AM -0300, Jorge Arellano Cid wrote:
>
> OK, the tip has a patch for both problems.
> It passes these tests:
>
> Feb03 load Reload Back
> ----------------------------
> H__ OK OK OK H = has charset in HTTP header
> HM_ OK OK OK M = has charset in META
> H_S OK OK OK S = has remote CSS stylesheet
> HMS OK OK OK _ = disabled
> ___ OK OK OK
> _M_ OK OK OK
> __S OK OK OK t = timing issue
> _MS OK OK OK x = always fails
> ----------------------------
>
> and the reported cases too.
>
> I still don't feel comfortable with this part of the code: it's
> complex and has the Cache_ref() trick. Anyway, as far as tests
> are concerned it behaves well.
>
> Please test and report.
>
Thanks, Jorge, I can confirm it's fixed now.
--
Regards,
Michal Nowak
Feb. 3, 2009
Bad character coding for www.blisty.cz
by corvidï¼ lavabit.com
Jorge wrote:
> I still don't feel comfortable with this part of the code: it's
> complex and has the Cache_ref() trick. Anyway, as far as tests
> are concerned it behaves well.
I find myself thinking again how
dicache for image/* with RGB internally
is a lot like
??? for text/* with UTF-8 internally
but they are handled completely differently.
Of course I don't know dicache well enough to
be too sure quite how far that analogy holds...
Feb. 3, 2009
FreeHG performance
by onepointï¼ starurchin.org
On Tue, Feb 03, 2009 at 03:10:11PM +0100, Hofmann Johannes wrote:
> I guess we really want an independent server/virtual machine
> somewhere just as we have at wearlab until now.
I already own a virtual machine at bytemark.co.uk. I can look into
setting up mercurial there. The Bytemark hosting crew are pretty
geek-savvy.
Regards,
Jeremy Henty
Feb. 3, 2009
FreeHG performance
by Johannes.Hofmannï¼ gmx.de
On Tue, Feb 03, 2009 at 01:45:36PM +0000, Jeremy Henty wrote:
> On Tue, Feb 03, 2009 at 01:47:48PM +0100, Hofmann Johannes wrote:
>
> > I doubt that setting up a savannah project would take very long.
>
> Really? I just had a look and there's a long checklist. You have to
> supply a fairly detailed project description, so the core devs would
> have to agree to one before signing up. You have to list all your
> dependencies and assert that they are free too. You also have to
> check that all your files have a valid copyright notice, which is
> currently not true of most of our *.{h,hh} files. (Mind you, I got a
> laugh from their "I read carefully and won't check this" item.)
Oh sorry, should have checked more carefully...
>
> I asked the local Linux Users Group for recommendations and bitbucket
> was mentioned. What do people think?
>
> Terms of service: http://bitbucket.org/site/terms/
>
> Note the clauses:
>
> By submitting Content to Avantlumiere for inclusion on your
> Website, you grant Avantlumiere a world-wide, royalty-free, and
> non-exclusive license to reproduce, modify, adapt and publish the
> Content solely for the purpose of displaying, distributing and
> promoting your account or repository.
>
> I guess the "solely for the purpose of displaying ..." clause makes
> that OK. They presumably want to be able to advertise the fact that
> they host Dillo without us claiming copyright infringement, which is
> fair enough.
>
> Also:
>
> Avantlumiere reserves the right, at its sole discretion, to modify
> or replace any part of this Agreement. It is your responsibility
> to check this Agreement periodically for changes. Your continued
> use of or access to the Website following the posting of any
> changes to this Agreement constitutes acceptance of those changes.
>
> That makes me nervous, but bitbucket is popular so I guess people
> trust them not to mess their customers around.
Argh, I really hate this stuff. I guess we really want an
independent server/virtual machine somewhere just as we have
at wearlab until now.
>
> I'll set up a BitBucket repo if people agree.
Maybe creating just frequently updated copy there would help
already?
Regards,
Johannes
Feb. 3, 2009
FreeHG performance
by onepointï¼ starurchin.org
On Tue, Feb 03, 2009 at 01:47:48PM +0100, Hofmann Johannes wrote:
> I doubt that setting up a savannah project would take very long.
Really? I just had a look and there's a long checklist. You have to
supply a fairly detailed project description, so the core devs would
have to agree to one before signing up. You have to list all your
dependencies and assert that they are free too. You also have to
check that all your files have a valid copyright notice, which is
currently not true of most of our *.{h,hh} files. (Mind you, I got a
laugh from their "I read carefully and won't check this" item.)
I asked the local Linux Users Group for recommendations and bitbucket
was mentioned. What do people think?
Terms of service: http://bitbucket.org/site/terms/
Note the clauses:
By submitting Content to Avantlumiere for inclusion on your
Website, you grant Avantlumiere a world-wide, royalty-free, and
non-exclusive license to reproduce, modify, adapt and publish the
Content solely for the purpose of displaying, distributing and
promoting your account or repository.
I guess the "solely for the purpose of displaying ..." clause makes
that OK. They presumably want to be able to advertise the fact that
they host Dillo without us claiming copyright infringement, which is
fair enough.
Also:
Avantlumiere reserves the right, at its sole discretion, to modify
or replace any part of this Agreement. It is your responsibility
to check this Agreement periodically for changes. Your continued
use of or access to the Website following the posting of any
changes to this Agreement constitutes acceptance of those changes.
That makes me nervous, but bitbucket is popular so I guess people
trust them not to mess their customers around.
I'll set up a BitBucket repo if people agree.
Regards,
Jeremy Henty
Feb. 3, 2009
FreeHG performance
by Johannes.Hofmannï¼ gmx.de
yOn Fri, Jan 30, 2009 at 12:22:46PM -0300, Jorge Arellano Cid wrote:
> On Fri, Jan 30, 2009 at 01:21:47PM +0000, Jeremy Henty wrote:
> >
> > Am I the only one getting very poor performance from FreeHG ? Quite
> > often I get a 404 Not Found and right now it's hanging. Everyone
> > confirms that Mercurial itself is really fast and I've seen other
> > reports criticising FreeHG's performance. Perhaps we should think
> > about moving host? It's not always easy to find time to devote to
> > Dillo so it's rather aggravating when that time is wasted just waiting
> > for a connection to the server. I'm committed enough to grit my teeth
> > and wait but I can see it putting off would-be contributors.
> >
> > Just a thought,
>
> Yes, I've also had trouble with it, and when normal it's slower
> than our Wearlab's CVS.
>
> A couple of days ago (while developoing/reviewing patches) I
> digged a bit on it and it seems that bitbucket is much faster. We
> can try bitbucket while we find a long term solution (e.g. FSF's
> savannah is offering Mercurial and Git repos, but the applying
> process may take some time).
>
> At some point in time we should move out from the Wearlab, as
> it may be closed soon. Currently we need webserver/CGI/python
> shell accounts and a DCVS (Hg or Git). CGI is quite useful, but
> we may use another bugtracker too.
>
> Suggestions?
I agree. freehg.org is just very simple to setup so I chose that
for the CSS prototype.
I doubt that setting up a savannah project would take very long.
Anyone volunteering?
Cheers,
Johannes
Feb. 3, 2009
Bad character coding for www.blisty.cz
by jcidï¼ dillo.org
On Mon, Feb 02, 2009 at 09:42:20AM -0300, Jorge Arellano Cid wrote:
> On Mon, Feb 02, 2009 at 01:45:43AM +0000, corvid wrote:
> > Johannes wrote:
> > > On Sun, Feb 01, 2009 at 07:45:39PM +0100, Hofmann Johannes wrote:
> > > > On Sun, Feb 01, 2009 at 03:53:32PM +0000, corvid wrote:
> > > > > Jorge wrote:
> > > > > > On Sun, Feb 01, 2009 at 02:24:30AM +0000, corvid wrote:
> > > > > > > Michal wrote:
> > > > > > > > Hi,
> > > > > > > >
> > > > > > > > I am affraid there ocurred regression in post-dillo-2.0 when compared to
> > > > > > > > dillo-2.0. Look on the www.blisty.cz web page, on the top there's
> > > > > > > > following sence (it's in Czech)
> > > > > > > >
> > > > > > > > "??t??te Britsk? listy speci?ln?? upraven? pro va??e mobiln? telefony a PDA"
> > > > > > > >
> > > > > > > > but in current hg tip it's displayed as
> > > > > > > >
> > > > > > > > "???t???te Britsk??? listy speci???ln??? upraven??? pro va???e mobiln??? telefony a PDA"
> > > > > > > >
> > > > > > > > and of course, the whole page is displayed like in ISO-8859-1 coding.
> > > > > > > >
> > > > > > > > I noticed this first when the character coding code in post-dillo-2.0
> > > > > > > > was changed.
> > > > > > > >
> > > > > > > > When the page is saved to disk and opened it works as expected.
> > > > > > > >
> > > > > > > > It appeared that it is somehow related to default dillorc.
> > > > > > > >
> > > > > > > > 1) remove the ~/.dillo directory
> > > > > > > > 2) dillo www.blisty.cz
> > > > > > > > 3) --> PASS
> > > > > > > > 4) quit dillo
> > > > > > > > 5) dillo www.blisty.cz
> > > > > > > > 6) --> FAIL
> > > > > > > >
> > > > > > > > Can anyone, please, have a look at this and say whether is it
> > > > > > > > reproducible and, perhaps, fix it? :)
> > > > > > >
> > > > > > > Breaks for me, too.
> > > > > > >
> > > > > > > Plus having to wait through 116K of download before anything
> > > > > > > appears is no fun.
> > > > > >
> > > > > > It works for me! :-)
> > > > > >
> > > > > > Seriously, I still have a pending item to review here, and it's
> > > > > > when charset appears after the stylesheet in HEAD. This page also
> > > > > > has timing issues: http://www.daemonnews.org
> > > > > >
> > > > > > It looks like queueing the stylesheets and asking for them
> > > > > > after charset or at head close may fix it.
> > > > >
> > > > > Does anyone else experience pages not rendering until
> > > > > download is complete? I see this with the dillo.org
> > > > > pages, for instance, since the meta charset is iso-8859-1.
> > > >
> > > > Yes, I'm also seeing it. Not sure when this started.
> > >
> > > According to hg bisect it starts with d29cdb5b842e,
> > > but I don't see any obvious issues there.
> > > Jorge, can you have a look please?
> >
> > With
> > html->stop_parser = true; /* Avoid a race condition */
> > in Html_tag_open_meta(), we don't get to Html_tag_close_head
> > in the usual way. We have to wait until the cache client callback
> > is called with CA_Close, triggering DilloHtml::finishParsing,
> > which closes all of the open tags. Html_tag_close_head()
> > is called and we finally get our repush().
>
> Good analysis.
>
> I'm looking into both issues...
OK, the tip has a patch for both problems.
It passes these tests:
Feb03 load Reload Back
----------------------------
H__ OK OK OK H = has charset in HTTP header
HM_ OK OK OK M = has charset in META
H_S OK OK OK S = has remote CSS stylesheet
HMS OK OK OK _ = disabled
___ OK OK OK
_M_ OK OK OK
__S OK OK OK t = timing issue
_MS OK OK OK x = always fails
----------------------------
and the reported cases too.
I still don't feel comfortable with this part of the code: it's
complex and has the Cache_ref() trick. Anyway, as far as tests
are concerned it behaves well.
Please test and report.
--
Cheers
Jorge.-
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
Feb. 3, 2009
Bad character coding for www.blisty.cz
by jcidï¼ dillo.org
On Mon, Feb 02, 2009 at 01:45:43AM +0000, corvid wrote:
> Johannes wrote:
> > On Sun, Feb 01, 2009 at 07:45:39PM +0100, Hofmann Johannes wrote:
> > > On Sun, Feb 01, 2009 at 03:53:32PM +0000, corvid wrote:
> > > > Jorge wrote:
> > > > > On Sun, Feb 01, 2009 at 02:24:30AM +0000, corvid wrote:
> > > > > > Michal wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > I am affraid there ocurred regression in post-dillo-2.0 when compared to
> > > > > > > dillo-2.0. Look on the www.blisty.cz web page, on the top there's
> > > > > > > following sence (it's in Czech)
> > > > > > >
> > > > > > > "??t??te Britsk? listy speci?ln?? upraven? pro va??e mobiln? telefony a PDA"
> > > > > > >
> > > > > > > but in current hg tip it's displayed as
> > > > > > >
> > > > > > > "???t???te Britsk??? listy speci???ln??? upraven??? pro va???e mobiln??? telefony a PDA"
> > > > > > >
> > > > > > > and of course, the whole page is displayed like in ISO-8859-1 coding.
> > > > > > >
> > > > > > > I noticed this first when the character coding code in post-dillo-2.0
> > > > > > > was changed.
> > > > > > >
> > > > > > > When the page is saved to disk and opened it works as expected.
> > > > > > >
> > > > > > > It appeared that it is somehow related to default dillorc.
> > > > > > >
> > > > > > > 1) remove the ~/.dillo directory
> > > > > > > 2) dillo www.blisty.cz
> > > > > > > 3) --> PASS
> > > > > > > 4) quit dillo
> > > > > > > 5) dillo www.blisty.cz
> > > > > > > 6) --> FAIL
> > > > > > >
> > > > > > > Can anyone, please, have a look at this and say whether is it
> > > > > > > reproducible and, perhaps, fix it? :)
> > > > > >
> > > > > > Breaks for me, too.
> > > > > >
> > > > > > Plus having to wait through 116K of download before anything
> > > > > > appears is no fun.
> > > > >
> > > > > It works for me! :-)
> > > > >
> > > > > Seriously, I still have a pending item to review here, and it's
> > > > > when charset appears after the stylesheet in HEAD. This page also
> > > > > has timing issues: http://www.daemonnews.org
> > > > >
> > > > > It looks like queueing the stylesheets and asking for them
> > > > > after charset or at head close may fix it.
> > > >
> > > > Does anyone else experience pages not rendering until
> > > > download is complete? I see this with the dillo.org
> > > > pages, for instance, since the meta charset is iso-8859-1.
> > >
> > > Yes, I'm also seeing it. Not sure when this started.
> >
> > According to hg bisect it starts with d29cdb5b842e,
> > but I don't see any obvious issues there.
> > Jorge, can you have a look please?
>
> With
> html->stop_parser = true; /* Avoid a race condition */
> in Html_tag_open_meta(), we don't get to Html_tag_close_head
> in the usual way. We have to wait until the cache client callback
> is called with CA_Close, triggering DilloHtml::finishParsing,
> which closes all of the open tags. Html_tag_close_head()
> is called and we finally get our repush().
Good analysis.
I'm looking into both issues...
--
Cheers
Jorge.-
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
Feb. 2, 2009