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

1688 Commits

Author SHA1 Message Date
Kalle Olavi Niemitalo
9d14ea4e5a Document some variables in charsets.c. 2007-01-02 00:54:14 +02:00
Kalle Olavi Niemitalo
068663783c insert_in_string: Let the seq parameter point to const.
It is the data to be inserted into the other string.
2007-01-02 00:47:38 +02:00
Kalle Olavi Niemitalo
10f1bd0efc Document struct conv_table. 2007-01-01 21:11:46 +02:00
M. Levinson
26473f72f5 Python: Give goto_url_hook only one argument, like follow_url_hook.
On Dec 31, 2006, at 11:30am, Kalle Olavi Niemitalo writes:
>src/scripting/python/hooks.c (script_hook_url) calls hooks as
>goto_url_hook(new-url, current-url) and follow_url_hook(new-url).
>It has a comment saying that the current-url parameter exists
>only for compatibility and that the script can instead use
>elinks.current_url().  However, the current-url parameter was
>added in commit 87e27b9b3e and is
>not in ELinks 0.11.2, so any compatibility problems would only
>hit people who have been using 0.12.GIT snapshots.  Can we remove
>the second parameter now before releasing ELinks 0.12pre1?

The decision isn't up to me, but I think this is a good idea. Here's a
patch that would update the documentation and hooks.py, as well as hooks.c.

FYI, if this patch is applied then anyone who's still trying to use a
goto_url_hook that expects a second argument will get a "Browser scripting
error" dialog box that says:

	An error occurred while running a Python script:

	TypeError: goto_url_hook() takes exactly 2 arguments (1 given)
2007-01-01 17:45:36 +02:00
Kalle Olavi Niemitalo
e45f5a8915 utf8char_len_tab[] is const.
This change moves 256 bytes of data into a read-only section, perhaps
reducing memory consumption when multiple ELinks processes run in parallel.
2007-01-01 17:18:05 +02:00
Witold Filipczyk
e195690acd Minor optimisation (?). 2006-12-31 19:58:23 +01:00
Witold Filipczyk
87e10dd412 epoll is fashionable.
Added the configuration option --enable-epoll. Use epoll instead of select.
2006-12-31 19:05:43 +01:00
Witold Filipczyk
38b09e44c7 Limit the timeout to one second only under Windows. 2006-12-31 16:49:52 +01:00
Kalle Olavi Niemitalo
4ae90c798c Bug 919, mem_mmap_realloc: Don't overflow the buffer when shrinking it.
The bug was possible only #ifndef HAVE_MREMAP, thus not on Linux.
2006-12-31 09:49:13 +02:00
Witold Filipczyk
7a424fca7a Merge with master 2006-12-30 13:45:33 +01:00
Witold Filipczyk
d4d3c8c694 Merge with master 2006-12-30 13:40:48 +01:00
Miciah Dashiel Butler Masters
4d10c3fb8c Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-12-30 11:22:34 +00:00
M. Levinson
e978853f63 Use document->cached in the Python scripting backend
As commit 7db8abf6e7 does for Lua
and the document info box, change the Python scripting backend's
current_document and current_header APIs to use document->cached
instead of find_in_cached so the currently displayed document
will be used rather than the latest version of the document.
2006-12-30 11:20:30 +00:00
Miciah Dashiel Butler Masters
896cdab771 Re-use @fs in activate_link instead of introducing a new local variable
This optimisation is made possible by commit
15dce57bc9.
2006-12-30 11:17:43 +00:00
Kalle Olavi Niemitalo
92d079de82 Set ecmascript.enable = 0 by default.
ECMAScript support is still considered experimental, and there are
several known vulnerabilities (bugs 548, 755, 771).
2006-12-29 23:24:42 +02:00
Witold Filipczyk
91be2ea6b8 Use popen for flite. 2006-12-29 00:21:30 +01:00
Witold Filipczyk
60fc3bd04f '' is used instead of "" to quote text for the flite.
With this change executing an arbitrary code is not possible.
At least, I think so.
2006-12-28 18:48:20 +01:00
Witold Filipczyk
314cf3f2b2 Merge with master 2006-12-26 22:46:15 +01:00
Witold Filipczyk
e965d07055 speech: added flite - the alternative synthesis engine.
Added the document.speech.system option:
0 - festival
1 - flite

