"Stephen J. Turnbull" <turnbull(a)sk.tsukuba.ac.jp> writes:
>>>>> "ms" == Michael Sperber
<sperber(a)informatik.uni-tuebingen.de> writes:
ms> In fact, W3 handles exactly the translation needed. All
ms> somebody'd have to do is hack up a file-name handler which
ms> recognizes URLs and hands them off to W3.
W3 is close, but it needs reorganization before this could be convenient
and robust.
I tried this ages ago, but the file-name-handler stuff was in its infancy
and there were just too many places it was utterly fubared. Hopefully
things are better now.
The code in the old URL package was just commented out. If you are feeling
adventurous, you can use the code out of cvs and just do
(url-setup-file-name-handlers) in your .emacs. And may the gods have mercy
on your soul.
At the moment I find I need to require 'w3 as well as 'url in
order to
use the url-retrieve facility.
This should be fixed in the CVS versions, but w3 is still pretty broken. I
concentrated on the URL subsystem, and then ran out of time. It is pretty
close, and if people want to help, PLEASE do so. :)
I think we also want to implement the HEAD method (or whatever
it's
called) in order to get the file's "attributes" as much as possible
without downloading it. I don't think w3 does yet.
Shocked, SHOCKED I am that you would think something this simple wasn't
implemented ages ago. :) url-file-attributes has worked for years. It
tries to do the right thing for HTTP, but some things just aren't possible,
but it is fairly useful now and then.
This needs to be cached since HTTP is in principle stateless ==
connection per transaction (although w3 may implement persistent
connections, I don't know if servers are required to do so even in HTTP
1.1). I don't know how much of this w3 does, and I'm pretty sure it is
not done at the url library level.
The caching is done at the URL level, but for things like this we would
just be doing HEADs, which is equivalent to what would do most of the time
anyway, checking the consistency of the cache.
HTTP/1.1 does require persistent connections and chunked encoding support,
both on the client and the server. The URL code in CVS supports this, but
there are still some issues with it. I'm considering taking a week off to
work on it, but the next few weeks are insane around here with birthdays,
anniversaries, weddings, and all sorts of other crap.
Finally, w3 is in general in sad repair; I don't think Bill is
doing much
with it at the moment (he posted a cry for help a few months back, and
that's about it).
My main goal for the next month is to get it usable in Emacs 21 (Dave Love
is working on ripping out the need for mule-sysdp, bless him) and figuring
out the last few things in the URL library that need to be finished (not
many).
W3 effectively needs a major overhaul and rewrite. The currently display
code is very close to ideal in terms of theory. The execution is pretty
lacking. Basic idea is to do everything off of a stylesheet and the parsed
representation of the document. Where the document comes from, we
shouldn't care. XML? Sure. HTML? Sure, what the hell. RTF? Join the
party. At least in theory. I want to use
savannah.gnu.org to try and drag
more people into actively developing - I just haven't had the time, and the
web has so thoroughly disgusted me for the last few years, I haven't had
the heart even when I had the time.
I know that T. V. Raman has expressed interest in packaging Emacspeak
as
an XEmacs package, but he is also concerned about the maintainership of
w3.
I desperately need help (in general, but on Emacs/W3 specifically :) -
there is just too much to do to get w3 back up to par. I can see
maintaining the URL library myself, as that is something much more useful
than w3 in its current state. But w3 needs more hands.
-bp
--
Ceterum censeo vi esse delendam.