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

1642 Commits

Author SHA1 Message Date
Pavol Babincak
b0e2840f0d When double-width character in mainmenu is on last collumn don't show it. 2006-04-08 00:42:41 +02:00
Pavol Babincak
3c019606b2 Correct split on punctuation in BFU text.
When CONFIG_UTF_8 is defined but utf8 isn't used.
2006-04-08 00:37:25 +02:00
Pavol Babincak
662ffb903c Modified inpfield to be able to work with double-width UTF-8 chars.
Note: there is ugly hack in ACT_EDIT_BACKSPACE where last byte of UTF-8
character is removed and then moving to left until complete UTF-8
character is found.
2006-04-08 00:16:10 +02:00
Pavol Babincak
129bd2f444 Added function utf8_ptr2chars for counting number of characters in string. 2006-04-07 22:06:17 +02:00
Witold Filipczyk
6d0fe1e28f lzma files with end of stream marker are handled by allocating
2 MB buffer.
2006-04-07 19:55:07 +02:00
Witold Filipczyk
18280cafbb Code generated by tcc was broken for those boolean expressions 2006-04-06 22:07:45 +02:00
Witold Filipczyk
4f15dd9a2d Python.h must be included as last to satisfy tcc, but Python redefines
_POSIX_C_SOURCE macro, so #undef here to avoid warnings
2006-04-06 00:52:17 +02:00
Witold Filipczyk
043939806d Redefined buggy isdigit. ELinks built with tcc works 2006-04-05 23:35:04 +02:00
Witold Filipczyk
8b77bc6617 enum connection_state instead of int to satisfy tcc 2006-04-05 16:27:16 +02:00
Witold Filipczyk
55bd690b88 Files under /usr/share/doc/ncurses-c++-devel-5.5 (directory with
+ in filename) were unreachable. This is fix for it
2006-04-04 20:21:20 +02:00
Witold Filipczyk
d50de58af9 s/dump-color_mode/dump-color-mode/ . Made name consistent with other options 2006-04-04 15:27:14 +02:00
Witold Filipczyk
83d0d6f84a Fixed the memleak 2006-04-02 17:57:12 +02:00
Witold Filipczyk
c571aea567 Ecmascript: 8 last urls opened by window.open() remembered in a safer way. 2006-04-02 17:00:55 +02:00
Witold Filipczyk
9cca645dac Added the "Add server" option to the cookie manager. It creates new cookie
for given server.
2006-04-01 20:22:18 +02:00
Witold Filipczyk
55176d79de Added info about lzma to the "About" dialog 2006-03-31 20:35:08 +02:00
Kalle Olavi Niemitalo
8fc8a00844 accel-check: add_uri_command_to_menu now wants the title as a parameter.
Thus, each caller must now choose the accelerator key and declare the
accelerator contexts (i.e. menus) to which it may add the command.

Also, use only one context for tab_menu.

These changes fix the following bugs in accelerator conflict detection:
* "~Pass frame URI to external command" may be displayed together
  with "Pass tab URI to e~xternal command", but that was not
  declared.
* "Pass link URI to e~xternal command" was declared as being in
  the tab menu, but it is actually displayed in the link menu.
2006-03-26 20:52:11 +00:00
Miciah Dashiel Butler Masters
d7a964efaf SMJS: fix segfault on exit
Create and immediately destroy a context when initialising the SMJS
document scripting module, because SMJS crashes on exit if there has
been no context created since it started, which is the case if one does
not load any documents.
2006-03-26 20:28:25 +00:00
Witold Filipczyk
dd93d35f4c Missing lzma.h 2006-03-25 11:40:09 +01:00
Witold Filipczyk
7d1a966239 lzma encoding support using LZMA SDK. Original lzma executable decompresses faster than this code. I have no idea why. 2006-03-24 12:30:54 +01:00
Witold Filipczyk
dc075685ae ECMAScript: better handling of set action 2006-03-21 18:45:40 +01:00
Witold Filipczyk
b3acfd79f2 Fixes cache-control issue. See elinks-users mail from 28 Oct 2005 2006-03-21 16:17:56 +01:00
Witold Filipczyk
1fc28980d7 Parsing filesize on ftp.task.gda.pl 2006-03-16 22:13:40 +01:00
Kalle Olavi Niemitalo
7927fb737a 1. If neither CONFIG_88_COLORS nor CONFIG_256_COLORS is defined,
then dump_to_file_256 is defined in dump.c but not used.
   If configure --enable-debug was used, then gcc warns about
   the unused function, and the warning stops the build.

2. The description of document.dump.color_mode ends with a
   newline, provoking a runtime warning from check_description
   in src/config/options.c.

3. options.inc has preprocessor directives inside macro arguments.
   That is not portable C.  xgettext (GNU gettext-tools) 0.14.3 is
   not smart enough to figure out the possible combinations, and
   copies an incorrect string to elinks.pot.
2006-03-13 19:06:02 +01:00
Pavol Babincak
8b9d06c977 Convert link titles to correct codepage before displaying it on screen.
Don't replace UTF-8 bytes with '*'. Probably there is need to do better
check what will be displayed.

