Commit Graph

1490 Commits

Author SHA1 Message Date
Andrew Borodin
b0e3552847 Refactoring of widget's position and size calculation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin
86fd77155e Refactoring of dialog's position and size calculation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
wwp
e629712197 Ticket #3562: fix Glib-critical asserts in empty WListbox.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andreas Mohr
e4badcf7bc (mc_search_set_error): cleanup compile warning on older gcc compilers:
search.c: In function 'mc_search_set_error':
search.c:497:36: error: declaration of 'mc_search' shadows a global declaration [-Werror=shadow]
search.c:419:1: error: shadowed declaration is here [-Werror=shadow]

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andreas Mohr
8710d2522f (variable_completion_function): cleanup Wconditional-uninitialized warning.
input_complete.c:383:42: error: variable 'p' may be uninitialized when used here [-Werror,-Wconditional-uninitialized]
        temp = g_string_new_len (*env_p, p - *env_p);
                                         ^

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
Andrew Borodin
c343697407 Minor refactoring of mc shutdown.
Move calls of disable_mouse() and disable_bracketed_paste()
to main() because init_mouse() and enable_bracketed_paste()
are called here.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:29:36 +03:00
rofl0r
38d4c655d3 Ticket #3665: fix compatibility with netbsd curses.
The code that manipulates the ncurses backend into changing
the key combination to generate SIGINT from CTRL-c to CTRL-g does
so by accessing undocumented internal ncurses data structures.
This breaks compilation with netbsd-curses[0], and could also break
when the ncurses author decides to change internal structures in a
future release.

Fix it by using a portable approach that works everywhere using libc
primitives instead.

[0] https://github.com/sabotage-linux/netbsd-curses

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-29 09:21:02 +03:00
Andrew Borodin
0c73ca195f Ticket #3660: unable to view archive content using F3.
(mc_popen): fix termination of command array.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:21:15 +03:00
Andrew Borodin
7c74fd90f0 Ticket #3661: wrong handling of mouse clicks in long listing mode.
This occurs if the left panel is in long listing mode and the right
panel is in full listing mode:
When the left panel is active and you click on the right side of the
panel, the click event is directed to the (inactive) right panel instead
of the (active) left panel.

This occurs if the right panel is in long listing mode:
When the left panel is active and you click on the left panel, the click
event is always directed to the (inactive) right panel. It's impossible
to click anything on the left panel, if the right panel is in long
listing mode.

Thanks Seray Rosh <seray.rosh@web.de> for intial patch.

Initial commit: refactoring of widget selection.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-07-09 19:13:20 +03:00
Andrew Borodin
76a4969b00 Ticket #3642: make --with-subshell=optional working again.
The bug was introduced in 83b02196c8.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-28 09:40:27 +03:00
Yuri Khan
968882335a Do not botch SIGWINCH delivery to the subshell.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-28 09:34:11 +03:00
Andrew Borodin
b4af91dfc0 Reorganize WDialog flags.
* DLG_FULLSCREEN: move and rename to WPOS_FULLSCREEN.
 * DLG_CENTER: move and rename to WPOS_CENTER.
 * DLG_TRYUP: move and rename to WPOS_TRYUP.
 * WDialog::fullscreen: remove, use WPOS_FULLSCREEN instead.
 * WDialog::compact: new field. Use instead of DLG_COMPACT.
 * WDialog:🎏 remove.
 * dlg_flags_t: remove.
 * dlg_create: add new agruments: pos_flags, compact. Remove
argument: flags.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:41:00 +03:00
Andrew Borodin
0933b08964 (dlg_set_position): minor refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
163d9cd94a Rename DLG_WANT_TAB to WOP_WANT_TAB and move it to widget_options_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
2dab74fddd By default, WOP_WANT_HOTKEY option is off.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
d44220c75f If widget wants cursor, define that explicitly.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
db0d01b9d6 Add WST_MODAL state.
* WDialog::modal: remove. Use WST_MODAL instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
fd4e56bf39 WOP_TOP_SELECT: new widget option
...to place widget on top of other widgets in dialog.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
4b72fb5f5e Join widget_state_t and dlg_state_t.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
0a2877edef Move WOP_WANT_IDLE option to widget_state_t flags
...and rename to WST_IDLE.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
b337287336 Move WOP_DISABLED option to widget_state_t flags
...and rename to WST_DISABLED.

  * Widget::state: new field.
  * (widget_set_state): new function.
  * (widget_set_options): symplify.
  * (input_set_options): remove.
  * MSG_ENABLE, MSG_DISABLE: new messages.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
