Fork 0

Initial commit of the HEAD branch of the ELinks CVS repository, as of

Thu Sep 15 15:57:07 CEST 2005. The previous history can be added to this
by grafting.
Petr Baudis 2005-09-15 15:58:31 +02:00 committed by Petr Baudis
commit 0f6d4310ad
961 changed files with 394417 additions and 0 deletions

ABOUT-NLS Normal file
View File

@ -0,0 +1,319 @@
Notes on the Free Translation Project
Free software is going international! The Free Translation Project
is a way to get maintainers of free software, translators, and users all
together, so that will gradually become able to speak many languages.
A few packages already provide translations for their messages.
If you found this `ABOUT-NLS' file inside a distribution, you may
assume that the distributed package does use GNU `gettext' internally,
itself available at your nearest GNU archive site. But you do _not_
need to install GNU `gettext' prior to configuring, installing or using
this package with messages translated.
Installers will find here some useful hints. These notes also
explain how users should proceed for getting the programs to use the
available translations. They tell how people wanting to contribute and
work at translations should contact the appropriate team.
When reporting bugs in the `intl/' directory or bugs which may be
related to internationalization, you should tell about the version of
`gettext' which is used. The information can be found in the
`intl/VERSION' file, in internationalized packages.
Quick configuration advice
If you want to exploit the full power of internationalization, you
should configure it using
./configure --with-included-gettext
to force usage of internationalizing routines provided within this
package, despite the existence of internationalizing capabilities in the
operating system where this package is being installed. So far, only
the `gettext' implementation in the GNU C library version 2 provides as
many features (such as locale alias, message inheritance, automatic
charset conversion or plural form handling) as the implementation here.
It is also not possible to offer this additional functionality on top
of a `catgets' implementation. Future versions of GNU `gettext' will
very likely convey even more functionality. So it might be a good idea
to change to GNU `gettext' as soon as possible.
So you need _not_ provide this option if you are using GNU libc 2 or
you have installed a recent copy of the GNU gettext package with the
included `libintl'.
Some packages are "localizable" when properly installed; the
programs they contain can be made to speak your own native language.
Most such packages use GNU `gettext'. Other packages have their own
ways to internationalization, predating GNU `gettext'.
By default, this package will be installed to allow translation of
messages. It will automatically detect whether the system already
provides the GNU `gettext' functions. If not, the GNU `gettext' own
library will be used. This library is wholly contained within this
package, usually in the `intl/' subdirectory, so prior installation of
the GNU `gettext' package is _not_ required. Installers may use
special options at configuration time for changing the default
behaviour. The commands:
./configure --with-included-gettext
./configure --disable-nls
will respectively bypass any pre-existing `gettext' to use the
internationalizing routines provided within this package, or else,
_totally_ disable translation of messages.
When you already have GNU `gettext' installed on your system and run
configure without an option for your new package, `configure' will
probably detect the previously built and installed `libintl.a' file and
will decide to use this. This might be not what is desirable. You
should use the more recent version of the GNU `gettext' library. I.e.
if the file `intl/VERSION' shows that the library which comes with this
package is more recent, you should use
./configure --with-included-gettext
to prevent auto-detection.
The configuration process will not test for the `catgets' function
and therefore it will not be used. The reason is that even an
emulation of `gettext' on top of `catgets' could not provide all the
extensions of the GNU `gettext' library.
Internationalized packages have usually many `po/LL.po' files, where
LL gives an ISO 639 two-letter code identifying the language. Unless
translations have been forbidden at `configure' time by using the
`--disable-nls' switch, all available translations are installed
together with the package. However, the environment variable `LINGUAS'
may be set, prior to configuration, to limit the installed set.
`LINGUAS' should then contain a space separated list of two-letter
codes, stating which languages are allowed.
Using This Package
As a user, if your language has been installed for this package, you
only have to set the `LANG' environment variable to the appropriate
`LL_CC' combination. Here `LL' is an ISO 639 two-letter language code,
and `CC' is an ISO 3166 two-letter country code. For example, let's
suppose that you speak German and live in Germany. At the shell
prompt, merely execute `setenv LANG de_DE' (in `csh'),
`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
This can be done from your `.login' or `.profile' file, once and for
You might think that the country code specification is redundant.
But in fact, some languages have dialects in different countries. For
example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The
country code serves to distinguish the dialects.
Not all programs have translations for all languages. By default, an
English message is shown in place of a nonexistent translation. If you
understand other languages, you can set up a priority list of languages.
This is done through a different environment variable, called
`LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG'
for the purpose of message handling, but you still need to have `LANG'
set to the primary language; this is required by other parts of the
system libraries. For example, some Swedish users who would rather
read translations in German than English for when Swedish is not
available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
In the `LANGUAGE' environment variable, but not in the `LANG'
environment variable, `LL_CC' combinations can be abbreviated as `LL'
to denote the language's main dialect. For example, `de' is equivalent
to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
(Portuguese as spoken in Portugal) in this context.
Translating Teams
For the Free Translation Project to be a success, we need interested
people who like their own language and write it well, and who are also
able to synergize with other translators speaking the same language.
Each translation team has its own mailing list. The up-to-date list of
teams can be found at the Free Translation Project's homepage,
`http://www.iro.umontreal.ca/contrib/po/HTML/', in the "National teams"
If you'd like to volunteer to _work_ at translating messages, you
should become a member of the translating team for your own language.
The subscribing address is _not_ the same as the list itself, it has
`-request' appended. For example, speakers of Swedish can send a
message to `sv-request@li.org', having this message body:
Keep in mind that team members are expected to participate
_actively_ in translations, or at solving translational difficulties,
rather than merely lurking around. If your team does not exist yet and
you want to start one, or if you are unsure about what to do or how to
get started, please write to `translation@iro.umontreal.ca' to reach the
coordinator for all translator teams.
The English team is special. It works at improving and uniformizing
the terminology in use. Proven linguistic skill are praised more than
programming skill, here.
Available Packages
Languages are not equally supported in all packages. The following
matrix shows the current state of internationalization, as of July
2001. The matrix shows, in regard of each package, for which languages
PO files have been submitted to translation coordination, with a
translation percentage of at least 50%.
Ready PO files bg cs da de el en eo es et fi fr gl he hr id it
a2ps | [] [] |
bash | [] [] [] [] |
bfd | |
binutils | |
bison | [] [] [] [] |
clisp | [] [] [] [] |
cpio | [] [] [] [] [] |
diffutils | [] [] [] [] [] [] [] |
enscript | [] [] |
error | [] [] |
fetchmail | |
fileutils | [] [] [] [] [] [] [] |
findutils | [] [] [] [] [] [] [] [] |
flex | [] [] [] |
freetype | |
gas | |
gawk | [] |
gcal | |
gcc | |
gettext | [] [] [] [] [] [] [] [] [] |
gnupg | [] [] [] [] [] [] |
gprof | |
grep | [] [] [] [] [] [] [] |
hello | [] [] [] [] [] [] [] [] [] [] |
id-utils | [] [] [] |
indent | [] [] [] [] [] |
jpilot | [] |
kbd | |
ld | |
libc | [] [] [] [] [] [] [] [] |
lilypond | |
lynx | [] [] [] |
m4 | [] [] [] [] [] [] [] |
make | [] [] [] [] [] |
nano | [] [] |
opcodes | |
parted | [] [] |
ptx | [] [] [] [] [] [] [] |
python | |
recode | [] [] [] [] [] [] [] [] [] |
sed | [] [] [] [] [] [] [] [] [] [] |
sh-utils | [] [] [] [] [] [] [] [] [] |
sharutils | [] [] [] [] [] [] [] |
soundtracker | [] |
sp | |
tar | [] [] [] [] [] [] [] [] |
texinfo | [] [] [] [] [] |
textutils | [] [] [] [] [] [] [] |
util-linux | [] [] |
wdiff | [] [] |
wget | [] [] [] [] [] [] [] [] [] |
bg cs da de el en eo es et fi fr gl he hr id it
0 13 23 30 11 1 8 21 13 1 29 22 3 0 8 10
ja ko lv nl no pl pt pt_BR ru sk sl sv tr uk zh
a2ps | [] [] [] | 5
bash | | 4
bfd | | 0
binutils | | 0
bison | [] [] [] | 7
clisp | [] | 5
cpio | [] [] [] [] [] | 10
diffutils | [] [] [] | 10
enscript | [] [] [] | 5
error | [] | 3
fetchmail | | 0
fileutils | [] [] [] [] [] [] [] [] [] [] | 17
findutils | [] [] [] [] [] [] [] [] | 16
flex | [] [] [] | 6
freetype | | 0
gas | | 0
gawk | [] | 2
gcal | | 0
gcc | | 0
gettext | [] [] [] [] [] [] [] [] [] | 18
gnupg | [] [] [] [] | 10
gprof | | 0
grep | [] [] [] | 10
hello | [] [] [] [] [] [] [] [] [] [] [] | 21
id-utils | [] [] [] | 6
indent | [] [] [] [] [] [] [] | 12
jpilot | | 1
kbd | [] | 1
ld | | 0
libc | [] [] [] [] [] [] [] [] [] | 17
lilypond | [] [] | 2
lynx | [] [] [] [] [] | 8
m4 | [] [] [] [] [] | 12
make | [] [] [] [] [] [] [] | 12
nano | [] | 3
opcodes | | 0
parted | [] [] [] | 5
ptx | [] [] [] [] [] [] [] | 14
python | | 0
recode | [] [] [] [] | 13
sed | [] [] [] [] [] [] [] [] | 18
sh-utils | [] [] [] [] [] [] [] [] [] [] [] | 20
sharutils | [] [] [] [] | 11
soundtracker | | 1
sp | | 0
tar | [] [] [] [] [] [] [] [] [] | 17
texinfo | [] [] | 7
textutils | [] [] [] [] [] [] [] [] | 15
util-linux | [] [] | 4
wdiff | [] [] [] | 5
wget | [] [] [] [] [] [] [] | 16
31 teams ja ko lv nl no pl pt pt_BR ru sk sl sv tr uk zh
51 domains 17 9 1 23 6 17 1 13 26 9 11 20 19 2 2 369
Some counters in the preceding matrix are higher than the number of
visible blocks let us expect. This is because a few extra PO files are
used for implementing regional variants of languages, or language
For a PO file in the matrix above to be effective, the package to
which it applies should also have been internationalized and
distributed as such by its maintainer. There might be an observable
lag between the mere existence a PO file and its wide availability in a
If July 2001 seems to be old, you may fetch a more recent copy of
this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date
matrix with full percentage details can be found at
Using `gettext' in new packages
If you are writing a freely available program and want to
internationalize it you are welcome to use GNU `gettext' in your
package. Of course the GNU General Public License applies to your
sources from then on if you include `gettext' directly in your
distribution but since you are writing free software anyway this is no
Once the sources are changed appropriately and the setup can handle
to use of `gettext' the only thing missing are the translations. The
Free Translation Project is also available for packages which are not
developed inside the GNU project. Therefore the information given above
applies also for every other Free Software Project. Contact
`translation@iro.umontreal.ca' to make the `.pot' files available to
the translation teams.

