Commit Graph

12302 Commits

Author SHA1 Message Date
Slava Zanko
1df77c409e Merge branch '2988_ignore_unknown_esc_sequences'
* 2988_ignore_unknown_esc_sequences:
  When we see an unknown sequence, it is not enough to drop already received part - there can be more of it coming over e.g. a serial line.
  This change prevents misinterpreting an unknown ESC sequence's tail as a garbage input. To reproduce, run "sleep 3" and hold down Down_Arrow key until sleep runs. With debugging log enabled, the following can be seen:
  Ticket #2988: When an unknown key is pressed, it is interpreted as garbage.
2013-05-23 11:42:56 +03:00
Denys Vlasenko
664e7d31b6 When we see an unknown sequence, it is not enough
to drop already received part - there can be more of it
coming over e.g. a serial line.

To prevent interpreting it as a random garbage,
eat and discard all chars that follow.
Small, but non-zero timeout is needed to reconnect
escape sequence split up by a serial line.

Before this change, Ctrl-Alt-Shift-Right_Arrow generates "1;8C"
bogus "input" in MC on my machine; after the change,
nothing is generated.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-23 11:42:02 +03:00
Denys Vlasenko
ecd3b62b8e This change prevents misinterpreting an unknown ESC sequence's
tail as a garbage input. To reproduce, run "sleep 3" and
hold down Down_Arrow key until sleep runs.
With debugging log enabled, the following can be seen:

entered get_key_code(no_delay:0)
 c=tty_lowlevel_getch()=27
 push_char(27) !0
 c=xgetch_second()=91
 push_char(91) !0
 2 c=tty_lowlevel_getch()=66
 push_char(66)
 seq_buffer[0]:27   <---- the saved Down Arrow sequence "ESC [ B"
 seq_buffer[1]:91
 seq_buffer[2]:66
 seq_buffer[3]:0
pending_keys!=NULL. m=-1
d=*pending_keys++=27
d=ALT(*pending_keys++)=ALT(91)=8283
^^^^^^^^^^^^^^^^^^^^^^^ we misinterpret "ESC [ B" as "ESC ["
return correct_key_code(8283)
entered get_key_code(no_delay:0)
pending_keys!=NULL. m=-1
d=*pending_keys++=66
^^^^^^^^^^^^ we think user pressed "B"
return correct_key_code(66)

With this patch, no bogus "input" is generated.

Longer unknown sequences need an additional fix, coming next.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-23 11:42:02 +03:00
Denys Vlasenko
77cfaf03cb Ticket #2988: When an unknown key is pressed, it is interpreted as garbage.
keyboard input: simplify code, no logic changes

This change slightly simplifies and rearranges the code
in get_key_code(), reduces indentation levels there,
adds a few comments. The logic remains the same.

This is a preparatory patch for subsequent changes.

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-23 11:41:25 +03:00
Slava Zanko
f09b3198ec Add doc/MIRRORS.txt
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-05-18 01:11:57 +03:00
Marco Ciampa
f1376d4c5a Updated italian translation 2013-05-03 00:02:03 +02:00
Andrew Borodin
923d379d5a Code indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-04-12 09:40:55 +04:00
Andrew Borodin
02265113cd Merge branch '2968_viewer_next_prev_mode'
* 2968_viewer_next_prev_mode:
  Fix mode switch after CK_FileNext/CK_FilePrev.
  (regex_command_for): new function to use regex_command in already created viewer/editor
  (exec_extension): rename variable.
  (exec_extension_view): refactoring: remove temporary file in exec_extension().
  Ticket #2968: mcviewer: broken Raw/Parse and Format/UnformatRaw/Parse and Format/Unformat
