[elinks-users] [ANNOUNCE] ELinks-0.10pre0

Jonas Fonseca fonseca at diku.dk
Sat Sep 11 19:48:32 MDT 2004


Hello again,

It is sync time and I hope you are up for a long post. A post that will
try and bring people up to date with the current state of the unstable
ELinks. I want to give an overview of what went in and what to expect.

Over the last half year a lot of things have been going on in the
repository. The release contains almost 4000 patches. To give you an
idea of how much it is the complete changelog of the stable release
dating back to the initial import of the Mikulas' Links Web browser has
7792 entries.

As was the case last year this more relaxed development style made it
possible to work on bigger changes in the code without worrying too much
that it would stall the release cycle. On the other hand it is far to
many patches without the version number being bumped and makes it very
hard to keep track of development and thus stabilize the code.

Which leads me to stressing that this release is far from stable and if
it should crash or annoy you please don't hesitate to report it. As
always your feedback is very valuable. Also please if you have the time
share your ideas about what features you would never dream of using so
we can maybe make them build-time configurable. Last I would love to
hear about significant changes in memory usage from people who upgrade.

The most important things that made it in listed almost directly from
the NEWS file:

 * build-time configurability and feature documentation through
   features.conf

   The features.conf file is the result of the feature.h file added
   around 0.9.1 but much simpler since it is just a sh script file
   sourced from ./configure. The file holds the defaults of all feature
   configuration options which can then later be overrided by
   --enable-feature or --disable-feature args to ./configure so that
   ./configure again takes care of all dependencies.

   As a little bonus the buildsystem now generates a features.log file
   summarizing your current configuration in an easy to read form.

 * build system fine-tuned to use automake conditionals

   The use of automake conditionals should hopefully optimize your build
   so that only directories with code you need is entered and only files
   with code you need is compiled.

 * simple CSS support

   This work was started by pasky and later grew to become what looks
   like a solid base for future CSS work. It is simple because only text
   properties such as fore- and background color, underlining / bold and
   alignment is supported. Also only selectors of ``clean'' elements is
   supported. No #id or .classes.

   Configurable at build-time.

 * support plain-text mark-up (_^Hx to underline, x^Hx to embolden)

   This is Miciahs work. Very practical for the Mutt user manual. If you
   don't know what I am talking about then try to look at the beatiful
   rendering if you do `man elinks | elinks`.

 * multiple URIs on the command line

   Witekfl did the initial work on this handy feature. The first URI is
   opened in the current tab and the rest in backgrounded tabs.

 * tabs moving (press Alt-'>' or Alt-'<')

   Keep your tabs ordered. Note Alt keypresses are badly handled in
   xterms it seems so the default keybinding might not work for you.

 * exmode CLI support (press ':' followed by action and args) (experimental)

   This is still far from complete. Pasky threw this in my face and I
   tried to poke around the code a bit. There are no completions but it
   is quite handy if you forget a keybinding (but knows the name of the
   action).

   Configurable at build-time.

 * cursor routing (aka w3m-style navigation)

   Move the cursor around the document. When it is over a link the link
   is highlighted. Moving the cursor out of the document view will
   scroll the document in that direction. Inspired by witekfl's probe
   patch and Miciah and I made it usable.

 * modal text-input form-fields editing (disabled by default) 

   This is a gross usability improvement. Makes it possible to avoid
   form items to automatically take the focus when scrolling or moving
   between links. To edit a text-input form-field you need to first
   enter it with a keypress.

 * typeahead text searching (press '#/')

   This is search-as-you-type variant of document searching. Works much
   the same way as link text typeahead. You can tab between matches.

 * Mozilla-compatible -remote option (http://www.mozilla.org/unix/remote.html)

   A native and more standard way of doing part of what the
   elinks-remote lua hack did. We have already added one extension: the
   possibility to add bookmarks. If you have ideas for other extensions
   feel free to speak up.

   This can be coupled with the multiple URIs feature to open multiple
   URIs in new windows. More info about which commands are supported in
   the --long-help.

 * support for internationalized domain names via libidn (RFC 3490)

   A lot of the cleanups in this release was to the URI ``layer'' which
   among other things made it fairly easy to support internationalized
   domain names. Proxy support for this thing is still not working.

   Requires GNU libidn is installed.

 * support for the data URI scheme (RFC 2397)

   Mostly used for inlining small documents.

   Configurable at build-time.

 * gopher protocol support (RFC 1436)

   Interestingly this started as a port of the Lynx gopher code so you
   will still find old comments but ended up being more like a rewrite.
   Support for CSO phone book URIs / server connections has not been
   ported.

   Configurable at build-time.

 * NNTP protocol support (RFC 977 and 2980) (experimental)

   This was my late night hacking project for several weeks. It can
   fetch a message by id or given article number from a group. There is
   also limited support for browsing groups and articles on the news
   server but still a lot of work is needed for making it really useful.

   Configurable at build-time.

 * manual cookies creating and editing support

   A sinister feature.

 * PERL scripting back-end (experimental)

   Another and even more sinister feature. ;-)

 * -localhost option to block connections to remote hosts

   Restrict viewing of saved HTML documents from retrieving linked
   CSS documents or nested frames.

 * -verbose option to control messages printed at startup

   Ever tried to open elinks and it takes forever because it prints each
   error message so slowly. This is your way to make all that disappear.

   Hopefully this will at some point also make it possible to trace the
   initialization of the various modules at startup.

 * -default-keys command line option to ignore user-defined keybindings

   Mostly useful for debugging purposes.

 * -confdir option renamed to -config-dir

 * -conffile option renamed to -config-file

Please see ChangeLog for full list of changes and credits (together with
AUTHORS).

I've tried to summarize a few things to expect:

 * The document at http://pasky.or.cz/~pasky/dev/elinks/roadmap-1.0 is
   still very much in effect. I'd like to get most of the entries into
   bugzilla and take it from there. One of most interesting things
   would be to support more CSS selectors.

 * Miciah has some great ideas for improving the mouse button handling
   to make it more standardized. It was committed while I wrote this
   announcement.

 * In case I get bored with fixing bugs I hope to pick up the DocBook
   documentation subproject I started a long time ago.

It is getting late so enjoy the release.

-- 
Jonas Fonseca



More information about the elinks-users mailing list