AUTHORS Normal file
View File

@ -0,0 +1,569 @@
Unicode2ascii replacement, entity name tables and Gopher code taken from lynx.
Initial mailcap and mime.types file handling inspired from Mutt.
FTP directory listing parsing based on GNU Wget code.
People who contributed to Links/ELinks, in alphabetical order (if you are
missing here or some of your contributions is, tell me):
Adam Borowski <kilobyte@mimuw.edu.pl>
Fixed xterm detection
Adam Golebiowski <adamg@pld-linux.org>
Polish translation updates
Hints for gettexted strings
Adam Harvey <matlhdam@iinet.net.au>
Fixed sometimes badly posted form
Alberto García <berto@gpul.org>
Galician translation
Aldy Hernandez <aldyh@cygnus.com>
MacOS address resolution fix
Alex Antropoff <alex@tirastel.md>
'charset' attribute of META element
Alexander Mai <st002279@hrzpub.tu-darmstadt.de>
OS/2 xterm support
Fix includes for AIX
Updated manpage
Alexander Zschach <mailinglisten@zschach.net>
Build fixes
Alexey Tourbin <at@turbinal.org>, <at@altlinux.org>
Proxy support fixes
Gettext plural.y fix
Alejandros Diamandidis <adia@egnatia.ee.auth.gr>
Greek codepages & translation
Ami Fischman <usenet@fischman.org>
Random fixes, misc minor improvements
Andre Valente <a.valente@netcabo.pt>
Download completion notify
Portuguese and Brazilian-Portuguese translation updates
Anton Voloshin <vav@isv.ru>
Proper encoding of form entries
Arkadiusz Sochala <jojoro@priv2.onet.pl>
Polish translation
Armon Red <armon@islandia.is>
Icelandic translation
Aurimas Mikalauskas <inner@dammit.lt>
Lithuanian translation
Baris Metin <baris@gelecek.com.tr>
Turkish translation
Basim Reza <basim@diku.dk>
BitTorrent support
beckers <beckers@st-oneline.de>
German translation
Ben Sittler <bsittler@iname.com>
utf8_io support
Benjamin Michotte <binny@baby-linux.net>
User-Agent browser ID string changing support
Bennett Todd <bet@rahul.net>
RPM elinks.spec updates
Support for HTTP TRACE request
Bunch <kisto@go2.pl>
HTML renderer hacking
Carles Sadurní Anguita <isard@ctv.es>
Catalan translation
Csaba Raduly <csaba.raduly@sophos.com>
Random fixes
Christian Biesinger <cbiesinger@gmx.at>
FTP authentication via user interface support
Christian Cornelssen <ccorn@cs.tu-berlin.de>
Lua5 support
Christian Häggström <c00chm@cs.umu.se>
Fixes in parse_http_date()
Cliff Cunnington <cliff@ccnet.xs4all.nl>
Links' website at http://links.sf.net/
User's manual at http://links.sf.net/docs/manual-0.82-en/
Minor fixes/improvements
Cristiano Guadagnino <cris@geppo.cmb2000.it>, <criguada@libero.it>
Updated italian translation
OS/2 compilation fixes
Cyril Slobin <slobin@ice.ru>
Russian translation updates
Dakshinamurthy Karra <kd@blr.vsnl.net.in>
Win NT port
Saving goto history
Daniel Macks <dmacks@netscape.org>
Minor compilation/weirdness fixes
RPM elinks.spec updates
David A. Capello <dacap@users.sourceforge.net>
Made Document info message box scrollable
David D. Kilzer <ddkilzer@lubricants-oil.com>
Part of -no-home support
Support for -eval option
David Mediavilla Ezquibela <r96x6a79yki40001@sneakemail.com>
Spanish translation
Esperanto hacking
Example config file with all links-0.96 keybindings
David Weinehall <tao@acc.umu.se>
Display radiobuttons differently than checkboxes
Denis Lackovic <delacko@fly.srk.fer.hr>
Croatian translation
Dimitar Dimitrov <mitaka_ddd@yahoo.com>
Bulgarian translation updates
dinux <dinux@mail.bg>
Bulgarian translation updates
Dmitry M. Klimov <dmk@gtrk.kmtn.ru>
KOI8-R frames
Russian localization
Dmitry Pinchukov <dpinch@mail.ru>
Ukrainian translation
Referred as Dmitry in ChangeLog etc.
Doug Kearns <djkea2@mugca.its.monash.edu.au>
Fixes in linkskeys.5 and elinks.1
Fix Ruby detection
Edwin Groothuis <edwin@mavetju.org>
Dump-width option
Evan Hughes <hughes@lab43.org>
Fabio Bonelli <fabiobonelli@libero.it>
Accept-language support
Italian translation updates
XBEL bookmarks support
Random hacking
Fabio Junior Beneditto <betatest@catolico.com.br>
Brazilian Portuguese translation
Fabrice Haberer-Proust <fric@gmx.li>
French translation
Felix von Leitner <felix@convergence.de>
Set file date/time when downloading
Random fixes
Flemming Frandsen <ff@partyticket.net>
Random hacking
accesskey,tabindex support
Referred as 'ff' or 'FF' in the code
Frédéric L. W. Meunier <0@pervalidus.tk>
Minor documentation updates
Fuzzy European King <james@place.org>
Fixed lua stack overflow
Gisle Vanem <giva@bgnett.no>
Various portability fixes
Fix IDN support for HTTP
Grzegorz Adam Hankiewicz <gradha@terra.es>
Default lua hooks enhancements
Grzegorz Golawski <grzegol@pld.org.pl>
Polish translation updates
Gianluca Montecchi <gianluca@pluto.linux.it>
Italian translation
Harold L Hunt II <huntharo@msu.edu>
Build system minor fixes
Hugo Haas <hugo@larve.net>
Minor random hacking
debian/watch file
Ingo Blechschmidt <iblech@web.de>
German translation updates
Ionel Mugurel Ciobica <I.M.Ciobica@TUe.nl>
Romanian translation
Jacek Fedorynski <jfedor@jfedor.org>
Fixed segfault when posting large forms
Jakub Bogusz <qboosh@pld-linux.org>
Minor bugfixes
Polish translation updates
Jakub Horak <thement@hysteria.sk>
Show links list at the footer of the dump output
Jan Bobrowski <jb@mohan.krakow.pl>
Small optimization in file listing
Jan Sembera <fis@ji.cz>
HTTP-auth support fixes and rewrite
Some bits of HTTPS support
Jimenez Martinez Angel Luis <al026635@alumail.uji.es>
Spanish translation
Jonas Fonseca <fonseca@diku.dk>
Danish translation
Mailcap support
Major cleanups
BFU and document management hacking
Random hacking
Jon Shapcott <eden@xibalba.demon.co.uk>
Lua 5 retrofits
John <martian202002@yahoo.com>
Tab browsing initial patch
Johannes Zellner <johannes@zellner.org>
Minor misc hacking
José Luis González González <jlg80@mi.madritel.es>
MIME types documentation
Referred as 'Jose'
Josef 'Jupp' Schugt <jupp@gmx.de>
German translation updates
Julian Kinraid <jkinraid@clear.net.nz>
QNX-related fixes
Kalle Olavi Niemitalo <kon@iki.fi>
HTTP Accept-Charset header fix
Finnish translation update
Fixed unnecessary or possibly skipped calls to bind_textdomain_codeset()
Kaloian Doganov <kaloian@europe.com>
Bulgarian translation
Bulgarian translation update ;)
Karel Kulhavy <clock@atrey.karlin.mff.cuni.cz>
Czech translation
Fixed compile incompatibility
One of Links authors; a lot of misc. features & code
Karsten Schölzel <kuser@gmx.de>
Event system chief engineer
Scripting subsystem hacking
Regex searches
Random hacking
Karvinen Ilkka <ik@iki.fi>
Finnish translation
Kevin Keverets <keverets@users.sourceforge.net>
Show actual document's URL in xterm title bar
Kevin B. McCarty <kmccarty@princeton.edu>
Fixed hooks file loading for Lua version 5.0
Laurent Monin <zas@norz.org>
Updated French translation
Bookmarks hacking
Misc minor improvements
Big amount of bugfixes, tidyups and optimizations
Random hacking
HTTP Auth fixes
Secure file saving
Fastfind code
Memory debugging and memleaks detection
Referred as 'Zas' or 'zas' in the code
Lewis Collard <lewis@lewis.x3fusion.com>
Fixed mmap() usage on FreeBSD
Lilja Heiðarsdottir Fjeldsted <lilja@diku.dk>
BitTorrent support
Lukasz Dobrek <dobrek@student.ifpan.edu.pl>
$CONFIG_DIR for config directory (later changed to $ELINKS_CONFDIR)
Len Lattanzi <Len_Lattanzi@StanfordAlumni.org>
Allow reading of special (non-regular) files
M. K. Srikant <srix@vsnl.com>
Small fix in forms
Marco Bodrato <bodrato@linuz.sns.it>
Twinterm support
Mario Lorenz <ml@vdazone.org>
Security OpenSSL fix
Marius Gedminas <marius.gedminas@uosis.mif.vu.lt>
Fixed reversed HOME/END on RXVT
Martin Bays <elinks-dev@zugzwang.port5.com>
Redirect-to-mailto crash bugfix
Martin Kavalec <martin@penguin.cz>
Fixed redundant ':' in host header
Martin Norback <d95mback@dtek.chalmers.se>
Swedish translation
Matthew Mueller <donut@azstarnet.com>
Random hacking
Michael R. Elkins <me@cs.hmc.edu>
Original mailcap code from Mutt
Michail Litvak <mci@owl.openwall.com>
Patch configure.in to force error if OpenSSL not found
Michal Maruska <mmc@maruska.dyndns.org>
Show actual document's URL in xterm title bar
Michal Politowski <mpol@charybda.icm.edu.pl>
Fixed saving of old xterm title in some odd cases
(like multi-gnome-terminal)
Miciah Dashiel Butler Masters <miciah@myrealbox.com>
Document-specific colors usage switch possibility
Global history
Unambiguous autocompletion
ASCII "markup" support in the plaintext renderer
Magnificently elaborate fixes all over the map
Truly random hacking
The official native English speaker of our team
Mikael Magnusson <mikma@users.sourceforge.net>
Fixed crash for IPv6 FTP when EPSV was disabled
Mike Swieton <pyromage@pyromage.net>
Fixed bug: Form is not posted when jumping to field by number
Mikolaj Machowski <mikmach@wp.pl>
Polish translation updates
Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
Original Links author
Maintains and makes Links-0.9x official releases.
One of Links authors; a lot of misc. features & code
SMB support
Morten Bo Johansen <mojo@mbjnet.dk>
Danish translation
Muhamad Faizal <faizal@mfaizal.net>
Indonesian translation
Nalin Dahyabhai <nalin@redhat.com>
Fixed occasional destroying of read buffer on Alpha
Nuno Miguel Rodrigues <nmr@europa.net.dhis.org>
UnixWare console fix
Oleg Belousov <strijar@urai.ru>
"Ignore charset info sent by server" is saved in config file
Oleg Deribas <older@iname.com>
Window title and clipboard support in OS/2
Olexander Kunytsa <kunia@istc.kiev.ua>
Ukrainian translation update
Omar Khayam <omark@cyentec.com>
URL decode filename when saving
Fix stdin reading on Mac OS X
Peder Stray <peder@ifi.uio.no>
Fix handling of key presses turning up as key prefixes
Peter Gervai <grin@tolna.net>
Manpage updates
Mailcap to links.cfg convertor
Debian package files
Peter Naulls <peter@chocky.org>
RISC OS port
Peter Samek <samek@upc.uniba.sk>
Slovak translation updates
Peter Wang <tjaden@alphalink.com.au>
Rebindable keys
Lua scripting support
Guile scripting support
Original unhistory support
Support for changing color defaults
Petr Baudis <pasky@ucw.cz>
Original ELinks maintainer
Initial cleanups
Options system
DNS hacking
Initial CSS and ECMAScript support
Random hacking all over the map
Feature of the Day implementation
LEDs, exmode, marks and other worthless toys
Actually even some documentation!
http://elinks.or.cz/ (original cut)
Petr Cech <cech@atrey.karlin.mff.cuni.cz>
Allow spaces at the beginning of URL
Petr Kulhavy <brain@artax.karlin.mff.cuni.cz>
Czech translation
HTTP referer support
One of Links authors; a lot of misc. features & code
Pixel <pixel@mandrakesoft.com>
Compilation fixes
Radovan Stas <radoone@skmi.science.upjs.sk>
Slovak translation
Raúl Núñez de Arenas Coronado <raul@pleyades.net>
get_unique_name() fix.
Russ Rowan (Apu) <rrowan@dandy.net>
Patch that shorten the alt or title attribute of an image
Improved Perl hooks
Sebastian Zagrodzki <s.zagrodzki@sith.mimuw.edu.pl>
Shift-G opens dialog with pre-displayed current URL
Serge Winitzki <serge@mendax.phys.cwru.edu>
Updated Russian localization
Sergei Borushevsky <b_sp@usa.net>
HTTP auth (discarded later, to be redone)
Ctrl-W completion
Sergey E. Galanov <sgsoftware@mail.ru>
Lua-support for setting and getting Elinks options
Sergey Karpov <karpov@sai.msu.su>
First tab browsing patch for ELinks
Ideas !
Sergey Starosek <star@sunbay.com>
Optionally use credential file for the SMB protocol
Sergio R. Velasquez Zeballos <svelasqu@thor.uc.edu.ve>
Proxy auth (Basic)
Simen Graaten <simeng@slarkware.com>
Norwegian translation
Simon Wilkinson <simon@sxw.org.uk>
Support for X509 client certificates
Simos Xenitellis <simos@hellug.gr>
Greek codepages & translation
Solar Designer <solar@openwall.com>
Number of security fixes
Stefan de Groot <stefan@nllinux.nl>
Dutch translation
Stepan Roh <stepan@srnet.cz>
HTTP Date (Set-Cookie expires attribute) proper parsing bugfixes
Random hacking
Stephane Chazelas <stephane.chazelas@free.fr>
Cookies fixes
HTTP Date parsing rewrite
Random hacking
Referred as 'sc' or 'SC' in the code
Suzanne Britton <trillinks@ironphoenix.org>
Support for default URI rewrite template
Suveg Gabor <gsuveg@sgmobil2000.hu>
Hungarian translation
Sven Wegener <swegener@gentoo.org>
Fix stdio checks for remote sessions
Taniel Kirikal <taniel@colleduc.ee>
Estonian translation
Timo Lindfors <timo.lindfors@iki.fi>
HTTPS proxy support
Tom Lear <tom@trap.mtview.ca.us>
Transparency support
Uwe Hermann <uh1763@bingo-ev.de>
Command line switch -version
Open link in new xterm
Unai Uribarri <unai@telecable.es>
Varga Balázs <vinnui@ent.hu>
Hungarian translation updates
Wiktor Grebla <greblus@poczta.onet.pl>
Keybinding for toggling of document.browse.links.numbering
William Yodlowsky <wyodlows@andromeda.rutgers.edu>
OpenSSL fixes
Witold Filipczyk <witekfl@poczta.onet.pl>
HTTP code hacking
Original decompression (zlib/bzlib) support
FTP PASV support
Downloads resuming support
Local CGI support
Polish translation updates
Random hacking
Wojtek Bojdo/l <wojboj@lp.net.pl>
Updated Polish localization
Yevgeny Gromov <yevgeny@tut.by>
Belarusian translation
Yurii Rashkovskii <yrashk@univer.kharkov.ua>
Updated Russian localization
RPM spec file in contrib/
RedHat compilation fixes
$Id: AUTHORS,v 1.198 2005/08/10 15:38:28 jonas Exp $

