1
0
mirror of https://github.com/rkd77/elinks.git synced 2024-12-04 14:46:47 -05:00
Commit Graph

195 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
34f8f6a58f Merge branch 'elinks-0.12' into master
Conflicts:
	NEWS (merged)
	configure.in (merged)
	doc/man/man1/elinks.1.in (regenerated)
	doc/man/man5/elinks.conf.5 (regenerated)
	doc/man/man5/elinkskeys.5 (regenerated)
	po/af.po (used elinks-0.12)
	po/be.po (used elinks-0.12)
	po/bg.po (used elinks-0.12)
	po/ca.po (used elinks-0.12)
	po/cs.po (used elinks-0.12)
	po/da.po (used elinks-0.12)
	po/de.po (used elinks-0.12)
	po/el.po (used elinks-0.12)
	po/es.po (used elinks-0.12)
	po/et.po (used elinks-0.12)
	po/fi.po (used elinks-0.12)
	po/fr.po (used master)
	po/gl.po (used elinks-0.12)
	po/hr.po (used elinks-0.12)
	po/hu.po (used elinks-0.12)
	po/id.po (used elinks-0.12)
	po/is.po (used elinks-0.12)
	po/it.po (used elinks-0.12)
	po/lt.po (used elinks-0.12)
	po/nb.po (used elinks-0.12)
	po/nl.po (used elinks-0.12)
	po/pl.po (used master)
	po/pt.po (used elinks-0.12)
	po/pt_BR.po (used elinks-0.12)
	po/ro.po (used elinks-0.12)
	po/ru.po (used elinks-0.12)
	po/sk.po (used elinks-0.12)
	po/sr.po (used elinks-0.12)
	po/sv.po (used elinks-0.12)
	po/tr.po (used elinks-0.12)
	po/uk.po (used elinks-0.12)
2009-03-29 18:26:20 +03:00
Kalle Olavi Niemitalo
a845050c3b ELinks 0.12pre3.GIT 2009-03-29 01:14:06 +02:00
Kalle Olavi Niemitalo
3801698ff1 ELinks 0.12pre3 2009-03-29 01:14:03 +02:00
Kalle Olavi Niemitalo
d7d18e4e43 bug 1047: inline functions C99 conformance
C99 6.7.4p3 and 6.7.4p6 set some constraints on what can be done in
inline functions and how they can be declared.  In particular, any
function declared inline must also be defined in the same translation
unit.  To comply with that, remove inline specifiers from function
declarations in header files when the functions are not also defined
in those header files.

Sun Studio 11 on Solaris 9 is stricter than C99 and does not allow
references to static identifiers in extern inline functions.  Make the
configure script detect this and define NONSTATIC_INLINE accordingly
in config.h.  Then use that in the definitions of all non-static
inline functions.

Document the restrictions and this scheme in doc/hacking.txt.
2009-03-28 20:15:08 +02:00
Kalle Olavi Niemitalo
58b5e3968f Restore original wording of Pasky's comment
The SEE_FLAGS configury may be derived from Guile but there are no
SEE_FLAGS in the Guile source tree.
2009-03-24 07:37:16 +02:00
Witold Filipczyk
9b9f5d9973 Fixed issue with EL_CONFIG_OPTIONAL_LIBRARY and features.conf
Settings of features.conf were ignored by the EL_CONFIG_OPTIONAL_LIBRARY.
(cherry picked from commit 3e8f774659)
2009-02-23 12:17:29 +01:00
Witold Filipczyk
3e8f774659 Fixed issue with EL_CONFIG_OPTIONAL_LIBRARY and features.conf
Settings of features.conf were ignored by the EL_CONFIG_OPTIONAL_LIBRARY.
2009-02-23 11:00:59 +01:00
Witold Filipczyk
0787b95634 - lzma disabled by default.
(cherry picked from commit 56b7d38a28)
2009-02-22 14:04:06 +01:00
Witold Filipczyk
56b7d38a28 - lzma disabled by default. 2009-02-22 13:58:55 +01:00
Witold Filipczyk
9054e57c55 Merge branch 'elinks-0.12'
Conflicts:
	src/document/dom/renderer.c
2009-02-12 10:01:57 +01:00
Kalle Olavi Niemitalo
7067fc7af9 Check for JS_ReportAllocationOverflow before using it.
Debian libmozjs-dev 1.9.0.4-2 has JS_ReportAllocationOverflow but
js-1.7.0 reportedly hasn't.  Check at configure time whether that
function is available.  If not, use JS_ReportOutOfMemory instead.

Reported by Witold Filipczyk.
2009-02-08 23:07:22 +02:00
Kalle Olavi Niemitalo
d2854dca8d Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:
	src/bookmarks/backend/default.c
	src/bookmarks/bookmarks.c
	src/session/session.c
	src/terminal/event.c
	src/viewer/text/search.c
