Ticket #3052: fix man page "macro `\' not defined" warnings.
man --warnings doc/man/mc.1 >/dev/null
reported the following warning:
3114: warning: macro `\' not defined".
and indeed man page didn't look correct at the line starting with "Apply
escaping".
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* Improve support for EPOCH
* Add support for PREINPROG/POSTINPROG/PREUNPROG/POSTUNPROG
* Add support for VERIFYSCRIPTPROG
* Add support for TRIGGERSCRIPTS/TRIGGERSCRIPTPROG
Thanks Arkadiusz Miśkiewicz <arekm@maven.pl> for the original patch.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 2661_mcedit_paste:
Handle newline and tab with shift/ctrl modifiers correctly.
Support bracketed paste mode of xterm in mcedit.
Ticket #2661: support enable bracketed paste of xterm.
MC already has its own half-ready trick: when pasting with Shift-Insert,
using the X11 extension, the newline ("Enter" as mc calls it) with the
Shift modifier pressed gets converted to a "Return", and in the editor
the Return character inserts a non-indenting newline. This makes pasting
better in terminals not supporting bracketed paste, however, it has some
problems that this commit addresses:
* Shift+newline gets this special treatment, but Ctrl+newline gets
dropped. Hence e.g. when pasting in Gnome-terminal with Ctrl+Shift+V
all the newlines will be missing. This commit adds the same
non-indenting newline behavior to Ctrl+Newline and Ctrl+Shift+Newline.
* The code forgets about Tab that also needs special treatment:
- Most terminals send \e[Z on Shift+Tab, this is not handled by MC
at all, moreover it causes a hang for about a second. This commit
teaches this sequence to MC. This is especially useful when no X11
is available, because there Ctrl+Tab is identical to Tab, so the
backwards tab feature is not available. With this commit Shift+Tab
becomes a backwards tab too on all terminals that emit \e[Z.
- When pasting to the editor, Shift+Tab, Ctrl+Tab and Ctrl+Shift+Tab
should all insert a tab for the same reason mentioned at the newline.
- It would look inconsistent in the keymap files to have logical code
such as "backtab" instead of "shift-tab" and friends, hence get rid
of KEY_BTAB and use KEY_M_SHIFT | '\t' instead.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Extfs urar helper doesn't allow to see the whole filename if it
contains spaces and is unpacked by unrar v5. This commit should fix that.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
How to reproduce:
Changes to the text file inside nested .zip file are lost.
echo "hello, world" >hello.txt
zip message.zip hello.txt
zip wrapper.zip message.zip
rm -v hello.txt message.zip
Using mc enter to wrapper.zip/message.zip and edit (F4) "hello.txt",
save, then exit mc.
unzip wrapper.zip
unzip message.zip
Result: changes were not saved to "hello.txt".
Expected result: changes are saved.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 3069_case_sens_search_fix:
Refactoring: use define DEFAULT_CHARSET for "ASCII" charset.
Search: better support of --disable-charset
Ticket 3069: fix of case-sensitive search
...if file encoding and locale are different.
Example: locale is KOI8-R, file encoding is UTF-8. Note: those encodings
are not same.
File content is following (in Russian):
йцукен
Йцукен
The difference is in first line char only: Й (lowercase letter) and й
(uppercase letter). The search of Ê gives the result Й independently of
case sensitivity. й isn't found.
If switch "All charsets" on, nothing is found.
The main idea of fix is modification of search API to allow set of search
pattern charset and use if within search engine.
Old API:
mc_search_new (pattern, pattern_len);
New API:
mc_search_new (pattern, pattern_len, pattern_charset);
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
* 3066_dir_list:
Rename type file_entry to the file_entry_t.
Concretize an usage of file_entry type.
Rename functions:
Rename macros related to dir_list::size.
(dir_list_append): add new dir_list API and use it.
(clean_dir): try minimize memory usage.
Add dir_list::len member to keep number of items in list.
(handle_path): don't check list size here.
(dir_list_grow): new public API of dir_list.
Rename panel_sort_info_t to dir_sort_options_t
Move sort_field member out from panel_sort_info_t structure.
Ticket #3066: refactoring of dir_list class and related code.
mc always expects to see cpio payload inside rpm packages. However, it
is also possible for rpm packages to contain tar payload (ustar, to be
more precise).
rpm2cpio works correctly for such files (but it produces tar archives,
not cpio ones).
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Following cases from command line are possible:
* 'mc' (no arguments):
active panel uses current directory
passive panel uses "other_dir" from panels.ini
* 'mc dir1 dir2' (two arguments):
active panel uses dir1
right panel uses dir2
* 'mc dir1' (single argument):
active panel uses dir1
passive panel uses "other_dir" from panels.ini
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
Switching between vertical and horizontal layouts doesn't properly
activate or deactivate the < and > widget buttons in the layout dialog
according to the setting of the mode being switched to.
Signed-off-by: Andrew Borodin <aborodin@vmail.ru>