BUGS Normal file
View File

@ -0,0 +1,4 @@
All the known bugs are now kept in the Bugzilla, available at
$Id: BUGS,v 1.61 2003/05/10 23:03:12 pasky Exp $

COPYING Normal file
View File

@ -0,0 +1,346 @@
Note that the only valid version of the GPL as far as ELinks is
concerned is _this_ particular version of the license (ie v2, not v2.2
or v3.x or whatever), unless explicitly otherwise stated.
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

INSTALL Normal file
View File

@ -0,0 +1,178 @@
Elinks installation guidelines
Quick guide for the impatient:
./configure && make && make install
Check out the bottom of this file if you're upgrading from Links or an older
ELinks! And be sure to look at doc/ecmascript.txt if you want ECMAScript
(that's JavaScript) support.
In order to check out the latest tree from CVS:
$ export CVSROOT=check_file_SITES_for_value_of_this
$ cvs login
(empty password)
$ cvs -z3 co elinks
$ cd elinks
To update your existing tree to the latest CVS version, do:
$ cvs -z3 update -dP
If you downloaded a nightly snapshot, it already contains CVS/ directories
etc. Thus, you should be able to update your tree with the above command as if
you had previously done a full cvs checkout.
Note that if you obtained the sources directly from CVS, you NEED to run
./autogen.sh! (It should be enough to do it once, automake should be smart
enough to rerun itself when needed - however, if you have build problems, try
running this first.) Also, you obviously need automake and autoconf installed
on your system (note that autoconf-2.13 a automake-1.4p5 are supported, newer
ones may cause problems thanks to the auto* developers who don't know how to
maintain backwards compatibility). Otherwise, you have to use the nightly CVS
snapshot - you don't need to do this there.
If you want to compile elinks, first check the directory named contrib/, it
may contain patches that are of use to you. If you're interested in any of
them, try to apply them by doing (for each one):
$ patch -p0 < contrib/that-patch
They may not apply - I don't update patches in contrib/ regularly - if you
want, feel free to go ahead and update the patch for the current tree and send
me the newer version.
Usually, even after strip, the ELinks binary can grow a lot these days; I plan
on spawning various external files optionally, containing boring stuff like
various translations etc; later, even DSO modules may come, etc. But even
nowadays, you can reduce the resulting binary size by throwing out stuff you
don't like. First, if you want better performance and a smaller binary, don't
compile it with debug. It won't hurt if you do, though, and ELinks will tell
you about any memory leaks, incorrect memory manipulation etc, which may be
helpful to us if you report it. Next, disable any optional features you are not
going to use, they can make the resulting binary smaller (although it'll probably
have no non-marginal performance impact) - especially go through the
features.conf file in the project root directory. Also, you may try to override
the build system to build a dynamically linked binary, which can be a lot
smaller as well. Lastly, you can go to the Unicode/ and intl/ directories, then
edit index.txt and remove any codepages or translations you don't like;
especially for translations, it can significantly reduce the resulting binary
size as well.
!BEWARE! If you _distribute_ a binary of ELinks with OpenSSL linked to it,
and the OpenSSL library is not part of your base system, you are VIOLATING THE
GPL (although I believe that for this absurd case no ELinks copyright holder
will sue you, and it's not a problem for the OpenSSL people as well, as they
have explicitly told me). So, people who are making ELinks binaries for systems
with no OpenSSL in the base system and who decided to link OpenSSL against the
ELinks binary may wish NOT to publish or distribute such a binary, as it's
breaking GPL 2(b), if they like to have everything legally perfect (like Debian
people ;). As a semi-solution to this for those people, GNUTLS support was
introduced; if you want to distribute ELinks binaries with HTTPS support,
compile ELinks with the --with-gnutls configure option (assuming that you have
GNUTLS 0.5.0 or later [tested with 0.5.4] installed). However, as GNUTLS is not
yet 100% stable and its support in ELinks is not so well tested yet, it's
recommended for users to give a strong preference to OpenSSL whenever possible.
Good luck!
The basic compilation looks like:
Unix - just doing:
$ ./configure
$ make
should be enough. However, in some FreeBSD 3 distributions you have to
set CFLAGS=-aout before running ./configure. Also, you may want to
adjust some compile-time options through ./configure - do
./configure --help and it'll print out a list of them. You can more
finely control what's going to be included in the binary in the
features.conf file, and some really detailed tuning can be performed in
the src/setup.h.
Also, a nice idea is to compile ELinks outside of the source tree.
Make another directory and run path_to_source_tree/configure from it.
Typically, it looks like:
$ mkdir ../elinks-build
$ cd ../elinks-build
$ ../elinks/configure
$ make
OS/2 - you can use ./configure.
The only supported compiler is EMX, you probably won't be able to
compile it with anything else.
Configure under OS/2 needs to know paths to gcc, make and bash.
Set (for example):
SET MACHTYPE=i586-pc-os2
SET CONFIG_SHELL=d:/prg/gnu/bin/bash.exe
SET CC=d:/prg/emx/bin/gcc.exe
SET MAKE=d:/prg/emx/bin/make.exe
Dos, Windows - port it by yourself.
Ok, now let's install it:
Unix - # make install
OS/2 -
Copy file links.exe somewhere to your path or create CMD file that runs
WARNING: EMX has a nasty limit on open files. Links will work badly or
won't work with the default settings. Set the variable EMXOPT=-h100
before you run links.
Now, check the contrib/ directory again. There may be some useful config
file examples there, along with a few support tools and some Lua scripts - you
probably want them ;) so just copy the hooks.lua to ~/.elinks, and edit the
configuration part - it adds various functionality to ELinks, like
decompression of gzipped files or user-defined protocols.
If you're upgrading from Links or older ELinks (0.4pre7 or older), you will
notice that several things have changed. First, the binary name is elinks, not
links, now; however, the basic usage is almost the same and it still looks like
the old (E)Links, so you probably want to make a links symlink pointing to
Then, note that configuration files were moved from /etc to /etc/elinks and
from ~/.links to ~/.elinks, because the name and format of parts of them were
links.cfg became elinks.conf and you need to convert it with
contrib/conv/conf-links2elinks.pl; html.cfg was merged into elinks.conf
bookmarks are still bookmarks, but you need to convert it with
links.his became gotohist and the format is the same.
history became globhist and the format is the same.
cookies are still cookies, but you need to convert it with tr " " "\t"
$Id: INSTALL,v 1.29 2004/09/22 16:17:23 pasky Exp $
vim: textwidth=80

