* src/util.c (strip_home_and_password): Don't split the path in the
middle of a directory, e.g. "/home/bofh" will not be translated to
"~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
* find.c: The origin of the bug is in the function do_search (file
find.c). It limits the number of subdirectories to scan by the
number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
st_nlink is always 1, so it should be the second case.
But before doing stat, do_search does opendir. And opendir on tar
vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
in the stat data! So mc_stat called after mc_opendir on tar vfs
returns st_nlink==2 instead of 1. This is interpreted as if the
directory had no subdirs, thus subdirs are not searched in.
Changing the order of calls to mc_stat and mc_opendir fixes the
problem.
* vfs/ftpfs.c (retrieve_dir): If we don't get any valid directory entry
(i.e. not even "." and "..") check whether the directory is empty
or not existend (instead of failing with "ftpfs: failed").
everything is going ok.
Ok, I've now limited number of "could not parse" error messages to 5
per session. Lower this limit if it makes you crazy, but DO NOT REMOVE
those messages.
* src/ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
like the lattern when compiled with -mthreads).
* src/user.c (execute_menu_command): ditto.
Wed Apr 21 22:04:30 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/editcmd.c (edit_save_file): MAD knows about tempnam, no
need to fool it by strdup'ing the return value of tempnam.
Wed Apr 21 21:59:50 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/extfs.c (extfs_open): tempnam returns a malloced string, no need
to strdup it
(various places): use free instead of g_free to free string returned
by tempnam.
`--with-tm-x-support'
This option enables minimal X Window support in the text edition. It
enables MC to query the status of the modifiers CONTROL and SHIFT
when invoked in a terminal emulation under X11. That's necessary
to recognice key combinations like C-HOME or S-Cursor key.
Wed Apr 21 20:37:32 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: New option --with-tm-x-support, use MCCFLAGS and
MCLIBS for build flags which are specific to the text edition.
* INSTALL: Added documentation for --with-tm-x-support
* src/Makefile.in: use MCCFLAGS and MCLIBS
Wed Apr 21 20:19:45 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/key.c (get_modifier): Query the state of the modifier keys when
running inside a terminal emulation under X11.
* src/key.c (init_textmode_x11_support, done_textmode_x11_support): new
functions, only used in the text edition. Connect to and disconnect
from the X Server when DISPLAY is set.
* src/key.h: added prototypes for the new functions
* src/main.c (main): call (init|done)_textmode_x11_support
* gdesktop.c (click_proxy_motion): Terminate rubberbanding if the
event mask does not contain GDK_BUTTON1_MASK. There is a race
condition where we will not get the button release event if we
manage to grab the server in the button_press handler before the
window manager proxies the button release to us.
(perform_release): New function to terminate rubberbanding; this
used to be in click_proxy_button_release(). Also, update the drag
selection based on the last known mouse position, not on the
current one (which is not meaningful if the race condition
mentioned above kicks in).
(click_proxy_button_release): Use perform_release().
* gdialogs.c (file_op_context_create_ui): Handle the "close"
signal from the progress dialog; do not let GnomeDialog close it
for us. This fixes bug #2203 in Red Hat's Bugzilla.
* gnome-file-property-dialog.c (create_general_properties): Mark
some more strings for translations. Thanks to David Martina for
pointing these out.
* mc.keys.in.in: New icons from Tim Davis <davist@cs.man.ac.uk>
* src/view.c (do_view_init): Enable viewing of files with negative
st_size (This reverts part of a patch I commited recently. Miguel
provided a better fix for this issue).
* treestore.c (tree_store_save_to): Moved the functionality from
tree_store_save() to here.
(tree_store_save): Save the tree in the default location in an
atomic fashion.
(tree_store_load_from): Moved the functionality from
tree_store_load() to here.
(tree_store_load): Load the tree from the default location.
* treestore.h (MC_TREE_TMP): Added a #define for the temporary
name we'll use when saving the tree. Moved the #defines from
tree.h over to here.
* main.c (main): Use tree_store_load() and tree_store_save().
Removed the mc_tree_store_load/save() versions.
* tree.c (load_tree): Use tree_store_load().
(save_tree): Use tree_store_save().
* gscreen.c (panel_tree_check_auto_expand): Enabled auto-collapse
functionality again. Made the code a simpler by using
gtk_dtree_is_ancestor().
* gtkdtree.c (gtk_dtree_is_ancestor): New function to test whether
a node is an ancestor of a child. This does the same as
gtk_ctree_is_ancestor(), but much more efficiently. GtkCTree
seems to use the pessimal algorithm for this.
(gtk_dtree_collapse): Slight optimization: do not re-select if the
node is already selected.
(gtk_dtree_collapse): Do not freeze/thaw the tree while
collapsing/selecting.
* gmain.c: Removed crufty old SM code.
st_size < 0 ...
Fri Apr 16 07:50:59 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/view.c (do_view_init): Don't view files with negative file size.
Added some error checking (I'm not sure whether this is needed).
* src/wtools.c (message): Use g_vsnprintf instead of vsprintf.
* configure.in: Linking from $srcdir/slang is broken when configure
isn't called with an absolute path. Link from ../$srcdir/slang if
configure was invoked with a relative path.
* gscreen.c (panel_setup_drag_scroll): Made it not return
anything, since scrolling is independent from any other
prelighting actions.
(panel_tree_drag_begin): Do not print debugging message.
(panel_drag_data_get): Assert that we were requested a valid data
type.
(panel_create_tree_view): Only specify GTK_DEST_DEFAULT_DROP for
the tree, since we want to present the correct feedback when the
user is hovering over the blank area in the tree.
(panel_build_selected_file_list): Made it return char *.
(panel_tree_drag_end): Free dtree->drag_dir, not dtree->current_path.
(tree_drag_open_directory): Use panel->drag_tree_node instead of
the coordinates hack.
1999-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gscreen.c (panel_setup_drag_scroll): Made it not return
anything, since scrolling is independent from any other
prelighting actions.
(panel_tree_drag_begin): Do not print debugging message.
(panel_drag_data_get): Assert that we were requested a valid data
type.
* configure.in: Do not rm the destination file and then link, use
ln -sf. Link from $srcdir/slang, not from ../$srcdir/slang.
This one was forgotten in my local copy.
Updated/redid de.po.
I have *not* changed all the other .po files, I've done "make
update-po", that's all. Please kill me, should I have messed up the
tree somehow.
Kill me anyway, should I have goofed with CVS somehow. This thing
scares me no end, I keep looking stuff up in the documentation, and
it's with trembling fingers that I do my commits. Luckily I can't
break any code since I don't work on any code :)
* slang/slutty.c (SLsys_getkey): handle EOF on stdin (return
SLANG_GETKEY_ERROR on EOF instead of returning garbage)
* slang/Makefile.in (clean): remove the symbolic link slang.h on the
distclean target and not on the clean target.
Tue Apr 13 07:14:10 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
at the code that's only the case when we read EOF from stdin.
This fixes the problem where MC consumes a lot of cpu time while
reading EOF from stdin in a tight loop. This situation arises when the
terminal line/connection drops without MC being sent SIGHUP.
Tue Apr 13 06:07:05 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* configure.in: Some AC_ARG_WITH macros haven't checked $withval, i.e.
--with-PACKAGE and --without-PACKAGE gave the same results.