Flite is faster and uses less memory than Festival.
2006-12-26 22:40:22 +01:00
Kalle Olavi Niemitalo
a287f547fd set_hline: Add a FIXME comment about invalid UTF-8. 2006-12-26 14:59:16 +02:00
Kalle Olavi Niemitalo
cd10da6f31 Bug 912, set_hline: Don't let LINE(y).length remain larger than needed. 2006-12-26 14:51:42 +02:00
Kalle Olavi Niemitalo
26cce9aab3 Bug 912, realloc_line: Return the original line->length if successful.
This will let the caller restore the length if it notices it has
allocated too much space.
2006-12-26 14:38:58 +02:00
Kalle Olavi Niemitalo
819653836a Bug 912: Callers of realloc_line treat only values < 0 as errors.
This will let me change realloc_line to return the original length.
2006-12-26 14:37:08 +02:00
Kalle Olavi Niemitalo
6b68d38131 set_hline: Define local variables as const where possible.
I hope this makes the source easier to understand.
2006-12-26 14:27:50 +02:00
Witold Filipczyk
87702bd491 Merge with master 2006-12-25 12:39:49 +01:00
Kalle Olavi Niemitalo
b586bd99bc Bug 871, 752: Lock down enum color_mode and change option help to match.
The numbering of document.dump.color_mode and terminal._template_.colors
is now the same regardless of compile-time options, unlike in previous
versions.  Therefore this version of ELinks may interpret a configuration
file differently from previous versions even if compiled with the same
options.  This is unfortunate but the alternatives (keeping the numbering
dependent on configuration options; defining separate options that use
the new numbering; starting the numbers from 10 or so and recognizing the
previous ones only for compatibility) seem even worse.
2006-12-25 11:51:24 +02:00
Kalle Olavi Niemitalo
c56fb7d630 Bug 871: Fall back to 16 colors if color_mode is unsupported.
There may currently be no way to select an unsupported mode,
but the next commit will change that.
2006-12-25 11:25:06 +02:00
Kalle Olavi Niemitalo
2aad5c7d09 fg_color[][] is const. 2006-12-25 11:04:16 +02:00
Kalle Olavi Niemitalo
45f39847c3 color_modes[] is const. 2006-12-25 11:03:51 +02:00
Kalle Olavi Niemitalo
5ae8721ebd color_mode_infos are const. 2006-12-25 11:02:01 +02:00
Kalle Olavi Niemitalo
39673505c8 set_term_color: Fix a typo in a comment. 2006-12-25 10:56:15 +02:00
Kalle Olavi Niemitalo
cae9b720bc Palettes are const.
This does not conflict with querying the palette from xterm (bug 890)
because although those palettes would have to be modifiable, they
would be terminal-specific rather than global.
2006-12-25 10:54:54 +02:00
Kalle Olavi Niemitalo
b4359e0445 Explicitly compare to COLOR_MODE_MONO where appropriate. 2006-12-25 10:27:23 +02:00
Kalle Olavi Niemitalo
bad1b588dd select_loop: If select fails, save its errno. 2006-12-25 10:09:13 +02:00
Witold Filipczyk
c83fd84900 Merge with master 2006-12-23 13:22:44 +01:00
Kalle Olavi Niemitalo
4b156678c6 terminal._template_.utf_8_io: Move the comment above the option and extend it.
This lets xgettext attach the comment to a more appropriate msgid.
2006-12-23 02:49:44 +02:00
Kalle Olavi Niemitalo
15dce57bc9 Bug 908, activate_link: Set fs->state before the fs pointer becomes invalid. 2006-12-23 02:11:01 +02:00
Kalle Olavi Niemitalo
cde14dcd18 utf8_to_unicode: Reject characters in the surrogate range.
This isn't CESU-8.
2006-12-23 01:48:07 +02:00
Kalle Olavi Niemitalo
49c3c89dcb Add an initial comment as commanded in doc/hacking.txt. 2006-12-23 01:44:26 +02:00
Witold Filipczyk
f477f41c8b Merge with master 2006-12-22 18:06:26 +01:00
Kalle Olavi Niemitalo
f396abcf19 Bug 902: set_hline: Assert that we didn't go past end of array.
This assertion detects the overflow that manifested as bug 902.
2006-12-20 23:19:24 +02:00
Kalle Olavi Niemitalo
114ce8c833 utf8_to_unicode: Reject invalid sequences, such as overlong.
Convert each byte of them to UCS_REPLACEMENT_CHARACTER.  This may not
be the optimal solution but at least it ought to be safe.  Also raise
an internal error if the value read from utf8char_len_tab[] is out of
range.