Makefile.am Normal file
View File

@ -0,0 +1,25 @@
## Process this file with automake to produce Makefile.in
## $Id: Makefile.am,v 1.49 2005/05/13 21:45:27 rrowan Exp $
SUBDIRS = Unicode config contrib debian doc intl po src test
Makefile.base \
autogen.sh \
@if grep 'Lua' features.log > /dev/null; then \
echo "**************************************************************"; \
echo "Lua 4 support in ELinks is obsolete. If you are upgrading"; \
echo "from ELinks <= 0.10.X, you must update $(CONFDIR)/hooks.lua."; \
echo "**************************************************************"; \
CLEANFILES = $(srcdir)/features.log
MAINTAINERCLEANFILES = $(srcdir)/acinclude.m4

Makefile.base Normal file
View File

@ -0,0 +1,16 @@
## Base file for Makefile.am files in the tree, contains common stuff.
## $Id: Makefile.base,v 1.7 2004/04/29 14:17:12 jonas Exp $
INCLUDES = -I$(top_builddir) -I$(top_srcdir)/src
# The author of automake should be shot, quartered and forced to code in COBOL
# for the rest of his days for the **** he designed - anything forcing me to
# -I. -I$(srcdir) regardless if I want or not is just idiotic. Another totally
# dumb thing is that you can't just use @CONFIG_INCLUDE_SPEC@ in your own .am.
# Rule for getting test dependencies right. This is a workaround since
# automake doesn't support defining subdirs sources.
make -C $(top_builddir)/src/util CPPFLAGS="-DDEBUG"

