summaryrefslogtreecommitdiffstats
path: root/source/ap/mc
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/ap/mc
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source/ap/mc')
-rw-r--r--source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff87
-rw-r--r--source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff66
-rwxr-xr-xsource/ap/mc/mc.SlackBuild11
-rw-r--r--source/ap/mc/mc.image.sh.geeqie.diff18
-rw-r--r--source/ap/mc/mc.save.file.diff37
5 files changed, 169 insertions, 50 deletions
diff --git a/source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff b/source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff
new file mode 100644
index 000000000..080d6276f
--- /dev/null
+++ b/source/ap/mc/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff
@@ -0,0 +1,87 @@
+Index: doc/man/mc.1.in
+===================================================================
+--- doc/man/mc.1.in (revision 6da546bcf3a09b7710bc3b69d38e736e3273c34b)
++++ doc/man/mc.1.in (revision 446748619b5cb77ea63360a81bb16cd2dd2caff7)
+@@ -173,9 +173,10 @@
+ .PP
+ If both paths are specified, the first path name is the directory to show
+-in the left panel; the second path name is the directory to be shown in
+-the right panel.
++in the active panel; the second path name is the directory to be shown in
++the other panel.
+ .PP
+ If one path is specified, the path name is the directory to show
+-in the active panel; current directory is shown in the passive panel.
++in the active panel; value of "other_dir" from panels.ini is the directory
++to be shown in the passive panel.
+ .PP
+ If no paths are specified, current directory is shown in the active panel;
+Index: doc/man/ru/mc.1.in
+===================================================================
+--- doc/man/ru/mc.1.in (revision 6da546bcf3a09b7710bc3b69d38e736e3273c34b)
++++ doc/man/ru/mc.1.in (revision 446748619b5cb77ea63360a81bb16cd2dd2caff7)
+@@ -150,11 +150,12 @@
+ .PP
+ Если в командной строке указаны два каталога, первый будет отображаться
+-в левой панели, второй \- в правой.
++в активной панели, второй \- в другой панели.
+ .PP
+ Если указан только один каталог, он будет отображён в активной панели,
+-во второй панели будет отображён текущий каталог.
++во второй панели будет отображён каталог, указанный в параметре "other_dir"
++в файле panels.ini.
+ .PP
+ Если каталоги не указаны, в активной панели будет отображён текущий каталог,
+-а во второй панели \- каталог, указанный в параметре "other_dir" в файла panels.ini.
++а во второй панели \- каталог, указанный в параметре "other_dir" в файле panels.ini.
+ .\"NODE "Overview"
+ .SH "Главное окно программы"
+Index: src/filemanager/midnight.c
+===================================================================
+--- src/filemanager/midnight.c (revision b451e8d13ddf89f1b1a00b1c2f240e4deaf8abe7)
++++ src/filemanager/midnight.c (revision 446748619b5cb77ea63360a81bb16cd2dd2caff7)
+@@ -585,13 +585,13 @@
+ * 'mc' (no arguments): mc_run_param0 == NULL, mc_run_param1 == NULL
+ * active panel uses current directory
+- * passive panel uses "other_dir" from ini
++ * passive panel uses "other_dir" from panels.ini
+ *
+ * 'mc dir1 dir2' (two arguments): mc_run_param0 != NULL, mc_run_param1 != NULL
+- * left panel uses mc_run_param0
+- * right panel uses mc_run_param1
++ * active panel uses mc_run_param0
++ * passive panel uses mc_run_param1
+ *
+ * 'mc dir1' (single argument): mc_run_param0 != NULL, mc_run_param1 == NULL
+- * active panel uses current directory
+- * passive panel uses mc_run_param0
++ * active panel uses mc_run_param0
++ * passive panel uses "other_dir" from panels.ini
+ */
+
+@@ -620,6 +620,6 @@
+ {
+ /* one argument */
+- current_dir = NULL; /* assume current dir */
+- other_dir = (char *) mc_run_param0;
++ current_dir = (char *) mc_run_param0;
++ other_dir = saved_other_dir; /* from ini */
+ }
+ }
+@@ -641,12 +641,12 @@
+ {
+ /* two arguments */
+- current_dir = mc_run_param1;
+- other_dir = (char *) mc_run_param0;
++ current_dir = (char *) mc_run_param0;
++ other_dir = mc_run_param1;
+ }
+ else /* mc_run_param0 != NULL && mc_run_param1 == NULL */
+ {
+ /* one argument */
+- current_dir = NULL; /* assume current dir */ ;
+- other_dir = (char *) mc_run_param0;
++ current_dir = (char *) mc_run_param0;
++ other_dir = saved_other_dir; /* from ini */
+ }
+ }
diff --git a/source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff b/source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff
new file mode 100644
index 000000000..bfb33b5c1
--- /dev/null
+++ b/source/ap/mc/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff
@@ -0,0 +1,66 @@
+Index: src/filemanager/file.c
+===================================================================
+--- src/filemanager/file.c (revision 0fe4734fd6efb169a4057b84a44c223108b957cb)
++++ src/filemanager/file.c (revision 54a5139eec69438f8771ffddcff96a2e72a197ff)
+@@ -1273,6 +1273,6 @@
+ /** Initialize variables for progress bars */
+ static FileProgressStatus
+-panel_operate_init_totals (FileOperation operation, const WPanel * panel, const char *source,
+- FileOpContext * ctx, filegui_dialog_type_t dialog_type)
++panel_operate_init_totals (const WPanel * panel, const char *source, FileOpContext * ctx,
++ filegui_dialog_type_t dialog_type)
+ {
+ FileProgressStatus status;
+@@ -1283,5 +1283,5 @@
+ #endif
+
+- if (operation != OP_MOVE && verbose && file_op_compute_totals)
++ if (verbose && file_op_compute_totals)
+ {
+ ComputeDirSizeUI *ui;
+@@ -2379,11 +2379,4 @@
+ if (ctx->erase_at_end)
+ {
+- /* remove files after move */
+- if (erase_list != NULL)
+- {
+- file_op_context_destroy_ui (ctx);
+- file_op_context_create_ui (ctx, FALSE, FILEGUI_DIALOG_DELETE_ITEM);
+- }
+-
+ while (erase_list != NULL && return_status != FILE_ABORT)
+ {
+@@ -2793,12 +2786,10 @@
+ if (operation == OP_DELETE)
+ dialog_type = FILEGUI_DIALOG_DELETE_ITEM;
++ else if (single_entry && S_ISDIR (selection (panel)->st.st_mode))
++ dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
++ else if (single_entry || force_single)
++ dialog_type = FILEGUI_DIALOG_ONE_ITEM;
+ else
+- {
+- dialog_type = ((operation != OP_COPY) || single_entry || force_single)
+- ? FILEGUI_DIALOG_ONE_ITEM : FILEGUI_DIALOG_MULTI_ITEM;
+-
+- if (single_entry && (operation == OP_COPY) && S_ISDIR (selection (panel)->st.st_mode))
+- dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
+- }
++ dialog_type = FILEGUI_DIALOG_MULTI_ITEM;
+ }
+
+@@ -2845,6 +2836,6 @@
+ source_with_vpath = vfs_path_append_new (panel->cwd_vpath, source, (char *) NULL);
+ #endif /* WITH_FULL_PATHS */
+- if (panel_operate_init_totals
+- (operation, panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type) == FILE_CONT)
++ if (panel_operate_init_totals (panel, vfs_path_as_str (source_with_vpath), ctx, dialog_type)
++ == FILE_CONT)
+ {
+ if (operation == OP_DELETE)
+@@ -2937,5 +2928,5 @@
+ }
+
+- if (panel_operate_init_totals (operation, panel, NULL, ctx, dialog_type) == FILE_CONT)
++ if (panel_operate_init_totals (panel, NULL, ctx, dialog_type) == FILE_CONT)
+ {
+ /* Loop for every file, perform the actual copy operation */
diff --git a/source/ap/mc/mc.SlackBuild b/source/ap/mc/mc.SlackBuild
index 21d997db6..bb78ba596 100755
--- a/source/ap/mc/mc.SlackBuild
+++ b/source/ap/mc/mc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -64,12 +64,15 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix tmp path for saving files:
-zcat $CWD/mc.save.file.diff.gz | patch -p1 --verbose || exit 1
-
# Use geeqie instead of gqview as an external image viewer:
zcat $CWD/mc.image.sh.geeqie.diff.gz | patch -p1 --verbose || exit 1
+# Upstream bugfix for crash moving directories:
+zcat $CWD/changeset_54a5139eec69438f8771ffddcff96a2e72a197ff.diff.gz | patch -p0 --verbose || exit 1
+
+# Upstream fix for cmdline directory handling:
+zcat $CWD/changeset_446748619b5cb77ea63360a81bb16cd2dd2caff7.diff.gz | patch -p0 --verbose || exit 1
+
if [ ! -x ./configure ]; then
./autogen.sh
fi
diff --git a/source/ap/mc/mc.image.sh.geeqie.diff b/source/ap/mc/mc.image.sh.geeqie.diff
index 413807e92..8a7fe1c56 100644
--- a/source/ap/mc/mc.image.sh.geeqie.diff
+++ b/source/ap/mc/mc.image.sh.geeqie.diff
@@ -1,11 +1,11 @@
---- ./misc/ext.d/image.sh.orig 2012-07-18 04:30:23.000000000 -0500
-+++ ./misc/ext.d/image.sh 2012-09-08 14:39:11.998159169 -0500
-@@ -36,7 +36,7 @@
- if [ "$DISPLAY" = "" ]; then
- zgv "${MC_EXT_FILENAME}"
- else
+--- ./misc/ext.d/image.sh.orig 2013-05-29 01:53:42.379848005 -0500
++++ ./misc/ext.d/image.sh 2013-05-29 01:54:54.639853218 -0500
+@@ -39,7 +39,7 @@
+ ;;
+ *)
+ if [ -n "$DISPLAY" ]; then
- (gqview "${MC_EXT_FILENAME}" &)
+ (geeqie "${MC_EXT_FILENAME}" &)
- fi
- ;;
- esac
+ elif see >/dev/null 2>&1; then
+ (see "${MC_EXT_FILENAME}" &)
+ else
diff --git a/source/ap/mc/mc.save.file.diff b/source/ap/mc/mc.save.file.diff
deleted file mode 100644
index f54748c1b..000000000
--- a/source/ap/mc/mc.save.file.diff
+++ /dev/null
@@ -1,37 +0,0 @@
-diff --git a/src/editor/editcmd.c b/src/editor/editcmd.c
-index 2261aaa..536ac7e 100644
---- a/src/editor/editcmd.c
-+++ b/src/editor/editcmd.c
-@@ -222,7 +222,8 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath)
- if (savedir == NULL)
- savedir = g_strdup (".");
-
-- saveprefix = mc_build_filename (savedir, "cooledit", NULL);
-+ /* Token-related function never return leading slash, so we need add it manually */
-+ saveprefix = mc_build_filename ("/", savedir, "cooledit", NULL);
- g_free (savedir);
- fd = mc_mkstemps (&savename_vpath, saveprefix, NULL);
- g_free (saveprefix);
-@@ -365,13 +366,21 @@ edit_save_file (WEdit * edit, const vfs_path_t * filename_vpath)
-
- if (this_save_mode == EDIT_DO_BACKUP)
- {
-+ char *tmp_store_filename;
-+ vfs_path_element_t *last_vpath_element;
- vfs_path_t *tmp_vpath;
- gboolean ok;
-
- #ifdef HAVE_ASSERT_H
- assert (option_backup_ext != NULL);
- #endif
-- tmp_vpath = vfs_path_append_new (real_filename_vpath, option_backup_ext, (char *) NULL);
-+ /* add backup extention to the path */
-+ tmp_vpath = vfs_path_clone (real_filename_vpath);
-+ last_vpath_element = (vfs_path_element_t *) vfs_path_get_by_index (tmp_vpath, -1);
-+ tmp_store_filename = last_vpath_element->path;
-+ last_vpath_element->path = g_strdup_printf ("%s%s", tmp_store_filename, option_backup_ext);
-+ g_free (tmp_store_filename);
-+
- ok = (mc_rename (real_filename_vpath, tmp_vpath) != -1);
- vfs_path_free (tmp_vpath);
- if (!ok)