- Recongnize csh as TCSH shell
- Fix case-insensitive file search - Bump PORTREVISION PR: 99428, 99424 Submitted by: Stanislav Sedov
This commit is contained in:
parent
f86afd9800
commit
da74184122
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=168647
@ -7,7 +7,7 @@
|
||||
|
||||
PORTNAME= mc
|
||||
PORTVERSION= 4.6.1
|
||||
PORTREVISION= 3
|
||||
PORTREVISION= 4
|
||||
CATEGORIES= misc shells
|
||||
MASTER_SITES= ${MASTER_SITE_SUNSITE}
|
||||
MASTER_SITE_SUBDIR= utils/file/managers/mc/
|
||||
|
145
misc/mc/files/patch-regex
Normal file
145
misc/mc/files/patch-regex
Normal file
@ -0,0 +1,145 @@
|
||||
--- src/cmd.c.orig Sat Jun 24 19:44:21 2006
|
||||
+++ src/cmd.c Sat Jun 24 19:45:46 2006
|
||||
@@ -510,7 +510,7 @@
|
||||
continue;
|
||||
}
|
||||
c = regexp_match (reg_exp_t, current_panel->dir.list[i].fname,
|
||||
- match_file);
|
||||
+ match_file, 0);
|
||||
if (c == -1) {
|
||||
message (1, MSG_ERROR, _(" Malformed regular expression "));
|
||||
g_free (reg_exp);
|
||||
--- src/dir.c.orig Sat Jun 24 19:51:05 2006
|
||||
+++ src/dir.c Sat Jun 24 19:51:31 2006
|
||||
@@ -405,7 +405,7 @@
|
||||
*stale_link = 1;
|
||||
}
|
||||
if (!(S_ISDIR (buf1->st_mode) || *link_to_dir) && filter
|
||||
- && !regexp_match (filter, dp->d_name, match_file))
|
||||
+ && !regexp_match (filter, dp->d_name, match_file, 0))
|
||||
return 0;
|
||||
|
||||
/* Need to grow the *list? */
|
||||
--- src/ext.c.orig Sat Jun 24 19:52:00 2006
|
||||
+++ src/ext.c Sat Jun 24 19:52:21 2006
|
||||
@@ -394,7 +394,7 @@
|
||||
}
|
||||
|
||||
if (content_string[0]
|
||||
- && regexp_match (ptr, content_string + content_shift, match_regex)) {
|
||||
+ && regexp_match (ptr, content_string + content_shift, match_regex, 0)) {
|
||||
found = 1;
|
||||
}
|
||||
|
||||
@@ -534,11 +534,11 @@
|
||||
/* Do not transform shell patterns, you can use shell/ for
|
||||
* that
|
||||
*/
|
||||
- if (regexp_match (p, filename, match_regex))
|
||||
+ if (regexp_match (p, filename, match_regex, 0))
|
||||
found = 1;
|
||||
} else if (!strncmp (p, "directory/", 10)) {
|
||||
if (S_ISDIR (mystat.st_mode)
|
||||
- && regexp_match (p + 10, filename, match_regex))
|
||||
+ && regexp_match (p + 10, filename, match_regex, 0))
|
||||
found = 1;
|
||||
} else if (!strncmp (p, "shell/", 6)) {
|
||||
p += 6;
|
||||
--- src/find.c.orig Sat Jun 24 20:36:41 2006
|
||||
+++ src/find.c Sat Jun 24 20:37:58 2006
|
||||
@@ -575,6 +575,7 @@
|
||||
struct stat tmp_stat;
|
||||
static int pos;
|
||||
static int subdirs_left = 0;
|
||||
+ int cflags = 0;
|
||||
|
||||
if (!h) { /* someone forces me to close dirp */
|
||||
if (dirp) {
|
||||
@@ -586,6 +587,9 @@
|
||||
dp = 0;
|
||||
return 1;
|
||||
}
|
||||
+
|
||||
+ if (case_sensitive == 0)
|
||||
+ cflags |= REG_ICASE;
|
||||
do_search_begin:
|
||||
while (!dp){
|
||||
|
||||
@@ -662,7 +666,7 @@
|
||||
g_free (tmp_name);
|
||||
}
|
||||
|
||||
- if (regexp_match (find_pattern, dp->d_name, match_file)){
|
||||
+ if (regexp_match (find_pattern, dp->d_name, match_file, cflags)){
|
||||
if (content_pattern) {
|
||||
if (search_content (h, directory, dp->d_name)) {
|
||||
return 1;
|
||||
--- src/user.c.orig Sat Jun 24 19:54:48 2006
|
||||
+++ src/user.c Sat Jun 24 19:55:10 2006
|
||||
@@ -412,18 +412,18 @@
|
||||
break;
|
||||
case 'f': /* file name pattern */
|
||||
p = extract_arg (p, arg, sizeof (arg));
|
||||
- *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file);
|
||||
+ *condition = panel && regexp_match (arg, panel->dir.list [panel->selected].fname, match_file, 0);
|
||||
break;
|
||||
case 'y': /* syntax pattern */
|
||||
if (edit_widget && edit_widget->syntax_type) {
|
||||
p = extract_arg (p, arg, sizeof (arg));
|
||||
*condition = panel &&
|
||||
- regexp_match (arg, edit_widget->syntax_type, match_normal);
|
||||
+ regexp_match (arg, edit_widget->syntax_type, match_normal, 0);
|
||||
}
|
||||
break;
|
||||
case 'd':
|
||||
p = extract_arg (p, arg, sizeof (arg));
|
||||
- *condition = panel && regexp_match (arg, panel->cwd, match_file);
|
||||
+ *condition = panel && regexp_match (arg, panel->cwd, match_file, 0);
|
||||
break;
|
||||
case 't':
|
||||
p = extract_arg (p, arg, sizeof (arg));
|
||||
--- src/util.c.orig Sat Jun 24 19:55:21 2006
|
||||
+++ src/util.c Sat Jun 24 19:57:49 2006
|
||||
@@ -563,25 +563,28 @@
|
||||
return g_strdup (pattern);
|
||||
}
|
||||
|
||||
-int regexp_match (const char *pattern, const char *string, int match_type)
|
||||
+int regexp_match (const char *pattern, const char *string, int match_type, int cflags)
|
||||
{
|
||||
static regex_t r;
|
||||
static char *old_pattern = NULL;
|
||||
static int old_type;
|
||||
+ static int old_cflags;
|
||||
int rval;
|
||||
char *my_pattern;
|
||||
|
||||
- if (!old_pattern || STRCOMP (old_pattern, pattern) || old_type != match_type){
|
||||
+ if (!old_pattern || STRCOMP (old_pattern, pattern) ||
|
||||
+ old_type != match_type || cflags != old_cflags){
|
||||
if (old_pattern){
|
||||
regfree (&r);
|
||||
g_free (old_pattern);
|
||||
old_pattern = NULL;
|
||||
}
|
||||
my_pattern = convert_pattern (pattern, match_type, 0);
|
||||
- if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS)) {
|
||||
+ if (regcomp (&r, my_pattern, REG_EXTENDED|REG_NOSUB|MC_ARCH_FLAGS|cflags)) {
|
||||
g_free (my_pattern);
|
||||
return -1;
|
||||
}
|
||||
+ old_cflags = cflags;
|
||||
old_pattern = my_pattern;
|
||||
old_type = match_type;
|
||||
}
|
||||
--- src/util.h.orig Sat Jun 24 19:57:50 2006
|
||||
+++ src/util.h Sat Jun 24 19:58:03 2006
|
||||
@@ -116,7 +116,7 @@
|
||||
|
||||
extern int easy_patterns;
|
||||
char *convert_pattern (const char *pattern, int match_type, int do_group);
|
||||
-int regexp_match (const char *pattern, const char *string, int match_type);
|
||||
+int regexp_match (const char *pattern, const char *string, int match_type, int cflags);
|
||||
|
||||
/* Error pipes */
|
||||
void open_error_pipe (void);
|
12
misc/mc/files/patch-src-subshell.c
Normal file
12
misc/mc/files/patch-src-subshell.c
Normal file
@ -0,0 +1,12 @@
|
||||
diff -ruN src/subshell.c.orig src/subshell.c
|
||||
--- src/subshell.c.orig Wed Jun 14 15:45:12 2006
|
||||
+++ src/subshell.c Wed Jun 14 15:45:39 2006
|
||||
@@ -395,6 +395,8 @@
|
||||
subshell_type = ZSH;
|
||||
else if (strstr (shell, "/tcsh"))
|
||||
subshell_type = TCSH;
|
||||
+ else if (strstr (shell, "/csh"))
|
||||
+ subshell_type = TCSH;
|
||||
else if (strstr (shell, "/bash") || getenv ("BASH"))
|
||||
subshell_type = BASH;
|
||||
else {
|
Loading…
Reference in New Issue
Block a user