a9fcd6c4c6 widget_state_t: new type.
(widget_get_state): new widget API.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
f5a1dfcef4 (widget_get_options): new widget API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
4a0cd948df Change prefix of widget options: W_ -> WOP_.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
619480c68b Ticket #3632: refactoring of widget flags.
Initial commit: rename functions:
  * widget_default_set_options_callback -> widget_default_set_options
  * input_set_options_callback -> input_set_options

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-06-02 20:34:38 +03:00
Andrew Borodin
44859027b4 Ticket #3646: Filtered View doesn't work.
The bug:
1. Go to the source directory for version 4.8.17.
2. Enter the command "ls -l misc/mc*". The output will show at least 7 files.
3. Start mc.
4. Press Meta-! to open the "Filtered View" dialogue box.
5. Enter the same command: "ls -l misc/mc*".
Result:
MC displays the following error:
"ls: cannot access misc/mc*: No such file or directory".

Fix:
(mc_popen): use popen(3) way: pass command to /bin/sh using the -c flag.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-28 08:16:31 +03:00
Andrew Borodin
7f8ab40a44 Do not recreate "String not found" error string every time.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-22 14:16:19 +03:00
Andrew Borodin
8252345666 Allow search be interruptible.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-22 14:16:19 +03:00
Andrew Borodin
1101ef2cd9 (mc_search__run_regex): minor optimization.
Since mc_search__run_regex() pften is called in various iterative
procedures, don't reallocate regex buffer every time and use already
allocated one before.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-22 14:16:19 +03:00
Andrew Borodin
1c22d44970 Ticket #3637: fix memory leaks in search engine.
(mc_search_set_error): new search API to set the code and message
of search error.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-22 14:16:19 +03:00
Andreas Mohr
a31d6ac29e Replace obsolete INTLLIBS with LIBINTL for libmc
As per #3629, use `LIBINTL` for `gettext.m4` versions >= 0.11.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-05-07 16:28:47 +03:00
Andrew Borodin
3204563bff Move definition of reset_hp_softkeys variable to lib/tty/tty-slang.[ch].
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:28:47 +03:00
Andrew Borodin
bdb81cd482 Sync with gnulib 6ed53f13bc39d9a0252549e98a2a59441fb2351f.
lib/strutil/xstrtol.c: prohibit monstrosities like "1bB".

Problem reported by Young Mo Kang in: http://bugs.gnu.org/23388.

(xstrtoumax): Allow trailing second suffixes like "B" only if the first
suffix needs a base.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:28:47 +03:00
Andrew Borodin
abbfde35b2 lib/widget/input_complete.c: apply coding guidelines.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
1bfe137d2a (command_completion_function): cleanup cppcheck warning.
As other local functions use "text" as function parameter variable
to fix cppcheck warning:

[lib/widget/input_complete.c:569]: (error) Uninitialized variable: text

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
2151edaff2 Get rid of global variables mc_main_config and mc_panels_config.
Use mc_global.main_config and mc_global.panels_congig instead.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
1c2060c28f (mc_realpath): cleanup cppcheck warning.
Cleanup following cppcheck warnings:

[lib/utilunix.c:1109]: (style) Unused variable: link_path.
[lib/utilunix.c:1113]: (style) Variable 'readlinks' is assigned a value that is never used.
[lib/utilunix.c:1114]: (style) Unused variable: n.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
67035605b9 lib/vfs/direntry.c: cleanup cppcheck warnings.
Cleanup following cppcheck warnings:

