into one field "flags". Adjust all dependencies. Add new flag
DLG_COMPACT.
* wtools.c (dialog_repaint): Draw frame without spaces if
DLG_COMPACT flag is set.
* complete.c (complete_engine): Set DLG_COMPACT.
(query_callback): Use common_dialog_repaint().
never set to VISIBLY. Adjust all dependencies. Eliminate hack
with "clear_now" - it causes invalid memory access and hides the
real problem.
* util.c (strip_ctrl_codes): Fix possible invalid memory access
if the escape sequence ends unexpectedly.
(quit_cmd_internal): Use stop_dialogs() instead of stopping
midnight_dlg only. This fixes exit from the shell invoked from
the internal viewer or editor.
* main.c (print_mc_usage): Add "stream" parameter to specify
file stream.
(process_args): Use print_mc_usage() with stdout as stream.
(handle_args): Use print_mc_usage() with stderr as stream.
(print_color_usage): Write to stdout.
was broken. Secondly, every developer should be able to add
this code when needed. Finally, there is no need to expose the
option to the user and translate it into 30 languages.
* subshell.h: Remove debug_subshell.
* subshell.c: Likewise.
should only be called once, disable_mouse() and enable_mouse()
should be used later. Distinguish between disabled and
undetected mouse. Remove debugging stuff. Adjust all users.
* mouse.c: Implementation of the above.
* key.c: Don't use gpm_flag - check mouse_enabled instead.
because of "kmous" in terminfo. Setiing this flag means much
more than just mouse support. Recognize terminals beginning
with "rxvt" and set xterm_flag for them.
init_mouse() and shut_mouse(), since those functions decide
themselves what to do.
* layout.c (done_screen): Likewise.
* main.c (setup_mc): Likewise.
* text.c (edition_post_exec): Likewise.
(edition_pre_exec): Likewise.
* mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
xterm mouse sequence.
* main.c (setup_post): Join with setup_mc().
(init_xterm_support): New function. Check mouse capability.
(OS_Setup): Remove parts that are now in init_xterm_support().
Reenable to make "mc -v" possible.
(do_nc): Call mc_maybe_editor_or_viewer() even if the editor
is not compiled in.
(argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
copy_current_readlink() and copy_other_readlink().
Don't do anything with cmdline and command_prompt.
* screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
and chdir_to_readlink(). Adjust all callers.
(panel_key) [HAVE_X]: Don't use command_prompt - always
start search on alphanumeric keys.
* setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
layout. Adjust all dependencies.
They are declared in selcodepage.c.
* setup.c [USE_VFS]: Remove declarations for variables which are
declared in vfs/ftpfs.c.
(load_setup) [HAVE_CHARSET]: init_printable_table commented
out to enable compilation. Error strings tagged for translation.
(init_setup): Optimized.
* main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
full_eight_bits. Use source_codepage and display_codepage to
deduce the terminal 8-bitness.
* main.h [HAVE_CHARSET]: Change to match main.c.
* setup.c [HAVE_CHARSET]: Implement saving and loading charset
settings.
* util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
* view.c [HAVE_CHARSET]: Implement charset support.
From Walery Studennikov <hqsoftware@mail.ru>.
`x11_display' and `w' to `x11_window'. Make them static.
(init_textmode_x11_support): Include into init_key().
(done_textmode_x11_support): Include into done_key().
(k_dispose): Make static.
(s_dispose): Likewise.
* key.h: Remove init_textmode_x11_support() and
done_textmode_x11_support().
* main.c: Don't call init_textmode_x11_support() and
done_textmode_x11_support().
* widget.c [HAVE_X]: Likewise.
* main.c [HAVE_X]: Likewise. Don't call init_key() and
init_key_input_fd().
* setup.c [HAVE_X]: Remove some variables that make no sence
for the GNOME edition. Eliminate save_panel_types().
* view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
(shell): Remove comment and #ifdef around shell variable.
(process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
between one #ifdef ... #endif pair.
(process_args): smbfs_set_debug () takes a debug level as argument,
commented out.
* vfs/sfs.c (shell): Variable moved to ...
* vfs/util-alone.c (shell): ... here'
* main.c [HAVE_X]: print_mc_usage() and print_color_usage()
removed.
version() moved to ...
* features.inc: ... here, renamed to features.c
* main.h: status_using_ncurses moved to ...
* features.h: ... here
* cmd.c, text.c: include "features.h"
* cmd.h: include "panel.h"
* Makefile.in: changed to use features.h and features.c
* src/user.c: Add macro %k it is block file name
Add macro %e it is error file name
Add macro %i it is cursor column indent of spaces, only for edit
Add macro %y, it is syntax of current file in editor, only for edit
Add condition y , it is syntax pattern of current file in edit
Add macro %x it is extension of current file
Add macro %m it is current menu filename
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
(the message of David H. Martin <dmartina@usa.net>)
2000-05-05 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* src/user.c: Add condition (x filename) into mc.menu .
for "Open next a free console" and like.
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
src/user.c: fix segfault in chunk_alloc of glibc, when into condition
of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/edit.c:
Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
* gtkedit/editmenu.c: home: ~/.cedit.menu, local: .cedit.menu
Marked block is access now from an user edit menu
Access ~/.cedit/cooledit.block for insert to cursor place from
user edit menu.
Created system cedit.menu
2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
* gtkedit/editdraw.c:
Improved a status string of cool editor for best understand,
and to add char,hex view.
2000-05-04 Richard Hestilow <hestgray@ionet.net>
* gnome/gdesktop.c: Fixes snap to grid.
* vfs/ftpfs.c: Definition of PORT changed in the middle of ftpfs.c
with unexpected side effects (only when HSC_PROXY was
defined). Introduce HSC_PROXY_PORT and FTP_COMMAND_PORT and use
where appropriate.
(dir_load): Do not hard code the directory cache timeout to 10
seconds. Instead use the setting from Options/Virtual VFS ...
* vfs/fish.c (file_store): honour changed semantics for return value
(on error -1 is expected).
* vfs/ftpfs.c (file_store): dito
* gtkedit/editcmd.c (edit_replace_prompt): fix incorrect
initialization of array of structure (gcc version 2.96 20000131
chokes on it).
* lib/mc.hint: C-y and not C-u can be used to insert text in input
lines (e. g. text which has been deleted with M-d).
* configure.in: Fix the extfs-configure-fragment-in-final-output bug
* src/main.c (parse_control_file): add missing right parentheses
* src/boxes.c: fix incorrect initialization of array of structure (gcc
version 2.96 20000131 chokes on it).
* main.c (parse_control_file): add extra secutity checks for
control file. It cannot be group/world writable;
(ctl_x_map, default_map, argument_table): added const qualifier.
* fixed segfault in print_mc_usage
(pavel@ucw.cz did the commit)
* gdesktop.c, gdnd.c, gaction.c, gicon.c,
gnome-file-property-dialog.c, gpopup.c, gpopup2.c, gprefs.cgmain.h,
setup.c: Add option of using GNOME "magic" routines to determine file
types. This makes MC intelligently look at the data in the file to see
what type of file it is, rather than looking at the filename extension.
This slows down MC quite a bit, so it has been made an optional
preference item. Type detection is expected to improve as mime-magic
matures.
* ftpfs.c: basically replaced ftpfs with new one. Unlike the
previous one, this uses new direntry.c layer, so shared_ftp_fish.c
can be killed.
This is new code, so beware.
* gcorba.c (corba_activate_server): New function. Activate the
POA manager here, when we are actually ready to process requests,
instead of at the beginning of initialization.
* gmain.c (create_panels): Call corba_activate_server().
* src/user.c (check_patterns): char* is used instead of char [] in sizeof
* src/util.c (string_perm): prefix named pipes by 'p' and not by `s'
1999-09-19 David Martin <dmartina@usa.net>
* gtkedit/editcmd.c (edit_print_string): Use unsigned char so that
8 bit chars from strftime get displayed when inserting date.
* lib/mc.ext.in: Add entries for bzip2 compressed pages as used in
Mandrake 6.0. The generic entry for bzip2 moved to the end of the
file to avoid interferences. In this one I changed the extension check
to a type check (as used for gzip) which might give problems in some
systems.
* configure.in: Use -Tlatin1 to format man pages when available and
"view" 8 bit chars.
1999-09-19 Norbert Warmuth <nwarmuth@privat.circular.de>
* gtkedit/edit.h: Include files reordered in order to make it compile with
--with-debug
* gtkedit/editcmd.c (menu_save_mode_cmd): calculate dialog width
dependent on lenght of translated strings to display.
* src/mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
to mad.[ch]
* src/option.c: Include files reordered in order to make it compile with
--with-debug
* src/mad.c (mad_init): New function. Initialize debug FILE pointer to
stderr (moved to a function because not on every system stderr is
a constant).
(mad_set_debug): added const qualifier
* src/main.c (main): call mad_init
* po/*.po: s/defination/definition/
* gnome/Makefile.in ($(MAGICDEV_GENERATED)): Make it compile with $buildir
!= $srcdir.
* vfs/ftpfs.c (ftpfs_set_debug), vfs.h: added const qualifier.
* vfs/mcserv.c: removed definition of mad_strconcat which is also
in mad.c.
* main.c: In the GNOME version, we want cd_symlinks to be FALSE.
The VFS should never have to look at this variable, but alas, it
does. BUGFIX: Red Hat Bugzilla #2344.
* setup.c: Disable cd_symlinks in the GNOME version.
* lib/mc.sh: create temporary files in ~/.mc/tmp in order to avoid
symlink attacks (mcfn_install and the man page still needs to be
updated).
* src/main.c (print_mc_usage): Print the bug reporting address.
(main): Put prompt in a new line at termination.
* vfs/shared_ftp_fish.c (get_line): Fixed off by one error ('\0' might
have been written one slot past the supplied character array).
* vfs/ftpfs.c (resolve_symlink_without_ls_options): Don't dump core on
strange symlinks (ls -la doesn't reveal where the symlink points to
and ls -lLa doesn't resolve the symlink either)
Added protection against recursive symbolic links.
* acconfig.h: Add WITH_SMBFS
* macros/gnome-vfs.m4: Support conditional samba support.
1999-06-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gsession.c (create_default_panel): Use directory specified in
command line.
* gcorba.c (corba_create_window): Pass the directory we receive or
cwd if this value is NULL.
* gmain.c (non_corba_create_panels): Use parameter for startup
directory (use the this_dir external directory for this).
(create_panels): Pass this_dsir to non_corba_create_panels and
corba_create_window.
* file.c (move_dir_dir): Give an error when an attempt is made to
move an empty directory into itself.
1999-06-14 Wayne Roberts <wroberts1@cx983858-b.orng1.occa.home.com>
* vfs/smbfs.c: New file. Implements the Samba-based file system.
* vfs/vfs.h: Declare vfs_smbfs_ops, vfs_file_is_smb.
* vfs/vfs.c (vfs_file_is_smb): implemented.
(vfs_init) register smbfs.
* vfs/samba: Incorporate SAMBA source code required for smbfs
1999-05-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
* Make.common.in (confdir): Define confdir as sysconfdir. This
should fix the problem we had with FSSTND distributions.
`--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
* 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().
* main.c (_do_panel_cd): If we are using GNOME, and the panel is a
desktop panel, open up a new panel for the contents.
gnome/
* gdesktop.c (create_panel_from_desktop): Assign selected_index
when we find the last selected icon.
(desktop_icon_info_open): Desktop directory open case moved to
main.c to handle both general and action cd commands.
vfs/
* extfs.c (extfs_unlink):
(extfs_mkdir):
(extfs_rmdir):
(remove_entry): New functions.
(vfs_extfs_ops): Add unlink, mkdir and rmdir functions to table.
Add descriptions for these to the extfs README.
* gmetadata.c (gmeta_del_icon_pos): New function to delete the
icon position metadata from a file.
* gcmd.c: Removed unused function gnome_quit_cmd().
1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
* main.c (main): Call mc_tree_store_save() when the program
terminates.
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'.
Ok, so this time I got the stuff to auto-load desktop startup links.
This means you can ship stuff to pre-configure the desktop of the
users now.
We support program-based setup and url-links.
Details on the lib/README.desktop file
* main.c (main): Put in a warning when run as root.
1999-03-17 Jonathan Blandford <jrb@redhat.com>
* gnome-file-property-dialog.c (generate_icon_sel): I don't know
who broke this, but it was a mess. It now does the right thing,
and works...
* gdialogs.c: Support ui->ctx to be NULL, as file.c will set this
to NULL for background operations.
1999-03-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
* utilunix.c (g_readlink): New function. Wraps all the nonsense
of readlink into a nice routine.
* filegui.c: Support ui->ctx to be NULL, as file.c will set this
to NULL for background operations.
* background.c (do_background): Handle EINTR in dup2.
* main.c (panel_clean_dir): New function: reset all counters of a
WPanel and clean directory list.
* various places: Use panel_clean_dir instead of clean_dir whenever
a WPanel is available. This solves the problem reported by Enrico
Scholz (screen refresh while panel reload with an old/now invalid
panel->count).
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 "/".
2. corba-gmc is now the default "gmc" installed
3. corba-gmc now by default tries to activate a running instance
instead of registering a server.
Miguel.
Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
* Converted memory managment to Glib. Now we use g_new()/g_malloc()/
g_strdup()/g_free() routings. Also, copy_strings() replaced by
g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
g_snprintf().
* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
a missing #undef for tempnam, which caused dead loop. Add several new
functions to emulate GLib memory managment.
*main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
messages to the file.
* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
and strdup() - we have g_ equivalences. Remove get_full_name() - it is
similar to concat_dir_and_file(). Some other tricks with g_* functions.
* global.h: Modified, extended. Now it is main memory mangment include -
i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
"util.h" and "mad.h" done there. This elimanates problem with proper or-
der of #include's.
* All around the source - changed order of #include's, most of them gone
to global.h (see above), minor changes, like "0" -> NULL in string func-
tions.
* gtkedit/edit.c (edit_load_file): Off-by-one error disabled editing.
1999-01-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
* configure.in (REGEX_O): Always include regex.o as the code we
are using in gmc is not using regcomp/regexec, but the internal
Emacs API.
* src/regex.c: Do not compile the POSIX compatibility code, as we
do not use it.
Tue Dec 29 15:49:45 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
* doc/mc.sgml, mc1.in (Color section): minor polishing
(Layout section): documented Highlight...
Make gtkdtree use the treestore cache.
Next step: store the ->scanned attribute of tree_entry (otherwise, no
speedup will be noticed at all). It is a 10 minute hack, but I will go
have dinner now.
Miguel.
* main.c (update_one_panel_widget): GNOME version does the panel
update here (this is an optimization, as we do not want do_refresh
to do anything.
* dialog.c (do_refresh): Remove this optimization as it was
disabling the repainting of the screen contents.
* hotlist.c (done_hotlist): The hotlist might not be loaded
anymore.
1999-01-02 Miguel de Icaza <miguel@nuclecu.unam.mx> 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gtools.c (query_dialog): Simplified.
* screen.c (panel_set_sort_order): New routine to set the sorting
mode.
(panel_re_sort): New routine to force a resort on a panel.
* main.c (sort_cmd): Use the new routines.
1998-12-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
1998-12-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
* gdesktop.c (desktop_icon_delete): New function, used for
dicon_delete.
(load_desktop_icons): Implemented the incremental reloading of
desktop icons. This should make the code much nicer.
(reload_desktop_icons): Call x_flush_events to force a display at
that point.
* gpopup.c (dicon_delete): Implement this operation.
(desktop_icon_execute): Use the existing implementation for
launching desktop icons instead of a new hacked up version
(desktop_icon_actions): Until copy/move is implemented, do not
even list them to the user.
* gdesktop.c (create_desktop_dir): No trashcan setup until it
works.
* gscren.c (panel_widget_motion): Use button 2 for dragging and
asking.
* configure.in: Deleted du checks
* INSTALL: Deleted --with-dusum documentation.
* doc/mc.sgml, mc.1.in: Completed documentation about the Options/
Configuration dialog. Added Advanced chown subsection. Deleted
variables from the Special settings section which are now covered
by the configuration dialog.
* gnome/layout: Adapted for the new option Compute Totals in the
Configuration dialog.
* screen.c (recalculate_panel_summary): new function which recalculates
the summary information for the mini-status.
* screen.c (panel_reload): use recalculate_panel_summary
* screen.c (do_file_mark): Honour that dirsizes computed is now a
per entry flag.
* option.c: Added Compute Totals to the configuration dialog.
* file.c (compute_dir_size): made non static
(panel_operate_flags): Don't compute directory sizes if verbose
operation are off.
* cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
by Miguel, i.e. get rid of du. Now the dirsizes_cmd honours a
selection and computes sizes only for marked directories. Possible
improvement: add a dialog (or C-C?) to abort computation.
* dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
flag a per file flag.
* dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
WPanel structure.
* features.inc: Deleted DUSUM information
* mc.hlp: remade because of changes in doc/mc.1.in
* 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 (panel_reload): Set panel->selected to zero here, this
will at least guarantee that we do not try to fetch anything
outside of bounds.
* main.c: The bar2 is gone as well.
- 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.
* main.c (translate_url_to_new_syntax): Translate ftp:// to an
absolute path instead of a relative path (fix to "hotlist" bug
reported by Andrej). This means we drop the "return to last dir"
feature for ftpfs (when leaving ftpfs with ".." returns to the
directory visited before entering the ftpfs).
* 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
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.
* lib/mc.ini.in: s/reges/regex/
* main.c (process_args): return void, the return value was only
used once but wrong (-h displayed help twice).
(handle_args): -h: don't display help twice
(print_usage): Don't print program name and version, that's
already done by version(0).
* menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
terminals (hotkeys were not displayed at all).
We now just need to get some nice icons.
I am also revamping a little the toolbar, to have a switch to
icon mode and switch to listing mode icons. To make people
happy. More on this tomorrow.
Miguel.
* 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.
panel, the old way of using it was an historic relic.
- This now works properly with the GNOME edition.
- Finished/fixed the implementation of the desktop-remove-icon
functionality.
- Raster's new multi-ok window. For some reason this is not getting
loaded. I am compiling gdb 4.17 now, as it is better for egcs
output.
Miguel.
- Double click should work.
- Dragging to other panels shoudl work
- Scrollbar in the viewer
- Entry widgets get their text selected at startup
- Prompts for command if default action does not exist for a filename
- Updated spanish translation.
Plus some other bugs I fixed.
Miguel
- Nicer dialog destruction (no flicker)
- refresh of panels after a drop.
- Pause after run is gone in the gnome edition.
- Improved layout for options dialog box.
- Checkbox widgets are implemented, they now work.
Miguel.
* configure.in: ALL_LINGUAS test added, to allow specify list
of languages to be installed by setting env variable before
configure. If it is empty, it defaults to full list.
* src/menu.h menu_entry.{hot_pos, is_dupped} dropped
* src/menu.c: consistency fixes: pull-down menu items are now
accessible either with arrow keys or with hotkeys, denoted with &
(and highlighted). (key combinations, placed to the right of items
intended to be used from outside the menus). Freeing menu entries
removed as it no longer needed
* src/main.c, edit/editmenu.c: menubar init code is changed to conform
above fixes.
* edit/edit.h: use of "Cancel" in error_dialogs replaced with
"Dismiss", to avoid collisions in translation of "Cancel" in other
places with this case.
* src/boxes.c: select_format() and it's support removed, as it is
obsoleted by input line history feature. display_init()/display_callback
fixed to suite i18n changes. sort_box() - alike.
* src/option.c: pause_options added &'s and gettext calls to expand
statically assigned values.
* src/widget.c: (radio_callback) hotkey recognition is changed to
&-notation, rather than simple uppercase.
* src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
call to isalpha(), this fixes errorneous exit from input line, when
button hotkey is 8-bit NLS char.
* key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
functions which encapsulate two hardcoded escape sequences from main.c.
* main.c (main): Use the two new functions from key.c
* main.c, screen.c: Moved all file selection keys from the default
keymap to the keymap for panels in listing mode.
Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
(functions in panel_keymap get a WPanel * as first parameter,
i.e. the indirection with cpanel isn't necessary).
* main.c (midnight_callback): Keys '*' and '-' were not treated
when only_leading_plus_minus==0;
Optimized the if-clauses a little bit (i.e. removed duplicate
checks). More optimation is possible but it would make the whole
stuff completly unreadable.
* key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
will be translated to +, - and * only if the option
alternate_plus_minus is turned off.
* learn.c (learn_keys): Turn alternate_plus_minus temporarily on
to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
correct_key_code/make sure keypad is in application mode (makes it
possible to learn this keys).
* cmd.c (reverse_selection_cmd_panel): New function (renamed from
reverse_selection_cmd, takes a WPanel * as parameter, references to
cpanel changed to panel/the passed parameter).
reverse_selection_cmd now simply calls this function with cpanel.
This pair was missing among the *_selection_cmd* functions.
* cmd.h: Added function prototypes.
* main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
main.h and others?: Directory history added. The previous
directory history code was removed. The directory history now
loads and saves using the same routines as the input widget. The
keys meta-y, and meta-u are used to go backward and forward
through the history. The buttons to the right and left of the
current directory display on the panel can be used as well. The
v button brings up a history, but no key is assigned to this.
Discussion as to correct color and shape of these buttons is
open. show_hist() in widget.c is made generic to be called for
any widget. Help pages still needed to be added for the
directory history.
* menu.c (destroy_menu): Implement destroy_menu for all of the
ports as a routine that frees the menu entries if
internationalization has been enabled.
* wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
Sun Mar 29 23:02:09 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
internationalized version of menu use externally defined hotkeys
(denoted with preceding &). create_menu() fixed to load intl text of
the entries. Some fixes around menu.c to enable usage of reloaded
hotkeys.
* main.c, editmenu.c: menu initialization code fixed to conform new
menu structure. editmenu init code includes N_(..) now.
* menu.c, layout.c, editwidget.c: bar menu items displacement is made
dynamically upon initialization and window size changes. Mouse event
processing is fixed accordingly.
Sat Mar 28 13:18:36 1998 Alex Tkachenko <alex@bcs.zp.ua>
* src/screen.c: (repaint_file) last patches to format_file() in the
same file broke appearance of panels in brief mode -- fixed.
* 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.
Warning in gnome/gmain.c suppressed
"VERSION." is included instead of "VERSION" for Borland C++, otherwise it assumes VERSION.h
Mouse is not enabled for Windows NT edition
Warning about missing hotlist was shown incorrectly on NT and Linux console
* cmd.c: Internal edit is used by default. vi may be
confusing for some users.
* tree.c: tree_rmdir_cmd() should not return any value,
because it is not analyzed for errors.
* main.c: NT code: use O_BINARY instead of _O_BINARY
* util.c: DO not test for arguments that do not make sense under
Windows NT.
* file.c: utime.h always included for Windows NT port.
* view.c: Events are flushed only if the ports supports it.
Lots of Windows/NT changes, but I will let Pavlov write the ChangeLog
entries.
Mon Mar 16 13:05:47 1998 Pavel Roskin <pavel@absolute.spb.su>
* tkview.c: Include stdio.h; Minor spelling corrections added.
Today:
- New Menu layout! Weeee!.
- More mc commands exposed to the GNOME edition.
- Use gnome stock pixmap buttons.
- Use gnome stock for the menus.
- Now it is possible to quit the program :-)
- Various other bits.
If you can test it, I would appreciate it.
-Miguel.
* screen.c (chdir_other_panel, chdir_to_readlink): Use passed
panel instead of cpanel (removed mixed use of panel and cpanel).
* main.c, screen.c: Deleted F13 from the default keymap, added F13
and F14 to the panel's keymap (the keymap for panels in listing
mode). These two keys are only useful for panels in listing mode.
It seems there are even more candidates for such a move. Especially
select_cmd and unselect_cmd which appeared recently for the GNOME
edition in screen.c act unexpected for panels in tree-mode.
* cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
(edit_cmd_new): No need to get a panel because it is not used.
* panelize.c: Changed hotkey of the Panelize button (Alt-p is
already used by the input line history). I wonder if I should
change it in the find dialog, too (just to have a unique hotkey
for the panelize button).
is enabled; virtual fs setup dialog box is up; save setup; mkdir
link command is hossed. It is more than hossed for some stoopid
reason, the thing is selecting the first file in the panel
just after I talked to it. No matter how argumentative I get
with the code. Have to fix next.
Commit the bits I forgot to commit yesterday.
-miguel.
* 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