Note that ELinks is still using the RFC 2279 definition of UTF-8 and
thus allows characters up to 0x7FFFFFFF, even though RFC 3629 has
changed the maximum to 0x10FFFF.
2006-12-20 22:08:34 +02:00
Kalle Olavi Niemitalo
47f7ba24c6 Bug 902: set_hline: Allocate memory for one more character cell. 2006-12-20 22:04:41 +02:00
Witold Filipczyk
3931db1d00 Merge with master 2006-12-19 09:55:53 +01:00
Jonas Fonseca
7589d4457a Bug 899: Fix size handling in FTP directory listings
This fixes parse_ftp_number to use off_t instead of long to store its
(intermediate) result and return type. It also introduces an OFFT_MAX type
"limit" that is used for validating the size of the parsed number.

A test-case for was added in 37c9bf3f75 to
test-ftp-parser and the patch has been confirmed to fix the test-case by
adamg and me.  This closes bug 899, which is a duplicate of debian bug
403139.
2006-12-18 18:51:57 +01:00
Kalle Olavi Niemitalo
a1fe5cf975 Bug 826, UTF-8 set_hline: Don't skip the character after double-cell.
I do not fully understand this code, but I am sure skipping characters
like this is a bug, and correcting it seems to fix bug 826 (too small
table for double-cell characters).  I don't see any similar bugs in
other parts of set_hline.

The patch is from bug 826, comment 4, attachment 308.  The warning
there about unicode_to_cell(UCS_NO_CHAR) still applies but this patch
does not make the situation worse.  I have logged a separate bug 901
about those calls.
2006-12-17 18:13:28 +02:00
M. Levinson
f7be8f7dfc Python: Don't complain if hooks.py does not exist.
Nor if -no-home prevents it from being found.