[lib/vfs/direntry.c:121]: (style) Clarify calculation precedence for '&' and '?'.
[lib/vfs/direntry.c:386]: (style) Clarify calculation precedence for '&' and '?'.
[lib/vfs/direntry.c:391]: (style) Clarify calculation precedence for '&' and '?'.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
80f138c1ba (mc_shell_get_installed_in_system): fix description.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
eecf1fc946 Fix typo.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
cae521c61d Clarify type cast in tgetsrt() calls.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
ccad69bccf Clarify type cast in SLtt_tgetsrt() calls.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
dcf2ac11c1 (dlg_set_top_or_bottom_widget): move to proper file section.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
bc14ff44c8 Remove min() and max() macros. Use MIN() and MAX() macros from GLib.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
0641e942e5 (input_is_empty): new WInput API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
2d77cb32f9 lib/strutil/strutilutf8.c: grammar.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
eef076cef6 cppcheck: Cleanup Passing NULL after the last typed argument warning
Cleanup Passing NULL after the last typed argument warning.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
5a7d7d0087 (mouse_get_local): cleanup uninitialized warning.
Cleanup uninitialized warning with gcc compiler (gcc-4.4.7-4.el6).

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
8bb9605bfd VFS optimization: ret rid of double call of vfs_get_openfile() in file operations.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
623015eb0d (mc_closedir): fix NULL dereference.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andrew Borodin
a9e5957196 (mc_fstat): fix function used to set up of errno value.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Andreas Mohr
284a19aff1 (find_widget_type): Make Solaris Studio happy
Make Solaris Studio 12.4 happy.

"dialog.c", line 1029: warning: argument #2 is incompatible with prototype:
        prototype: pointer to const void
        argument : pointer to function (...) returning enum (...)

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-07 16:19:02 +03:00
Yuri Khan
c1975a3a35 Do not duplicate alternate screen switching.
S-Lang already handles that in SLsmg_init_smg() and SLsmg_reset_smg().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-05 10:01:13 +03:00
Yuri Khan
abb4996589 Ticket #3640: Subshell cursor position lost after window resizing.
Refactoring: rename functions:

do_enter_ca_mode -> tty_enter_ca_mode
do_exit_ca_mode -> tty_exit_ca_mode

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-05-05 10:01:13 +03:00
Yury V. Zaytsev
0430ec719b Add csh to the list of fallback shell options
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-04-25 21:44:01 +02:00
Yury V. Zaytsev
6dfbebf71e Ticket #2742: detect csh as tcsh by name
Signed-off-by: Yury V. Zaytsev <yury.zaytsev@traveltainment.de>
2016-04-25 21:44:01 +02:00
Andrew Borodin
ba526badf2 (ST_BLKSIZE): fix signed and unsigned comparision.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-25 13:15:12 +03:00
Andrew Borodin
e7c01c7781 Ticket #2193: use Coreutils way to define buffer size to copy file.
m4.include/stat-size.m4, lib/stat-size.h: get these files from Gnulib.
src/filemanager/ioblksize.h: get this file from Coreutils.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-25 13:12:51 +03:00
Andrew Borodin
fde36f2d1a lib/charsets.[ch]: clarify usage of const qualifier.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
ff9d37cb8f lib/widget/input_complete.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andrew Borodin
ecfba8399c lib/widget/input.c: cleanup -Wcast-qual warning.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
68d7f53039 lib/widget/dialog.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
a5cd35d11e lib/widget/buttonbar.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
3231160d99 lib/vfs/path.c: cleanup some -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
9dddb0c78f lib/tty/tty-ncurses.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
983ada66b0 lib/tty/key.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andrew Borodin
41035995c8 lib/strutil/{strutil8bit.c,strutilutf8.c}: cleanup -Wcast-qual warning.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
c0b60e274e lib/skin/ini-file.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
f3f927c19e lib/search/regex.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:44 +03:00
Andreas Mohr
0535ddddcc lib/search/lib.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:43 +03:00
Andreas Mohr
97e370e396 lib/mcconfig/paths.c: cleanup -Wcast-qual warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
2016-04-16 10:23:43 +03:00
Andreas Mohr
16f229114a Ticket #3598: cleanup some -Wcast-qual compiler warnings.
Introduce CONST_WIDGET helper and use it.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-16 10:23:43 +03:00
Mooffie
438e841226 Rename mouse.was_drag to mouse.last_msg.
Get rid of the 'click' variable.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 15:29:55 +03:00
Andrew Borodin
8490ca7be4 Drop old mouse API and use the new one.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 15:29:55 +03:00
Mooffie
781b810c13 Fix menu handling.
We now send mouse events to widgets in reverse Z-order, as done in common GUIs.
This makes it easy to implement "invisible" menubars correctly.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 15:29:55 +03:00
Andrew Borodin
c9a437a9c2 Optimize menu activation.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 15:29:55 +03:00
Andrew Borodin
fa4e69b3b4 WMenuBar: execute menu item after drag action.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Mooffie
cae293b4d7 WMenuBar: a few mouse handling fixes. 2016-04-01 14:16:08 +03:00
Andrew Borodin
d974021678 WMenuBar: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
e8c6608fa5 WRadio: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
ebac1745bc WInput: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
30a56a9793 WCheck: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
23d5dbdf94 WButtonBar: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
1401f751cb WListbox: optimize mouse event processing.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Mooffie
70184b8a2d WListbox: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Mooffie
c678b58e23 WButton: use the new mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
192f01ebd2 Refactoring of high-level mouse API.
Decompose mouse event translation function: move mouse event handling
to separate function. This decomposition can be used for low-level
processing of high-level mouse events.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
b305deba64 Don't generate click event after drag action.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Andrew Borodin
cfd2c35241 (easy_mouse_translator): minor optimization. 2016-04-01 14:16:08 +03:00
Mooffie
03daa62e19 Ticket #3571: high-level mouse API.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-04-01 14:16:08 +03:00
Mooffie
0e89375772 Ticket #3617: (mc_open): handle varargs mode_t promotion issue.
On systems where 'mode_t' is smaller than 'int', doing 'va_arg (ap, mode_t)' is
wrong because of C's "default argument promotions". GCC 4 creates crashing code
in this case.

