This is an initial support of GLSL syntax highlight for mcedit.
Keyword and and built-in function lists are based on glsl-mode.el
from emacs (which is originally written by Xavier Decoret and
Jim Hourihan).
Supports GLSL 4.5.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
...after changing VFS in the passive one.
Steps to reproduce:
1. Make left panel active.
2. Press F9 to open menu, select 'Right', then 'FTP link...'
3. Insert a valid FTP URL and press OK (or Enter). Wait for finish of FTP
directory reading.
4. Left panel is still active. Try to change CWD here by pressing Enter
or using command line.
Result: error messages 'ftpfs: CWD failed' and 'Cannot change directory'
or 'Cannot chdir to...'.
The problem: when VFS is changed in the passive panel, VFS CWD is
changed accordingly. Then active panel tries use the new VFS CWD.
The solution: restore VFS CWD after changing VFS in the passive panel.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 3641_cleanup: (23 commits)
Cleanup unused macros.
(mc_search__translate_replace_glob_to_regex): cleanup compile warning.
mcedit: syntax: associate node executables with JavaScript syntax.
(mc_ctl): join conditions.
(vfs_strip_suffix_from_filename): refactoring.
lib/tty/key.h: remove declaration of unimplemented function.
Fix default shortcut for "HotList" command.
(vfs_setup_cwd): move directory test to separate function.
(setup_panels): clarify panel size caclulation.
(panel_update_cols): move from panel.c to layout.c.
(tree_move): support VFS.
(check_callback): clean unneeded type casting.
Refactoring of widget's position and size calculation.
Refactoring of dialog's position and size calculation.
Ticket #3562: fix Glib-critical asserts in empty WListbox.
(mc_search_set_error): cleanup compile warning on older gcc compilers:
Find file: fix directory search order to be depth-first again.
(variable_completion_function): cleanup Wconditional-uninitialized warning.
Minor refactoring of mc shutdown.
(make_symlink): trivial refactoring.
...
glob.c:143:21: warning: implicit conversion loses integer precision: 'int' to 'char' [-Wconversion]
c = ++cnt;
~ ^~~~~
Signed-off-by: Andreas Mohr <and@gmx.li>
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
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>
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>
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>
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>
* 3661_panel_mouse_click:
(edit_dialog_command_execute): when switch to another window, do not select it twice.
Set WOP_TOP_SELECT options for panel widgets: WPanel, WView and WTree.
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>