This patch is from bug 880, comment 5, attachment 305.
http://bugzilla.elinks.cz/show_bug.cgi?id=880#c5
2006-12-17 16:10:55 +02:00
Witold Filipczyk
0ca94c10c1 bzip2: added the configure option --enable-bzip2-encoding
Use it with the patched bzlib. The patch in contrib.
Added the bzip2-pipe.patch.README.
2006-12-17 13:11:56 +01:00
Jonas Fonseca
37c9bf3f75 Test response from server mentioned in debian bug 403139
The problem is in the FTP directory listing and number parser which stores
it intermediate results in a variable of type long.
2006-12-15 22:36:53 +01:00
Witold Filipczyk
36146ffd3b bzip2: removed unclean my BZ2_bzRead2.
Use the patched bzlib instead. I put the bzip2-pipe.patch
in the contrib directory.
2006-12-15 13:44:59 +01:00
Witold Filipczyk
4eaca109fa Decompression: write PIPE_BUF bytes to the pipe at once if possible. 2006-12-15 09:41:20 +01:00
Witold Filipczyk
512ba3ed46 FSP: The preparation for the error handling.
Numeric codes are returned instead of a plain text in the event
of the fsp error.
2006-12-14 16:18:07 +01:00
Witold Filipczyk
0a146a14d6 Merge with master 2006-12-13 18:09:43 +01:00
M. Levinson
b6d14e025c Reset PyObject pointers to NULL when deinitializing.
cleanup_python and python_done_keybinding_interface called by it
now reset the PyObject *python_hooks, *keybindings variables back
to NULL when they release the references.  Without this change,
dangling pointers left in those variables could cause problems
if the Python scripting module were deinitialized and reinitialized.
It looks like such reinitialization is not currently possible though,
because enhancement request 73 (plugins support) has not yet been
implemented.
2006-12-13 18:33:54 +02:00
Witold Filipczyk
edb3129a5b Merge with master 2006-12-12 18:28:25 +01:00
Witold Filipczyk
429d9ad2d6 Simplification. bzf->handle is the same as data->file. 2006-12-12 17:30:22 +01:00
Witold Filipczyk
5424e00131 BZ_bzRead2 is based on BZ_bzRead from the bzlib library.
Slightly modified to handle reading from the pipe. This fixes the bug 517.
2006-12-12 16:48:50 +01:00
Witold Filipczyk
fe4d44414d The gzip decompression simplification. gzclearerr does the job. 2006-12-11 21:32:14 +01:00
Jonas Fonseca
47d27a4d39 DOM: rename init_dom_node_ to init_dom_node_at and cleanup the declaration
Only use the __FILE__ and __LINE__ parameters when DEBUG_MEMLEAK is defined
so that they do not end up in the generated documentation.
2006-12-11 21:21:30 +01:00
Jonas Fonseca
1435211cf6 DOM: add Doxyfile for generating DOM implementation documentation
Optimized for Doxygen version 1.5.1 ...
2006-12-11 21:04:38 +01:00
Jonas Fonseca
6df4df9cc4 DOM: start documenting the node module 2006-12-11 20:59:52 +01:00
Witold Filipczyk
c187df9a0a Small comment according to UTF-8. 2006-12-11 20:55:22 +01:00
Witold Filipczyk
f260691ac4 Set nonblocking mode for output. 2006-12-11 20:51:32 +01:00
Witold Filipczyk
9064e6323b Scrolls down one line earlier. 2006-12-11 19:17:48 +01:00
Witold Filipczyk
4e93cbf496 Added the keybinding ('R' by default) for reading documents out using
the festival program. ELinks automatically scrolls down when read line
is at the bottom of the page. Press 'R' for start or stop reading.
2006-12-11 18:48:44 +01:00
Jonas Fonseca
f90c07d54f Make it possible to request only the password component of an URI
Before it was only to get the password when the user name was also
requested.  This fixes FSP access to password protected directories.

The problem was discovered by Witold and mentioned in the post to
elinks-dev with the message-id: <20061209204151.GA32758@pldmachine> on
2006-12-09.
2006-12-10 21:46:32 +01:00
Jonas Fonseca
b527fcb308 Merge with git+ssh://pasky/srv/git/elinks.git 2006-12-10 18:24:58 +01:00
Jonas Fonseca
a89ab52ebd Start writing a DOM stack 101 2006-12-10 18:24:34 +01:00
Kalle Olavi Niemitalo
3988ab97cc about_protocol_handler: Don't define len if CONFIG_SMALL.
It is not used if CONFIG_SMALL is defined, and GCC complained about this.
With -Werror added by --enable-debug, the whole build failed.
2006-12-10 17:16:38 +02:00
Kalle Olavi Niemitalo
a46afea662 Bug 887: Fix the CONFIG_SMALL version of CANNOT_SAVE_COOKIES.
It had fewer parameters than the !CONFIG_SMALL version does, and this
caused compilation to fail.
2006-12-10 17:14:49 +02:00
Kalle Olavi Niemitalo
846a8f9a4e Bug 846, SEE: Add checktype.c and checktype.h.
These should have been in commit 8bc3d7a798.
2006-12-10 17:12:27 +02:00
Kalle Olavi Niemitalo
a193632187 Make html_context.quote_level unsigned.
Continuation of 7e9fc6f33b.
2006-12-10 14:14:16 +02:00
Miciah Dashiel Butler Masters
7db8abf6e7 Use document->cached in document_info_dialog and l_current_document
Now the currently displayed version of the current document,
rather than the latest version of the current document, will be used
for the document info box and the current_document() Lua function.
2006-12-10 03:14:36 +00:00
Miciah Dashiel Butler Masters
e523504424 Add .cached to struct document
This allows code to use document->cached instead of
find_in_cache(document->uri), thereby increasing the likelihood
of getting the correct cache entry.