The "va_arg" page of Gnulib's manual describes the problem and a simple solution:

    https://www.gnu.org/software/gnulib/manual/html_node/va_005farg.html

However, since that solution reportedly (see thread at next link) still causes
GCC to print warnings (for no good reason; perhaps this was fixed in newer
GCCs), we pick a solution that defines a PROMOTED_MODE_T at the configuration
stage:

    https://lists.gnu.org/archive/html/bug-gnulib/2009-05/msg00231.html

(We take our 'mode_t.m4' from the most recent Gnulib source.)

(If any of the URLs above no longer works, simply search the web for the
mentioned words.)
2016-03-28 08:59:14 +03:00
Yury V. Zaytsev
3b9087e8a3 (mc_shell_recognize_path): clarify duplicate comments
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-03-17 09:24:11 +03:00
Andrew Borodin
83b02196c8 Ticket #3606: fix segfault due to incorrect value of SHELL environment variable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-17 09:24:11 +03:00
Andrew Borodin
8c9f359e89 Clarify send of MSG_NOTIFY.
(check_callback): update widget itself, then send MSG_NOTIFY to owner.
(radio_callback): likewise.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-12 14:49:40 +03:00
Mooffie
4e62be3b7e Split MSG_ACTION into MSG_ACTION and MSG_NOTIFY.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-12 14:49:40 +03:00
Mooffie
6b56cabf6f Ticket #3566: Split MSG_ACTION into MSG_ACTION and MSG_NOTIFY.
Start step: simplify buttonbar and menu handling.