Also get_current_link_title is no longer pretty and trivial. (o:
2006-03-13 01:54:34 +01:00
witekfl
97d7a57b8a Do not delete main menu while displaying dialogs or when mouse is
pressed outside menu bar
2006-03-11 21:08:02 +01:00
Pavol Babincak
7d4dedcb8d Bug fix: dialog window opened with ELinks start wasn't right encoded.
term->utf8 should be set before computing anything to be written on screen.
But probably this is not the right place.
2006-03-07 00:38:41 +01:00
Pavol Babincak
509fe2cf0d Added support for double-width UTF-8 checkboxes and listbox in dialogs. 2006-03-06 15:15:30 +01:00
Pavol Babincak
10303bb94a Added support for UTF-8 (including double-width) texts in dialogs. 2006-03-06 06:18:47 +01:00
Pavol Babincak
dfe029bc27 Added support for correctly displaying double-width UTF-8 chars in buttons.
With UTF-8 support in terminal enabled it is possible to use double-width
UTF-8 strings as margins of buttons. Although they are displayed wrong when
UTF-8 support in terminal is disabled.
2006-03-06 06:09:58 +01:00
Pavol Babincak
38db20b776 Added format_only parameter for distinguish between formating.
Preparation for using struct terminal in formating functions.

By now distinguish between formating widgets and formating widgets with
displaying was done with term == NULL and term != NULL. I hope I'am
not wrong.
2006-03-06 06:01:12 +01:00
Pavol Babincak
f3a063f1ed Corrected support for double-width UTF-8 chars in titles of dialogs. 2006-03-06 05:05:18 +01:00
Pavol Babincak
33c0943ce4 Modified titlebar for correctly displaying UTF-8 page titles. 2006-03-05 01:54:17 +01:00
Pavol Babincak
e0886dd842 Bug fix: menu with UTF-8 items was unneeded wider.
Also deal with double-width UTF-8 characters.
2006-03-05 01:15:26 +01:00
Pavol Babincak
b356da1850 Added better support for displaying double-width UTF-8 chars. 2006-03-05 00:37:10 +01:00
Pavol Babincak
79d4d74a22 Added functions for manipulating with UTF-8 strings. 2006-03-05 00:10:33 +01:00
witekfl
ab6f4ac818 Lines filled with spaces 2006-03-04 20:33:53 +01:00
witekfl
b08514c7e9 Color mode in dumps. To get color set appropriately document.dump.color or
--dump-color_mode. Background isn't set in 256 color mode. I don't know
why.
2006-03-04 14:33:28 +01:00
witekfl
e50581faf3 Menu bar moved at the end of windows queue. bfu_technology activated at the
right place.
2006-03-04 11:42:57 +01:00
witekfl
3f01c3d2fe Display optionally tabs bar at top like other browser do.
TODO: input_line_layouter, ACT_MAIN_TAB_MENU
2006-03-04 10:24:37 +01:00
witekfl
a802f0fb3e Someone, sometime ago wanted always visible menu bar. This is attempt to
handle it. I have no idea where to make initialisation call to
activate_bfu_technology.
2006-03-03 19:01:15 +01:00
witekfl
30a60caa12 SpiderMonkey: do not remember context. Maybe this time it won't hung. 2006-03-01 18:17:16 +01:00
witekfl
8f329a9b3c sysmouse: Selection works after toggle mouse 2006-02-28 22:56:27 +01:00
witekfl
0a8009c63a mouse: Write disable_mouse sequences only in xterm 2006-02-28 22:52:01 +01:00
witekfl
90c013cbd0 BSD: Decrease indentation level. Treat buttons 4 & 5 as wheel. If you want
to use wheel mouse on the console run moused with -z 4 option.
2006-02-28 19:42:58 +01:00
Miciah Dashiel Butler Masters
4b3d88dd6e Delegate ECMAScript submodule initialisation the right way
Replace the ECMAScript module initialisation and de-initialisation
routines that wrapped the SMJS and SEE module initialisation and
de-initialisation routines by having the module system call the SMJS
and SEE routines its own darned self.
2006-02-26 08:51:36 +00:00
Timo Lindfors
212b4a2893 Fix bug #741: "html comments shouldn't be evaluted inside STYLE elements" 2006-02-22 19:45:14 -05:00
Miciah Dashiel Butler Masters
b64b76a3ce Revert bad stuff in a3fb98f499
Revert stuff that wasn't supposed to have been committed.
2006-02-19 07:31:39 +00:00
Miciah Dashiel Butler Masters
143398f09d Unwrap a line in query_delete_selected_item. 2006-02-19 07:22:51 +00:00
Miciah Dashiel Butler Masters
b8063709c0 Query whether to delete the selected hierbox item if the user answers
no to confirmation to delete the marked item.
2006-02-19 07:19:35 +00:00
Miciah Dashiel Butler Masters
b97508e48a Simplify query_delete_selected_item
Check whether the item can be deleted before allocating the context so
as to save a free in the case that the item cannot be deleted.
2006-02-19 07:15:27 +00:00
Miciah Dashiel Butler Masters
e9799a2265 Reflow the control flow in push_hierbox_delete_button 2006-02-19 07:13:37 +00:00
Miciah Dashiel Butler Masters
6683f14bc1 Factor query_delete_selected_item out of push_hierbox_delete_button. 2006-02-19 07:11:51 +00:00
Miciah Dashiel Butler Masters
d87a90da6b Drop temporary variables when using listbox_message 2006-02-19 06:46:05 +00:00
Miciah Dashiel Butler Masters
a3fb98f499 src/bfu
Inconsequential change to push_hierbox_delete_button

Use item instead of context->item.
2006-02-19 06:22:12 +00:00
Pavol Babincak
f4a430e480 Support for double-width glyphs in DOM renderer
Removed duplicate code for UTF-8 in DOM renderer. Modified DOM renderer
to correctly displaying multi-width glyphs.
2006-02-18 20:28:01 +01:00
Pavol Babincak
5561437629 Added UTF-8 to ELinks version. 2006-02-18 20:28:01 +01:00
Pavol Babincak
fc5f2389ed Support for double-width glyphs in plain renderer
Removed duplicate code for UTF-8 in plain renderer. Modified plain renderer
to correctly displaying multi-width glyphs.
2006-02-18 20:28:00 +01:00
Pavol Babincak
c726080def Double-width glyph support in terminal draw
Added unicode_to_cell detect double-width glyphs. Modified terminal draw to
correctly accept double-width glyphs.
2006-02-18 20:28:00 +01:00
Pavol Babincak
81778bc5d7 Correct computing of cursor position in UTF-8 textarea. 2006-02-18 20:28:00 +01:00
Pavol Babincak
f9d67aeb73 Added configure option --enable-utf-8
For enabling better UTF-8 support by Witek and Scrool.
2006-02-18 20:28:00 +01:00
Pavol Babincak
3ffa7cac91 Bug fix: formating error in UTF-8 textarea
When textarea contains UTF-8 characters they are not correctly wrapped.
2006-02-18 20:27:52 +01:00
Pavol Babincak
585d69355a Bug fix: hidden UTF-8 characters before end of input box
Bug fix: when UTF-8 characters are entered into input box they are hidden
before end of input box.
2006-02-18 20:27:51 +01:00
Pavol Babincak
0bacd766e2 Added UTF-8 char length lookup table
Added lookup table to quick get number of bytes of UTF-8 character from
first byte.
2006-02-18 20:27:50 +01:00
Pavol Babincak
259a64a7a7 Code cleanup. 2006-02-18 20:27:48 +01:00
Witold Filipczyk
44a1aa9c87 Witekfl's UTF-8 patch v5. 2006-02-18 20:27:46 +01:00
Kalle Olavi Niemitalo
4217f2c555 Merge with http://elinks.cz/elinks.git 2006-02-18 12:21:47 +02:00
Miciah Dashiel Butler Masters
190259ca22 mem_alloc_align: drop the obj type parameter
Instead use the object itself, i.e., replace typeof(obj) with
typeof(**ptr).
2006-02-17 17:32:59 +00:00
Miciah Dashiel Butler Masters
e6b9093f87 find_form_state: use mem_align_alloc to save some code 2006-02-17 16:52:38 +00:00
witekfl
fae675316b Let BSD users use DEL on the console 2006-02-15 23:25:54 +01:00
Kalle Olavi Niemitalo
d66ed0e76d Merge with http://elinks.cz/elinks.git 2006-02-15 22:13:55 +02:00
Eric Wald
3ce3f01f30 Add support for forcing wrapping at the screen boundary
This patch modifies ELinks wrapping behavior slightly.

 * The wrap command now toggles line wrapping in HTML mode, as well as
   text mode.  Note that when the HTML view of a page is wrapped, its
   source view is unwrapped, and vice versa.
 * Tabs in text-mode lines are now handled correctly.
 * Wrapping a line that reaches exactly to the edge of the screen will
   no longer produce a blank line in text mode.
 * Text within extra-wide table cells is now wrapped to less than the
   screen width, to eliminate sideways scrolling.

The last point is only enabled by setting TABLE_LINE_PADDING to a
non-negative number, in the src/setup.h header file, because it is a
significant change of behavior from previous versions.
2006-02-15 15:50:29 +01:00
Kalle Olavi Niemitalo
3dcb386b81 Merge with http://elinks.cz/elinks.git 2006-02-12 23:42:05 +02:00
Miciah Dashiel Butler Masters
8ce8740359 SMJS: Return JS_FALSE if one specifies an invalid type of action for
a keybinding.
2006-02-12 21:20:36 +00:00
Kalle Olavi Niemitalo
e7dfe6d5da Merge with http://elinks.cz/elinks.git 2006-02-12 23:15:59 +02:00
Miciah Dashiel Butler Masters
3dfa237982 Include bfu/msgbox.h for info_box.
This is clearly unnecessary as the code already builds, but it is more
proper to include the header file explicitely.
2006-02-12 21:07:15 +00:00
Miciah Dashiel Butler Masters
3bd14d8392 SMJS: elinks.alert: drop the extra 'error' text
Use info_box directly instead of via report_scripting_error by way of
alert_smjs_error, thereby avoiding the addition of extra text saying
that an error has occurred.
2006-02-12 21:05:35 +00:00
Miciah Dashiel Butler Masters
d5fe12b5f4 Merge script_hook_goto_url and script_hook_follow_url
Combine the two into the new script_hook_url and use the hook data field
to store the name of the appropriate ECMAScript routine.
2006-02-12 20:55:25 +00:00
Kalle Olavi Niemitalo
9b9da06eb7 Merge with http://elinks.cz/elinks.git 2006-02-12 19:26:09 +02:00
Miciah Dashiel Butler Masters
c776fab903 Initially place cursor on the current listbox item
Introduce the macros before_widgets and foreach_widget_back. Use the
latter in update_all_widgets instead of foreach_widget so that the
widgets are printed in reverse order, which means that any listbox is
drawn last, which allows it to grab the cursor from the selected button
when the dialogue box is initialised or redrawn.

Requested by Kirk Reiser for great usability with screen readers.
2006-02-12 17:11:57 +00:00
Kalle Olavi Niemitalo
a1f26c1f25 Merge with http://elinks.cz/elinks.git 2006-02-12 17:54:22 +02:00
Miciah Dashiel Butler Masters
daad05c055 Don't check is_in_progress_state before calling cancel_download
With commit 637f1e82e6 ('NET: Merge
change_connection into cancel_download'), cancel_download returns
immediately if the connection is not in a result state, so save some
code by not checking is_in_progress_state before calling cancel_download.
2006-02-12 15:41:21 +00:00
Kalle Olavi Niemitalo
edd087c722 Merge with http://elinks.cz/elinks.git 2006-02-12 17:17:54 +02:00
Miciah Dashiel Butler Masters
2c087e52e7 Revert unstable 'Eval embedded scripts at once'
Revert commit 2f0490cb04
('Eval embedded scripts at once') and follow-up commit
997f61bb32 ('Use document_view instead of
view_state. It is safer probably') because the change causes crashes on
numerous pages and just looks wrong.
2006-02-12 15:03:12 +00:00
witekfl
cfbe41aa8a Linux and FreeBSD are not compatible. I prefer Linux 2006-02-12 14:19:39 +01:00
Kalle Olavi Niemitalo
49b70d838b Merge with http://elinks.cz/elinks.git 2006-02-12 10:03:25 +02:00
Miciah Dashiel Butler Masters
a464157d4d SEE & SMJS: document.write(ln): use all arguments
Additionally add a test to test/ecmascript/document_write.html.

Thanks to Kirk Reiser for observing that ELinks only printed the first.
2006-02-12 04:33:42 +00:00
Miciah Dashiel Butler Masters
7b092af628 SEE: document.writeln: always add new line
Add the new-line character even if SEE_value_to_unsigned_char returns
NULL.
2006-02-12 04:25:10 +00:00
Kalle Olavi Niemitalo
416bd01269 Merge with http://elinks.cz/elinks.git 2006-02-12 00:34:53 +02:00
witekfl
791cab91e7 Make ELinks FreeBSD friendly. Defined keys used on FreeBSD console 2006-02-11 21:37:49 +01:00
witekfl
15b52b62e4 REFERRER is back 2006-02-11 19:11:50 +01:00
Petr Baudis
c0f98c34ce Revert witekfl's e723ddaee6
This is utterly silly and breaks plenty of stuff - Witek, you CAN'T append
slashes to all hosts just because some silly referer needs it, everywhere
else we NEED the hosts without slashes!
2006-02-11 17:44:54 +01:00
Kalle Olavi Niemitalo
37bea9cfdb Merge with /home/kalle/src/MIRROR/elinks/.git 2006-02-11 09:39:41 +02:00
Jonas Fonseca
08b3d997b2 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-02-10 22:19:16 +01:00
Laurent MONIN
baf7b0e91d Fix segfaults caused by ruby scripting (gentoo bug #121247). Backported
from gentoo portage tree.
2006-02-10 21:28:50 +01:00
Laurent MONIN
5860a44b7d Fix compilation under gcc 4.x. Backported from gentoo portage. 2006-02-10 21:27:25 +01:00
Kalle Olavi Niemitalo
0066214b47 Merge with http://elinks.cz/elinks.git 2006-02-10 09:15:12 +02:00
Jonas Fonseca
1b4bee7a82 DOM: Change struct dom_string length member from size_t to unsigned int
Requested-by: Miciah
2006-02-10 01:25:48 +01:00
witekfl
6fe1a431f1 Sometimes scripts submit forms using buttons 2006-02-09 22:53:00 +01:00
witekfl
10589b04eb Base href was lost while setting form->action by ECMAScript. This is
attempt to fix it
2006-02-09 22:50:30 +01:00
witekfl
e723ddaee6 Add slash after host. Required by URI_HTTP_REFERRER_HOST 2006-02-09 22:46:44 +01:00
Jonas Fonseca
e726be3a76 NET: Nullify download->progress when move_download args are in result state
This is another follow-up regression fix that made open and save actions in
the WTD-dialog not function correctly when the connection ended before they
were pressed.

Related: 347970988d
2006-02-09 00:32:51 +01:00
Jonas Fonseca
4b91866c84 GOPHER: Blast end_gopher_connection which now only wraps abort_connection 2006-02-08 21:47:54 +01:00
Jonas Fonseca
854bb90d88 NET: Move cache entry normalization to abort_connection
It simplifies the code and ensures that stuff like conn->from is properly
updated.
2006-02-08 21:40:08 +01:00
Jonas Fonseca
4bfd40ec10 NNTP: Use state instead of conn->state, since it hasn't been updated yet
Fixes: 1735f96a87
2006-02-08 21:04:19 +01:00
Jonas Fonseca
1735f96a87 FTP, NNTP: Normalize the cache entry before setting the connection state
... so it is normalized when the download callbacks are called.
2006-02-08 20:45:15 +01:00
Miciah Dashiel Butler Masters
ca56e3b185 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-02-08 14:12:13 +00:00
Jonas Fonseca
99000b1f2e Merge with http://www.iki.fi/kon/2006/elinks.git#submit-button 2006-02-07 13:38:51 +01:00
Miciah Dashiel Butler Masters
2b3f6cf6a9 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-02-07 03:05:38 +00:00
Jonas Fonseca
03299d6c2e Add documents displayed via "What to do" dialog to globhist
First the patch makes sure doc_loading_callback is always called from
tp_display even if the download is in result state. This is often the
case for local files that the user decides to display via the WTD dialog.

Furthermore, improve the adding to globhist part of doc_loading_callback,
so that it works also for downloads in result state where the
download->conn member is NULL. In addition to grabbing the URI from the
connection try also the cache entry if it is set.

Fixes: bug 355 (Documents displayed via WTD aren't added to globhist)
2006-02-07 02:25:27 +01:00
Jonas Fonseca
0d53158553 NET: Ensure that move_download sets new->conn to NULL when in result state
When in result state the connection might already have been freed.
2006-02-07 02:02:33 +01:00
Jonas Fonseca
ac1231ef2f Describe the document.uri_passing option in more depth
Mention the *-external-command actions.
2006-02-07 01:03:13 +01:00
Kalle Olavi Niemitalo
262d592d23 Fix compile errors in call_onsubmit_or_submit #ifdef CONFIG_ECMASCRIPT.
The errors were caused by commit b623decfb5.
Also, rename call_onsubmit_or_submit to call_onsubmit_and_submit.
2006-02-06 23:06:35 +02:00
Kalle Olavi Niemitalo
b623decfb5 Tell the selected submit button to the server.
Commit 9cc9db4e24 broke submit buttons
on HTML forms, so that the server no longer knows which button was
actually pressed.

<kahmalo> The bug with forms seems to be that try_submit_given_form (in
          src/viewer/text/link.c) is the only function that runs "onsubmit"
          scripts, and it does not care which of the submit buttons was
          pressed; it calls submit_given_form which submits based on the first
          item of the form.                                             [20:57]
<kahmalo> or last, I don't know how the list works.
<kahmalo> try_submit_given_form could get the control via
          get_current_link(doc_view) but I suppose it'd be cleaner to provide
          that as a parameter.                                          [20:58]

Originally posted as:
<mid:87ek2heebh.fsf@Astalo.kon.iki.fi>
<nntp://news.gmane.org/87ek2heebh.fsf@Astalo.kon.iki.fi>
<http://permalink.gmane.org/gmane.comp.web.links/2745>
2006-02-06 20:57:08 +02:00
Kalle Olavi Niemitalo
b1f8756c59 Merge with http://elinks.cz/elinks.git 2006-02-05 17:48:43 +02:00
Miciah Dashiel Butler Masters
420f3072fb refresh_view: drop unnecessary call to redraw_from_window
print_screen_status calls redraw_from_window, so there is no need to
call both.
2006-02-05 01:03:24 +00:00
Jonas Fonseca
347970988d NET: Fix regression from the latest change_connection changes
This makes move_download not assume that there is a connection attached
when it is called. This is the case pretty often for file:// downloads when
dialogs are involved (query file) and the reason why it explicitly checks
if the connection state is 'in result state'. Anyway, fill the new download
struct with variabled from the old one instead of taking variables from the
connection struct.

This patch also adds some assertions and a few comments.
2006-02-04 23:20:40 +01:00
Jonas Fonseca
318a9b29fa Merge with git+ssh://pasky/srv/git/elinks.git 2006-02-03 21:40:39 +01:00
Miciah Dashiel Butler Masters
b8ee886a60 sort_links: fix memory leak
Free document->lines1 and document->lines2 if they are already set. This
fixes a memory leak from commit 52d3a6411d.
2006-02-03 20:12:24 +00:00
Jonas Fonseca
c51300066f NET: Rename old to download in cancel_download 2006-02-03 10:44:30 +01:00
Jonas Fonseca
637f1e82e6 NET: Merge change_connection into cancel_download 2006-02-03 10:44:30 +01:00
Jonas Fonseca
33625ae9e2 NET: Move attaching of new download to move_download
This includes setting the new priority and adding the download to the list
of connection downloads. If the connection has no downloads set the
PRI_CANCEL priority; get_priority() requires that.
2006-02-03 10:44:29 +01:00
Jonas Fonseca
c2d5464910 NET: Minor tidyup 2006-02-03 10:44:29 +01:00
Jonas Fonseca
8b938cb7a6 NET: Move shortcut from change_connection to the two front-ends 2006-02-03 10:44:29 +01:00
Jonas Fonseca
500de86927 NET: Setup the new download in the start of move_download 2006-02-03 10:44:29 +01:00
Jonas Fonseca
3324496b57 NET: Replace change_connection with cancel_download and move_download
This simplifies unqueuing of downloads and makes it more obvious that
the 'change' being performed is to migrate or replace an old download
handle with a new one.
2006-02-03 10:44:28 +01:00
Jonas Fonseca
4a27637529 DOM: Cleanup the unused parts of the node interface
Take a quick stroll through the unchartered corners of the DOM node data
structures:

 - Remove ununsed struct dom_node_id_item.
 - Make the document node reference a future struct dom_document.
 - Describe ideas for node data, e.g. the entity reference node should use
 it for storing the unicode_val_T.
2006-02-03 10:44:27 +01:00
Jonas Fonseca
5bf39bd304 FSP: Check and exit the file 'writer' process if writes to stdout fails
This ensures that the 'writer' process will remove itself when the
main ELinks process for some reason decides to shutdown the connection.
Before the 'writer' process would complete it's task taking up unnecessary
system resources.

This is mostly an issue when fetching big files. Therefore only file
fetching is fixed. FIXME added about also checking return codes for write
associated with directory listing.

Reported-by: zas
2006-02-02 16:29:20 +01:00
witekfl
efc724101e Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-02-01 19:45:01 +01:00
Laurent MONIN
b99f5c4b9f Include <sys/types.h> and fix compilation on an old PPC/Debian system
It should be included via elinks.h but apparently some other system header
can prevent this somehow on some systems.

Reported-by: Phillip Pi <ant@zimage.com>
2006-02-01 11:34:07 +01:00
Jonas Fonseca
6cd5e387e5 DOM: Change sgml-parser program to have sane exit code for incomplete input 2006-02-01 10:51:24 +01:00
Jonas Fonseca
c7843058fc DOM: Convert to use enum dom_code
Doh, ended pushing out half finished commits. :(
2006-02-01 10:38:21 +01:00
witekfl
d267fcc747 SpiderMonkey: Handling both 'document.location.href ='
and 'document.location ='
2006-02-01 09:31:26 +01:00
Jonas Fonseca
a983603863 DOM: Rename src/dom/dom.h src/dom/code.h
Additionally, add API doc mark.
2006-01-31 23:30:55 +01:00
Jonas Fonseca
4de26051b9 Ignore test files 2006-01-31 22:23:22 +01:00
Jonas Fonseca
92a9cafb6e DOM: Replace various DOM status/error/exception codes with dom_code enum
Replaces sgml_parser_code, dom_stack_code, and dom_exception_code and
generally tries to simplify things and remove redundant codes.
2006-01-31 22:01:35 +01:00
Jonas Fonseca
73c06aaa10 DOM: Add test for parsing randomized HTML
It uses mangleme by Michal Zalewski <lcamtuf@coredump.cx> to generate HTML
which is then fed into the sgml-parser program. By default 100 random HTML
documents are tested. But the test script takes the number of documents
to test against as an argument. Useful for torture testing the SGML parser.
2006-01-31 19:29:48 +01:00
witekfl
3c0c912198 SpiderMonkey: target was not set 2006-01-31 13:03:17 +01:00
Jonas Fonseca
3f878c6ce7 BOOKMARKS: Fix XBEL calling add_bookmark() with NULL title
It didn't check that both title and title->text was non NULL. In either
case it now passes "No title" string to add_bookmark().

Reported by Neuromancer.

Tested with both:

	<bookmark href="empty://title"><title></title><bookmark>
	<bookmark href="no://title"></bookmark>
2006-01-31 03:52:48 +01:00
8256d6b915 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-30 22:11:25 +01:00
4aaafc4716 Inroduced garbage collector. Disabled by default 2006-01-30 22:09:13 +01:00
Miciah Dashiel Butler Masters
db9768963f Merge with git+ssh://pasky.or.cz/srv/git/elinks.git
git+ssh://pasky.or.cz/srv/git/elinks.git
2006-01-30 15:42:03 +00:00
41e8570e64 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-30 12:42:40 +01:00
fa93d05b7e current_link_evhook: return effaced 2006-01-30 12:18:43 +01:00
1dae2926fd Neither SEE nor SpiderMonkey tolerate return outside functions 2006-01-30 11:52:58 +01:00
b4d9b7f5a6 Make SpiderMonkey consistent with SEE. Do not cache ecmascript_objs 2006-01-30 11:15:04 +01:00
44710bb1e9 The same trick as in SEE: Remember last 8 locations and do not open
them again
2006-01-30 10:47:24 +01:00
aed26bf002 Introduced CGI module 2006-01-30 08:56:40 +01:00
Jonas Fonseca
f42dd94fb5 DOM: Fix test descriptions 2006-01-30 06:45:53 +01:00
Jonas Fonseca
7be0093e36 DOM: Add test for dumping DOM trees to SGML 2006-01-30 06:25:22 +01:00
Jonas Fonseca
f8a86a26c4 DOM: Add simple stack context based utility for dumping DOM trees to SGML 2006-01-30 06:07:16 +01:00
Jonas Fonseca
a3dcc7d5e5 DOM: Change the attribute node's quoted member to be unsigned char
It can hold NUL, ', or " depending on not quoted, single quoted or double
quoted.
2006-01-30 06:05:32 +01:00
Jonas Fonseca
bc50084475 DOM: Add get_dom_node_next() 2006-01-30 06:03:36 +01:00
Jonas Fonseca
ea675cbb6e DOM: Fix get_dom_node_map_index() so it returns the correct ordered index
This was cause by the recent change to allocate string during incremental
parsing where the node string was set after insertion. Test for this in the
works.

Fixes: b6b6d3c67e
2006-01-30 06:02:02 +01:00
Jonas Fonseca
f268d0c495 DOM: Add missing config.h #include 2006-01-30 05:55:35 +01:00
Jonas Fonseca
ba2b6e633a DIRLIST:Use directory listing initializer in the Gopher protocol module 2006-01-30 02:41:09 +01:00
Jonas Fonseca
94f4b2fd1d DIRLIST: Cleanup macros used in the FTP directory listing 2006-01-30 01:29:40 +01:00
Jonas Fonseca
d8ef7e1b68 DIRLIST: Use directory listing initializer in the FSP protocol module 2006-01-30 01:25:39 +01:00
Jonas Fonseca
b567f6a5db DIRLIST: Use directory listing initializer in the FTP protocol module 2006-01-30 01:25:30 +01:00
Jonas Fonseca
c96cb0bbae DIRLIST: Use directory listing initializer in the file protocol module 2006-01-30 01:25:18 +01:00
Jonas Fonseca
865af9ac4a DIRLIST: Add helper to at start of (HTML) directory listing 2006-01-30 01:22:31 +01:00
Jonas Fonseca
7d1ff4fbf1 Only add ending slash to directory URLs
Not even to directory names. We don't do that for file: or ftp: protocol.

Fixes: af2cc87054
2006-01-29 18:35:59 +01:00
Laurent MONIN
cf429c4ecc FSP: trim trailing whitespaces. 2006-01-29 18:01:48 +01:00
Laurent MONIN
af2cc87054 FSP: display_entry() cleanup, and mark directories by an ending /
in lists.
2006-01-29 18:01:22 +01:00
Laurent MONIN
0c4bc5a362 FSP: reduce code redundancy, introducing display_entry(). 2006-01-29 17:53:26 +01:00
Laurent MONIN
d07cf588bd FSP: reduce code redundancy. 2006-01-29 17:48:09 +01:00
5511c5b748 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-29 16:51:11 +01:00
87e27b9b3e goto_url_hook takes 2 params not 1. Some dumbprefixes defined in hooks.py 2006-01-29 14:58:03 +01:00
Jonas Fonseca
a236608554 Do not set the content type for FSP files
Simplify commit 8d4f44f2f1, in particular
detecting MIME types for files. It is more consistent to do it the way
it was already done by the session/download code.

Instead, write a NUL byte to stderr when getting FSP files and only set
cache->content_type when the header string is non-empty.

Additionally it also moves close(stderr) after the fsp_error() in the
file handling part of do_fsp() so the error message is shown with the
correct type.
2006-01-29 14:27:14 +01:00
46aae704eb Added slash to base href when directory didn't end with '/' 2006-01-29 13:22:05 +01:00
8cc828bf7c Compilation fix 2006-01-29 12:28:05 +01:00
Jonas Fonseca
9fe0608bd2 DOM: Fix checking of out-of-bound access to scanned strings 2006-01-29 12:12:41 +01:00
Jonas Fonseca
ca5a5f230a Make render_dom_node_source static 2006-01-29 12:11:35 +01:00
Jonas Fonseca
2e3e18595f Normalize all links added by the plain renderer
Fixes problems with host or protocol parts not being lowercased. This
triggers an assertion failure when trying to download such links. Reported
by lindi-.
2006-01-29 09:04:52 +01:00
Jonas Fonseca
2918e3f595 DOM: Add STATIC_DOM_STRING macro and make INIT_DOM_STRING cleaner 2006-01-28 22:55:15 +01:00
Jonas Fonseca
58b8635caf DOM: Add test to check that '\f' (form feed) counts as a newline 2006-01-28 22:51:52 +01:00
Miciah Dashiel Butler Masters
be07858b2b Refactor the document.write routines
Factor js_document_write_do out of js_document_write and
js_document_writeln and document_write_do out of document_write and
document_write_ln.
2006-01-28 20:39:07 +00:00
Miciah Dashiel Butler Masters
5bcb1309da Use enum connection_state
Use enum connection_state instead of int in load_uri,
proxy_uri, get_proxy_worker, and get_proxy_uri. See commit
d18809522e. I hope that satisfies TCC.
2006-01-28 20:21:09 +00:00
669d4af154 Compilation fixes 2006-01-28 20:54:11 +01:00
645689f1aa I have no idea why it is still crashing. This is last attempt
today to fix it
2006-01-28 19:57:40 +01:00
Jonas Fonseca
20f5b76bb2 ECMASCRIPT: Fix unused SEE specific variables when using spidermonkey 2006-01-28 18:26:45 +01:00
de468660f1 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-28 17:20:22 +01:00
71871edd43 Maybe this time it won't crash 2006-01-28 17:08:45 +01:00
Jonas Fonseca
c223f6ce94 Sed the expected output instead of the output from sgml-parser 2006-01-28 15:12:49 +01:00
Jonas Fonseca
03c467bcbf Move URI normalization to the test library 2006-01-28 15:03:19 +01:00
7c7541f4d1 parent, self and top are the same since now 2006-01-28 14:15:55 +01:00
52d3a6411d Sort links when necessary 2006-01-28 14:13:41 +01:00
dacb694e33 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-28 12:11:29 +01:00
997f61bb32 Use document_view instead of view_state. It is safer probably 2006-01-28 12:07:00 +01:00
9cc9db4e24 Handling onsubmit 2006-01-28 11:17:22 +01:00
6e4c80a29e Avoid memleak 2006-01-28 08:37:58 +01:00
Jonas Fonseca
99067f0497 Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-28 04:52:04 +01:00
Jonas Fonseca
b6b6d3c67e DOM: Allocate all node strings when doing incremental rendering
This changes init_dom_node_() to take an allocated argument saying whether
to allocate or not. If the value is -1, node->allocated will be set to the
value of node->parent->allocated. This way the value is inherited like we
do it in the menu code. It should be a sane default since we eventually
want not to rely on the 'underlying' source of the document and there will
be less variables to pass around.
2006-01-28 04:51:25 +01:00
Jonas Fonseca
24a9d103b4 DOM: Add allocated flag to struct dom_node; replaces subtype flags
Prepare for handling of allocated strings in the various nodes.
2006-01-28 04:50:04 +01:00
Miciah Dashiel Butler Masters
495fb2805b SMJS: Give user scripts access to the view_state
Introduce the view_state object to ECMAScript with properties .uri and
.plain and pass the current view_state to preformat hooks.
2006-01-28 03:27:45 +00:00
Jonas Fonseca
3b183c1685 Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-28 03:36:47 +01:00
Jonas Fonseca
95c1de2315 Fix handling of incomplete processing instructions
When doing incremental rendering we now require the whole thing to be there
and that there is room for two tokens in the scanner token table.  This is
necessary because we have to generate both a processing target token and a
processing data token to make life simpler for the parser.

Remove processing instruction data case label from the main parser loop. It
is safer this way since it already assumes that the processing target token
has been stored.
2006-01-28 03:35:36 +01:00
Jonas Fonseca
823c594524 Use ssize_t instead of size_t for length since it must carry a signed value 2006-01-28 03:24:16 +01:00
Jonas Fonseca
00c4e0bfa2 Do not attempt to read *string when string == scanner->end
There might be other places that needs to be reviewd for this.
2006-01-28 03:23:06 +01:00
Jonas Fonseca
d92a074e40 Fix parsing of '<a< b>' where the scanner didn't rewind to the proper place
Add test for this tag soup combo.
2006-01-28 03:21:27 +01:00
Laurent MONIN
5114c9d110 Trim trailing whitespaces. 2006-01-28 01:59:22 +01:00
Laurent MONIN
bae3b58146 Fix a potential memleak. 2006-01-28 01:58:00 +01:00
Jonas Fonseca
e5e06764c4 Improve checks for incompleteness when parsing attributes
Check whether there are '=' and value tokens before handling them. If there
is any doubt the whole attribute structure is 'pushed back' into the
stream. That way incremental parsing will not add the value as a new
attribute because the name token was handled in the previous parsing run.
2006-01-28 01:40:56 +01:00
Jonas Fonseca
4ab1dde874 Preserve the scanner state when it is not the 'default' state
This is necessary to make it possible to resume parsing of element
attributes. Allows the incomplete string in the parsing state struct to
be unset.
2006-01-28 01:24:30 +01:00
Jonas Fonseca
c6e83d1d9c Assert parsing depth >= parser stack depth
Like the comment says popping parsing nodes during incremental parsing
might trigger this.
2006-01-28 01:12:03 +01:00
Jonas Fonseca
9e7b0d4fa3 Remove assertion logic from parse_sgml_attributes()
They are getting out of hand and making it hard to use the function in
'unusual' situations (like when resuming parsing inside elements).
2006-01-28 01:09:05 +01:00
Jonas Fonseca
1e104afbba Improve error checking when adding nodes
Fail with SGML_PARSER_CODE_MEM_ALLOC.
2006-01-28 01:05:42 +01:00
Jonas Fonseca
74728cab05 Also set the node subtype for <?xml-stylesheet?> 2006-01-28 01:00:28 +01:00
Jonas Fonseca
bccf5512d6 Force an incomplete token for quoted attribute values when there's no end 2006-01-28 00:56:48 +01:00
Jonas Fonseca
a2376609e3 Expand the testing of incremental parsing
There are still some bugs to resolve.
2006-01-28 00:50:06 +01:00
1cd1786f9c Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-27 18:06:31 +01:00
b1b66db850 Success. document.write works for me. 2006-01-27 16:54:39 +01:00
9c9fa1d81c Defined document.write and document.writeln for SEE 2006-01-27 14:55:53 +01:00
8bf45d0ece Spidermonkey's document.write and document.writeln defined. They work,
but rendering doesn't work
2006-01-27 13:29:38 +01:00
2551fe3525 Render html written by document.write. I'm not sure if format_html_part
is called right way
2006-01-27 12:41:35 +01:00
62d42380f8 Added ret param for document.write 2006-01-27 12:07:45 +01:00
2f0490cb04 Eval embedded scripts at once 2006-01-27 10:26:58 +01:00
6761b3995d Avoided code duplication 2006-01-27 10:08:19 +01:00
Jonas Fonseca
0f8aa77ebb Add test for incremental SGML parsing
It is a loop that parses the same small document with various read sizes.
The sgml-parser program is updated to take --stdin option taking a the read
size as a required parameter.
2006-01-27 07:49:15 +01:00
Jonas Fonseca
b25cd27232 Add support incremental parsing
That is, add the last parts that saves and resumes previous incomplete
parsing states. Now the parsing stack push handler checks if the parent has
a resume flag set. When set, the incomplete fragment to resume is restored
and the new source fragment appended and parsing is continued.
2006-01-27 07:47:17 +01:00
Jonas Fonseca
9d91994f3c Propone updating the scanner->state until incompleteness has been checked
That way the scanner state is meaningful when resuming during incremental
parsing.
2006-01-27 07:41:42 +01:00
e8030e09fd Set text/plain for errors 2006-01-26 18:35:58 +01:00
8d4f44f2f1 Content-Type handling 2006-01-26 18:20:13 +01:00
f47daa2291 Use slashes after directories. Blocks are not used where there is only
one instruction
2006-01-26 14:34:11 +01:00
Jonas Fonseca
20498d7140 Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-25 23:17:13 +01:00
Jonas Fonseca
bea1a0c559 Handle <base href=""> for HTML source rendering
Requested by witekfl.
2006-01-25 23:16:30 +01:00
Jonas Fonseca
89a95a5fc5 Rename enum html_element_type to html_element_mortality_type
This name is reserved for DOM.
2006-01-25 23:13:10 +01:00
witekfl
e5dbbff398 Set returned value. 2006-01-25 22:22:10 +01:00
witekfl
ea2d7a3325 Simplification. 2006-01-25 20:19:55 +01:00
Jonas Fonseca
afb45aace5 Add support for scanning comment endings such as '--!>' correctly 2006-01-25 18:18:01 +01:00
Laurent MONIN
cf8de45782 Cleanup and tidy up window.open workaround. 2006-01-25 17:20:47 +01:00
Laurent MONIN
f6f66a28c8 Fix warning: variable xxx might be clobbered by longjmp or vfork, that
occur with gcc 2.95.3.
2006-01-25 17:03:15 +01:00
witekfl
c204af75fe Because of gradual rendering window.open is called many times with the same
arguments. This workaround remembers 8 last opened URLs and do not let
open them again.
2006-01-25 11:50:46 +01:00
c75fdeec39 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-22 10:27:13 +01:00
Jonas Fonseca
7e6f398602 Revert OBJECT_HEAD() part of tcc cleanups
The LIST_HEAD() change to OBJECT_HEAD() doesn't work when debuging is
enabled.

Fixes: d18809522e
2006-01-22 06:18:40 +01:00
Jonas Fonseca
ba3e4a611d Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-21 23:38:15 +01:00
61c43faacc Do not include see/see.h in header files 2006-01-21 22:19:22 +01:00
d18809522e Make elinks tcc (tiny C compiler) friendly.
If you want to try tcc use CC=tcc ./configure and make LD=tcc.
I built ELinks with tcc, but ELinks segfaults.
2006-01-21 21:33:23 +01:00
Jonas Fonseca
384a2d66e5 Fix inclusion of header files after CONFIG_{MD5,SHA1} were removed
Fixes: 206037eaa4
2006-01-21 08:44:19 +01:00
Jonas Fonseca
3f659f7876 Fix the mailcap test program's dependency on gettext 2006-01-21 08:32:17 +01:00
Jonas Fonseca
91e8fdf34b Fix the EPLF FTP parser test to run FreeBSD 2006-01-21 08:28:57 +01:00
Jonas Fonseca
4570c4976e Use CONFIG_ECMASCRIPT_SMJS in favour of CONFIG_SPIDERMONKEY, specificity! 2006-01-20 15:56:40 +01:00
Jonas Fonseca
2eba71d95b Add support for testing normalization using the DOM configuration module 2006-01-20 02:08:46 +01:00
Jonas Fonseca
cc61578fcb Fix node pushing in walk_dom_nodes() 2006-01-20 02:07:24 +01:00
Jonas Fonseca
22e647813e Fix DOM_CONFIG_NORMALIZE_WHITESPACE comment 2006-01-20 02:06:41 +01:00
Jonas Fonseca
7fe214fbb2 Fix text node appending; fix DOM configuration parser 2006-01-19 04:54:30 +01:00
Jonas Fonseca
fe43bf8a4f Fix leaks in the DOM stack tracer 2006-01-19 04:51:33 +01:00
Jonas Fonseca
126ae8c764 #include dom/node.h instead of dom/stack.h 2006-01-19 04:50:10 +01:00
Jonas Fonseca
cbee566144 Increase the max length of filenames to 15 for the LOG_* system 2006-01-19 04:25:11 +01:00
Jonas Fonseca
206037eaa4 Handle the logic for util/{md5,sha1} in the Makefile 2006-01-19 02:08:07 +01:00
Jonas Fonseca
359d835050 Handle the logic for util/scanner in the Makefile; less CONFIG_* variables 2006-01-19 01:24:42 +01:00
Jonas Fonseca
ba45514339 Change the SMJS scripting module name to Spidermonkey ECMAScript 2006-01-19 00:14:50 +01:00
Jonas Fonseca
c97b4be9b9 Move SUBDIRS and OBJS defining before their conditional defining 2006-01-18 21:53:13 +01:00
Jonas Fonseca
7f076a8832 Also compile in protocol/common when CGI is enabled 2006-01-18 21:50:43 +01:00
Miciah Dashiel Butler Masters
3b5724edd5 look_for_link: simplify string
Use stracpy(empty_string_or_(target_base)) instead of
null_or_stracpy(target_base) and then stracpy("") if that returns NULL.
2006-01-18 20:38:33 +00:00
Miciah Dashiel Butler Masters
958b0d308d Re-introduce the stracpy in the correct place
See commit 836744ea84 and commit
bf3faa5c2b.
2006-01-18 20:26:01 +00:00
witekfl
1d65718ace When there is no frame with given name do goto_uri_frame using static
buffer.
2006-01-18 20:16:17 +01:00
witekfl
bf3faa5c2b There is no reason to "stracpy" already allocated string. 2006-01-18 20:08:50 +01:00
witekfl
095e440270 Used protocol/common.h in CGI 2006-01-18 18:11:29 +01:00
Jonas Fonseca
b8230326ce Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-18 00:26:21 +01:00
2de1a840a6 I was wrong. self is function object, thisobj is peculiar object 2006-01-17 20:29:48 +01:00
Jonas Fonseca
34b12d21bd Upgrade to use dom_stack_codes in the callbacks 2006-01-17 16:58:19 +01:00
Jonas Fonseca
2cd151c5c5 Add parse_dom_config() which converts a textual config list to flags 2006-01-17 16:55:10 +01:00
Miciah Dashiel Butler Masters
836744ea84 js_window_open: Fix extra free that I just introduced
Assign deo->target a copy of target instead of target itself because
delayed_goto_uri_frame frees deo->target and SpiderMonkey owns target.

Reported by Jonas.
2006-01-17 03:15:56 +00:00
Laurent MONIN
dab904cff5 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-17 01:19:17 +01:00
Laurent MONIN
3133db3474 Use elinks_ulongcat() instead of snprintf(). 2006-01-17 01:18:45 +01:00
Jonas Fonseca
c7bdf62152 Remove unused fsp_info struct; use sizeof(*table); fix dir entry hiliting 2006-01-17 00:54:06 +01:00
Laurent MONIN
864745b55e Make 8-bytes buffer more obvious. 2006-01-17 00:48:25 +01:00
Jonas Fonseca
28fbb9317b Simplify URI string grapping; make dir listing more like FTP; use READ_SIZE 2006-01-17 00:40:27 +01:00
Laurent MONIN
a9907297b4 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-17 00:22:40 +01:00
Jonas Fonseca
54863e537f Minor space cleanups; use pid_t; abort_connection() will close_socket() 2006-01-17 00:06:24 +01:00
Laurent MONIN
491654975d Trim trailing whitespaces. 2006-01-16 23:51:02 +01:00
Laurent MONIN
8fe86eac0b Typo fix. 2006-01-16 23:50:34 +01:00
Jonas Fonseca
bb12fbca37 Add protocol/common files ;) 2006-01-16 23:42:17 +01:00
Jonas Fonseca
0955086a6f Move close_all_non_term_fd() shared by SMB and FSP to protocol/common
Stick a note near the OBJS sorting that it is there also to filter out
duplicates, which are now occuring with SMB and FSP compiled in.
2006-01-16 23:32:27 +01:00
Miciah Dashiel Butler Masters
466bb18be0 Move delayed_open to src/terminal/tab.c
The two copies of delayed_open in src/ecmascript/spidermonkey/window.c
and in src/ecmascript/see/window.c are identical, so move them
to src/terminal/tab.c and eliminate the duplication.
2006-01-16 19:28:03 +00:00
Miciah Dashiel Butler Masters
1f68492d57 Move delayed_goto_uri_frame to src/session/task.c
Until the last change in src/ecmascript/see/window.c, the two copies
of delayed_goto_uri_frame in src/ecmascript/spidermonkey/window.c and
in src/ecmascript/see/window.c were identical. That change applies to
both versions, so move the newer one to src/session/task.c and eliminate
the duplication. Also move struct delayed_open to src/session/session.h.
2006-01-16 19:18:33 +00:00
178c50cf40 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-16 16:18:52 +01:00
6cd9a11fdc Use frame->name instead of target avoiding possible segfault. 2006-01-16 14:32:13 +01:00
b8126ea9de Introduced ecmascript submodules 2006-01-16 14:14:14 +01:00
8782b01659 thisobj is for function object, self is for
object
2006-01-16 13:51:08 +01:00
04b253eef9 Make PHP 5 happy. 2006-01-16 11:45:17 +01:00
bb9b4437fa - FSP protocol 2006-01-16 11:40:13 +01:00
Jonas Fonseca
1d52d67e50 Add get_dom_node_child() which searches for a node with given type 2006-01-16 07:11:02 +01:00
Jonas Fonseca
6c85c0f009 Add DOM configuration inspired module
It add support for normalizing a DOM document in various ways, such as
removing comments, converting CDATA section nodes to text nodes, cleanup
whitespace, etc.

Use it in the RSS renderer to sanitize the text to be rendered.
2006-01-16 05:12:34 +01:00
Jonas Fonseca
768f97c38e Add get_dom_node_prev() which gets the previous sibling of a DOM node 2006-01-16 05:10:22 +01:00
Jonas Fonseca
4e6b05394d ADD DOM_STACK_CODE_FREE_NODE so callbacks can remove nodes when popping 2006-01-16 05:09:45 +01:00
Jonas Fonseca
eecc22751d Use dom_stack_code enum for dom_stack_callback_T 2006-01-16 00:55:58 +01:00
Jonas Fonseca
4a2cde1c00 Introduce dom_stack_code enum and use it for push_dom_node() 2006-01-16 00:40:51 +01:00
Jonas Fonseca
6deb090b48 Blast some more .vimrc files which for some strange reason was uncommitable 2006-01-15 19:14:10 +01:00
Jonas Fonseca
2748d043f9 Autogenerate .vimrc files and put the master in config/vimrc
This changes the init target to be idempotent: most importantly it will now
never overwrite a Makefile if it exists. Additionally 'make init' will
generate the .vimrc files. Yay, no more stupid 'added fairies' commits! ;)
2006-01-15 18:38:58 +01:00
Kalle Olavi Niemitalo
5a5d223020 Merge with http://elinks.cz/elinks.git 2006-01-15 15:06:08 +02:00
Laurent MONIN
c1305b3e5b #define filenames. 2006-01-15 09:56:19 +01:00
Jonas Fonseca
53dea9c89e Change the Guile hooks file name from internal-hooks.scm to hooks.scm 2006-01-14 22:36:23 +01:00
Kalle Olavi Niemitalo
a7e465d785 Merge with http://elinks.cz/elinks.git 2006-01-14 21:38:13 +02:00
Kalle Olavi Niemitalo
5ab2a1ef6e Merge with 0fae27fc27
(via http://elinks.cz/elinks.git)
Resolved conflicts in src/osdep/newwin.c.
2006-01-14 21:37:33 +02:00
Kalle Olavi Niemitalo
556f933728 Merge with 80b0607167
(via http://elinks.cz/elinks.git)
2006-01-14 21:33:04 +02:00
Kalle Olavi Niemitalo
c31450e862 Merge with 76751d1935
(via http://elinks.cz/elinks.git)
2006-01-14 21:31:24 +02:00
Kalle Olavi Niemitalo
89fe822f70 Merge with 6a9ea02f3a
(via http://elinks.cz/elinks.git)
2006-01-14 21:30:12 +02:00
Kalle Olavi Niemitalo
df4bf7f9ec Merge with cd493ae7a8
(via http://elinks.cz/elinks.git)
2006-01-14 21:12:49 +02:00
Jonas Fonseca
082031c10c Fix SGML parser test program 2006-01-14 12:44:06 +01:00
Jonas Fonseca
c8aa6c2360 Move struct sgml_parsing_state near the parsing state managing 2006-01-14 12:11:35 +01:00
Jonas Fonseca
e70b779366 Add code member to struct sgml_parser and simplify parsing state setup
parse_sgml() now just pushes a text node on the parsing state and the push
handler will now call parse_sgml_plain() and save the return code in
parser->code so parse_sgml() can return it. Much simpler.
2006-01-14 12:09:17 +01:00
Jonas Fonseca
b9316b3a9c Fix a few possible leaks 2006-01-14 12:06:10 +01:00
Jonas Fonseca
0950996dd8 Change parse_sgml() to take buf+bufsize instead of DOM string 2006-01-14 11:32:11 +01:00
Jonas Fonseca
0c866fd8ae Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-14 11:01:28 +01:00
Jonas Fonseca
5d38e99465 Sort Makefile conditionals 2006-01-14 10:41:58 +01:00
Jonas Fonseca
af564bb101 Fix typo 2006-01-14 08:24:11 +01:00
Jonas Fonseca
aecfb28711 Cleanup SGML info backends #includes and description 2006-01-14 08:07:00 +01:00
Laurent MONIN
b7b33bae9b Fix a memleak that may occur on systems without alloca(), backport from
gettext 0.14.5.
2006-01-13 13:58:13 +01:00
Laurent MONIN
f7e435fcf3 Upgrade config.charset to latest version from gnu gettext. 2006-01-13 13:22:09 +01:00
Laurent MONIN
5685221512 Trim trailing whitespaces. 2006-01-13 00:11:39 +01:00
Laurent MONIN
768a962077 Add a comment about CONFIG_TCP_INTERLINK. 2006-01-13 00:10:06 +01:00
Laurent MONIN
bdc59d5ac4 Store lib.o name in a variable named LIB_O_NAME. 2006-01-12 19:06:50 +01:00
Laurent MONIN
7cc17f7dce Cosmetic change. 2006-01-12 18:44:26 +01:00
Laurent MONIN
fd39e595a3 CONFIG_SEE -> CONFIG_ECMASCRIPT_SEE. 2006-01-12 17:33:33 +01:00
Laurent MONIN
2965be7721 There is no SEE scripting anymore so fix that conditionnal. 2006-01-12 17:23:05 +01:00
witekfl
cbb1c5ea23 Fixes some bugs related with SEE 2006-01-12 15:21:32 +01:00
Jonas Fonseca
3e202cd2ef Include osdep/stat.h to get S_* macros 2006-01-12 03:26:58 +01:00
witekfl
0fae27fc27 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-11 20:40:57 +01:00
witekfl
80b0607167 Prevent flooding. Similar to rate_limit. What is the origin of "flood" is
unknown to me.
2006-01-11 20:40:22 +01:00
Laurent MONIN
3f9bb0d7f9 CONFIG_BEOS -> CONFIG_OS_BEOS 2006-01-11 20:12:59 +01:00
Laurent MONIN
202965d338 CONFIG_WIN32 -> CONFIG_OS_WIN32 2006-01-11 20:10:27 +01:00
Laurent MONIN
86f5f2cf48 CONFIG_UNIX -> CONFIG_OS_UNIX 2006-01-11 20:10:27 +01:00
Laurent MONIN
9eafa94fd9 CONFIG_RISCOS -> CONFIG_OS_RISCOS 2006-01-11 20:10:26 +01:00
Laurent MONIN
b6ccfc0e07 CONFIG_OS2 -> CONFIG_OS_OS2 2006-01-11 20:10:26 +01:00
Laurent MONIN
a9b8abb70c 2006-01-11 14:14:11 +01:00
Laurent MONIN
52537b6733 2006-01-11 14:10:58 +01:00
Laurent MONIN
76751d1935 2006-01-11 14:10:51 +01:00
Laurent MONIN
5805586f0f 2006-01-11 14:10:41 +01:00
Laurent MONIN
4b2b5798ab 2006-01-11 14:07:17 +01:00
Laurent MONIN
f7a2dfc12a CONFIG_LUA -> CONFIG_SCRIPTING_LUA 2006-01-11 14:06:13 +01:00
Laurent MONIN
043e6aa4e7 More white lines. 2006-01-11 13:45:09 +01:00
witekfl
6a9ea02f3a Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-11 13:20:38 +01:00
witekfl
179fdf2bb1 Global open() and alert(). Both ECMAScript engines has similar state.
Both doesn't work with my bank account :(
2006-01-11 13:19:51 +01:00
Jonas Fonseca
2d80258f72 Mark doc'd headers with: /* API Doc :: <api-name> */ 2006-01-11 11:03:59 +01:00
witekfl
c2e9448f49 Fixed focus() in SEE ecmascript. 2006-01-11 09:17:17 +01:00
Jonas Fonseca
1d2a6e4d1b Introduce CONFIG_ECMASCRIPT_SMJS used for Spidermonkey document scripting
It makes it possible to build with SEE document scripting and Spidermonkey
browser scripting.
2006-01-11 02:21:53 +01:00
Jonas Fonseca
d160a9993e Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-11 01:59:04 +01:00
Jonas Fonseca
4b132e0f63 A few compile fixes
You should _always_ #include "elinks.h" before other ELinks header files,
to take care of CONFIG_DEBUG. Drop unused variable.
2006-01-11 01:57:03 +01:00
Jonas Fonseca
ccc6527bba Fix smjs scripting #ifdefs to use CONFIG_SM_SCRIPTING 2006-01-11 01:55:24 +01:00
Laurent MONIN
3efe402722 Complete the list of S_I* macros. 2006-01-10 23:59:14 +01:00
Laurent MONIN
b8e64a5ee0 Simplify secure_open() call, make it a wrapper around secure_open_umask(). 2006-01-10 23:49:35 +01:00
Laurent MONIN
151bcbd3a2 Prefer S_I?USR and S_IRWXU over obsolete S_IREAD, S_IWRITE, S_IEXEC. 2006-01-10 23:40:39 +01:00
Laurent MONIN
88de36b8d2 Use mode_t and mode macros everywhere. 2006-01-10 23:36:06 +01:00
Laurent MONIN
9b88da873a Use mode_t and mode macros everywhere. 2006-01-10 23:35:22 +01:00
Jonas Fonseca
cd493ae7a8 Remove see.o 2006-01-10 20:38:43 +01:00
Kalle Olavi Niemitalo
9deceafa0b Merge with http://elinks.cz/elinks.git 2006-01-10 21:02:21 +02:00
witekfl
d8592e4f99 Alternative experimental ECMAScript engine. 2006-01-10 19:17:29 +01:00
Jonas Fonseca
d2e346436a Hmm, seem b.delta decided not to become 0x03B4 like it should 2006-01-10 15:39:11 +01:00
Jonas Fonseca
b673e64e10 As a stop gap measure avoid using NULL entry->nonce and realms
Reported by xmath. Obviously needs to be looked into.
2006-01-10 15:35:15 +01:00
Jonas Fonseca
63d754f85b Convert the RSS title string 2006-01-09 19:14:28 +01:00
Jonas Fonseca
9877579c63 This years batch of Gopher fixes
Two crash fixes, and really make the directory 'view' the default.
2006-01-09 15:13:44 +01:00
Jonas Fonseca
dd2516f597 Oops, someone added stuff he wuz not s'posed to 2006-01-09 14:11:29 +01:00
Jonas Fonseca
620730e642 Document the DOM scanner 2006-01-09 14:01:48 +01:00
Jonas Fonseca
3b166b0633 Document the DOM stack 2006-01-09 12:44:57 +01:00
Jonas Fonseca
938c8a80b4 Support more implicit markup of source files 2006-01-09 11:01:36 +01:00
Jonas Fonseca
4dd9db446b init_html_parser_state(): Drop local html_element variable 2006-01-09 02:56:44 +01:00
Jonas Fonseca
20bd19e4c5 The RSS document title to channel->title 2006-01-09 02:18:57 +01:00
Kalle Olavi Niemitalo
7c80c67759 Don't include <sys/param.h> in util/math for MAX/MIN
<sys/param.h> includes <linux/param.h>, which includes <asm/param.h>, which
includes <asm-i486/param.h>, which includes <linux/config.h>, which
includes <linux/autoconf.h>, which includes <asm-i486/autoconf.h>, which
undefines CONFIG_IPV6.
2006-01-09 02:09:59 +01:00
Jonas Fonseca
5339525f1d Oops, kill_html_stack_top() -> pop_html_element() 2006-01-09 01:40:16 +01:00
Jonas Fonseca
fe10af364d Introduce pop_html_element(); wraps kill_html_stack_item(..., html_top) 2006-01-09 01:29:40 +01:00
Jonas Fonseca
94fd9303f3 Introduce html_bottom; similar to html_top 2006-01-09 01:24:54 +01:00
Jonas Fonseca
27283098f4 Clearify code a little 2006-01-09 01:24:38 +01:00
Jonas Fonseca
5808b4ae0c Make html_top have a pointer type; use it to declare format and par_format 2006-01-09 01:22:33 +01:00
Kalle Olavi Niemitalo
2cfd0a9bb4 Merge with http://elinks.cz/elinks.git 2006-01-09 02:20:27 +02:00
Jonas Fonseca
db11b6452f Fix a typo and a ref:[] 2006-01-09 01:20:03 +01:00
Jonas Fonseca
5b818b20ba Use the new asciidoc code markup to document the DOM sgml parser 2006-01-08 23:36:07 +01:00
Laurent MONIN
8fe7eb0357 check_uri_file(): use strcspn(). 2006-01-08 19:06:46 +01:00
Miciah Dashiel Butler Masters
5525339901 Fix add_document_to_string to add all chars in a line, not just the first
Revision 1.82 of src/scripting/lua/core.c and revision 1.42
of src/viewer/dump/dump.c (2 years, 2 months ago), which moved
add_document_to_string from the former to the latter, introduced
a logic error: the local variable pos was set in the outer loop,
which iterates thru the lines in the document, whereas it should be
(and had been) set in the inner loop, which iterates thru the columns.

This brings us all the way back to a working current_document_formatted
for Lua scripts.
2006-01-08 07:43:44 +00:00
Miciah Dashiel Butler Masters
38fe0f7292 Fix add_document_to_string to actually add stuff
Revision 1.147 (14 months, 2 weeks ago) broke the logic so that only
frame characters were added. This fixes that change, getting us halfway
back to a working current_document_formatted function for Lua.
2006-01-08 07:34:59 +00:00
Jonas Fonseca
bc55cd55cb Add the basic support for rendering RSS documents
It is very simple for now, so it only displays headlines and doesn't
support a whole lot of RSS flavours.
2006-01-08 03:44:23 +01:00
Jonas Fonseca
2f9c406ef1 Introduce add_to_dom_string() and turn init_dom_string() into its user 2006-01-08 03:40:54 +01:00
Jonas Fonseca
acb1f7e74d Refactor computation of scanner error string length to get_sgml_error_end() 2006-01-07 23:51:19 +01:00
Jonas Fonseca
534a16fff1 Improve error detection 2006-01-07 23:40:21 +01:00
Laurent MONIN
8f2d4860bc Trim trailing whitespaces. 2006-01-07 21:02:51 +01:00
Laurent MONIN
eda6529ced check_uri_file(): optimize by not using strlen() more than needed. 2006-01-07 21:00:51 +01:00
Laurent MONIN
9183e0cf04 check_whether_file_exists(): optimize by not using strlen() more than
needed.
2006-01-07 20:59:34 +01:00
Jonas Fonseca
d0be89a16c When requested to open local files with a handler use the file in place
Everything else is really stupid, i.e. to go through the callback-infested
download code. A parly fix of bug 238 (caching of local files).
2006-01-07 20:19:37 +01:00
Jonas Fonseca
21f9b59130 Use check_whether_file_exists() when encoding a file URI string
The file URI encoding is done in translate_url() immediately after the call
to find_uri_protocol() [which also uses check_whether_file_exists()]. So it
only makes sense to use check_whether_file_exists() also here since this is
a potential ambiguous URL from the user.

This fixes handling of files like 'a?b' given the command line, reported by
rrowan. It broke (for the n-th time ;) in CVS version 1.317->1.318 back in
August. The fix preserves the intend of that patch, namely the intend to
optimize the number of calls to file_exists().
2006-01-07 19:16:51 +01:00
Jonas Fonseca
0c1e8a713d Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-07 05:19:06 +01:00
Jonas Fonseca
3835bf8449 A handful of fixes related to error detection
- Fix assertion failure by breaking the switch if an error token is next
   when previous was a processing instruction.
 - Fix <!notation parsing by skipping ident chars instead of spaces.
 - Improve checking of processing instruction 'target'-end and what error
   string is generated.
 - For now put all of the processing instruction data in the error token.
 - Remove a DBG()-print.
2006-01-07 05:18:43 +01:00
Jonas Fonseca
97f403a9d9 Add a test file for checking detection of errors by the SGML parser 2006-01-07 05:15:16 +01:00
Jonas Fonseca
03ee543e21 Make sgml-parser request error detection when passed --error option 2006-01-07 04:27:08 +01:00
Jonas Fonseca
c993a0012e Add basic support for detection errors while scanning
It mostly uses the checking for incompleteness already in place. Tested
lightly so it will definately need some more work.
2006-01-07 04:26:08 +01:00
Jonas Fonseca
5defc48eb3 Add basic support for requesting error detection; SGML scanner part missing 2006-01-07 04:21:39 +01:00
Jonas Fonseca
a1e5122183 Drop unnneeded URL argument and simplify test helpers 2006-01-07 02:14:45 +01:00
Laurent MONIN
6182b50679 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-07 02:04:04 +01:00
Jonas Fonseca
f1c3c90a4f Move line counting tests to own file; simplifies a few things 2006-01-07 02:02:21 +01:00
Laurent MONIN
ee0dc57771 exec_on_master_terminal(): tidy up. 2006-01-07 01:57:11 +01:00
Laurent MONIN
2e67ca1df9 exec_on_master_terminal(): drop old commented code. 2006-01-07 01:55:18 +01:00
Laurent MONIN
16e2724c12 exec_on_master_terminal(): move code to caller instead. 2006-01-07 01:54:44 +01:00
Laurent MONIN
df138c775a exec_on_master_terminal(): reduce code redundancy a bit and use
fmem_alloc() instead of mem_alloc().
2006-01-07 01:52:35 +01:00
Laurent MONIN
b09d2c7a3f exec_on_slave_terminal(): reduce indentation level and use fmem_alloc()
instead of mem_alloc().
2006-01-07 01:49:12 +01:00
Jonas Fonseca
dee8ac5b45 Move test for incompleteness to own file 2006-01-07 01:48:51 +01:00
Laurent MONIN
a2b9d8bb78 Explode exec_on_terminal() to new exec_on_master_terminal() and
exec_on_slave_terminal().
2006-01-07 01:47:36 +01:00
Jonas Fonseca
7ff2cb2607 Improve a comment a bit 2006-01-07 01:41:07 +01:00
Jonas Fonseca
7c65c06b41 Move up enum sgml_parser_code declaration 2006-01-07 01:29:44 +01:00
Laurent MONIN
450e44a598 exec_on_terminal(): simplify code. 2006-01-07 01:28:54 +01:00
Jonas Fonseca
c9c41e38a2 test_expect_incomplete(): Put sgml-parser output to /dev/null 2006-01-07 01:27:48 +01:00
Jonas Fonseca
f8d44ffe32 scan_sgml_tokens(): Drop local variable and use scanner->current
... so lower level scanners can change the next token to use.
2006-01-07 01:25:42 +01:00
Jonas Fonseca
bca330fcbd Simplify incomplete test helper and fix quoting problem 2006-01-07 01:22:14 +01:00
Jonas Fonseca
2a11525d1a Fix a few typos 2006-01-06 22:32:07 +01:00
Jonas Fonseca
3fd2828fb0 Add a simple test script of the mailcap cache
It has a few nasty hacks to reduce the dependencies on defined symbols.
2006-01-06 22:18:11 +01:00
Jonas Fonseca
215d7ec158 Append memdebug to test dependencies in Makefile.lib 2006-01-06 22:11:45 +01:00
Laurent MONIN
d767650585 check_hotkeys_common(): @res -> @found. 2006-01-06 21:37:36 +01:00
Laurent MONIN
c08d932433 Merge is_hotkey(), is_not_so_hotkey() and check_hotkeys_common() to
reduce code redundancy and speed up things.
2006-01-06 21:34:57 +01:00
Jonas Fonseca
5f5c78a87f Realign the test docs with reality 2006-01-06 18:32:22 +01:00
Petr Baudis
a637349b32 Prevent complaining about leaking clipboard 2006-01-06 17:08:38 +01:00
Jonas Fonseca
0c40ff05c9 Fix compilation of get_clipboard_text() 2006-01-06 15:48:15 +01:00
Petr Baudis
f18de1d3f3 Internal clipboard support 2006-01-06 12:02:51 +01:00
Petr Baudis
173e68ccfa Support for pasting from GNU screen clipboard 2006-01-06 12:00:30 +01:00
Kalle Olavi Niemitalo
93714a3e35 Merge with http://elinks.cz/elinks.git 2006-01-06 02:13:11 +02:00
Miciah Dashiel Butler Masters
a645bb2ead Do return EVENT_NOT_PROCESSED from hierbox_ev_init and hierbox_ev_abort
hierbox_ev_init and hierbox_ev_abort must return EVENT_NOT_PROCESSED
so that the generic dialog code runs and initialises the widgets and stuff.
This commit reverts commit f8310de64b to fix
a segfault and also adds comments to explain the unintuitive return value.
2006-01-05 23:41:18 +00:00
Laurent MONIN
18649c8988 connect_socket(): simplify code a bit. 2006-01-05 18:36:22 +01:00
Laurent MONIN
c6dfce8ad8 connect_socket(): set @pf at appropriate time. 2006-01-05 18:29:42 +01:00
Laurent MONIN
9e55cb0d2a connect_socket(): cache options values. 2006-01-05 18:28:16 +01:00
Jonas Fonseca
ab8a4b2847 Add more tests based on test/comments.html 2006-01-05 15:36:18 +01:00
Laurent MONIN
77156c021a Drop unused listbox widget height stuff. 2006-01-05 11:50:42 +01:00
Laurent MONIN
f8310de64b hierbox_ev_[init|abort](): it makes more sense to return EVENT_PROCESSED. 2006-01-05 11:44:29 +01:00
Laurent MONIN
a05b6c0636 hierbox_ev_kbd(): use a switch(). 2006-01-05 11:41:26 +01:00
Laurent MONIN
9dc2a7ffb7 Merge code from create_bittorrent_path() and mkalldirs(). Suggested by
Jonas. Simpler and better.
2006-01-05 10:49:05 +01:00
Laurent MONIN
c39a30ca49 Autocreate directories needed to download a file. 2006-01-04 21:52:15 +01:00
Laurent MONIN
73a99b6b99 Introduce functions to make directories, partly borrowed to wget. Not
yet used.
2006-01-04 21:43:42 +01:00
Laurent MONIN
2a71adda10 Revert
http://cvsweb.elinks.cz/cvsweb.cgi/elinks/src/util/file.c.diff?r1=1.44;r2=1.45
patch, which has to be reworked, without modifying file_exists().
2006-01-04 21:41:56 +01:00
Jonas Fonseca
84523875b3 Use get_opt_codepage_tree() and kill warning 2006-01-04 18:55:39 +01:00
Laurent MONIN
31c30864e0 Trim trailing whitespaces. 2006-01-04 18:08:48 +01:00
Laurent MONIN
88730120ba Define EL_PF_INET and EL_PF_INET6 to identify protocol in use instead
of numeric values.
2006-01-04 18:06:53 +01:00
Jonas Fonseca
359a29bb40 Make it possible to use more CSS properties with the source highlighting 2006-01-04 00:50:40 +01:00
Laurent MONIN
26e1ee5810 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2006-01-04 00:36:05 +01:00
Laurent MONIN
8b7657deaf Use PF_* instead of AF_* as first parameter of socket(2). 2006-01-04 00:32:58 +01:00
Jonas Fonseca
0bfb1d7742 Free nodes created on the SGML parsing stack 2006-01-04 00:29:10 +01:00
Jonas Fonseca
aa75cade23 Reinsert part of comment for nVDash; fixes 8e0eda5e4d 2006-01-03 23:38:37 +01:00
Jonas Fonseca
66cf866ab6 Cleanup the DOM stack flags; s/KEEP_NODES/FREE_NODES/ 2006-01-03 20:35:32 +01:00
Jonas Fonseca
7a5f699a88 Drop unneeded -b arg to cmp, which isn't available in FreeBSD's version 2006-01-03 20:00:06 +01:00
Jonas Fonseca
146ca09c43 Improve support for running 'make test' when srcdir != builddir
Additionally, also make TESTDEPS conditionally contain memdebug object
binary only if CONFIG_DEBUG is yes.
2006-01-03 19:04:17 +01:00
Jonas Fonseca
8f18d1c6c8 Rebuild the entity table with Unicode/gen-ent 2006-01-03 17:14:33 +01:00
Jonas Fonseca
a5d71488a2 Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-03 15:20:47 +01:00
Jonas Fonseca
638e0406f1 Drop empty lines from option descriptions; doc/tools/help2doc don't like em 2006-01-03 15:15:36 +01:00
Laurent MONIN
208d2b50fe Update year to 2006 in Copying message. 2006-01-03 13:37:15 +01:00
Laurent MONIN
0c9d2c5a6f Let ftp-parser displays usage information when called with no arg or
empty string, instead of core dump in debug mode.
2006-01-03 13:33:11 +01:00
Jonas Fonseca
50183bf5d8 Add support for recursively running all tests 2006-01-03 02:07:51 +01:00
Jonas Fonseca
5c091720f7 Sort TESTDEPS 2006-01-03 01:55:26 +01:00
Jonas Fonseca
c1eb5aa24f Also test parsing of EPLF FTP reponses 2006-01-03 01:55:18 +01:00
Jonas Fonseca
feb076a84a Add the ftp-parser test program 2006-01-03 01:32:43 +01:00
Jonas Fonseca
513c06f2d0 Remove last remains of the built-in FTP parser testing 2006-01-03 01:30:46 +01:00
Jonas Fonseca
90a1440c03 Make a test-ftp-parser test script and remove the 'built-in' one 2006-01-03 01:28:44 +01:00
Jonas Fonseca
ba5bdfec00 Move the 'make test' handling to Makefile.lib
The test rule is defined when TEST_PROGS is defined. Users should also set
TESTDEPS to get the correct object files linked in.
2006-01-03 00:45:22 +01:00
Jonas Fonseca
23f0085842 Move src/dom/test/libtest test/libtest.sh, put path to it in TEST_LIB 2006-01-03 00:34:10 +01:00
Jonas Fonseca
f88cbe6761 Add check of incomplete text 2006-01-02 22:35:03 +01:00
Jonas Fonseca
42156f4477 Change one test description to start with 'Parse ...' 2006-01-02 22:31:28 +01:00
Jonas Fonseca
c3c4dd12df Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-02 21:05:18 +01:00
Jonas Fonseca
f75ccffbc7 Fix SGML parsing and scanning so that all tests succeeds
This includes checking the return token of get_next_dom_scanner_token() and
fixing the calculated size of recovered processing instruction data tokens.
2006-01-02 21:04:51 +01:00
Jonas Fonseca
0160c0a464 Make it possible to test how incomplete input is parsed
Also fix the expected output of proc. instruction test.
2006-01-02 21:02:41 +01:00
Miciah Dashiel Butler Masters
97b5b9cfe1 Check for hooks.js before trying to load it.
Check file_exists(path) before calling smjs_do_file(path)
in smjs_load_hooks to fix an error message when there is no hooks.js,
reported by zas.
2006-01-02 18:53:13 +00:00
Jonas Fonseca
e78d43f1ac Add mode where the SGML scanner checks for completeness 2006-01-02 17:46:09 +01:00
Jonas Fonseca
af72dd8435 Make parse_sgml() return the sgml_parser_code enum
It is mostly just ignored for now. The SGML parser test tool will however
return parser code.
2006-01-02 17:40:42 +01:00
Jonas Fonseca
29279e71b7 Add SGML_TOKEN_INCOMPLETE and handle it in the parser 2006-01-02 17:20:39 +01:00
Jonas Fonseca
2d813f2cbf Introduce enum sgml_parser_code and make the parsers return something 2006-01-02 17:14:51 +01:00
Jonas Fonseca
fcf7677584 Skip spaces immediately when recognising '<?ident' 2006-01-02 16:58:48 +01:00
Jonas Fonseca
8c9324cc37 Add test for SGML such as, e.g. '<parent<child/></parent>' 2006-01-02 16:26:01 +01:00
Jonas Fonseca
0071ea696c Fix logic in update_number_of_lines() and tell parse_sgml() src is complete 2006-01-02 14:59:54 +01:00
Jonas Fonseca
2664a11a68 Merge with git+ssh://pasky/srv/git/elinks.git 2006-01-02 14:59:42 +01:00
Laurent MONIN
3f3b18e53b Indentation fix. 2006-01-02 10:50:49 +01:00
Jonas Fonseca
58c31f44a0 Clearify the code a bit 2006-01-02 03:06:47 +01:00
Jonas Fonseca
dc10be626e The attribute parsing of proc. instruction nodes has the complete source 2006-01-02 02:44:01 +01:00
Jonas Fonseca
f608e2a0ae Add the concept of completeness to strings being parsed and scanned
... not used yet.
2006-01-02 02:08:20 +01:00
Jonas Fonseca
6e9a18b444 fix a few bugs for line counting in plain text 2006-01-02 01:49:12 +01:00
Jonas Fonseca
7717862401 Make it possible to pass --print-lines to test line counting 2006-01-02 01:48:08 +01:00
Jonas Fonseca
247debe34f Add get_sgml_parser_line_number(), and fix a copy/paste error 2006-01-02 01:47:02 +01:00
Jonas Fonseca
275ba0b789 Use common print_indent() to simplify printf()-strings 2006-01-02 00:32:22 +01:00
Jonas Fonseca
b83bbf9c4a Add sgml_parser_flag which can be used to specify SGML_PARSER_COUNT_LINES 2006-01-02 00:29:37 +01:00
Jonas Fonseca
1801a21b50 init_sgml_parser(): Rename flags to stack_flags 2006-01-02 00:29:36 +01:00
Kalle Olavi Niemitalo
eb99af7a33 Merge with http://elinks.cz/elinks.git 2006-01-02 01:27:11 +02:00
Laurent MONIN
54997c506f Drop trailing whitespaces. 2006-01-02 00:15:20 +01:00
Jonas Fonseca
43b34dcb2f Add DocBook element and attribute definitions and drop a bogus file 2006-01-01 23:59:57 +01:00
Laurent MONIN
4ced25779d Add missing b flag to fopen() call. 2006-01-01 23:47:34 +01:00
Jonas Fonseca
021af4e87c Although aware ELinks doesn't need another sgml/doctype here is DocBook
It was created a long time ago so (I think) it deserves to survive. It
maps .sgml files to applicatino/docbook+xml and uses the highlighter.
2006-01-01 23:22:10 +01:00
Jonas Fonseca
7d64cb893c Improve (or rather fix) how document types are matched in the DOM renderer 2006-01-01 23:14:16 +01:00
Jonas Fonseca
c656a96a73 Use the simpler strcasecmp() instead of strcaselcmp() 2006-01-01 23:05:34 +01:00
Jonas Fonseca
479039fb9e Also highlight HTML if the MIME type is application/xhtml+xml 2006-01-01 23:02:41 +01:00
Jonas Fonseca
9c50072c97 Fix more problems when $(srcdir) is empty
Thanks to Kalle Olavi Niemitalo and Adam Golebiowski.
2006-01-01 22:54:44 +01:00
Kalle Olavi Niemitalo
21f61c5c06 Specify accelerator contexts for "Form f~ields". 2006-01-01 23:31:41 +02:00
Kalle Olavi Niemitalo
345ba7afcd Merge with http://elinks.cz/elinks.git 2006-01-01 19:05:44 +02:00
Kalle Olavi Niemitalo
4c2831677a Here is a framework that detects cases where a PO file assigns
the same accelerator key to multiple buttons in a dialog box or
to multiple items in a menu.  ELinks already has some support for
this but it requires the translator to run ELinks and manually
scan through all menus and dialogs.  The attached changes make it
possible to quickly detect and list any conflicts, including ones
that can only occur on operating systems or configurations that
the translator is not currently using.

The changes have no immediate effect on the elinks executable or
the MO files.  PO files become larger, however.

The scheme works like this:

- Like before, accelerator keys in translatable strings are
  tagged with the tilde (~) character.

- Whenever a C source file defines an accelerator key, it must
  assign one or more named "contexts" to it.  The translations in
  the PO files inherit these contexts.  If multiple strings use
  the same accelerator (case insensitive) in the same context,
  that's a conflict and can be detected automatically.

- The contexts are defined with "gettext_accelerator_context"
  comments in source files.  These comments delimit regions where
  all translatable strings containing tildes are given the same
  contexts.  There must be one special comment at the top of the
  region; it lists the contexts assigned to that region.  The
  region automatically ends at the end of the function (found
  with regexp /^\}/), but it can also be closed explicitly with
  another special comment.  The comments are formatted like this:

    /* [gettext_accelerator_context(foo, bar, baz)]
         begins a region that uses the contexts "foo", "bar", and "baz".
         The comma is the delimiter; whitespace is optional.

       [gettext_accelerator_context()]
         ends the region.  */

  The scripts don't currently check whether this syntax occurs
  inside or outside comments.

- The names of contexts consist of C identifiers delimited with
  periods.  I typically used the name of a function that sets
  up a dialog, or the name of an array where the items of a
  menu are listed.  There is a special feature for static
  functions: if the name begins with a period, then the period
  will be replaced with the name of the source file and a colon.

- If a menu is programmatically generated from multiple parts,
  of which some are never used together, so that it is safe to
  use the same accelerators in them, then it is necessary to
  define multiple contexts for the same menu.  link_menu() in
  src/viewer/text/link.c is the most complex example of this.

- During make update-po:

  - A Perl script (po/gather-accelerator-contexts.pl) reads
    po/elinks.pot, scans the source files listed in it for
    "gettext_accelerator_context" comments, and rewrites
    po/elinks.pot with "accelerator_context" comments that
    indicate the contexts of each msgid: the union of all
    contexts of all of its uses in the source files.  It also
    removes any "gettext_accelerator_context" comments that
    xgettext --add-comments has copied to elinks.pot.

  - If po/gather-accelerator-contexts.pl does not find any
    contexts for some use of an msgid that seems to contain an
    accelerator (because it contains a tilde), it warns.  If the
    tilde refers to e.g. "~/.elinks" and does not actually mark
    an accelerator, the warning can be silenced by specifying the
    special context "IGNORE", which the script otherwise ignores.

  - msgmerge copies the "accelerator_context" comments from
    po/elinks.pot to po/*.po.  Translators do not edit those
    comments.

- During make check-po:

  - Another Perl script (po/check-accelerator-contexts.pl) reads
    po/*.po and keeps track of which accelerators have been bound
    in each context.  It warns about any conflicts it finds.
    This script does not access the C source files; thus it does
    not matter if the line numbers in "#:" lines are out of date.

This implementation is not perfect and I am not proposing to
add it to the main source tree at this time.  Specifically:

- It introduces compile-time dependencies on Perl and Locale::PO.
  There should be a configure-time or compile-time check so that
  the new features are skipped if the prerequisites are missing.

- When the scripts include msgstr strings in warnings, they
  should transcode them from the charset of the PO file to the
  one specified by the user's locale.

- It is not adequately documented (well, except perhaps here).

- po/check-accelerator-contexts.pl reports the same conflict
  multiple times if it occurs in multiple contexts.

- The warning messages should include line numbers, so that users
  of Emacs could conveniently edit the conflicting part of the PO
  file.  This is not feasible with the current version of
  Locale::PO.

- Locale::PO does not understand #~ lines and spews warnings
  about them.  There is an ugly hack to hide these warnings.

- Jonas Fonseca suggested the script could propose accelerators
  that are still available.  This has not been implemented.

There are three files attached:

- po/gather-accelerator-contexts.pl: Augments elinks.pot with
  context information.

- po/check-accelerator-contexts.pl: Checks conflicts.

- accelerator-contexts.diff: Makes po/Makefile run the scripts,
  and adds special comments to source files.
2006-01-01 18:55:18 +02:00
Miciah Dashiel Butler Masters
34588e976d Change the keyboard accelerator for the cookie browser's Clear button
from C to L for great consistency.
2006-01-01 09:16:42 +00:00
Miciah Dashiel Butler Masters
290a03787b Redo a small comment. 2006-01-01 08:07:14 +00:00
Miciah Dashiel Butler Masters
227150d100 Merge the definition and initialisation of msg in 2006-01-01 08:07:14 +00:00
Miciah Dashiel Butler Masters
127b27bd49 Use listbox_message. 2006-01-01 08:07:14 +00:00
Miciah Dashiel Butler Masters
2ee5b85b9e Introduce and use local variable ops, assigned the value of box->ops, 2006-01-01 08:07:14 +00:00
Miciah Dashiel Butler Masters
985efb99b6 Introduce a macro listbox_message(msg) that tries ops->messages->msg 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
6114066803 Replace unsigned char *delete_messages[2][DELETE_ERRORS] with struct 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
4e83efb6d3 Drop a comment that should have gone with revision 1.129. 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
eeed2cd4a8 Use the local variable item instead of context->item, which is assigned 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
247fe95fea In hierbox_ev_kbd, use the local variable selected, which is assigned 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
4eb0cbf271 Introduce and use local variable item, assigned the value of 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
5042a48750 Re-indent recursively_goto_listbox. 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
6aed6ff96f Factor recursively_goto_listbox out of recursively_goto_each_listbox. 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
a4209b02fe Rename recursively_goto_listbox to recursively_goto_each_listbox. 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
ceb9222ee4 Drop a silly 'Setup box_item' comment in add_bookmark. 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
963452c65f Rename done_listbox_item parameter box_item to item. 2006-01-01 08:07:13 +00:00
Miciah Dashiel Butler Masters
fca29e75f8 Drop some unneeded comments. 2006-01-01 08:07:13 +00:00
Jonas Fonseca
6b62e0cb77 Declare struct sgml_parser_state above struct sgml_parser
... and describe the info member.
2005-12-31 20:02:39 +01:00
Jonas Fonseca
f0148c2ecf Keep struct sgml_parsing_state private to the parser 2005-12-31 19:59:11 +01:00
Jonas Fonseca
4a766f350b Just for fun also parse <?xml-stylesheet attributes 2005-12-31 03:13:39 +01:00
Jonas Fonseca
a578ed4667 Make the SGML scanner (optionally) keep track of line numbers
A new line is either \n or \f. The main logic for counting lines is in
skip_sgml{,_chars,_space}. For the general case where line numbers are not
wanted the code tries to avoid the extra checks for newlines.

This will be useful for reporting errors when loading the XBEL file.
2005-12-31 02:46:56 +01:00
Jonas Fonseca
b23beed031 Rename skip_comment() and skip_cdata_section() to conform to skip_sgml_*() 2005-12-31 02:00:09 +01:00
Jonas Fonseca
0891cda51e Introduce skip_sgml_space() that wraps scan_sgml(..., SGML_SCAN_WHITESPACE) 2005-12-31 01:57:54 +01:00
Jonas Fonseca
9264221635 Make init_dom_scanner() take the state arg and drop a macro 2005-12-31 01:55:38 +01:00
Jonas Fonseca
7489c134f7 Make non-terminated comments and cdata sections have 'the rest' as content 2005-12-31 01:47:57 +01:00
Jonas Fonseca
8f7f6abc16 Use skip_sgml_chars() in skip_comment() and skip_cdata_section() 2005-12-31 01:40:52 +01:00
Jonas Fonseca
4e10bcf772 Drop useless code for proc. instruction scanning 2005-12-31 01:18:49 +01:00
Jonas Fonseca
e8ff8bd5f0 Fix another off-by-one error similar to the SGML comment parsing 2005-12-31 01:14:52 +01:00
Jonas Fonseca
ab7ba39d42 Introduce skip_sgml_chars() to avoid usage of memchr() 2005-12-31 00:06:12 +01:00
Jonas Fonseca
14a3f9c0fd Disable dom-select building since it requires defining of DOM_STACK_TRACE 2005-12-31 00:05:49 +01:00
Jonas Fonseca
9a0bf83756 Add basic stuff for XBEL parsing/highlighting using the DOM engine 2005-12-30 22:19:32 +01:00
Jonas Fonseca
aa07b3edf4 Fix old (non) problem with using VERSION identifier by #undef'ing it first 2005-12-30 22:13:13 +01:00
Miciah Dashiel Butler Masters
9d713ff41d Write the bookmarks whether or not they are dirty if the backend has
changed since reading.
2005-12-30 21:08:50 +00:00
Jonas Fonseca
c0ece18042 Start showing RSS files in the plain view so it gets highlighted 2005-12-30 21:55:53 +01:00
Jonas Fonseca
65a114f4bc Sort the RSS elements, they are supposed to be binarily searchable 2005-12-30 21:46:44 +01:00
Jonas Fonseca
ad052c3985 Hey, hey Cripple Creek Fai^H^Herry 2005-12-30 21:19:46 +01:00
Jonas Fonseca
ff75d5086f Remove the DOM track tracer from the renderer 2005-12-30 13:08:42 +01:00
Miciah Dashiel Butler Masters
470da90699 Put documentation (doc/events.txt) and reality back into alignment
by changing goto_url_with_hook not to call goto_uri if get_hooked_uri
returns NULL, which it does if a hook returns "", which several hooks do.
2005-12-30 03:04:04 +00:00
Jonas Fonseca
41f1f5f9d3 Add a simple program for testing the DOM select code
It accepts --uri, --src and --selector args.
2005-12-30 03:33:48 +01:00
Jonas Fonseca
4f09ac99f7 Make it possible to identify the output of DOM stack tracers 2005-12-30 03:29:17 +01:00
Jonas Fonseca
0ddb5f2d18 Use the DOM stack tracer for getting a dump of active nodes 2005-12-30 03:02:59 +01:00
Jonas Fonseca
bd1beb1fab Use the stack when creating the select node hierachy 2005-12-30 02:59:34 +01:00
Jonas Fonseca
4868c23a06 Cleanup the DOM test Makefile so it's more generic and more silent 2005-12-30 02:19:25 +01:00
Jonas Fonseca
748bab64a7 Make the printed install paths simpler for man5 files when srcdir == builddir 2005-12-30 00:49:01 +01:00
Miciah Dashiel Butler Masters
6a44d5192d Fix a typo in an error message in cache_entry_set_property: s/get/set/ 2005-12-29 22:31:25 +00:00
Miciah Dashiel Butler Masters
65372061a0 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-29 22:29:39 +00:00
Miciah Dashiel Butler Masters
7f1711471f Drop an extra object_lock in bookmark_folder_get_property:
smjs_get_bookmark_object will lock the bookmark for us.
2005-12-29 22:19:19 +00:00
Miciah Dashiel Butler Masters
9e06b709d4 Return NULL when a script tries to get a bookmark that does not exist
in the given folder. (What was I thinking before?)
2005-12-29 22:18:45 +00:00
Jonas Fonseca
76a524ddf6 More <?xml and comment tests, fix an off-by-one error for comments skipping 2005-12-29 22:26:39 +01:00
Jonas Fonseca
bd877570d2 Test some more obscure proc. instructions and fix some assertion failures 2005-12-29 21:52:27 +01:00
Jonas Fonseca
57168e1fbc Handle <element path=/to/%61-&\one";files/> as a self-closing tag
Before the '/' before '>' would be interpreted as part of the attribute
value.  Hope this is sensible slurping of the markup soup.
2005-12-29 20:38:43 +01:00
Jonas Fonseca
958a4a1b51 Add tests for more things like space handling and obscure formatting 2005-12-29 19:13:48 +01:00
Jonas Fonseca
beb8337fc5 Add rule to make test run from src/dom dir 2005-12-29 18:33:59 +01:00
Jonas Fonseca
1a177491a0 Fix SGML parsing of processing instructions (<?xml ...?>)
It involves adding a new scanner state which is used only to generate a new
processing instruction (PI) data token. This removes some scanner specific
code from the parser and makes handling of PIs more generic. The data of
XML PIs are still parsed as attributes and added to the PI node.

The 6th test now succeeds. Hurrah!
2005-12-29 18:31:49 +01:00
Jonas Fonseca
c24c67ce59 Make it possible to initialise a scanner in a specific state 2005-12-29 18:20:03 +01:00
Jonas Fonseca
889a0f16f8 Fix the expected output of processing instruction parsing
Spaces after the target should be skipped.
2005-12-29 18:00:26 +01:00
Miciah Dashiel Butler Masters
684bac3b22 Define do_file before loading hooks.js in case hooks.js wants to use
do_file immediately.
2005-12-29 14:24:00 +00:00
Miciah Dashiel Butler Masters
ae42c586f8 Add elinks.home property. 2005-12-29 14:19:09 +00:00
Miciah Dashiel Butler Masters
a4be153703 Generalise the error message from smjs_do_file by dropping 'default'
from 'error loading default script file'.
2005-12-29 13:54:26 +00:00
Miciah Dashiel Butler Masters
b52a29f8c0 Let smjs_do_file return 0 to indicate failure and 1 to indicate
success. Add smjs_do_file_wrapper and let ECMAScript load files with
do_file(path).
2005-12-29 13:48:02 +00:00
Miciah Dashiel Butler Masters
cb506ea412 Factor smjs_do_file out of smjs_load_hooks. 2005-12-29 13:27:12 +00:00
Miciah Dashiel Butler Masters
9d4893e384 Mark smjs_load_hooks static. 2005-12-29 13:26:38 +00:00
Miciah Dashiel Butler Masters
79cf499cf9 Use JS_PropertyStub instead of NULL where applicable in JSClass
definitions.
2005-12-29 07:25:04 +00:00
Miciah Dashiel Butler Masters
46b1db47a2 Check JS_TRUE == ... instead of JS_FALSE != ... in smjs_get_keymap_object. 2005-12-29 07:20:33 +00:00
Miciah Dashiel Butler Masters
1ba2b6931a Don't check CACHE_ENTRY_LENGTH in cache_entry_set_property since, as
Jonas pointed out, .length is read-only, so SpiderMonkey will never
pass the setter CACHE_ENTRY_LENGTH. Anyway, .uri is also read-only and
is not handled in the setter.
2005-12-29 07:19:15 +00:00
Miciah Dashiel Butler Masters
898c2a8165 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-29 07:08:37 +00:00
Miciah Dashiel Butler Masters
17b7ffc7df Add elinks.bookmarks interface for reading bookmarks. 2005-12-29 07:05:31 +00:00
Jonas Fonseca
5a75bbc427 Merge with git+ssh://pasky/srv/git/elinks.git 2005-12-29 06:55:30 +01:00
Jonas Fonseca
ba5dbd3a18 Add test_output_equals helper and add a few more tests
The last one fails for now. Incorrect parsing of processing instructions.
2005-12-29 06:54:41 +01:00
Jonas Fonseca
23f21f1924 Fine tune how some of the nodes are printed, fix string compressing 2005-12-29 06:50:51 +01:00
Miciah Dashiel Butler Masters
59ffb72b8f Drop .or from elinks.or.cz. 2005-12-29 04:35:02 +00:00
Jonas Fonseca
602d2d8a66 Add README for the test infrastructure mostly pasted from git/t/README 2005-12-29 05:12:36 +01:00
Jonas Fonseca
d394cb0bc1 Grab GITs shell script-based test infrastructure and add "Hello world" test 2005-12-29 04:44:03 +01:00
Jonas Fonseca
f42b39ee3c Fix indentation so that things are printed at the start of the line 2005-12-29 04:39:20 +01:00
Jonas Fonseca
8dcbaa76f3 sgml-parser: Make it possible to specify the URL and the source to parse 2005-12-29 04:29:13 +01:00
Miciah Dashiel Butler Masters
006445cd09 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-29 00:57:46 +00:00
Jonas Fonseca
c475f1fc0c Drop linking with util/string.o, since memdebug no longer requires it 2005-12-28 23:07:06 +01:00
Jonas Fonseca
3d0fc33785 set_mem_comment(): Use memcpy() + NUL assignment instead of safe_strncpy()
... so as not to depend on util/string stuff.
2005-12-28 23:06:23 +01:00
Jonas Fonseca
4feba6d515 Use stdio when printing enhanced values instead of allocating first 2005-12-28 23:02:45 +01:00
Jonas Fonseca
92767165cc Merge with elution 2005-12-28 21:25:08 +01:00
Jonas Fonseca
4bbc25c532 Remove dependency on util/string.h from dom/string.h 2005-12-28 21:20:55 +01:00
Jonas Fonseca
9bd346c295 dom_scanner_token_contains(): Use strcasecmp() instead of strlcasecmp() 2005-12-28 21:18:08 +01:00
Jonas Fonseca
fb6ca9a390 Use dom_string for storing the name member of dom_scanner_string_mapping 2005-12-28 21:10:05 +01:00
Jonas Fonseca
f1015f8a6a Make files include dom/string.h instead of util/string.h directly 2005-12-28 20:45:55 +01:00
Jonas Fonseca
e34d0d3de4 Initialize the string->length in init_dom_string() 2005-12-28 19:49:22 +01:00
Jonas Fonseca
04ff274663 Merge with elution 2005-12-28 17:20:27 +01:00
Jonas Fonseca
5a936cf99c Fix parsetst building 2005-12-28 17:16:39 +01:00
Jonas Fonseca
1b71368459 Add proof-of-concept stand-alone test binary which just prints Hello World
May it multiply in great numbers and help to stabilize the DOM
implementation.
2005-12-28 17:10:01 +01:00
Jonas Fonseca
1bd0c8758e Make the DOM node creators take dom_string structs 2005-12-28 16:47:28 +01:00
Jonas Fonseca
ec7b293e4e Some minor cleanup of token string access 2005-12-28 16:34:42 +01:00
Jonas Fonseca
6e163b186c Make the dom_scanner_token store it's string in a dom_string struct 2005-12-28 16:23:36 +01:00
Jonas Fonseca
97c702c674 Make init_dom_select() take dom_string struct 2005-12-28 15:57:37 +01:00
Jonas Fonseca
2e4e404145 Make init_dom_scanner() take the source string as a dom_string struct 2005-12-28 15:55:21 +01:00
Jonas Fonseca
62d981c551 Store struct dom_scan_table_info data in a dom_string 2005-12-28 15:51:31 +01:00
Jonas Fonseca
73785bee02 Remove some unneeded #includes 2005-12-28 15:36:58 +01:00
Jonas Fonseca
dbf0948062 Do not decode entity references and fix the tree tracer for document nodes
The idea is to make the DOM thing not depend on too many external things.
2005-12-28 15:27:05 +01:00
Jonas Fonseca
d1e275be52 Make parse_sgml() take buffer as dom_string struct 2005-12-28 15:21:45 +01:00
Jonas Fonseca
11e168aba4 Make init_sgml_parser() take URI as dom_string struct 2005-12-28 15:19:10 +01:00
Jonas Fonseca
a21f192199 Remove some left over .vimrc files 2005-12-28 14:14:12 +01:00
Jonas Fonseca
71533eef9a Elute all DOM-related code and put it in src/dom 2005-12-28 14:05:14 +01:00
Miciah Dashiel Butler Masters
81be17108b Understand a boolean true from elinks.goto_url_hook and
elinks.follow_url_hook to mean that the URI should be unchanged and that
further hooks should be permitted to run.
2005-12-28 07:12:09 +00:00
Miciah Dashiel Butler Masters
76d9b9de91 Add elinks.follow_url_hook. 2005-12-28 07:07:21 +00:00
Miciah Dashiel Butler Masters
d7c7736008 Add elinks.goto_url_hook. 2005-12-28 07:06:42 +00:00
Miciah Dashiel Butler Masters
c0fd25b368 Add a read-only .uri property to the cache_entry class. 2005-12-28 06:37:00 +00:00
Jonas Fonseca
217f905d88 call_dom_stack_callbacks(): Only acquire the state data if needed 2005-12-27 15:22:06 +01:00
Jonas Fonseca
a31eaaabdd Rename parse_sgml_document() -> parse_sgml_plain()
It really can be anything. I visited the elusive HTML parser to find the
new ending. ;)
2005-12-27 06:22:53 +01:00
Jonas Fonseca
9e7dfb1ddf Make walk_dom_nodes() use a stack context; reduces the DOM stack state size 2005-12-27 06:04:01 +01:00
Jonas Fonseca
a4831fef2d Make it easier to work with DOM stack contexts outside of the callbacks
The problem is to get access to the context when it is not the first one
and it has to happen outside of the context callbacks. This changes the
memory management so that the context adder returns the context. To further
improve the use of contexts add a context destructor which makes it
possible to unregister (temporary) contexts.
2005-12-27 05:59:12 +01:00
Jonas Fonseca
774aa70c6f Drop (now) unused get_dom_stack_parent() wrapper for get_dom_stack_state() 2005-12-27 04:44:20 +01:00
Jonas Fonseca
af19f811e3 Simplify DOM node popping
.. by turning do_pop_dom_node() into pop_dom_node() and let pop_dom_state()
handle it's own logic for reaching the wanted state.
2005-12-27 04:42:28 +01:00
Jonas Fonseca
f371de1638 Restructure the SGML parser file and add comments to the main parts 2005-12-27 03:57:56 +01:00
Jonas Fonseca
f5b32f86d1 Drop some dead code related to past rendering of DOM attribute nodes 2005-12-27 03:55:34 +01:00
Jonas Fonseca
b36229c222 Drop some unneeded #includes 2005-12-27 03:33:49 +01:00
Jonas Fonseca
0e2eefcb82 Add missing HTML_(SCRIPT, ...) definition 2005-12-27 01:58:54 +01:00
Jonas Fonseca
cef160d630 No need to have link_form_menu() be a menu function when it has an action 2005-12-26 22:28:38 +01:00
Jonas Fonseca
b82a38ab28 Introduce ACTION_REQUIRE_FORM and use it for link-form-menu
... since it asserts it is dealing with a link.
2005-12-26 22:22:03 +01:00
Jonas Fonseca
74a0a7b174 Highlight the 'CDATA' part of <![CDATA[ (in a bit hacky way) 2005-12-26 20:51:01 +01:00
Jonas Fonseca
c99b1cc2cc Render content of CDATA sections with orange2 (in lack of something better) 2005-12-26 19:56:07 +01:00
Jonas Fonseca
e28f3fc592 Drop macros in favour of more informative direct calls to add_sgml_node() 2005-12-26 19:45:58 +01:00
Jonas Fonseca
98d7263c2f Parse <[CDATA[ sections ]]> 2005-12-26 19:43:32 +01:00
Miciah Dashiel Butler Masters
62de7cc750 In delayed_goto, do not load the page if the doc_view has changed since
the delayed_goto was registered. This fixes bug 611, the infinite loop
on Gmane.
2005-12-26 14:12:45 +00:00
Miciah Dashiel Butler Masters
92c9b86374 In add_document_line, check expanded + line_pos rather than just
expanded when checking whether there are enough characters on the line
to decrement expanded by 2. This fixes the problem reported by fonseca
where the linked text was offset from the URI when there were backspaces
earlier on the line.
2005-12-26 11:43:18 +00:00
Miciah Dashiel Butler Masters
eeb51bffea Refresh the view after selecting a new form item with the form menu. 2005-12-26 11:31:05 +00:00
Miciah Dashiel Butler Masters
bcdc69e86a Use intdup for the new form menu because you can't just put an int in
a void * and expect it to work everywhere.
2005-12-26 11:25:03 +00:00
Miciah Dashiel Butler Masters
a33547d8ad Add memory-leak tracing to intdup. 2005-12-26 11:22:05 +00:00
Miciah Dashiel Butler Masters
1602bd5d29 Factor intdup out of smjs_get_keymap_object. 2005-12-26 11:07:15 +00:00
Miciah Dashiel Butler Masters
e64871f5e2 Drop some dead code in add_document_line: line_pos should never be
negative.
2005-12-26 10:31:06 +00:00
Laurent MONIN
26c9bdf538 Move code from kbd_listbox() to new do_kbd_listbox_action(). 2005-12-26 11:02:39 +01:00
Laurent MONIN
918fed9966 kbd_listbox(): converts if {} stuff to a switch{}. 2005-12-26 10:53:39 +01:00
Laurent MONIN
9683cf429b display_listbox_item(): clarify tests a bit. 2005-12-26 10:39:07 +01:00
Jonas Fonseca
26b82953ce Add a "Form fields" entry to the link menu (if it is a form field)
The menu shows a list of all fields of a form, with the possibility to jump
right to that form field when selecting an entry. The menu text is the
basic form field label "Radio button", "Text field", etc. with the form
field name or alt text as the right menu text.

It introduces a new main action called link-form-menu with no default
binding.

Requested by Klaus Knopper, as a mean to improve accessibility for complex,
overloaded pages like ebay.com.
2005-12-26 01:27:44 +01:00
Jonas Fonseca
452f31d773 do_action(): Simplify checking of link requisition by testing link != NULL 2005-12-26 00:40:04 +01:00
Jonas Fonseca
1c3f6a8f3b Place cursor at start of text and only highlight the text in the managers
The old behavior would lead screeanreaders to pronounce items like the
bookmarks as "unknown-unknown-<the link name>". That is the border
chars of the tree view would be renderered as "unknown".

Requested by Klaus Knopper.
2005-12-26 00:26:04 +01:00
Jonas Fonseca
be8c68c5f7 Fix matching of file:// URLs which of course have no host name 2005-12-25 16:22:20 +01:00
Jonas Fonseca
5dd9061a55 Allocate the string of nodes being 'linkified'
This makes the string actually NUL terminated at the right place and the
matching will never go beyond the text region of the node. One example is
<!--http://elinks.cz/--> which didn't work before.
2005-12-25 16:08:00 +01:00
Jonas Fonseca
2d020e4879 Extend the URL_REGEX to allow more protocol and stuff like %XX in path part
Thanks to peder for suggestions.
2005-12-25 15:45:47 +01:00
Jonas Fonseca
4fa0937ca5 Make URL inside cdata, comment and text nodes accessible
It depends on existence of <regex.h> system header and that can be enabled
via document.plain.display_links. The URL regex was supplied by yanek.
2005-12-25 15:16:21 +01:00
Jonas Fonseca
dda6064b47 Add support for nested calls to parse_sgml()
It introduces a secondary stack for the SGML parser which records a parsing
in progress (stuff like the scanner and depth where the parsing began).
This should make it possible to eventually call parse_sgml() with the
output created from the ECMASCript's document.write() function or even
output from processing instructions (for example <?php code ?> ;).
2005-12-25 05:43:01 +01:00
Jonas Fonseca
cb90dcd58c Remove unused variable 2005-12-25 05:19:55 +01:00
Jonas Fonseca
f2ba5e7f6b Cleanup and remove unnneded code 2005-12-25 04:40:58 +01:00
Jonas Fonseca
40ae683bfb match_attribute_value(): Actually do the matching
This is still untested like the last patch.
2005-12-25 04:38:30 +01:00
Jonas Fonseca
fc35d9ee33 Implement matching of element relations for DOM selection
It requires searching the select_data stack for all matches of the parent
selector and check the properties of matched nodes.
2005-12-25 03:48:53 +01:00
Jonas Fonseca
1347678988 Introduce get_dom_node_list_index() to lookup the index of a node in a list 2005-12-25 03:46:01 +01:00
Jonas Fonseca
d36b2d8a36 get_dom_select_data(): Move macro nearer to its users 2005-12-25 02:43:08 +01:00
Jonas Fonseca
61185ff34e Make ECMAScript browser scripting configurable
Either set CONFIG_SM_SCRIPTING in features.conf or pass to ./configure the
option --disable-sm-scripting. Now scripting is also enabled when needed
and not only if some other scripting backend is enabled.

Remove some remnants of SEE scripting backend.
2005-12-25 02:23:54 +01:00
Miciah Dashiel Butler Masters
309f3d26f3 In smjs_get_keymap_object, free the private data JS_SetPrivate fails,
per fonseca's suggestion.
2005-12-24 18:07:55 +00:00
Miciah Dashiel Butler Masters
f46cdd8f03 Add elinks.location property to get and set the current URL. 2005-12-24 18:05:32 +00:00
Miciah Dashiel Butler Masters
b13d35dc5a Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-24 18:02:12 +00:00
Jonas Fonseca
a08a3aca8f elinks_goto_url(): Remove evil goto and simplify matters 2005-12-24 15:30:21 +01:00
Jonas Fonseca
ce2aa08cb1 Compile fix 2005-12-24 13:07:57 +01:00
Miciah Dashiel Butler Masters
d44a24050c Undo in favour of a nicer API... 2005-12-24 07:17:36 +00:00
Miciah Dashiel Butler Masters
054fb15ff0 Add an elinks.goto_url method. 2005-12-24 07:14:51 +00:00
Miciah Dashiel Butler Masters
330cd6b7ce Assign the given ses to smjs_ses while the ECMAScript callback runs in
smjs_keybinding_action_callback.
2005-12-24 07:01:17 +00:00
Miciah Dashiel Butler Masters
f1fe83b035 Merge with git+ssh://pasky.or.cz/srv/git/elinks.git 2005-12-24 06:54:43 +00:00
Miciah Dashiel Butler Masters
80a5467b8d Introduce get_action_from_keystroke and get_action_name_from_keystroke.
Introduce smjs_init_keybinding_interface, which creates elinks.keymaps.<map>
for <map> in "main", "edit", and "menu". elinks.keymaps.<map> is a hash
indexed by string representations of keystrokes, and can be used to get the
current action for a key and to set the action either to an internal ELinks
action or to an ECMAScript function.
2005-12-24 06:54:01 +00:00
Miciah Dashiel Butler Masters
5714a8b54e Factor kbd_stroke_lookup out of bind_act. 2005-12-24 05:40:40 +00:00
Miciah Dashiel Butler Masters
92da153e13 Lock the struct cache_entry when creating the corresponding ECMAScript
object in smjs_get_cache_entry_object and unlock it in the new finalizer
cache_entry_finalize.
2005-12-24 04:07:32 +00:00
Miciah Dashiel Butler Masters
f8de70b8f6 Comment smjs_elinks_object. 2005-12-24 03:49:06 +00:00
Miciah Dashiel Butler Masters
9b645f9b66 Move smjs_elinks_object to elinks_object.h. 2005-12-24 03:48:57 +00:00
Miciah Dashiel Butler Masters
8743ec74d8 Factor the initialisation of smjs_elinks_global out of init_smjs and
into the new smjs_init_elinks_object.
2005-12-24 03:47:34 +00:00
Miciah Dashiel Butler Masters
60dd7515f9 Change smjs_get_elinks_object to use smjs_global_object instead of
an argument.
2005-12-24 03:43:53 +00:00
Miciah Dashiel Butler Masters
d6ecf895ce Make global_object a global with the new name smjs_global_object and
create smjs_init_global_object to initialise the global.
2005-12-24 03:40:59 +00:00
Miciah Dashiel Butler Masters
3174c533b0 Factor smjs_get_global_object out of init_smjs. 2005-12-24 03:39:24 +00:00
Jonas Fonseca
73b599e637 Merge with git+ssh://pasky/srv/git/elinks.git 2005-12-23 01:05:12 +01:00
Jonas Fonseca
8d30613a7f The child node list can be NULL when matching for the :empty pseudo-class
Also use the children node list and not the attribute list (aka the map).
2005-12-23 01:03:39 +01:00
Jonas Fonseca
3ea1b30fd6 Fix matching of the :root structural pseudo-class
Root nodes either have no parents or are the single child of the document
node.
2005-12-23 00:59:56 +01:00