- support shell patterns in copy dialog (#516180)
(http://www.midnight-commander.org/ticket/414)
This commit is contained in:
parent
95f47c2448
commit
78571b53e4
41
mc-shell-patterns.patch
Normal file
41
mc-shell-patterns.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
diff -d -urpN mc.7/src/search/glob.c mc.8/src/search/glob.c
|
||||||
|
--- mc.7/src/search/glob.c 2009-06-29 14:06:35.000000000 +0200
|
||||||
|
+++ mc.8/src/search/glob.c 2009-07-03 12:40:36.000000000 +0200
|
||||||
|
@@ -141,8 +142,36 @@ mc_search__run_glob (mc_search_t * mc_se
|
||||||
|
}
|
||||||
|
|
||||||
|
/* --------------------------------------------------------------------------------------------- */
|
||||||
|
+static GString *
|
||||||
|
+mc_search__translate_replace_glob_to_regex (gchar *str)
|
||||||
|
+{
|
||||||
|
+ GString *buff = g_string_new ("");
|
||||||
|
+ int cnt = '0';
|
||||||
|
+
|
||||||
|
+ while (*str) {
|
||||||
|
+ char c = *str++;
|
||||||
|
+ switch (c) {
|
||||||
|
+ case '*':
|
||||||
|
+ case '?':
|
||||||
|
+ g_string_append_c (buff, '\\');
|
||||||
|
+ c = ++cnt;
|
||||||
|
+ break;
|
||||||
|
+ /* breaks copying: mc uses "\0" internally, it must not be changed */
|
||||||
|
+ /*case '\\':*/
|
||||||
|
+ case '&':
|
||||||
|
+ g_string_append_c (buff, '\\');
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ g_string_append_c (buff, c);
|
||||||
|
+ }
|
||||||
|
+ return buff;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
GString *
|
||||||
|
mc_search_glob_prepare_replace_str (mc_search_t * mc_search, GString * replace_str)
|
||||||
|
{
|
||||||
|
- return mc_search_regex_prepare_replace_str (mc_search, replace_str);
|
||||||
|
+ GString *repl = mc_search__translate_replace_glob_to_regex(replace_str->str);
|
||||||
|
+ GString *res = mc_search_regex_prepare_replace_str (mc_search, repl);
|
||||||
|
+ g_string_free (repl, TRUE);
|
||||||
|
+ return res;
|
||||||
|
}
|
8
mc.spec
8
mc.spec
@ -1,7 +1,7 @@
|
|||||||
Summary: User-friendly text console file manager and visual shell
|
Summary: User-friendly text console file manager and visual shell
|
||||||
Name: mc
|
Name: mc
|
||||||
Version: 4.7.0
|
Version: 4.7.0
|
||||||
Release: 0.2.pre1%{?dist}
|
Release: 0.3.pre1%{?dist}
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
License: GPLv2
|
License: GPLv2
|
||||||
Group: System Environment/Shells
|
Group: System Environment/Shells
|
||||||
@ -16,6 +16,7 @@ Patch1: mc-ipv6.patch
|
|||||||
Patch2: mc-prompt.patch
|
Patch2: mc-prompt.patch
|
||||||
Patch3: mc-exit.patch
|
Patch3: mc-exit.patch
|
||||||
Patch4: mc-extensions.patch
|
Patch4: mc-extensions.patch
|
||||||
|
Patch5: mc-shell-patterns.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Midnight Commander is a visual shell much like a file manager, only
|
Midnight Commander is a visual shell much like a file manager, only
|
||||||
@ -30,6 +31,7 @@ specific files.
|
|||||||
%patch2 -p1 -b .prompt
|
%patch2 -p1 -b .prompt
|
||||||
%patch3 -p1 -b .exit
|
%patch3 -p1 -b .exit
|
||||||
%patch4 -p1 -b .extensions
|
%patch4 -p1 -b .extensions
|
||||||
|
%patch5 -p1 -b .shell-patterns
|
||||||
|
|
||||||
%build
|
%build
|
||||||
export CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS"
|
export CFLAGS="-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE $RPM_OPT_FLAGS"
|
||||||
@ -85,6 +87,10 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
%dir %{_libexecdir}/mc
|
%dir %{_libexecdir}/mc
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Aug 7 2009 Jindrich Novy <jnovy@redhat.com> 4.7.0-0.3.pre1
|
||||||
|
- support shell patterns in copy dialog (#516180)
|
||||||
|
(http://www.midnight-commander.org/ticket/414)
|
||||||
|
|
||||||
* Wed Aug 5 2009 Jindrich Novy <jnovy@redhat.com> 4.7.0-0.2.pre1
|
* Wed Aug 5 2009 Jindrich Novy <jnovy@redhat.com> 4.7.0-0.2.pre1
|
||||||
- update extension binding to be more Fedora-like
|
- update extension binding to be more Fedora-like
|
||||||
- update to upstream IPv6 patch
|
- update to upstream IPv6 patch
|
||||||
|
Loading…
Reference in New Issue
Block a user