2009-02-08 22:02:57 +02:00
Kalle Olavi Niemitalo
63a362ee53 Bug 1060: Try TRE_LIBS=-ltre if pkg-config tre fails.
This works around Debian bug 513055 in libtre-dev.
2009-02-08 18:26:22 +02:00
Witold Filipczyk
664048098a Bug 1060: #undef HAVE_TRE_REGEX_H only in elinks.h
I didn't read the code of the tre library, but I suppose that when sizes of
wchar_t and unicode_val_T are equal it will work fine.

[ From bug 1060 attachment 508.  --KON ]
2009-02-08 18:26:22 +02:00
Witold Filipczyk
c5a7f87c43 Bug 1060: Use libtre for regexp searches.
When the user tells ELinks to search for a regexp, ELinks 0.11.0
passes the regexp to regcomp() and the formatted document to
regexec(), both in the terminal charset.  This works OK for unibyte
ASCII-compatible charsets because the regexp metacharacters are all in
the ASCII range.  And ELinks 0.11.0 doesn't support multibyte or
ASCII-incompatible (e.g. EBCDIC) charsets in terminals, so it is no
big deal if regexp searches fail in such locales.

ELinks 0.12pre1 attempts to support UTF-8 as the terminal charset if
CONFIG_UTF8 is defined.  Then, struct search contains unicode_val_T c
rather than unsigned char c, and get_srch() and add_srch_chr()
together save UTF-32 values there if the terminal charset is UTF-8.
In plain-text searches, is_in_range_plain() compares those values
directly if the search is case sensitive, or folds them to lower case
if the search is case insensitive: with towlower() if the terminal
charset is UTF-8, or with tolower() otherwise.  In regexp searches
however, get_search_region_from_search_nodes() still truncates all
values to 8 bits in order to generate the string that
search_for_pattern() then passes to regexec().  In UTF-8 locales,
regexec() expects this string to be in UTF-8 and can't make sense of
the truncated characters.  There is also a possible conflict in
regcomp() if the locale is UTF-8 but the terminal charset is not, or
vice versa.

Rejected ways of fixing the charset mismatches:

* When the terminal charset is UTF-8, recode the formatted document
  from UTF-32 to UTF-8 for regexp searching.  This would work if the
  terminal and the locale both use UTF-8, or if both use unibyte
  ASCII-compatible charsets, but not if only one of them uses UTF-8.

* Convert both the regexp and the formatted document to the charset of
  the locale, as that is what regcomp() and regexec() expect.  ELinks
  would have to somehow keep track of which bytes in the converted
  string correspond to which characters in the document; not entirely
  trivial because convert_string() can replace a single unconvertible
  character with a string of ASCII characters.  If ELinks were
  eventually changed to use iconv() for unrecognized charsets, such
  tracking would become even harder.

* Temporarily switch to a locale that uses the charset of the
  terminal.  Unfortunately, it seems there is no portable way to
  construct a name for such a locale.  It is also possible that no
  suitable locale is available; especially on Windows, whose C library
  defines MB_LEN_MAX as 2 and thus cannot support UTF-8 locales.

Instead, this commit makes ELinks do the regexp matching with regwcomp
and regwexec from the TRE library.  This way, ELinks can losslessly
recode both the pattern and the document to Unicode and rely on the
regexp code in TRE decoding them properly, regardless of locale.

There are some possible problems though:

1. ELinks stores strings as UTF-32 in arrays of unicode_val_T, but TRE
   uses wchar_t instead.  If wchar_t is UTF-16, as it is on Microsoft
   Windows, then TRE will misdecode the strings.  It wouldn't be too
   hard to make ELinks convert to UTF-16 in this case, but (a) TRE
   doesn't currently support UTF-16 either, and it seems possible that
   wchar_t-independent UTF-32 interfaces will be added to TRE; and (b)
   there seems to be little interest on using ELinks on Windows anyway.

2. The Citrus Project apparently wanted BSD to use a locale-dependent
   wchar_t: e.g. UTF-32 in some locales and an ISO 2022 derivative in
   others.  Regexp searches in ELinks now do not support the latter.

[ Adapted to elinks-0.12 from bug 1060 attachment 506.
  Commit message by me.  --KON ]
2009-02-08 18:26:22 +02:00
Kamil Dudka
a00a413765 add support for nss_compat_ossl library (OpenSSL replacement)
* configure.in: New configure parameter --with-nss_compat_ossl.
 * socket.c: New configure option connection.ssl.client_cert.nickname.
 * ssl.h: Handle CONFIG_NSS_COMPAT_OSSL macro.
 * ssl.c: Add support for nss_compat_ossl.
 * TODO: Remove completed task.
 * NEWS: Mention the change.
