Yan Seiner <[EMAIL PROTECTED]> writes:

> What happens is that the screen is not resetting the reverse
> mode.  If I am in an edit field and in edit mode and hit back,
> the reverse mode is carried over to the previous screen.  If I
> enter that screen via a link, it displays correctly.  If am not
> in edit mode when I hit "back", it displays correctly.

If I understand correctly, you mean:
- Bind F2 to history-move-back.
- Set document.browse.forms.insert_mode = 1.
- Go to a page that contains a text field.
- Select this text field.
- Go to another page that contains a text field.
- Select this text field.
- Press Enter (ACT_EDIT_ENTER) to enter insert mode.
- Press F2 (ACT_MAIN_HISTORY_MOVE_BACK) to return to the first
  page.
- The text field in the first page is highlighted as if insert
  mode were enabled.
- Press o.
- ELinks does not insert the "o" to the text field but rather
  opens the option manager.  So insert mode was not actually
  enabled.

> Can anyone shed any light on this?  Where do I look to fix this?

This occurs because draw_current_link redraws the text field
before do_action sets ses->insert_mode = INSERT_MODE_OFF.
Text fields are drawn in two steps: draw_current_link draws the
attributes, and draw_form_entry draws the characters.

In ELinks 0.12.GIT (d1fa336f7f390d9b51456498fac5dda8f54c18a4):

(gdb) backtrace
#0  draw_current_link (ses=0x8459780, doc_view=0x8450a58)
    at /home/Kalle/src/elinks-0.12/src/viewer/text/link.c:231
#1  0x08115f54 in draw_view_status (ses=0x8459780, doc_view=0x8450a58,
    active=1) at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:175
#2  0x081165da in draw_doc (ses=0x8459780, doc_view=0x8450a58, active=1)
    at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:297
#3  0x08116df3 in refresh_view (ses=0x8459780, doc_view=0x8450a58, frames=1)
    at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:386
#4  0x08116dba in draw_formatted (ses=0x8459780, rerender=2)
    at /home/Kalle/src/elinks-0.12/src/viewer/text/draw.c:380
#5  0x080fa410 in display_timer (ses=0x8459780)
    at /home/Kalle/src/elinks-0.12/src/session/session.c:452
#6  0x080fe430 in loading_callback (download=0x84597b8, ses=0x8459780)
    at /home/Kalle/src/elinks-0.12/src/session/task.c:537
#7  0x080d044b in load_uri (uri=0x84d8480, referrer=0x0, download=0x84597b8,
    pri=PRI_MAIN, cache_mode=CACHE_MODE_ALWAYS, start=-1)
    at /home/Kalle/src/elinks-0.12/src/network/connection.c:916
#8  0x080fd069 in ses_load (ses=0x8459780, uri=0x84d8480, target_frame=0x0,
    target_location=0x85e8168, cache_mode=CACHE_MODE_ALWAYS,
    task_type=TASK_HISTORY)
    at /home/Kalle/src/elinks-0.12/src/session/task.c:83
#9  0x080fd532 in ses_goto (ses=0x8459780, uri=0x84d8480, target_frame=0x0,
    target_location=0x85e8168, cache_mode=CACHE_MODE_ALWAYS,
    task_type=TASK_HISTORY, redir=0)
    at /home/Kalle/src/elinks-0.12/src/session/task.c:221
#10 0x080f8e7d in go_history (ses=0x8459780, loc=0x85e8168)
    at /home/Kalle/src/elinks-0.12/src/session/history.c:156
#11 0x080f8f9a in go_history_by_n (ses=0x8459780, n=1)
    at /home/Kalle/src/elinks-0.12/src/session/history.c:175
#12 0x081128d5 in do_action (ses=0x8459780,
    action_id=ACT_MAIN_HISTORY_MOVE_BACK, verbose=0)
    at /home/Kalle/src/elinks-0.12/src/viewer/action.c:268
#13 0x0812b8e4 in send_kbd_event (ses=0x8459780, doc_view=0x8450a58,
    ev=0xbfd88574) at /home/Kalle/src/elinks-0.12/src/viewer/text/view.c:1159
#14 0x0812bb79 in send_event (ses=0x8459780, ev=0xbfd88574)
    at /home/Kalle/src/elinks-0.12/src/viewer/text/view.c:1224
#15 0x080fca3c in tabwin_func (tab=0x84509c0, ev=0xbfd88574)
    at /home/Kalle/src/elinks-0.12/src/session/session.c:1280
#16 0x08100cb2 in term_send_event (term=0x8451b68, ev=0xbfd88574)
    at /home/Kalle/src/elinks-0.12/src/terminal/event.c:131
#17 0x081015da in handle_interlink_event (term=0x8451b68, ilev=0x8451d18)
    at /home/Kalle/src/elinks-0.12/src/terminal/event.c:390
#18 0x08101981 in in_term (term=0x8451b68)
    at /home/Kalle/src/elinks-0.12/src/terminal/event.c:494
#19 0x080ca0c3 in select_loop (init=0x80c8c8f <init>)
    at /home/Kalle/src/elinks-0.12/src/main/select.c:289
#20 0x080c9407 in main (argc=1, argv=0xbfd88714)
    at /home/Kalle/src/elinks-0.12/src/main/main.c:360
(gdb)

Attachment: pgpX07lbcF7gW.pgp
Description: PGP signature

_______________________________________________
elinks-dev mailing list
elinks-dev@linuxfromscratch.org
http://linuxfromscratch.org/mailman/listinfo/elinks-dev

Reply via email to