2013-04-12 09:14:12 +04:00
Andrew Borodin
6cdfa2522c Merge branch '2991_label_redraw' 2013-04-08 15:47:01 +04:00
Andrew Borodin
f23f0613ec Ticket #2991: fix redraw of WLabel after text change.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-04-08 15:46:39 +04:00
David H. Martín Alonso
7b7108d493 Update Spanish help and man.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-04-07 13:55:37 +04:00
Andrew Borodin
d70f6b5b63 Fix mode switch after CK_FileNext/CK_FilePrev.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-04-05 19:16:41 +04:00
Andrew Borodin
4d0f17e79a (regex_command_for): new function to use regex_command in already created viewer/editor
...and related changes.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-04-05 19:16:38 +04:00
Andrew Borodin
bd8ad7e94b (exec_extension): rename variable. 2013-04-05 19:15:31 +04:00
Slava Zanko
ecb7386ece Updated doc/NEWS file
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-04-02 12:39:21 +03:00
Slava Zanko
2fc096d467 Updated translations from Transifex
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-04-02 12:39:20 +03:00
Slava Zanko
fe511b661f Merge branch '2980_doc_hints'
* 2980_doc_hints:
  Add the hint-files synchronization with Transifex.
  Ticket #2980: Add missing doc/hints french translation
2013-04-02 11:31:06 +03:00
Slava Zanko
389b55ae6f Add the hint-files synchronization with Transifex.
For upload English hint-file to transifex, type:
cd doc/hints/po && make to-transifex

For download translation from Transifex type:
cd doc/hints/po && make from-transifex && \
    git add ../l10n/mc.hints.* && \
    git commit -s -m 'Update hints files from Transifex'

WARNING! For the functionality you should have installed 'tx' and 'po4a'
utilities. These utilities isn't required for compile and install mc
(you may install these utilities only if you want to interact with Transifex).

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-04-02 11:24:16 +03:00
Slava Zanko
4404af92c0 Ticket #2980: Add missing doc/hints french translation
Hints was split by paragraph (by double new line symbol instead of single newline symbol)

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-04-02 11:07:42 +03:00
Andrew Borodin
5c01fea888 (exec_extension_view): refactoring: remove temporary file in exec_extension().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-30 12:20:39 +04:00
Andrew Borodin
b7d42cc1e5 Indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-29 19:06:27 +04:00
Andrew Borodin
2bfe782780 Merge branch '2957_mcedit_broken_autocompletion'
* 2957_mcedit_broken_autocompletion:
  (editcmd_dialog_completion_show): adjust dialog position.
  (edit_complete_word_cmd): don't get bytes directly from editor buffer.
  Add test_autocomplete_single() test
  Add tests for coverage the bug.
  (edit_complete_word_cmd): make correct charset conversion
  Ticket #2957: broken autocompletion in mcedit
2013-03-29 18:47:05 +04:00
Andrew Borodin
41d5ee716e (editcmd_dialog_completion_show): adjust dialog position.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-28 16:53:04 +04:00
Andrew Borodin
4b9e5f50b1 (edit_complete_word_cmd): don't get bytes directly from editor buffer.
(edit_get_match_keyword_cmd): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-28 16:53:04 +04:00
Slava Zanko
fa9c933ce0 Add test_autocomplete_single() test
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-28 16:53:04 +04:00
Slava Zanko
d0345661d8 Add tests for coverage the bug.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-28 16:50:28 +04:00
Andrew Borodin
77af739bdd (edit_complete_word_cmd): make correct charset conversion
...before insert autocompletion result.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-28 16:50:22 +04:00
Andrew Borodin
4495957319 Ticket #2968: mcviewer: broken Raw/Parse and Format/UnformatRaw/Parse and Format/Unformat
...after CK_FileNext/CK_FilePrev.

Initial commit: refactoring of mcview_t typedef.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-24 13:37:11 +04:00
Andrew Borodin
7fe85d0bd8 Ticket #2957: broken autocompletion in mcedit
...if system and file charsets are different.

Initial step: refactoring: do actual completion word substitution
outside of editcmd_dialog_completion_show().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-21 09:27:08 +04:00
Andrew Borodin
68d5b0d610 Merge branch '2976_broken_magic_mode'
* 2976_broken_magic_mode:
  Ticket #2976: magic mode is broken in mcview.