NEWS Normal file
View File

@ -0,0 +1,154 @@
See ChangeLog for recent changes, bugfixes and new features.
ELinks now:
* support for Lua 4.x was dropped, we only support Lua 5.x now.
* Python scripting back-end (experimental)
* 88 colors support
* external editor is configurable at run-time
* Default URI-rewrite rule, used when no other rules match but the string
that was entered in the Go to URL box does not resemble a URI
* Support prefixes for add-bookmark-link, document-info, goto-url-current-link,
history-move-back, and history-move-forward
* BitTorrent protocol (experimental)
* FSP protocol via a CGI script (see contrib/cgi/README.FSP) (experimental)
* sysmouse support on the BSD console
ELinks 0.10.4:
* explicit keyboard accelerators were defined for buttons in dialogue boxes
and are now highlighted.
ELinks 0.10.2:
* Ruby scripting back-end (experimental)
* Debian package files (apt-get install devscripts && debuild -uc -us)
ELinks 0.10.0 (Thelma):
* simple CSS
* simple JavaScript/ECMAScript support by the SpiderMonkey Mozilla JS engine
* plain-text mark-up (_^Hx to underline, x^Hx to embolden)
* HTML source high-lighting using DOM implementation
* multiple URIs on the command line
* tabs moving (press Alt-'>' or Alt-'<')
* periodic snapshotting of all tabs in all terminals
* exmode CLI support (press ':' followed by action and args) (experimental)
* cursor routing (aka w3m-style navigation)
* modal text-input form-fields editing (enabled by default)
* manual cookies creating and editing
* incremental searching (press '#/')
* Perl scripting back-end (experimental)
* build-time configurability and feature documentation through features.conf
* Mozilla-compatible -remote option (http://www.mozilla.org/unix/remote.html)
* support for specifying IP family as protocol postfix (i.e. http4 or ftp6)
* internationalized domain names via libidn (RFC 3490)
* data URI protocol (RFC 2397)
* gopher protocol (RFC 1436)
* NNTP protocol (RFC 977 and 2980) (experimental)
* build system fine-tuned to use automake conditionals
* -localhost option to block connections to remote hosts
* -verbose option to control messages printed at startup
* -default-keys command line option to ignore user-defined keybindings
* -confdir option renamed to -config-dir
* -conffile option renamed to -config-file
* enhanced documentation
ELinks 0.9.2:
* directional links navigation
* 'unset' configuration directive, which can be used, e.g.,
to delete default MIME type settings or external protocol handlers.
ELinks 0.9.1:
* support <object> tags by displaying a link to the data
* add beginning-of-buffer and end-of-buffer actions for text fields
* automatic session saving/restoring support (disabled by default)
* add-bookmark-tabs (bookmark all tabs) option and menu item
* fold successive blank lines when displaying a plain-text document
(disabled by default; use the option document.plain.compress_empty_lines)
* 'fresh' color for any tab that has not been selected
since its document was loaded
ELinks 0.9.0 (Skyrider):
* used gettext for internationalization
* support for background document colors
* tabs support
* new MIME subsystem adding mimetypes files support
* local CGI support
* Guile scripting extensions
* HTML meta refresh
* forms history
* 256 colors support
* regex searches
* cookies manager, cache manager and download manager
* document marks support
* displaying URIs in plain documents as links
* SMB protocol support (requires smbclient)
* builtin user prefixes support (enter 'gg' or 'gg:elinks' to the goto dialog)
* HTTPS proxy support
* typeahead link searching (press '#')
ELinks 0.4.0 (Iceberg):
* merged HTTP_AUTH
* basic proxy auth support
* cookies parser rewritten
* support for tabindex,accesskey,title attribute
* FTP support dramatically improved (bugfixes, interoperability fixes, passive
mode support, ...)
* global history support (+vlink support)
* make some modules (cookies,bookmarks,globhist,..) optional at compile time
* secure saving support (see secure_save option desc. if you're doing weird
things with your links files like symlinking or nonstandart permissions!!!)
* support for utf8 i/o
* mouse wheel support
* portability enhancements
* performance enhancements
* file/http gzip/bzip2 decompression support
* downloads resuming support
* mailcap support
* hierarchic bookmarks support, XBEL bookmarks support
* source layout was dramatically reorganized
* relocated ELinks configuration files, changed format (if you are upgrading
from Links or older ELinks version, read INSTALL file to see how to convert
your old config files!!!)
* options are now in tree hierarchy and are configurable generically
* keybindings can be configured from the user interface
* colorful user interface
* tiny useless LED-like indicators support
* GNUTLS support parallel to the OpenSSL support (fixes some license issues)
* extensive memory debugging support
ELinks 0.3.0:
* unhistory
* external textarea editor
* DNS rewrite - we handle multi RR per host correctly
* IPv6 support
* rewritten options handling
* bookmarks filtering (aka bookmarks search)
* bookmarks resaving (save on the disk after every change)
* added possibility to change default colors settings
Links 0.96-pb3:
* secured cookies file creation
* support for title attribute of img tag
* Catalan translation
* Romanian translation
* changing of User-Agent string sent to webserver
* <listing> tag support
Links 0.96-pb2:
* cookies expiration, saving and resaving
* do NOT strip everything after ? in form action
* http referrer, true http referrer
* limited textarea external editor support
* partial fix of &#13;
* enhanced manual page
* fixed multi-level HTTP moved when using -dump/-source
* fixed keybindings

README Normal file
View File

@ -0,0 +1,61 @@
ELinks - an advanced web browser
ELinks is an advanced and well-established feature-rich text mode web
(HTTP/FTP/..) browser. ELinks can render both frames and tables, is highly
customizable and can be extended via scripts. It is very portable and runs
on a variety of platforms.
The ELinks official website is available at http://elinks.or.cz/.
Please see the SITES file for mirrors or other recommended sites.
If you want to install ELinks on your computer, see the
INSTALL file for further instructions.
A good start point is documentation files available in doc/, especially the
file named index.txt.
If you want to request features or report bugs, see community information at
http://elinks.or.cz/community.html and feedback information available at
If you want to write some patches, please first read the doc/hacking.txt
If you want to add a new language or update the translation for an existing
one, please read po/README document.
If you want to write some documentation, well you're welcomed ;)
Initially, ELinks was a development version of Links (Lynx-like text WWW browser),
with more liberal features policy and development style.
Its purpose was to provide an alternative to Links, and to test and tune various
new features, but still provide good rock-solid releases inside stable branches.
If you are more interested, you can examine the Links website at
Why not contribute to Links instead? Well, first I made a bunch of patches for
the original Links, but a significant number of them got refused because
Mikulas did not like them, as he just wouldn't have any use for them himself.
He wants to keep Links with a relatively closed feature set and merge only new
features which he himself needs. It has advantages that the tree is very narrow
and the code is small and contains very little bloat. ELinks, on the contrary,
aims to provide a full-featured web browser, superior to both lynx and w3m and
with the possibilities of Konqueror and similar browsers. However, to prevent
drastic bloating of the code, the development is driven in the course of
modularization and separation of add-on modules (like cookies, bookmarks, ssl,
lua etc).
For more about ELinks history, see http://elinks.or.cz/history.html
$Id: README,v 1.24 2005/01/11 15:51:02 jonas Exp $
vim: textwidth=80

SITES Normal file
View File

@ -0,0 +1,46 @@
Cygwin binaries:
CVS root:
:pserver:anoncvs@pasky.or.cz:/home/cvs/elinks (master, DEPRECATED)
Mailing list:
elinks-users@linuxfromscratch.org (user discussion, announcements)
elinks-dev@linuxfromscratch.org (weird development and sorcery talks)
listar@linuxfromscratch.org (Subject: subscribe elinks-users)
If you want to see the original Links as well, try:
Primary site:
$Id: SITES,v 1.21 2005/01/31 23:14:14 jonas Exp $

THANKS Normal file
View File

@ -0,0 +1,17 @@
Thanks to Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz> for the excellent
browser on which ELinks is based and for the long hours, gained experience and
occasional amusement when deciphering and cleaning its source.
Thanks also to Karel Kulhavy, Petr Kulhavy and Michal Pergel for giving
inspiration to new features, and longer hours and constant amusement when
deciphering code produced by them.
Thanks to HSTI (http://www.hsti.com/) for sponsoring ELinks development.
Thanks to Gerard Beekmans <gerard@linuxfromscratch.org> for providing us the
resources for our mailing lists at linuxfromscratch.org servers.
Thanks to Jan Sembera <jan.sembera@flexible.cz> for providing us the space and
bandwidth on his server for elinks.or.cz and cvs.elinks.or.cz.
Thanks to Zdenek Burda for donating the elinks.cz domain.

TODO Normal file
View File

@ -0,0 +1,25 @@
The ELinks TODO items are kept in Bugzilla (http://bugzilla.elinks.or.cz/),
look for the bugs with 'enhancement' severity. Some generic goals are still
kept here, though, to be more on the developers' eyes ;-).
What yet needs to take its way to Bugzilla:
Some rules for sane handling of texinfo documentation
Rewrite HTML parser (see ELusive, src/elusive/TODO)
Reorganization of user interface (nothing particular at all, just an
uncertain feel that it could be better and bear a look of some UI designer ;)
General goals:
Write some more documentation.. docs, a lot of docs! (see doc/book/TODO)
General code cleanup
Speed/memory optimizations
$Id: TODO,v 1.64 2003/06/08 12:33:40 jonas Exp $

Unicode/.cvsignore Normal file
View File

@ -0,0 +1,4 @@

Unicode/7bit.cp Normal file
View File

@ -0,0 +1,3 @@
7-bit ASCII
"us-ascii", "ascii", "7bit", "7-bit", "iso-ir-6", "ANSI_X3.4-1968", "ANSI_X3.4-1986", "646", "cp646", "ISO_646.irv:1991", "ISO646-US", "us", "IBM367", "cp367", "csASCII", "ISO646.1991-IRV"
# Dummy table for 7-bit terminals