hi again, i've found a (partial) solution to my problem: if i use w3mmee instead of w3m, everything works fine.
i've been also stepping through the w3m-el code with edebug, and found where the infinite loop raises: when the page has a form, w3m-form-parse-and-fontify is eventually called. it parses the buffer and, at a given point, looks for the <internal/> tags and, inside them, the corresponding <option>s. the first one is found, and w3m-parse-attributes is invoked (w3m-form.el, line 612). upon returning from this macro invocation (and only when the backend is w3m) _the point has been positioned at the beginning of the buffer_, and, therefore, the next search for an <option> tag re-reads the first one ad infinitum. when the backend is w3mmee (or jde has not been loaded), w3m-parse-attributes behaves as expected (i.e., leaves point at the beginning of the _next_ <option>.) i don't know the cause of this strange behaviour, but maybe it will ring a bell in the jde and/or w3m-el developers' minds :). my guess is that, somehow, loading jde interferes with the regexps used by w3m-el/w3m to find the form tags... anyway, thanks a lot for two great pieces of software! cheers, jao -- You give but little when you give of your possessions. It is when you give of yourself that you truly give. -Kahlil Gibran, mystic, poet and artist (1883-1931)