There is many places (esp. completion stuff),
whish does stuff like the following:
char * result
while ( (result = do_stuff (&state)) != NULL) {
...
}
Usually do_stuff () uses str_unescape() in function start
and str_escape() at the end. str_escape() hides NULL and
we get endless loop. And g_strdup("") is larger, than NULL :]
Signed-off-by: Sergei Trofimovich <st@anti-virus.by>
Description by Sergei Trofimovich:
GNU ChangeLog? files are result of CVS stupidpity about changeset tracking.
Currently constantly updated ChangeLogs? diverge in different branches and cause collisions(!)
when 'git merge' (almost ANY SINGLE MERGE!).
Major changes can be described in NEWS file, minor changes can be autogenerated via 'git log'/'git shortlog'
and friends (if needed at all).
Also, changes 'normal' search engine - now it wrapper for 'regex' search engine
because old engine don't correct work: search by 'test' success on 'test' or 'TEST'
but fail on 'Test' or 'teSt'. New 'normal' engine work correctly.
(filename_completion_function): tilde_expand() returns a new allocated
string, fixed memleak. Formatting. Small optimization. Type accuracy.
Continue at the end of loop is useless, removed.
(username_completion_function): Type accuracy. Formatting. Small
optimization.
(command_completion_function): Type accuracy. Small optimization.
Fixed bug of previous commit: pointer to freed memory was used.
Disabled by default. This option is available in ini file only.
setup.h: declare mouse_close_dialog variable.
setup.h: read/write mouse_close_dialog variable from/to ini file.
dialog.c: use mouse_close_dialog variable to control the single left click
outside of dialog.
* 130_sysconfdir_mc:
scripts mc.sh, mc.csh, mc-wrapper.csh and mc-wrapper.sh now install into %{libexec}/mc directory
edit/syntax.c: fixed path to Syntax file
Move global config files from pkg_datadir to sysconfdir
Problem arose in freebsd-7.2 system. GCC has 'signed char' there
and thus code like this broke:
> char c = ...;
> if (isprint(c)) ..." // 'signed char' -> 'signed int'
('man isprint' explicitely says to pass 'unsigned char' there)
As we use multibyte chars everywhere - there is not many places to fix.
This patch fixes all 8bit collate functions.
Signed-off-by: Sergei Trofimovich <slyfox@inbox.ru>
* 347_replace_profile_src:
Added check for glib version in mc_config_del_param and mc_config_del_group functions
Replace self-made code for work with ini-files to glib native code
configure.ac: Added check for minimal version of Glib2
Since Glib2-2.15 API of file-ini module was changed.
Old API:
void g_key_file_remove_key(...)
New API:
gboolean g_key_file_remove_key(...)
Therefore need to check version of Glib and fix return parameter from mc_config_del_param and mc_config_del_group for success build
Work with ini-file added in Glib2 since version 2.6, therefore in configure.ac added this check.
* 351_show_number_line:
fix hotkey menu entry "Toggle li&ne state" now highlighted "n"
add call CK_Toggle_Line_State to edit menu
show line number in left part of screen (hotkey alt-n)
* mc-4.6:
commandline: strip_escape: strip xterm OSC commands in $PS1
src/main.c (main): create MC home directory with 700 mode instead of 755 one.
src/main.c (main): create MC home directory (~/.mc) if absent.