2013-03-20 17:02:44 +04:00
Gergely Szász
b8208b0514 Ticket #2976: magic mode is broken in mcview.
The bug:
  If we open a file with F3 from panels, then mc uses "file extension"
  style open (e.g. archive.sh) and Format/Raw switching is O.K.

  If we open file in "Raw" mode, or use quick view, mc opens files
  without "file extension" helpers. Format/Raw switching is broken.

  In mcview_load() we check magic_mode and detect "compressed" files.
  If magic mode is on and file is "compressed" we free the current vpath
  and generate a new vpath with "decompress magic", but nothing else.
  So, the file name disappear and we see the raw content.
  After user press F8, mcview reloads the file. Now filename is the "new"
  magic filename. mcview_load() open the file with the decompress "helper"
  (using sfs). We see the uncompressed (parsed) content.
  After user press F8, nothing happend, because original file name is lost.

The solution:
  Remove the old vpath destruction.
  Open the file with "uncopress magic" if magic_mode is on and file is
  "compressed".

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-20 17:01:38 +04:00
Andrew Borodin
51a6273fb8 Merge branch '2974_broken_war_opening'
* 2974_broken_war_opening:
  Ticket #2974: broken opening of .war archives.
2013-03-20 16:57:32 +04:00
Andrew Borodin
2f06f513e4 Ticket #2974: broken opening of .war archives.
Widely used java web application .war archives are are .jar archives
which is essentially a zip archive with manifest file being the first
entry.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-20 16:57:03 +04:00
Andrew Borodin
5cbef94bac Fix format specifications in po/ru.po.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-12 14:21:38 +04:00
Andrew Borodin
68609b79b0 Code indentation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-12 14:05:10 +04:00
Andrew Borodin
a7b619a90d Merge branch '2944_cleanup'
* 2944_cleanup: (35 commits)
  Update all po/*.po files.
  Rename keymap files to be with .keymap suffix.
  (mc_config_new_or_override_file): minor optimization.
  Refactoring: use GString instead of "struct selection".
  (edit_translate_key): move from editkeys.c into editwidget.c
  Sync with gnulib 62bb7a8bf95807d6339e1e17fc0d21c319b280a2.
  Code refactoring in tests.
  Adjust look'n'feel of editor options dialog window.
  Clarify EN and RU man pages: list command line options alphabetically.
  (overwrite_query_dialog): adjust dialog size.
  Clarify widget redraw in runtime.
  (size_trunc_len): support automatic maximum unit for specified size.
  Fix formatting in manual pages.
  Fix wrapper location in description of -P/printwd option.
  (edit_insert_over): move from src/editor/editcmd.c into src/editor/edit.c.
  (edit_insert_column_of_text_from_file): refactoring:
  (edit_get_byte): refactoring: use edit_get_byte_ptr().
  Code refactoring in tests.
  Grammar fix in English man-page.
  (init_panelize): support --disable-nls.
  ...
2013-03-12 13:32:03 +04:00
Andrew Borodin
86a9627187 Update all po/*.po files.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-12 13:31:40 +04:00
Andrew Borodin
ff2483e4b3 Rename keymap files to be with .keymap suffix.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:51 +04:00
Andrew Borodin
705afe88c0 (mc_config_new_or_override_file): minor optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:51 +04:00
Andrew Borodin
2254b24008 Refactoring: use GString instead of "struct selection".
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:51 +04:00
Andrew Borodin
18cc9ac0dd (edit_translate_key): move from editkeys.c into editwidget.c
...and remove editkeys.c since it is empty.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
a85fc3367e Sync with gnulib 62bb7a8bf95807d6339e1e17fc0d21c319b280a2.
* src/filemanager/lib/mountlist.c: port to HP NonStop.
(hasmntopt) [!HAVE_HASMNTOPT]: New function.
(MNT_IGNORE) [MNTOPT_IGNORE]: Use it.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Slava Zanko
79ee80c201 Code refactoring in tests.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2013-03-09 16:04:19 +04:00
Andrew Borodin
b3bc856974 Adjust look'n'feel of editor options dialog window.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
3037d88587 Clarify EN and RU man pages: list command line options alphabetically.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
6787221c15 (overwrite_query_dialog): adjust dialog size.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
30959e0b7d Clarify widget redraw in runtime.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
ef94b84eaf (size_trunc_len): support automatic maximum unit for specified size.
Fix typos.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
22f0cac4ea Fix formatting in manual pages.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00
Andrew Borodin
3715c5254c Fix wrapper location in description of -P/printwd option.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2013-03-09 16:04:19 +04:00