are almost complete (i.e. to handle all nitty gritty cases), but they
seem to be working OK right now. SM should be much more stable now.
Please tell me if you find any weird behavior - Federico
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* gdesktop-icon.c (desktop_icon_realize): Remove the
WM_CLIENT_LEADER property from icon windows so that window
managers will not store SM information for them.
* gnome-open-dialog.c: Added missing #includes.
* gdesktop-init.c (desktop_init_at): Removed an unused variable.
* gdesktop.h: Added some missing prototypes.
* gmain.h: Added some missing prototypes.
* Makefile.in: Added gsession.[ch] to the list of sources.
* gmain.c (create_panels): Consider whether we have a CORBA server
and session management.
* gdesktop.c: #include "gdesktop-init.h"
* gdesktop.c: Added a missing cast to GNOME_DIALOG.
* gmain.c (create_panels): Removed the run_desktop global
variable.
* glayout.c (create_container): Set the wmclass of the panel to
include its unique ID.
* gsession.[ch]: New file with the functions that deal with
session management.
* glayout.c (gnome_exit): Use session_set_restart().
* gcorba.c (corba_init): Now returns an int with an error value.
(corba_init_server): Initialize the server properly.
Fixed all the object implementation code.
(corba_create_window): New function used to create a window with
the CORBA server.
* gmain.c (gnome_check_super_user): Now the check for running as
root is done here. There should be no GUI code in src/.
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* dlg.c (dlg_run_done): Do not call the callback of a NULL current
widget.
* setup.h: Added missing prototype for setup_init().
* filegui.c (check_progress_buttons): Added a missing return
value.
* dlg.c (remove_widget): Added a missing return value.
* main.c: Removed the global directory_list variable.
Removed the main_corba_register_server() function.
* main.h: Removed the global run_desktop variable.
* panel.h: Now the panel structure has a unique numerical ID used
for session management.
* screen.c (panel_new): Maintain a unique ID for each panel.
* main.c (maybe_display_linksdir): Handle display of the desktop
init dir here.
(main): Call gnome_check_super_user().
(init_corba_with_args): Call corba_init_server().
* main.c (init_corba_with_args): Do CORBA initialization here. Also
removed the global force_activation option.
1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
* vfs.c (vfs_add_current_stamps): Only do stamping of the panels
if they exist.
* mcserv.c: #include <sys/wait.h>
(get_client): Put `#ifdef __EMX__' around an otherwise-unused
variable.
* utilvfs.c (vfs_split_url): Fix NULL <-> 0 confusion when
comparing characters.
* ftpfs.c (retrieve_dir): Removed unused variable dot_dot_found.
* extfs.c (extfs_init): Assign `key' to c, not `&key'.
* configure.in: Deleted duplicate VFS checks. GNOME_VFS_CHECKS
now contains all VFS checks.
* src/util.c (is_printable): Character 155 is non printable even when
full eight bit output is enabled (on the linux console 155 is
interpreted as "ESC [").
* vfs/vfs.h (vfs_translate_url): Fixed the macro which is used when
compiling without vfs.
* macros/gnome-vfs.m4: Add --with-vfs option. GNOME_VFS_LIBS still needs
to be fixed but that's not a problem because there's no libvfs, yet.
Basically, I had to setup an ssh tunnel to be able to use CVS. After
5 hours trying to get the damn thing to cvs update it was clear to me
why the .es people do not like to use the gnome cvs.
We really need a tunnel for .es hackers (as they have excellent connectivity
to the rest of Europe, they are just routed trough a 2 byte link to the US).
1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* treestore.c (process_special_dirs): Free memory here.
Fix test: Skip only "." and "..", before it could skip "?.".
1999-03-22 David Martin <dmartina@mailexcite.com>
* wtools.c (real_input_dialog_help): Do a strncmp with the lenght
of th same translated "Password:" string.
1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* glayout.c (create_new_menu_from): closedir after running.
1999-03-20 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gnome-file-property-dialog.c (apply_metadata_change): Fix the
test for setting the icon. It was being done incorrectly and thus
it was never possible to change the icon.
* glayout.c (gnome_launch_mime_editor): Add mime-type-edit command
to the menu: this launches mime-type-capplet
1999-03-22 David Martin <dmartina@mailexcite.com>
* ftpfs.c: Internationalize the messages that are displayed as
hints.
1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* extfs.c (extfs_init): Fix the code here: If the key is empty or
only contains a new line, C would be pointing into an invalid location.
device files useless. Fixing this does not break anything, but adds the
ability to copy device files properly. Ideally, both st_dev and st_rdev
should be returned for those programs that use the vfs to properly
recreate hardlinks. Used idea was it to only return one if these???
mcserv also does not return the amount written in a write - fixed
mc should now interface correctly with secure-mcserv in basic non-secure
mode
Miguel.
1999-02-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gcmd.c (gnome_open_terminal_with_cmd): New routine, based on the
gnome_open_terminal routine, that will allow the user to specify a
command to execute (used internally).
* gaction.c (gmc_edit_filename): Support for the GNOME editor
environment properties.
* gdesktop.c (create_desktop_dir): Support GNOME_DESKTOP_DIR
variable to configure the desktop directory.
* src/util.c (strip_password): Extented to find the url in the first
parameter. The second parameter tells whether it should search the
url (indicated by known prefixes) in the first parameter or whether
the first parameter is a url without a prefix ("ftp://", "/#ftp:",
"/#mc:").
* src/main.c (directory_history_add): Strip the password (if any) from
the freshly added value.
* src/widget.c (push_history): ditto. There's a ugly special casing
necessary for the network and ftp link dialogs (urls are entered
with out prefix).
* src/widget.c (history_put): Restrict read and write access to the
history file to the owner (Just in case I forgot to strip passwords
somewhere).
Mon Feb 1 19:32:12 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (insert_dots): renamed from insert_dot. We have to
insert ".." as well or directories from ftp servers which don't
list "." and ".." are displayed with an additional "/".
Mon Feb 1 01:45:08 1999 Timur I. Bakeyev <mc@bat.ru>
* mcserv.c: If setuid() is avaliable, use it, even, streuid() also
present. (BTW, bsdi uses it's own auth system..)
* po/Makefile.in.in: use DESTDIR (makes it possible to move
installation path with "make DESTDIR="...")
Sun Jan 31 20:51:17 1999 Alexander Savelyev <fano@vcom.kiev.ua>
* vfs/mcserv.c (do_auth): mcserv never auth properly on bsdi.
(mc/vfs/mcserv.c do_auth() on bsdi we must use setuid() not
setreuid()).
* vfs/tcputil.c: use correct signal handler (void func(int)) on BSDI
Sun Jan 31 20:41:00 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* mcserv.c (do_link): Removed duplicate invokation of link. Thanks
to Grzegorz Makarewicz <mak@mikroplan.com.pl> for spotting this.
Sun Jan 31 20:04:13 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/vfs.c (vfs_strip_suffix_from_filename): Whoever replaces every
occurance of 0 with NULL should stop this stupidy. And replacing '\0'
with NULL is plain wrong!!. Reverted this replacement.
* vfs/ftpfs.c (load_no_proxy_list): ditto
Fri Jan 29 22:55:56 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* slang/slang.h: renamed to slang-mc.h
* slang/Makefile.in: delete slang.h on "make clean"
* configure.in: link slang/slang-mc.h to slang/slang.h when the
included slang is used. Problem was that MC's slang.h was used
when we compiled with an already installed SLang and the systems
header file were included with <slang/slang.h>.
Unfortunatly I can't use AC_LINK_FILES to make the links because
if we needn't make any links AC_LINK_FILES makes a link from
srcdir to top_builddir (builddir != srcdir).
Temporary add $LGPM to $LIBS when checking for the resizeterm
and keyok functions (ncurses might be linked against GPM).
Substitude PACKAGE (intl/Makefile makes use of it)
Sun Jan 31 19:42:47 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* gnome/Makefile.in (install_mx): make it work with srcdir != builddir
(gmc.gnorba is located in $srcdir)
* src/hotlist.c (add_new_entry_input, add_new_group_input): Make the
quick_widget arrays static and various changes needed because they
are now static. add_widgets_i18n recalculates button positions
which get lost when the quick_widget arrays are non static.
* src/screen.c (to_buffer): nul terminate string when using strncpy
* src/setup.c: Save and restore new option ftpfs_first_cd_then_ls.
Sun Jan 31 19:57:24 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (insert_dot): New function. Insert a "." into the linked
list. Stat'ing the root directory of a ftpfs fails if the dot is
missing.
(retrieve_dir): insert "." into the linked list if the ftp server
haven't send it.
Sun Jan 31 19:50:24 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* The following changes make ftpfs work with a remote AmiTCP
server are the result of somehow longish EMail debugging session. I
don't know any public server of this kind but I was told the
combination Unix/Amiga boxes are often used in intranets.
* vfs/ftpfs.c (translate_path): New function. Translate a Unix path,
i.e. MC's internal path representation (e.g. /somedir/somefile) to
a path valid for the remote server. Every path transfered to the
remote server has to be mangled by this function right prior to
sending it. Currently only Amiga ftp servers are handled in a
special manner.
* vfs/ftpfs.c (various places): use translate_path
* vfs/ftpfs.c (login_server): Assume we have to mangle pathnames if
the greatings string from the server contains the word Amiga. If
this assumption is wrong I have to find another way to turn on
path translation.
* vfs/ftpfs.c (ftpfs_get_current_directory): Prepend a leading slash
if it is missing. MC needs it as seperator between hostname and
path in its internal url representation.
Wed Jan 27 03:09:48 1999 Timur I. Bakeyev <mc@bat.ru>
* All around the source: Changed copy_strings() to g_strconcat(). Modi-
fy last parameter in concat_dir_and_file() to "" - to prevent stack from
disbalancing.
* gdnd.c (get_action): Sensitize the menu items based on the
allowed actions in the drag context.
(actions): Add some underlined accelerators for the action menu.
* gdesktop.c (icon_drag_motion): Use S_ISDIR() in addition to
fe->f.link_to_dir.
* gscreen.c (panel_file_list_scrolled): Removed this function, as
it was not used for anything useful.
* gdnd.c (gdnd_drop_on_directory): Duh. Use context->action, not
context->suggested_action.
1999-01-25 Federico Mena Quintero <federico@nuclecu.unam.mx>
* Makefile.am (libvfs_la_SOURCES): Added utilvfs.h.
* Make-mc.in (VFSHDRS): Likewise.
- SFS-based file systems now work on GNOME edition, I was
not waiting for child process to finish decompressing.
- VFS code cleanup. I am going to eventually get rid of all
the macro-mania that has creeped into the vfs layer.
Miguel
* vfs/vfs.c (vfs_timeout_handler): Guard from recursive invocation.
Sat Jan 9 19:13:28 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/sfs.c (sfs_free): Fixed wrong linked list handling (head was
lost after the first iteration).
(sfs_getid): dito, return value was wrong.
* vfs/vfs.c (vfs_parse_filedate): If the date is less than 6 months
in the past, it is shown without year. In this case MC assumed
the current year which is wrong from Jan to Jun.
* sfs.c (sfs_nothingisopen): Assume for now it's always save to free
this filesystem and delete temporary files. This needs further
investigation.
* tar.c: deleted unused empty struct tar_super.
Thu Dec 31 08:40:44 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* direntry.c: Split fd_usage into fd_usage and ino_usage. fd_usage
was used for external and internal reference count. This was wrong
because we can free resources taken up by the vfs as soon as the
external reference count (now fd_usage) is zero. The internal
reference count (ino_usage) mustn't matter because the vfs has to
clean up itself in the correct order.
* vfs/direntry.c (vfs_s_new_inode): Moved initialization of st_ino
and st_dev from vfs_s_default_stat.
(vfs_s_default_stat): initialize st_ino and st_dev to zero
* vfs/tar.c (tar_open_archive): Make a new MEDATA->rdev for every
new archive.
* mountlist.c: Define xBSD on FreeBSD.
* doc/mc.sgml, mc.1.in: Deleted obsolete information about
tar_gz_memlimit. Partially rewrote the section about the
Virtual FS.. configuration dialog.
* main.c (parse_an_arg): New function, popt callback. Option
parsing in gmc was broken. The gnome*_init_with_popt_table free
the option tables and gmc tried to use the option tables later.
* main.c (handle_args): In the Gnome edition don't parse the
options a second time.
* boxes.c (configure_vfs), setup.c: Deleted obsolete options.
tar.gz files are now always unzipped to a temporary file on disk.
* gnome/layout: Deleted obsolete widgets from the Virtual FS configuration
dialog.
* vfs/tar.c: Deleted global variable tar_gzipped_memlimit.
Mon Dec 21 14:28:55 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* filenot.c (my_mkdir_rec): Someone broke this function completely by deleting
a line. Funny things happen if you use an already freed pointer.
Improved error handling: try to make directories recursivly until
mkdir succeeds or fails with errno != ENOENT. Now you will get the
correct error message when you don't have permission to create a
directory.
* mountlist.c: Deleted function prototypes for strdup and strstr,
they might conflict with definitions in the system header files.
* screen.c (Xtry_to_select): Don't select a similar file when
"name" can't be found in the panel (when deleting files the
selection jumpped from the deleted "file" to a directory which
started with the same character as "file", annoying).
Strip known vfs suffixes from "name" before trying to select
(I think Timur made this suggestion a few months ago). Know the
vfs is mature enough to do this.
* vfs/vfs.c (vfs_strip_suffix_from_filename): New function which strips
known vfs suffixes from a filename and returns a malloced string
which has to be freed. Possible improvement: strip vfs suffix from
last path component.
* vfs/extfs/*: added "umask 077" to every script.
* fish.c (FISH_OP): changed snprintf to g_snprintf, as glib is
used anyway.
* xdirentry.h (LINK_NO_FOLLOW):
* tar.c (read_header):
* direntry.c (vfs_s_resolve_symlink):
(vfs_s_inode_from_path):
(vfs_s_open): renamed NO_FOLLOW and FOLLOW to LINK_NO_FOLLOW and
LINK_FOLLOW resp. to avoid problems on solaris, where FOLLOW and
NO_FOLLOW are defined in an enum.
* vfs.h (ELAST): define it to 300, if not already defined, thats a
bad hack, but what can we do....
- GNOME edition now compiles without any trace of the text mode
dependencies.
- We no longer link with libraries we do not use (crypt, gpm), this
fixes the recent bug reports.
- More tree updates, enhancements.
Miguel.
* vfs/vfs.c (vfs_parse_ls_lga): ignore trailing + in permission string
which indicate a file with extented attributes (ACL)
Wed Nov 25 22:16:19 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/cmd.c (dirsizes_cmd): Quote characters with a special meaning
when passing it to du.
exaggerated because I only saw two complaints). I added the old method
to resolve symlinks and made it the default. When someone complains about
4.5.2 we can change defaults at will ;-).
Mon Nov 23 21:19:43 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (resolve_symlink_with_ls_options): that's resolve_symlinks
we used up to release 4.1.35. It uses LIST -lLa to get symlink stats.
(resolve_symlink_without_ls_options): that's resolve_symlinks
we used in release 4.1.36 and 4.5.[01]. It gets symlink stats from the
directory cache fetching directories if necessary. We got some
complaints about slower ftpfs in the above releases. Now this methode
is no longer the default methode to resolve symbolic links. It is still
needed for ftp servers which don't understand the LIST -lLa command.
(resolve_symlink): Dispatch between the two methods to
resolve symlinks.
Ok, finally splitted the GUI code that dealt with the file operations into
a separate file. It is now possible to write a native Gtk version of this.
Until the Gtk-native version is done, the code in mc/gnome/ is linking with
filegui.c.
Miguel
Documentation update.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* fish.c (command): Replace vnsprintf with g_strdup_vprintf. This
is both safe and more correct, as there is no limit on the
pathname.
* ftpfs.c (command): Same as above.
* util-alone.c (print_vfs_message): Same as above.
1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
* layout.c (print_vfs_message): Use g_snprintf instead of
vnsprintf.
* configure.in, Make.common.in: Split CPPFLAGS into CPPFLAGS and
MCCPPFLAGS. The last one contains references to variables which are
not available in every Makefile.in (namely intl/Makefile.in). Without
the split `-I ' was passed to the compiler (the compiler on DU 4.0
interprets -I as "don't search include files in /usr/include").
Mon Oct 26 00:38:30 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/Make-mc.in: added xdirentry.h to VFSHDRS
* Added norwegian translation and some minor tweaks to make it
link properly (I'm not sure it is correct, but I'm sure someone
will point that out if its not ;-).)
* configure.in (subshell): Don't define inline to be empty
when compiling with non-gcc compiler. AC_C_INLINE (invoked in
AM_GETTEXT_GNU) already defines inline if necessary.
Thu Oct 22 20:41:16 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* panelize.c (do_external_panelize): Not zeroing some fields
in cpanel led sometimes to segfaults.
Thu Oct 22 20:30:28 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* vfs/ftpfs.c (resolve_symlink, retrieve_dir): Don't timeout and
free dcache while resolving symlinks (i.e. don't free some
pointers which are in use by resolve_symlink).
MC now depends on glib (currently only the assertions are used).
VFS structure declaration fixes.
Uses the new icon list (it is dog slow, need to fix this tonight at home).
Mon Sep 28 21:55:13 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* src/find.c: Changed hotkey of the continue-button (both Chdir and
Continue used `C').
* po/*.po: remade because one msgstr in find.c changed
* src/Makefile.in: search config.status in builddir and not in rootdir,
i.e. make it compile for builddir != srcdir
* vfs/vfs.h (struct vfs): renamed errno to verrno because glibc2
defines errno as macro (#define errno (*__errno_location ()))
* vfs/Makefile.in: search config.status in builddir and not in srcdir/..,
i.e. make it compile for builddir != srcdir
gnome-triggers.* Start adding sound sample support to the triggers
(not finished).
gnomelib-init.c: Initialize trigger subsystem upon startup.
libgnomeui:
Makefile.am: Fix rules for generating the
gnometypebuiltins*.[ch]
gnometypebuiltins_evals.c: No calendar stuff (*broken*)
libvfs/Makefile.am: Install vfs.h into <vfs/vfs.h>
* setup.c: save and restore new global variable/option
ftp_use_unix_list_options
Tue Sep 15 20:31:32 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (ftp_use_unix_list_options): New global variable/option.
If true we try to use 'LIST -la <path>'. When it fails we use the
two commands 'CWD <path>' and 'LIST' instead.
(resolve_symlink): rewritten. Don't get a second directory listing
with `LIST -lLa'. Instead use the cache to get the file stat of
symbolic links. If the directory the symlink points to isn't
already in the cache the directory listing will be fetched and
stored in the directory cache (without resolving symlinks
recursively).
The new method to resolve symlinks is faster if symlinks
the same directory or the directory the symlink points to
is already in the cache.
This function was small and nice until I discovered that it was
broken for symlinks to symlinks. Now it looks ugly and perhaps I
will revert it to use "LIST -lLa" again. With a fast connection it
doesn't matter which methode we use but with a slow connection I
wouldn't hesitate to burn more cpu cycles on the client side.
(retrieve_dir): Added parameter to tell whether to resolve
symlinks (don't resolve symlinks in directory listings retrieved
while resolving symlinks).
When we don't get a directory listing with 'LIST -la <path>' then
try to get it with `CWD <path>; LIST'.
Tue Sep 15 20:27:29 1998 Norbert Warmuth <k3190@fh-sw.de
* ftpfs.c (login_server): s/ftpfs_get_host/my_get_host/
(retrieve_file_start2): Don't create target file O_EXCL, in
copy_file_file we check existance of the target file and know
that we want to truncate it (this change was already done a
while back but it was reverted with the vfs-split).
Tue Sep 15 20:15:42 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.h (struct connection): added boolean which indicates that
the ftp server doesn't unterstand Unix ls options
* ftpfs.h (struct dir): added enum to store symlink status of the
in memory directory cache (directory has no symbolic links;
symbolic links but not yet resolved; symbolic links which are resolved)
Tue Sep 15 20:02:08 1998 Norbert Warmuth <k3190@fh-sw.de>
* shared_ftp_fish.c, fish.c: updated references to retrieve_dir to
honour the additional boolean parameter
Added single file filesystem (sfs)
Added vfs_flags so library users can disable selected filesystems
Minor shuffling of functions so garbage collection works for library
* changed version numbers of 0.0.0 stuff to 0.26.0
(-version-info x:y:z, where x is the major rev+the minor rev, z is the
minor rev, y is the patchlevel. -- thus the library would come out as
libxxx.so.x-z.z.y)
(affected libgnome,libgnomeui,libvfs)
also added a couple of files to .cvsignore of libgtktty (config.sub, config.guess)
and $(EXTFS_OUT) because the first must be installed from
$(srcdir) and the second from $(builddir).
Anyone knows why builddir gets defined to the top builddir and not to
the current builddir (in this case it gets defined to .../build/mc instead
of .../build/mc/vfs).
* main.c (translate_url_to_new_syntax): translate the common
ftp url syntax to the syntax used by the new vfs code.
(_do_panel_cd): First translate the path if necessary. This makes
it possible to enter ftp://host on the commandline and in the
directory hotlist. We might need to move the translation code
to the vfs layer if there are other places where we want to enter
ftp://host.
Mon Jun 1 16:00:19 1998 Norbert Warmuth <k3190@fh-sw.de>
* vfs/ftpfs.c (ftpfs_fill_names): use right character to seperate
prefix and username
to blame first when it breaks something.
Mon Jun 1 12:33:08 1998 Alexander V. Lukyanov <lav@yars.free.net>
* configure.in: allowed to use `configure --with-included-gettext'
on systems (like solaris) that have their own libintl
Mon Jun 1 14:19:20 1998 Bakeyev I. Timur <timur@comtat.kazan.ru>
* vfs/vfs.c (parse_ls_lga): allow a bit wider range of listings.
* vfs/vfs.c (is_time, is_year): new functions
Mon Jun 1 12:47:50 1998 Norbert Warmuth <k3190@fh-sw.de>
* vfs/ftpfs.c (ftpfs_forget): Use the new ftpfs prefix.
* extfs.c, shared.c, tar.c: I changed semantics in my previous
patch - _get_path() now modifies strings passed to it. I thought
that I were carefull enough not to introduce bugs. You guessed it -
I was not. [Many tar_ and extfs_ functions modify strings passed
to them, but as they are only called from vfs layer, it does not
matter much.]
So I renamed function to alert everyone that semantics changed.
Fixed bugs in timestamping (and segfaults) when you entered tar
inside zip file or similar.
* vfs.c (mc_open): Die if the filesystem doesn't support open
The VFS code can now be used by other applications (if you compile the
libvfs.a target and link against this).
Syntax has changes internally from the url-like syntax to a new syntax
that does not have ambiguities. A default conversor for the new syntax
will be provided in the future, also dealing with the user ~/.mc/ext files
is currently in a non-optimal state.
Keep an eye on this mailing list.
Miguel.
1998-05-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gwidget.c (x_create_input): Disable the use of the GNOME entries
for now, as they are very slow. We need to figure out what is
wrong with this.
With this change, dialog boxes close quickly instead of taking
ages to close.
* gscreen.c, gdesktop.c (file_popup_add_context, file_popup):
Share the context menu code in gdesktop.c and gscreen.c. The
desktop pop up menus now include all of the stuff that would have
appeared in the Panel.
* gdesktop.c (desktop_icon_remove): Remove the file associated
with this desktop entry if it is on the ~/desktop directory.
* edit/syntax.c: Disable debug messages on stderr.
* edit/edit.h: Added missing _()
Sun May 10 14:51:03 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (__ftpfs_chdir): CWD command wasn't sent at all. This
optimation is wrong because for directories containing spaces we
have to "CWD <pathname>" and "LIST -la" instead of
"LIST -la <pathname>".
I implemented a different optimation. Now ftpfs_chdir only stores
the new working directory and sets a flag. __ftpfs_chdir is called
when we really want to change the directory on the ftp server.
(resolve_symlink): Log the directory listing to the logfile.
* ftpfs.h (struct ftpfs_connection): Added a (per connection)
cwd_defered flag.
Sun May 10 13:27:50 1998 Norbert Warmuth <k3190@fh-sw.de>
* widget.c (handle_char): Don't try to to delete default text in
input widget more than once. Right after MC's start copy_filename
(ESC Enter) failed because a flag wasn't cleared while characters
were stuffed into the commandline (Andrej reported this bug).
* main.c (copy_readlink): usr mc_readlink instead of readlink
* file.c: Changed default for the copy/move option "dive into
subdir if exists" to off (note: this was only possible after the
change in setup.c).
(copy_dir_dir): Activated the previously uncommented code which
implements "Dive into subdirs". Even when there's no case where we
actually would like that behaviour it is a documented feature.
Though I don't wanted to change the default behavour. Hence the
option change.
(file_mask_defaults): set dive_into_subdirs
(file_mask_dialog): Fix for debian Bug #20727: Move operation with
"[ ] Dive into subdir if exists" and destination filename not
wildcarded. If destination is an existing directory then files
will be moved into this directory. If destination is not an
existing directory then src file will be renamed (one file
selected) or an error will be displayed (more than one file
selected).
(file_mask_dialog): made the option "Using shell patterns" local
to the current copy/move operation, i.e. this option is always
initialized with the global options's value. Previously it affected
the global Options/Configuration/shell Patterns.
Another possiblilty would be to make the global option a default
option on startup and keep changes in the copy/move dialog
(without saving these changes with save setup).
* setup.c: Don't save and load options which can be changed
outside the options menu. For example I don't like that
preserve_uid_gid and dive_into_subdirs from the copy/move dialog
are saved and restored (strange, what about the other options from
this dialog?).
It would be much cleaner to make these option read-only. This way
one could edit ~/.mc/ini to provide default option setting on
startup and "Save setup" wouldn't have side effects outside the
option's menu.
Sun May 10 13:24:20 1998 Norbert Warmuth <k3190@fh-sw.de>
* doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
for dive into subdirs.
* Makefile.in: Links to mad.c and mad.h were created wrong when
srcdir != builddir and directory depth to srcdir and builddir were
different (e.g. $srcdir=/src/mc and $builddir=/src/compile/mc)
O_EXCL in retrieve_file_start2 then I will find a different fix.
Mon May 4 10:27:49 1998 Norbert Warmuth <k3190@fh-sw.de>
* ftpfs.c (retrieve_file_start2): Don't create target file O_EXCL,
in copy_file_file we check existance of the target file and know
that we want to truncate it.
Mon May 4 10:21:31 1998 Norbert Warmuth <k3190@fh-sw.de>
* file.c (copy_file_file): Schedule deletion of short target file
only when we created or truncated the target file and not already
when we decided to overwrite an existing file.
Now in wrap mode the End key and cursor up key behave much better
(e.g. when viewing binary files with lots of wrapped lines).
It's not perfekt but it's better than it used to be.
Tue Apr 28 06:52:24 1998 Norbert Warmuth <k3190@fh-sw.de>
* gnome/gcmd.c (gnome_open_terminal): Changed my_system(1,...) to
my_system(EXECUTE_AS_SHELL,...)
Tue Apr 28 06:06:03 1998 Norbert Warmuth <k3190@fh-sw.de>
* vfs/extfs.c (extfs_open, extfs_close): Changed my_system(1,...)
to my_system(EXECUTE_AS_SHELL,...), this fixes the broken copyin and
copyout in 4.1.32.
Tue Apr 28 06:11:08 1998 Norbert Warmuth <k3190@fh-sw.de>
* view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
of bottom_first (we mustn't use an already calculated and cached
value because it is invalid for the new mode and the End key would
not move to the end of the file).
* configure.in: Renamed the option `--with-our-slang' to
`--with-included-slang' (this one looks better because we also
have an `--with-included-gettext').
Make the option `--with-ext2undel' recognice a given path.
* cmd.c (view_file_at_line): In plain view (F13) set the default
magic flag to zero in order to view the file content unprocessed
(esp. don't uncompress files if they are compressed). The
view_simple_cmd got broken when the default magic flag in view.c
was changed from 0 to 1.
* view.c (do_view_init, goto_line): Set wrap mode temporary off
to make goto line number work, i.e. `line number' now always means
line number in file and not line number on screen (in wrap mode
one long line wrapped once is displayed in two lines on the screen).
That's important when the viewer is invoked from the find file
dialog to display even in wrap mode approxiamtly the part of the
file where we found the content we searched for.
(move_forward2): In wrap mode lines were sometimes counted wrong
causing cursor up to move more than one line.
(move_backward2): Fixed the movement in wrap mode.
(change_viewer): Always re-init viewer when we have a filename,
i. e. if the viewer is invoked with simple_view_cmd then we can switch
with the F8 key between unprocessed file content und uncompressed
file content.
(view_init): re-init view also when magic flag was altered
* src/hotlist.c: changes to hotlist boxes i18n.
* src/panelize.c: changes to panelize boxes i18n.
* src/wtools.c (query_dialog): Take care about possible '&' in
button names while calculating window sizes and button positions.
* extfs/hp48: Added an usage summary. The HP48 external filesystem was
contributed by Christofer Edvardsen <ce@earthling.net>.
* subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
tcsh. It prevents command and filename substitution (e.g. for
a directory named "[word] words")
* view.c (view_done): Set monitor off before deleting the view
file dialog.
* gnome/gtools.c (translate_gdk_keysym_to_curses): renamed KEY_BACKTAB
to KEY_BTAB (the name ncurses uses)
* gnome/Makefile.in: Install the icon-files and the layout-file from $srcdir.
* autogen.sh: added support for builddir != srcdir
* doc/Makefile.in: The manual pages are generated files and
located in the builddir and not in the srcdir.
* src/find.c (find_file): Use the same hotkey for the panelize button
as we use with the external panelize command.
* src/myslang.h: --with-ncurses didn't compile: renamed
KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
* src/dlg.c (dlg_key_event): likewise
* src/tkmain.c (x_init_dlg): added dummy function to make it
compile
* vfs/Makefile.in, extfs/extfs.ini, extfs/hp48: New external
filesystem to view and copy files to/from the HP48.
Now it should be possible to build and install gnome edition with
builddir != srcdir.
* src/complete.c: obsolete hack for OS/2 and NT removed.
Completion works for NT now (not very good)
* src/main.c: HOME variable is respected by NT and OS/2
versions. If it is missing, we use LIBDIR on OS2_NT and "/"
on Unix.
* src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
doesn't conflict with definitions for ALT and CTRL, but it is
SDK-compatible.
* vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
2 arguments
* vfs/tcputil,c, vfs/utilvfs.c: signal.h was includes twice.
* vfs/Makefile.in: undelfs.h is not used and should disapper
* slang/slos2tty.c: new file, copied from SLang-0.99.38,
needed for OS/2 port
* slang/Makefile.in: added slos2tty.c
* vfs/extfs/README: annoying spell errors corrected
* src/main.c: --termcap disabled for OS2_NT because it doesn't
(and cannot) work. ARCH_FLAGS is not needed anymore.
* src/text.c: most includes removed. Added a warning is someone
compiles this file with HAVE_X. Improved color scheme for
consoles with 16 background colors (e.g. OS/2). Hack for OS/2
removed.
* src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
to util.h. It may be useful to use them for filenames' completion
on OS2_NT
* vfs/ftpfs.c (changetype): Removed the hack which always forced
sending the command "TYPE I" when changing to binary transfer mode
was requested even when MC thought the connection was already in
binary mode (bucket->isbinary == 1). The correct fix is now in
login_server.
* vfs/ftpfs.c (login_server): Set the transfer mode stored in
the bucket to UNKNOWN (the bucket might be reused and the old
transfer mode isn't valid any longer).
* screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
which isn't delivered to widgets by the dialog manager; always
return 1 when key was handled; removed the function keys from the
panel's keymap (the function keys are always handled by the
buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
work even when quick search was started); characters between 32 and
255 start quick search if there is no commandline (no C-s necessary
to start search).
* tree.c (tree_key): likewise