2008-09-27 16:32:36 +03:00
Kalle Olavi Niemitalo
b40736cafe Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:

	NEWS (merged)
	configure.in (merged)
	doc/man/man1/elinks.1.in (regenerated)
	doc/man/man5/elinks.conf.5 (regenerated)
	doc/man/man5/elinkskeys.5 (regenerated)
	po/fr.po (kept 0.13.GIT version)
	po/pl.po (kept 0.13.GIT version)
2008-09-27 16:28:28 +03:00
Kamil Dudka
58ebb4447b fix mangled indentation in configure --help 2008-09-27 15:53:17 +03:00
Kalle Olavi Niemitalo
856a429038 ELinks 0.12pre2.GIT 2008-09-21 14:49:04 +03:00
Kalle Olavi Niemitalo
319e05d106 ELinks 0.12pre2 2008-09-21 11:45:22 +03:00
Kalle Olavi Niemitalo
80a5c6d466 Merge branch 'elinks-0.12' into elinks-0.13 2008-09-04 12:08:38 +03:00
Kalle Olavi Niemitalo
49f529a582 1044: Check for -rdynamic with libraries.
With Sun Studio 11 on Solaris 9, we get "cc: Warning: illegal option
-dynamic"; then, cc proceeds anyway, but the option can prevent the
linker from finding the libraries listed in -l operands.  To detect
this, move the -rdynamic check in configure.in down to a place where
the libraries have already been added to $LDFLAGS.  So if -rdynamic
interferes with the search for libraries, ELinks won't use it.

Merely moving the test would also change the location of -rdynamic in
$LDFLAGS.  Counteract that by making the test add -rdynamic to the
beginning of $LDFLAGS, rather than to the end.  This may make the test
more reliable on Solaris.
2008-09-04 02:41:46 +03:00
Kalle Olavi Niemitalo
64f0f6e7a8 Don't link with libgnutls-openssl, which is now GPLv3+.
ELinks used to call the MD5 code in libgnutls-openssl, part of
GNUTLS-EXTRA, which was licensed under GNU GPL version 2 or later.
In GnuTLS 2.2.0 however, the license of GNUTLS-EXTRA has been changed
to GNU GPL version 3 or later.  This is no longer compatible with
GNU GPL version 2 as used in the current ELinks, because GPLv2 clause
2. b) requires the whole work to be licensed under GPLv2, and GPLv3
does not allow that.

If anyone is still using a pre-2.2 GnuTLS, he or she can tweak
configure.in to check the version or just assume it's old enough.
There is not much reason to do so though, as including the MD5 code
in ELinks seems to cost only about 4 kilobytes on i686.
(cherry picked from commit 9ca0182ec6)
2008-08-17 21:43:20 +03:00
Kalle Olavi Niemitalo
a73fe73cd2 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:

	src/document/document.h
	src/encoding/encoding.c
	src/network/connection.c
	src/protocol/bittorrent/bittorrent.c
	src/protocol/bittorrent/bittorrent.h
	src/protocol/bittorrent/common.h
	src/protocol/bittorrent/connection.c
	src/protocol/bittorrent/dialogs.c
	src/protocol/bittorrent/tracker.c
	src/protocol/file/cgi.c
	src/protocol/http/http.c
2008-08-03 22:18:53 +03:00
Kalle Olavi Niemitalo
e019038c17 When checking for <net/if.h>, #include <sys/socket.h> first.
On Mac OS X 10.5.4, <net/if.h> does not #include <sys/socket.h> but
uses struct sockaddr defined there.  Autoconf 2.61 generates a
configure script that warns if the header can be preprocessed but not
compiled.  The Autoconf manual cautions that future versions of
Autoconf will treat the file as missing in this case.  To let ELinks
detect <net/if.h> even with a future Autoconf, make the test program
#include <sys/socket.h> before <net/if.h>.
2008-08-01 00:40:34 +03:00
Kalle Olavi Niemitalo
bbee237ff0 Merge branch 'elinks-0.12' into elinks-0.13 2008-07-20 14:47:40 +03:00
Kalle Olavi Niemitalo
f479d6e82a Explain in config.h.in what a hack _ALLOCA_H is 2008-07-15 22:53:26 +03:00
Witold Filipczyk
37ce1ca658 Here is a patch, which adds support for tcc's alloca. 2008-07-15 22:28:01 +03:00
Kalle Olavi Niemitalo
8493d6c021 ELinks 0.12pre1.GIT 2008-07-01 03:16:25 +03:00
Kalle Olavi Niemitalo
c0ef72117d ELinks 0.12pre1 2008-07-01 03:11:44 +03:00
Kalle Olavi Niemitalo
af1f475417 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:

	doc/man/man1/elinks.1.in
	doc/man/man5/elinks.conf.5

