- update from CVS - fixes syntax file for PHP

- make displaying of free space configurable
- fix permission highlighting (#177100)
- redirect stdout and stderr of several apps run on background to /dev/null
    to not to mess up mc interface (#178833)
- refresh directories to avoid errors caused by copying files to
    non-existent directories (#177111)
- add an option to insert changelog entry in mcedit, thanks to Radek Vokal
This commit is contained in:
Jindrich Novy 2006-02-01 15:10:24 +00:00
parent 33ba53c6fd
commit beabfeb67b
6 changed files with 310 additions and 122 deletions

16
mc-cedit.patch Normal file
View File

@ -0,0 +1,16 @@
--- mc-4.6.1a/lib/cedit.menu.changelog 2005-05-27 05:35:12.000000000 +0200
+++ mc-4.6.1a/lib/cedit.menu 2006-01-30 10:46:11.000000000 +0100
@@ -449,6 +449,13 @@
EMAIL="<$REPLYTO>"
echo "$DATE $AUTHOR $EMAIL" >%b
+S Insert `Spec-file Changelog' string
+ DATE="`date +\"%%a %%b %%e %%Y\"`"
+ MY_UID="`id | sed 's/^.*uid=\([^(]*\).*$/\1/'`"
+ AUTHOR="`awk -F: '$3 == '$MY_UID' {print $5}' /etc/passwd`"
+ EMAIL="<$REPLYTO>"
+ echo "* $DATE $AUTHOR $EMAIL" >%b
+
s Invoke `shell'
sh

13
mc-delcheck.patch Normal file
View File

@ -0,0 +1,13 @@
--- mc-4.6.1a/src/file.c.delcheck 2006-01-11 20:02:10.000000000 +0100
+++ mc-4.6.1a/src/file.c 2006-01-11 21:38:45.000000000 +0100
@@ -1758,6 +1758,10 @@ panel_operate (void *source_panel, FileO
free_linklist (&linklist);
free_linklist (&dest_dirs);
+ /* Update panel contents to avoid actions on deleted files */
+ update_panels (UP_RELOAD, UP_KEEPSEL);
+ repaint_screen ();
+
if (single_entry) {
if (force_single) {
source = selection (panel)->fname;

View File

@ -121,14 +121,14 @@
# Postscript # Postscript
type/^PostScript type/^PostScript
- Open=(gv %f &) - Open=(gv %f &)
+ Open=(evince %f &) + Open=(evince %f >/dev/null 2>&1 &)
View=%view{ascii} ps2ascii %f View=%view{ascii} ps2ascii %f
# PDF # PDF
type/^PDF type/^PDF
- Open=(xpdf %f &) - Open=(xpdf %f &)
+ Open=(evince %f &) + Open=(evince %f >/dev/null 2>&1 &)
+ #Open=(xpdf %f &) + #Open=(xpdf %f >/dev/null 2>&1 &)
#Open=(acroread %f &) #Open=(acroread %f &)
#Open=(ghostview %f &) #Open=(ghostview %f &)
View=%view{ascii} pdftotext %f - View=%view{ascii} pdftotext %f -

View File

@ -1,5 +1,5 @@
--- mc-4.6.1a/src/screen.c.showfree 2006-01-02 12:22:51.000000000 +0100 --- mc-4.6.1a/src/screen.c.showfree 2006-02-01 15:47:58.000000000 +0100
+++ mc-4.6.1a/src/screen.c 2006-01-02 13:44:05.000000000 +0100 +++ mc-4.6.1a/src/screen.c 2006-02-01 15:47:58.000000000 +0100
@@ -49,6 +49,7 @@ @@ -49,6 +49,7 @@
#define WANT_WIDGETS #define WANT_WIDGETS
#include "main.h" /* the_menubar */ #include "main.h" /* the_menubar */
@ -67,7 +67,7 @@
hline ((slow_terminal ? '-' : ACS_HLINE) | NORMAL_COLOR, hline ((slow_terminal ? '-' : ACS_HLINE) | NORMAL_COLOR,
panel->widget.cols - 2); panel->widget.cols - 2);
#endif /* !HAVE_SLANG */ #endif /* !HAVE_SLANG */
+ show_free_space (panel); + if (free_space) show_free_space (panel);
} }
static void static void
@ -80,3 +80,150 @@
if (panel->active) if (panel->active)
standend (); standend ();
} }
--- mc-4.6.1a/src/layout.c.showfree 2006-02-01 15:47:58.000000000 +0100
+++ mc-4.6.1a/src/layout.c 2006-02-01 15:48:27.000000000 +0100
@@ -99,6 +99,9 @@ int message_visible = 1;
/* Set to show current working dir in xterm window title */
int xterm_title = 1;
+/* Set to show free space on device assigned to current directory */
+int free_space = 1;
+
/* The starting line for the output of the subprogram */
int output_start_y = 0;
@@ -128,6 +131,7 @@ static int _command_prompt;
static int _keybar_visible;
static int _message_visible;
static int _xterm_title;
+static int _free_space;
static int _permission_mode;
static int _filetype_mode;
@@ -158,6 +162,7 @@ static struct {
int *variable;
WCheck *widget;
} check_options [] = {
+ { N_("show free &Space"), &free_space, 0 },
{ N_("&Xterm window title"), &xterm_title, 0 },
{ N_("h&Intbar visible"), &message_visible, 0 },
{ N_("&Keybar visible"), &keybar_visible, 0 },
@@ -229,8 +234,8 @@ static int b2left_cback (int action)
if (_equal_split){
/* Turn equal split off */
_equal_split = 0;
- check_options [6].widget->state = check_options [6].widget->state & ~C_BOOL;
- dlg_select_widget (check_options [6].widget);
+ check_options [7].widget->state = check_options [7].widget->state & ~C_BOOL;
+ dlg_select_widget (check_options [7].widget);
dlg_select_widget (bleft_widget);
}
_first_panel_size++;
@@ -244,8 +249,8 @@ static int b2right_cback (int action)
if (_equal_split){
/* Turn equal split off */
_equal_split = 0;
- check_options [6].widget->state = check_options [6].widget->state & ~C_BOOL;
- dlg_select_widget (check_options [6].widget);
+ check_options [7].widget->state = check_options [7].widget->state & ~C_BOOL;
+ dlg_select_widget (check_options [7].widget);
dlg_select_widget (bright_widget);
}
_first_panel_size--;
@@ -300,14 +305,15 @@ layout_callback (struct Dlg_head *h, dlg
return MSG_HANDLED;
case DLG_POST_KEY:
- _filetype_mode = check_options [8].widget->state & C_BOOL;
- _permission_mode = check_options [7].widget->state & C_BOOL;
- _equal_split = check_options [6].widget->state & C_BOOL;
- _menubar_visible = check_options [5].widget->state & C_BOOL;
- _command_prompt = check_options [4].widget->state & C_BOOL;
- _keybar_visible = check_options [2].widget->state & C_BOOL;
- _message_visible = check_options [1].widget->state & C_BOOL;
- _xterm_title = check_options [0].widget->state & C_BOOL;
+ _filetype_mode = check_options [9].widget->state & C_BOOL;
+ _permission_mode = check_options [8].widget->state & C_BOOL;
+ _equal_split = check_options [7].widget->state & C_BOOL;
+ _menubar_visible = check_options [6].widget->state & C_BOOL;
+ _command_prompt = check_options [5].widget->state & C_BOOL;
+ _keybar_visible = check_options [3].widget->state & C_BOOL;
+ _message_visible = check_options [2].widget->state & C_BOOL;
+ _xterm_title = check_options [1].widget->state & C_BOOL;
+ _free_space = check_options [0].widget->state & C_BOOL;
if (console_flag){
int minimum;
if (_output_lines < 0)
@@ -374,7 +380,7 @@ init_layout (void)
first_width = l1;
}
- for (i = 0; i <= 8; i++) {
+ for (i = 0; i <= 9; i++) {
check_options[i].text = _(check_options[i].text);
l1 = mbstrlen (check_options[i].text) + 7;
if (l1 > first_width)
@@ -391,7 +397,7 @@ init_layout (void)
second_width = mbstrlen (title3) + 1;
- for (i = 0; i < 6; i++) {
+ for (i = 0; i < 7; i++) {
check_options[i].text = _(check_options[i].text);
l1 = mbstrlen (check_options[i].text) + 7;
if (l1 > second_width)
@@ -454,15 +460,15 @@ init_layout (void)
}
#define XTRACT(i) *check_options[i].variable, check_options[i].text
- for (i = 0; i < 6; i++) {
+ for (i = 0; i < 7; i++) {
check_options[i].widget =
- check_new (8 - i, 7 + first_width, XTRACT (i));
+ check_new (9 - i, 7 + first_width, XTRACT (i));
add_widget (layout_dlg, check_options[i].widget);
}
- check_options[8].widget = check_new (10, 6, XTRACT (8));
+ check_options[9].widget = check_new (10, 6, XTRACT (9));
+ add_widget (layout_dlg, check_options[9].widget);
+ check_options[8].widget = check_new (9, 6, XTRACT (8));
add_widget (layout_dlg, check_options[8].widget);
- check_options[7].widget = check_new (9, 6, XTRACT (7));
- add_widget (layout_dlg, check_options[7].widget);
_filetype_mode = filetype_mode;
_permission_mode = permission_mode;
@@ -472,20 +478,21 @@ init_layout (void)
_keybar_visible = keybar_visible;
_message_visible = message_visible;
_xterm_title = xterm_title;
+ _free_space = free_space;
bright_widget =
button_new (6, 15, B_2RIGHT, NARROW_BUTTON, "&>", b2right_cback);
add_widget (layout_dlg, bright_widget);
bleft_widget =
button_new (6, 9, B_2LEFT, NARROW_BUTTON, "&<", b2left_cback);
add_widget (layout_dlg, bleft_widget);
- check_options[6].widget = check_new (5, 6, XTRACT (6));
+ check_options[7].widget = check_new (5, 6, XTRACT (7));
old_first_panel_size = -1;
old_horizontal_split = -1;
old_output_lines = -1;
_first_panel_size = first_panel_size;
_output_lines = output_lines;
- add_widget (layout_dlg, check_options[6].widget);
+ add_widget (layout_dlg, check_options[7].widget);
radio_widget = radio_new (3, 6, 2, s_split_direction, 1);
add_widget (layout_dlg, radio_widget);
radio_widget->sel = horizontal_split;
--- mc-4.6.1a/src/layout.h.showfree 2004-12-03 20:17:47.000000000 +0100
+++ mc-4.6.1a/src/layout.h 2006-02-01 15:47:58.000000000 +0100
@@ -39,6 +39,7 @@ extern int keybar_visible;
extern int output_start_y;
extern int message_visible;
extern int xterm_title;
+extern int free_space;
extern int horizontal_split;
extern int nice_rotating_dash;

View File

@ -1,5 +1,5 @@
--- mc-4.6.1a/acinclude.m4.utf8 2005-11-16 00:27:27.000000000 +0100 --- mc-4.6.1a/acinclude.m4.utf8 2005-11-16 00:27:27.000000000 +0100
+++ mc-4.6.1a/acinclude.m4 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/acinclude.m4 2006-02-01 14:25:01.000000000 +0100
@@ -768,14 +768,14 @@ AC_DEFUN([MC_WITH_SLANG], [ @@ -768,14 +768,14 @@ AC_DEFUN([MC_WITH_SLANG], [
fi fi
@ -24,7 +24,7 @@
if test x$with_screen = xslang; then if test x$with_screen = xslang; then
AC_DEFINE(HAVE_SYSTEM_SLANG, 1, AC_DEFINE(HAVE_SYSTEM_SLANG, 1,
--- mc-4.6.1a/src/layout.c.utf8 2005-09-05 03:40:45.000000000 +0200 --- mc-4.6.1a/src/layout.c.utf8 2005-09-05 03:40:45.000000000 +0200
+++ mc-4.6.1a/src/layout.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/layout.c 2006-02-01 14:25:01.000000000 +0100
@@ -369,36 +369,36 @@ init_layout (void) @@ -369,36 +369,36 @@ init_layout (void)
while (i--) { while (i--) {
@ -98,8 +98,8 @@
widget_set_size (&the_menubar->widget, 0, 0, 1, COLS); widget_set_size (&the_menubar->widget, 0, 0, 1, COLS);
--- mc-4.6.1a/src/tty.c.utf8 2005-09-05 05:05:39.000000000 +0200 --- mc-4.6.1a/src/tty.c.utf8 2006-01-07 13:17:07.000000000 +0100
+++ mc-4.6.1a/src/tty.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/tty.c 2006-02-01 14:25:01.000000000 +0100
@@ -123,10 +123,12 @@ tty_print_char(int c) @@ -123,10 +123,12 @@ tty_print_char(int c)
* defined or not. Congratulations! At least, they left the API call * defined or not. Congratulations! At least, they left the API call
* for SLsmg_write_nchars as it has always been. * for SLsmg_write_nchars as it has always been.
@ -118,7 +118,7 @@
addch(c); addch(c);
#endif #endif
--- mc-4.6.1a/src/option.c.utf8 2005-05-27 05:35:15.000000000 +0200 --- mc-4.6.1a/src/option.c.utf8 2005-05-27 05:35:15.000000000 +0200
+++ mc-4.6.1a/src/option.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/option.c 2006-02-01 14:25:01.000000000 +0100
@@ -123,12 +123,12 @@ init_configure (void) @@ -123,12 +123,12 @@ init_configure (void)
title2 = _(" Pause after run... "); title2 = _(" Pause after run... ");
title3 = _(" Other options "); title3 = _(" Other options ");
@ -167,7 +167,7 @@
i18n_config_flag = 1; i18n_config_flag = 1;
} }
--- mc-4.6.1a/src/menu.h.utf8 2004-12-03 20:17:47.000000000 +0100 --- mc-4.6.1a/src/menu.h.utf8 2004-12-03 20:17:47.000000000 +0100
+++ mc-4.6.1a/src/menu.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/menu.h 2006-02-01 14:25:01.000000000 +0100
@@ -21,6 +21,8 @@ typedef struct Menu { @@ -21,6 +21,8 @@ typedef struct Menu {
menu_entry *entries; menu_entry *entries;
int start_x; /* position relative to menubar start */ int start_x; /* position relative to menubar start */
@ -178,7 +178,7 @@
extern int menubar_visible; extern int menubar_visible;
--- mc-4.6.1a/src/menu.c.utf8 2005-09-05 04:12:09.000000000 +0200 --- mc-4.6.1a/src/menu.c.utf8 2005-09-05 04:12:09.000000000 +0200
+++ mc-4.6.1a/src/menu.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/menu.c 2006-02-01 14:25:01.000000000 +0100
@@ -22,6 +22,7 @@ @@ -22,6 +22,7 @@
#include <string.h> #include <string.h>
@ -380,8 +380,8 @@
g_free (menu->name); g_free (menu->name);
g_free (menu->help_node); g_free (menu->help_node);
g_free (menu); g_free (menu);
--- mc-4.6.1a/src/filegui.c.utf8 2005-05-27 05:35:15.000000000 +0200 --- mc-4.6.1a/src/filegui.c.utf8 2006-01-30 10:22:33.000000000 +0100
+++ mc-4.6.1a/src/filegui.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/filegui.c 2006-02-01 14:25:01.000000000 +0100
@@ -65,6 +65,7 @@ @@ -65,6 +65,7 @@
#include "filegui.h" #include "filegui.h"
#include "key.h" /* get_event */ #include "key.h" /* get_event */
@ -528,7 +528,7 @@
return dest_dir; return dest_dir;
} }
--- mc-4.6.1a/src/panelize.c.utf8 2005-05-27 05:35:15.000000000 +0200 --- mc-4.6.1a/src/panelize.c.utf8 2005-05-27 05:35:15.000000000 +0200
+++ mc-4.6.1a/src/panelize.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/panelize.c 2006-02-01 14:25:01.000000000 +0100
@@ -127,7 +127,7 @@ init_panelize (void) @@ -127,7 +127,7 @@ init_panelize (void)
i = sizeof (panelize_but) / sizeof (panelize_but[0]); i = sizeof (panelize_but) / sizeof (panelize_but[0]);
while (i--) { while (i--) {
@ -554,7 +554,7 @@
#endif /* ENABLE_NLS */ #endif /* ENABLE_NLS */
--- mc-4.6.1a/src/slint.c.utf8 2005-09-05 04:14:29.000000000 +0200 --- mc-4.6.1a/src/slint.c.utf8 2005-09-05 04:14:29.000000000 +0200
+++ mc-4.6.1a/src/slint.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/slint.c 2006-02-01 14:25:01.000000000 +0100
@@ -141,7 +141,9 @@ void @@ -141,7 +141,9 @@ void
slang_init (void) slang_init (void)
{ {
@ -566,9 +566,9 @@
/* /*
* If the terminal in not in terminfo but begins with a well-known * If the terminal in not in terminfo but begins with a well-known
* string such as "linux" or "xterm" S-Lang will go on, but the * string such as "linux" or "xterm" S-Lang will go on, but the
--- mc-4.6.1a/src/main.c.utf8 2005-11-02 12:50:52.000000000 +0100 --- mc-4.6.1a/src/main.c.utf8 2006-01-29 21:26:05.000000000 +0100
+++ mc-4.6.1a/src/main.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/main.c 2006-02-01 14:25:01.000000000 +0100
@@ -698,7 +698,7 @@ load_prompt (int fd, void *unused) @@ -704,7 +704,7 @@ load_prompt (int fd, void *unused)
int prompt_len; int prompt_len;
tmp_prompt = strip_ctrl_codes (subshell_prompt); tmp_prompt = strip_ctrl_codes (subshell_prompt);
@ -577,7 +577,7 @@
/* Check for prompts too big */ /* Check for prompts too big */
if (COLS > 8 && prompt_len > COLS - 8) { if (COLS > 8 && prompt_len > COLS - 8) {
@@ -1611,7 +1611,11 @@ update_xterm_title_path (void) @@ -1617,7 +1617,11 @@ update_xterm_title_path (void)
if (xterm_flag && xterm_title) { if (xterm_flag && xterm_title) {
p = s = g_strdup (strip_home_and_password (current_panel->cwd)); p = s = g_strdup (strip_home_and_password (current_panel->cwd));
do { do {
@ -589,8 +589,8 @@
*s = '?'; *s = '?';
} while (*++s); } while (*++s);
fprintf (stdout, "\33]0;mc - %s\7", p); fprintf (stdout, "\33]0;mc - %s\7", p);
--- mc-4.6.1a/src/view.c.utf8 2005-10-04 23:07:20.000000000 +0200 --- mc-4.6.1a/src/view.c.utf8 2006-01-31 15:39:30.000000000 +0100
+++ mc-4.6.1a/src/view.c 2005-11-16 14:04:27.000000000 +0100 +++ mc-4.6.1a/src/view.c 2006-02-01 14:25:01.000000000 +0100
@@ -43,6 +43,10 @@ @@ -43,6 +43,10 @@
#include <sys/stat.h> #include <sys/stat.h>
#include <unistd.h> #include <unistd.h>
@ -602,7 +602,7 @@
#include "global.h" #include "global.h"
#include "tty.h" #include "tty.h"
#include "cmd.h" /* For view_other_cmd */ #include "cmd.h" /* For view_other_cmd */
@@ -1631,7 +1635,7 @@ view_display_status (WView *view) @@ -1627,7 +1631,7 @@ view_display_status (WView *view)
hline (' ', width); hline (' ', width);
file_label = _("File: %s"); file_label = _("File: %s");
@ -611,7 +611,7 @@
file_name = view->filename ? view->filename file_name = view->filename ? view->filename
: view->command ? view->command : view->command ? view->command
: ""; : "";
@@ -1884,6 +1888,12 @@ view_display_text (WView * view) @@ -1895,6 +1899,12 @@ view_display_text (WView * view)
offset_type from; offset_type from;
int c; int c;
struct hexedit_change_node *curr = view->change_list; struct hexedit_change_node *curr = view->change_list;
@ -624,7 +624,7 @@
view_display_clean (view); view_display_clean (view);
view_display_ruler (view); view_display_ruler (view);
@@ -1896,8 +1906,37 @@ view_display_text (WView * view) @@ -1907,8 +1917,37 @@ view_display_text (WView * view)
attrset (NORMAL_COLOR); attrset (NORMAL_COLOR);
for (row = 0, col = 0; row < height && (c = get_byte (view, from)) != -1; from++) { for (row = 0, col = 0; row < height && (c = get_byte (view, from)) != -1; from++) {
@ -663,7 +663,7 @@
int c_prev; int c_prev;
int c_next; int c_next;
@@ -1956,10 +1995,17 @@ view_display_text (WView * view) @@ -1967,10 +2006,17 @@ view_display_text (WView * view)
if (col >= view->dpy_text_column if (col >= view->dpy_text_column
&& col - view->dpy_text_column < width) { && col - view->dpy_text_column < width) {
widget_move (view, top + row, left + (col - view->dpy_text_column)); widget_move (view, top + row, left + (col - view->dpy_text_column));
@ -682,7 +682,7 @@
col++; col++;
attrset (NORMAL_COLOR); attrset (NORMAL_COLOR);
--- mc-4.6.1a/src/screen.c.utf8 2005-11-11 04:32:40.000000000 +0100 --- mc-4.6.1a/src/screen.c.utf8 2005-11-11 04:32:40.000000000 +0100
+++ mc-4.6.1a/src/screen.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/screen.c 2006-02-01 14:25:01.000000000 +0100
@@ -171,21 +171,56 @@ add_permission_string (char *dest, int w @@ -171,21 +171,56 @@ add_permission_string (char *dest, int w
static const char * static const char *
string_file_name (file_entry *fe, int len) string_file_name (file_entry *fe, int len)
@ -1048,7 +1048,7 @@
attrset (NORMAL_COLOR); attrset (NORMAL_COLOR);
one_vline (); one_vline ();
--- mc-4.6.1a/src/widget.h.utf8 2005-06-14 15:02:31.000000000 +0200 --- mc-4.6.1a/src/widget.h.utf8 2005-06-14 15:02:31.000000000 +0200
+++ mc-4.6.1a/src/widget.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/widget.h 2006-02-01 14:25:01.000000000 +0100
@@ -22,6 +22,7 @@ typedef struct WButton { @@ -22,6 +22,7 @@ typedef struct WButton {
char *text; /* text of button */ char *text; /* text of button */
int hotkey; /* hot KEY */ int hotkey; /* hot KEY */
@ -1092,7 +1092,7 @@
int need_push; /* need to push the current Input on hist? */ int need_push; /* need to push the current Input on hist? */
char **completions; /* Possible completions array */ char **completions; /* Possible completions array */
--- mc-4.6.1a/src/tty.h.utf8 2005-09-05 04:14:29.000000000 +0200 --- mc-4.6.1a/src/tty.h.utf8 2005-09-05 04:14:29.000000000 +0200
+++ mc-4.6.1a/src/tty.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/tty.h 2006-02-01 14:25:01.000000000 +0100
@@ -8,6 +8,8 @@ @@ -8,6 +8,8 @@
of ifdefs in the other files small. of ifdefs in the other files small.
*/ */
@ -1102,8 +1102,8 @@
#ifdef HAVE_SLANG #ifdef HAVE_SLANG
# include "myslang.h" # include "myslang.h"
#endif #endif
--- mc-4.6.1a/src/hotlist.c.utf8 2005-05-27 05:35:15.000000000 +0200 --- mc-4.6.1a/src/hotlist.c.utf8 2006-01-30 10:22:33.000000000 +0100
+++ mc-4.6.1a/src/hotlist.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/hotlist.c 2006-02-01 14:25:01.000000000 +0100
@@ -555,7 +555,7 @@ init_i18n_stuff(int list_type, int cols) @@ -555,7 +555,7 @@ init_i18n_stuff(int list_type, int cols)
row = hotlist_but [i].y; row = hotlist_but [i].y;
@ -1165,7 +1165,7 @@
strip_password (label_string, 1); strip_password (label_string, 1);
--- mc-4.6.1a/src/help.c.utf8 2005-07-22 11:29:50.000000000 +0200 --- mc-4.6.1a/src/help.c.utf8 2005-07-22 11:29:50.000000000 +0200
+++ mc-4.6.1a/src/help.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/help.c 2006-02-01 14:25:01.000000000 +0100
@@ -449,10 +449,28 @@ static void help_show (Dlg_head *h, cons @@ -449,10 +449,28 @@ static void help_show (Dlg_head *h, cons
#ifndef HAVE_SLANG #ifndef HAVE_SLANG
addch (acs_map [c]); addch (acs_map [c]);
@ -1209,7 +1209,7 @@
if (!filename) if (!filename)
g_free (hlpfile); g_free (hlpfile);
--- mc-4.6.1a/src/wtools.c.utf8 2005-09-05 05:21:32.000000000 +0200 --- mc-4.6.1a/src/wtools.c.utf8 2005-09-05 05:21:32.000000000 +0200
+++ mc-4.6.1a/src/wtools.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/wtools.c 2006-02-01 14:25:01.000000000 +0100
@@ -49,11 +49,11 @@ create_listbox_window (int cols, int lin @@ -49,11 +49,11 @@ create_listbox_window (int cols, int lin
/* Adjust sizes */ /* Adjust sizes */
lines = (lines > LINES - 6) ? LINES - 6 : lines; lines = (lines > LINES - 6) ? LINES - 6 : lines;
@ -1270,7 +1270,7 @@
#endif /* ENABLE_NLS */ #endif /* ENABLE_NLS */
--- mc-4.6.1a/src/util.h.utf8 2005-11-03 03:18:38.000000000 +0100 --- mc-4.6.1a/src/util.h.utf8 2005-11-03 03:18:38.000000000 +0100
+++ mc-4.6.1a/src/util.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/util.h 2006-02-01 14:25:01.000000000 +0100
@@ -111,6 +111,13 @@ void init_uid_gid_cache (void); @@ -111,6 +111,13 @@ void init_uid_gid_cache (void);
char *get_group (int); char *get_group (int);
char *get_owner (int); char *get_owner (int);
@ -1286,7 +1286,7 @@
#define MIN_I18NTIMELENGTH 10 #define MIN_I18NTIMELENGTH 10
#define STD_I18NTIMELENGTH 12 #define STD_I18NTIMELENGTH 12
--- mc-4.6.1a/src/widget.c.utf8 2005-10-08 06:52:42.000000000 +0200 --- mc-4.6.1a/src/widget.c.utf8 2005-10-08 06:52:42.000000000 +0200
+++ mc-4.6.1a/src/widget.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/widget.c 2006-02-01 14:25:01.000000000 +0100
@@ -35,6 +35,9 @@ @@ -35,6 +35,9 @@
#include "global.h" #include "global.h"
@ -2003,7 +2003,7 @@
} }
--- mc-4.6.1a/src/util.c.utf8 2005-11-03 03:18:38.000000000 +0100 --- mc-4.6.1a/src/util.c.utf8 2005-11-03 03:18:38.000000000 +0100
+++ mc-4.6.1a/src/util.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/util.c 2006-02-01 14:25:01.000000000 +0100
@@ -33,7 +33,11 @@ @@ -33,7 +33,11 @@
#include <sys/types.h> #include <sys/types.h>
#include <sys/stat.h> #include <sys/stat.h>
@ -2455,9 +2455,9 @@
} }
*w = 0; *w = 0;
return s; return s;
--- mc-4.6.1a/src/file.c.utf8 2005-09-17 13:45:13.000000000 +0200 --- mc-4.6.1a/src/file.c.utf8 2006-01-29 21:26:05.000000000 +0100
+++ mc-4.6.1a/src/file.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/file.c 2006-02-01 14:25:01.000000000 +0100
@@ -164,15 +164,20 @@ static const char * @@ -161,15 +161,20 @@ static const char *
do_transform_source (FileOpContext *ctx, const char *source) do_transform_source (FileOpContext *ctx, const char *source)
{ {
size_t j, k, l, len; size_t j, k, l, len;
@ -2479,7 +2479,7 @@
return NULL; return NULL;
} }
for (next_reg = 1, j = 0, k = 0; j < strlen (ctx->dest_mask); j++) { for (next_reg = 1, j = 0, k = 0; j < strlen (ctx->dest_mask); j++) {
@@ -216,6 +221,7 @@ do_transform_source (FileOpContext *ctx, @@ -213,6 +218,7 @@ do_transform_source (FileOpContext *ctx,
|| ctx->regs.start[next_reg] < 0) { || ctx->regs.start[next_reg] < 0) {
message (1, MSG_ERROR, _(" Invalid target mask ")); message (1, MSG_ERROR, _(" Invalid target mask "));
transform_error = FILE_ABORT; transform_error = FILE_ABORT;
@ -2487,7 +2487,7 @@
return NULL; return NULL;
} }
for (l = (size_t) ctx->regs.start[next_reg]; for (l = (size_t) ctx->regs.start[next_reg];
@@ -230,6 +236,7 @@ do_transform_source (FileOpContext *ctx, @@ -227,6 +233,7 @@ do_transform_source (FileOpContext *ctx,
} }
} }
fntarget[k] = 0; fntarget[k] = 0;
@ -2496,7 +2496,7 @@
} }
--- mc-4.6.1a/src/find.c.utf8 2005-07-07 21:34:56.000000000 +0200 --- mc-4.6.1a/src/find.c.utf8 2005-07-07 21:34:56.000000000 +0200
+++ mc-4.6.1a/src/find.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/find.c 2006-02-01 14:25:01.000000000 +0100
@@ -217,7 +217,7 @@ find_parameters (char **start_dir, char @@ -217,7 +217,7 @@ find_parameters (char **start_dir, char
int l1, maxlen = 0; int l1, maxlen = 0;
@ -2545,7 +2545,7 @@
list->list[next_free].f.marked = 0; list->list[next_free].f.marked = 0;
list->list[next_free].f.link_to_dir = link_to_dir; list->list[next_free].f.link_to_dir = link_to_dir;
--- mc-4.6.1a/src/myslang.h.utf8 2005-09-05 05:22:04.000000000 +0200 --- mc-4.6.1a/src/myslang.h.utf8 2005-09-05 05:22:04.000000000 +0200
+++ mc-4.6.1a/src/myslang.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/myslang.h 2006-02-01 14:25:01.000000000 +0100
@@ -11,6 +11,16 @@ @@ -11,6 +11,16 @@
#endif /* HAVE_SLANG_SLANG_H */ #endif /* HAVE_SLANG_SLANG_H */
#endif #endif
@ -2564,7 +2564,7 @@
KEY_BACKSPACE = 400, KEY_BACKSPACE = 400,
KEY_END, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT, KEY_END, KEY_UP, KEY_DOWN, KEY_LEFT, KEY_RIGHT,
--- mc-4.6.1a/src/achown.c.utf8 2005-09-05 03:36:58.000000000 +0200 --- mc-4.6.1a/src/achown.c.utf8 2005-09-05 03:36:58.000000000 +0200
+++ mc-4.6.1a/src/achown.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/achown.c 2006-02-01 14:25:01.000000000 +0100
@@ -584,6 +584,12 @@ init_chown_advanced (void) @@ -584,6 +584,12 @@ init_chown_advanced (void)
b_att[2] = button_new (XTRACT (6)); b_att[2] = button_new (XTRACT (6));
b_user = button_new (XTRACT (5)); b_user = button_new (XTRACT (5));
@ -2579,7 +2579,7 @@
add_widget (ch_dlg, b_group); add_widget (ch_dlg, b_group);
add_widget (ch_dlg, b_user); add_widget (ch_dlg, b_user);
--- mc-4.6.1a/src/dialog.c.utf8 2005-09-05 05:20:27.000000000 +0200 --- mc-4.6.1a/src/dialog.c.utf8 2005-09-05 05:20:27.000000000 +0200
+++ mc-4.6.1a/src/dialog.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/dialog.c 2006-02-01 14:25:01.000000000 +0100
@@ -166,7 +166,7 @@ common_dialog_repaint (struct Dlg_head * @@ -166,7 +166,7 @@ common_dialog_repaint (struct Dlg_head *
if (h->title) { if (h->title) {
@ -2589,8 +2589,8 @@
addstr (h->title); addstr (h->title);
} }
} }
--- mc-4.6.1a/src/boxes.c.utf8 2005-06-14 15:02:31.000000000 +0200 --- mc-4.6.1a/src/boxes.c.utf8 2006-01-30 10:22:33.000000000 +0100
+++ mc-4.6.1a/src/boxes.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/boxes.c 2006-02-01 14:25:01.000000000 +0100
@@ -153,23 +153,23 @@ display_init (int radio_sel, char *init_ @@ -153,23 +153,23 @@ display_init (int radio_sel, char *init_
display_title = _(display_title); display_title = _(display_title);
for (i = 0; i < LIST_TYPES; i++) { for (i = 0; i < LIST_TYPES; i++) {
@ -2655,7 +2655,7 @@
if (i > SORT_X) if (i > SORT_X)
SORT_X = i; SORT_X = i;
@@ -405,7 +405,7 @@ confirm_box (void) @@ -408,7 +408,7 @@ confirm_box (void)
while (i--) while (i--)
{ {
conf_widgets [i].text = _(conf_widgets [i].text); conf_widgets [i].text = _(conf_widgets [i].text);
@ -2664,7 +2664,7 @@
if (l1 > maxlen) if (l1 > maxlen)
maxlen = l1; maxlen = l1;
} }
@@ -420,8 +420,8 @@ confirm_box (void) @@ -423,8 +423,8 @@ confirm_box (void)
* And this for the case when buttons with some space to the right * And this for the case when buttons with some space to the right
* do not fit within 2/6 * do not fit within 2/6
*/ */
@ -2675,7 +2675,7 @@
if (i > l1) if (i > l1)
l1 = i; l1 = i;
@@ -492,11 +492,11 @@ display_bits_box (void) @@ -497,11 +497,11 @@ display_bits_box (void)
{ {
display_widgets [i].text = _(display_widgets[i].text); display_widgets [i].text = _(display_widgets[i].text);
display_bits_str [i] = _(display_bits_str [i]); display_bits_str [i] = _(display_bits_str [i]);
@ -2689,7 +2689,7 @@
if (l1 > maxlen) if (l1 > maxlen)
maxlen = l1; maxlen = l1;
@@ -504,8 +504,8 @@ display_bits_box (void) @@ -509,8 +509,8 @@ display_bits_box (void)
display_bits.xlen = (maxlen + 5) * 6 / 4; display_bits.xlen = (maxlen + 5) * 6 / 4;
/* See above confirm_box */ /* See above confirm_box */
@ -2700,7 +2700,7 @@
if (i > l1) if (i > l1)
l1 = i; l1 = i;
@@ -600,7 +600,7 @@ init_disp_bits_box (void) @@ -605,7 +605,7 @@ init_disp_bits_box (void)
cpname = _("&Select"); cpname = _("&Select");
add_widget (dbits_dlg, add_widget (dbits_dlg,
@ -2709,7 +2709,7 @@
NORMAL_BUTTON, cpname, sel_charset_button)); NORMAL_BUTTON, cpname, sel_charset_button));
return dbits_dlg; return dbits_dlg;
@@ -811,7 +811,7 @@ cd_dialog (void) @@ -816,7 +816,7 @@ cd_dialog (void)
quick_widgets [1].y_divisions = quick_widgets [1].y_divisions =
quick_widgets [0].y_divisions = Quick_input.ylen = 5; quick_widgets [0].y_divisions = Quick_input.ylen = 5;
@ -2718,7 +2718,7 @@
quick_widgets [0].relative_x = quick_widgets [0].relative_x =
quick_widgets [1].relative_x + len + 1; quick_widgets [1].relative_x + len + 1;
@@ -970,7 +970,7 @@ jobs_cmd (void) @@ -975,7 +975,7 @@ jobs_cmd (void)
{ {
job_buttons [i].name = _(job_buttons [i].name); job_buttons [i].name = _(job_buttons [i].name);
@ -2727,7 +2727,7 @@
JOBS_X = max (JOBS_X, startx + len + 3); JOBS_X = max (JOBS_X, startx + len + 3);
job_buttons [i].xpos = startx; job_buttons [i].xpos = startx;
@@ -979,7 +979,7 @@ jobs_cmd (void) @@ -984,7 +984,7 @@ jobs_cmd (void)
/* Last button - Ok a.k.a. Cancel :) */ /* Last button - Ok a.k.a. Cancel :) */
job_buttons [n_buttons - 1].xpos = job_buttons [n_buttons - 1].xpos =
@ -2736,7 +2736,7 @@
i18n_flag = 1; i18n_flag = 1;
} }
@@ -1037,7 +1037,7 @@ vfs_smb_get_authinfo (const char *host, @@ -1042,7 +1042,7 @@ vfs_smb_get_authinfo (const char *host,
while (i--) while (i--)
{ {
@ -2745,7 +2745,7 @@
if (l1 > maxlen) if (l1 > maxlen)
maxlen = l1; maxlen = l1;
} }
@@ -1047,7 +1047,7 @@ vfs_smb_get_authinfo (const char *host, @@ -1052,7 +1052,7 @@ vfs_smb_get_authinfo (const char *host,
for (i = sizeof(buts)/sizeof(buts[0]), l1 = 0; i--; ) for (i = sizeof(buts)/sizeof(buts[0]), l1 = 0; i--; )
{ {
@ -2754,7 +2754,7 @@
} }
l1 += 15; l1 += 15;
if (l1 > dialog_x) if (l1 > dialog_x)
@@ -1056,7 +1056,7 @@ vfs_smb_get_authinfo (const char *host, @@ -1061,7 +1061,7 @@ vfs_smb_get_authinfo (const char *host,
ilen = dialog_x - 7 - maxlen; /* for the case of very long buttons :) */ ilen = dialog_x - 7 - maxlen; /* for the case of very long buttons :) */
istart = dialog_x - 3 - ilen; istart = dialog_x - 3 - ilen;
@ -2764,7 +2764,7 @@
i18n_flag = 1; i18n_flag = 1;
} }
--- mc-4.6.1a/src/learn.c.utf8 2005-05-27 05:35:15.000000000 +0200 --- mc-4.6.1a/src/learn.c.utf8 2005-05-27 05:35:15.000000000 +0200
+++ mc-4.6.1a/src/learn.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/src/learn.c 2006-02-01 14:25:01.000000000 +0100
@@ -237,7 +237,7 @@ init_learn (void) @@ -237,7 +237,7 @@ init_learn (void)
learn_but[0].x = 78 / 2 + 4; learn_but[0].x = 78 / 2 + 4;
@ -2775,7 +2775,7 @@
learn_title = _(learn_title); learn_title = _(learn_title);
i18n_flag = 1; i18n_flag = 1;
--- mc-4.6.1a/edit/edit-widget.h.utf8 2005-08-15 22:34:26.000000000 +0200 --- mc-4.6.1a/edit/edit-widget.h.utf8 2005-08-15 22:34:26.000000000 +0200
+++ mc-4.6.1a/edit/edit-widget.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/edit-widget.h 2006-02-01 14:25:01.000000000 +0100
@@ -30,6 +30,11 @@ typedef struct edit_key_map_type { @@ -30,6 +30,11 @@ typedef struct edit_key_map_type {
long command; long command;
} edit_key_map_type; } edit_key_map_type;
@ -2816,7 +2816,7 @@
unsigned long stack_size_mask; unsigned long stack_size_mask;
unsigned long stack_bottom; unsigned long stack_bottom;
--- mc-4.6.1a/edit/editkeys.c.utf8 2005-08-10 18:47:44.000000000 +0200 --- mc-4.6.1a/edit/editkeys.c.utf8 2005-08-10 18:47:44.000000000 +0200
+++ mc-4.6.1a/edit/editkeys.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/editkeys.c 2006-02-01 14:25:01.000000000 +0100
@@ -181,10 +181,10 @@ static const edit_key_map_type common_ke @@ -181,10 +181,10 @@ static const edit_key_map_type common_ke
* 'command' is one of the editor commands from editcmddef.h. * 'command' is one of the editor commands from editcmddef.h.
*/ */
@ -2872,7 +2872,7 @@
return 0; return 0;
} }
--- mc-4.6.1a/edit/editwidget.c.utf8 2005-09-07 10:54:12.000000000 +0200 --- mc-4.6.1a/edit/editwidget.c.utf8 2005-09-07 10:54:12.000000000 +0200
+++ mc-4.6.1a/edit/editwidget.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/editwidget.c 2006-02-01 14:25:01.000000000 +0100
@@ -344,7 +344,8 @@ edit_callback (Widget *w, widget_msg_t m @@ -344,7 +344,8 @@ edit_callback (Widget *w, widget_msg_t m
case WIDGET_KEY: case WIDGET_KEY:
@ -2883,8 +2883,8 @@
/* The user may override the access-keys for the menu bar. */ /* The user may override the access-keys for the menu bar. */
if (edit_translate_key (e, parm, &cmd, &ch)) { if (edit_translate_key (e, parm, &cmd, &ch)) {
--- mc-4.6.1a/edit/editcmd.c.utf8 2005-10-04 23:15:06.000000000 +0200 --- mc-4.6.1a/edit/editcmd.c.utf8 2006-01-30 10:22:33.000000000 +0100
+++ mc-4.6.1a/edit/editcmd.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/editcmd.c 2006-02-01 14:29:55.000000000 +0100
@@ -61,7 +61,7 @@ @@ -61,7 +61,7 @@
#define edit_get_save_file(f,h) input_expand_dialog (h, _(" Enter file name: "), f) #define edit_get_save_file(f,h) input_expand_dialog (h, _(" Enter file name: "), f)
@ -3094,13 +3094,13 @@
@@ -945,7 +1027,7 @@ edit_block_copy_cmd (WEdit *edit) @@ -945,7 +1027,7 @@ edit_block_copy_cmd (WEdit *edit)
{ {
long start_mark, end_mark, current = edit->curs1; long start_mark, end_mark, current = edit->curs1;
int size, x; int size;
- unsigned char *copy_buf; - unsigned char *copy_buf;
+ mc_wchar_t *copy_buf; + mc_wchar_t *copy_buf;
edit_update_curs_col (edit); edit_update_curs_col (edit);
x = edit->curs_col; if (eval_marks (edit, &start_mark, &end_mark))
@@ -990,7 +1072,7 @@ edit_block_move_cmd (WEdit *edit) @@ -985,7 +1067,7 @@ edit_block_move_cmd (WEdit *edit)
{ {
long count; long count;
long current; long current;
@ -3109,7 +3109,7 @@
long start_mark, end_mark; long start_mark, end_mark;
int deleted = 0; int deleted = 0;
int x = 0; int x = 0;
@@ -1051,7 +1133,7 @@ edit_block_move_cmd (WEdit *edit) @@ -1046,7 +1128,7 @@ edit_block_move_cmd (WEdit *edit)
edit_push_action (edit, COLUMN_ON); edit_push_action (edit, COLUMN_ON);
column_highlighting = 0; column_highlighting = 0;
} else { } else {
@ -3118,7 +3118,7 @@
edit_cursor_move (edit, start_mark - edit->curs1); edit_cursor_move (edit, start_mark - edit->curs1);
edit_scroll_screen_over_cursor (edit); edit_scroll_screen_over_cursor (edit);
count = start_mark; count = start_mark;
@@ -1389,7 +1471,11 @@ static long sargs[NUM_REPL_ARGS][256 / s @@ -1385,7 +1467,11 @@ static long sargs[NUM_REPL_ARGS][256 / s
/* This function is a modification of mc-3.2.10/src/view.c:regexp_view_search() */ /* This function is a modification of mc-3.2.10/src/view.c:regexp_view_search() */
/* returns -3 on error in pattern, -1 on not found, found_len = 0 if either */ /* returns -3 on error in pattern, -1 on not found, found_len = 0 if either */
static int static int
@ -3130,7 +3130,7 @@
int match_bol, int icase, int *found_len, void *d) int match_bol, int icase, int *found_len, void *d)
{ {
static regex_t r; static regex_t r;
@@ -1398,6 +1484,11 @@ string_regexp_search (char *pattern, cha @@ -1394,6 +1480,11 @@ string_regexp_search (char *pattern, cha
regmatch_t *pmatch; regmatch_t *pmatch;
static regmatch_t s[1]; static regmatch_t s[1];
@ -3142,7 +3142,7 @@
pmatch = (regmatch_t *) d; pmatch = (regmatch_t *) d;
if (!pmatch) if (!pmatch)
pmatch = s; pmatch = s;
@@ -1417,13 +1508,51 @@ string_regexp_search (char *pattern, cha @@ -1413,13 +1504,51 @@ string_regexp_search (char *pattern, cha
old_type = match_type; old_type = match_type;
old_icase = icase; old_icase = icase;
} }
@ -3194,7 +3194,7 @@
*found_len = pmatch[0].rm_eo - pmatch[0].rm_so; *found_len = pmatch[0].rm_eo - pmatch[0].rm_so;
return (pmatch[0].rm_so); return (pmatch[0].rm_so);
} }
@@ -1431,13 +1560,29 @@ string_regexp_search (char *pattern, cha @@ -1427,13 +1556,29 @@ string_regexp_search (char *pattern, cha
/* thanks to Liviu Daia <daia@stoilow.imar.ro> for getting this /* thanks to Liviu Daia <daia@stoilow.imar.ro> for getting this
(and the above) routines to work properly - paul */ (and the above) routines to work properly - paul */
@ -3225,7 +3225,7 @@
int n = 0; int n = 0;
for (p = 0; p < l; p++) /* count conversions... */ for (p = 0; p < l; p++) /* count conversions... */
@@ -1446,19 +1591,22 @@ edit_find_string (long start, unsigned c @@ -1442,19 +1587,22 @@ edit_find_string (long start, unsigned c
n++; n++;
if (replace_scanf || replace_regexp) { if (replace_scanf || replace_regexp) {
@ -3255,7 +3255,7 @@
if (replace_case) { if (replace_case) {
for (p = start; p < last_byte && p < start + MAX_REPL_LEN; p++) for (p = start; p < last_byte && p < start + MAX_REPL_LEN; p++)
buf[p - start] = (*get_byte) (data, p); buf[p - start] = (*get_byte) (data, p);
@@ -1472,20 +1620,36 @@ edit_find_string (long start, unsigned c @@ -1468,20 +1616,36 @@ edit_find_string (long start, unsigned c
} }
buf[(q = p - start)] = 0; buf[(q = p - start)] = 0;
@ -3293,7 +3293,7 @@
if (q + start < last_byte) { if (q + start < last_byte) {
if (replace_case) { if (replace_case) {
buf[q] = (*get_byte) (data, q + start); buf[q] = (*get_byte) (data, q + start);
@@ -1499,7 +1663,11 @@ edit_find_string (long start, unsigned c @@ -1495,7 +1659,11 @@ edit_find_string (long start, unsigned c
start++; start++;
buf++; /* move the window along */ buf++; /* move the window along */
if (buf == mbuf + MAX_REPL_LEN) { /* the window is about to go past the end of array, so... */ if (buf == mbuf + MAX_REPL_LEN) { /* the window is about to go past the end of array, so... */
@ -3305,7 +3305,7 @@
buf = mbuf; buf = mbuf;
} }
q--; q--;
@@ -1525,10 +1693,16 @@ edit_find_string (long start, unsigned c @@ -1521,10 +1689,16 @@ edit_find_string (long start, unsigned c
buf = mbuf; buf = mbuf;
while (q) { while (q) {
@ -3323,7 +3323,7 @@
return -3; return -3;
} }
else if (found_start == -1) /* not found: try next line */ else if (found_start == -1) /* not found: try next line */
@@ -1539,15 +1713,27 @@ edit_find_string (long start, unsigned c @@ -1535,15 +1709,27 @@ edit_find_string (long start, unsigned c
match_bol = 0; match_bol = 0;
continue; continue;
} }
@ -3353,7 +3353,7 @@
memmove (mbuf, buf, q); memmove (mbuf, buf, q);
p = start + q; p = start + q;
move_win = 1; move_win = 1;
@@ -1557,36 +1743,59 @@ edit_find_string (long start, unsigned c @@ -1553,36 +1739,59 @@ edit_find_string (long start, unsigned c
} }
} }
} else { } else {
@ -3421,7 +3421,7 @@
return -2; return -2;
} }
@@ -1600,9 +1809,14 @@ edit_find_forwards (long search_start, u @@ -1596,9 +1805,14 @@ edit_find_forwards (long search_start, u
while ((p = edit_find_string (p, exp, len, last_byte, get_byte, data, once_only, d)) >= 0) { while ((p = edit_find_string (p, exp, len, last_byte, get_byte, data, once_only, d)) >= 0) {
if (replace_whole) { if (replace_whole) {
@ -3436,7 +3436,7 @@
return p; return p;
if (once_only) if (once_only)
return -2; return -2;
@@ -1634,6 +1848,7 @@ edit_find (long search_start, unsigned c @@ -1630,6 +1844,7 @@ edit_find (long search_start, unsigned c
#define is_digit(x) ((x) >= '0' && (x) <= '9') #define is_digit(x) ((x) >= '0' && (x) <= '9')
@ -3444,7 +3444,7 @@
#define snprint(v) { \ #define snprint(v) { \
*p1++ = *p++; \ *p1++ = *p++; \
*p1 = '\0'; \ *p1 = '\0'; \
@@ -1641,33 +1856,48 @@ edit_find (long search_start, unsigned c @@ -1637,33 +1852,48 @@ edit_find (long search_start, unsigned c
if (n >= (size_t) (e - s)) goto nospc; \ if (n >= (size_t) (e - s)) goto nospc; \
s += n; \ s += n; \
} }
@ -3501,7 +3501,7 @@
s += n; s += n;
q = p; q = p;
p1 = q1; p1 = q1;
@@ -1695,45 +1925,78 @@ static int snprintf_p (char *str, size_t @@ -1691,45 +1921,78 @@ static int snprintf_p (char *str, size_t
*p1++ = *p++; *p1++ = *p++;
if (*p == '*') { if (*p == '*') {
p++; p++;
@ -3590,7 +3590,7 @@
snprint (*va_arg (ap, long *)); snprint (*va_arg (ap, long *));
} else if (*p == 'p') { } else if (*p == 'p') {
snprint (*va_arg (ap, void **)); snprint (*va_arg (ap, void **));
@@ -1742,10 +2005,17 @@ static int snprintf_p (char *str, size_t @@ -1738,10 +2001,17 @@ static int snprintf_p (char *str, size_t
q = p; q = p;
} }
va_end (ap); va_end (ap);
@ -3608,7 +3608,7 @@
return s + n - str; return s + n - str;
nospc: nospc:
va_end (ap); va_end (ap);
@@ -1924,8 +2194,11 @@ edit_replace_cmd (WEdit *edit, int again @@ -1920,8 +2190,11 @@ edit_replace_cmd (WEdit *edit, int again
} }
} }
if (replace_yes) { /* delete then insert new */ if (replace_yes) { /* delete then insert new */
@ -3621,7 +3621,7 @@
int ret = 0; int ret = 0;
/* we need to fill in sargs just like with scanf */ /* we need to fill in sargs just like with scanf */
@@ -1934,17 +2207,25 @@ edit_replace_cmd (WEdit *edit, int again @@ -1930,17 +2203,25 @@ edit_replace_cmd (WEdit *edit, int again
for (k = 1; for (k = 1;
k < NUM_REPL_ARGS && pmatch[k].rm_eo >= 0; k < NUM_REPL_ARGS && pmatch[k].rm_eo >= 0;
k++) { k++) {
@ -3648,7 +3648,7 @@
edit-> edit->
search_start search_start
- -
@@ -1962,14 +2243,23 @@ edit_replace_cmd (WEdit *edit, int again @@ -1958,14 +2239,23 @@ edit_replace_cmd (WEdit *edit, int again
} }
if (!ret) if (!ret)
ret = ret =
@ -3672,7 +3672,7 @@
} else { } else {
edit_error_dialog (_(" Replace "), edit_error_dialog (_(" Replace "),
ret == ret ==
@@ -1983,10 +2273,18 @@ edit_replace_cmd (WEdit *edit, int again @@ -1979,10 +2269,18 @@ edit_replace_cmd (WEdit *edit, int again
times_replaced++; times_replaced++;
while (i--) while (i--)
edit_delete (edit); edit_delete (edit);
@ -3691,7 +3691,7 @@
} }
/* so that we don't find the same string again */ /* so that we don't find the same string again */
if (replace_backwards) { if (replace_backwards) {
@@ -2161,16 +2459,17 @@ edit_ok_to_exit (WEdit *edit) @@ -2157,16 +2455,17 @@ edit_ok_to_exit (WEdit *edit)
#define TEMP_BUF_LEN 1024 #define TEMP_BUF_LEN 1024
/* Return a null terminated length of text. Result must be g_free'd */ /* Return a null terminated length of text. Result must be g_free'd */
@ -3713,7 +3713,7 @@
x = edit_move_forward3 (edit, edit_bol (edit, start), 0, x = edit_move_forward3 (edit, edit_bol (edit, start), 0,
start); start);
c = edit_get_byte (edit, start); c = edit_get_byte (edit, start);
@@ -2203,11 +2502,15 @@ edit_save_block (WEdit * edit, const cha @@ -2199,11 +2498,15 @@ edit_save_block (WEdit * edit, const cha
return 0; return 0;
if (column_highlighting) { if (column_highlighting) {
@ -3730,7 +3730,7 @@
if (r < 0) if (r < 0)
break; break;
p += r; p += r;
@@ -2215,15 +2518,19 @@ edit_save_block (WEdit * edit, const cha @@ -2211,15 +2514,19 @@ edit_save_block (WEdit * edit, const cha
} }
g_free (block); g_free (block);
} else { } else {
@ -3752,7 +3752,7 @@
start = end; start = end;
} }
g_free (buf); g_free (buf);
@@ -2561,17 +2868,20 @@ edit_block_process_cmd (WEdit *edit, con @@ -2557,17 +2864,20 @@ edit_block_process_cmd (WEdit *edit, con
/* prints at the cursor */ /* prints at the cursor */
/* returns the number of chars printed */ /* returns the number of chars printed */
@ -3775,7 +3775,7 @@
static void pipe_mail (WEdit *edit, char *to, char *subject, char *cc) static void pipe_mail (WEdit *edit, char *to, char *subject, char *cc)
{ {
FILE *p = 0; FILE *p = 0;
@@ -2665,15 +2975,20 @@ void edit_mail_dialog (WEdit * edit) @@ -2661,15 +2971,20 @@ void edit_mail_dialog (WEdit * edit)
/* find first character of current word */ /* find first character of current word */
static int edit_find_word_start (WEdit *edit, long *word_start, int *word_len) static int edit_find_word_start (WEdit *edit, long *word_start, int *word_len)
{ {
@ -3798,7 +3798,7 @@
return 0; return 0;
/* search start of word to be completed */ /* search start of word to be completed */
@@ -2683,11 +2998,19 @@ static int edit_find_word_start (WEdit * @@ -2679,11 +2994,19 @@ static int edit_find_word_start (WEdit *
return 0; return 0;
last = c; last = c;
@ -3819,7 +3819,7 @@
return 0; return 0;
*word_start = edit->curs1 - (i - 1); /* start found */ *word_start = edit->curs1 - (i - 1); /* start found */
@@ -2720,7 +3043,7 @@ edit_collect_completions (WEdit *edit, l @@ -2716,7 +3039,7 @@ edit_collect_completions (WEdit *edit, l
int *num) int *num)
{ {
int len, max_len = 0, i, skip; int len, max_len = 0, i, skip;
@ -3828,7 +3828,7 @@
/* collect max MAX_WORD_COMPLETIONS completions */ /* collect max MAX_WORD_COMPLETIONS completions */
while (*num < MAX_WORD_COMPLETIONS) { while (*num < MAX_WORD_COMPLETIONS) {
@@ -2739,11 +3062,16 @@ edit_collect_completions (WEdit *edit, l @@ -2735,11 +3058,16 @@ edit_collect_completions (WEdit *edit, l
buffers1[start >> S_EDIT_BUF_SIZE][start & M_EDIT_BUF_SIZE]; buffers1[start >> S_EDIT_BUF_SIZE][start & M_EDIT_BUF_SIZE];
skip = 0; skip = 0;
for (i = 0; i < *num; i++) { for (i = 0; i < *num; i++) {
@ -3848,7 +3848,7 @@
skip = 1; skip = 1;
break; /* skip it, already added */ break; /* skip it, already added */
} }
@@ -2751,7 +3079,7 @@ edit_collect_completions (WEdit *edit, l @@ -2747,7 +3075,7 @@ edit_collect_completions (WEdit *edit, l
if (skip) if (skip)
continue; continue;
@ -3857,7 +3857,7 @@
compl[*num].len = len; compl[*num].len = len;
for (i = 0; i < len; i++) for (i = 0; i < len; i++)
compl[*num].text[i] = *(bufpos + i); compl[*num].text[i] = *(bufpos + i);
@@ -2765,6 +3093,18 @@ edit_collect_completions (WEdit *edit, l @@ -2761,6 +3089,18 @@ edit_collect_completions (WEdit *edit, l
return max_len; return max_len;
} }
@ -3876,7 +3876,7 @@
/* let the user select its preferred completion */ /* let the user select its preferred completion */
static void static void
@@ -2777,6 +3117,9 @@ edit_completion_dialog (WEdit * edit, in @@ -2773,6 +3113,9 @@ edit_completion_dialog (WEdit * edit, in
WListbox *compl_list; WListbox *compl_list;
int compl_dlg_h; /* completion dialog height */ int compl_dlg_h; /* completion dialog height */
int compl_dlg_w; /* completion dialog width */ int compl_dlg_w; /* completion dialog width */
@ -3886,7 +3886,7 @@
/* calculate the dialog metrics */ /* calculate the dialog metrics */
compl_dlg_h = num_compl + 2; compl_dlg_h = num_compl + 2;
@@ -2812,9 +3155,18 @@ edit_completion_dialog (WEdit * edit, in @@ -2808,9 +3151,18 @@ edit_completion_dialog (WEdit * edit, in
add_widget (compl_dlg, compl_list); add_widget (compl_dlg, compl_list);
/* fill the listbox with the completions */ /* fill the listbox with the completions */
@ -3905,7 +3905,7 @@
/* pop up the dialog */ /* pop up the dialog */
run_dlg (compl_dlg); run_dlg (compl_dlg);
@@ -2822,9 +3174,17 @@ edit_completion_dialog (WEdit * edit, in @@ -2818,9 +3170,17 @@ edit_completion_dialog (WEdit * edit, in
/* apply the choosen completion */ /* apply the choosen completion */
if (compl_dlg->ret_value == B_ENTER) { if (compl_dlg->ret_value == B_ENTER) {
listbox_get_current (compl_list, &curr, NULL); listbox_get_current (compl_list, &curr, NULL);
@ -3924,7 +3924,7 @@
} }
/* destroy dialog before return */ /* destroy dialog before return */
@@ -2841,8 +3201,9 @@ edit_complete_word_cmd (WEdit *edit) @@ -2837,8 +3197,9 @@ edit_complete_word_cmd (WEdit *edit)
{ {
int word_len = 0, i, num_compl = 0, max_len; int word_len = 0, i, num_compl = 0, max_len;
long word_start = 0; long word_start = 0;
@ -3936,7 +3936,7 @@
struct selection compl[MAX_WORD_COMPLETIONS]; /* completions */ struct selection compl[MAX_WORD_COMPLETIONS]; /* completions */
/* don't want to disturb another search */ /* don't want to disturb another search */
@@ -2859,16 +3220,32 @@ edit_complete_word_cmd (WEdit *edit) @@ -2855,16 +3216,32 @@ edit_complete_word_cmd (WEdit *edit)
/* prepare match expression */ /* prepare match expression */
bufpos = &edit->buffers1[word_start >> S_EDIT_BUF_SIZE] bufpos = &edit->buffers1[word_start >> S_EDIT_BUF_SIZE]
[word_start & M_EDIT_BUF_SIZE]; [word_start & M_EDIT_BUF_SIZE];
@ -3970,7 +3970,7 @@
if (num_compl > 0) { if (num_compl > 0) {
/* insert completed word if there is only one match */ /* insert completed word if there is only one match */
--- mc-4.6.1a/edit/wordproc.c.utf8 2005-05-27 05:35:12.000000000 +0200 --- mc-4.6.1a/edit/wordproc.c.utf8 2005-05-27 05:35:12.000000000 +0200
+++ mc-4.6.1a/edit/wordproc.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/wordproc.c 2006-02-01 14:25:01.000000000 +0100
@@ -40,7 +40,12 @@ @@ -40,7 +40,12 @@
#define tab_width option_tab_spacing #define tab_width option_tab_spacing
@ -4191,7 +4191,7 @@
return; return;
} }
--- mc-4.6.1a/edit/edit.h.utf8 2005-09-07 10:54:12.000000000 +0200 --- mc-4.6.1a/edit/edit.h.utf8 2005-09-07 10:54:12.000000000 +0200
+++ mc-4.6.1a/edit/edit.h 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/edit.h 2006-02-01 14:25:01.000000000 +0100
@@ -25,6 +25,27 @@ @@ -25,6 +25,27 @@
#include <stdio.h> #include <stdio.h>
@ -4285,7 +4285,7 @@
#define get_sys_error(s) (s) #define get_sys_error(s) (s)
--- mc-4.6.1a/edit/editdraw.c.utf8 2005-09-05 04:14:29.000000000 +0200 --- mc-4.6.1a/edit/editdraw.c.utf8 2005-09-05 04:14:29.000000000 +0200
+++ mc-4.6.1a/edit/editdraw.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/editdraw.c 2006-02-01 14:25:01.000000000 +0100
@@ -69,11 +69,16 @@ static void status_string (WEdit * edit, @@ -69,11 +69,16 @@ static void status_string (WEdit * edit,
* as decimal and as hex. * as decimal and as hex.
*/ */
@ -4504,8 +4504,8 @@
print_to_widget (edit, row, start_col, start_col_real, end_col, line); print_to_widget (edit, row, start_col, start_col_real, end_col, line);
} }
--- mc-4.6.1a/edit/edit.c.utf8 2005-09-07 10:54:11.000000000 +0200 --- mc-4.6.1a/edit/edit.c.utf8 2006-01-26 16:42:56.000000000 +0100
+++ mc-4.6.1a/edit/edit.c 2005-11-16 14:03:46.000000000 +0100 +++ mc-4.6.1a/edit/edit.c 2006-02-01 14:25:01.000000000 +0100
@@ -103,7 +103,11 @@ char *option_backup_ext = NULL; @@ -103,7 +103,11 @@ char *option_backup_ext = NULL;
static void edit_move_to_prev_col (WEdit *edit, long p); static void edit_move_to_prev_col (WEdit *edit, long p);
static void user_menu (WEdit *edit); static void user_menu (WEdit *edit);
@ -5082,7 +5082,7 @@
edit_update_curs_row (edit); edit_update_curs_row (edit);
done_undo:; done_undo:;
@@ -2098,7 +2223,7 @@ static void edit_goto_matching_bracket ( @@ -2101,7 +2226,7 @@ static void edit_goto_matching_bracket (
* passed as -1. Commands are executed, and char_for_insertion is * passed as -1. Commands are executed, and char_for_insertion is
* inserted at the cursor. * inserted at the cursor.
*/ */
@ -5091,7 +5091,7 @@
{ {
if (command == CK_Begin_Record_Macro) { if (command == CK_Begin_Record_Macro) {
edit->macro_i = 0; edit->macro_i = 0;
@@ -2133,7 +2258,7 @@ static const char * const shell_cmd[] = @@ -2136,7 +2261,7 @@ static const char * const shell_cmd[] =
all of them. It also does not check for the Undo command. all of them. It also does not check for the Undo command.
*/ */
void void
@ -5100,7 +5100,7 @@
{ {
edit->force |= REDRAW_LINE; edit->force |= REDRAW_LINE;
@@ -2166,7 +2291,7 @@ edit_execute_cmd (WEdit *edit, int comma @@ -2169,7 +2294,7 @@ edit_execute_cmd (WEdit *edit, int comma
} }
/* An ordinary key press */ /* An ordinary key press */

34
mc.spec
View File

@ -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.6.1a Version: 4.6.1a
Release: 6 Release: 7
Epoch: 1 Epoch: 1
License: GPL License: GPL
Group: System Environment/Shells Group: System Environment/Shells
@ -19,10 +19,11 @@ Patch4: mc-fish-upload.patch
Patch5: mc-userhost.patch Patch5: mc-userhost.patch
Patch6: mc-64bit.patch Patch6: mc-64bit.patch
Patch7: mc-utf8-look-and-feel.patch Patch7: mc-utf8-look-and-feel.patch
Patch8: mc-phpfix.patch Patch8: mc-concat.patch
Patch9: mc-concat.patch Patch9: mc-showfree.patch
Patch10: mc-ministatus.patch Patch10: mc-cedit.patch
Patch11: mc-showfree.patch Patch11: mc-delcheck.patch
Patch12: mc-bracket.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
@ -42,10 +43,11 @@ specific files.
%patch5 -p1 -b .userhost %patch5 -p1 -b .userhost
%patch6 -p1 -b .64bit %patch6 -p1 -b .64bit
%patch7 -p1 -b .laf %patch7 -p1 -b .laf
%patch8 -p1 -b .phpfix %patch8 -p1 -b .concat
%patch9 -p1 -b .concat %patch9 -p1 -b .showfree
%patch10 -p1 -b .ministatus %patch10 -p1 -b .cedit
%patch11 -p1 -b .showfree %patch11 -p1 -b .delcheck
%patch12 -p1 -b .bracket
# convert files in /lib to UTF-8 # convert files in /lib to UTF-8
pushd lib pushd lib
@ -170,7 +172,7 @@ rm -rf $RPM_BUILD_ROOT
%{_bindir}/mcmfmt %{_bindir}/mcmfmt
%{_bindir}/mcview %{_bindir}/mcview
%{_datadir}/mc/* %{_datadir}/mc/*
%attr(4711, vcsa, root) %{_libdir}/mc/cons.saver %attr(4711, vcsa, root) %{_libexecdir}/mc/cons.saver
%{_mandir}/man1/* %{_mandir}/man1/*
%lang(es) %{_mandir}/es/man1/mc.1.gz %lang(es) %{_mandir}/es/man1/mc.1.gz
%lang(hu) %{_mandir}/hu/man1/mc.1.gz %lang(hu) %{_mandir}/hu/man1/mc.1.gz
@ -179,10 +181,20 @@ rm -rf $RPM_BUILD_ROOT
%lang(ru) %{_mandir}/ru/man1/mc.1.gz %lang(ru) %{_mandir}/ru/man1/mc.1.gz
%lang(sr) %{_mandir}/sr/man1/mc.1.gz %lang(sr) %{_mandir}/sr/man1/mc.1.gz
%config %{_sysconfdir}/profile.d/* %config %{_sysconfdir}/profile.d/*
%dir %{_libdir}/mc
%dir %{_datadir}/mc %dir %{_datadir}/mc
%changelog %changelog
* Wed Feb 1 2006 Jindrich Novy <jnovy@redhat.com> 4.6.1a-7
- update from CVS - fixes syntax file for PHP
- make displaying of free space configurable
- fix permission highlighting (#177100)
- redirect stdout and stderr of several apps run on background
to /dev/null to not to mess up mc interface (#178833)
- refresh directories to avoid errors caused by copying
files to non-existent directories (#177111)
- add an option to insert changelog entry in mcedit,
thanks to Radek Vokal
* Wed Dec 28 2005 Jindrich Novy <jnovy@redhat.com> 4.6.1a-6 * Wed Dec 28 2005 Jindrich Novy <jnovy@redhat.com> 4.6.1a-6
- display free space on a device assigned to current directory in - display free space on a device assigned to current directory in
main panels main panels