This should fix Bug 756 - "assertion (cached)->object.refcount >= 0 failed"
after HTTP proxy was changed.

Patches for this were written by me and then later by Jonas.
This commit combines our independent implementations.
2006-12-10 03:11:04 +00:00
Jonas Fonseca
a8de4f4832 Merge with git+ssh://pasky/srv/git/elinks.git 2006-12-10 01:30:31 +01:00
Jonas Fonseca
93e9cf089e DOM: Change code documentation to be Doxygen "compliant" 2006-12-10 01:17:35 +01:00
Kalle Olavi Niemitalo
8bc3d7a798 Bug 846, SEE: Check thisobj->objectclass before casting. 2006-12-10 01:09:06 +02:00
Jonas Fonseca
4d248638be Remove empty first lines; a remnant from when CVS Id tags was in play 2006-12-09 22:54:22 +01:00
Kalle Olavi Niemitalo
9efc661384 Bug 827: Force UTF-8 I/O on if the UTF-8 charset is selected. 2006-12-09 21:13:13 +02:00
Kalle Olavi Niemitalo
432969a3a9 Bug 788: Define n_a variables if the POPpx macro of Perl needs them.
The configure script checks whether it is possible to compile a use of
POPpx without an n_a variable; if not, the source code then defines
those variables.  This is slower than including Perl's patchlevel.h
and comparing the version numbers to 5.8.8 but I expect this to be
more reliable as well.
2006-12-09 20:26:06 +02:00
Kalle Olavi Niemitalo
e815e07179 Bug 887: save_cookies reports errors if requested by the user. 2006-12-09 18:27:40 +02:00
Kalle Olavi Niemitalo
7551be3194 Bug 887: save_cookies ignores cookies_dirty if requested by the user. 2006-12-09 18:23:41 +02:00
Kalle Olavi Niemitalo
47a2fc19e1 Bug 887: New function secsave_strerror.
Extracted from write_config_dialog.
2006-12-09 18:14:28 +02:00
Kalle Olavi Niemitalo
3cd0fbe5f0 Bug 886: Set cookies_dirty if a cookie is edited via the manager.
If the appropriate option is set, this now causes the cookies to be
immediately saved as well.
2006-12-09 16:41:53 +02:00
Kalle Olavi Niemitalo
fad9c75cc6 Bug 886: Update cookies_dirty after delete_cookie calls as appropriate. 2006-12-09 16:41:28 +02:00
Kalle Olavi Niemitalo
b79210ea1b Bug 886: Postpone resaving the cookies until a bottom half. 2006-12-09 16:40:04 +02:00
Kalle Olavi Niemitalo
8ecf105cd5 Bug 886: Document why delete_cookie does not set cookies_dirty. 2006-12-09 15:03:08 +02:00
Kalle Olavi Niemitalo
469ab151cd Document the c_domains and cookie_servers lists. 2006-12-09 14:31:58 +02:00
M. Levinson
78bd416dc0 Bug 880: Prevent SIGSEGV in init_python when -no-home is used.
Before this patch, init_python would crash trying to set up elinks.home
at the Python side.  Now it uses None as the value in that case.
Also, init_python no longer adds "(null)" to $PYTHONPATH.
2006-12-08 19:59:41 +02:00
Miciah Dashiel Butler Masters
1442f551aa Simplify init_dom_renderer, drop get_css_property 2006-12-08 15:02:59 +00:00
Kalle Olavi Niemitalo
d731fe2db0 Renumber all tinyids of SMJS properties to negative integers.
This change does not fix any bug, but the SMJS builtin classes use
negative tinyids already, so I presume this is the preferred practice.
At least it means the tinyids won't have to be renumbered later if
some of these objects are changed to behave as arrays.
2006-12-06 23:09:14 +02:00
Miciah Dashiel Butler Masters
c22f38413e Decode the fragment identifier extracted from the URI when looking it up
This fixes a problem with fragment references that was reported
by Thomas Adam.
2006-12-05 18:06:47 +00:00
Thomas Adam
d90702aeca Fix crashes and problems with rerendering when preformatting with Ruby
This reverts baf7b0e91d:

	Fix segfaults caused by ruby scripting (gentoo bug #121247).

which reverted 5145ae266a:

	Change the Python, Ruby, and SEE hooks for pre-format-html to work
	properly now that they are given a non-NUL-terminated string.

and also makes the Ruby hooks interface generally use rb_str_new(str, len)
in favor of rb_str_new2(str) to avoid relying on NUL-terminated being
handled correctly by Ruby. Also, it was wrong for the preformat hook which
is not always handed a NUL-terminated string. Finally, the gentoo bug
(http://bugs.gentoo.org/show_bug.cgi?id=121247) is currently reopened which
suggests that the previous fix was not correct.
2006-12-04 23:45:40 +01:00
Jonas Fonseca
685cb8d1a2 Bug 831: Make it possible to quote args given to -remote
This fixes the problem with URLs that contain commas and are passed to
ELinks using: -remote openURL(URL). Fixes bug 831.
2006-12-04 21:54:39 +01:00
Kalle Olavi Niemitalo
3a7798d72b split_line: Define text_end only ifdef CONFIG_UTF8.
If CONFIG_UTF8 is not defined, then text_end is not used, and GCC
could warn about that.  Because configure can add -Werror to CFLAGS,
the warning could then cause the whole build to fail.
2006-12-03 22:23:42 +02:00
Jonas Fonseca
640d73b7db Cast indentation counter to int to fix compilation on Mac OS X
The error was:

sgml-parser.c: In function 'print_indent':
sgml-parser.c:99: warning: field precision should have type 'int', but argument 2 has type 'long unsigned int'
2006-12-03 20:45:01 +01:00
Kalle Olavi Niemitalo
7894e30ace Bug 870: Don't panic if an SMJS property ID is unrecognized.
If ECMAScript code does obj[42], then the getProperty or setProperty
function of the JSClass of obj gets 42 as the property ID and must not
treat that as an internal error.
2006-12-03 12:07:07 +02:00
Kalle Olavi Niemitalo
aa410301f1 Bug 846: {get,set}Property check JS_InstanceOf without asserting.
The getProperty and setProperty functions of a JSClass must not assume
that the obj parameter points to an instance of that class.  It might
instead point to another object that merely has an instance of the
class in its prototype chain.  Thus, do not assert that JS_InstanceOf
returns true there.  Instead, run the check even with CONFIG_FASTMEM,
and just return JS_FALSE if it fails.
2006-12-03 11:17:48 +02:00
Kalle Olavi Niemitalo
c150331668 Bug 868: check_timers: Don't keep pointers to other timers past timer->func. 2006-12-02 21:00:32 +02:00
Kalle Olavi Niemitalo
d6a7360962 Merge with http://elinks.cz/elinks.git 2006-12-02 19:03:45 +02:00