We make WButtonBar send the command directly to the target widget. This
lets us simplify the MSG_ACTION case in dialog handlers. The menu handling
too is simplified here.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-12 14:49:39 +03:00
Yury V. Zaytsev
a8f512c12c Remove unneeded struct keyword for typedef'd structs
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2016-03-04 09:23:38 +03:00
Andreas Mohr
ea10f33dbb (widget_options_t): add W_DEFAULT value to cleanup -Wassign-enum warnings.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andreas Mohr
a482f38581 Cleanup -Wfloat-conversion warning.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
829738baa7 (mc_error_message): make output format translatable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:37 +03:00
Andrew Borodin
4db17d31f9 lib/widget/input.c: (quote): change type to gboolean. 2016-03-04 09:23:37 +03:00
Andreas Mohr
9aeacda0d9 lib/vfs/direntry.c: remove unused variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
28ce7e566e (load_mc_home_file): return data length.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
c4258d453b Clarify AM_CPPFLAGS.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andrew Borodin
be158faca6 filehighlight: clarify includes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-03-04 09:23:36 +03:00
Andreas Mohr
b9797d6637 Use meaningful errno or 0.
Use real errno or set it to 0 when no meaningful error code exists
for current user error message.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-02 09:42:51 +03:00
Andreas Mohr
842a723f9b Ticket #3269: only print meaningful error code.
Some error messages have no meaningful error code, don't display them.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-02 09:42:51 +03:00
Andrew Borodin
98e66fe406 Ticket #3491: fix case insensitive search in non-unicode locales.
In non-unicode locales, search for non-latin symbols in any acharset was
case sensitive only.  This bug was introduced in
1a1496fc0d.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-02-02 09:37:15 +03:00
Andrew Borodin
8fc0e1d76d Ticket #2673: support LZIP compression.
Thanks Matias A. Fonzo <selk at dragora.org> for the original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-28 16:45:36 +03:00
Andreas Mohr
47590152fa Ticket #3161: WListbox: remember focus state.
When listbox is updated, e.g. new file match add MSG_DRAW event is triggered
but currently listbox re-draw has no knowledge about right focus state.
Fix it by remember current focus state.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-08 12:49:30 +03:00
Mooffie
aa693fb0c3 Ticket #3569: various fixups in WListbox engine.
Ticket #3562: Listbox should fire MSG_ACTION on mouse clicks too.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-08 11:40:42 +03:00
Andrew Borodin
f7b360d5a0 Fix typo.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-03 15:39:57 +03:00
Andreas Mohr
b5ccd12d32 Ticket #3523: support lz4 compress format.
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-02 14:02:08 +03:00
Andrew Borodin
471ea781ca Update copyright years.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:10 +03:00
Andreas Mohr
697e406eb8 Robust sizeof() usage at function parameter and use memcpy destination sizeof...
...for more resilient to errors.

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:09 +03:00
Andreas Mohr
5f076e9e05 Ticket #3567: fix heap-use-after-free bug when accessing already freed widget object
Accessing widget object (at g_array_index loop) which was freed
already (item->quick_widget->u.input.label before at loop).

Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:08 +03:00
Andrew Borodin
c5714eee34 Use STR_E_NOTFOUND message where required.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:08 +03:00
Mooffie
b6500f1dcc (listbox_key): remove redundant code.
This l->top calculation is already done in listbox_select_entry().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:08 +03:00
Andrew Borodin
a3337615f6 (vfs_s_print_stats): avoid macros in i18n resources.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:08 +03:00
Andrew Borodin
a6f5767f3f Use signed long instead of unsigned long for binded actions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:08 +03:00
Andreas Mohr
3a714da154 Fix -Wconversion warning for mask/mode values: use mode_t instead of int.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andreas Mohr
a3a78d9daf Fix compiler warning at search.c
search.c:56:12: warning: implicit conversion changes signedness: 'int' to 'mc_search_type_t' [-Wsign-conversion]
    {NULL, -1}
    ~      ^~
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Mooffie
106f80310d Remove outdated comment about refresh.
This comment was explanining a call to mc_refresh(). That call was
removed in commit 1f0b05b18. Keyboard events and mouse events are
nowadays the same: refresh is done after both.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andreas Mohr
897eac252f (WMenubar): fix -Wconversion warnings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andreas Mohr
a613de7183 (gauge_callback): fix -Wconversion warnings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andreas Mohr
5007d309bc Fix -Wconversion warning for mc_search_new().
mc_search_new() parameter orignial_len use once only.
Factor out into own function mc_search_new_len().

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andrew Borodin
646b662eb0 (lock_get_info): type accuracies and related changes.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:07 +03:00
Andrew Borodin
4ce4c9b7dc Remove GLib-compatible code related to GLib < 2.26. 2016-01-01 11:48:06 +03:00
Mooffie
5fad7508c5 button_get_text() shouldn't return 'const'.
As it's a newly allocated string which the caller needs to free.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2016-01-01 11:48:06 +03:00
Slava Zanko
7f383fbd6b Add mc_shell_init() and mc_shell_deinit() functions.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2016-01-01 11:48:06 +03:00
Slava Zanko
0e79be1b7a Introduce mc_shell_t type.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2016-01-01 11:48:06 +03:00
Andrew Borodin
99dd99172f Listbox: don't wraparound on mouse scroll.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-18 21:24:53 +03:00
Mooffie
e86072497f Ticket #3554: Listbox: don't wraparound on mouse scroll.
Initial commit: Listbox code cleanup.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-18 21:24:46 +03:00
Alexander Kriegisch
09ed02ea85 Minor code changes.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2015-11-10 11:55:38 +03:00
Alexander Kriegisch
f596c916a4 New subshell types Busybox ash + Debian ash (dash) and some more enhancements plus fish chdir bugfix
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2015-11-10 11:55:35 +03:00
Andrew Borodin
97f65abd94 Reimplement handling of ev_vfs_print_message_t message.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:21 +03:00
Andrew Borodin
70fa973f47 Fix typos.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:21 +03:00
Andrew Borodin
3e622b822e (vfs_get_current_dir): avoid string duplication.
(vfs_get_current_dir_n): new function returned newly allocated string.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:21 +03:00
Andrew Borodin
318df7b2e3 (prepend_error_and_exit): fix format. 2015-11-05 14:33:20 +03:00
Andrew Borodin
d9ad3d2e32 Clarify __attribute ((format (printf))) usage.
Thanks Andreas Mohr <and@gmx.li> for the original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:33:20 +03:00
Andrew Borodin
bb6f1e6695 Fix calls of vfs_print_message(). 2015-11-05 14:32:54 +03:00
Andrew Borodin
a2fbfce123 (gauge_callback): fix draw of progress bar. 2015-11-05 14:32:53 +03:00
Andrew Borodin
e9db0a0c12 (vfs_canon): merge local variables. 2015-11-05 14:32:52 +03:00
Andrew Borodin
cb567b5ea6 (vfs_s_print_stats): get rid of static variables.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:32:52 +03:00
Andrew Borodin
69fb6b91be (i18n_checktimelength): minor optimization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:32:52 +03:00
Andrew Borodin
4f45767601 (get_owner): change type of parameter and return value:
return value: from "char *" to "const char *";
parameter: from int to uid_t.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:32:52 +03:00
Andrew Borodin
a95320cb15 (get_group): change type of parameter and return value:
return value: from "char *" to "const char *";
parameter: from int to gid_t.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:32:52 +03:00
Andrew Borodin
615eba776d Ticket #3420: code cleanup before 4.8.15 release.
lib/strutil/*.c: apply template.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-11-05 14:32:51 +03:00
Egmont Koblinger
7cdb3e47c0 Ticket #3449: Segfault in "Find file" due to invalid UTF-8 sequences
Signed-off-by: Yury V. Zaytsev <yury@shurup.com>
2015-10-18 19:26:42 +02:00
Egmont Koblinger
7e622158a2 Ticket #3530: viewer: highlight Find File's result.
Initial commit: (WLEntry): add free_data member to free or keep the data
on entry's removal.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-10-18 18:19:26 +02:00
Egmont Koblinger
1f0dee6b52 Ticket #3525: fix "Whole words" search.
The "Whole words" feature of search only worked in Normal mode, not in
any of the other modes (Regex, Hex, Wildcard).

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-09-19 20:26:31 +03:00
Egmont Koblinger
a0741b0a08 Ticket #3524: fix highliht of search result...
...in case of "Regular expression" and "Whole words".

The bug:
If there's no match, it's properly reported so.
If there's a match, however, the mcview's viewport is properly scrolled
vertically, but the search result is not highlighted. Plus, you can
press "Search again" once (or more times if there are multiple matches
in the line) and it won't progress to the next match.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-09-19 18:24:07 +03:00
Mooffie
b681f4bbef Ticket #3472: documentation for vfs/gc.c.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-06-18 21:13:49 +03:00
Andrew Borodin
21060c8ea7 (groupbox_callback): remove unused variable.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 20:16:56 +03:00
mooffie
ace07e4239 WGroupbox: respect dialog's colors.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 19:10:12 +03:00
Andreas Mohr
f023a83502 Ticket #3467: add -Wunreachable-code option and fix relative warnings.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:19 +03:00
Andreas Mohr
f1b73ffe6e Ticket #3465: add -Wmissing-variable-declarations option...
...and fix relative warnings.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andreas Mohr
156bf097e2 Ticket #3464: (compute_namelen): remove...
...since DIRENT_LENGTH_COMPUTED is always 1.
compute_namelen() returns without functional logic.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andrew Borodin
040be28e1b Ticket #3462: (WHLine): fix memory leak.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andrew Borodin
a382b1558b Ticket #3420: code cleanup before 4.8.15 release.
Ticket #3457: (my_systemv_flags): fix memory leak.
(my_system_make_arg_array): ret rid of string duplications."

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-24 17:59:18 +03:00
Andrew Borodin
93d7856f85 (quick_dialog_skip): fix location of labeled input. 2015-05-24 17:51:39 +03:00
Andrew Borodin
17bbeb9791 Ticket #3456: SFTP VFS: fix segfault.
(mc_error_message): return error code for possible following use."
(sftpfs_cb_open_connection): fix dereference of null pointer.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-09 16:46:45 +03:00
Andrew Borodin
fd4d25ae27 (strip_ctrl_codes): add missing default case.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 20:12:18 +03:00
Andrew Borodin
2789e6e390 Ticket #3431: add missing default cases.
Introduce -Wswitch-default check.

Some minor cosmetics.

Thanks Andreas Mohr <and at gmx dot li> for original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:50 +03:00
Andreas Mohr
4821259d85 Ticket #3437: (custom_canonicalize_pathname): fix heap-buffer-overflow.
Only use strncmp when path has enough room (greater then url_delim_len
size).
Overflow happen when path = './'.

(Found by AddressSanitizer.)

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andreas Mohr
d74be13ef0 (file_date): fix variable initialization.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andreas Mohr
e9e6868789 is_7bit_printable() is used only if support of charset selection and conversion is disabled. 2015-05-03 19:43:49 +03:00
Andreas Mohr
bd051e4095 lib/strutil/strutil8bit.c: remove unused functions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andrew Borodin
b698b7e834 Ticket #3435: clang compiler fixes/cleanups.
Since O_* macros are used in lib/global.h, include <fcntl.h> there.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:49 +03:00
Andreas Mohr
57452f656b Use #ifdef for autoconf provided marcos...
...until autoconf switch from un/define marco logic to always existing
macro with 0/1 value.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Andreas Mohr
d0d7d412a7 Better use of S_IS* macros.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Andreas Mohr
8a2f9e253d Ticket #3430: introduce -Wundef check to catch macro typos.
Use always defined MC_HOMEDIR_XDG macro.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Andrew Borodin
44bf7e8d80 reset_hp_softkeys variable is used in S-Lang-based mc only.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Andreas Mohr
ca95dec659 Ticket #3428: fix -Wredundant-decls compiler warnings...
...and use compiler option for future compile checks.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Andreas Mohr
7665a2a2e2 Ticket #3420: code cleanup before 3.4.15 release.
Ticket #3424: fix -Wdeclaration-after-statement compiler warnings.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-05-03 19:43:48 +03:00
Ben Woods
544a6b625e Ticket #3444: (mc_popen): use the PATH environment variable
...to search for the executable when opening pipe:
add the G_SPAWN_SEARCH_PATH flag to the g_spawn_async_with_pipes() call,
which cause mc to use the PATH environment variable to search for the
executable.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-04-19 15:29:39 +03:00
Egmont Koblinger
1a1496fc0d Ticket #3416: viewer case insensitive search doesn't find accents.
Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2015-03-19 11:16:24 +03:00
Andrew Borodin
8c88aa01ad Remove code required for GLib < 2.14.0.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:20:54 +03:00
Andrew Borodin
c08c90cd1b (input_execute_cmd): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:20:53 +03:00
Andrew Borodin
42e7e39bd8 Add IS_PATH_SEP macro and use it.
Also massive use of PATH_SEP and PATH_SEP_STR macros.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:13:02 +03:00
Andrew Borodin
454479549c Update copyright years. 2015-02-26 09:12:08 +03:00
Andrew Borodin
6ed1eba88f (mc_search_regex_prepare_replace_str): refactoring.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:12:08 +03:00
Andrew Borodin
fa7d2ea110 lib/search/regex.c: use [] to get char in string. 2015-02-26 09:12:08 +03:00
Andrew Borodin
2c7dfe7341 (mc_search_prepare_replace_str2): make replace_str const.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:12:08 +03:00
Andrew Borodin
589d0bea0b (mc_search__regex_str_append_if_special): refactoring of loop and conditions.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:12:08 +03:00
Andrew Borodin
8ce85a419b Ticket #3265: code cleanup before 4.8.14 release.
(mc_search_regex__process_append_str): fix condition.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-26 09:12:07 +03:00
Boris Savelev
933fd255d0 Ticket #2743: File selection by patterns uses bytes instead of (unicode) characters.
Using the "?" pattern in the file selection dialog brought up with '+',
mc uses the file name length in bytes instead of characters.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2015-02-25 12:59:57 +03:00
Boris Savelev
6ca737d230 The patch does not intend to fix all Bash patterns (I believe mc never claimed to support all kinds of them), but it fixes some issues.
Namely, backslash-escaped metacharacter like {}*? will remain in the pattern (with the current code it is just stripped). Second, comma will be transformed to | only inside a group.

Signed-off-by: Slava Zanko <slavazanko@gmail.com>
2015-02-24 14:58:51 +03:00
Andrew Borodin
96699b7eba Ticket #3390: fix backward word delete in input fields.
How to reproduce:
Either on the command line, or in any other text entry field (e.g. copy
file to) enter a string where the last word consists of one single
letter only. E.g. "abc de f".
Press Alt+Backspace.

Expected behavior: Remove the last word, that is, the letter "f" only,
leaving "abc de ".

Actual behavior: Yet another word is removed, leaving "abc ".

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-20 09:13:08 +03:00
Andreas Mohr
29d4afc657 Ticket #3404: fix order of old_colors table items.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-18 09:40:18 +03:00
Egmont Koblinger
89d2db5ca3 Ticket #3065: support of italic text.
Italic text is supported by S-Lang since pre2.3.0-107 and NCurses since 5.9.20130831.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-02-17 15:22:53 +03:00
Andrew Borodin
5ecf12483a Ticket #2952: search: fix zero-length substitution.
Problem:
Suppose you want to replace a substring in some file names with another,
so you do a File Rename operation with source pattern:

*OLDSTRING*

and target pattern:

\1NEWSTRING\2

If OLDSTRING occurs inside a filename, it is replaced correctly, but if
at the beginning or end of the filename, the corresponding zero-length
wildcard match is replaced by literal \1 or \2, respectively.

Expected
Wildcards that match a zero-length substring should be substituted with
an empty string.

Thanks boris<> for the original patch.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2015-01-14 09:50:50 +03:00
ginggs
8c1c48f61e Ticket #3333: fix g_error_new_valist().
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-12-10 13:09:13 +03:00
Andrew Borodin
77a45cdafb lib/glibcompat.h: add missing include of stdarg.h.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-12-10 13:09:13 +03:00
Andrew Borodin
052ac838aa Add semicolon to the table of key code names.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-12-10 12:57:47 +03:00
Andrew Borodin
ce568de9b9 (name_quote): refactoring
...and related modifications.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-12-10 12:57:47 +03:00
Andrew Borodin
720f214482 (status_msg_init): repaint screen forced to remove previous finished dialog.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-10-03 13:19:26 +04:00
Andrew Borodin
81201b3022 status_msg_t: reimplement delay usage.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-10-03 13:19:25 +04:00
Andrew Borodin
89621050e3 (mc_time_elapsed): add new function to detect elapsed time intervals.
The author of initial patch is Egmont Koblinger.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-10-03 13:19:25 +04:00
Andrew Borodin
be938c611b Ticket #3247: refactoring of status_msg engine.
Initial commit: create global timer.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
2014-10-03 13:19:25 +04:00