Resolved by regenerating the files with make update-man.
2008-06-08 20:47:36 +03:00
Kalle Olavi Niemitalo
2e1df1dc78 Bug 1012: Compile with -fno-strict-overflow or -fwrapv.
(cherry picked from commit b7312e6882)
2008-05-10 23:31:05 +03:00
Witold Filipczyk
4eefa983de bug 638: Save, set and restore the DISPLAY environment variable.
Thanks to this trick the appropriate handler is executed,
even in a mixed (X11, framebuffer) environment.
2008-03-22 13:08:39 +02:00
Kalle Olavi Niemitalo
af9ed54c0f Merge branch 'elinks-0.12' into elinks-0.13 2008-03-01 17:28:37 +02:00
Jonas Fonseca
705acfa05a Use git tools instead of cogito for getting the build ID
The build ID now includes both last tagged version, commit generation
since last tagged version, as well as the leading characters of the
commit ID and a flag for dirty working tree.
(cherry picked from commit c2a0d3b969)
2008-03-01 13:55:16 +02:00
Kalle Olavi Niemitalo
3c861fd530 Merge branch 'elinks-0.12' into elinks-0.13
Conflicts:

	configure.in
	src/protocol/http/http.c
2008-02-24 22:49:47 +02:00
Witold Filipczyk
8492e6b1af lzma: used the lzma library from tukaani.org. 2008-02-24 20:45:32 +02:00
Kalle Olavi Niemitalo
ac03086754 configure.in: Explain why to check for gzclearerr. 2008-02-17 21:54:19 +02:00
Kalle Olavi Niemitalo
4672bad9c7 configure.in: Change most "dnl" comments to "#".
Autoconf and m4 copy the "#" comments from configure.in to configure.
This should make it easier to find the part of configure that was
expanded from a specific check in configure.in.
2008-02-17 21:42:48 +02:00
Kalle Olavi Niemitalo
172771bcfc configure.in: Remove obsolete comment. 2008-02-17 21:42:40 +02:00
Kalle Olavi Niemitalo
df07b7839c configure: Don't try to link with Lua 5.1.
ELinks does not yet work with Lua 5.1 (see bug 742),
so the configure script should not suggest that it does.
When bug 742 is eventually fixed, ELinks should probably
prefer Lua 5.1 over 5.0, as the newer version seems likely
to be kept installed longer.
(cherry picked from commit dc747a6ec3)
2008-02-09 14:11:14 +02:00
Kalle Olavi Niemitalo
cb1454918a Bug 54: Don't force 8-bit characters and no parity.
Actually, don't use the cfmakeraw function at all,
and don't look for it during configure either.

(cherry picked from commit 87f1661314
 but moved the NEWS entry into the 0.12 section)
2008-02-04 23:19:40 +02:00
Kalle Olavi Niemitalo
f19c948ca7 Bug 824: Disable combining characters unless --enable-combining.
Label this as an experimental feature because it has so many bugs
and it is not clear how they can be fixed.
2008-01-19 20:58:22 +02:00
Witold Filipczyk
5a267a719b Check if wcwidth exists. 2008-01-19 20:49:36 +02:00
Kalle Olavi Niemitalo
87f1661314 Bug 54: Don't force 8-bit characters and no parity.
Actually, don't use the cfmakeraw function at all,
and don't look for it during configure either.
2008-01-13 19:26:00 +02:00
Kalle Olavi Niemitalo
9fff802c08 Merge branch 'elinks-0.12' into elinks-0.13 2007-12-16 10:12:08 +02:00
Kalle Olavi Niemitalo
61341d9237 Bug 822: Show --disable-utf-8 in configure --help.
Because features.conf now contains CONFIG_UTF8=yes,
configure --enable-utf-8 is not useful, and it is better
to document configure --disable-utf-8.
Reported by witekfl.
2007-12-16 01:06:48 +02:00
Miciah Dashiel Butler Masters
13523248ed Merge commit 'origin/elinks-0.12'
Conflicts:

	po/fr.po
	src/document/dom/renderer.c
	src/document/html/parser.c
	src/document/options.c
	src/document/refresh.c
2007-10-09 14:05:03 +00:00
Kalle Olavi Niemitalo
5d7e26fc90 GCC 4.2.1 needs -Wno-address, not -Wno-always-true. 2007-09-24 10:29:20 +03:00
Miciah Dashiel Butler Masters
3975d28bce Merge commit 'origin/elinks-0.12'
Conflicts:

	doc/Doxyfile.in
	src/protocol/bittorrent/common.h
2007-08-28 14:47:39 +00:00