
2009-01-09 Enrico Weigelt, metux ITS <weigelt@metux.de>

	* main.c, main.h, main-widgets.h, filegui.c, layout.c, screen.c:
          moved main widget declarations into main-widgets.h and
	  removed the WANT_WIDGETS symbol

2009-01-05  Slava Zanko   
	* main.c (main): remove compatibility_move_mc_files stuff.

2008-12-19  Roland Illig  <roland.illig@gmx.de>

	* x11conn.c (x11_available): If the X11 shared library cannot be
	found (maybe because there is neither an .la file nor a .so
	symlink), try libX11.so.6 explicitly. Fixes Bug #24505.

2008-12-18  Roland Illig  <roland.illig@gmx.de>

	* main.c (main): It is now possible to invoke mcedit with
	filename:lineno[:], so that copy and paste of file locations
	can be done quickly.

2008-12-02  Roland Illig  <roland.illig@gmx.de>

	* tty.c (tty_tgetstr): Fixed a crash because of an uninitialized
	variable.

2007-11-02  Pavel Tsekov  <ptsekov@gmx.net>

	* cmd.c (save_setup_cmd): Remove redundant g_strconcat() call.
	* hotlist.c (load_hotlist): Likewise.

2007-10-15  Pavel Tsekov  <ptsekov@gmx.net>

	* myslang.h [HAS_ACS_AS_PCCHARS]: Remove all code ifdef-ed
	HAS_ACS_AS_PCCHARS - it's unused.
	* help.c [HAS_ACS_AS_PCCHARS]: Likewise.
	* layout.c (init_curses) [HAS_ACS_AS_PCCHARS]: Remove redundant code.

2007-09-24  David Sterba  <dave@jikos.cz>

	* widget.h: Define new mode for listbox insertion.
	* widget.c (listbox_append_item): Implement LISTBOX_APPEND_SORTED
	by insertsort.
	* chown.c (init_chown): Use LISTBOX_APPEND_SORTED for user and
	group list.
	* achown.c (do_enter_key): Likewise.

2007-09-19  Pavel Tsekov  <ptsekov@gmx.net>

	* cmd.c (menu_edit_cmd): Rename a button label from "Home"
	to "User".

2007-09-19  Pavel Tsekov  <ptsekov@gmx.net>

	* widget.c (listbox_new): Remove redundant initialization of
	WListbox fields.

2007-09-17  Maxim Britov  <maxim@office.modum.by>

	* util.c (file_date): Do not ignore the return value 
	of localtime (). Gentoo bug #184296.

2007-09-14  Pavel Tsekov  <ptsekov@gmx.net>

	* find.c (find_parameters): Fix hotkey duplication.

2007-09-11  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (write_all): Do not use void pointer arithmetic.

2007-09-11  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c: Fix a warning issued by gcc.

2007-08-27  Oswald Buddenhagen  <ossi@kde.org>

	* color.h: Add a new color pair.
	* color.c: Likewise.

2007-08-24  Pavel Tsekov  <ptsekov@gmx.net>

	* screen.c (show_dir): Surrond the current directory with spaces.

2007-08-24  Pavel Tsekov  <ptsekov@gmx.net>

	* screen.c (show_dir): Remove unneeded code.

2007-08-23  Pavel Tsekov  <ptsekov@gmx.net>

	* filegui.c (rd_widgets) [_LARGE_FILES]: Use format string
	capable of supporting 64 bit file sizes.

2007-08-23  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c (fstype_to_string): Define only when
	`MOUNTED_GETMNTINFO' or `MOUNTED_VMOUNT' is defined.

2007-05-02  Pavel Tsekov  <ptsekov@gmx.net>

	* cmd.c (dirsizes_cmd): Re-sort the panel when done.

2007-03-23  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (subshell_name_quote): Use the `printf' utility
	instead of `echo' to quote the directory name.

2007-03-08  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (sigchld_handler) [__EMX__]: Remove unneeded code.

2007-03-01  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (subshell_pty_slave): New global variable.
	(init_subshell): Do not close the pseudo-terminal slave - 
	store it in `subshell_pty_slave' for later use.
	(init_subshell_child): Do not open the pseudo-terminal slave
	in the child. It is inherited from the parent now.
	Use `subshell_pty_slave' as the file descriptor of the
	opened pseudo-terminal slave.
	Rearrange the code a bit.
	(synchronize): Discard all data from the pseudo-terminal
	slave input queue.

2007-02-22  Pavel Tsekov  <ptsekov@gmx.net>

	* file.c (copy_file_file): chmod() the target file no matter whether
	"preserve attributes" is checked or not, since the destination is
	initially created with mode 0600.

2007-02-22  Pavel Tsekov  <ptsekov@gmx.net>

	* utilunix.c (mc_tmpdir): Do not accept relative path in TMPDIR. Use
	a hardcoded value instead.

2007-02-02  Pavel Roskin  <proski@gnu.org>

	* mountlist.c: Fix misuse of HAVE_STRUCT_STATFS_F_FSTYPENAME.

2007-01-20  Pavel Tsekov  <ptsekov@gmx.net>

	* help.c: Document the newline following the node header.
	Teach all code dealing with nodes that the actual node data
	starts right after the first newline following the node
	header. Thanks to Grigory Trenin <gtrenin@gmail.com> .

2007-01-14  Pavel Tsekov  <ptsekov@gmx.net>

	* dir.c (sort_time): Default to sort_name() if the
	arguments are equal.
	(sort_ctime): Likewise.
	(sort_atime): Likewise.
	(sort_size): Likewise.

2007-01-14  Pavel Tsekov  <ptsekov@gmx.net>

	* dir.h (sort_type): Remove function declaration.
	(sort_links): Likewise.
	(sort_nuid): Likewise.
	(sort_ngid): Likewise.
	(sort_owner): Likewise.
	(sort_group): Likewise.
	* dir.c (sort_type): Remove function definition.
	(sort_links): Likewise.
	(sort_nuid): Likewise.
	(sort_ngid): Likewise.
	(sort_owner): Likewise.
	(sort_group): Likewise.
	(sort_orders): Reflect the changes above.
	* screen.c (formats): Remove references to sort_type(), sort_links(),
	sort_nuid(), sort_ngid(), sort_owner() and sort_group().

2007-01-02  Pavel Tsekov  <ptsekov@gmx.net>

	* utilunix.c (mc_tmpdir): Call mc_mkstemps() with an absolute
	path to prevent stack overflows due to circular dependecy.

2006-12-30  Grigory Trenin  <gtrenin@gmail.com>

	* help.c (startpoint): Remove global variable and all references
	to it.
	(select_prev_link): Remove the first argument.
	Keep searching until a link is found or end of node delimiter is
	reached.
	(help_handle_key): Reflect the changes above.
	Remove an unneeded check.

2006-12-30  Pavel Tsekov  <ptsekov@gmx.net>

	* view.c (view_file_load_data): Do not to attempt to  seek
	beyond the end of file. Patch by Andrzej Zaborowski.
	(view_moveto_addr_cmd): Display a warning message if the
	user specified an invalid offset.

2006-12-21  Pavel Tsekov  <ptsekov@gmx.net>

	* fsusage.c: Remove references to HAVE_INFOMOUNT.

2006-12-21  Pavel Tsekov  <ptsekov@gmx.net>

	* fsusage.h: Update from gnulib.
	* fsusage.c: Likewise.

2006-12-21  Pavel Tsekov  <ptsekov@gmx.net>

	* fsusage.h: Resurrect.
	* fsusage.c: Likewise.

2006-12-10  Pavel Tsekov  <ptsekov@gmx.net>

	* view.c (regexp_search): Keep the search string in a global
	variable so that it can be reused when viewing another file.
	Do not use the same variable to hold the search string for
	both the "Search" and "Regexp Search" functions.
	(view_normal_search_cmd): Likewise.

2006-11-27  Leonard den Ottolander  <leonard den ottolander nl>

	* subshell.c (subshell_name_quote): Bash < 2.05b (3-digit octals in
	echo_e_cmd) no longer supported.

2006-11-08  Egmont Koblinger  <egmont@uhulinux.hu>

	* key.c (get_event): Eliminate timeouts on window resize event.
	* layout.c (change_screen_size): Set winch_flag to 0 on entrance not
	exit of function.

2006-09-25  Pavel Tsekov  <ptsekov@gmx.net>

	* layout.c (layout_do_change): Remove global variable.
	(layout_cmd): Reflect the changes above.
	(layout_change): Ditto.

2006-09-18  Pavel Tsekov  <ptsekov@gmx.net>

	* main.c (xtoolkit_panel_setup): Remove - it is a noop.
	(setup_panels_and_run_mc): Eliminate references to
	`xtoolkit_panel_setup'.

2006-09-18  Pavel Tsekov  <ptsekov@gmx.net>

	* key.c (get_key_code): Do not blindly strip the eight bit of the
	key code when the 'use_8th_bit_as_meta' flag is set. Only key codes
	in the range 128 - 255 should be stripped, the rest must be left
	intact.

2006-09-14  Pavel Tsekov  <ptsekov@gmx.net>

	* wtools.c (fg_input_dialog_help) [ENABLE_NLS]: Translate the
	"Ok" and "Cancel" buttons here.
	Mark the QuickDialog as translated so that quick_dialog() won't
	try translate it again.

2006-09-07  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c: Sync with gnulib.
	All uses of HAVE_F_FSTYPENAME replaced by
	HAVE_STRUCT_STATFS_F_FSTYPENAME.
	[MOUNTED_GETMNTINFO2] Include sys/statvfs.h.
	(read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.

2006-09-07  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c: Revert a failed attempt to properly detect and use
	getmntinfo() returning its result in struct statvfs.

2006-08-12  Leonard den Ottolander  <leonard den ottolander nl>

	* key.c (check_selects): Get rid of the now redundant else.

2006-08-12  Leonard den Ottolander  <leonard den ottolander nl>

	* key.c (check_selects): Initialize retry to FALSE every time we enter
	the do/while loop (bug introduced when incorrectly rewriting the
	backward goto used by the original submitter).

2006-08-11  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>

	* key.c (check_selects): Fix possible crash on reference to select list
	element removed in callback.

2006-08-09  Denis Vlasenko  <vda.linux@googlemail.com>

	* key.c: Make escape key timeout user configurable via the
	environment variable KEYBOARD_KEY_TIMEOUT_US (in microseconds).

2006-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* hotlist.c (update_path_name): Fix gcc4 warning.

2006-06-26  Oswald Buddenhagen  <ossi@kde.org>

	* hotlist.c (remove_from_hotlist): Fix erronous check of the return
	value of query_dialog().

2006-08-03  Roland Illig  <roland.illig@gmx.de>

	* view.c: Added correct handling of Mac line endings.

2006-06-26  Pavel Tsekov  <ptsekov@gmx.net>

	* vfsdummy.h [!USE_VFS] (mc_getlocalcopy): Implement.

2006-06-17  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c (fstype_to_string): Update the code to match its
	coreutils counterpart.
	Guard the use of MOUNT_UFS and MOUNT_NFS with appropriate
	ifdefs as the rest of the code does.

2006-06-17  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c (HAVE_F_FSTYPENAME): Define when getmntinfo() is
	used and the struct which it fills has a field named f_fstypename.
	(read_filesystem_list) [MOUNTED_GETMNTINFO]: Use
	MOUNTED_GETMNTINFO_STATVFS to determine the type of the first
	argument to getmntinfo().

2006-06-11  Leonard den Ottolander  <leonard den ottolander nl>

	* dir.c (sort_orders): Substitute duplicate hotkey 'C' in sort order
	dialog.

2006-06-07  Pavel Tsekov  <ptsekov@gmx.net>

	* mountlist.c: Revert last commit.

2006-05-29  Pavel Tsekov  <ptsekov@gmx.net>

	* widget.c (disable_update): Remove redundant static variable.
	(handle_char): Reflect the changes above.

2006-05-23  Hampa Hug  <hampa@hampa.ch>

	* file.c (move_file_file): Do not collect progress information
	when moving via copy/erase - copy_file_file() does that.
	Collect progress information when moving via rename ().

2006-05-23  Pavel Tsekov  <ptsekov@gmx.net>

	* tty.c (tty_tgetstr) [HAVE_SLANG]: str_unconst() the argument
	passed to SLtt_tgetstr().

2006-05-23  Pavel Tsekov  <ptsekov@gmx.net>

	* file.c (move_dir_dir): Remove Win32 specific code.

2006-05-21  Roland Illig  <roland.illig@gmx.de>

	* mountlist.c: Fixed so that it builds on NetBSD 3.0.

2006-05-15  Pavel Tsekov  <ptsekov@gmx.net>

	* tty.h [USE_NCURSES]: Pull in term.h if WANT_TERM_H is defined.
	(tty_tgetstr): Declare new function.
	* tty.c [USE_NCURSES]: Request the inclusion of term.h.
	(tty_tgetstr): Define new function
	* main.c (init_xterm_support): Use tty_tgetstr().

2006-05-10  Pavel Tsekov  <ptsekov@gmx.net>

	* user.c: Do not include subshell.h .

2006-05-08  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (resize_subshell): Do not try to resize the subshell tty
	if the subshell is not running.

2006-04-13  Leonard den Ottolander  <leonard den ottolander nl>

	* cons.handler.c (handle_console_linux): Remove redundant close() calls
	before _exit().

2006-03-29  Pavel Tsekov  <ptsekov@gmx.net>

	* file.c (copy_file_file): When a hardlink is created successfully
	report success (FILE_CONT) to the caller. Fixes debian bug #301537.

2006-03-06  Pavel Tsekov  <ptsekov@gmx.net>

	* mouse.h (Mouse_Type): Add new enumerated values to describe
	the xterm mouse reporting modes offered by various xterm-like
	terminals.
	* mouse.c: Adjust the code to reflect the changes above.
	Send the proper terminal control codes when xterm normal mouse
	tracking is requested.
	* main.c (init_xterm_support): Try to fine-tune the mouse tracking
	mode based on the terminal type.

2006-02-28  Pavel Tsekov  <ptsekov@gmx.net>

	* widget.h (struct WRadio): Remove unused field
	`upper_letter_is_hotkey'.
	(radio_new): Remove the last argument from the function
	declaration - it is unused.
	* widget.c (radio_new): Remove the last argument from the
	function declaration - it is unused.
	* boxes.c: Adjust all callers to reflect the changes above.
	* layout.c: Likewise.
	* listmode.c: Likewise.
	* option.c: Likewise.
	* wtools.c: Likewise.

2006-02-28  Pavel Tsekov  <ptsekov@gmx.net>

	* boxes.c (configure_vfs) [!USE_NETCODE]: Fix off-by-one error.

2006-02-24  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (synchronize): Do not discard user input if the panels
	are off.

2006-02-23  Pavel Tsekov  <ptsekov@gmx.net>

	* setup.c [USE_NETCODE]: Include fish.h .
	(int_options) [USE_NETCODE]: Add support for user configurable
	expiration timeout of FISH directory cache entries.

2006-02-21  Pavel Tsekov  <ptsekov@gmx.net>

	*  cons.saver.c [HAVE_CONFIG_H]: Include config.h .

2006-02-14  David Martin  <dmartina@excite.com>

	* hotlist.c (remove_from_hotlist): Fix l18n macro N_() to _().

2006-02-09  Pavel Tsekov  <ptsekov@gmx.net>

	* wtools.c (quick_dialog_skip): Do not set `lines' and `cols'
	members of the newly created dialog explicitly - create_dlg()
	does this.

2006-02-08  Pavel Tsekov  <ptsekov@gmx.net>

	* screen.c (panel_callback): Reset the `dirty' flag after the
	panel has been repainted on focus.

2006-02-06  Pavel Tsekov  <ptsekov@gmx.net>

	* widget.c (buttonbar_set_label): Fix `comparison of distinct
	pointer types lacks a cast' gcc warning.

2006-02-05  Pavel Tsekov  <ptsekov@gmx.net>

	* hotlist.c (hotlist_has_dot_dot): Define new global
	variable.
	(add_dotdot_to_list): Define new function.
	(HotListType): Add HL_TYPE_DOTDOT.
	(update_path_name): Handle HL_TYPE_DOTDOT entries the same way as
	HL_TYPE_ENTRY entries.
	(fill_listbox): Likewise.
	(hotlist_button_callback): Go up one level when enter is pressed on
	an entry of type HL_TYPE_DOTDOT.
	(add2hotlist): Always attach a HL_TYPE_DOTDOT to each new
	HL_TYPE_GROUP entry.
	Make sure that the HL_TYPE_DOTDOT entry is the first one in the
	list.
	(remove_from_hotlist): Do not remove HL_TYPE_DOTDOT entries.
	(hot_save_group): Do nothing for HL_TYPE_DOTDOT entries.

2006-02-05  Arpad Gereoffy (A'rpi)  <arpi@mplayerhq.hu>

	* key.c (xterm_key_defines): Add sequences for iTerm.

2006-02-04  Roland Illig  <roland.illig@gmx.de>

	* find.c: Added make_fullname() to avoid code duplication.
	* cmd.c (mkdir_cmd): Fixed a memory leak. Instead of the
	absolute path of the created directory, the input is passed to
	update_panels().
	* Makefile.am: ecs-test needs $(INTLLIBS).
	* main.c (init_xterm_support): Eterm can handle mouse events, too.
	* user.c: Adjusted the use of EDIT_DIR, since it has no leading
	PATH_SEP_STR anymore.

2006-02-03  Roland Illig  <roland.illig@gmx.de>

	* widget.c: Added assertions to prevent bugs like the one from
	view.c(view_labels) from hiding that long.
	* view.c: s/attrset/tty_setcolor/g
	* wtools.h: Replaced the printf-like attribute with __printf__,
	since GNU gettext defines a macro printf on some systems.
	* find.c: After the "panelize" command, always select the first
	file from the panel, not.
	* util.h (str_unconst): This function is never needed to be
	inlined.
	* find.c (find_do_view_edit): Only strip the leading "./" from a
	directory name if the rest is not empty.

2006-02-03  Pavel Tsekov  <ptsekov@gmx.net>

	* view.c (view_labels): Use `buttonbar_clear_label' to make a
	buttonbar button inactive.

2006-02-03  Roland Illig  <roland.illig@gmx.de>

	* tty.h (tty_setcolor): Added.
	* tty.c (tty_setcolor): Likewise.

2006-02-03  Pavel Tsekov  <ptsekov@gmx.net>

	* dir.c (do_sort): Remove unused variable.

2006-01-31  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_display_hex): Prevented any screen overflow in
	hex display mode. The number of bytes per line in hex mode is
	always a multiple of four -- this makes the computation easier.

2006-01-30  Pavel Roskin  <proski@gnu.org>

	* Makefile.am: Rename LIBDIR to SAVERDIR to avoid confusion.
	Change its value to match the installation path of cons.saver.
	* cons.handler.c: Adjust for the above.

2006-01-30  Pavel Tsekov  <ptsekov@gmx.net>

	* boxes.c: Do not set the field `histname' of `QuickWidget'
	unless the widget is of type `quick_input'.
	* filegui.c: Likewise.
	* hotlist.c: Likewise.

2006-01-30  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_display_hex): Bug fix: The list iterator from the
	bytes that have been changed in the hex editor must be advanced
	even if the cursor is currently on a changed byte.

2006-01-29  Pavel Tsekov  <ptsekov@gmx.net>

	* file.h (safe_delete): Move declaration of `safe_delete'
	* main.h: ... here.
	(confirm_directory_hotlist_delete): Declare new global variable.
	* file.c (safe_delete): Move definition of `safe_delete'
	* main.c: ... here.
	(confirm_directory_hotlist_delete): Define new global variable.
	* hotlist.c (remove_from_hotlist): Based on a user configurable
	setting, request confirmation when removing directory hotlist
	entries. The confirmation dialog honours the `Safe delete'
	setting.
	Reorder the buttons in the hotlist group removal confirmation
	dialog so that it becomes consistent with other confirmation
	boxes.
	* setup.c (int_options): Add support for user configurable
	confirmation of directory hotlist entries removal.
	* boxes.c (conf_widgets): Likewise.
	(confirm_box): Likewise.
	(my_directory_hotlist_delete): New module variable.

2006-01-29  Pavel Tsekov  <ptsekov@gmx.net>

	* dir.c (do_sort): Do not try to reorder the entries so
	that ".." becomes the first entry.
	(do_load_dir): When filling the list of directory entries
	make sure that ".." occupies the first element.
	(do_reload_dir): Likewise.

2006-01-29  Julian Mehnle  <julian@mehnle.net>

	* cmd.c: When invoking external viewer, probe VIEWER environment
	variable first, then PAGER, then fall back to "view".

2006-01-28  Roland Illig  <roland.illig@gmx.de>

	* cmd.c (toggle_listing_cmd): Included the brief listing mode in
	the list of listing modes that can be switched through using
	Alt-t. Patch provided in #10557. Fixes #10557.

2006-01-27  Roland Illig  <roland.illig@gmx.de>

	* Makefile.am: cons.saver is installed in $(pkglibexecdir), not
	in $(pkglibdir), to conform to the usual directory hierarchy
	standards. Fixes #2796.

	* Makefile.am, logging.h, logging.c: Added a new logging module
	to allow easy tracing of function calls and other events. It is
	only intended for debugging.

2006-01-24  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>

	* file.c (copy_file_file): In 'Reget' mode take into account
	the partially retrieved data when drawing the progress bar.

2006-01-23  Egmont Koblinger  <egmont@uhulinux.hu>

	* subshell.c: restart write() calls interrupted by sigchld which lead
	to some bytes being swallowed from the subshell's output.

2006-01-07  Roland Illig  <roland.illig@gmx.de>

	* view.c: Replaced calls to printw() with tty_printf() to get
	rid of the str_unconst() function.

2005-11-10  Pavel Roskin  <proski@gnu.org>

	* global.h [!ENABLE_NLS]: Provide replacement for ngettext.
	* screen.c (display_mini_info): Cast panel->total to unsigned
	long before passing it to ngettext() to avoid warnings.

2005-11-02  Pavel Roskin  <proski@gnu.org>

	* glibcompat.c: Move Q_ back ...
	* util.c: ... here.  Q_ is not defined by just including glib.h.
	The glib implementation doesn't strip prefix from translations,
	so it's not suitable for us.  Finally, it makes man2hlp depend
	on libintl.
	Reported by Leonard den Ottolander <leonard den ottolander nl>

2005-11-02  Egmont Koblinger  <egmont@uhulinux.hu>

	* main.c (directory_history_add): Fix invalid directory preselection on
	cd.

2005-10-08  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c (main): Fix using 0 instead of NULL.

	* widget.c (listbox_fwd): Eliminate forward inline declaration.

2005-10-04  Jindrich Novy  <jnovy@redhat.com>

	* view.c (search): Fix backward regex search off by one.

2005-10-04  Pavel Roskin  <proski@gnu.org>

	* util.c (gettext_ui): Rename to Q_() for glib compatibility,
	move ...
	* glibcompat.c: ... here.  Adjust all callers.

2005-10-03  Pavel Roskin  <proski@gnu.org>

	* screen.c (display_mini_info): Use ngettext().

2005-09-28  Pavel Tsekov  <ptsekov@gmx.net>

	* key.c (xmouse_get_event): Catch GPM_DRAG event.
	* mouse.c (enable_mouse, disable_mouse): Update printed escape
	sequence.

2005-09-17  Pavel Tsekov  <ptsekov@gmx.net>

	* execute.c (do_execute): Flush stdout after printing the
	command to be executed.

2005-09-17  Leonard den Ottolander  <leonard den ottolander nl>

	* util.c: Indentation cleanup (function result types on
	different lines then function names).

2005-09-17  Jindrich Novy  <jnovy@redhat.com>

	* file.c (make_symlink): Fix off by one in symlink creation.

2005-09-17  Jindrich Novy  <jnovy@redhat.com>

	* util.c (diff_two_paths): Abort when second symlink can't be
	resolved (fixes segfault).

2005-09-07  Roland Illig  <roland.illig@gmx.de>

	* setup.c: Renamed options[] to int_options[].
	* util.h: Added get_config_string() and set_config_string(),
	which are analogous to get_int() and set_int().
	* util.c: Likewise.
	* setup.c: Replaced the editor_option_backup_ext_int hack with a
	string configuration variable, which allows the backup extension
	to have more than just four characters. Added generic support
	for string options.

2005-09-06  Roland Illig  <roland.illig@gmx.de>

	* cmd.c: Added single_dirsize_cmd(), which computes the size of
	the currently selected panel entry and moves down. Suggested by
	ForestCreature on mc-devel.
	* cmd.h: Likewise.
	* main.c (midnight_callback): Ctrl-space calculates the size of
	the currently selected directory entry. This is mostly useful for
	directories.

2005-09-05  Roland Illig  <roland.illig@gmx.de>

	* info.c: Switched from printw() to tty_printf() to avoid gcc
	warnings. st_ctime is not the creation time, but the status
	change time.
	* achown.c: Likewise.
	* layout.c: Likewise.
	* menu.c: Likewise.
	* screen.c: Likewise.
	* main.h: Added const qualifier to the global prompt variable.
	* main.c: Likewise.
	* slint.c: Moved printwstr() to ../edit/editdraw.c.
	* tty.h: Likewise.
	* tty.c: Don't use SLsmg_write_char, because Redhat provides a
	different API to that function when the preprocessor symbol UTF8
	is defined.

2005-09-04  Roland Illig  <roland.illig@gmx.de>

	* main.h: Removed unused variables acs_hline and acs_vline.
	* tty.h: Added tty_printf().
	* tty.c: Likewise.
	* widget.c: Reduced the number of gcc warnings by using
	tty_printf() instead of printw().

2005-09-01  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_fix_cursor_position): Renamed to
	view_scroll_to_cursor.
	* treestore.c (str_common): Don't require the arguments to be
	different.

2005-08-29  Roland Illig  <roland.illig@gmx.de>

	* slint.c: The handling of user interrupts has been moved to ...
	* tty.c: ... this newly created file, which contains a simple,
	not yet complete interface to the terminal library. It should be
	used instead of depending directly on ncurses or SLang features.
	* tty.h: Added the new function prototypes from tty.c and some
	legacy definitions.
	* view.c: Converted to use the new tty functions.
	* myslang.h: Partly switched to the new tty functions.

2005-08-28  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_hexedit_save_changes): Added an assertion that
	view->filename be not NULL.
	* view.c (view_toggle_magic_mode): Check if filename != NULL
	before dereferencing the pointer.
	* view.c (view_change_nroff_mode_cmd): Renamed to
	view_toggle_nroff_mode_cmd.
	* view.c (view_new): Separated the mode toggling functions from
	updating the display. The non-updating functions are called on
	initialization.

2005-08-27  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>

	* view.c (view_normal_search_cmd): Initialize exp to avoid
	freeing of uninitialized pointer on cancel.

2005-08-25  Pavel Tsekov  <ptsekov@gmx.net>

	* key.c (xmouse_get_event): Disable double-click tracking for
	mouse wheel events.

2005-08-22  Roland Illig  <roland.illig@gmx.de>

	* view.c (struct WView): Renamed dpy_topleft to dpy_start, as it
	does not always represent the top-left corner of the screen.
	Replaced dpy_complete with dpy_end, the offset of the first byte
	after the displayed region.
	* view.c (view_display_status): In normal display mode (that is:
	not search progress), calculate the percentage based on dpy_end
	instead of dpy_start. This avoids a sudden break to 100 % when
	approaching the end of file.
	* view.c (view_moveto_top): Simplified the code.

2005-08-21  Roland Illig  <roland.illig@gmx.de>

	* view.h: Rewrote it. All functions are preceded by a describing
	comment and the "extern" keyword.
	* fileloc.h: Newly added this file, which provides a place where
	all names of user specific configuration files are listed.
	* view.c (view_done): Reordered the statements in the
	destructor and added paragraph comments.
	* view.c (free_change_list): Renamed to
	view_hexedit_free_change_list.
	* view.c: The search string is managed by the WView, not as
	static variable in some functions.

2005-08-19  Roland Illig  <roland.illig@gmx.de>

	* view.c: Added section headers. The functions are still
	somewhat unordered. Renamed some functions to fit into the
	view_*_cmd naming convention.

2005-08-18  Andrzej Zaborowski  <balrogg@gmail.com>

	* screen.c (string_file_name): Increased the buffer size to
	MC_MAXPATHLEN + 1 bytes to avoid filename truncation.

2005-08-18  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_move_up): Don't scroll up if it is not necessary.
	This fixes an inconsistency noted by Andrej Zebrowski on
	mc-devel.
	* view.c (view_move_down): Do nothing if we're already at the
	end of the file. This makes the cursor movement more consistent
	with the behavior of the <End> key.
	* view.c (regexp_search_cmd): Moved the code to save the changes
	of the hex editor out of this function, as it has nothing to do
	with regexp searching.
	* view.c (view_display_hex): Completely rewritten. Now the code
	distinguishes several phases (state selection, color selection,
	printing) and does not mix them wildly, as the previous code
	did.
	* view.c (view_display_text): Removed the (almost) unused
	variable boldflag.
	* view.c (struct WView): Renamed found_len to search_length.

2005-08-16  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_percent): Fixed coordinate computation.
	* view.c (view_place_cursor): Made the call to widget_move()
	look like the other calls.
	* view.c (view_init_growbuf): Mark the first page full instead
	of empty. This saves one condition in view_growbuf_read_until().

2005-08-15  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_growbuf_read_until): When using mc_read, recover
	from interrupted system calls.
	* view.c (toggle_hex_mode): Now the hex cursor is always visible
	after switching to hex mode.
	* view.c (view_ccache_lookup): Rewrote the calculation of the
	cache entry. Also don't put entries in the cache when the
	current byte is '\r'.
	* view.c (view_ccache_dump): Extended the output by the offset
	of the next line.
	* dialog.h (struct Dlg_head): Changed the bit fields of length one
	from signed int to unsigned int.
	* wtools.h: Replaced 0 with LISTBOX_APPEND_AT_END.
	* achown.c: Likewise.
	* view.c (view_toggle_ruler): Don't mix enums with ints.
	* complete.c (fetch_hosts): Removed unused variable.
	* complete.c: Don't mix enums with ints.
	* tree.c: Likewise.
	* screen.c (use_display_format): Removed unused variable.
	* widget.c: Don't mix enums with ints.

2005-08-15  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>

	* view.c: Made the search function interruptible.

2005-08-06  Roland Illig  <roland.illig@gmx.de>

	* textconf.c: Include ecs_char in the list of type
	characteristics that are printed.
	* view.c (view_growbuf_read_until): On short reads, try to read
	one more byte to check whether we're already at the end of file.
	This makes the ">=" disappear earlier.

2005-08-05  Pavel Tsekov  <ptsekov@gmx.net>

	* menu.c (menubar_draw): Use hline() instead of addch() to clear
	the menubar widget area.

2005-07-31  Roland Illig  <roland.illig@gmx.de>

	* view.c: Removed global variable have_fast_cpu. It is not used
	anymore.
	* view.h: Renamed view to mc_internal_viewer. This avoids
	hundreds of shadowed names in view.c.

2005-07-31  Roland Illig  <roland.illig@gmx.de>

	* user.c (execute_menu_command): Allow execution on no-exec
	filesystems. This fixes Savannah Bug #13832.

2005-07-31  Roland Illig  <roland.illig@gmx.de>

	* Makefile.am: Added support for extended character sets.
	* ecs.h: Support for extended character sets.
	* ecs.c: Likewise.
	* ecs-test.c: Testsuite for ecs.c.

2005-07-27  Adam Byrtek  <alpha@debian.org>

	* utilunix.c (mc_tmpdir): Check that tmpdir is correctly initialized.

2005-07-24  Leonard den Ottolander  <leonard den ottolander nl>

	* wtools.h: #include "widget.h" and remove redundant declarations
	of Dlg_head and WListbox;

2005-07-23  Roland Illig  <roland.illig@gmx.de>

	* util.c (save_file_position): Only save the position if not
	at the beginning of the file (1;0).
	* view.c: When saving and loading the file position, use the
	full pathname instead of the one passed as argument.

2005-07-22  Roland Illig  <roland.illig@gmx.de>

	* charsets.c: Fixed wrong comparison of the result of iconv().

2005-07-22  Roland Illig  <roland.illig@gmx.de>

	* utilunix.c: Replaced the use of getgrouplist() with
	getgroups(), which is more appropriate and does not contain a
	buffer overflow in most recent glibc versions (upto 2.3.2).
	Simplified the code. Removed init_groups() and destroy_groups().
	They are unnecessary.
	* main.c: init_groups() and destroy_groups() have disappeared,
	so don't call them.

2005-07-22  Roland Illig  <roland.illig@gmx.de>

	* ext.c: Fixed a typo which has been noted by Arpad Biro.
	* help.c: Fixed an invalid memory access, which has been noted
	by Vitja Makarov. And fixed a bug that had been introduced by
	me, when replacing Dlg_head * with void *.
	* help.c: Fixed shadowing warnings from gcc.

2005-07-20  Roland Illig  <roland.illig@gmx.de>

	* key.c: When the command line option -x is given, enable
	additional key sequences that are typical for xterms.
	* main.c: First parse command line arguments, then initialize
	key sequences.

2005-07-20  Roland Illig  <roland.illig@gmx.de>

	* util.c: Added gettext_ui(), which translates a string and
	strips everything before the first '|' character. This function
	is used to translate special elements of the user interface,
	like ButtonBar labels.
	* util.h: Likewise.
	* view.c: Using the new gettext_ui() function.

2005-07-17  Roland Illig  <roland.illig@gmx.de>

	* util.c: Added ascii_alpha_to_cntrl(), which converts 'x' to
	^X. Useful for entering control characters literally.
	* util.h: Likewise.
	* widget.c: Use that function after C-q.

2005-07-17  Roland Illig  <roland.illig@gmx.de>

	* view.c: The viewer can remember the last file position and
	restore it, like the editor. This fixes Savannah bug #13734.
	* view.h: Likewise.
	* setup.c: Likewise.

2005-07-14  Roland Illig  <roland.illig@gmx.de>

	* util.c (get_compression_type): Use an enumeration instead of
	an int for the return type.
	* util.h: Likewise.

2005-07-13  Roland Illig  <roland.illig@gmx.de>

	* view.c: Always call display() before close_error_pipe() to make
	sure the screen looks nice.
	http://mail.gnome.org/archives/mc-devel/2005-July/msg00194.html

2005-07-12  Roland Illig  <roland.illig@gmx.de>

	* view.c: Added some paragraph comments. Changed some literal
	expressions (e.g. 0 => '\0', 0 => NULL). Fixed indentation.
	* view.c (view_hexedit_save_changes): Use the VFS file functions
	instead of the native ones. This makes it possible to edit
	remote files using the hex editor.

2005-07-11  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_update_bytes_per_line): Use a local variable to
	do the computation. Update view->bytes_per_line only once, after
	all computations have finished.

2005-07-09  Pavel Tsekov  <ptsekov@gmx.net>

	* info.c (info_show_info): Properly calculate the length of the
	line drawn by hline().

2005-07-07  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_ccache_find): Replaced the linear search with a
	binary search. This speeds up the viewer by a factor of 25 for
	large files (> 100 MB).

2005-07-07  Roland Illig  <roland.illig@gmx.de>

	* dialog.h: Replaced object-like macros with implicit references
	to an identifier ``h'' with function-like macros. Adjusted all
	users.
	* dialog.c: Likewise.
	* find.c: Likewise.
	* tree.c: Likewise.
	* widget.c: Likewise.
	* widget.c (widget_selectcolor): New function that selects a
	color among DLG_{HOT_,}{FOCUS,NORMAL}C.

2005-07-07  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_compute_areas): Fixed a bug noted by Pavel
	Tsekov. The coordinates are now relative to the Widget, as they
	should be.
	* view.c (view_status): Renamed to view_display_status().
	* view.c: view_display_status() is called inside display().
	* view.c (view_update_bytes_per_line): Fixed integer overflow
	bug.
	* view.c (view_compute_areas, view_percent, view_display_status,
	view_display_ruler): Fixed screen overflow bugs.
	* view.c (view_display_text): Fixed handling of tabulators.

2005-07-06  Roland Illig  <roland.illig@gmx.de>

	* view.c: Changed some variables from int to screen_dimen.
	Instead of relying on each of the view_display_* functions to
	compute the correct coordinates they are managed using the new
	function view_compute_areas(). In the view_display_* functions,
	all calculations are done 0-based; before, the calculation had
	involved the relative position of the area. Removed "static"
	variables from view_status(). Simplified view_display_clean().

2005-07-06  Pavel Tsekov  <ptsekov@gmx.net>

	* complete.c: Fix autocompletion for single possible path when
	"complete show all" is set.

2005-07-05  Roland Illig  <roland.illig@gmx.de>

	* achown.c: Changed all references to umode_t into mode_t.
	* chmod.c: Likewise.
	* file.c: Likewise.
	* view.c (view_load): Don't try to use fcntl() with VFS file
	handles. That cannot work.
	* textconf.c: mc --version prints the size of commonly used data
	types.

2005-07-03  Roland Illig  <roland.illig@gmx.de>

	* textconf.c: mc --version prints the number of bits of off_t.

2005-07-01  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_fix_cursor_position): Fixed a division-by-zero
	bug, which had been reported by Dirk Jagdmann and Pavel Tsekov.
	Pavel also tracked down the bug.

2005-06-30  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_growbuf_load_until): Check the datasource in the
	right place. (get_byte_growing_buffer): Removed an unnecessary
	assertion. (view_file_load_data): Make sure the right datasource
	is selected. (view_set_byte): This function is only expected to
	be called when datasource == DS_FILE. Removed unused code.
	* global.h: Don't use MC_ENABLE_DEBUGGING_CODE to decide whether
	to enable or disable assertions. Just use the default value.

2005-06-28  Roland Illig  <roland.illig@gmx.de>

	* view.c: Simplified error handling when loading files.
	* view.c (normal_search): Replaced with normal_search_cmd().
	(do_regexp_search): Removed unnecessary type cast.
	(do_normal_search): Likewise.
	* view.c (display): Changed return type to void.
	* view.c (display): Splitted up into view_display_hex() and
	view_display_text().
	* ext.c (get_file_type_local): Redirect error messages from
	file(1) to /dev/null.

2005-06-27  Roland Illig  <roland.illig@gmx.de>

	* view.c: Massive speed-ups by reordering statements and declaring
	functions as inline.
	* view.c: Renamed view_quit to want_to_quit and changed its type
	to gboolean.
	* view.c: Eliminated the need for function pointer casts.

2005-06-22  Pavel Tsekov  <ptsekov@gmx.net>

	* main.h: Export edit_one_file.
	* main.c (setup_dummy_mc): Remove dummy dir_list and remove argument.
	* main.c (mc_maybe_editor_or_viewer): Fix a double free and restructure
	according to fixes to setup_dummy_mc().
	* dir.c (expand_format): Use edit_widget->filename as fname when
	invoked as mcedit.

2005-06-21  Pavel Roskin  <proski@gnu.org>

	* view.c (view_percent): Remove unused variable.

2005-06-14  Roland Illig  <roland.illig@gmx.de>

	* achown.c (advanced_chown_callback): Swapped the arguments of a
	recursive function call -- the types didn't match.
	* widget.h (buttonbar_clear_label): Added.
	* widget.c: Likewise.
	* help.c: Use buttonbar_clear_label().
	* tree.c: Likewise.
	* widget.c: Added code to handle multiple types of functions for
	commands.
	* widget.h: Likewise.
	* widget.h (struct WButtonBar): Moved into widget.c.
	* widget.c (struct WButtonBar): Moved from widget.h.
	* boxes.c: Don't dereference WButtonBar.
	* help.c: Likewise.
	* layout.c: Likewise.
	* view.c: Likewise.
	* view.c: Fixed an integer wraparound bug.
	* view.c (view_get_filesize_with_exact): Removed. The replacement
	function is view_may_still_grow(), which does not overlap with
	view_get_filesize().

2005-06-08  Roland Illig  <roland.illig@gmx.de>

	* util.h (free_after): Moved to vfs/smbfs.c, as this is the only
	place where it is used. This is necessary because the SunPro
	compiler creates external references even for functions that are
	only referred to in unused inline functions.

2005-06-07  Leonard den Ottolander  <leonard den ottolander nl>

	* main.c (midnight_callback): Also match tabs as empty command.

2005-06-07  Jindrich Novy  <jnovy@redhat.com>

	* command.c (command_callback): Fixed gcc warning about
	incompatible pointer types.

2005-06-07  Pavel Tsekov  <ptsekov@gmx.net>

	* subshell.c (exit_subshell): Do not blindly perform cleanup.

2005-06-07  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_ccache_lookup): Replaced the min_nroff_column
	variable with a state chart, which makes the code clearer and
	fixes a bug in translating line/column pairs into offsets.
	* view.c (view_move_up): In text wrap mode, don't display parts
	of lines that only consist of the (invisible) newline character.
	* view.c (view_move_down): Likewise.

2005-05-31  David Martin  <dmartina@excite.com>

	* info.c: Localize label.

2005-05-29  Leonard den Ottolander  <leonard * den ottolander nl>

	* boxes.c: Added checkbox to VFS dialog to allow passive FTP
	over a proxy.

2005-05-29  Jindrich Novy  <jnovy@redhat.com>

	* main.c (midnight_callback): Fix blocking of panel cd-ing when
	there are only spaces on the command line.

2005-05-26  Roland Illig  <roland.illig@gmx.de>

	* view.c: Completely rewrote the cursor movement code. Now all
	cursor movement functions are based on two functions that
	translate file offsets into line/column pairs and vice versa.
	This change made it possible that the line/column is displayed
	in the status line. The beginning-of-line and end-of-line
	functions now work in text mode, too. Switching from non-wrap to
	wrap mode does not cause the whole file to be loaded.

2005-05-24  Roland Illig  <roland.illig@gmx.de>

	* widget.c: Fixed all but one casts on function pointers.
	* widget.h: Fixed prototype of input_callback().

2005-05-23  Roland Illig  <roland.illig@gmx.de>

	* help.c: Fixed the use of check_movement_keys(). This had been
	really ugly code, involving casts on incompatible functions.
	* command.c: Removed casts on function pointer types.
	* util.h: Added const-preserving version of strstr().
	* util.c: Likewise.
	* find.c: Removed a function cast by using the wrapper function
	cstrstr().
	* filegui.c: Removed unnecessary function casts.
	* fileopctx.c: Likewise.
	* help.c: Removed function casts.
	* info.c: Removed function casts.
	* main.h: Changed the type of quiet_quit_cmd() from int to void.
	* main.c: Likewise. Removed function cast.
	* menu.c: Removed function casts.
	* screen.c: Removed function casts.
	* tree.c: Removed function casts and provided wrappers where
	necessary.

2005-05-22  Pavel Roskin  <proski@gnu.org>

	* view.c: Better fix for the gcc 4.0.0 warnings.  Fix callees
	rather than callers.

2005-05-21  Roland Illig  <roland.illig@gmx.de>

	* view.c: Made the F2 key action much simpler---now it just
	toggles between hexview and hexedit mode. Switching between text
	and hex mode can be done with <tab>, as before.
	* view.c: Renamed dpy_text_start to dpy_topleft, as it does not
	only apply to text mode. Renamed dpy_text_start_col to
	dpy_text_column. Renamed edit_cursor to hex_cursor, as it is
	used in hexview mode, too.
	* view.c (view_labels): Simplified the code that decides whether
	the user can switch to hexedit mode.
	* win.h: Removed a const qualifier from the type movefn, as these
	functions typically modify their object.
	* win.c: Likewise.

2005-05-20  Pavel Roskin  <proski@gnu.org>

	* find.c: Fix warnings reported by gcc 4.0.0.
	* mountlist.c: Likewise.
	* screen.c: Likewise.
	* view.c: Likewise.

	* dialog.c (dlg_select_widget): Remove first argument, it's
	redundant.  Adjust all callers.
	(dlg_replace_widget): Likewise.

2005-05-11  Roland Illig  <roland.illig@gmx.de>

	* charsets.c (translate_character): Fixed checking of the return
	value of iconv().

2005-05-10  Pavel Roskin  <proski@gnu.org>

	* .c: Sanitize all calls to functions from ctype.h.  Fix gcc 4.0
	warnings.

	* file.c: Remove unneeded WANT_WIDGETS.
	* layout.c: Likewise.
	* setup.c: Likewise.
	* view.c: Likewise.

2005-05-10  Roland Illig  <roland.illig@gmx.de>

	* find.c (find_parameters): Moved around and reordered dialog
	items to make their meaning clearer.

2005-04-03  Pavel Roskin  <proski@gnu.org>

	* screen.c (try_to_select): Don't call display_mini_info(), it
	will be called later because select_item sets panel->dirty.
	This fixes the mini status appearing first after Ctrl-O.

2005-04-27  Roland Illig  <roland.illig@gmx.de>

	* view.c: Changed use of view->text_wrap_mode to reflect its
	type, being gboolean. That is, only use boolean operators and
	TRUE/FALSE for assignment. Bug reported by Jindrich Makovicka.

2005-04-26  Roland Illig  <roland.illig@gmx.de>

	* view.c: Added some calls to str_unconst() to get rid of the
	GCC warnings.
	* global.h: Define NDEBUG (used by assert() depending on
	MC_ENABLE_DEBUGGING_CODE).

2005-04-25  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_move_forward2): Fixed a bug related to the return
	value, which had made the down and page-down keys no-ops.
	* view.c (init_growing_view): Renamed to
	view_load_command_output(). Removed dead code. Removed unused
	parameter.
	* view.c (offset_type): Adjusted the PRI[dX] constants to be
	like the ISO C99 PRI* constants.
	* view.c (struct WView): Replaced view->last with
	view->dpy_complete. The former variable's name didn't match its
	value.

2005-04-22  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_move_forward2): Fixed a bug discovered by
	Jindrich Makovicka. The return value did not take into account
	the value of the `upto' parameter.
	* view.c (view_move_forward2): Added more assertions. Rewrote
	condition for breaking out of the loop when upto == 0.
	* view.c (display): Fixed operator precedence with ?: in hex
	display.

2005-04-19  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_file_load_data): Removed the requirement for
	ds_file_datasize to be a power of two.
	* view.c (struct WView): Renamed nib_shift to hexedit_lownibble.
	Replaced 0 literals with FALSE.
	* view.c (view_free_growing_buffer): Renamed to
	view_growbuf_free(). Simplified the code.
	* view.c (view_move_forward2): Early return if get_byte() returns
	-1.
	* view.c: Replaced const_cast with str_unconst.
	* view.c (display): Extracted the code for drawing the ruler into
	its own function, view_display_ruler(). Rewrote it.

2005-04-18  Roland Illig  <roland.illig@gmx.de>

	* view.c (struct WView): Moved the growing buffer variables
	between the data source and the display section.
	* view.c (save_edit_changes): Renamed to
	view_hexedit_save_changes().

2005-04-17  Roland Illig  <roland.illig@gmx.de>

	* view.c (save_edit_changes): Completely rewritten to be robust
	on errors. All changed bytes that could not be saved are kept
	in the change list, so that the user can try to save them later.
	* view.c (view_set_byte): Added for save_edit_changes().
	* view.c (display): view_place_cursor() is called after displaying
	in hex mode.
	* view.c (save_edit_changes): Changed return type to gboolean.
	* view.c (view_ok_to_quit): Changed return type to gboolean.
	Adjusted returned values.
	* view.c (view_load): Changed return type to gboolean. Adjusted
	returned values.
	* view.c (view): Rewrote the code a little bit.
	* view.h (view): Rewrote the comment.
	* view.c: Eliminated some ?: operators.
	* view.c: Corrected some typos and indentation.
	* view.c: Added four functions view_get_top(), view_get_left(),
	view_get_bottom(), view_get_right() to mark the bounds of the
	rectangle that can be used for displaying data. Expressed
	view_get_datalines() and view_get_datacolumns() in terms of
	these four functions.
	* view.c (display): Simplified the ruler drawing code.
	* view.c (display): Renamed width and height to right and bottom.
	The values of the variables aren't really the width and height
	of anything.
	* view.c (display): Renamed frame_shift to left or top, whatever
	is more appropriate.
	* view.c (view_set_datasource_string): Removed call to
	view_close_datasource() for consistency with the other
	view_set_datasource_*() functions. Adjusted the callers.

2005-04-16  Roland Illig  <roland.illig@gmx.de>

	* view.c (struct WView): Renamed have_frame to dpy_frame_size.
	* view.c (view_is_in_panel): Added.
	* view.c (view_percent): Removed the last parameter, as it has
	always the same value.
	* view.c: Code cleanup.
	* view.c (struct WView): Removed start_col. Added
	dpy_text_start_col, which has a similar function like start_col,
	but does not have negative values. Added bounds checking for
	dpy_text_start_col. Code cleanup, as usual.
	* view.c (struct WView): Renamed start_display to dpy_text_start.
	Fixed one invalid use of bit arithmetics (line 1819).
	* view.c: Added the `byte' type as an alias for unsigned char.
	Converted some datasources to using byte as the base type.
	Removed the superfluous type conversions.
	* view.c (vwidth, vheight): Replaced these two macros with their
	expansion. They looked like variables, which was irritating.
	* view.c (view_get_datacolumns): Added. Replaced equivalent
	expressions to call this function.
	* view.c (display): Removed the call to the empty macros
	view_freeze() and view_thaw(). Deleted these macros, as they
	are otherwise unused.
	* view.c (enqueue_change): Made the algorithm independent of the
	memory layout (especially the order) of the fields in struct
	hexedit_change_node. Rewrote it.
	* view.c (free_change_list): Don't use view->change_list as
	scratch variable.

2005-04-14  Roland Illig  <roland.illig@gmx.de>

	* util.h (str_unconst): Added a conditional INLINE_STR_UNCONST
	that makes str_unconst() an inline function.

2005-04-14  Roland Illig  <roland.illig@gmx.de>

	* view.c (struct WView): Removed the view_active field. It was
	practically equivalent to view->datasource != DS_NONE.
	* view.c (do_view_init): Renamed to view_load().
	* view.c (view_new): Every field of the WView is initialized
	explicitly.
	* view.c: Removed the "file monitor" feature (tail -f). It has
	not been working since at least mc-4.6.0.
	* view.c (struct WView): Removed the "first" field, as it was
	always 0.
	* view.c (struct WView): Renamed hexedit_text to hexview_in_text.
	* view.c (struct WView): Changed the type of hex_mode to gboolean.
	Fixed one non-boolean operation in toggle_wrap_mode().
	* view.c (struct WView): Renamed viewer_nroff_flag to
	text_nroff_mode.
	* view.c (struct WView): Moved hexedit_mode into the "Editor
	modes" section.
	* view.c (struct WView): Renamed viewer_magic_flag to magic_mode.
	* view.c (struct WView): Renamed wrap_mode to text_wrap_mode, as
	it only applies to the text viewer.
	* view.c (struct WView): Renamed growing_buffer to growbuf_in_use,
	blocks to growbuf_blocks, block_ptr to growbuf_blockptr.
	* view.c (struct WView): Renamed ds_file_size to ds_file_filesize,
	to avoid confusion with ds_file_datasize.
	* layout.c: Followed the renaming of view_init() to view_load().
	* view.h: Likewise.

2005-04-13  Roland Illig  <roland.illig@gmx.de>

	* util.h (str_unconst): Provide a replacement for the const_cast
	macro from global.h.
	* util.c (str_unconst): Likewise.

	* view.c (struct WView): Removed the last_byte field, because it
	got too complex maintaining it together with the new datasource
	framework. The function view_get_filesize() now takes its place.
	Corrected the type of the growing buffer to unsigned char. Added
	a field growbuf_finished to indicate when all data has been read.
	* view.c (view_move_cursor_to_eol): Renamed to
	view_hexview_move_to_eol().
	* view.c (view_get_filesize): Added.
	* view.c (view_get_filesize_with_exact): Added.
	* view.c (get_byte_indexed): get_byte with bounds checking.
	* view.c (view_growbuf_read_until): Closes the datasource after
	reading has finished.
	* view.c (view_percent): The percentage is only shown when its
	exact value can be computed.
	* view.c (view_status): The [grow] field has been removed from
	the status line. Instead, the filesize is reported as ">= n"
	bytes.
	* view.c (count_backspaces): Added a bounds check.
	* view.c (display): Using get_byte_indexed instead of get_byte.
	* view.c (move_forward2): Renamed to view_move_forward2 because
	of the equally-named function in src/help.c.
	* view.c (get_bottom_first): Added bounds checking.
	* view.c (move_right): Simplified the code.
	* view.c (goto_addr): Fixed an off-by-one error.
	* view.c (view_close_datasource): For the growing buffer cases,
	check if the datasource has already been closed before.
	* view.c (view_handle_editkey): Simplified the code.
	* view.c (get_byte_growing_buffer): Added bounds checking.

2005-04-07  Roland Illig  <roland.illig@gmx.de>

	* view.c: Removed mmap(2) support. Now regular files are
	accessed using mc_read(). Added a framework for datasources.
	Introduced assertions. Removed some variables (e.g. view->data)
	that were used for many things simultaneously.

2005-04-07  Roland Illig  <roland.illig@gmx.de>

	* dialog.h: Removed a comma at the end of an enumeration, because
	ANSI does not permit it.

2005-04-06  Roland Illig  <roland.illig@gmx.de>

	* x11conn.c (x_io_error_handler): Close the X11 connection when
	a protocol error occurs. Otherwise the X11 connection is held
	open, which may keep ssh from closing the connection.

2005-03-28  Pavel Roskin  <proski@gnu.org>

	* screen.c (chdir_other_panel): When used on a file entry, move
	selection on the inactive panel to select the entry for the
	current directory on the active panel.

2005-03-25  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* keyxdef.c: Constify struct qnx_key_define_s typedef.

2005-03-25  Mike Gorchak  <mike@malva.ua>

	* key.c (get_modifier): Fixed dynamic loading of the Photon
	library for shift keys, only current version of libph used now.
	(qansi_key_defines): Swapped Gray '-' and '+' codes definitions,
	due to fixed bugs in the QNX6's console driver.

2005-03-23  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* util.c (load_file_position): Fix mcedit position save bug. Read a
	number after ';'.

	From Christian Hamar  <krics@linuxforum.hu>

2005-03-21  Pavel Roskin  <proski@gnu.org>

	* key.c (init_key): Load xterm_key_defines for terminals with
	names starting with "rxvt".

2005-03-19  Pavel Roskin  <proski@gnu.org>

	* slint.c: Don't use private S-Lang functions if they are
	unavailable.

2005-03-17  Pavel Roskin  <proski@gnu.org>

	* screen.c (chdir_other_panel): Prevent changing current
	directory.  Remove incorrect comment.

	* achown.c (update_permissions): Partly revert recent changes
	because they cause infinite recursion.

2005-03-10  Roland Illig  <roland.illig@gmx.de>

	* x11conn.c: Separated X11 connection handling from key.c. Added
	error handling for X11 errors and connection errors.
	* x11conn.h: The interface for x11conn.h.
	* key.c: Now using the x11conn code.
	* Makefile.am: Added x11conn.{h,c}.

2005-02-26  Miguel de Icaza  <miguel@novell.com>

	* screen.c (chdir_other_panel): Restored original functionality.

	(sync_other_panel): This is now bound to the key Alt-i, and is the
	functionality that was lost.

2005-01-29  Miguel de Icaza  <miguel@novell.com>

	* utilunix.c (init_groups): Added support for getgrouplist().
	Patch from Stefan Gohmann <gohmann@univention.de>.

2005-02-23  Roland Illig  <roland.illig@gmx.de>

	* tty.h: Moved the function printwstr() to slint.c, because the
	SunPro compiler does not eliminate unused inline functions.
	* slint.c: printwstr() has been moved to here.
	* unixcompat.h: Only include <sys/sysmacros.h> if we're on AIX,
	as Solaris defines the macros twice---once in <sys/mkdev.h>,
	and once in <sys/sysmacros.h>.

2005-02-23  Roland Illig  <roland.illig@gmx.de>

	* screen.c: Changed the return type of ilog10() to unsigned int
	and adjusted some variables in format_device_number().

2005-02-22  Roland Illig  <roland.illig@gmx.de>

	* unixcompat.h: Added missing parenthesis to the minor() macro.

2005-02-12  Roland Illig  <roland.illig@gmx.de>

	* info.c (info_show_info): Casted st_mode to unsigned to avoid
	compiler warning on Solaris 9 (st_mode is unsigned long there).

2005-02-12  Jindrich Novy  <jnovy@redhat.com>

	* vfs.c (vfs_translate_url): Add support for smb://, sh://,
	ssh:// and mc:// filesystem requests. Introduced separate table
	for vfs aliases.
	* util.c (strip_password): Modifications to take the aliases into
	account while eliminating passwords.

	The original patch was extended by Roland Illig.

2005-02-12  Roland Illig  <roland.illig@gmx.de>

	* screen.c: Reverted my changes from 2005-02-08 (except the
	maybe_cd() calls) to not confuse the upcoming UTF-8 patches.

2005-02-12  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* glibcompat.c: Add g_strlcat() declaration for glib 1.2.x

2005-02-11  Roland Illig  <roland.illig@gmx.de>

	* screen.c (string_file_name): Fixed the displaying of long file
	names. The bug had been introduced by me on 2005-02-08.
	* screen.c (string_file_nlinks): Likewise.

2005-02-08  Roland Illig  <roland.illig@gmx.de>

	* dialog.c: Marked unused parameters. Now dlg_broadcast_msg_to()
	does what the comment above it says.
	* main.c (maybe_cd): Removed unused parameter.
	* main.h: Likewise.
	* screen.c: Marked unused parameters. Updated use of maybe_cd().
	* cons.handler.c: Marked unused parameters.
	* dir.c: Likewise.
	* find.c: Likewise.
	* help.c: Likewise.
	* layout.c: Likewise.
	* mountlist.c: Likewise.
	* popt.c: Likewise.
	* poptconfig.c: Likewise.
	* popthelp.c: Likewise.
	* regex.c: Likewise.
	* subshell.c: Likewise.
	* tree.c: Likewise.
	* util.c: Likewise.
	* utilunix.c: Likewise.
	* widget.c: Likewise.
	* wtools.c: Likewise.

2005-02-08  Roland Illig  <roland.illig@gmx.de>

	* screen.c (string_file_*): Don't use static buffers.
	* screen.c (format_file): Provide a buffer for the string_file_*()
	functions.

2005-02-08  Roland Illig  <roland.illig@gmx.de>

	* widget.h: Renamed define_label() to buttonbar_set_label(). Renamed
	define_label_data to buttonbar_set_label_data. Renamed
	redraw_labels() to buttonbar_redraw().
	* widget.c: Likewise.
	* help.c, main.c, screen.c, tree.v, view.c: Likewise.
	* util.h: Added macro str_cmp to allow syntactically nice string
	comparison.

2005-02-08  Roland Illig  <roland.illig@gmx.de>

	* *.c: Reordered header inclusion.

2005-02-08  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* ext.c (regex_command): Eliminate g_string_*().

2005-02-08  Roland Illig  <roland.illig@gmx.de>

	* dialog.h: Moved and reformatted #definitions.
	* execute.h: Likewise.
	* mouse.h: Likewise.
	* widget.h: Moved constants to the appropriate places (just
	before the variable they will be used with).
	* widget.c: HISTORY_FILE_NAME was not needed in widget.h,
	so it has been made private to this file.

2005-02-07  Roland Illig  <roland.illig@gmx.de>

	* unixcompat.h: Emit warnings for the fallback case of the
	major/minor/makedev macros.

2005-02-07  Roland Illig  <roland.illig@gmx.de>

	* view.c: Changed type of view->blocks from int to size_t.
	* view.c: Removed unused parameters from local functions.
	* view.c: Reordered #include files.

2005-02-07  Roland Illig  <roland.illig@gmx.de>

	* ext.c: Improved message formatting.

2005-02-06  Roland Illig  <roland.illig@gmx.de>

	* widget.h: Added a new function button_get_text.
	* widget.c: Likewise.

2005-02-06  Roland Illig  <roland.illig@gmx.de>

	* achown.c (get_ownership): Simplified the code. Now it is
	more independent of the WButton internals.
	* achown.c (get_ownership): Renamed to update_ownership.
	* achown.c (update_permissions): Update the permission widgets
	without accessing WButton->text directly.
	* achown.c (print_flags): Use update_permissions.
	* achown.c (chown_info_update): Likewise.

2005-02-05  Roland Illig  <roland.illig@gmx.de>

	* util.h (msglen): Converted from a function to a procedure.
	* util.c (msglen): Changed variable names and did a speedup.
	* hotlist.c (add_new_entry_input): Using new msglen function.
	* hotlist.c (add_new_group_input): Likewise.
	* wtools.c (query_dialog): Likewise.
	* wtools.c (fg_input_dialog_help): Likewise.

2005-02-02  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* find.c: Implement non-recursive 'Find file' feature.
	Original patch by Andrew Borodin <aborodin@vmail.ru> .

	* utilunix.c (mc_realpath) [USE_SYSTEM_REALPATH]: Use realpath().

2005-02-01  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* utilunix.c (init_groups): Use glib memory allocation functions.

2005-01-31  Roland Illig  <roland.illig@gmx.de>

	* view.c: Eliminated two global variables and put them into the
	WView structure.

2005-01-29  Miguel de Icaza  <miguel@novell.com>

	* utilunix.c (init_groups) [HAVE_GETGROUPLIST]: Use getgrouplist().
	Original patch by Stefan Gohmann <gohmann@univention.de>

2005-01-17  Roland Illig  <roland.illig@gmx.de>

	* info.c (info_show_info): Enabled display of the device number,
	for the case that the column in the directory listing is too
	short. This had been disabled since 1994, for no obvious reason
	and without any comment.
	* screen.c (format_device_number): Added. Converts a device number
	into a bounded string.
	* screen.c (string_file_size): Support for larger device numbers
	(and for non-Linux systems).

2005-01-26  Roland Illig  <roland.illig@gmx.de>

	* tty.h (printwstr): Added a function to print a string
	left-aligned in a bounded box.
	* unixcompat.h (major/minor): Added support for AIX.
	* unixcompat.h: Added makedev macro.

2005-01-25  Roland Illig  <roland.illig@gmx.de>

	* unixcompat.h: Provides macros and functions that are missing in
	some Unix variants.
	* Makefile.am: Added unixcompat.h.

2005-01-25  Roland Illig  <roland.illig@gmx.de>

	* dialog.h (widget_msg_t): Added WIDGET_RESIZED to inform widgets
	that they had been resized.
	* dialog.c (widget_set_size): Send a WIDGET_RESIZED message after
	setting the size.
	* layout.c (panel_do_cols): Don't explicitly update the
	bytes_per_line of a hexview WView.
	* view.h (view_update_bytes_per_line): Removed from the interface
	to WView.
	* view.c (view_update_bytes_per_line): Declared as `static'.
	* view.c (view_callback): Call update_bytes_per_line when the
	WView is initialized and whenever a WIDGET_RESIZED message is
	received.

2005-01-19  Jindrich Novy  <jnovy@redhat.com>

	* main.c (_do_panel_cd): Delete leading spaces from URL
	before vfs_translate_url() call.

2005-01-14  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* subshell.c (subshell_name_quote): Eliminate sprintf(d, "%c", ...).
	(do_subshell_chdir): Eliminate strlcpy() and optimize.

2005-01-14  Pavel Shirshov  <me@pavelsh.pp.ru>

	* subshell.c (do_subshell_chdir): Use mc_realpath() to fix tcsh's
	problem with symlink.
	* utilunix.c: Add function mc_realpath(). Is the BSD version of
	realpath(3).
	* util.h: Add mc_realpath() declaration.

2004-12-13  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* find.c (find_parameters): Use translated string.

2004-12-10  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* command.c (enter): Speed up and simplify.

2004-12-08  Pavel Shirshov  <me@pavelsh.pp.ru>

	* subshell.c (init_subshell_child): Don't g_strdup() constant string
	in putenv() calls.

2004-12-03  Roland Illig  <roland.illig@gmx.de>

	* *.h: Renamed multiple inclusion guards that started with a
	double underscore. Added #includes for dependent files.
	* popt.c: Likewise.
	* popthelp.c: Likewise.
	* tree.c: Moved a macro from tree.h to here, as it is useless
	outside tree.c.
	* view.c: Removed unused macro.

2004-12-02  Roland Illig  <roland.illig@gmx.de>

	* view.c (struct WView): Renamed some variables to reflect the
	actual use. (view_growbuf_read_until): Moved the growing buffer
	handling out of get_byte.
	* view.c: Cleaned up the code. Added error handling for the
	growing buffer case.
	* util.c (extension): Simplified the code.
	* util.c (cstrcasestr): Added a function to search for a
	substring ignoring case.
	* util.h: Added cstrcasestr.
	* find.c: Added plaintext search mode.

2004-12-02  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* file.c (make_symlink): Constify r.

2004-12-02  Leonard den Ottolander  <leonard * den ottolander nl>

	* file.c (copy_dir_dir): Code cleanup (removal of unnecessary goto,
	redundant comment, indentation).

2004-12-02  Jindrich Novy  <jnovy@redhat.com>

	* filegui.c (init_replace): Use off_t instead of int for file
	sizes. Use proper format string parameter for size.

2004-11-30  Pavel Tsekov  <ptsekov@gmx.net>

	* widget.c (listbox_drawscroll): Fix declaration of `slow_terminal'.
	(listbox_new): Likewise.

2004-11-29  Pavel Tsekov  <ptsekov@gmx.net>

	* main.c (midnight_callback): Make the the keystrokes the invoke
	select_cmd(), unselect_cmd() and reverse_selection_cmd () work
	even if the command prompt is turned off.

	This bug was reported by Alex Yosifov.

2004-11-26  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* execute.c (shell_execute): Optimize memory usage.
	* ext.c (regex_check_type): Likewise.

2004-11-02  Pavel Tsekov  <ptsekov@gmx.net>

	* help.c (help_event): Fix offset of event area for mouse click.

2004-11-19  Roland Illig  <roland.illig@gmx.de>

	* Makefile.am: Excluded pipethough.3 from the distribution
	as it is currently unused.

2004-11-18  Pavel Shirshov  <me@pavelsh.pp.ru>

	* user.c (execute_menu_command): Revert last changes. Execute
	shell_execute() with flag EXECUTE_HIDE to prevent recording
	in ~/.bash_history.
	* execute.h: Add EXECUTE_HIDE flag. It's used to prefix the command
	with a space.
	* execute.c (shell_execute): Prefix the command with a space, if define
	EXECUTE_HIDE flag.

2004-11-17  Roland Illig  <roland.illig@gmx.de>

	* screen.c (do_search): Ignore the backspace key on empty
	quick-search.

	From Egmont Koblinger <egmont * uhulinux hu>

2004-11-15  Leonard den Ottolander  <leonard * den ottolander nl>

	* file.c: Code cleanup (mostly indentation).
	* user.c (execute_menu_command): Prefix the command with a space
	to prevent recording in ~/.bash_history.

2004-11-12  Pavel Shirshov  <me@pavelsh.pp.ru>

	* user.c (expand_format): Return % with followed character if it
	without special meaning.

2004-11-11  Roland Illig  <roland.illig@gmx.de>

	* popthelp.c (showHelpIntro): The basename of argv[0] starts after
	the last slash in argv[0], not after the first.

	From Egmont Koblinger <egmont * uhulinux hu>

2004-11-10  Roland Illig  <roland.illig@gmx.de>

	* Makefile.am: Excluded pipethough.{c,h} from the distribution
	as they are currently unused.

2004-11-10  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* hotlist.c (unlink_entry): Add missed brackets.
	(add_new_entry_cmd): Fix memory leaks and double free()s.
	(add2hotlist_cmd): Eliminate static label_string.
	* regex.c: Define HAVE_WCTYPE_H to 0 if not defined to fix compilation.

2004-11-09  Pavel Shirshov  <me@pavelsh.pp.ru>

	* util.c (strip_password): Fix bug - don't delete path from url.

2004-11-09  Jindrich Novy  <jnovy@redhat.com>

	* filegui.c (file_mask_dialog): Fix memory leak.
	* hotlist.c (add_new_entry_cmd): Filter out a possible password
	dialogs.
	(add2hotlist_cmd): Likewise.

2004-11-07  Leonard den Ottolander  <leonard * den ottolander nl>

	* slint.c (slang_init): Allow upto 512 lines and cols if the
	SLang library can handle it.

2004-11-07  Roland Illig  <roland.illig@gmx.de>

	* key.c (use_8th_bit_as_meta): Use 8bit input as default.

	From Vladimir Nadvornik <nadvornik * suse cz>

2004-11-04  Mike Gorchak  <mike@malva.ua>

	* dir.c (file_type_to_num): Added initial support for the Special Named
	Files. They are displayed as block devices, but with '#' prefix in it's
	names. Needed on QNX Neutrino.
	* file.c (copy_file_file): Likewise.
	* fs.h: Likewise.
	* screen.c (string_file_type): Likewise.
	(file_compute_color): Likewise.
	* util.c (string_perm): Likewise.

	* pipethrough.c: Added sys/select.h if found according to config.h.

2004-11-04  Jindrich Novy  <jnovy@redhat.com>

	* screen.c (show_dir): A small fix to avoid a crash in show_dir() with
	a panel of more than 200 columns.

2004-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* file.c (make_symlink): Use g_strlcpy() instead of strcpy().

2004-11-03  Jindrich Novy  <jnovy@redhat.com>

	* subshell.c (do_subshell_chdir): Filter out a possible password from
	warning dialog.

	* command.c (do_cd_command): Likewise.

	* screen.c (panel_callback): Likewise.

	* util.c (path_trunc): Add function. path_trunc() is the same as
	name_trunc(), but it deletes possible password from path for security
	reasons.

	* util.h: Add functions path_trunc().

	* filegui.c (file_progress_show_target): Filter out a possible password
	from dialog.
	(file_progress_show_deleting): Likewise.
	(file_mask_dialog): Likewise.

	* file.c (move_file_file): Likewise.
	(move_dir_dir): Likewise.
	(file_error): Likewise.
	(files_error): Likewise.
	(real_query_recursive): Likewise.

	* hotlist.c (add2hotlist): Typo fix.

2004-11-02  Pavel Tsekov  <ptsekov@gmx.net>

	* dialog.c (do_select_widget): Walk the whole widgets list looking
	for a widget accepting the focus.

2004-11-01  Roland Illig  <roland.illig@gmx.de>

	* utilunix.c (mc_tmpdir): Use putenv(3) instead of setenv(3) if
	the latter is not available. Needed for Solaris.

2004-10-29  Pavel Tsekov  <ptsekov@gmx.net>

	* complete.c (completion_matches): Fix duplicate completion matches
	if there are more than two matches available.

2004-10-25  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* cmd.c (select_unselect_cmd): Collect repeated code from
	(un)?select_cmd here.  Fix rare off-by-one and memory leak if
	empty pattern passed.

	(select_cmd): Use select_unselect_cmd().
	(unselect_cmd): Likewise.

2004-10-23  Roland Illig  <roland.illig@gmx.de>

	* complete.c (environ): Don't declare environ on Cygwin.
	* utilunix.c (mc_tmpdir): Convert uid to unsigned long for
	pathname of the temporary directory.

	From Pavel Tsekov <ptsekov gmx net>.

2004-10-23  Roland Illig  <roland.illig@gmx.de>

	* regex.c (regerror): Never use the __memcpy function, as it
	breaks the build on Cygwin.

2004-10-22  Roland Illig  <roland.illig@gmx.de>

	* regex.c: Fix the C preprocessor feature tests. They produced
	warnings before.
	* view.c (display): Fixed bug that displayed an empty file in
	hexview mode with growing buffers.

2004-10-22  Pavel Shirshov  <me@pavelsh.pp.ru>

	* main.c (print_color_usage): Update list of keywords for global,
	menu and help.

2004-10-21  Roland Illig  <roland.illig@gmx.de>

	* cons.saver.c (die): Declare as "static" to avoid gcc warning.
	(send_contents): Likewise.

2004-10-20  Jakub Jelinek  <jakub@redhat.com>

	* user.c (user_menu_cmd): Fix error. test_line() doesn't handle
	consecutive '+'s and '='s correctly. Pass a line starting with
	a single '+' or '=' instead.

2004-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* hotlist.c (add_new_entry_cmd): Fix memory leaks.

2004-10-16  Roland Illig  <roland.illig@gmx.de>

	* file.c (do_file_error): Add const qualifier. (query_recursive):
	Likewise. (query_replace): Likewise.
	* view.c: Rename EOF_offset to INVALID_OFFSET, as it is mostly
	used to mark an invalid cache.

2004-10-13  Jindrich Novy  <jnovy@redhat.com>

	* util.c (strip_password): Add "/#sh:".

2004-10-12  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* myslang.h: Check USE_INCLUDED_SLANG properly.

2004-10-11  Roland Illig  <roland.illig@gmx.de>

	* utilunix.c (close_error_pipe): Fixed possible invalid memory access
	(three lines below).

2004-10-11  Leonard den Ottolander  <leonard * den ottolander nl>

	* file.c (copy_dir_dir): Small text fix.

2004-10-06  Alexander Savelyev  <i@fano.com.ua>

	* fileopctx.h (struct FileOpContext): Use off_t for offset.

2004-10-05  Miroslav Rudisin  <miero+gnu@atrey.karlin.mff.cuni.cz>

	* util.c(strip_password): Add support for '@' in username.

2004-10-05  Jakub Jelinek  <jakub@redhat.com>

	* cons.saver.c: Partly rewritten cons.saver.c.

2004-09-28  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* util.c (convert_controls): Fix possible buffer overflow
	for ".*^" strings.

2004-09-27  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* complete.c [__linux__ && !__USE_GNU]: Fix compilation on Red Hat 7.3
	* util.c (convert_controls): Fix compilation.

2004-09-26  Roland Illig  <roland.illig@gmx.de>

	* pipethrough.c: #include <string.h> to compile on Solaris.
	* util.h (convert_controls): Adjusted the comment to what the
	function really does.

2004-09-26  Mike Gorchak  <mike@malva.ua>

	* key.c (qansi_key_defines[]): Add support for qansi-m terminals.
	Needed on QNX Neutrino. (correct_key_code): Likewise.

2004-09-25  Roland Illig  <roland.illig@gmx.de>

	* pipethrough.c: Added pipethrough, a function to execute child
	processes in a simple way.
	* pipethrough.h: The interface for the function.
	* pipethrough.3: The manpage (will be installed in maintainer-mode).
	* Makefile.am: Added the files to SRCS.

2004-09-25  Roland Illig  <roland.illig@gmx.de>

	* view.c (display): Recognize "+\bo" as a list item in nroff mode.
	Display "_\b_" correctly in both colors.

	* view.c (hex_search): Added const qualifier.
	* boxes.c (display_unit): Likewise.
	* command.c (examine_cd): Likewise. Additionally used g_strdup to
	not accidentally modify an environment variable.
	* complete.c (command_completion_function): Likewise.
	(filename_completion_function): Likewise. (try_complete): Likewise.
	(variable_completion_function): Likewise.
	* file.c (check_hardlinks): Likewise.
	* find.c (find_do_view_edit): Likewise. (find_file): Likewise.
	* global.h (home_dir): Likewise.
	* main.c (get_parent_dir_name): Likewise. (init_xterm_support):
	Likewise. (OS_Setup): Likewise.
	* menu.c (create_menu): Likewise.
	* mountlist.c (xatoi): Likewise. (read_filesystem_list): Likewise.
	* poptconfig.c (poptReadDefaultConfig): Likewise.
	* popthelp.c (showHelpIntro): Likewise.
	* rxvt.c (look_for_rxvt_extensions): Likewise.
	* slint.c (has_colors): Likewise.
	* subshell.c (check_sid): Likewise.
	* user.c (check_format_var): Likewise.
	* widget.c (radio_callback): Likewise.

2004-09-25  Pavel Shirshov  <me@pavelsh.pp.ru>

	* boxes.c (configure_vfs): g_free handles NULL argument too,
	no need for the comparison.
	* cmd.c (set_panel_filter_to): Likewise.
	    (do_link): Likewise.
	    (quick_cd_cmd): Likewise.
	* color.c (done_colors): Likewise.
	* dialog.c (destroy_dlg): Likewise.
	* dir.c (alloc_dir_copy): Likewise.
	* ext.c (flush_extension_file): Likewise.
	* file.c (copy_file_file): Likewise.
	    (panel_operate): Likewise.
	* hotlist.c (remove_group): Likewise.
	    (remove_from_hotlist): Likewise.
	    (done_hotlist): Likewise.
	* main.c (main): Likewise.
	* setup.c (panel_load_setup): Likewise.
	* tree.c (tree_destroy): Likewise.
	    (show_tree): Likewise.
	* user.c (user_menu_cmd): Likewise.
	* utilunix.c (i_cache_add): Likewise.
	    (putenv): Likewise.
	* view.c (view_done): Likewise.
	    (regexp_search): Likewise.
	    (normal_search): Likewise.
	    (change_viewer): Likewise.
	* widget.c (label_set_text): Likewise.
	    (set_label_text): Likewise.

2004-09-24  Roland Illig  <roland.illig@gmx.de>

	* file.c (progress_update_one): Changed parameter type from int
	to off_t.

	Fixes http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124241

2004-09-24  Roland Illig  <roland.illig@gmx.de>

	* util.c (load_file_position): Fixed possible segmentation fault
	when an $HOME/.mc/filepos did not contain a ';'.

2004-09-24  Roland Illig  <roland.illig@gmx.de>

	* boxes.c: Replaced NULL with (char *) NULL. Likewise for 0, where
	NULL was meant.
	* cmd.c: Likewise.
	* dialog.c: Likewise.
	* ext.c: Likewise.
	* file.c: Likewise.
	* find.c: Likewise.
	* hotlist.c: Likewise.
	* learn.c: Likewise.
	* main.c: Likewise.
	* screen.c: Likewise.
	* setup.c: Likewise.
	* treestore.c: Likewise.
	* user.c: Likewise.
	* util.c: Likewise.
	* utilunix.c: Likewise.
	* view.c: Likewise.
	* widget.c: Likewise.
	* wtools.c: Likewise.

2004-09-24  Roland Illig  <roland.illig@gmx.de>

	* cons.handler.c (handle_console_linux): Replaced NULL with
	(char *) NULL in call to execl.
	* subshell.c (init_subshell_child): Likewise.
	* utilunix.c (my_system): Likewise.

	From patches from the OpenBSD ports collection.

2004-09-23  Roland Illig  <roland.illig@gmx.de>

	* main.c (OS_Setup): Fixed segmentation fault.

	From Oskar Liljeblad <oskar osk.mine.nu>

2004-09-21  Leonard den Ottolander  <leonard * den ottolander nl>

	* filegui.c (file_mask_dialog): Expand tilde. Remove redundant
	ifs before g_free().

2004-09-19  Roland Illig  <roland.illig@gmx.de>

	* achown.c: Added const qualifiers and const_cast.
	* background.c: likewise.
	* boxes.c: likewise.
	* file.c: likewise.
	* filegui.c: likewise.
	* find.c: likewise.
	* hotlist.c: likewise.
	* info.c: likewise.
	* layout.c: likewise.
	* myslang.h: likewise.
	* option.c: likewise.
	* user.c: likewise.
	* util.c: likewise.
	* utilunix.c: likewise.
	* view.c: likewise.
	* widget.c: likewise.
	* complete.c: Surrounded the declaration of environ by and #ifdef
	guard to avoid a GCC warning about a redundant declaration.
	* cmd.c: renamed edit() to edit_file() to avoid GCC shadow
	warnings (many variables are also called edit).
	* main.c: likewise.

2004-09-19  Roland Illig  <roland.illig@gmx.de>

	* util.c (strip_home_and_password): Fixed possible buffer overflow.

2004-09-19  Roland Illig  <roland.illig@gmx.de>

	* find.c: Applied patch to make the find dialog more responsive
	while scanning through large files.

	From Jindrich Makovicka <makovick kmlinux.fjfi.cvut.cz>

2004-09-18  Roland Illig  <roland.illig@gmx.de>

	* view.c (view_handle_key): Fixed invalid-offset-bug when handling
	ctrl-e in hex mode.

2004-09-18  Roland Illig  <roland.illig@gmx.de>

	* help.c (search_string): Fixed a warning about a const qualifier.
	A local copy of the string is used for modifying.
	* menu.h: Removed the const qualifier from Menu.name and
	Menu.help_node as they are freed in destroy_menu.
	* menu.c (destroy_menu): Removed the (now unnecessary) casts.
	* popt.h: Removed a const qualifier to avoid compiler warnings.
	* profile.c (get_profile_string): Added const qualifiers to
	avoid compiler warnings. (GetSetProfile): likewise.
	(GetSetProfileChar): likewise.
	* profile.h (get_profile_string): likewise.
	* win.c (check_movement_keys): likewise.
	* win.h (check_movement_keys): likewise.

2004-09-17  Pavel Shirshov  <me@pavelsh.pp.ru>

	* ext.c (get_file_type_local): Fixes <zombies> in
	QNX 6.x (QNX Neutrino) when guessing file type before
	viewing file.

	Based on patch from Dmitry Alexeyev <dmi_a@qnx.org.ru>

2004-09-17  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* hotlist.c (add_new_entry_input): Fix warnings.
	* wtools.h (QuickWidget): Make text const.
	* wtools.c (fg_input_dialog_help): Fix warning.

2004-09-14  Leonard den Ottolander  <leonard * den ottolander nl>

	* utilunix.c (tilde_expand): Fix extra slash in result from
	tilde_expand() for ~<user>/dir.

2004-09-14  Pavel Tsekov  <ptsekov@gmx.net>

	* key.c (get_modifier): Recognize keyboard modifiers on Cygwin.

2004-09-12  Pavel Shirshov  <me@pavelsh.pp.ru>

	* execute.c (toggle_panels): Fix error. show_output_starts_shell=1
	is not working
	* cmd.c (view_other_cmd): Likewise.

	From Petr Hadraba <hadrabap@volny.cz>

2004-09-10  Jakub Jelinek  <jakub@redhat.com>

	* view.c (get_byte): Fix avoid dying if file is too large
	to fit into memory.
	(load_view_file): Fix avoid mmaping just part of a >=4GB file
	on 32-bit arches.

	* setup.c (load_keys_from_section): Handle "copy".
	gnome-terminal started using TERM=gnome instead of TERM=xterm,
	so does rxvt etc.
	Instead of making mc.lib really huge and hard to edit
	by repeating same keys for every xterm alternative,
	I have added a special key "copy", with argument name of terminal.
	mc will in this case read the keys from the referenced terminal's
	keys from the same file as well.

2004-09-04  Jakub Jelinek  <jakub@redhat.com>

	* info.c (info_show_info): don't truncate block counts to 32 bits
	on 64-bit platforms

2004-09-04  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* subshell.c (exit_subshell): Prevent unwanted reuse of freed
	pty_buffer.
	* complete.c (variable_completion_function): strncpy()->memcpy()
	changes are because we know there is no '\0' among the first
	length bytes.
	(insert_text): Likewise.
	(command_completion_function): Avoid memory leaks.
	(filename_completion_function): g_free handles NULL argument too,
	no need for the comparison.
	(try_complete): Likewise.
	(command_completion_function): Likewise.
	(free_completions): Likewise.
	* widget.c (gauge_callback): Fix for 64-bit arches (%*s len must
	be int, %3d takes int.
	(copy_region): g_free handles NULL argument too, no need for
	the comparison.
	(kill_line): Likewise.
	* find.c (do_search): Likewise.
	(init_find_vars): Likewise.
	(do_find): Likewise.
	* util.c (get_current_wd): We know there is just one '\0' byte
	in p, at p[len - 1].

	Based on patch from Jakub Jelinek  <jakub@redhat.com>

2004-09-03  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* menu.c (destroy_menu): Fix warnings.
	* view.c (view_adjust_size): Likewise.
	* widget.c (find_buttonbar): Likewise.

	Based on patch from Jakub Jelinek  <jakub@redhat.com>

2004-09-02  Roland Illig  <roland.illig@gmx.de>

	* color.c (try_alloc_color_pair (ncurses)): Added const qualifier
	to the arguments.

2004-09-02  Roland Illig  <roland.illig@gmx.de>

	* man2hlp.c (handle_link): Added header "glibcompat.h" because
	glib-1.2 does not know g_strlcpy().
	* Makefile.am (man2hlp): Added source file glibcompat.c for
	glib-1.2 compatibility.

2004-09-02  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* complete.c (completion_matches): Use more suitable function
	g_strndup() instead of sequence g_malloc(), strncpy(),
	name[len] = '\0'
	* widget.c (copy_region): Likewise.
	(delete_region): Use memmove() instead of strcpy().
	* user.c (debug_out): Eliminate buffer array.
	(test_line): Likewise.

	Based on patch from Jakub Jelinek  <jakub@redhat.com>

2004-09-02  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* color.c (load_dialog_colors): Make a separate color for
	hotkeys in red dialogs.
	* color.h: Likewise.
	* view.c (view_ok_to_quit): Add hotkey to dialog.

2004-09-01  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* user.c (check_format_var): Use more suitable function
	g_strndup() instead of sequence g_malloc(), strncpy(),
	name[len] = '\0'
	* man2hlp.c (handle_link): Use g_strlcpy() instead of sequence
	strncpy(), name[len] = '\0'
	* profile.c (GetSetProfile): Likewise.
	* wtools.c (fg_input_dialog_help): Likewise.

	Based on patch from Jakub Jelinek  <jakub@redhat.com>

2004-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* wtools.h: Fix warnings.
	* selcodepage.c (select_charset): Likewise.
	* boxes.c (display_bits_box): Likewise.

2004-09-01  Pavel S. Shirshov  <me@pavelsh.pp.ru>

	* color.c (mc_init_pair): Use cast to avoid warning.
	* screen.c (display_mini_info): Likewise.
	* slint.c (do_define_key): Likewise.
	* tree.c (tree_show_mini_info): Likewise. (show_tree):Likewise.
	* view.c (view_status): Likewise.

2004-08-29  Roland Illig  <roland.illig@gmx.de>

	* background.c (do_background): Fixed file descriptor leak.

2004-08-29  Roland Illig  <roland.illig@gmx.de>

	* Code cleanup: Added const qualifier for variables and
	function declarations where possible. No functional changes.

2004-08-26  Roland Illig  <roland.illig@gmx.de>

	* cmd.c (do_link): Fixed memory leak and cleaned up code.

2004-08-21  Pavel Shirshov  <me@pavelsh.pp.ru>

	* utilunix.c (tilde_expand): Use more suitable function
	g_strndup, instead sequence g_malloc, strncpy, name[len] = '\0'

2004-08-19  Roland Illig  <roland.illig@gmx.de>

	* util.h (move_backward2): Fixed endless loop. Cleaned up code.
	The only case that's left with the old code is text mode with
	line wrapping. (move_backward2_textmode_wrap): The special case
	of moving some lines up in text mode with line wrapping enabled.

2004-08-19  Roland Illig  <roland.illig@gmx.de>

	* util.h: Added the function free_after for easier handling
	of dynamically allocated strings.

2004-08-19  Roland Illig  <roland.illig@gmx.de>

	* util.c: Added the function str_replace, which replaces
	all occurences of a character in a string.

2004-08-16  Roland Illig  <roland.illig@gmx.de>

	* achown.c (apply_advanced_chowns): Added explicit cast
	(uid_t) -1 and (gid_t) -1, as on most systems uid_t and gid_t
	are unsigned. This avoids a GCC warning about comparison
	between types differing in signedness. No functional changes.

	* background.c (background_attention): Replaced int with ssize_t
	to correctly handle calls to POSIX read(). No other functional
	changes.

	* boxes.c: const'ified some declarations. Now using the
	NULL_QuickWidget macro to mark the end of arrays of QuickWidgets.
	No functional changes.

	* chown.c: Added missing initializers. No functional changes.

	* color.c (configure_colors_string): Using size_t for variables
	indexing arrays. (get_color): likewise. (init_colors): likewise.
	No functional changes.

	* command.c: Using size_t for variables indexing arrays.
	(command_insert): Changed the type of the second parameter to
	const char *, as it is not modified inside the function.
	(do_cd_command): Added a comment about quoting the argument to
	the internal "cd" command. No functional changes.

	* complete.c: TODO

	* dialog.c (create_dlg): Made the parameters help_ctx and title
	const. No functional changes.

	* execute.c (execute_with_vfs_arg): Applied necessary changes to
	the new mc_ungetlocalcopy.

	* ext.c: Applied necessary changes to the new mc_ungetlocalcopy.

	* file.c: Needs the implementation details of the vfs, so include
	"../vfs/vfs-impl.h". Adjusted some data types to size_t and const
	char *. No functional changes.

	* filegui.c: Now using NULL_QuickWidget as initializer.
	No functional changes.

	* find.c: Added const modifier for text of buttons. No functional
	changes.

	* global.h: New macro const_cast to indicate places where a const
	is casted away but ideally shouldn't.

	* hotlist.c: Type changes to size_t and const char *. No functional
	changes.

	* info.c (info_show_info): Explicitly casted st.st_blocks to avoid
	invalid typed argument for printf. Changed a literal 0xffffffff to
	-1 to fit into the type with which it is compared. No functional
	changes.

	* key.c: Added a const modifier. No functional changes.

	* layout.c: Added const modifiers and changed int to size_t where
	appropriate. No functional changes.

	* main.c: Added explicit initializers to global variables. Replaced
	the initializer 0 by NULL for pointers. Removed the (unused)
	parameter for keyboard-mapped functions. (version): Renamed to
	show_version to avoid name conflicts with equally-named variables.
	Added missing initializers for popt arguments.

	* main.h: Fixed the FIXME near the key_callback typedef.
	(vfs_print_message): Added a const modifier to the msg parameter.

	* menu.c (create_menu): Avoided a GCC warning concerning the
	comparison of unsigned and signed expressions. No functional changes.

	* mountlist.c: Replaced (char *) 0 by NULL. No functional changes.

	* options.c: Made PAUSE_OPTIONS look uniformly. Added const modifier
	where appropriate. No functional changes.

	* popthelp.c: Added missing initializers. No functional changes.

	* profile.c (profile_clean_section): Added const modifier to
	parameter appname. No functional changes.

	* screen.c (string_file_name): Replaced int by size_t.
	(string_file_perm_octal): Changed output format to long octal, because
	there might be more than 16 significant bits. Added the specialized
	function type panel_key_callback and added wrapper functions for
	functions that don't ordinarily take a WPanel * argument.

	* slint.c (SLang_getkey2): Replaced memcpy by memmove, as src and
	dest are overlapping. Changed an int to a size_t.

	* subshell.c (check_sid): Added prototype to the definition.
	Removed unnecessary casts from void * to char *.
	Fixed a format string bug (changed %s to %d for a file descriptor).

	* textconf.c (version): Renamed to show_version to avoid name
	conflicts with variables.

	* tree.c: Added an own callback function type that takes a WTree *
	as first parameter and adjusted the calling functions.

	* util.c (str_replace): replaces all occurences of a character by
	another character. Modifies the given string in-place.
	(x_basename): Now returns a const char * instead of a char *.

	* util.h (free_after): Frees its second argument after evaluating
	both arguments. See util.h for usage.

	* utilunix.c (tilde_expand): Now using g_strdup instead of g_malloc
	+ strncpy.

	* widget.c: Added the const modifier for strings in many places.

	* wtools.c: Added the const modifier for strings in many places.

	* view.c: Replaced various occurences of int, long and unsigned long
	(all meaning the same) by the newly created offset_type to have
	a uniform look. (move_backward2): Simplified the function to be
	more readable. Outsourced the hardest case into
	move_backward2_textmode_wrap and left it with the old code.

2004-08-19  Pavel Shirshov  <me@pavelsh.pp.ru>

	* utilunix.c (mc_tmpdir): Fix typos in comment.
	Set MC_TMPDIR environment variable for vfs scripts.
	Clear error after successful test of mc temp dir.

2004-08-19  Pavel Shirshov  <me@pavelsh.pp.ru>

	* screen.c (paint_frame): Fix possible buffer overflow.

2004-08-18  Pavel Shirshov  <me@pavelsh.pp.ru>

	* background.c (do_background): Use O_RDWR when opening
	the file '/dev/null' for replacement standard streams.

2004-08-17  Pavel Shirshov  <me@pavelsh.pp.ru>

	* utilunix.c (mc_tmpdir): Check return value of getpwuid()
	for NULL.

2004-04-18  Pavel Roskin  <proski@gnu.org>

	* vfsdummy.h [!USE_VFS]: Make sure that vfs_canon() doesn't
	change the original string.  Fix compilation without VFS.

2004-03-07  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* achown.c (init_chown_advanced) [ENABLE_NLS]: i18n fix.
	* user.c (extract_line): Add a new parameter (size of the
	output buffer) to prevent buffer overflow.

2004-03-05  Pavel Roskin  <proski@gnu.org>

	* subshell.c: Partly revert previous patch to preserve
	translated strings.

2004-02-09  Pavel Roskin  <proski@gnu.org>

	* subshell.c: Use "\r\n" at the end of all error messages.
	Don't use perror().  Make error messages more exact.

2004-01-23  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (canonicalize_pathname): Add support for UNC paths.

	* utilunix.c (canonicalize_pathname): Return void to make it
	clear that the conversion is done in place.  Adjust all callers.

	* filegui.c (init_replace): Don't show the "Reget" button when
	moving files.  Reported by Arpad Biro <biro_arpad@yahoo.com>

	* fileopctx.h: Add "operation" filed to FileOpContext.
	* fileopctx.c (file_op_context_new): Add "operation" argument.
	* filegui.c (file_op_context_create_ui): Remove "operation"
	argument, it's known already.  Adjust all callers.

2004-01-23  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* user.c (execute_menu_command): Put /bin/sh in the beginning of
	the script.

2004-01-22  Pavel Roskin  <proski@gnu.org>

	* screen.c (display_mini_info): Correctly fill the space after
	"<readlink failed>".

	* glibcompat.h: Fix definition of g_try_realloc().

2003-12-24  Dmitry Alexeyev  <dmi_a@qnx.org.ru>

	* key.c (get_event): Treat all negative values of gpm_fd in the
	same way.  Add one more check that gpm is alive.

2003-12-24  Pavel Roskin  <proski@gnu.org>

	* layout.c (rotate_dash): Set color before printing the dash.

2003-12-01  Pavel Roskin  <proski@gnu.org>

	* command.c (examine_cd): Add tilde expansion.

2003-11-28  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (tilde_expand): Correct last fix, simplify code.
	Reported by David Sterba <dave@jikos.cz>

2003-11-27  Pavel Roskin  <proski@gnu.org>

	* execute.c (toggle_panels): Refresh panels after returning from
	Ctrl-O.

	* cmd.c (view_file_cmd): Use input_expand_dialog().

	* wtools.c (quick_dialog_skip): Perform tilde expansion on input
	widgets that use cd completion.

	* utilunix.c (tilde_expand): Preserve tilde if the username
	could not be found.  Don't ever return NULL.  Change callers not
	to check for NULL.

	* dialog.c (do_select_widget): New function that is the only one
	calling dlg_focus() and dlg_unfocus().  Incorporate code from
	other functions that did it.
	(dlg_select_widget): Change return type to void.

2003-11-26  Pavel Roskin  <proski@gnu.org>

	* dialog.h (dlg_widget_active): New function - check if the
	widget is active.
	* boxes.c (display_callback): Use it.
	* layout.c (swap_panels): Likewise.
	* screen.c (do_panel_event): Likewise.

	* dialog.c: Eliminate callback macro.

	* dialog.c (dlg_replace_widget): Use dlg_select_widget().
	(select_a_widget): Rename to select_other_widget(), factorize
	most code from dlg_one_up() and dlg_one_down().

2003-11-24  Pavel Roskin  <proski@gnu.org>

	* complete.c (check_is_cd): Simplify logic, use isspace().

2003-11-24  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* hotlist.c (add_new_group_input): Clean up.
	* wtools.c (do_create_message): Eliminate g_strdup_printf().
	(bg_message): Likewise.

2003-11-21  Pavel Roskin  <proski@gnu.org>

	* view.c (check_left_right_keys): Implement fast scrolling if
	Ctrl is pressed.  Idea by Arpad Biro <biro_arpad@yahoo.com>

	* execute.c (do_execute): Use get_key_code(), not getch() to
	consume all characters from a single sequence.
	Reported by Miven Dooligan <dooligan@intergate.ca>

2003-11-20  Pavel Roskin  <proski@gnu.org>

	* glibcompat.h: Provide replacement for g_slist_delete_link().
	Reported by Pavel S. Shirshov <me@pavelsh.pp.ru>

2003-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* util.c (load_mc_home_file): Eliminate g_strdup_printf().

2003-11-19  Pavel Roskin  <proski@gnu.org>

	* user.c (expand_format): Preserve "%" if followed by a
	characted without special meaning.

2003-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* glibcompat.h: Define g_try_realloc as realloc for glib 1.2.x.

2003-11-14  Pavel Roskin  <proski@gnu.org>

	* main.c (midnight_callback): Ctrl-Shift-Enter now copies full
	path to the command line, like in Total Commander.

2003-11-07  Pavel Roskin  <proski@gnu.org>

	* boxes.c: Include "../vfs/gc.h" if VFS is used.
	* hotlist.c: Likewise.
	* key.c: Likewise.
	* main.c: Likewise.
	* setup.c: Likewise.

	* view.c (free_file): Don't use check_error_pipe(), display
	error messages in close_error_pipe().
	* utilunix.c (check_error_pipe): Remove, it's unused.

2003-10-30  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* widget.[ch] (listbox_search_text): Constify "text" argument.
	(listbox_add_item): Ditto.

	* find.c (add_to_list): Make inline.
	(stop_idle): Ditto.
	(status_update): Ditto.
	(get_list_info): Ditto.

	(push_directory): Constify "dir" argument and use
	concat_dir_and_file() instead of g_strdup().

	(find_add_match): Constify "dir" and "file" arguments.
	(insert_file): Ditto. Don't append trailing PATH_SEP, it's done
	in push_directory().

	(search_content): Constify "directory" and "filename" arguments.
	(do_search): Make "directory" char * instead of char[].

2003-10-29  Pavel Roskin  <proski@gnu.org>

	* fsusage.c: Merge ...
	* mountlist.c: ... here.  These files are closely related.  Move
	some defines from extraconf.h here.
	* fsusage.h: Remove.
	* Makefile.am: Remove fsusage.c and fsusage.h.

2003-10-28  Pavel Roskin  <proski@gnu.org>

	* ext.c (regex_check_type): Use mc_getlocalcopy() instead of
	piping first 8k to "file".  If the user selected the file, we
	are likely to need the whole file.  Besides, mc_getlocalcopy()
	on ftpfs and fish shares file cache with other VFS operations.
	(get_file_type_pipe): Remove.
	(mc_doublepopen): Likewise.
	(mc_doublepclose): Likewise.

2003-10-27  Pavel Roskin  <proski@gnu.org>

	* utilunix.c: Move mc_doublepopen() and mc_doublepclose() ...
	* ext.c: ... where they are used.

	* slint.c (mc_refresh): Revert last change - it breaks screen
	restoring on rxvt.

	* tree.c (tree_rmdir_cmd): Don't change to the root directory -
	it's not needed now.

	* win.c (check_movement_keys): Add support for Ctrl-PgDown,
	Ctrl-PgUp, Ctrl-Home and Ctrl-End.

2003-10-26  Pavel Roskin  <proski@gnu.org>

	* terms.c: Merge ...
	* win.c: ... here.
	* Makefile.am: Remove terms.c.

	* panel.h: Fix duplication between cpanel and current_panel in
	favor of current_panel.  Ditto opanel and other_panel.

	* main.c (get_current_panel): Remove.
	(get_other_panel): Move ...
	* layout.c: ... here.

	* info.h: Don't expose WInfo internals.

	* background.c (tell_parent): Eliminate.
	(background_attention): Use error code instead.
	* file.c (panel_operate): Exit with code 0, not 1.

	* wtools.c: Merge mc_message() and message() into one background
	safe function message().  Fix all callers.

	* i18n.h: Include into global.h.
	* Makefile.am: Remove i18n.h.

2003-10-25  Pavel Roskin  <proski@gnu.org>

	* background.c: Clean up includes.
	(do_background): Set current_dlg to NULL for the child process.
	* dialog.h (do_complete_refresh): Don't use we_are_background.
	* file.h: Remove dependency on background.h.
	* background.h: Define we_are_background.  Move mc_message() ...
	* wtools.h: ... here.
	* key.h: Don't define we_are_background.
	* slint.c (mc_refresh): Use current_dialog instead of
	we_are_background to fix compilation without WITH_BACKGROUND.

	* background.c (do_background): Use pipe() instead of less
	portable socketpair().  Close comm[0] in the child.

	* wtools.c (mc_message): Fix argument expansion.

	* background.c: Leave only code used when WITH_BACKGROUND is
	defined. The rest goes ...
	* wtools.c: ... here.

	* background.c: Remove mymsg.

	* util.c (msglen): Constify first argument.
	* wtools.c (query_dialog): Constify string arguments.
	(create_message): New function, forked from message().
	(message): Return void.  Allocate memory dynamically.
	* wtools.h: Eliminate D_INSERT.  Adjust all users.

	* background.c: Replace all message stubs with a new function
	mc_message().  Protect against strlen(MSG_ERROR).  Adjust all
	dependencies.

2003-10-25  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>

	* hotlist.c (remove_from_hotlist): Fix improper check of the
	return value - group could be deleted after pressing ESC.

2003-10-25  Pavel Roskin  <proski@gnu.org>

	* background.c (background_attention): Unregister task before
	calling message() to avoid recursion.
	(message_3s): Fix the number of arguments.

	* command.c (enter): Don't change current_dlg to NULL.  It
	breaks repainting of the panels.  Simplify logic.

	* key.c (init_key_x11): Warning fix for gcc 3.3.2.

2003-10-24  Pavel Roskin  <proski@gnu.org>

	* fs.h (compute_namelen): Fix warning about unused argument.
	* man2hlp.c (handle_tp_ip): Likewise.

	* dialog.c (dlg_key_event): Simplify logic, return void.

	* dialog.c: Remove duplication between two chains of dialogs.
	* dialog.h (struct Dlg_head): Add "fullscreen" field, remove
	"refresh_pushed", rename "previous_dialog" to "parent".

	* tree.h: Fix unneeded dependency on dialog.h.
	* layout.h: Likewise.

	* dlg.h: Merge with ...
	* dialog.h: ... this.  Adjust all dependencies.
	* dlg.c: Merge with ...
	* dialog.c: ... this.
	* Makefile.am (SRCS): Remove dlg.h and dlg.c.

	* dlg.h: Declare idle_hook here.

	* dialog.c: Eliminate typedef Refresh, unneeded includes.

	* complete.h: Move CompletionFunction definition ...
	* complete.c: ... here.

	* color.c (dealloc_color_pairs): Rename to ...
	(done_colors): ... this.
	* layout.c (done_screen): Call done_colors() here ...
	* slint.c (slang_shutdown): ... but not here, as it's not S-Lang
	specific.

	* cmd.c: Remove source routing code.
	* main.c: Likewise.

	* screen.c (user_file_menu_cmd): Move ...
	* cmd.c: ... here.
	* cmd.h: Remove unused declarations.

	* chmod.c (stat_file): Eliminate.  Use mc_stat().
	* chmod.h: Remove unneeded code.
	* chown.h: Likewise.
	* main.c: Include achown.h.

	* fileopctx.h: Define struct FileOpContext.
	* background.h: Avoid conditional declarations.

	* dir.h: Eliminate DIR_H_INCLUDE_HANDLE_DIRENT.  Adjust all
	callers.  Remove unused code.
	* dlg.h: Remove unused code.
	* panel.h: Likewise.

2003-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* dir.c (if_link_is_exe): Check mc_stat() return value.
	Make full_name and file_entry const.
	(link_isdir): Make file_entry const.
	* dir.h: Adjust declarations.

2003-10-24  Pavel Roskin  <proski@gnu.org>

	* view.c (view_handle_editkey): Fix prototype.
	(toggle_hex_mode): Don't mess with parent's flags - it can
	permanently disable Tab switch between panels.
	(view): Use DLG_WANT_TAB for full screen only, unconditionally.

2003-10-23  Pavel Roskin  <proski@gnu.org>

	* tree.h: Don't include treestore.h.  Fix sources to include
	treestore.h when needed.
	* treestore.h: Eliminate useless typedefs.

	* treestore.c (tree_store_start_check_cwd): Eliminate.
	(tree_store_start_check): Make globally visible.
	* dir.c (do_load_dir): Use path supplied as argument.  Call
	tree_store_start_check() after the directory is opened.
	(do_reload_dir): Likewise.

2003-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* dir.c (do_reload_dir): Fix memory leaks.

2003-10-23  Pavel Roskin  <proski@gnu.org>

	* win.c (check_movement_keys): Remove "additional" argument,
	it's always 1.

	* view.c: (put_editkey): Rename to ...
	(view_handle_editkey): ... this.  Move here some logic from ...
	(view_handle_key): ... here.

	* view.c: Eliminate struct block_ptr_t and enum ViewSide.
	Rename ascii mode to text mode.

	* view.c (WView): Remove unused fields localcopy and file_dirty.
	Make boolean fields 1 bit wide.

	* view.c (toggle_hexedit_mode): New function, split from ...
	(toggle_wrap_mode): ... this.
	(view_labels): Fix overuse of the :? operator.  Don't allow
	editing files in quick view - it's easy to lose changes.

	* main.c (process_args): Use cast to avoid warning.

	* view.c (view_callback): Don't close the current dialog when
	the viewer is framed.

2003-10-16  Pavel Roskin  <proski@gnu.org>

	* main.c (update_one_panel_widget): Use VFS_SETCTL_FLUSH for the
	current directory.  This fixes Ctrl-R on fish.
	* vfsdummy.h: Remove unused functions.

	* main.c (process_args): Use VFS_SETCTL_LOGFILE for ftpfs.

2003-10-15  Pavel Roskin  <proski@gnu.org>

	* glibcompat.h: Define g_try_malloc as malloc for glib 1.2.x.

	* view.c (load_view_file): Use g_try_malloc() because the
	failure to allocate memory is acceptable here.
	Reported by Pavel S. Shirshov <me@pavelsh.pp.ru>

2003-10-14  Pavel Roskin  <proski@gnu.org>

	* tree.c: Remove dead code.
	* treestore.c (tree_store_add_entry): Make static.
	(tree_store_start_check): Likewise.

	* cmd.c: Cleanup of unneeded global functions and data.
	* color.c: Likewise.
	* dir.c: Likewise.
	* file.c: Likewise.
	* filegui.c: Likewise.
	* hotlist.c: Likewise.
	* layout.c: Likewise.
	* main.c: Likewise.
	* panelize.c: Likewise.
	* wtools.c: Likewise.

2003-10-12  Pavel Roskin  <proski@gnu.org>

	* screen.c (do_enter_on_file_entry): Remove annoying message "no
	action taken".  Simplify logic.  Confirmation affects VFS too.

2003-10-11  Pavel Roskin  <proski@gnu.org>

	* vfsdummy.h: New file to replace vfs.h if VFS is disabled.
	* Makefile.am: Add vfsdummy.h.
	* global.h [!USE_VFS]: Include vfsdummy.h.  Fix files that
	include vfs.h directly.

	* file.c (check_hardlinks): Use vfs_file_class_flags().

	* main.c (_do_panel_cd): Use vfs_release_path().

	* file.c: Use struct vfs_class, not type vfs, which should be
	internal to VFS code.

2003-10-08  Pavel Roskin  <proski@gnu.org>

	* background.h: Eliminate background_wait variable.  Adjust all
	dependencies.

	* main.c (argument_table): Reorder options into logical groups.

2003-10-07  Pavel Roskin  <proski@gnu.org>

	* dlg.c (dlg_broadcast_msg): Use widget_msg_t type.
	(dlg_broadcast_msg_to): Likewise.

2003-09-29  Koblinger Egmont  <egmont@uhulinux.hu>

	* main.c (copy_other_pathname): Trailing slash was not always
	inserted when it should be.

2003-09-29  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* find.c (do_search): Use strncpy() instead of unsafe strcpy().
	Check mc_(l)stat() return values.

2003-09-24  Pavel Roskin  <proski@gnu.org>

	* key.c (xterm_key_defines): More sequences for gnome-terminal.

2003-09-23  Pavel Roskin  <proski@gnu.org>

	* key.c (xterm_key_defines): Add more sequences.

2003-09-22  Pavel Roskin  <proski@gnu.org>

	* find.c (find_file): Don't call file_mark(), it would use
	uninitialized data.
	* main.c (panel_clean_dir): Make panel dirty.

	* glibcompat.c: New file for compatibility with older versions
	of glib.
	* glibcompat.h: Likewise.
	* Makefile.am: Add the new files SOURCES.
	* global.h: Include glibcompat.h.

	* menu.c (menu_scan_hotkey): Use g_strlcpy() to avoid undefined
	behavior when using strcpy() on overlapping strings.
	* profile.c (GetSetProfile): Likewise.
	* widget.c (button_scan_hotkey): Likewise.
	Found by Valgrind.

2003-09-13  Pavel Roskin  <proski@gnu.org>

	* dlg.c (dlg_replace_widget): Clean rewrite.  It was broken
	after eliminating Widget_Item.

	* menu.h: Return to keeping dialog id instead of a widget
	pointer for previous widget.  The widget can be replaced in the
	meantime.
	* dlg.c (dlg_select_by_id): New function, essentially a cleaner
	implementation of dlg_select_nth_widget().

	* dlg.h: Remove "first" field for dialogs and DLG_HAS_MENUBAR.
	* dlg.c (dlg_mouse_event): Remove menubar hack.
	* screen.c (do_panel_event): Redirect mouse events on the upper
	frame to the menubar if it's invisible.
	(panel_event): Don't repaint the panel after redirected events.

2003-09-12  Pavel Roskin  <proski@gnu.org>

	* screen.c (panel_event): Make sure that the panel is repainted
	after the event is processed.

	* hotlist.c (l_call): Fix incorrect calls to hotlist_callback().

	* dlg.h: Merge Widget_Item into Widget.  Massive adjustment.

	* main.c (setup_panels_and_run_mc): Use straight widget order in
	midnight_dlg.  Select initial panel by dlg_select_widget().

	* menu.h (WMenu): Save pointer to the previous widget, not its
	number.  Adjust all dependencies.
	* menu.c (menubar_finish): Restore focus on the saved widget.
	* dlg.c (dlg_item_number): Remove, it's unused now.
	(dlg_select_nth_widget): Likewise.

	* help.c (interactive_display): Use straight widget order.

	* complete.c (complete_engine): Don't need DLG_REVERSE.
	* widget.c (show_hist): Likewise.
	* view.c (view): Use straight widget order.

	* dlg.h: Replace DLG_BACKWARD to DLG_REVERSE with a better
	defined meaning.  Make it default to populate dialogs from the
	top.  Change all calls to create_dlg().

	* dlg.c: DLG_BACKWARD now affects how the dialog is populated by
	widgets, not the runtime behavior.
	(init_dlg): Don't change current widget.  This allows using
	dlg_select_widget() before the dialog is run.
	* dlg.h: Remove initfocus field.
	* wtools.c (query_dialog): Use dlg_select_widget(), not
	initfocus to set the initial widget.

	* widget.c (input_callback): Don't handle Enter.
	Requested by Ali Akcaagac <aliakc@web.de>

	* chmod.c (chmod_callback): Fix uninitialized variable.

2003-09-11  Pavel Roskin  <proski@gnu.org>

	* main.c (midnight_callback): Don't redraw dirty panels if the
	menubar is active.

	* dlg.c (add_widget): New, safer implementation.  Don't rely on
	the position of the first widget.  Disable insertion into
	running dialogs - it's unused and cannot be tested.

	* boxes.c (symlink_dialog): Add "OK" and "Cancel" buttons.
	Don't translate strings, it's done in quick_dialog().
	Reported by Ali Akcaagac <aliakc@web.de>

2003-09-10  Pavel Roskin  <proski@gnu.org>

	* dlg.h: Remove "last" field from Dlg_head, it's unneeded in a
	circularly linked list.

	* screen.c (paint_dir): Don't make panel clean here.
	(panel_update_contents): Do it here.
	(panel_callback): Repaint the panel on focus.
	(select_item): Don't paint anything here.

	* dlg.h (send_message): Use cb_ret_t and widget_msg_t.

	* main.c (menu_cmd): If the current panel is inactive, use the
	opposite side to start menu.

	* dlg.h: Use cb_ret_t and widget_msg_t in widget callbacks.
	Massive adjustment for the above.

	* chmod.c (chmod_toggle_select): Get id as argument.

	* dlg.h: Remove restroy callback.  Widgets should use
	WIDGET_DESTROY.  Adjust all dependencies.

	* dlg.c: Don't supply ID of the current widget with any
	callbacks.  It's mostly useless and can be found by the
	callback.
	* layout.c: Likewise.
	* widget.c: Likewise.
	* chmod.c (chmod_callback): Adjust for the above.

	* layout.c (layout_change): Make static.
	* screen.c (paint_panel): Likewise.
	* cmd.c (dirsizes_cmd): Use dirty flag.
	* tree.c (chdir_sel): Don't call paint_panel().

	* find.c: Remove useless calls to paint_panel().
	* panelize.c: Likewise.

	* screen.c (use_display_format): Set dirty flag.  Remove calls
	to paint_panel() where they become unneeded.

	* screen.c (file_mark): Set dirty flag if the mark changes.
	* cmd.c: Remove calls to paint_panel() due to file marks.

	* screen.c (update_dirty_panels): New function - update panels
	with the dirty flag.
	(panel_update_contents): Make static, don't call directly.
	* main.c: Don't call panel_update_contents(), use dirty flag.
	(midnight_callback): Call update_dirty_panels().

2003-09-09  Pavel Roskin  <proski@gnu.org>

	* find.c (find_parameters): Make "filename" entry focused on
	startup - it's used more often than "start at".

	* widget.c (button_callback): Don't let the default button steal
	Enter from the current button.

	* widget.c (button_callback): Treat Enter as hotkey for the
	default button.
	* wtools.c (quick_callback): Remove, it's unneeded now.

	* wtools.c (quick_callback): Restore old obscure functionality -
	DLG_KEY should not return MSG_HANDLED to allow the button
	callback to override the dialog return value.

	* key.c (xterm_key_defines): Add keypad keys.
	Reported by Vyacheslav Filyayev <vfilyayev@d2.khai.edu>

2003-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (view_init): Constify "_command" argument.
	(view): Likewise.
	(do_view_init): Likewise.
	(init_growing_view): Constify "name" and "filename" args.
	* view.h: Fix declarations and comment.

	* user.c (execute_menu_command: Fix rare segmentation violation
	if last line in menu file contain space(s) only and no trailing
	newline.

2003-09-07  Pavel Roskin  <proski@gnu.org>

	* listmode.c: Use groupboxes.

	* layout.c (init_layout): Use groupboxes.

	* widget.c: Implement new widget - groupbox.
	* option.c: Use it.

	* layout.c: Fix remaining callback calls.
	* widget.c: Likewise.

	* dlg.h: Use new types for dialog callbacks.
	(dlg_cb_fn): Swap msg and parm arguments for consistency with
	widget callbacks.  Adjust all dependencies.

	* dlg.h: Remove WIDGET_USER.  Define new types dlg_msg_t,
	widget_msg_t and cb_ret_t.

	* dlg.c (find_widget_type): Take pointer to void to avoid casts
	everywhere.  Adjust all callers.

	* main.c (midnight_callback): Fix for the last commit - repaint
	the panel if the search mode is unset.

	* dlg.h: Remove DLG_PRE_EVENT, it's unused now.

	* main.c (make_panels_dirty): Remove, it's unneeded now.
	(midnight_callback): Don't call make_panels_dirty().  Mark
	current panel dirty if the search mode is unset.  No need to set
	attributes before calling show_console_contents().

	* dlg.h: Convert send_idle_msg field to a publicly visible flag
	DLG_WANT_IDLE.
	* main.c (midnight_callback): Move auto_menu handling to the
	handler for DLG_IDLE.
	(do_nc): Request idle events.

2003-09-06  Pavel Roskin  <proski@gnu.org>

	* dlg.c: Fix a bug when DLG_HOTKEY_HANDLED would not be
	delivered if the current widget already has focus.

2003-09-04  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* user.c (execute_menu_command): Implement %view macro.

2003-09-03  Pavel Roskin  <proski@gnu.org>

	* wtools.c (create_listbox_window): Don't repaint the dialog
	before it's run.

	* learn.c: Don't track button hotkeys.
	(learn_check_key): Consume all alphanumeric keys, regardless of
	button hotkeys.

2003-09-01  Pavel Roskin  <proski@gnu.org>

	* listmode.c: Create all buttons in one place.  Remove unneeded
	low-level drawing.
	(listmode_edit): Return NULL on cancel.
	* main.c (listmode_cmd): Actually use the result of
	listmode_edit().

	* listmode.c: Use callbacks for Add and Remove buttons.  Don't
	run dialog in the loop, it doesn't work this way.

	* widget.h: Define type bcback for button callbacks.

	* widget.c (listbox_new): Remove "action" argument.  Listboxes
	without callbacks default to closing the dialog.  Adjust all
	users.  This fixes double click on completion listbox.
	* widget.h: Use uppercase names for the return values of the
	listbox callback.

	* hotlist.c (update_path_name): Avoid using global variable.
	(l_call): Likewise.

	* widget.h: Eliminate listbox_cback.  Call listbox callback
	whenever it's defined.  Adjust all users.

	* widget.h: Use exact type in the listbox callback.  Adjust all
	legitimate users, remove all unused callbacks.

	* boxes.c: Fix GUI code for some non-default configurations.
	* listmode.c: Likewise.

2003-08-31  Pavel Roskin  <proski@gnu.org>

	* widget.h (button_new): Remove unused extra argument.  Adjust
	all dependencies.

	* option.c (check_options): Remove tk field.
	* widget.c: Comment fix to get rid of references to Tk.
	* wtools.c (real_input_dialog_help): Rename tk_name to histname.
	Remove names from non-input widgets.

	* widget.h: Completely get rid of tkname.  Rename it to histname
	for the input widget.  Adjust all dependencies.

	* dlg.h (struct Widget): Remove tkname field.
	(init_widget): Remove tkname argument.
	* widget.h (listbox_new): Likewise.
	Adjust all dependencies.

2003-08-29  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* cmd.c (edit_symlink_cmd): Fix possible off-by-one after
	readlink().
	* file.c (make_symlink): Likewise.
	* main.c (copy_readlink): Likewise.
	* screen.c (display_mini_info): Likewise.
	(chdir_to_readlink): Likewise.
	* util.c (resolve_symlinks): Likewise.

2003-08-18  Pavel Roskin  <proski@gnu.org>

	* cmd.c (delete_cmd_local): New function.  Remove file under the
	cursor, regardless of marks.
	* screen.c (panel_keymap): Bind it to F18.

	* file.c (panel_operate_generate_prompt): Remove source
	calculation, it doesn't belong here.
	(panel_operate): Change arguments: drop ask_user and thedefault,
	introduce force_single.  force_single changes default to the
	current file and ignores selection.  Adjust all dependencies.

2003-08-17  Pavel Roskin  <proski@gnu.org>

	* dir.h (file_entry): Rename "buf" to "st".  Adjust all
	dependencies.

2003-08-01  Pavel Roskin  <proski@gnu.org>

	* main.c: Rename PanelMenu to LeftMenu.  Don't assume that
	LeftMenu and RightMenu are identical.
	From Pavel Tsekov <ptsekov@gmx.net>

2003-07-28  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c: Make more variables static.

2003-07-23  Pavel Roskin  <proski@gnu.org>

	* key.c (xterm_key_defines): Add more sequences for xterm-179 by
	Thomas E. Dickey.

2003-07-21  Pavel Roskin  <proski@gnu.org>

	* subshell.c (pty_open_master) [HAVE_GRANTPT]: Prefer
	posix_openpt() over GNU-specific getpt().  Needed for FreeBSD
	5.x.  Original patch by Max Khon <fjoe@FreeBSD.org>

	* screen.c (panel_key): Redisplay ministatus if the searching
	was turned off.  Reported by gotar@poczta.onet.pl

2003-07-08  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* ext.c (regex_check_type): Don't skip first character after ":"
	unconditionally.

2003-07-02  Pavel Roskin  <proski@gnu.org>

	* ext.c (regex_check_type): Set content_shift to skip the
	filename.

2003-06-27  David Sterba  <dave@jikos.cz>

	* hotlist.c: Add buttons "Refresh" and "Free VFSs now" to Active
	VFS dialog.
	(hotlist_button_callback): Handle the buttons.
	* main.c: Remove the 'Free VFS now' menu item.

2003-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* ext.c (regex_check_type): Fix previous change.

	* ext.c (regex_check_type): Strip tab(s) after "filename:" in
	file output.

2003-06-22  Pavel Roskin  <proski@gnu.org>

	* execute.c (do_execute): Make static.  Print end of line after
	"Press any key to continue" and user's keystroke, but before
	restoring the panels.  Eliminate last_paused variable.  Don't
	print fake prompt if there is no command.

	* text.c: Eliminate.  Move colors to color.c and clr_scr() to
	layout.c.
	* main.c (restore_console): Eliminate, use handle_console().
	* Makefile.am: Remove text.c.

	* execute.c: New file with all functions for execution and
	toggling panels not specific to subshell.
	* execute.h: Corresponding header.
	* Makefile.am: Adjust for the above.

	* main.c (execute): Eliminate.  Fix all dependencies.
	(shell_execute): Constify string argument.

2003-06-09  Pavel Roskin  <proski@gnu.org>

	* key.c (mc_bindings): Remove.  Esc-">" and Esc-"<" are not
	always the same as Home and End, at least in mcedit.
	(get_key_code): Never ignore Escape outside known sequences.
	* screen.c (panel_keymap): Add Esc-">" and Esc-"<".
	* tree.c (tree_keymap): Likewise.
	* widget.c (input_map): Likewise.
	(listbox_key): Likewise.
	(check_movement_keys): Likewise.
	Reported by Miguel de Icaza <miguel@ximian.com>

2003-06-09  David Sterba  <dave@jikos.cz>

	* key.c (correct_key_code): Treat Shift-Backspace as Backspace.

2003-06-06  Pavel Roskin  <proski@gnu.org>

	* util.h: Add new match_type - match_regex.
	* ext.c: Use it everywhere.
	(regex_command): Don't change easy_patterns - it affects the
	panel filters.
	Reported by Andrew V. Samoilov <sav@bcs.zp.ua>

	* view.c (get_byte): Fix off-by-one error.  Found by Valgrind.

	* command.c (command_new): Fix memory leak.
	* subshell.c (exit_subshell): Free pty_buffer.

2003-06-05  Pavel Roskin  <proski@gnu.org>

	* dir.c (do_load_dir): Add new argument "path" to avoid the need
	to request the current directory.
	(do_reload_dir): Likewise.  Adjust all callers.

	* screen.c (panel_destroy): Rewind history to the beginning
	before freeing it.
	* widget.c (input_destroy): Likewise.
	* util.c (list_append_unique): Free data when removing duplicate
	list entries.

2003-05-29  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* key.c (init_key): Fix crash if TERM is unset.

2003-05-29  Koblinger Egmont  <egmont@uhulinux.hu>

	* ext.c (regex_check_type): Recognize and skip "/dev/stdin:"
	that can appear in the output of new versions of file.

	* util.c (unix_error_string): Convert error string from UTF-8 if
	glib 2 is used.

	* text.c (default_edition_colors): Change the default for
	dhotfocus to be blue on cyan for consistency with dhotnormal.

2003-05-27  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* info.c (info_show_info): Cast myfs_stats.avail to double to
	fix integer overflow that can cause a negative percent number.

2003-05-05  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>

	* main.c (directory_history_add): Don't change the directory
	passed as the argument, work on a copy.

2003-04-16  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* find.c (get_line_at): Strip trailing newline to fix $
	matching.

2003-03-26  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* file.c (copy_file_file): Fix data corruption if mc_write()
	does not write n_read bytes at once.
	(move_file_file): Eliminate retry_src_lstat label.

2003-03-24  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (get_line_at): Set prev properly for reverse search.
	Don't remove final character in the last line without newline.
	(search): During regexp search: handle properly '^'
	in forward search and '$' in reverse search.
	Based on the patch from Adam Byrtek <alpha@debian.org>.

2003-03-22  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* cons.handler.c (set_attr) [__FreeBSD__]: Fix compilation.
	Reported by Dmitry Alexeyev <dmi_a@qnx.org.ru>.

2003-03-22  Adam Byrtek  <alpha@debian.org>

	* command.c (enter): Check subshell state early and return if
	inactive before clearing the command line.
	* main.c (force_subshell_execution): Remove magic, unusable,
	undocumented command line option "-r".

	* subshell.c: Remove dead code (SYNC_PTY_SIDES).
	(init_subshell_child): Remove dead code (initfile for TCSH).
	(init_subshell): Use ZSH_VERSION environment variable to detect
	ZSH.  Use -g option to zsh to hide entries beginning with space
	from history.  Add space before ZSH precmd to hide it.

2003-03-21  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (get_line_at): Return unreversed line for backward
	search to restore backward regexp search feature.
	(icase_search_p): Fix for the above.
	Reported by Adam Byrtek <alpha@debian.org>

2003-03-19  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (icase_search_p): Add backward search support.
	(search): Likewise.
	(block_search): Likewise.
	(normal_search): Add "Backwards" button.
	(get_line_at): Handle view->direction properly and return
	reversed string if backward search required.

2003-03-14  Pavel Roskin  <proski@gnu.org>

	* key.c (xterm_key_defines): Add more sequences for xterm, rxvt
	and konsole.

2003-03-11  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* key.c: Use fputs() instead of fprintf().
	(func_XOpenDisplay) [HAVE_GMODULE]: Move to init_key_x11().
	(get_modifier) [__QNXNTO__]: Use g_snprintf() instead of unsafe
	sprintf().

2003-03-10  Pavel Roskin  <proski@gnu.org>

	* key.c (correct_key_code): Convert unrecognized 0177, Ctrl-h
	and Ctrl-d into Delete and Backspace.  Remove all references to
	those keys in other files.

	* key.c (get_modifier) [__QNXNTO__]: Remove incorrect check for
	the existence of libph.so.1.

2003-03-10  Dmitry Alexeyev  <dmi_a@qnx.org.ru>

	* key.c (get_modifier): Add support for QNX Photon pterm.

2003-03-10  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (canonicalize_pathname): Clean rewrite from
	scratch.  The old implementation had memory problems with "/.."
	and didn't actually strip the leading "./" from path.  Remove
	support for obsolete Qnet paths.

2003-03-05  Pavel Roskin  <proski@gnu.org>

	* subshell.c (init_subshell_child): Set environment variable
	MC_SID to the session number of the subshell.
	(check_sid): Check that we are not running mc already in the
	same session.
	* main.c (main): Don't run do_nc() if shutdown was requested.

2003-03-05  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* cons.handler.c (set_attr) [__FreeBSD__]: Eliminate cmd array.

2003-03-05  Max Khon  <fjoe@iclub.nsu.ru>

	* cons.handler.c (console_init) [__FreeBSD__]: Fix the amount of
	allocated memory.
	(console_save) [__FreeBSD__]: Doesn't exit on error, just return.

2003-03-05  Pavel Roskin  <proski@gnu.org>

	* cons.handler.c (show_console_contents_freebsd): Rewrite
	to use screen library (S-Lang or ncurses).  Direct output is
	unreliable when the screen library is active.

2003-03-03  Pavel Roskin  <proski@gnu.org>

	* profile.c (load): Fix reading keys immediately after comments.

2003-02-26  Pavel Roskin  <proski@gnu.org>

	* cons.handler.c: Put checks for rxvt extensions in one place.
	Simplify FreeBSD code.

2003-02-26  Max Khon  <fjoe@iclub.nsu.ru>

	* cons.handler.c: Add implementation for FreeBSD 4.x and 5.x.

2003-02-26  Pavel Roskin  <proski@gnu.org>

	* view.c (load_view_file): Make sure view->s.st_size is not
	truncated when passed to g_malloc().
	Reported by Philipp Thomas <pthomas@suse.de>

2003-02-23  Dmitry Alexeyev  <dmi_a@qnx.org.ru>

	* key.c (get_modifier): Add support for QNX Neutrino console.

2003-02-23  Pavel Roskin  <proski@gnu.org>

	* key.c (init_key_x11): Don't try to use X11 if DISPLAY is not
	set in the environment.

2003-02-22  Pavel Tsekov  <ptsekov@gmx.net>

	* key.c: Add support for dynamic loading of libX11.

2003-02-21  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (destroy_groups): Revert last change, it doesn't
	work with glib-1.2.x.

2003-02-19  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* option.c (init_configure): Use OTHER_OPTIONS consistently.
	By Mike Smithson <dooligan@intergate.ca>.

2003-02-18  Pavel Roskin  <proski@gnu.org>

	* util.c (list_append_unique): Free removed links.
	* utilunix.c (destroy_groups): Use g_tree_foreach() instead of
	obsolete g_tree_traverse().

	* util.c (list_append_unique): Traverse the list backwards.
	Otherwise the list was lost when the current link was removed.

	* widget.c (history_get): Set the history to the last item.
	Reported by Adam Byrtek <alpha@debian.org>

	* main.c (do_panel_cd): Record directory history for the panel
	that changes the directory, not for the current panel.

	* widget.c (history_get): Use list_append_unique() for backward
	compatibility.

	* main.c (directory_history_list): Allow history command even
	with just one entry - it's more intuitive.

	* util.c (list_append_unique): New function - add text to GList
	and remove duplicates.
	* main.c (directory_history_add): Use list_append_unique().
	* widget.c (push_history): Likewise.

	* panel.h: Convert directory history to GList.
	* widget.h: Convert input history to GList.
	Adjust all dependencies.

2003-02-11  Pavel Roskin  <proski@gnu.org>

	* cmd.c (edit_cmd_new): Call editor with NULL argument, not with
	an empty string.  nvi won't save the file if invoked with an
	empty argument.
	(execute_with_vfs_arg): Don't call vfs_file_is_local() on NULL.
	Reported by Adam Byrtek <alpha@debian.org>

2003-02-04  Pavel Roskin  <proski@gnu.org>

	* cmd.c (get_random_hint): Add "force" argument to ignore
	timeout.  Adjust all dependencies.
	* main.c (load_hint): Likewise.
	* layout.c (setup_panels): Force updating the hint bar.
	Original patch by Adam Byrtek <alpha@debian.org>

2003-02-03  Pavel Roskin  <proski@gnu.org>

	* slint.c (getch): If there is EOF on the input, exit
	immediately, don't use quiet_quit_cmd().
	Reported by Steven P. Ulrick <spu@faith4miracle.org>

2003-01-28  Pavel Roskin  <proski@gnu.org>

	* util.c (name_quote): Don't quote ':', '~' and '@'.  Quote '#'
	and '~' only if it's the first character.

	* info.c (info_show_info): Cast nlink_t to int to avoid a
	warning if nlink_t is short.
	* screen.c (string_file_nlinks): Likewise.

2003-01-27  Arpi  <arpi@mplayerhq.hu>

	* key.c (is_idle): Correct maximal file descriptor and return
	value.

2003-01-27  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* util.h (app_text): Remove declaration - it became static.
	* util.c (get_compression_type): Cast magic to char * to
	fix compilation on AIX.
	* mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT1]:
	Check for MOUNTED is defined to fix compilation on AIX.
	Reported by Alexander Varakin <avarakin00@hotmail.com>.

2003-01-27  Pavel Roskin  <proski@gnu.org>

	* main.c (update_xterm_title_path): Use is_printable().

2003-01-24  Pavel Roskin  <proski@gnu.org>

	* slint.c (slang_reset_softkeys): Cast arguments from size_t to
	int to avoid a warning on 64-bit systems.

	* subshell.c (resize_tty) [!TIOCSWINSZ]: Warning fix.

2003-01-23  Pavel Roskin  <proski@gnu.org>

	* slint.c (slang_init): Limit screen size to 255x255 because of
	S-Lang limitations.
	Reported by Tero Peippola <top@ees2.oulu.fi>

2003-01-22  Adam Byrtek  <alpha@debian.org>

	* cmd.c (view_other_cmd): Update path in the xterm title after
	command execution.
	* main.c (do_execute): Likewise.

2003-01-22  Pavel Roskin  <proski@gnu.org>

	* util.c (size_trunc): Remove "b" from the output - it's
	redundant and wrong - the abbreviation for byte is "B".
	Reported by Werner Lemberg <wl@gnu.org>

2003-01-20  Pavel Roskin  <proski@gnu.org>

	* screen.c (string_file_type): Check for "regularity" before
	checking for executable bit.
	(file_compute_color): Likewise.

	* dir.c (handle_dirent): Fix cleaning the stat buffer if
	mc_lstat() fails.  Leave buf1->st_mode to be 0, so that the
	entry is marked as a "non-regular file of unknown kind".
	* screen.c (do_enter_on_file_entry): Try to change directory
	when pressing Enter on a non-stat()able file.

	* screen.c (string_file_type): Represent non-regular files of
	unknown kind by '?'.
	(file_compute_color): Use for them the same color as for stale
	links.

	* main.c: Change default value of full_eight_bits to 0 - it's
	reported to be broken on many terminals.

	* man2hlp.c (main): Initialize cnode->heading_level.
	Bug report by Tribhuvan <loka@rcn.com>

	* dir.c (sort_size): Avoid any arithmetic except comparison on
	file sizes - they may not fit "int" that the function returns.
	Original patch by Bulia Byak <bulia@dr.com>

2003-01-20  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* profile.c (load): Handle corrupted section header.
	Reported by skol@sbox.tugraz.at.
	(GetPrivateProfileInt): Make intBuf and buf auto variables.

2003-01-20  Pavel Roskin  <proski@gnu.org>

	* screen.c (do_search): Use case-insensitive search if and only
	if the sort order is case-insensitive.
	Suggested by Bulia Byak <bulia@dr.com>

2003-01-19  Pavel Roskin  <proski@gnu.org>

	* dir.c (do_load_dir): Remove dotdot_found - handle_dirent()
	doesn't process ".." now.  Don't add ".." to the "/" directory.
	(do_reload_dir): Likewise.
	Suggested by Bulia Byak <bulia@dr.com>

	* dir.c (handle_dirent): If mc_lstat() fails, assume that the
	entry is a directory.  This is useful for QNX Neutrino.

2003-01-15  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* man2hlp.c (fclose_check): Call ferror() and exit on file
	error.

	* man2hlp.c (main): Use fgets() return value in while loop
	instead of feof() because end-of-file indicator can be false on
	error.

	* man2hlp.c (handle_command): Fix possible buffer overflow.
	(handle_link): Likewise.

2002-12-27  Pavel Roskin  <proski@gnu.org>

	* layout.c (setup_panels): Revert unnecessary part of the
	previous patch.  Call load_hint() regardless of message_visible.
	Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>

	* key.c (correct_key_code): Don't call get_modifier() for normal
	characters - they only should get modifiers from sequences
	tables.  This fixes entering characters with AltGr.
	Reported by David Martín <dmartina@excite.com>

	* view.c (max_dirt_limit): Make global to match view.h.
	* setup.c (options): Actually save max_dirt_limit, which is
	documented as a "special setting".

2002-12-26  Pavel Roskin  <proski@gnu.org>

	* key.c (get_modifier): Warning fix.

	* file.c: Never access internals of ctx->rx directly.
	* fileopctx.c (file_op_context_destroy): Use regfree() to free
	ctx->rx.
	Patch from Red Hat beta.

	* layout.c (setup_panels): Clean the hint bar if it's enabled.
	Bug reported by Adam Byrtek <alpha@debian.org>

2002-12-26  Adam Byrtek  <alpha@debian.org>

	* main.c (update_xterm_title_path): New function, display
	current path in the xterm window title.
	(_do_panel_cd): Call update_xterm_title_path().
	(done_mc): Remove final message for the titlebar.
	* layout.c: Replace "Xterm hintbar" option with more generic
	"Xterm window title".  Update all dependencies.
	(setup_panels): Call update_xterm_title_path().

2002-12-26  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (mc_tmpdir): Check temporary directory more
	carefully.  Report problems and ask user to acknowledge them.

	* main.c (midnight_callback): Fix the last change, so that plain
	Enter is not affected.

2002-12-25  Pavel Roskin  <proski@gnu.org>

	* main.c (copy_prog_name): Make static.
	(midnight_callback): Handle both Alt-Enter and Ctrl-Enter before
	the widgets, because the input widget interprets them now.
	(default_map): Remove Alt-Enter, it's handled elsewhere.

	* key.c (correct_key_code): Convert Shift-Tab and Ctrl-Tab to
	Back Tab (used in dialogs to jump to the previous widget).

	* widget.c (input_callback): Insert Enter with a modifier as
	literal Enter.  Useful when pasting multiline text.

	* cmd.c (execute_with_vfs_arg): New function.  Work around
	defects of VFS localcopy code.
	(view_file_at_line): Use execute_with_vfs_arg().
	(do_edit_at_line): Likewise.

2002-12-24  Pavel Roskin  <proski@gnu.org>

	* key.c (is_idle): Check for input on input_fd and gpm_fd.

	* main.c (init_xterm_support): Revert last change, it doesn't
	free all S-Lang memory anyways, but creates portability issues.

	* dlg.h: Add new event DLG_VALIDATE.
	* dlg.c (frontend_run_dlg): Send DLG_VALIDATE.
	(select_a_widget): Don't send DLG_ONE_DOWN, nobody uses it.
	* find.c (find_parm_callback): New callback for the parameter
	dialog.  Don't allow stopping the dialog if the regular
	expression is invalid.

2002-12-23  Pavel Roskin  <proski@gnu.org>

	* layout.c (init_curses) [HAVE_SLANG]: Don't call
	SLtt_get_terminfo(), it's already called in slang_init().
	* main.c (init_xterm_support): Free term_entry.

	* subshell.c (subshell_switch_key): Make static const.

	* key.c (correct_key_code): Strip or add modifier information
	when necessary.  Recognize shift with function key N as function
	key (N + 10).  Fix breakage from previous patch.
	* key.h: Change XCTRL and ALT macros to use new definitions for
	keyboard modifiers.

2002-12-21  Pavel Roskin  <proski@gnu.org>

	* key.c (get_modifier): Make static.  Return the mc internal
	representation, not the Linux console code.
	(correct_key_code): Add the modifier, not strip it.
	(ctrl_pressed): Remove.  Adjust all dependencies.

	* key.h: Add definitions for the keyboard modifiers that can be
	part of the key code.
	* key.c (xterm_key_defines): Add some common key definitions
	with modifiers for xterm and rxvt.
	(correct_key_code): Strip and remember modifiers.
	(get_modifier): Add support for saved modifiers.

2002-12-20  Pavel Roskin  <proski@gnu.org>

	* layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 200ms.
	If ESCDELAY is 0, ncurses 5.2 may stop recognizing escape
	sequences under heavy CPU load.

2002-12-19  Pavel Roskin  <proski@gnu.org>

	* screen.c (chdir_other_panel): Use do_panel_cd() on the
	opposite panel instead of changing the current panel twice.

	* main.c (make_panels_dirty): Preserve the cursor position.

2002-12-18  Tomas Styblo  <tripie@cpan.org>

	* hotlist.c (update_path_name): Update the title even when
	opening an empty group.

2002-12-16  Pavel Roskin  <proski@gnu.org>

	* dir.c (do_load_dir): Add an error message if mc_opendir()
	fails.
	(do_reload_dir): Likewise.
	* screen.c (do_enter_on_file_entry): Add an error message if
	do_cd() fails.

2002-12-15  Pavel Roskin  <proski@gnu.org>

	* view.c (do_view_init): Use non-blocking open() followed by
	fstat() to avoid race conditions.  Unset O_NONBLOCK flag after
	the open().

	* cmd.c (mkdir_cmd): Don't try to create a directory with empty
	name.

	* global.h: Add replacement for O_NONBLOCK.

2002-12-11  Pavel Roskin  <proski@gnu.org>

	* find.c (find_file): Skip entries without data when panelizing.
	Found by Valgrind.

	* eregex.h: Undefine __restrict_arr before redefining to avoid a
	warning if it's defined.

2002-12-09  Pavel Roskin  <proski@gnu.org>

	* util.c (load_file_position): Don't free filename.

2002-12-08  Pavel Roskin  <proski@gnu.org>

	* util.c: Add functions for saving and loading file positions.

2002-12-07  Pavel Roskin  <proski@gnu.org>

	* file.c (is_wildcarded): Move ...
	* filegui.c: ... here.  Make static.

2002-12-01  Pavel Roskin  <proski@gnu.org>

	* cmd.c (do_edit_at_line): Set line to 0 to allow the editor to
	decide if the user cares about the initial line or not.
	* main.c: Set edit_one_file_start_line to 0 initially.

2002-11-29  Pavel Roskin  <proski@gnu.org>

	* setup.c: Add option_save_position to the options table.

2002-11-28  Pavel Roskin  <proski@gnu.org>

	* tree.c: Make struct WTree opaque.  Remove "done" flag - it's
	broken by design.
	(tree_selected_name): New function, return name of the currently
	selected entry.  Use it where WTree is opaque.
	* boxes.c (tree_callback): Don't check for the "done" flag - it
	causes closing the dialog on any key after mouse selection.

	* user.h: Don't include edit/edit-widget.h.
	* user.c: Include edit/edit-widget.h and edit/edit.h.

	* slint.c (getch): Return -1, not SLANG_GETKEY_ERROR, otherwise
	get_key_code() crashes when calling isalpha().

	* color.c (mc_init_pair) [HAVE_SLANG]: Pass "default", not NULL
	to SLtt_set_color() - it fixes transparency with the latest
	versions of S-Lang.  Treat foreground like background.

2002-11-20  Pavel Roskin  <proski@gnu.org>

	* main.c: Eliminate finish_program variable - mc can now exit
	immediately.

2002-11-17  Pavel Roskin  <proski@gnu.org>

	* screen.c (do_select): Mark panel as dirty.

	* boxes.c (init_disp_bits_box): Make static.

2002-11-15  Pavel Roskin  <proski@gnu.org>

	* main.c (main): Don't call subshell_get_console_attributes() if
	the subshell is disabled from the command line.

2002-11-14  Pavel Roskin  <proski@gnu.org>

	* myslang.h: Define getyx() macro.
	* layout.c (print_vfs_message): Preserve cursor position.

	* view.h: Make struct WView opaque, move non-interface parts ...
	* view.c: ... here.
	* layout.c: Use struct WView, not typedef WView.

	* cmd.c: Clean up includes, don't rely on edit.h.

	* dialog.c (struct Refresh): Make opaque.
	* dialog.h: Move all stuff unrelated to dialog.c ...
	* wtools.h: ... here.  Adjust all users.

	* dialog.c (refresh_list): Make static.
	* dialog.h: Add typedef refresh_fn.

	* cmd.c (menu_edit_cmd): Make static, provide separate functions
	without arguments to access it.
	* menu.h: Make callfn function without arguments - we are not
	using any arguments now.

2002-11-13  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c (persistent_fread): Return error for len <= 0.
	(persistent_fwrite): Likewise.
	(main): Check the result of the second ftell().

	* cmd.h: Fully exclude WPanel from public interfaces of cmd.c.
	* cmd.c: All commands operate on current panels.
	(get_a_panel): Remove.
	* screen.c: Change to use new functions.

	* main.h: Don't check if panel.h was included.  Use forward
	declaration of WPanel, change prototypes to use struct WPanel.
	(midnight_callback): Make static.

	* cmd.c (do_view_cmd): Don't take WPanel argument - always use
	the current panel.
	(view_cmd): Likewise.
	(view_file_cmd): Likewise.
	(view_simple_cmd): Likewise.
	(filtered_view_cmd): Likewise.
	(filtered_view_cmd_cpanel): Remove.
	(view_panel_cmd): Likewise.

2002-11-12  Pavel Roskin  <proski@gnu.org>

	* chmod.c (init_chmod): Make static.
	* help.c (quit_cmd): Rename to help_quit_cmd().
	(show): Rename to help_show().
	* main.c (quit_cmd): Make static.  Return void, not int.
	(sort_cmd): Make static.

	* dlg.c (send_message_to): Remove, use send_message() instead.
	(send_message): Make inline, remove Dlg_head argument.  Change
	all callers.

	* dlg.h: Remove Dlg_head argument from callback_fn - it's
	excessive and can be trivially derived from the widget.
	(default_proc): Remove Dlg_head argument.  Change all callers.
	* widget.c (listbox_draw): Remove Dlg_head argument.

	* dlg.h: Define dlg_cb_fn - dialog callback function.  Improve
	typedefs for callbacks and use them everywhere.  Clean up some
	unused defines.
	* dlg.c: Adjust declarations for match.

	* wtools.h: Eliminate the_widget field in QuickWidget.
	* wtools.c (quick_callback): Allocate widget table dynamically.

	* dlg.c (widget_redraw): Remove.
	* widget.c (find_buttonbar): Use find_widget_type().  Make
	global.
	(define_label): Remove paneletc argument.  Change all callers.
	(define_label_data): Likewise.
	(redraw_labels): Likewise.  Use find_buttonbar().
	* view.c (view_adjust_size): Use find_buttonbar().

	* menu.h: Remove "*" from the definition of the type "Menu"
	for consistency with other types.  Change all dependencies.
	(menubar_event): Make static.

2002-11-12  Andrew V. Samoilov  <kai@cmail.ru>

	* view.c (get_line_at): Use g_strreverse() instead of
	reverse_string().
	* util.c (reverse_string): Remove.
	(decompress_extension): Return const char *.
	(strip_home_and_password): Make dir const.
	* util.h: Fix declarations.

2002-11-11  Pavel Roskin  <proski@gnu.org>

	* charsets.c (convert_to_display): Don't crash on empty read
	only strings.
	(convert_from_input): Likewise.
	Reported by David Martin <dmartina@excite.com>

	* screen.c (select_item): Don't show the file selection if the
	panel is inactive.
	(chdir_other_panel): Select the same file on the other panel.

	* file.c (panel_operate): Warning fix.
	* cmd.c (compare_dirs_cmd): Likewise.
	* man2hlp.c: Warning fixes.  size_t can be unsigned.

	* file.c (panel_get_file): Make static.
	* filegui.h: Eliminate use of WANT_WIDGETS.
	* setup.h: Likewise.
	* menu.h: Declare struct WMenu.
	* main.h: Don't include menu.h, use forward declaration.

	* dlg.h: Move movefn definition ...
	* win.h: ... where it's used.  Remove unused definitions.
	* win.c: Remove unused code.
	* key.h: Include mouse.h, don't rely on others doing it.
	* widget.h: Include dlg.h.  Remove Tk-only fields.
	* widget.c: Remove Tk-only fields.

	* panel.h: Simplify interdependencies between headers.  Use
	forward declarations for structures.
	* widget.h: Declare struct WListbox.
	* wtools.h: Use forward declaration for struct WListbox to avoid
	dependency on widget.h.

2002-11-10  Pavel Roskin  <proski@gnu.org>

	* panel.h: Remove all unused definitions.  Make format_e an
	opaque structure by moving it ...
	* screen.c: ... here.

	* screen.c (display_mini_info): Make static.
	(the_info_panel): Remove.

	* screen.c (Xtry_to_select): Make static, rename to
	do_try_to_select().

	* screen.c (chdir_other_panel): Change behavior of Alt-O -
	change the other panel to the current directory, put it to the
	listing mode if needed.  Based on a patch from PLD Linux
	Distribution.

2002-11-06  Pavel Roskin  <proski@gnu.org>

	* myslang.h: Don't define ERR - it conflicts with sys/ucontext.h
	in glibc 2.1.3.
	* key.c: Use -1, not ERR.

2002-11-01  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* boxes.c (configure_vfs): Ask whether passive connections
	should be used.  Asked by Andrew W. Nosenko <awn@bcs.zp.ua>.

2002-11-01  Pavel Roskin  <proski@gnu.org>

	* main.c (main): Use O_TRUNC when opening the file to write the
	last working directory.  Fix segmentation fault when exiting
	while on VFS.
	* util.c (mc_mkstemps): Use O_TRUNC to open temporary files.

2002-10-31  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (normal_search) [HAVE_CHARSET]: Fix segmentation fault
	on first search.  Writing to read-only "" is not good idea.

2002-10-31  Pavel Roskin  <proski@gnu.org>

	* main.c (probably_finish_program): Eliminate.
	(handle_args): Use exit code 1 only for errors, 0 for legitimate
	options such as "--help".

2002-10-30  Pavel Roskin  <proski@gnu.org>

	* main.c: Option -P takes an argument (output filename) now.
	(main): Output the last directory to the specified file.  Don't
	output "." if this information is unavailable.

	* subshell.c (subshell_name_quote): Don't quote numbers and
	letters if possible and safe.

	* charset.h: Provide new inline functions convert_to_display_c()
	and convert_from_input_c().
	* view.c: Include charset.h unconditionally, use new conversion
	functions that don't require ifdefs.

	* charset.h [!HAVE_CHARSET]: Provide dummy macros for
	convert_to_display and convert_from_input.  Eliminate uchar
	definition, use unsigned char, adjust dependencies.
	* charsets.c (convert_to_display): Tolerate NULL argument.
	(convert_from_input): Likewise.

	* ext.c (exec_extension): Don't create self-destructing scripts
	for the viewer - remove those scripts manually after calling
	view().  This fixes the problem with double F8 in the viewer on
	parsed files.
	Reported by David Martin <dmartina@excite.com>

	* ext.c (exec_extension): Don't rely on working #! - explicitly
	run /bin/sh on the temporary script.

	* mouse.h: Use definitions for GPM_B_DOWN and GPM_B_UP
	compatible with gpm-1.20.
	Reported by David Martin <dmartina@excite.com>

2002-10-29  Pavel Roskin  <proski@gnu.org>

	* panel.h: Use spaces, not commas, in the format - they are more
	readable and easier to document.
	* screen.c (panel_format): Likewise.
	(mini_status_format): Likewise.

2002-10-29  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (init_growing_view): Mark message for translation.
	(normal_search) [HAVE_CHARSET]: Convert saved search string to
	original codeset if input_dialog() returns empty string.

2002-10-24  Pavel Roskin  <proski@gnu.org>

	* screen.c (mini_info_separator): Revert last patch.  The bug is
	in Red Hat 8.0 S-Lang.

	* screen.c (mini_info_separator): The separator was one
	character too long.
	(show_dir): Remove obsolete linux_unicode hack.

	* dlg.c (init_dlg): Redraw screen after selecting the focused
	widget, not before.  The bug affected file progress dialog with
	verbose operation off.
	Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>

	* filegui.c (check_progress_buttons): Reinitialize ret_value to
	avoid old values after events other than selecting a button.
	Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>

2002-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* man2hlp.c (handle_link): Treat link name after \& as regular
	text.
	Suggested by David Martin <dmartina@excite.com>

2002-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* poptconfig.c (configLine): Cast the argument to functions for
	character classification to unsigned or use unsigned char *.
	(poptReadConfigFile): Likewise.
	* popthelp.c (singleOptionHelp): Likewise.
	* poptparse.c (poptParseArgvString): Likewise.

	* main.c (show_change_notice): Make local variable in main().
	(compatibility_move_mc_files): Merge with
	do_compatibility_move() and return 1 if moving was done, 0
	otherwise.  Move ~/.mc.tree to ~/.mc/Tree.

	* file.c (copy_file_file): Reuse message from move_file_file().
	(copy_dir_dir): Eliminate one more goto.

2002-10-22  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c (main): Remove unnecessary spaces in the table of
	contents.

	* setup.c: Remove dead code surrounded by
	SAVE_CHANGES_OUTSIDE_OPTIONS_MENU.
	* tree.c: Make tree_navigation_flag static.

	* help.h: Remove unused characters.
	* help.c (show): Remove handling of unused characters.

2002-10-22  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* popthelp.c (poptPrintHelp): Use POPT_ for "[OPTION...]",
	this message is eliminated by poptSetOtherOptionHelp().
	* popt.c (poptStrerror): Use _ instead of POPT_ for useful
	messages.

	* utilunix.c (mc_tmpdir): Make directory only if not exists.
	Use strncpy() instead of g_snprintf() - there can be printf()
	pattern(s) in the $TMPDIR.

	* man2hlp.c (handle_link): Don't strip leading space(s) from
	linkname.

2002-10-22  Pavel Roskin  <proski@gnu.org>

	* myslang.h: Add a replacement for addch(), which expects a
	wchar_t argument in patched S-Lang on Red Hat 8.0.

2002-10-21  Pavel Roskin  <proski@gnu.org>

	* main.c (print_mc_usage): Remove unnecessary newline.

	* main.c (print_mc_usage): Partly revert previous patch -
	poptPrintHelp() has side effects and should not be called
	inside fprintf(), which can be a macro.

	* main.c (print_mc_usage): Use poptSetOtherOptionHelp()
	From Andrew V. Samoilov <sav@bcs.zp.ua>

	* learn.c (learn_check_key): Simplify logic.  Add a comment for
	translators.

	* file.h: Rename know_not_what_am_i_doing to safe_delete.
	* file.c (real_query_recursive): Don't ask to enter "yes" - it's
	ugly and requires changing input method in some locales.

	* file.c (real_query_recursive): Default to empty string, not to
	"no" when asking to enter "yes".  Add note for translators.

	* cmd.c (do_view_cmd): When asking confirmation, correctly
	interpret closing the dialog by escape.

2002-10-20  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (mc_tmpdir): Don't exit if the temporary directory
	cannot be created - it should be possible to run mc on read-only
	filesystems.  Try to chmod() the temporary directory.

2002-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* man2hlp.c (handle_tp_ip): Implement .IP and .TP macros
	(without arguments).
	(handle_command): Call handle_tp_ip().
	(main): Handle label and body of .TP paragraph.

2002-10-17  Pavel Roskin  <proski@gnu.org>

	* view.c (view_ok_to_quit): Use the same dialog as the editor.

2002-10-15  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* Makefile.am (man2hlp_LDADD): Set to $(GLIB_LIBS).
	* man2hlp.c: Include <glib.h> and use g_snprintf()/g_vsnprintf()
	instead of sprintf()/vsprintf().

	* man2hlp.c: Report about stale links.

2002-10-13  Pavel Roskin  <proski@gnu.org>

	* color.h: Remove Q_SELECTED_COLOR and Q_UNSELECTED_COLOR.
	Rename BEST_COLOR to IF_COLOR.  Make error messages bold on b/w
	terminals.  Don't highlight stale links on b/w terminals, since
	they cannot be distinguished from marked files.

	* main.c (print_color_usage): Update list of keywords for file
	types.  Add a notice for translators.

	* color.c: Rename stalledlink to stalelink.  Make the same
	change elsewhere.

2002-10-09  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* popt.h: Adjust poptHelpOptions[] and poptPrintHelp()
	declarations.

	* popthelp.c: Replace POPT_ with _ for visible strings.
	(singleOptionHelp): Eliminate format array.
	(poptHelpOptions): Make const.
	(poptPrintHelp): Return width of left column.

	* main.c (print_mc_usage): Use width from poptPrintHelp()
	for "+number".

2002-10-07  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* boxes.c (sel_charset_button): Use g_snprintf() instead of
	sprintf().
	* charsets.c (init_translation_table): Likewise.

2002-10-07  Pavel Roskin  <proski@gnu.org>

	* view.c: Move call to view_update_bytes_per_line() from
	view_init(), where the number of columns is unknown yet, to
	view_callback() where it's already known.
	(view_adjust_size): Make static.

2002-10-07  Miven Dooligan  <dooligan@intergate.ca>

	* view.c (view_update_bytes_per_line): Don't use vertical bars
	in the hex viewer is short of space.  Fix missing space between
	addresses and hexdump when framed.
	(display): Likewise.

2002-10-07  Pavel Roskin  <proski@gnu.org>

	* selcodepage.c (select_charset): Use g_snprintf() instead
	of non-portable snprintf().

	* myslang.h [!HAVE_SYSTEM_SLANG]: Update location of slang.h.

2002-09-29  Pavel Roskin  <proski@gnu.org>

	* ext.c (get_file_type_local): Return -1 for fatal errors.
	(get_file_type_pipe): Likewise.
	(regex_command): Likewise.  Adjust all callers.
	From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>

	* dlg.c (frontend_run_dlg): Allow terminating the dialog from
	the idle handler.
	From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
	Call change_screen_size() regardless of ncurses version, and let
	that function decide what to do.

2002-09-28  Pavel Roskin  <proski@gnu.org>

	* background.c (background_attention): Fix calling functions
	with wrong arguments, which resulted in segmentation faults.

2002-09-27  Pavel Roskin  <proski@gnu.org>

	* file.c (panel_operate): Replace fancy internationalized
	message boxes for unknown file operations with abort().

	* util.c (name_trunc): Remove unused code, unhelpful error
	message and workaround for bugs in the callers.

	* file.c (copy_file_file): Rename DST_* names to DEST_*, since
	DST_NONE is used in FreeBSD libc.
	Reported by Pavel Shirshov <me@pavelsh.pp.ru>

2002-09-26  Pavel Roskin  <proski@gnu.org>

	* textconf.c: Don't translate filesystem names.

	* main.h: Remove all references to icons.
	* panel.h: Likewise.  Adjust all dependencies.

	* hotlist.c (load_hotlist): Remove compatibility code with
	hotlist files created by ancient versions of mc.

	* command.c (do_cd_command): Reuse translated message.

	* user.c (check_patterns): Ignore invalid shell_patterns and
	let user see them in the menu.  The error message was too vague.

2002-09-26  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* util.c (mc_mkstemps): Really return NULL in the filename in the
	case of failure.  Reported by Andrew W. Nosenko <awn@bcs.zp.ua>.

2002-09-26  Pavel Roskin  <proski@gnu.org>

	* ext.c (get_file_type_local): Make static.
	(get_file_type_pipe): Likewise.
	* util.c (check_patterns): Likewise.

	* file.c (copy_file_file): Eliminate the complex scheme with
	"resources".  Set src_desc, dest_desc to -1 initially and use
	their values to see if they need to be closed.  Track status of
	the destination file using a 3-state variable.

	* file.c (copy_file_file): Fix event handling - check the result
	of file_progress_show_bytes().
	From Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>

2002-09-25  Pavel Roskin  <proski@gnu.org>

	* subshell.c (pty_open_master) [IS_AIX]: Open /dev/ptc, not
	/dev/ptmx.  From Sergey Pavlukhin <psi@dmng.ru>

2002-09-24  Pavel Roskin  <proski@gnu.org>

	* screen.c (string_file_nuid): Fix a warning with uClibc.
	(string_file_ngid): Likewise.

	* mountlist.c: Restore sys/param.h before sys/mount.h - it's
	required on FreeBSD.
	Reported by Pavel Shirshov <me@pavelsh.pp.ru>

	* screen.c (panel_event): Implement support for mouse wheel.

	* view.c (display): Fix wrapping of tabs.
	Reported by Arpad Biro <biro_arpad@yahoo.com>

2002-09-23  Pavel Roskin  <proski@gnu.org>

	* dlg.h: New message DLG_RESIZE.
	* layout.c: Call DLG_RESIZE instead of resizing viewer and
	editor individually.
	* view.c (view): Install handler for DLG_RESIZE.  Make view_dlg
	a local variable.

	* view.c (view): Set view_dlg to NULL after it's destroyed.

	* color.h: Remove EDITOR_UNDERLINED_COLOR, it's unused.

	* global.h: Move fcntl.h inclusion here.  Define O_BINARY.
	* mountlist.c: Remove more includes already handled in global.h.

2002-09-22  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c (handle_alt_font): Implement .BR, .IR, .RB, .RI, .BI
	and .IB macros.
	(handle_command): Call handle_alt_font().

	* man2hlp.c: Take text width from help.h, not from the command
	line.
	* help.h: Declare HELP_TEXT_WIDTH.
	* help.c: Use HELP_TEXT_WIDTH.

	* help.h: Replace CHAR_BOLD_ON, CHAR_BOLD_OFF and CHAR_ITALIC_ON
	with  CHAR_FONT_BOLD, CHAR_FONT_NORMAL and CHAR_FONT_ITALIC
	respectively for better consistency.

	* util.c (is_printable): Disable "Full 8 bits output" on xterm,
	fall back to "ISO 8859-1" due to problems with gnome-terminal,
	which identifies itself as xterm.
	Reported by Miven Dooligan <dooligan@intergate.ca>

	* mouse.h: Put return codes from the mouse callback to an enum.
	Remove MOU_ENDLOOP and MOU_LOCK - they are interpreted like
	MOU_NORMAL.  Adjust all dependencies.
	* dlg.c: Use MOU_NORMAL instead of 0 for mouse_status.

2002-09-21  Pavel Roskin  <proski@gnu.org>

	* main.c (process_args): Print only data directory and nothing
	else for the "-f" argument.
	(argument_table): Rename --libdir to --datadir, adjust its
	description.

	* Makefile.am: Rename LIBDIR to DATADIR, since it refers to
	pkgdatadir now.  Install cons.saver to pkglibdir, pass it to the
	compiler as LIBDIR.
	* cons.handler.c (handle_console): Use LIBDIR.
	* main.c (OS_Setup): Use DATADIR instead of LIBDIR.  Rename
	MC_LIBDIR to MC_DATADIR.

	* panelize.c: Remove unused variable panelize_title.

	* view.c (view_event): Add mouse wheel support.

2002-09-20  Pavel Roskin  <proski@gnu.org>

	* mouse.h: Define events for the mouse wheel.
	* key.c (xmouse_get_event): Recognize mouse wheel events.

	* command.c: (command_insert): New function - insert quoted
	text into the command line.
	* main.c: Use command_insert() instead of stuff().  This ensures
	that the names in the command line are quoted.
	Reported by Arpad Biro <biro_arpad@yahoo.com>

	* command.c: Make `command' a standard WInput widget, just
	change its callback.  Eliminate input_w().  Adjust all
	dependencies.
	* widget.c (input_callback): Remove static attribute.

2002-09-19  Pavel Roskin  <proski@gnu.org>

	* main.c (argument_table): Improve help for "+number" - it has
	to be re-translated anyway.

	* main.c (argument_table): Add missing descriptions.

	* main.c [NATIVE_WIN32]: Remove -S option, it's useless.

	* main.c (print_mc_usage): Use poptPrintHelp() instead of
	manually formatted help text.  Adjust callers to pass popt
	context.

	* poptint.h: Use i18n.h instead of most own replacement macros.

2002-09-18  Pavel Roskin  <proski@gnu.org>

	* cmd.c (other_symlink_cmd): Remove, this function is
	undocumented and poorly implemented.
	* main.c: Remove call to other_symlink_cmd() on C-x C-l.

2002-09-16  Pavel Roskin  <proski@gnu.org>

	* wtools.c (real_input_dialog_help): Trim spaces from the label
	text.  Align label with the input field.

	* cmd.c (do_link): Avoid using g_strconcat() on translatable
	strings.
	(other_symlink_cmd): Likewise.

2002-09-13  Pavel Roskin  <proski@gnu.org>

	* main.c: Remove advanced_chfns variable.  Adjust all
	dependencies.

	* option.c: Make "Configure options" dialog more flexible,
	readjust layout.  Remove "advanced chown" option - it's unused.

2002-09-13  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c (process_args) [WITH_SMBFS]: Call smbfs_set_debugf()
	for "-l" option.

2002-09-13  Pavel Roskin  <proski@gnu.org>

	* main.c: Fully remove obsolete "-m" option.

2002-09-11  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c [WITH_SMBFS]: Include ../vfs/smbfs.h.
	(argument_table) [WITH_SMBFS]: Add -D, --debuglevel option for
	smbfs debug level.
	(process_args) [WITH_SMBFS]: Handle new -D option.
	(print_mc_usage) [WITH_SMBFS]: Describe -D, --debuglevel option.

2002-09-11  Pavel Roskin  <proski@gnu.org>

	* subshell.c: Move tcsh_fifo to the file scope.  Use mc_tmpdir()
	to calculate tcsh_fifo.

	* utilunix.c (mc_tmpdir): New function that returns temporary
	directory for mc.
	* util.c (mc_mkstemps): Use mc_tmpdir().
	* main.c (main): Call mc_tmpdir().

2002-09-10  Pavel Roskin  <proski@gnu.org>

	* util.c (trim): Handle short strings even better - don't use
	dots unless necessary.

	* main.c (load_prompt): Don't shorten the prompt if COLS is 8 or
	less.

	* screen.c (show_dir): Don't call trim() with negative length.
	* util.c (trim): Better handle short length.  Make sure that the
	destination is always 0-terminated.

2002-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* screen.c (string_file_name): Fix possible off-by-one
	buffer overflow.
	(string_file_size): Avoid unsafe strcpy().
	(string_file_size_brief): Likewise.  Eliminate buffer array.

2002-09-08  Pavel Roskin  <proski@gnu.org>

	* color.c: Move hascolors variable into init_colors().  Adjust
	all dependencies.

	* myslang.h: Remove definition of initscr(), it's unused.

	* tty.h [!HAVE_SLANG]: Remove all slang_* definitions.
	* main.c (main) [!HAVE_SLANG]: Don't call slang_shutdown().
	* myslang.h: Remove slang_done_screen(), it's unused.

2002-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>

	* key.c (get_event): Check gpm_fd only if gpm is actually used.
	* layout.c (done_screen): Move disable_mouse() call ...
	* main.c (done_mc): ... here.

2002-09-08  Pavel Roskin  <proski@gnu.org>

	* view.c (init_growing_view): Avoid reporting the same error
	twice.  Reported by Moritz Barsnick <moritz@barsnick.net>

2002-09-07  Pavel Roskin  <proski@gnu.org>

	* textconf.c: Don't use SLANG_TERMINFO, which is unused anywhere
	else.  Assume that terminfo is used if USE_TERMCAP is undefined.

2002-09-06  Pavel Roskin  <proski@gnu.org>

	* subshell.c (subshell_name_quote): Return NULL if we are out of
	memory.  Use "echo -e" with zsh (Debian bug #150996).
	(do_subshell_chdir): Be prepared to get NULL from
	subshell_name_quote().

	* profile.c: Remove unused code.  Eliminate global variables.
	(is_loaded): Rename to find_loaded().  return matching profile.
	Adjust all dependencies.

	* fs.h: Only redefine S_IS* macros if they are undefined, and
	then define them to 0.  S_IF* constants should be avoided.
	* util.c: Whenever possible, use standard POSIX macros to test
	for the file type.
	Reported by Andrew V. Samoilov <sav@bcs.zp.ua>

2002-09-05  Pavel Roskin  <proski@gnu.org>

	* cmd.c (nice_cd): Fix conditions when this function is
	compiled.

	* fs.h: Replace S_IFFIFO with S_IFIFO, which is the right name.

	* fs.h: Correct S_IS* definitions to use S_IFMT.  Add fallback
	definitions for S_IFDOOR and S_ISDOOR.
	* screen.c (string_file_type): Remove unnecessary ifdefs, fs.h
	takes care of it.
	(file_compute_color): Add support for Solaris doors.
	* util.c (string_perm): Remove unnecessary ifdef.

	* man2hlp.c (handle_command): Make clear that unsupported
	command is a warning, not an error.  Avoid unsafe strcat().

	* view.c (view_mode_callback): Eliminate, use the default
	callback.

	* main.c (load_hint): Don't hardcode copyright years.  Use a
	translated message.

	* main.c (midnight_callback): Avoid calling the default DLG_DRAW
	handler.  From David Martin <dmartina@excite.com>

	* help.c (help_handle_key): Sanity check for broken help files.
	From David Martin <dmartina@excite.com>

2002-09-03  Pavel Roskin  <proski@gnu.org>

	* global.h: Eliminate xgetch, update all dependencies.

	* boxes.c: Fix remaining old-style calls to create_dlg().
	* complete.c: Likewise.
	* main.c: Likewise.
	* view.c: Likewise.

	* wtools.c: Remove Chooser, its unused.

	* dlg.c: Fix the case when the dialog has no title.

	* wtools.c (real_input_dialog_help): Use a more reliable way
	to indicate password input.

	* boxes.c (display_widgets) [!HAVE_CHARSET]: Fix initialization.
	(vfs_smb_get_authinfo): Reuse another translated string.

	* wtools.h (QuickDialog): Eliminate the "class" field - it's not
	used and it can clash with C++ code.  Adjust all dependencies.

	* dlg.c (x_set_dialog_title): Completely eliminate.  Adjust all
	dependencies.

	* help.c (interactive_display): Fallback to node "[main]" if the
	requested node cannot be found.

	* help.c (help_index_cmd): Eliminate unneeded search for
	"[Help]", which always fails.  Fix crash if "[Contents]" cannot
	be found.  Reuse more generic error message.

	* filegui.c: Eliminate x_set_dialog_title().
	* hotlist.c: Likewise.
	* help.c: Likewise.
	(interactive_display): Default to node "[main]" if the given
	node is empty.

2002-09-02  Pavel Roskin  <proski@gnu.org>

	* dlg.c (create_dlg): Take title instead of unused name as the
	8-th argument.
	(x_set_dialog_title): Free old title.  Mark this function
	obsolete.
	* achown.c: Use new create_dlg().
	(do_enter_key): Provide titles for popups.

	* dlg.c: Remove unused code, make functions static if possible.

	* chmod.c: Use common_dialog_repaint().
	* chown.c: Likewise.
	* layout.c: Likewise.
	* option.c: Likewise.

	* wtools.c (common_dialog_callback): Fold into ...
	* dlg.c (default_dlg_callback): ... this.  Don't redraw dialogs
	that don't have colors.  Adjust all dependencies.
	(std_callback): Eliminate.

	* panelize.c (panelize_refresh): Eliminate in favor of
	common_dialog_callback().

	* widget.c (history_callback): Eliminate in favor of
	common_dialog_callback().
	(show_hist): Set dialog title and flag DLG_COMPACT.

	* help.c (help_callback): Use common_dialog_callback().
	(interactive_display): Set dialog title.

	* wtools.c (listbox_callback): Eliminate in favor of
	common_dialog_callback().

	* wtools.c (dialog_repaint): Eliminate, nobody should be using
	non-standard colors.  Adjust all dependencies.
	(common_dialog_repaint): Fix return code.
	(query_callback): Eliminate, use common_dialog_callback()
	instead.

	* listmode.c (listmode_refresh): Use common_dialog_repaint().
	Eliminate all global variables.  Reformat the whole file.

	* boxes.c (init_disp_bits_box): Use common_dialog_callback().
	Return the new dialog.

	* boxes.c (display_callback): Use common_dialog_repaint().
	(display_init): Avoid using two different translations.

2002-09-01  Pavel Roskin  <proski@gnu.org>

	* help.c (interactive_display): Don't reuse the old value of
	help_lines - LINES could have changed.  Scale height better for
	terminals with many lines - use 2/3 of the full screen.

	* man2hlp.c: Move handling of .SH and NODE to a separate
	function handle_node().  Don't output empty nodes except in the
	table of contents.

2002-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* man2hlp.c (print_error): Print input filename.
	(handle_command): Handle .P, .LP, .IP and .br.
	Ignore comments and .TH (Title header).
	Report about unsupported commands.
	Handle .SM and .SB.

	* ext.c (regex_command): Use "%s" as text argument.
	* user.c (debug_out): Likewise.

	* win.c (key_name_conv_tab): Fix initialization.

2002-08-31  Pavel Roskin  <proski@gnu.org>

	* help.c (show): Fix segfault on unterminated help files.
	From David Martin <dmartina@excite.com>

	* key.c (get_event): Reduce scope of select_set.  Don't check
	mouse_enabled all the time, instead break out of the loop if it
	becomes 0.

	* main.c (do_nc): Make midnight_colors[] local to do_nc().
	Initialize normal color - it's used by the tree.
	* boxes.c (tree_box): Use standard dialog_colors.
	* tree.c: Use NORMALC for normal entries.

	* view.c (view): Avoid passing an uninitialized color array to
	create_dlg() - pass NULL instead.

2002-08-30  Pavel Roskin  <proski@gnu.org>

	* color.c: Define global array alarm_colors for the colors used
	in the dialogs that should be most visible (error messages,
	request to delete or overwrite).
	(load_dialog_colors): Initialize alarm_colors.
	* filegui.c: Use alarm_colors.
	* wtools.c: Likewise.
	* dlg.c (create_dlg): Make the color_set array constant.

	* wtools.c (common_dialog_repaint): Use colors specific to the
	current dialog, not fixed colors for "normal" dialogs.
	* filegui.c (replace_callback): Eliminate, use
	common_dialog_callback() instead.

	* filegui.c (file_op_context_create_ui): Use
	common_dialog_callback().  Set title to the operation name.
	(op_win_callback): Remove, it's unused.

2002-08-27  Pavel Roskin  <proski@gnu.org>

	* view.c: Make static whatever possible.
	* view.h: Remove internal view routines.

2002-08-27  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* selcodepage.c (select_charset): Use snprintf instead of sprintf.
	(do_select_codepage) [!HAVE_ICONV]: Remove.

2002-08-27  Pavel Roskin  <proski@gnu.org>

	* charsets.c: Add disclaimer of warranty.
	* filenot.c: Likewise.
	* fileopctx.c: Likewise.
	* mfmt.c: Likewise.
	* selcodepage.c: Likewise.
	* text.c: Likewise.
	* textconf.c: Likewise.

	* man2hlp.c (main): Factor error checks in fopen() and fclose(),
	eliminate reuse of variables for different purposes, add more
	comments.  Correctly process "\&" escape.
	The last part is from David Martin <dmartina@excite.com>

2002-08-26  Pavel Roskin  <proski@gnu.org>

	* main.c (init_xterm_support): Force xterm-style screen saving
	and no mouse on "cygwin" terminal.

2002-08-25  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c: Change default from the English string for TOPICS,
	to no heading.

	* man2hlp.c (handle_command): Remove quotes from TOPIC.

	* key.c (get_event): Check gpm_fd before using it in FD_SET.  If
	gpm_fd is -1 (gpm has died), disable mouse support.

	* key.c: Use the maximal file descriptor, not FD_SETSIZE in all
	calls to select().
	* subshell.c: Likewise.
	From Pavel Tsekov <ptsekov@gmx.net>

2002-08-24  Pavel Roskin  <proski@gnu.org>

	* user.c (expand_format): Remove support for error file in the
	editor.
	* utilunix.c (close_error_pipe): Fix the condition when nothing
	needs to be displayed.

	* dlg.c (x_set_dialog_title): Force uniform spacing.
	From Andrew Borodin <borodin@zarya-k.ru>

	* utilunix.c (check_error_pipe): Check error_pipe[0], not
	stdout.  From Pavel Tsekov <ptsekov@gmx.net>

	* achown.c (chown_refresh): Use common_dialog_repaint().

	* dlg.h (struct Dlg_head): Separate user flags and internal
	flags.  Make "direction" a user flag.  Adjust all dependencies.
	* dlg.c (run_dlg): Return ret_value.

2002-08-23  Pavel Roskin  <proski@gnu.org>

	* text.c (default_edition_colors): Use more rxvt-friendly color
	for dhotnormal.

	* Makefile.am: Remove definition of CONFDIR, it's not used.

2002-08-22  Pavel Roskin  <proski@gnu.org>

	* layout.c (print_vfs_message): Set normal color, don't use
	random current attributes.

	* dlg.h (struct Dlg_head): Eliminate "data" field, it duplicated
	functionality of "title".
	* wtools.c (query_callback): Use dialog_repaint().
	(quick_callback): Use common_dialog_repaint().

	* learn.c (learn_callback): Use common_dialog_repaint().
	* achown.c (chl_callback): Likewise.

	* dialog.h: Cleanup unused functions.
	* dialog.c: Cleanup unused headers.

	* dlg.h (struct Dlg_head): Fold fields "raw" and "has_menubar"
	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().

	* keys.h: Remove, include ...
	* myslang.h: ... here.
	* Makefile.am: Remove keys.h.

	* dlg.h: Remove unused fields in struct Dlg_head.
	* dlg.c: Adjust for the above.

2002-08-21  Pavel Roskin  <proski@gnu.org>

	* dlg.h: Remove unused fields in struct Widget.
	* dlg.c: Adjust for the above.
	* layout.c: Likewise.

	* cmd.c (info_cmd_no_menu): Toggle info screen.
	(quick_cmd_no_menu): Toggle quick view.

	* help.c (interactive_display): Always show button bar.

	* widget.c (buttonbar_callback): Fix a bug that prevented the
	last byte from being redrawn.
	Reported by David Martin <dmartina@excite.com>

	* layout.c (setup_panels): Make the button bar 0 lines high if
	it's invisible, so that mouse click on the history button works
	with invisible button bar.

	* widget.c: Make more functions static.

	* ext.c: (regex_check_type): Further split.  Restore caching
	broken in the previous commit.

	* ext.c (regex_command): Separate checking for "type/" into ...
	(regex_check_type): ... this.

	* global.h: Move include for rx.h and eregex.h here.

	* learn.c (learn_button): Don't allow Tab to be learned.

2002-08-20  David Martin  <dmartina@excite.com>

	* menu.c (create_menu): Get help node as an argument.
	* main.c: Use new create_menu() interface.

2002-08-20  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c: Don't redirect stdout.  Check result of ftell.
	Drop support for invocation with 2 arguments.

2002-08-19  Pavel Roskin  <proski@gnu.org>

	* cons.handler.c (handle_console): Use _exit(), not exit() in
	the child.

	* main.c (handle_args): Set POPT_CONTEXT_NO_EXEC flag for
	poptGetContext().
	* popt.c: Call abort() in execCommand() - we should not execute
	anything here.

	* util.h: Remove unused and dangerous flags for my_system():
	EXECUTE_TEMPFILE, EXECUTE_SETUID and EXECUTE_WAIT.
	* utilunix.c: Corresponding adjustments.
	* ext.c: Don't use EXECUTE_TEMPFILE, it has no effect.

	* subshell.c (synchronize): Workaround for Cygwin (should not be
	needed for the next version) - remove SIGCHLD blocking from
	old_mask.

	* dlg.h: Remove all unused flags for create_dlg().  Adjust all
	dependencies.

	* cmd.c (fishlink_cmd): Implement user interface for FiSH.
	* main.c: Add it to the menu.

	* help.c (help_follow_link): Made static.

2002-08-18  Pavel Roskin  <proski@gnu.org>

	* subshell.c (synchronize): Discard all remaining data from
	stdin to the subshell.

	* subshell.c (exit_subshell) [AIX_TCSH_CODE_BELOW_IS_IT_FIXED]:
	Remove.  Nobody has fixed this code for years.

	* main.h [USE_INTERNAL_EDIT]: Don't include declarations from
	edit.h.
	* setup.c [USE_INTERNAL_EDIT]: Include edit.h.

	* boxes.h: Remove user_format.
	* boxes.c: Make more variables static, remove all extern
	declarations.
	* setup.c: Remove some extern declarations.

	* mountlist.h: Move some internals ...
	* mountlist.c: ... here.

	* main.c: Remove extremely unsafe and poorly designed support
	for /tmp/mc.$PID.control file.
	* util.c (my_putenv): Remove, it's unused now.

	* panel.h (struct format_e): Make string_fn return const char *.
	Adjust all dependencies.
	* screen.c (string_file_mtime): Return empty string for "..".
	(string_file_atime): Likewise.
	(string_file_ctime): Likewise.

	* view.c (display): Use enum for boldflag values.  Fix cursor
	highlighting for the ASCII part of the hex editor.

	* layout.c (init_curses) [!HAVE_SLANG]: Add support for
	stickchars - fill acs_map[] with ASCII approximations.
	* main.c [!HAVE_SLANG]: Enable --stickchars (-a) for ncurses.

2002-08-16  Pavel Roskin  <proski@gnu.org>

	* setup.c: New variable global_profile_name to hold full name of
	mc.lib.
	(load_setup): Calculate global_profile_name.
	(done_setup): Free global_profile_name.
	(load_key_defs): Use global_profile_name.
	* treestore.c (should_skip_directory): Likewise.

	* man2hlp.c: Implement persistent fread and fwrite to make sure
	that all output is read and written.

2002-08-16  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* help.c (show): Cast *paint_start to unsigned char to display
	Cyrillic with ncurses.
	[HAS_ACS_AS_PCCHARS] (acs2pc_table): Make const.

	* user.c (expand_format): Cast the argument to functions
	for character classification to unsigned int.
	(execute_menu_command): Likewise.

2002-08-15  Pavel Roskin  <proski@gnu.org>

	* treestore.c (tree_store_remove_entry): Don't use ts.check_name
	and don't check it.

	* treestore.c: Remove unused code, reformat.
	* treestore.h: Remove unused declarations.

	* fs.h (compute_namelen): New inline function to take care of
	the d_namlen field if and only if it's needed.

	* screen.c (string_file_name): Replace non-printable characters
	with question marks.

	* subshell.c (read_subshell_prompt): Remove argument "how", it's
	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.

2002-08-14  Pavel Roskin  <proski@gnu.org>

	* dir.c (do_load_dir): Fix leaking of file descriptors - always
	call mc_closedir() before return.

	* main.c (do_execute) [!HAVE_SUBSHELL_SUPPORT]: Compile fix.

	* view.c (display): Use only declared color pairs to fix hex
	editor appearance with ncurses.  Eliminate some useless defines.

2002-08-10  Pavel Roskin  <proski@gnu.org>

	* key.c (delete_select_channel): Avoid using freed memory.

2002-08-09  Pavel Roskin  <proski@gnu.org>

	* ext.c (exec_extension): Eliminate unused argument.
	(regex_command): Remove support for user actions.  Return int.
	Adjust all dependencies.

	* ext.c (exec_extension): Make static.  Remove support for Drop,
	Title and Icon actions.  Adjust all dependencies.

	* main.c (sigchld_handler_no_subshell) [linux]: SIGTSTP is
	always defined on Linux.
	* subshell.c (sigchld_handler): No need to use SIGTSTP
	explicitly when we really care about SIGCONT.

	* ncurses.patch: Remove, it's obsolete.
	* Makefile.am: Remove ncurses.patch.

2002-08-04  Pavel Roskin  <proski@gnu.org>

	* subshell.c: Assume that SIGTSTP and SIGCONT are always
	defined.  This is now checked in configure.  Otherwise
	synchronize() would hang until subshell exits.

2002-08-01  Pavel Roskin  <proski@gnu.org>

	* charsets.c: Unconditionally enable finalization code that was
	only used with HAVE_MAD.
	* color.c: Likewise.
	* color.h: Likewise.
	* key.c: Likewise.
	* main.c: Likewise.
	* slint.c: Likewise.
	* subshell.c (exit_subshell): Free subshell_prompt.

	* mad.c: Remove.
	* mad.h: Likewise.
	* Makefile.am (SRCS): Remove mad.c and mad.h.
	* cmd.c: Remove references to MAD.
	* main.c: Likewise.
	* dlg.c: Use inline, not INLINE.
	* hotlist.c: Likewise.
	* menu.c: Likewise.
	* global.h: Don't include mad.h.

2002-07-31  Andrew V. Samoilov  <kai@cmail.ru>

	* man2hlp.c (main): Don't use freed structure member.

	* ext.c (regex_command): Don't check same condition twice.
	(exec_extension): Comment out useless loop.
	* key.h (key_code_name_t): Typedef const.

2002-07-30  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c (main): Use only stream I/O.  Fix checks for error
	conditions.  Reformat the whole file.

	* man2hlp.c: Avoid the need to use gindex.pl.
	From Andrew V. Samoilov <sav@bcs.zp.ua>
	* Makefile.am: Use man2hlp directly.
	(EXTRA_DIST): Remove gindex.pl.
	* gindex.pl: Remove.

	* ext.c (regex_command): Additional check to prevent reading
	unallocated memory when matching "shell/".  Found by Valgrind.

2002-07-29  Pavel Roskin  <proski@gnu.org>

	* setup.c: Eliminate all PORT* macros.
	* screen.c: Likewise.

	* subshell.c (feed_subshell): Reading 0 bytes in a channel with
	FD_ISSET being set is a sign of something being wrong - exit
	immediately.  Observed when mc is run under su in xterm and
	xterm is closed while the subshell is running.
	Reported by Vlad Harchev <hvv@hippo.ru>

	* color.h: Replace PORT_COLOR macro with BEST_COLOR, which uses
	MY_COLOR_PAIR.

	* util.c: Remove unused functions.
	* utilunix.c: Likewise.
	* util.h: Update to match.

	* cons.saver.c: Use SEEK_SET instead of 0 in lseek().
	* view.c: Likewise.

	* main.c (do_execute): Add newline after "Press any key to
	continue".

	* cons.saver.c: Eliminate some global variables.  Further
	cleanup.  Make sure that console_fd is always closed.

2002-07-28  Pavel Roskin  <proski@gnu.org>

	* cons.saver.c: Remove support for Linux kernels before 2.0.
	Massive cleanup.
	(send_contents): Remove incorrect optimization - restore even
	empty lines because they may be touched by the viewer.
	From Denis Vlasenko <vda_unique@iname.com>

2002-07-26  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (canonicalize_pathname): Don't extend empty path
	to "." - it can corrupt memory.

	* cmd.c (copymove_cmd_with_default): Remove, it's unused.
	(copy_cmd_local): New function, copy within panel.
	(ren_cmd_local): New function, rename within panel.
	* cmd.h: Adjust to match.
	* screen.c (panel_keymap): Associate F15 with copy_cmd_local and
	F16 with ren_cmd_local.

	* view.c (display): Don't highlight characters as bold if the
	character before the backspace was different.
	From Roland Illig <roland.illig@gmx.de>

2002-07-25  Andrew V. Samoilov  <kai@cmail.ru>

	* wtools.c (message): Fix possible buffer overflow.

	* slint.c [HAVE_MAD] (dealloc_color_pairs): Move ...
	* color.c [HAVE_MAD]: ... here and make accessible from
	other files to fix compilation.
	* color.h [HAVE_MAD]: Declare dealloc_color_pairs.

2002-07-20  Pavel Roskin  <proski@gnu.org>

	* screen.c (panel_callback): Revert last change, it has bad side
	effects on the subshell.

2002-07-19  Pavel Roskin  <proski@gnu.org>

	* dlg.c: Eliminate all useless x_* functions.
	* dlg.h: Likewise.
	* panel.h: Likewise.
	* textconf.h: Likewise.
	* view.c: Likewise.
	* view.h: Likewise.
	* widget.c: Likewise.
	* main.c: Remove panel_update_marks(). Move try_to_select() ...
	* screen.c: ... here.  Eliminate x_* functions.
	* main.h: Remove panel_update_marks().

	* screen.c (panel_callback): Only change directory on
	WIDGET_FOCUS if current_panel changes.

	* main.c (handle_args): Don't call mc_get_current_wd().

	* main.c (directory_history_list): Report error if cannot change
	directory.

2002-07-16  Pavel Roskin  <proski@gnu.org>

	* main.c (do_execute): Don't ask to press any key when the shell
	is running a command - the user has already pressed Ctrl-O.

2002-07-15  Pavel Roskin  <proski@gnu.org>

	* slint.c: Eliminate hardcoded color terminals.  Most users no
	longer need this hack, and those who do have color_terminals
	option in the config file.

2002-07-14  Pavel Roskin  <proski@gnu.org>

	* color.c [USE_NCURSES]: Eliminate division by COLOR, it's 0 in
	black and white mode.

	* slint.c: Move functions for allocating color pairs ...
	* color.c: ... here.  Implement ncurses equivalents.  Rename
	init_pair() to mc_init_pair() and keep tack of max_index with
	ncurses.  Adjust all dependencies.

	* mem.h: Clean up obsolete definitions, incorporate into ...
	* global.h: ... this.
	* Makefile.am: Remove mem.h.

2002-07-13  Pavel Roskin  <proski@gnu.org>

	* Makefile.am (AM_CPPFLAGS): Remove REGEX_MALLOC, it's now in
	configure.in.

	* tty.h: Use standard autoconf defines to determine which
	ncurses header to include.  Eliminate RENAMED_NCURSES.

2002-07-10  Pavel Roskin  <proski@gnu.org>

	* utilunix.c: Cast argument for GUINT_TO_POINTER to int to fix
	warnings on Cygwin.

	* subshell.c: ioctl() doesn't set errno - don't use perror() to
	report failures.  Use fprintf() instead, ignore errors from
	TIOCSWINSZ.
	(resize_tty): New function - code common for resize_subshell()
	and init_subshell_child().

	* global.h: Include vfs.h.
	* boxes.c (configure_vfs): Ask whether .netrc should be used.
	From Thomas Zajic <zlatko@gmx.at>

2002-07-03  Pavel Roskin  <proski@gnu.org>

	* file.c (do_transform_source): Cast the argument to functions
	for character classification to unsigned int.
	* main.c (handle_args): Likewise.
	* util.c (size_trunc_sep): Likewise.
	(skip_numbers): Likewise.

	* subshell.c (sigchld_handler): Remove subshell_pty from the
	channel list if the subshell has died.

2002-07-03  Andrew V. Samoilov  <kai@cmail.ru>

	* mad.[ch] [__GNUC__] (mad_strconcat): Use macro varargs.
	(mad_strdup_printf): Likewise.
	(mad_strdup_vprintf): Likewise.
	* main.c [HAVE_MAD] (main): Release this_dir and other_dir.

2002-07-03  Pavel Roskin  <proski@gnu.org>

	* main.c (stop_dialogs): New function to stop all dialogs.
	(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.

	* cmd.c (view_other_cmd): Shut down extra select channels before
	switching to the shell.  Restore them afterwards, but not if
	quit was requested.  Skip more code on quit.

2002-07-02  Pavel Roskin  <proski@gnu.org>

	* util.c: Eliminate get_small_endian_long() and CHECK macro.

	* util.h: Rename compression types, add a type for uncompressed
	files.
	* util.c (is_gunzipable): Rename to ...
	(get_compression_type): this.  Don't check archive length, since
	it's unreliable if there is padding at the end of the file.
	Eliminate prehistoric Linux workaround.  All callers adjusted.

2002-07-01  Andrew V. Samoilov  <kai@cmail.ru>

	* utilunix.c (close_error_pipe): Use "%s" in message () to
	prevent possible crash.
	(check_error_pipe): Likewise.

2002-06-27  Pavel Roskin  <proski@gnu.org>

	* screen.c (do_enter_on_file_entry): Process associations before
	trying to execute the file.

2002-06-20  Pavel Roskin  <proski@gnu.org>

	* dir.c (handle_dirent): Don't process ".." entries.
	(handle_path): Likewise.
	From Andrew V. Samoilov <kai@cmail.ru>

2002-06-13  Oskar Liljeblad  <oskar@osk.mine.nu>

	* slint.c (has_colors): Don't reset SLtt_Use_Ansi_Colors to 0 if
	force_colors is not set.  This fixes color on unknown terminals.

2002-06-13  Andrew V. Samoilov  <kai@cmail.ru>

	* user.c (expand_format): Fix '%b' processing.
	Handle '%k' as documented.

2002-05-30  Andrew V. Samoilov  <kai@cmail.ru>

	* view.c (regexp_search): Don't call save_edit_changes
	if there are no changes.
	(save_edit_changes): Use messages from ../po/mc.pot.

	* mad.c (mad_tempnam): Commented out to make linker happy.
	* main.c [HAVE_MAD && !_OS_NT] (main): G_free mc_home.

2002-05-27  Andrew V. Samoilov  <kai@cmail.ru>

	* view.c (save_edit_changes): Handle errors.
	(do_view_init): Don't open and check file type
	if _command is not null or _file is empty string.

2002-05-22  Pavel Roskin  <proski@gnu.org>

	* Makefile.am: doc/mc.1 is in top_builddir, not in top_srcdir.

2002-05-15  Andrew V. Samoilov  <kai@cmail.ru>

	* view.c (do_view_init): Close fd if it is unused.

2002-05-14  Andrew V. Samoilov  <kai@cmail.ru>

	* Makefile.am (VFSLIB): Add ../vfs/samba/libsamba.a
	if USE_SAMBA_FS is true.

2002-05-07  Pavel Roskin  <proski@gnu.org>

	* hotlist.c (hotlist_button_callback): Don't process B_REMOVE
	for VFS list - it would crash.
	From Andrey Panov <pav@metib.ru>

2002-04-19  Andrew V. Samoilov  <kai@cmail.ru>

	* main.c [!WITH_MCFS] (PanelMenu): Eliminate mcfs related entry.
	(RightMenu): Likewise.
	* textconf.c (features): Likewise.
	* cmd.c (netlink_cmd) [!WITH_MCFS]: Eliminate.

2002-04-03  Pavel Roskin  <proski@gnu.org>

	* Makefile: mc.hlp should be in MAINTAINERCLEANFILES, not in
	CLEANFILES, because "make clean" should not make the source
	directory useless on systems without Perl.

2002-03-26  Andrew V. Samoilov  <kai@cmail.ru>

	* eregex.h [!USE_INCLUDED_REGEX]: Include <regex.h>.
	* regex.c: Compile only if USE_INCLUDED_REGEX is defined.

2002-03-25  Andrew V. Samoilov  <kai@cmail.ru>

	* complete.c (insert_text): Fix buffer overflow.

	* cmd.[ch] [USE_INTERNAL_EDIT] (edit_syntax_cmd:) New dialog
	to edit Syntax Highlighting definitions file.
	* main.c (CmdMenu) [USE_INTERNAL_EDIT]: Add 'Syntax file edit'
	entry.
	(process_args): Print mc's library directory to stdout.

2002-03-21  Andrew V. Samoilov  <kai@cmail.ru>

	* man2hlp.c (handle_command): Handle backslash quoting
	for .I and .B
	(handle_link): Strip .B and .I
	* gindex.pl: Use fifth argument as man2hlp location.

2002-03-20  Andrew V. Samoilov  <kai@cmail.ru>

	* man2hlp.c (handle_command): Handle '.\"TOPICS' comment.
	Use it for translated 'Topics:' message.
	* gindex.pl: Use first line of man2hlp output as
	translated 'Topics:' message if fourth argument
	is empty string.
	* Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
	fourth argument.

	* textconf.c (version): Write to stdout.
	* 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.

2002-03-18  Pavel Roskin  <proski@gnu.org>

	* eregex.h: Update from glibc-2.2.5.
	* regex.c: Likewise.
	* find.c: Use eregex.h, not regex.h.
	* util.c: Likewise.
	* view.c: Likewise.
	From Alexander Varakin <avarakin00@hotmail.com>

	* find.c (find_parameters): Invert condition when find is case
	sensitive.

2002-03-04  Andrew V. Samoilov  <kai@cmail.ru>

	* Makefile.am (mc.hlp.ru): Use mc.1 instead of mc.1.in.
	(mc.hlp): Likewise.

	* file.c (copy_file_file): Chmod destination only if
	ctx->preserve is on.  Eliminate gotos.

2002-03-01  Andrew V. Samoilov  <kai@cmail.ru>

	* Makefile.am (mc.hlp.ru): New rule to compile translated
	help file.
	(mclib_DATA): Add mc.hlp.ru.
	(EXTRA_DIST): Likewise.

	* gindex.pl: Add optional 4th argument for translated
	Content section name.

2002-02-28  Andrew V. Samoilov  <kai@cmail.ru>

	* mad.c: Make mem_areas dynamically growing.
	(mad_init): Allocate memory for mem_areas.
	(mad_alloc): Grow mem_areas if it is exhausted.

	* filegui.c (file_mask_dialog): Enable 'follow Links'
	and 'preserve Attributes' features in Move dialog.
	(file_bps_show): Translate messages.
	(file_eta_show): Likewise.

	* man2hlp.c (main): Don't crash if called without argument(s).
	Make buffer char pointer.
	(handle_command): Handle '.\"NODE' comment.  Use it for
	nodename in translated manual pages.

	* gindex.pl: Use [nodename] as user visible section name
	only if next line is empty.  Elsewhere use this nonempty line.

	* find.c (find_parameters): Compile content_pattern here.
	Inform user about malformed regular expression.
	(search_content): Use compiled regular expression.
	(do_find): Eliminate `done'.  Call regfree for compiled
	content_pattern.

2002-02-24  Pavel Roskin  <proski@gnu.org>

	* chown.c (chown_cmd): Use size_trunc_len() to show the file
	size.  Eliminate c_fsize, which wasn't properly initialized.

2002-02-22  Pavel Roskin  <proski@gnu.org>

	* man2hlp.c (string_len): Don't exclude characters with codes
	above 128 from the string length.

2002-02-21  Andrew V. Samoilov  <kai@cmail.ru>

	* ext.c (exec_extension): Use "#! /bin/sh".

2002-02-20  Pavel Roskin  <proski@gnu.org>

	* background.c (background_attention): Cast pointer to long
	instead of int because it's unsafe of 64-bit systems.
	* main.c (init_xterm_support): Likewise.

2002-02-18  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (canonicalize_pathname) [__QNX__]: Fix detection
	of Qnet names.  Disable support of Qnet names under QNX Neutrino.
	Reported by Maurizio Rossi <MRossi@system-group.it>

	* global.h: Include unix.h under "classical" QNX.
	* subshell.c: Don't include unix.h.
	* utilunix.c: Likewise.

2002-02-07  Andrew V. Samoilov  <kai@cmail.ru>

	* main.c (update_one_panel_widget): Call ftpfs_flushdir().

2002-02-05  Pavel Roskin  <proski@gnu.org>

	* key.c [USE_NCURSES] (get_key_code): Ignore KEY_RESIZE.
	* layout.c [USE_NCURSES] (flag_winch): Don't call
	low_level_change_screen_size() from signal handler.
	From Thomas Dickey <dickey@herndon4.his.com>

	* screen.c (format_file): Add a new parameter (size of the
	output buffer) to prevent buffer overflow on very wide
	terminals.
	From Thomas Dickey <dickey@herndon4.his.com>

2002-02-04  Andrew V. Samoilov  <kai@cmail.ru>

	* util.c [!HAVE_TRUNCATE] (truncate): Close fd if my_ftruncate
	fails.

	* util.c [HAVE_CHARSET] (is_printable): Eliminate printable.
	* setup.c [HAVE_CHARSET] (load_setup): Don't use
	init_printable_table.

	* charsets.h: Don't declare init_printable_table ().
	* charset.c (printable): Removed.
	(init_printable_table): Removed.

2002-01-30  Andrew V. Samoilov  <kai@cmail.ru>

	* file.c (recursive_erase): Use mc_closedir() if mc_lstat()
	fails.  Eliminate goto.
	(erase_dir): Eliminate goto.
	(erase_dir_iff_empty): Likewise.

2002-01-29  Andrew V. Samoilov  <kai@cmail.ru>

	* dir.c (handle_dirent): Use MSG_ERROR.
	* charsets.c (translate_character): Use ICONV_CONST.

2002-01-22  Pavel Roskin  <proski@gnu.org>

	* screen.c: Don't try to paint anything if width is 0 or less.
	Reported by Pawel Sakowski <pawel@sakowski.eu.org>

	* screen.c: Make functions static whenever possible.  Remove
	unused functions.
	* panel.h: Remove corresponding declarations.

2002-01-21  Pavel Roskin  <proski@gnu.org>

	* util.c: Move replacements for permission bits ...
	* fs.h: ... here.  Add more replacements.
	* global.h: Include direct.h only with MSVC.

	* main.c: Include "drive.h", not <drive.h>, do it after panel.h.
	Use _OS_NT as the condition for including drive.h.
	* screen.c: Use _OS_NT as the condition for including drive.h.

	* global.h [_OS_NT]: Include io.h, direct.h and windows.h.
	Don't redefine struct timeval.

	* fs.h [_MSC_VER]: Use dirent provided by glib.

	* global.h [!HAVE_SYS_TIME_H]: Provide a replacement for struct
	timeval.

	* findme.c: Respect HAVE_UNISTD_H.
	* popt.c: Likewise.

	* global.h: Fallback to sys/utime.h if utime.h is missing.

	* global.h: Provide fallbacks for getuid(), getgid(), geteuid()
	and getegid().
	* fs.h: Fully trust HAVE_DIRENT_H.
	* complete.c: Don't include dirent.h directly, fs.h takes care
	of it.
	* file.c: Likewise.
	* filegui.c: Likewise.
	* main.c: Likewise.
	* treestore.c: Likewise.

	* global.h [!__GNUC__]: Define __attribute__ with one argument.

2002-01-20  Pavel Roskin  <proski@gnu.org>

	* screen.c (string_file_size): Translate "UP--DIR".
	(string_file_size_brief): Translate "SUB-DIR" and "SYMLINK".

	* dir.c (add_dotdot_to_list): Don't use costly stat() - just put
	realistic (i.e. bogus) data to the list.

	* screen.c (string_file_size): Don't display size of ".." - it
	may take too much time to calculate it on VFS.  Show "UP--DIR"
	instead.
	(string_file_size_brief): Remove ".." handling - it's now done
	in string_file_size().  Show "SUB-DIR" for links to directories,
	"SYMLINK" for other links.

2002-01-17  Pavel Roskin  <proski@gnu.org>

	* cmd.c: Remove OS/2 specific code.
	* file.c: Likewise.
	* main.c: Likewise.

	* main.h: Remove dead declarations.
	* setup.c: Remove defunct extension alignment support.
	* util.c: Likewise.
	* util.h: Likewise.

	* main.c: Remove unused toggle_* functions.

	* dir.c: Show backups by default.

2002-01-15  Andrew V. Samoilov  <kai@cmail.ru>

	* file.c (copy_dir_dir): Check the destination is a directory
	if it exists. Reported by Thomas <metaf4@pseudonym.org>.

2002-01-09  Andrew V. Samoilov  <kai@cmail.ru>

	* util.c (string_perm) [S_IFDOOR]: Support Solaris doors.
	* screen.c (string_file_type) [S_IFDOOR]: Likewise.

2001-12-21  Pavel Roskin  <proski@gnu.org>

	* hotlist.c (hotlist_callback): Recognize "delete" key.

	* myslang.h [!HAVE_SYSTEM_SLANG]: Include slang/slang-mc.h to
	simplify includes.
	[HAVE_SYSTEM_SLANG]: Use angle brackets for slang.h.

	* myslang.h [!HAVE_SYSTEM_SLANG]: Include slang-mc.h directly
	to avoid relying on symlinks.

2001-12-18  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (init_groups): Don't return prematurely if the
	primary group cannot be found (it can happen on Cygwin).

2001-12-10  Pavel Roskin  <proski@gnu.org>

	* dir.c (do_reload_dir): Hash-table added.
	From Björn Eriksson <mdeans@algonet.se>

2001-12-03  Pavel Roskin  <proski@gnu.org>

	* dir.c (do_reload_dir): Optimize the logic - count the marks
	and only match new entries against old entries if at least one
	mark has not been transferred.
	From Björn Eriksson <mdeans@algonet.se>

2001-11-29  Pavel Roskin  <proski@gnu.org>

	* main.c (midnight_callback): Implement "auto menus".

	* layout.c: Make more variables static.

	* cons.saver.c: Define LINUX_CONS_SAVER_C so that some parts
	of cons.saver.h can be omitted.
	* cons.saver.h: Declare nothing but constants if
	LINUX_CONS_SAVER_C is defined.

2001-11-14  Pavel Roskin  <proski@gnu.org>

	Fully eliminate all references to HAVE_X and HAVE_GNOME.

	* dir.c (do_sort): Correctly handle the case when there is no
	".." entry (i.e. panelized mode).

2001-11-14  Andrew V. Samoilov  <kai@cmail.ru>

	* view.c (do_view_init): Make sure _file is not
	an empty string before mc_stat and mc_open.
	Memory leak fixed.

2001-11-14  Pavel Roskin  <proski@gnu.org>

	* panelize.c (do_external_panelize): Re-sort the panel according
	to the current settings.

	* find.c (do_find): Re-sort the panel according to the current
	settings when doing panelizing.

	* dir.c (sort_type_to_name): Remove, it's unused in the text
	edition.
	(sort_name_to_type): Likewise.
	* dir.h: Adjust to match.

	* mouse.c: Add default cases to fix warnings with gcc-2.96.

2001-11-12  Pavel Roskin  <proski@gnu.org>

	* main.c: Remove support for subshell debugging.  Firstly, it
	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.

2001-11-12  Andrew V. Samoilov  <kai@cmail.ru>

	* mad.h: Enable glib support.

	* mad.[ch] (mad_get_current_dir): New function to use instead
	of g_get_current_dir.
	(mad_tempnam): Add file and line parameters.
	(mad_alloc0): Make file parameter const.
	(mad_realloc): Likewise.
	(mad_strdup): Likewise.
	(mad_strndup): Likewise.
	(mad_free): Likewise.
	(mad_finalize): Likewise.

2001-11-07  Andrew V. Samoilov  <kai@cmail.ru>

	* cmd.c (guess_message_value): Make val static const array.
	(smblink_cmd) [!WITH_SMBFS]: Eliminated.

	* dlg.c (add_widget): Check for what is not NULL
	before everything else.

	* slint.c (slang_reset_softkeys): Make display static const
	array.  Use sizeof (display) - 1 instead of strlen display.
	(color_terminals): Make static const array.
	(key_table): Make const.

	(dealloc_color_pairs) [HAVE_MAD]: New function.  Release
	memory allocated in try_alloc_color_pair.
	(slang_shutdown) [HAVE_MAD]: Call dealloc_color_pairs.
	(try_alloc_color_pair): Move struct c outside function.

2001-10-29  Andrew V. Samoilov  <kai@cmail.ru>

	* charsets.c (load_codepages_list): Use glib memory allocation
	functions.
	(free_codepages_list) [HAVE_MAD]: New function to release
	memory allocated in load_codepages_list.
	* charsets.h: Declare free_codepages_list.

	* main.c [HAVE_CHARSET]: Include charsets.h.
	(main) [HAVE_MAD && HAVE_CHARSET]: Call free_codepages_list.
	(program_name): Commented out.

2001-10-26  Andrew V. Samoilov  <kai@cmail.ru>

	* key.c (push_char): Fix buffer length calculation.
	By David Kaelbling <drk@sgi.com>.
	http://bugzilla.gnome.org/show_bug.cgi?id=60932

	(define_sequence): Likewise.
	(key_define_t): Add const declaration.

2001-10-22  Pavel Roskin  <proski@gnu.org>

	* main.h: Declare view_one_file and edit_one_file.

2001-10-22  Andrew V. Samoilov  <kai@cmail.ru>

	* dialog.h: Include global.h.
	(message): Specify __attribute__.

2001-10-20  Pavel Roskin  <proski@gnu.org>

	* main.h (print_vfs_message): Specify __attribute__.

2001-10-19  Pavel Roskin  <proski@gnu.org>

	* global.h: Define __attribute__ to an empty string for non-gcc
	compilers so that it's safe to use.

2001-10-18  Pavel Roskin  <proski@gnu.org>

	* view.c (init_growing_view): Revert last change, it was wrong.
	(view_hook): Don't check that the file is regular - it's now
	done in do_view_init().  This fixes update problem in quick view
	when moving cursor from a regular file to a directory.

	* view.c (do_view_init): Only accept regular files.  Use stat(),
	not fstat() because open() would hang on pipes.  Avoid opening
	the file twice.
	(init_growing_view): Take file descriptor, not the filename.
	(load_view_file): Likewise.

2001-10-01  Pavel Roskin  <proski@gnu.org>

	* boxes.c (tree): Rename to tree_box() to avoid confusion.
	Adjust all callers and headers.
	* main.c (tree_box): Rename to tree_box_cmd().

	* tree.c (set_navig_label): Get argument "tree".
	(set_navig_label): Likewise.  Adjust all callers.  Don't cast
	function tree() to (Widget *) - it's wrong and dangerous.

	* widget.h: Use type "buttonbarfn" more consistently.
	* widget.c: Likewise.

	* setup.c [!USE_VFS]: Warning fix.
	* hotlist.c [!USE_VFS]: Likewise.

	* tree.c (tree_navigation_flag): Should not be static.

	* screen.c (panel_format_modified): Use more portable cast.

	* fileopctx.h: Define new type mc_stat_fn.
	* filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
	mc_stat_fn to prevent warnings without VFS support.
	* fileopctx.c (file_op_context_new): Likewise.

2001-09-23  Andrew V. Samoilov  <kai@cmail.ru>

	* find.c: Include rx.h or regex.h
	(get_line_at): New function.  Returns malloc()ed null-terminated
	line from file file_fd.  Input is buffered in buf_size long
	buffer.
	(search_content): Don't use external egrep.
	Use get_line_at and regexp.

2001-09-21  Pavel Roskin  <proski@gnu.org>

	* cmd.c: Change all "long" variables to "off_t" whenever they
	are used to store file sizes.
	* file.c: Likewise.
	* file.h: Likewise.
	* fileopctx.h: Likewise.
	* tree.c: Likewise.
	* filegui.c: Likewise.
	(show_bar): Take "double" arguments.  Normalize arguments of
	gauge_set_value() before converting them to "int".

2001-09-17  Pavel Roskin  <proski@gnu.org>

	* mouse.h: Major cleanup and interface change.  init_mouse()
	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.

2001-09-15  Pavel Roskin  <proski@gnu.org>

	* view.c: Cleanup of preprocessor directives.
	* view.h: Likewise.
	* widget.c: Likewise.
	* widget.h: Likewise.

	* textconf.h: Get rid of all PORT_HAS_*.  Adjust all users.
	Continued eliminating GNOME code.

	* cmd.c: Clean up unused GNOME code and some ifdef's.
	* dlg.c: Likewise.
	* dlg.h: Likewise.
	* ext.c: Likewise.
	* setup.c: Likewise.

	* cmd.c (guess_message_value): Remove the argument.  Adjust all
	callers.

	* textconf.c (features): Remove "edition", minor fixes.
	(version): Don't report the current locale - it's meaningless,
	especially if ENABLE_NLS is not defined.

	* textconf.h: Remove status_using_ncurses - it's useless now.
	Adjust all users.  Call do_exit_ca_mode() and do_enter_ca_mode()
	even with ncurses.

	* main.c (init_xterm_support): Don't enable xterm_flag just
	because of "kmous" in terminfo.  Setting this flag means much
	more than just mouse support.  Recognize terminals beginning
	with "rxvt" and set xterm_flag for them.

	* cmd.c (view_other_cmd): Don't check use_mouse_p before calling
	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.

	* user.h: Fix location of the home editor menu.
	Reported by David Martin <dmartina@excite.es>

	* mouse.h: Export xmouse_seq.
	* 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().

2001-09-14  Pavel Roskin  <proski@gnu.org>

	* key.c (get_event): Recognize KEY_MOUSE, not just MCKEY_MOUSE.
	* mouse.c: Don't use or emulate keyok(), since MC understands
	KEY_MOUSE now.

2001-09-11  Pavel Roskin  <proski@gnu.org>

	* cmd.c (check_for_default): Make accessible from other files.
	* cmd.h: Declare check_for_default().

2001-09-10  Pavel Roskin  <proski@gnu.org>

	* layout.c: Use HAVE_TERMIOS_H and HAVE_SYS_IOCTL_H more
	consistently.
	* mouse.c: Likewise.
	* subshell.c: Likewise.
	* win.c: Likewise.
	* util.c: Remove unused includes.

	* Makefile.am (mc_LDADD): Don't use LSLANG and LGPM, since they
	are now included into MCLIBS.

	* Makefile.am (mc_LDADD): Use INTLLIBS provided by gettext
	instead of LINTL.

2001-09-09  Pavel Roskin  <proski@gnu.org>

	* hotlist.c (load_hotlist): If cannot open hotlist, don't assume
	that it needs to be migrated and don't warn the user.

2001-09-08  Pavel Roskin  <proski@gnu.org>

	* Makefile.am: Fix definitions of CONFDIR and LOCALEDIR.

	* subshell.c: Move definitions of WEXITSTATUS and WIFEXITED
	below all includes so that they can be defined elsewhere.

2001-09-07  Pavel Roskin  <proski@gnu.org>

	* myslang.h: Specify arguments to function-like macros or remove
	them if they are unused.

	* main.c: Remove old debugging code.  Remove external function
	declarations.
	(menu_bar_event): Remove, it's unused.
	* main.h: Declare get_mc_lib_dir() and force_ugly_line_drawing.
	* layout.c: Remove all external declarations.

	* main.c (main): Call save_stop_handler() - it was ifdef'd out
	by error.

	* main.c: Remove all GNOME code.

	* cmd.c: No need to define "MIDNIGHT" before including vfs.h.

	* user.h: Remove all dirty tricks with "MIDNIGHT" - they are not
	needed anymore.

	* global.h: Include io.h, pwd.h, grp.h and utime.h.  Adjust all
	sources not to include them and to include global.h at the right
	place.

	* global.h: Include all time-related system includes, since
	it's non-trivial (order, conflicts) and is better handled in one
	place.

2001-09-06  Pavel Roskin  <proski@gnu.org>

	* fsusage.c: Include sys/param.h before sys/mount.h - it's
	required on some systems.
	* mountlist.c: Likewise.
	From Timur Bakeyev <mc@bat.ru>

2001-09-04  Pavel Roskin  <proski@gnu.org>

	* Makefile.am: Don't use substituted values directly.  Define
	CHARSET_SRC unconditionally.  Join SRCS and HDRS.

2001-09-03  Pavel Roskin  <proski@gnu.org>

	* widget.c (label_new): Don't calculate dimensions of multiline
	labels, since they cannot be changed and msglen() is already
	used when the dialog is created.

	* Makefile.in: Converted to ...
	* Makefile.am: ... this.

	* slint.c: Make more data and function static.
	* key.h: Remove declarations that are now static.
	* myslang.h: Likewise.

	* x.h: Remove.  Adjust all users.  Make sure that global.h is
	included instead.  Don't include sys/param.h unconditionally -
	rely on global.h taking care of it.
	* Makefile.in: Remove x.h.

	* color.c: Remove unused code.
	* color.h: Likewise.

2001-09-02  Pavel Roskin  <proski@gnu.org>

	* key.c: Remove support for BUGGY_CURSES.

	* tty.h: Remove support for old curses and GNOME.
	* global.h: Likewise.

	* widget.c (label_new): Set initial width of the widget based on
	the initial text.

	* view.c (hex_search): Don't use sscanf() to search for quoted
	strings - use strchr instead.

2001-08-31  23:14:21  Timur Bakeyev  <mc@bat.ru>

	* utilunix.c: init_groups(), destroy_groups(), get_user_permissions()
	rewritten to use GTree structure and functions. Add new static helper
	functions mc_gid_compare() and mc_gid_destroy().

	* util.h: Removed deprecated structure user_in_groups.

	* screen.c: Fixed typo in format report error string.

2001-08-31  23:14:21  Timur Bakeyev  <mc@bat.ru>

	* utilunix.c: get_user_rights() renamed into get_user_permissions().
	delete_groups() renamed into destroy_groups().
	* util.h: Likewise.
	* screen.c: Likewise.
	* main.c: Likewise.

2001-08-27  Pavel Roskin  <proski@gnu.org>

	* cmd.c (dirsizes_cmd): Don't cast st_size to long - use off_t
	instead, since off_t can be longer.
	Reported by Radovan Bukoci <rado@autoparts.sk>

2001-08-30  David Martin  <dmartina@excite.es>

	* info.c (info_show_info): Use size_trunc_len() instead of
	print_bytesize().  Don't assume English word ordering.  Add
	singular message when single block.
	* win.c (print_bytesize): Remove.
	(sprint_bytesize): Remove.
	* win.h: Remove print_bytesize() and sprint_bytesize().

	* util.c (size_trunc_len): Add units parameter.  Change all
	callers.

	* util.c (size_trunc_len): Print size values with some (little)
	sense for tiny and even wee lengths (i.e. squeezed X terminals).

	* info.c (info_show_info): Move comment line just before
	translatable message so it's shown in .po files to alert
	translators.  The message (translated) is used to set the start
	column (so the available width) for some "truncatable" strings.

2001-08-27  Pavel Roskin  <proski@gnu.org>

	* key.c (learn_key): Turn off keypad to disable interpreting keys
	by ncurses.
	Reported by Frederic L. W. Meunier <fredlwm@pervalidus.net>

2001-08-26  Pavel Roskin  <proski@gnu.org>

	* xcurses.c: Remove.
	* Makefile.in: Remove all references to xcurses.c.

2001-08-24  Pavel Roskin  <proski@gnu.org>

	* user.h: Include "../edit/edit-widget.h", not
	"../gtkedit/edit-widget.h".

	* subshell.c: Use standard Autoconf symbols to determine whether
	to include <stropts.h> and <grp.h>.

2001-08-23  Pavel Roskin  <proski@gnu.org>

	* subshell.c (feed_subshell): Don't wait forever after the first
	select() call if fail_on_error is true.  This alleviates hang
	with zsh on QNX Neutrino.

2001-08-21  Pavel Roskin  <proski@gnu.org>

	* view.h: Declare view_dlg.
	* main.h: Declare edit_dlg.
	* layout.c (change_screen_size): Remove external declarations
	inside the function.

2001-08-20  Pavel Roskin  <proski@gnu.org>

	* view.c (load_view_file) [!HAVE_MMAP]: Warning fix.

2001-08-19  Pavel Roskin  <proski@gnu.org>

	* main.c (mc_maybe_editor_or_viewer) [!USE_INTERNAL_EDIT]:
	Re-enable 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".

2001-08-19  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (view_handle_key) [HAVE_CHARSET]: Remove unneeded
	statements.

2001-08-19  Pavel Roskin  <proski@gnu.org>

	* screen.c [HAVE_X]: Disable unused code.

	* fs.h: Correctly include <sys/param.h>.
	* x.h: Include "global.h".  Move all contents ...
	* global.h: Here.

	* regex.c (regex_compile): Warning fix for ambiguous else.

2001-08-18  Pavel Roskin  <proski@gnu.org>

	* key.c (xmouse_get_event): Filter out GPM_UP events that don't
	follow a GPM_DOWN event.  Filter out events with unknown button
	numbers, such as mouse wheel events.
	(get_event): Return EV_NONE if xmouse_get_event() decided to
	ignore the event.

	* main.c (init_sigchld): Disable subshell if SIGCHLD handler
	cannot be installed.

	* x.h: Instead of undefining MIX and MAX after <gnome.h> make
	sure that <sys/param.h> is included before <gnome.h>.

2001-08-17  Pavel Roskin  <proski@gnu.org>

	* key.c (mc_bindings) [linux]: Remove old hack - recognizing
	"\e[2~" on all terminals.

2001-08-16  Pavel Roskin  <proski@gnu.org>

	* charsets.c (load_codepages_list): Print a warning if
	mc.charset cannot be opened.
	* setup.c (load_setup) [HAVE_CHARSET]: Remove all popup messages
	because it's to early to use them - ncurses would crash.

2001-08-15  Pavel Roskin  <proski@gnu.org>

	* util.c (strip_ctrl_codes): Rewrite using pointers.  Fix
	stripping sequences beginning with "\e[".  Check is_printable().

	* man2hlp.c: Remove HTML support.  Remove old link support.
	Warning fixes.
	(print_string): Handle backslashes in verbatim mode too.

	* main.c (setup_pre) [HAVE_CHARSET]: Fix compilation with
	ncurses.

	* textconf.c (features): Fix interpretation of
	HAVE_SYSTEM_SLANG.
	From David Martin <dmartina@excite.es>

2001-08-14  Pavel Roskin  <proski@gnu.org>

	* key.h (define_sequence): Change declaration to return int.
	* key.c (define_sequence): Return 1 on success, 0 on error.
	* learn.c (learn_button): Don't accept sequence if
	define_sequence() has failed.

2001-08-12  Pavel Roskin  <proski@gnu.org>

	* learn.c (learn_save): Fix memory leak.

	* dir.c (string_sortcomp) [HAVE_STRCOLL]: Make static.

	* cmd.c (guess_message_value): Typo - replace "LC_MESSAGE" with
	"LC_MESSAGES".

	* dir.c (string_sortcomp) [HAVE_STRCOLL]: Always use strcmp()
	for case sensitive sort.  For case insensitive sort use
	strcoll() if it's case insensitive for ASCII and g_strcasecmp()
	otherwise.

2001-08-11  Pavel Roskin  <proski@gnu.org>

	* achown.c (chown_advanced_cmd): Remove dead code.
	* chown.c (chown_cmd): Likewise.
	* chmod.c (chmod_cmd): Likewise.

	* charsets.c (load_codepages_list): Use concat_dir_and_file().

	* mad.h: Disable glib support - it doesn't work properly.

2001-08-07  Pavel Roskin  <proski@gnu.org>

	* view.c: Warning fixes. Include "cmd.h". Rename help_cmd()
	to view_help_cmd().
	(view_handle_key) [HAVE_X]: Disable '!' and Ctrl-O.

	* main.c (do_execute): Don't show prompt if the command is empty
	and the subshell is not running.
	* view.c (view_handle_key): Add support for Ctrl-O in the viewer.
	Suggested by Walery Studennikov <despair@sama.ru>

2001-08-06  Pavel Roskin  <proski@gnu.org>

	* boxes.c (display_init): Associate correct help topic.
	(sort_box): Likewise.
	(set_panel_filter): Likewise.
	* option.c (init_configure): Likewise.
	* menu.c (menubar_handle_key): Show help dependent on the active
	menu.

2001-08-06  Andrew V. Samoilov  <kai@cmail.ru>

	* mad.c (mad_strdup): Return NULL if NULL is passed.

	* view.c (block_search): Return the position where the block was
	found as declared in comment.
	(hex_search): Don't increase pos, block_search returns now right
	position.

2001-08-03  Andrew V. Samoilov  <kai@cmail.ru>

	* mad.[ch] (mad_check): Declare file parameter const.
	(mad_alloc): Likewise. Don't truncate it.
	(mad_abort): Declare message and file parameters const.

2001-08-03  Pavel Roskin  <proski@gnu.org>

	* file.c: Warning fix.  Include global.h before other local
	includes.
	* filegui.c: Likewise.
	(fmd_init_i18n) [!ENABLE_NLS]: Completely disable.
	* i18n.h [!ENABLE_NLS]: Warning fix.
	* learn.c (init_learn): Move do_refresh() call immediately
	before create_dlg().  Warning fix.

2001-07-31  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: "install" now depends on "all".
	Reported by Walery Studennikov <despair@sama.ru>

2001-07-31  Andrew V. Samoilov  <kai@cmail.ru>

	* util.c [!HAVE_X] (is_printable): Don't duplicate declarations from
	main.h.
	(load_file): Use fopen and fstat to prevent race conditions.
	(size_trunc): Make suffix const array.
	(strip_password): Make prefixes const array.
	(file_date): Make fmt auto variable.
	* color.c (color_table): Make constant array.
	* widget.[ch] (label_new): Make text parameter const.
	* menu.c (create_menu): Don't localize name, it is always done.
	* find.c (find_parameters): Fix hotkeys duplication.
	* complete.c (command_completion_function): Don't stop $PATH
	processing on empty entry. Interpret it as current directory.

2001-07-31  Pavel Roskin  <proski@gnu.org>

	* charsets.c: Warning fixes.
	* charsets.h: Likewise.
	* selcodepage.c: Likewise.
	* selcodepage.h: Likewise.

	* Makefile.in: Move most logic around gindex.pl into gindex.pl.
	Don't use maintainer-only rules since mc.hlp won't be removed
	now if perl is missing or gindex.pl fails.
	* gindex.pl: Run man2hlp internally.  Use files given as
	arguments instead of stdin and stdout.

2001-07-30  Pavel Roskin  <proski@gnu.org>

	* mad.c: Don't use g_calloc - it's missing in glib 1.2.x.
	* mad.h: Likewise.  Use mad_alloc0() to emulate calloc().

	* view.h: Simplify, respect WANT_WIDGETS setting.

2001-07-28  Pavel Roskin  <proski@gnu.org>

	* view.c (view_ok_to_quit): Make global - it's needed for GMC.
	* view.h: Declare view_ok_to_quit().

2001-07-27  Pavel Roskin  <proski@gnu.org>

	* util.c [!USE_VFS] (get_current_wd): Resurrect, this time using
	g_get_current_dir().

	* background.h: Remove WITH_BACKGROUND, it's now in extraconf.h.
	* background.c: Use WITH_BACKGROUND instead of USE_NETCODE.

	* util.c (mc_mkstemps): Don't prepend $TMPDIR if prefix contains
	path separator.

2001-07-26  Pavel Roskin  <proski@gnu.org>

	* cmd.c (do_link): Append filename to the default symlink
	target.  Don't add path separator if there is no listing on
	the other panel.  Avoid using fixed size buffers.
	From Max Schedriviy <max@tavrida.net>

	* main.c [HAVE_X]: Disable eight_bit_clean and full_eight_bits.
	* util.c (is_printable) [HAVE_X]: Simplify.

2001-07-25  Pavel Roskin  <proski@gnu.org>

	* cmd.c (do_link): Simplify.  Don't silently exit if the source
	file is not regular - let user see the error if any.

2001-07-24  Pavel Roskin  <proski@gnu.org>

	* achown.c (ch_perm): Make constant array.
	(chown_info_update): Use set_perm_by_flags(), not set_perm().
	(set_perm): Remove.

	* achown.c: Make all global variables static.  Fix help.
	* complete.c: Likewise.
	* chmod.c: Make all global variables static.
	* chown.c: Likewise.
	* chmod.h: Remove all variables.

2001-07-23  Pavel Roskin  <proski@gnu.org>

	* user.c: Eliminate static variable s_editwidget.  Pass
	edit_widget as argument.  All callers changed.
	(expand_format): Fix expansion of %n and %b for the editor.
	* util.c: Remove dead code.

	* setup.c (load_keys_from_section): Give terminal-specific
	settings preference over settings from [terminal:general].

2001-07-22  Pavel Roskin  <proski@gnu.org>

	* setup.c (load_keys_from_section): Give ~/.mc/ini preference
	over mc.lib.

2001-07-20  Pavel Roskin  <proski@gnu.org>

	* dlg.c: Remove dependency on definitions in gconf.h.

	* widget.c (input_callback) [HAVE_X]: Disable Ctrl-q - it
	doesn't work.

	* file.c (panel_get_file): Use g_assert_not_reached().
	* key.c (xgetch_second): Make static.

2001-07-19  Pavel Roskin  <proski@gnu.org>

	* user.c (check_format_view): Match "unform" instead of
	"unformated" because some users may spell this word correctly.

2001-07-17  Pavel Roskin  <proski@gnu.org>

	* util.c (get_current_wd): Remove.  It's obsoleted by
	g_get_current_dir() from glib.

	* ext.c (exec_extension): Add the `rm' command to the end of
	temporary scripts so that they erase themselves.

	* util.c (mc_mkstemps): Always use "unsigned long" for entropy,
	since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
	checking for "long long" is not worth the trouble.
	Reported by David Martin <dmartina@excite.es>

2001-07-16  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (mc_doublepopen): Use _exit() instead of exit()
	and don't close any unrelated file descriptors.  Explicitly
	close inhandle.

2001-07-15  Pavel Roskin  <proski@gnu.org>

	* mad.h: Include stdio.h to prevent redefining mad_tempnam().
	* main.c [HAVE_X && HAVE_MAD]: Don't call done_key().

	* dlg.h: Remove declarations of non-existent functions.
	[HAVE_X]: Disable color constants - they shouldn't be used.

	* boxes.c [WITH_SMBFS] (vfs_smb_get_authinfo): Copied from
	vfs/smbfs.c, function authinfo_get_authinfo_from_user().

	* cmd.c [HAVE_X]: Disable source routing dialog and panel
	comparison.
	* main.c (ctl_x_map): Simplify preprocessor directives.

2001-07-14  Pavel Roskin  <proski@gnu.org>

	* screen.c (panel_keymap) [HAVE_X]: Disable Alt-H - it's not
	implemented properly for GNOME.
	* main.c (directory_history_list) [HAVE_X]: Disable.

	* panelize.c [HAVE_X]: Disable unused code.

	* main.c [HAVE_X]: Disable Ctrl-X sequences.

	* find.c: Remove code unused in the text edition.

	* main.c [HAVE_X]: Eliminate setup_post() and partly done_mc().

	* utilunix.c (uid_cache): Make static.
	(gid_cache): Likewise.
	(init_uid_gid_cache): Remove.
	* main.c (setup_post): Don't call init_uid_gid_cache().

	* main.c (default_map) [HAVE_X]: Disable Alt-T.
	* cmd.c [HAVE_X]: Eliminate set_basic_panel_listing_to() and
	toggle_listing_cmd().

2001-07-13  Pavel Roskin  <proski@gnu.org>

	* utilunix.c (canonicalize_pathname): Don't handle PATH_SEP
	after backslash	in a special way.

2001-07-12  Pavel Roskin  <proski@gnu.org>

	* subshell.c (init_subshell): Run "set echo_style=both" at
	startup to ensure that echo in tcsh understands octal numbers.
	Reported by Francis Kwok <francis.kwok@alcatel.com>

	* Makefile.in (OURLIBS): Merge with ...
	(LIBS): ... this. Add @LIBICONV@.
	Reported by Libor Motyèka <l_motycka@ortex.cz>

	* subshell.c (subshell_name_quote): New function. Quote all
	characters as octals, use command substitution.
	(do_subshell_chdir): Use subshell_name_quote(). Don't change
	terminal settings when the quoted path is sent to the shell -
	it's now safe.

2001-07-12  Andrew V. Samoilov  <kai@cmail.ru>

	* main.c: Eliminate iconify_on_exec.
	[!HAVE_GNOME]: Eliminate nowindows, nodesktop, twopanel,
	display_linksdir and cmdline_geometry.
	(sigchld_handler_no_subshell): Comment fixes.
	(midnight_callback): Likewise.
	(print_mc_usage): Use fputs, not fprintf.
	(print_color_usage): Likewise.
	(argument_table): Assign 'r' with force_subshell_execution and 'U'
	with use_subshell.
	(process_args): Don't deal with 'r', 'U' and 'X' options.
	(setup_mc) [HAVE_GNOME]: Eliminate more code.

	setup.c (options):  Eliminate iconify_on_exec.

2001-07-10  Andrew V. Samoilov  <kai@cmail.ru>

	* view.c (hex_search): Release buffer after use.

2001-07-09  Pavel Roskin  <proski@gnu.org>

	* view.c (hex_search): Reimplement parser using sscanf. Add
	support for decimal and octal numbers. Add error reporting.
	Allocate buffer dynamically.

	* hotlist.c: Add comments to avoid confusion between
	done_hotlist() and hotlist_done().
	(hotlist_done): Set l_hotlist to NULL.
	(add2hotlist): Load hotlist if it's neither loaded nor loading.
	This fixes Ctrl-x h. Fix compiler warning.

	* hotlist.c: Make more variables and functions static.

2001-07-08  Pavel Roskin  <proski@gnu.org>

	* ext.c (exec_extension) [HAVE_X]: Free file_name. Add comment
	explaining why it cannot be unlinked there.

2001-07-06  Pavel Roskin  <proski@gnu.org>

	* ext.c (exec_extension): Unlink temporary file earlier if it's
	not going to be used.
	[OLD_CODE]: Remove.

	* Makefile.in: Use additional quotes to preserve @prefix@ when
	Makefile is generated.

	* Makefile.in: Don't use SEDCMD2, use sed.

	* cons.saver.c: New variable console_minor. Eliminate variables
	len and vcs_name.
	(check_file): Set console_minor to the minor device number of
	the console. Disallow /dev/tty0.
	(detect_console): Don't parse tty_name, instead make sure that
	it corresponds to console_minor. Check console first. Fallback
	to /dev/vcc/a* if /dev/vcsa* cannot be opened.
	(save_console): Use console_minor.
	(restore_console): Likewise.

	* cons.saver.c (check_file): Eliminate using text messages to
	indicate errors. Improve debug messages.
	(detect_console): Likewise.
	(main): Adjust call to detect_console.

	* main.c (sigchld_handler_no_subshell): Don't restart cons.saver
	if it died.
	* subshell.c (sigchld_handler): Likewise.

2001-07-05  Pavel Roskin  <proski@gnu.org>

	* main.c (midnight_callback): Don't handle any events except
	Ctrl-x combinations on DLG_KEY event if the menu is active.

	* main.c (load_prompt): Don't change prompt if midnight_dlg is
	not the current dialog.

2001-06-28  Pavel Roskin  <proski@gnu.org>

	* util.c (size_trunc_len): New function - print file size to
	a buffer of limited length.
	* util.h: Declare size_trunc_len().
	* screen.c (string_file_size): Use size_trunc_len().

2001-06-26  Pavel Roskin  <proski@gnu.org>

	* xslint.c: Remove.
	* Makefile.in (SRCS): Remove xslint.c.

2001-06-25  Pavel Roskin  <proski@gnu.org>

	* key.c (ctrl_pressed): Don't limit functionality to Linux.
	* screen.c (prev_page_key): Don't require console_flag to be set
	to use ctrl_pressed(), only require that HAVE_X is undefined.
	(next_page_key): Likewise.
	* widget.c (key_left): Don't limit functionality to Linux.
	(key_right): Likewise.

	* main.h: Use "ifdef HAVE_GNOME", not "if HAVE_GNOME". Fix the
	order of conditionals and put comments on endifs.

2001-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c [HAVE_CHARSET]: Include selcodepage.h.
	(view_new): Use g_new0.
	(ruler): Make static.

	* complete.c (filename_completion_function): Clean it up.
	(command_completion_function): Make words, bash_reserved and
	bash_builtins const, use concat_dir_and_file.
	(fetch_hosts): Fix typo, style fixes.

2001-06-23  Pavel Roskin  <proski@gnu.org>

	* mem.h: Undefine bcopy(), bcmp() and bzero() before redefining
	them.

2001-06-22  Pavel Roskin  <proski@gnu.org>

	* ext.c (exec_extension) [HAVE_X]: Disable console handling.

	* cons.handler.c: Reorganize includes. Fix warnings on BSD.
	* rxvt.c (rxvt_extensions): Make static.
	* main.c (sigchld_handler_no_subshell) [!__linux__]: Don't try
	to restart cons.saver.
	* subshell.c (sigchld_handler) [!__linux__]: Likewise.

	* fsusage.c: Use HAVE_INFOMOUNT.
	* mountlist.c: Likewise. Fix condition when mount_list is
	declared.
	(fstype_to_string): Rename mount_list to mlist to avoid
	confusion with the file-scoped static variable.

	* cmd.c [HAVE_X]: Disable more code. Reorder includes.

2001-06-20  Pavel Roskin  <proski@gnu.org>

	* main.c: Remove MenuBarEmpty. From Andrew V. Samoilov.

	* wtools.c [HAVE_X]: Disable quick dialog routines.

	* setup.c (save_setup) [HAVE_X]: Don't save the [Dirs] section.
	(load_setup) [HAVE_X]: Don't load the [Dirs] section.
	* main.c [HAVE_X]: Disable other_dir and boot_current_is_left.
	Adjust all users.

2001-06-19  Pavel Roskin  <proski@gnu.org>

	* background.h: Correct condition when WITH_BACKGROUND is
	defined.
	* fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
	for old QNX and use it instead of __QNX__.
	* mountlist.c: Likewise.
	* keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
	of __QNX__.

2001-06-18  Pavel Roskin  <proski@gnu.org>

	* main.c [HAVE_X]: Disable change_panel(),
	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.

	* utilunix.c (init_my_statfs): Move this ...
	* util.c (my_statfs): ... and this ...
	* mountlist.c: ... here.
	* util.h: Move mountlist-related declarations ...
	* mountlist.h: ... here.
	* info.c: Include mountlist.h.

2001-06-17  David Martin  <dmartina@excite.es>

	* hotlist.c (init_movelist): Don't assume English word ordering
	in the title.

2001-06-16  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* wtools.c (message): Possible buffer overflow fixed.
	(query_callback) [HAVE_X]: Disable more code.
	(listbox_refresh) [!HAVE_X]: Became a macro.
	* hotlist.c (init_i18n_stuff): Mark cancel_but for translation.

	* tree.c (tree_copy, tree_move): Possible memory leaking fixed.
	(tree_keymap): Constified.

2001-06-15  Pavel Roskin  <proski@gnu.org>

	* panelize.c: Define DIR_H_INCLUDE_HANDLE_DIRENT earlier, since
	the GNOME edition includes dir.h from other headers.

	* background.c: Include "x.h".
	* panelize.c: Likewise.
	* treestore.c: Likewise.
	* user.c: Likewise.
	* util.c: Likewise.
	* command.c: Reorder includes. Include "x.h".
	* complete.c: Likewise.
	* find.c: Likewise.
	* user.h: Declare user_menu_cmd() unconditionally.
	* i18n.h [GAVE_GNOME]: Remove code that is now in x.h.

	* tty.h [HAVE_X]: Define beep() to gdk_beep().

2001-06-14  Pavel Roskin  <proski@gnu.org>

	* xtty.h: Remove, move contents ...
	* tty.h: ... here.
	[HAVE_X]: Define attrset(), mc_refresh(), enable_interrupt_key()
	and disable_interrupt_key(). Don't declare mc_refresh().
	* view.c: Use braces around widget_move() since it's empty in
	the GNOME edition.
	* xslint.c: Eliminate attrset() and mc_refresh().
	* Makefile.in: Remove xtty.h.

	* cons.handler.c (handle_console): Remove useless default.
	* ext.c (regex_command): Initialize include_target_len.
	* find.c [HAVE_GNOME]: Eliminate untyped declarations.
	* fsusage.c: Remove untyped declaration of statfs().
	[_AIX && _I386]: Rename statfs to aix_statfs and move
	it before get_fs_usage(). Define statfs to aix_statfs.

	* achown.c: Eliminate untyped declarations.
	* boxes.c: Likewise.
	* cons.saver.c: Likewise.
	* hotlist.c: Likewise.
	* panelize.c: Likewise.
	* rxvt.c: Likewise.
	* main.c: Likewise. Make undeclared functions static.
	* treestore.c: Make undeclared functions static.
	* view.c: Likewise.
	* widget.c: Likewise.

	* main.h: Fix prototype of exec_shell.
	* tree.c: Make all functions static when possible.
	* tree.h: Changes for the above.

	* text.c [HAVE_X]: Remove useless #error.
	* cons.saver.c: Indent #error to hide it from old compilers.

2001-06-13  Pavel Roskin  <proski@gnu.org>

	* screen.c (display_mini_info): Avoid nested i18n calls.
	(parse_panel_size): Warning fix.
	* user.c [HAVE_X]: Warning fix.
	(check_format_var): Avoid nested i18n calls. Improve messages.

	* screen.c (user_file_menu_cmd) [HAVE_X]: Disable.
	(panel_callback) [HAVE_X]: Don't define labels, they are unused.
	* user.c [HAVE_X]: Disable all user menu code.

	* color.c (color_table): Make static. Only use in text edition.
	* xtty.h: Remove unused definitions.

	* slint.c (slang_init): Check screen dimensions and exit if they
	are abnormal. This may happen due to a S-Lang bug when the TERM
	is set to a value not listed in termcap or terminfo.

2001-06-12  Pavel Roskin  <proski@gnu.org>

	* boxes.c [HAVE_CHARSET]: Localize more strings. Lay out the
	encoding dialog using the translated title length. Remove
	useless preprocessor directives.
	From David Martin <dmartina@excite.es>

2001-06-11  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* dlg.[ch] (x_set_dialog_title): title constified.
	(create_dlg): Use g_new0 instead of g_new.

	* selcodepage.c (do_select_codepage): Fix compilation.

2001-06-09  Pavel Roskin  <proski@gnu.org>

	* util.c (load_mc_home_file): New function. Load file from
	mc_home, but try localized version of that file first.
	* util.h: Declare load_mc_home_file().
	* help.c (interactive_display): Use load_mc_home_file(). If the
	first argument is NULL assume mc.hlp.
	* dlg.c (dialog_handle_key): Use interactive_display() without
	specifying the help file.
	* tree.c (tree_copy): Likewise.
	* cmd.c (help_cmd): Likewise.
	(get_random_hint): Use load_mc_home_file().
	From Andrew V. Samoilov.

2001-06-07  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* charsets.h: Define CHARSETS_INDEX without leading LIBDIR.

	* charsets.c (translate_character): Warning fix.
	(init_translation_table): Don't deal with printable.
	This one is initialized by init_printable_table ().
	(load_codepages_list): Use CHARSETS_INDEX.

	* selcodepage.c (do_select_codepage): Messages marked for i18n.
	* setup.c (load_setup): Eliminate errbuf. Fix error message.

2001-06-07  Pavel Roskin  <proski@gnu.org>

	* setup.c (load_setup): Call init_printable_table() and
	init_translation_table() regardless of other failures.

	* charsets.c (get_codepage_index): Warning fix.
	(init_printable_table): New function.
	* charsets.h: Declare init_printable_table().
	* setup.c (load_setup): Uncomment init_printable_table().

	* cons.saver.c: Make all functions except main() static.
	* mfmt.c (omain): Remove, it's unused.

2001-06-06  Pavel Roskin  <proski@gnu.org>

	* main.c (done_mc) [HAVE_X]: Don't use xterm_flag.
	(midnight_callback) [HAVE_X]: Don't handle any keys except
	Ctrl-x sequences.
	Remove useless preprocessor conditionals.
	* win.c [HAVE_X]: Disable unused functions.

	* file.c: Add comments after every endif.
	[HAVE_GNOME] [!WITH_BACKGROUND]: Fix compilation.

2001-06-06  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c [HAVE_CHARSET]: Remove source_codepage and display_codepage.
	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.
	* boxes.c (sel_charset_button): Eliminate C++ comment.
	(new_display_codepage): Made static.
	(display_bits_box): Use "%s" for plain string in message.

2001-06-05  Pavel Roskin  <proski@gnu.org>

	* boxes.c [HAVE_CHARSET]: New charset selection dialog.
	* 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>.

	* selcodepage.c (do_select_codepage): New function.
	* selcodepage.h: Declare it.
	From Walery Studennikov <hqsoftware@mail.ru>.

	* mfmt.c (omain): Warning fix.

	* key.c [HAVE_TEXTMODE_X11_SUPPORT]: Rename `display' to
	`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().

	* achown.c: Make global variables static if possible. Remove now
	useless preprocessor directives, since this file is now used in
	the text edition only.
	* boxes.c: Remove useless ifdefs.
	[USE_VFS]: Don't undef USE_NETCODE - it's done in extraconf.h.
	* cmd.c [USE_VFS]: Don't undef USE_NETCODE.
	* chmod.c: Remove useless ifdefs.
	* filegui.c: Likewise.
	* hotlist.c: Likewise.
	* info.c: Likewise.
	* layout.c: Likewise.
	* listmode.c: Likewise.
	* option.c: Likewise.
	* subshell.c: Likewise.
	* help.c: Remove useless ifdefs. Make global variables static if
	possible.
	* key.c: Likewise.
	* learn.c: Likewise.

2001-06-04  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* charsets.c (load_codepages_list): Lines in mc.charset beginning
	with a # are comments. Use "default character_set_name" in mc.charset
	to set default codepage for your system.
	(xstrncpy): Eliminate.

2001-06-04  Pavel Roskin  <proski@gnu.org>

	* cmd.c (edit_symlink_cmd) [!HAVE_GNOME]: Warn if the current
	selection is not a symbolic link.

2001-06-02  Pavel Roskin  <proski@gnu.org>

	* cmd.c (free_vfs_now) [HAVE_GNOME]: Eliminate.
	(reselect_vfs) [HAVE_GNOME]: Likewise.
	* main.c (ctl_x_map) [HAVE_GNOME]: Disable add2hotlist_cmd.
	(done_mc) [HAVE_X]: Don't call save_hotlist().
	* setup.c (save_setup) [HAVE_X]: Likewise.
	(done_setup) [HAVE_X]: Don't call done_hotlist().

2001-06-01  Pavel Roskin  <proski@gnu.org>

	* hotlist.c [HAVE_X]: Don't use ctrl_pressed().
	* 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 sense
	for the GNOME edition. Eliminate save_panel_types().
	* view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().

	* view.c [HAVE_X]: Define is_idle() to 1. Warning fix.

	* file.c (copy_file_file): Initialize src_uid, src_gid, src_mode
	and file_size to avoid a warning.

2001-05-31  Pavel Roskin  <proski@gnu.org>

	* charsets.c: Include config.h before everything else.
	* selcodepage.c: Likewise.

	* textconf.c (features): Use longer strings to avoid enforcing
	English word ordering on the translations. Capitalize sentences.
	From Walery Studennikov: Indicate charset support.
	(version): Use fputs, not fprintf.

	* Makefile.in: Add charsets.c, charsets.h, selcodepage.c and
	selcodepage.h. Compile them if the charset support is enabled.
	Distribute them always.

2001-05-30  Pavel Roskin  <proski@gnu.org>

	* charsets.c: New file for charset conversion support.
	From Walery Studennikov.
	* charsets.h: Likewise.
	* selcodepage.c: Likewise.
	* selcodepage.h: Likewise.

	* layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 0 if
	possible to prevent ncurses from waiting after escape.

2001-05-29  Pavel Roskin  <proski@gnu.org>

	* cmd.c (quick_cd_cmd) [HAVE_GNOME]: Disable.
	* main.c (sort_cmd) [HAVE_GNOME]: Likewise.
	(ctl_x_map) [HAVE_GNOME]: Disable "Ctrl-x j" - background jobs.

	* color.c (init_colors) [HAVE_SLANG]: Use "default" instead of
	NULL as color names - this works even if COLORFGBG is unset.
	Don't check HAS_DIRECT_COLOR_ACCESS - it's now meaningless.

	* color.h: Define DEFAULT_COLOR_INDEX and DEFAULT_COLOR in the
	same way regardless of HAVE_SLANG.
	* color.c (init_colors) [USE_NCURSES]: Initialize the default
	color pair.

	* subshell.c (pty_open_master) [!HAVE_SCO && HAVE_GRANTPT]:
	Don't try to close a file that wasn't opened.

	* xslint.c: Remove slang_init() and FIXME in the comment.
	* main.c (main) [!HAVE_SLANG]: Don't call slang_init().

2001-05-28  Pavel Roskin  <proski@gnu.org>

	* myslang.h: Use HAVE_SLANG_SLANG_H instead of non-standard
	SLANG_H_INSIDE_SLANG_DIR.

	* xslint.c: Remove unused functions.

	* color.c (init_colors) [HAVE_SLANG]: Use SLtt_set_color() to
	associate the default colors with DEFAULT_COLOR_INDEX. The old
	code would unset alternative charset without making S-Lang aware
	of it.
	Thanks to John E. Davis <davis@space.mit.edu>
	* widget.c (update_input) [HAVE_SLANG]: Revert last change - it
	is not needed now.

2001-05-28  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c: Correct some comments after #endif
	(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.

2001-05-27  Pavel Roskin  <proski@gnu.org>

	* main.c (OS_Setup) [!HAVE_X]: Exit immediately if TERM
	environment variable is unset or empty.

2001-05-25  Pavel Roskin  <proski@gnu.org>

	* cmd.c: Clean up useless preprocessor directives.
	(symlink_cmd): Warning fix.
	* dlg.c (dialog_handle_key) [HAVE_X]: Disable suspend on Ctrl-z.
	* main.c (do_suspend_cmd) [HAVE_GNOME]: Remove.
	(suspend_cmd) [HAVE_GNOME]: Likewise.

2001-05-24  Pavel Roskin  <proski@gnu.org>

	* widget.c (update_input) [HAVE_SLANG]: Work around a bug in
	SLang 1.x - set charset to alternative when printing spaces.

2001-05-22  Pavel Roskin  <proski@gnu.org>

	* ext.c (exec_extension): Use g_free() on the result of
	mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
	needed anymore.
	* user.c (execute_menu_command): Likewise.
	* util.c (mc_mkstemps): Return NULL in the filename in the case
	of failure. Remove support for NULL as the first argument.
	From Andrew V. Samoilov.

2001-05-21  Pavel Roskin  <proski@gnu.org>

	* ext.c (exec_extension): Use mc_mkstemps().
	* user.c (execute_menu_command): Use mc_mkstemps().
	* util.c (mc_mkstemps): New function - safely create and
	open temporary file. Return the handle and the name.
	* util.h: Declarations for init_tmpdir() and mc_mkstemps().
	Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.

2001-05-18  Pavel Roskin  <proski@gnu.org>

	* TODO: Remove Tk-related entries.
	* boxes.c [HAVE_TK]: Remove. Don't need INPUT_INDEX anymore.
	* screen.c [HAVE_TK]: Remove.
	(panel_event): Made static.
	* chmod.c [HAVE_TK]: Remove.
	* cmd.c [HAVE_TK]: Likewise.
	* help.c [HAVE_TK]: Likewise.
	* hotlist.c [HAVE_TK]: Likewise.
	* info.c [HAVE_TK]: Likewise.
	* view.c [HAVE_TK]: Likewise.
	* view.h [HAVE_TK]: Likewise.
	* widget.c [HAVE_TK]: Likewise.
	* wtools.c [HAVE_TK]: Likewise.

	* TODO: Remove XView-related entries.
	* menu.h [HAVE_XVIEW]: Remove all XView-related code.

2001-05-17  Pavel Roskin  <proski@gnu.org>

	* subshell.c (pty_open_master) [HAVE_SCO]: Fix ambiguous `else'.
	[!HAVE_SCO && !HAVE_GRANTPT]: Likewise.

2001-05-16  Pavel Roskin  <proski@gnu.org>

	* subshell.c: Define _GNU_SOURCE to enable prototypes for
	allocating pseudo-terminals on GNU systems.

	* subshell.c (init_subshell_child): New function to initialize
	child process and run subshell. Code moved from ...
	(init_subshell): ... here.

	* subshell.c (init_subshell): Don't close pty_slave if is wasn't
	open. Initialize it with -1.

2001-05-14  Pavel Roskin  <proski@gnu.org>

	* main.c [HAVE_GNOME]: Disable more code.
	* cmd.c [HAVE_GNOME]: Likewise.

	* background.h: Omit definitions that require FileOpContext if
	fileopctx.h has not been included yet.

	* background.c (real_message_2s): Declare arguments "const" when
	possible.
	(real_message_3s): Likewise.
	* wtools.c (message): Likewise.
	* background.h: Change declarations to match.
	* dialog.h: Likewise.

	* boxes.c [HAVE_GNOME]: Disable unused code.
	* find.c [HAVE_GNOME]: Likewise.
	* complete.c [HAVE_GNOME]: Likewise.
	* main.c [HAVE_GNOME]: Likewise.

	* screen.c (adjust_top_file): Enable only if it's used, i.e.
	when PORT_HAS_PAINT_FRAME in undefined.
	* wtools.c (listbox_refresh): Disable for HAVE_X, define to
	an empty macro instead.
	(listbox_callback): Call listbox_refresh() regardless of HAVE_X.
	(create_listbox_window): Likewise.

	* fsusage.c: Include stdlib.h for abort().
	* tree.c (tree_mkdir_cmd): Disable tree_mkdir_cmd() since it's
	not used.
	* widget.c: Declare x_radio_toggle() with arguments.

	* util.h: Remove declarations of some functions defined in
	background.c.

2001-05-14  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* background.c (real_message_1s, message_1s): third parameter is
	  used by message () as printf pattern, so "%s" has to be added
	  if plain string must be shown but printf conversion
	  specification(s) may be there.
	* view.c (do_view_init): ditto
	* user.c (debug_out): ditto
	* utilunux.c (close_error_pipe, check_error_pipe): ditto

	* background.[ch], vfs/util-alone.c (message_1s): third parameter
	  constified

2001-04-27  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* find.c (search_content): Redo recent change without infinite loop ;-),
	egrep_path hardcoded to "egrep" as it is done in locate_egrep ()

	(locate_egrep): commented out

	(rotating_dash) [!HAVE_X]: moved into do_search to prevent warning

2001-04-26  Pavel Roskin  <proski@gnu.org>

	* find.c (search_content): Undo a recent change that caused an
	infinite loop.

2001-04-24  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c (get_line_at): previous newline is right condition
	for regexp '^' pattern also, fixed

	(search) [HAVE_GNOME]: gnome_message_box_new doesn't expand printf
	pattern, so g_strdup_printf used

	* find.c (find_parameters): don't use stat structure if mc_stat failed

2001-04-17  Pavel Roskin  <proski@gnu.org>

	* subshell.c (init_raw_mode): New function, separated from ...
	(invoke_subshell): ... this.
	(init_subshell): Initialize raw_mode here instead of delaying it
	until invoke_subshell(). Otherwise the current mode may have
	been changed by edition_pre_exec(), which caused Ctrl-O to be
	ignored on FreeBSD if a command has been run before switching
	to the subshell.

2001-04-06  Pavel Roskin  <proski@gnu.org>

	* chmod.c (stat_file): Allow chmod and chown on special files.

	* cons.handler.c: Include "global.h" for exit().

	* Makefile.in: Add dependencies between mc and static libraries
	in the source tree.

2001-04-06  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* find.c (find_parameters): Add a checkbox for case insensitive
	content search.
	(search_content): Pass `-i' to egrep for case insensitive
	search.

2001-03-30  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* panel.h, screen.c (panel_new): panel_name constified to do gcc
	some more happy when gmc is compiled

2001-03-18  Miguel de Icaza  <miguel@ximian.com>

	* widget.c (forward_word, backward_word): Revert Timur's patch
	from last year which made the behavior for advancing words not
	match the one in Emacs.

2001-03-02  Pavel Roskin  <proski@gnu.org>

	* key.c (mi_getch): Discard non-events (EV_NONE), but not
	keycode 0 (Ctrl-@).

2001-02-26  Pavel Roskin  <proski@gnu.org>

	* cmd.c (edit_cmd) [HAVE_GNOME]: Use gmc_edit(). Don't use
	regex_command().
	(ext_cmd) [HAVE_GNOME]: Don't compile for GNOME.
	* ext.c (regex_command) [HAVE_GNOME]: Likewise.
	* ext.h [HAVE_GNOME]: Don't define MC_USER_EXT and MC_LIB_EXT.

	* main.c (main): Don't call edit_init_file() - the editor should
	care about its files itself.

2001-02-09  Pavel Roskin  <proski@gnu.org>

	* main.c (main): Fix compilation error when configured without
	subshell support.

2001-02-07  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c (main): Do not fork subshell for mcedit/mcview.

2001-01-27  Pavel Roskin  <proski@gnu.org>

	* cons.handler.c (handle_console): Check the result of ttyname().

	* main.c (handle_args): Exit if no arguments are given to mcview.
	[HAVE_GNOME]: Don't examine argv[0] - it's done separately.

	* dir.c: Respect HAVE_STRCOLL. Added a comment about strcoll().

2001-01-26  Pablo Saratxaga  <pablo@mandrakesoft.com>

	* file.c: moved a comment one line down so it becomes visible on the
	translators' po files. Also added gettext:no-c-format comments for
	a few strings with % in them that are not C format printf codes.

2001-01-21  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* subshell.c (do_subshell_chdir): temporary patch to prevent command
	execution for directory names containing 0x03 (intr) 0x14.
	See http://www.securityfocus.com/vdb/?id=2016 for details.
	Subshell still can't chdir to such directories :(

	* subshell.[ch] (do_subshell_chdir): directory constified

2001-01-17  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Respect LDFLAGS when linking cons.saver.

2000-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* view.c: Fixed long existed bugs in internal viewer. When search is
	doing in binary file it ignore skipped zero(es), so cursor is before
	searched expression and next search find the same string. Also regexp
	search could return wrong results for '^ ?' expressions.

	(get_line_at): skipped: new parameter for number of skipped zero(es)

	(search): new features of get_line_at used.

2000-11-16  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* cons.saver.c (check_file): close fd on error. There was a bug, which
	allowed luser to write '\0' char to any symlinkable file in Linux
	system which don't ensure that fd's 0, 1, and 2 are open on startup
	of a SUID/SGID binary.
	Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.

2000-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* layout.c (print_vfs_message): format string vulnerability fixed

2000-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c (CmdMenu): don't include edit_user_menu_cmd ()
	if USE_INTERNAL_EDIT is not defined
	(main): call edit_init_file () if USE_INTERNAL_EDIT is defined only
	(listmode_cmd): messages are localized

2000-11-02  Pavel Roskin  <proski@gnu.org>

	* layout.c [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Declare
	low_level_change_screen_size().
	(flag_winch) [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Call
	low_level_change_screen_size(). From Andrew V. Samoilov.

2000-10-04  Pavel Roskin  <proski@gnu.org>

	* user.c (expand_format): Fixed processing of "%s".

2000-09-30  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Added an explicit rule for man2hlp.

2000-09-26  Pavel Roskin  <proski@gnu.org>

	* listmode.c, listmode.h, main.c: Consistently using define
	LISTMODE_EDITOR to enable the experimental listmode editor.
	* main.c: Don't allow two adjacent separators in the Command
	menu.

2000-09-22  Pavel Roskin  <proski@gnu.org>

	* fixhlp.c: Removed.
	* Makefile.in: Removed all references to fixhlp.c

2000-09-14  Pavel Roskin  <proski@gnu.org>

	* features.h: Joined with textconf.h to avoid name clash with
	GNU Libc.
	* features.c: Renamed to ...
	* textconf.c: ... this
	* Makefile.in, cmd.c, main.c, text.c: necessary adjustments

	* Makefile.in: Don't make softlinks to the libraries

2000-09-13  Pavel Roskin  <proski@gnu.org>

	* Makefile.in: Only rebuild mc.hlp in the maintainer mode.

2000-09-01  Pavel Roskin  <proski@gnu.org>

	* fixhlp.c: fixed compile errors and warnings

2000-08-30  Pavel Roskin  <proski@gnu.org>

	* dirhist.c, dirhist.h: removed

	* features.h, keys.h, textconf.h, x.h: added protection against
	multiple inclusion

2000-08-23  Pavel Roskin  <proski@gnu.org>

	* features.c: include <sys/param.h> to avoid a warning

	* 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

2000-08-22  Pavel Roskin  <proski@gnu.org>

	* main.c [HAVE_GNOME]: disable chmod and chown - they were
	broken and obsoleted by the "Properties" dialog

	* cmd.c [HAVE_X]: Removed dependency on status_using_ncurses

	* man2hlp.c: Removed undocumented feature - when converting
	to HTML some output would go to index.html instead of stdout

2000-08-16  Pavel Roskin  <proski@gnu.org>

	* gindex.pl: Enable warnings. Existing warnings fixed.

	* Makefile.in: mc.hlp now depends on man2hlp.c instead of
	man2hlp - this avoids some rebuilds of mc.hlp

2000-08-15  Pavel Roskin  <proski@gnu.org>

	* mc.hlp: removed. It's a derived file
	* Makefile.in: Fixed dependencies for $(srcdir)/mc.hlp
	Build $(srcdir)/mc.hlp but allow a failure (e.g. no perl)

2000-08-11  Frederic L. W. Meunier  <fredlwm@pervalidus.net>

	* Makefile.in: Don't compile mfmt, compile mcmfmt directly.

2000-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
	tkn_length nullified after tkn_buf is freed to prevent crashes.

	(new_hotlist): became a macro

	* background.c (real_message_[123]s): title is really prepended
	by "Background process:" string now if mode == Background

	(background_attention): resstr NULLified to prevent warning

2000-06-26  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* screen.c (display_mini_info): two different patterns are
	used now: for one file and for other cases

2000-06-16  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* cons_saver: support linux with devfs, patch by pavenis@lanet.lv

2000-06-14  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
	parameters and WPanel.total field became double, thus, total size
	of selected files/directories is shown in the mini status correctly
	when it exceeds 2 GB.

2000-05-25  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* slint.c (init_pair): segfault fixed when mcedit -b called

	* user.c (check_format_var): error messages are localized

	(expand_format, user_menu_cmd): memory leaking for %e and %k macro
	fixed; segfault fixed when %m macro is used outside user_menu_cmd ()

	* ext.c (regex_command): memory leaking fixed when user extension
	file is absent

	(exec_extension): error message for changed mc.ext file format
	are localized -- does we really must be worry about mc 3.0 ?

	* widget.c (history_put): counter is initialized again

2000-05-11  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>

	* src/user.c: fix segfault when Shift-F4, Shift-F1, so when menu
	content condition y, macro %y

2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>

	* 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-04-17  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* widget.c: (history_put): profile is free()d if chmod failed,
	  (input_map): added const qualifier
	* utilunix.c, util.h: (tilde_expand): added const qualifier
	* cmd.c: (nice_cd): i18n update,
	  (source_routing): typo fixed, source is free()d after use
	* screen.c: i18n changes, (panel_keymap): added const qualifier
	* view.[ch]: (view, view_init, do_view_init): added const qualifier

2000-04-15  Timur Bakeyev  <mc@bat.ru>

	* dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
	directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
	as it is in POSIX.

2000-04-15  Timur Bakeyev  <mc@bat.ru>

	* dlg.c: Committed at last patch, that fixes screwed up right panel in
	a long format. Occasionally, all my colors problems also gone. All thanks
	to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
	problem, blames to me and Federico :)

2000-04-12  Timur Bakeyev  <mc@bat.ru>

	* widget.c ([forward|backward]_word): Changed one more time -
	now it skips alnums and THEN spaces+punct. That gives almost the
	same results, but twice quicker. Hope, this will be accepted.

2000-04-06  Timur Bakeyev  <mc@bat.ru>

	* widget.c ([forward|backward]_word): Changed logic of moving - now,
	it skips only spaces+punct OR alnum. Reason to do it so - deleting lines
	like "lynx http://www.gnome.org", where "lynx http:" part was erased
	in one operation. That's nasty, IMHO. Made this a separate commit, so,
	if it seriously breaks compatibility it's easy to revert it. Still hope
	that nobody will do that.

2000-04-06  Timur Bakeyev  <mc@bat.ru>

	* file.c, widget.[ch]: Fixed long existing problems with filenames
	and input widgets, then char is greater than 128. They were processed
	incorrectly. As usual, char != unsigned char problem.

2000-03-03  Björn Eriksson  <mdeans@algonet.se>

	* Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.

	* mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
	problems when later g_free()ed.

	* Added mad_strndup().

	* Repeated code collected in mad_fatal_error().

	* The gcc-extension/C99-standard variable argument macros (adding
	__FILE__, __LINE__ before ', ...') would be nice.

	* Alloc_idx_hint and code added, the mad code was way too slow for my
	poor computer. A hash-table would be nice.

	* (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
	undefined at the top of mad.c, so mad_alloc must be used.

2000-02-23  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* main.c (parse_control_file): add missing right parentheses

	* boxes.c: fix incorrect initialization of array of structure (gcc
	version 2.96 20000131 chokes on it).

2000-02-18  Paul Sheer  <psheer@obsidian.co.za>

	* gtkedit/*.[ch], edit.c et al: updates to reflect
	cooledit-3.13.0. See CVS commits and cooledit ChangeLog
	for details.

2000-02-10  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* setup.c (load_setup): remove duplicate loading of anonymous
	passwd by do_load_string(), it is doing by
	ftpfs_init_passwd. (Patch by sav@bcs.zp.ua)

2000-02-04  "David H.Martin"  <dmartina@usa.net>

	* src/widget.c (input_new): Change NULL to empty strings and avoid
	  crashing when string functions are called.
	* src/boxes.c (configure_vfs): Remove local change to empty string.
	* src/setup.c (load setup): Load anonymous password

2000-02-03  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* setup.c (load_setup): call ftpfs_init_passwd to avoid segfault

2000-01-24  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* main.c (parse_control_file): add extra security 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

2000-01-24  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* cmd.c (nice_cd): disabled ability to go to home.

2000-01-02  viro@math.psu.edu

	* src/subshell.c: Reason: in feed_subshell() we are trying to read
	from shell pty, check for retval==-1 && errno != EIO. In that case
	we flame and exit. Otherwise we are trying to write what we've
	read. Good luck doing it if we got errno==EIO, which is _normal_
	for situation when shell just died. Resulting write(1,foo,~0U) is
	somewhat excessively, erm, verbose.

1999-12-21  Pavel Roskin  <pavel_roskin@geocities.com>

	* src/main.c, src/view.c: #warning's replaced with FIXME's.
	They were not for users, but for developers

1999-11-11  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* main.c, cmd.c: add possibility to free VFS now

1999-11-03  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* layout.c: always display status line. It contains vital
	information for ftpfs

1999-03-19  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* profile.c (str_translate_newline_dup): someone likes to pass
	NULL's around. Warn instead of segfault.

1999-11-02  Miguel de Icaza  <miguel@gnu.org>

	* main.c (OS_Setup): Do not warn if TERM is not set for the GNOME edition.

1999-09-21  Federico Mena Quintero  <federico@redhat.com>

	* dlg.c (dlg_broadcast_msg_to): Sigh.  Put in a GrossHack(tm) to
	unfocus what will be a WInput when a panel is initialized.

1999-09-21  Federico Mena Quintero  <federico@redhat.com>

	* dlg.c (init_dlg): Walk the list of widgets only if it exists.
	(dlg_broadcast_msg_to): Use safer list-walking code for if someone
	inserts a widget inside the message broadcast.

1999-09-20  Federico Mena Quintero  <federico@redhat.com>

	The following is a patch from Volker Braun
	<volker.braun@physik.hu-berlin.de> to fix column resizing in the
	file panels.

	* setup.c (options): Declare the column width option values.
	(save_configure): Save the default user format.
	(load_setup): Load the default user format.

	* panel.h (WPanel): Added a field for the column widths.

1999-09-19  Andrew V. Samoilov  <sav@bcs.zp.ua>

	* user.c (check_patterns): char* is used instead of char [] in sizeof

	* util.c (string_perm): prefix named pipes by 'p' and not by `s'

1999-09-19  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
	to mad.[ch]

	* option.c: Include files reordered in order to make it compile with
	--with-debug

	* 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

	* main.c (main): call mad_init

1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* widget.[ch] (input_new): added const qualifier

	* util.c (wipe_password): Check for NULL.

1999-09-13  Federico Mena Quintero  <federico@redhat.com>

	* treestore.c: Removed tree_store_destroy(), renamed
	tree_store_init() to tree_store_get().

	* tree.c (tree_destroy): Do not destroy the tree store.
	(tree_new): Get the tree store, do not initialize it.

	* treestore.c (tree_store_init): Do not set the linked list
	pointers to NULL.

	* panel.h (WPanel): Added a new field that indicates whether the
	user is dragging something over the tree.

1999-08-31  Federico Mena Quintero  <federico@redhat.com>

	* 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.

1999-08-30  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* main.c (print_mc_usage): Print the bug reporting address.
	(main): Put prompt in a new line at termination.

1999-08-27  Federico Mena Quintero  <federico@redhat.com>

	* ext.c (quote_block): How did this ever work?  People, if you
	realloc() things, don't keep pointers to stuff inside the original
	block.

	* screen.c (do_enter_on_file_entry): Pass in the full name to
	if_link_is_exe().

	* dir.[ch] (if_link_is_exe): Take in the full name, not the directory
	and the file entry.

1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* cmd.c (guess_message_value): New function. Determine locale used
	for messages

	(get_random_hint): use guess_message_value

1999-08-15  David Martin  <dmartina@usa.net>

	* boxes.c: (symlink_dialog): Move dialog misaligned elements

	* cmd.c (get_random_hint): Look for localized hint files

1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* ext.c: Added missing include file.

1999-08-08  David Martin  <dmartina@usa.net>

	* menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
	get the right size even when NLS is disabled.

1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* screen.c (string_file_[amc]time): These three functions use
	file_date which returns a pointer to a static buffer. In the
	Gnome edition this buffer has to be copied to a static buffer
	which isn't used in the other two functions (Fix Bug #1766).

	* util.c, util.h: Moved some constants to util.h

1999-08-04  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* widget.c (push_history): Add SMB Link to the list of input dialogs
	where URLs are input without vfs prefix.

	Translate the titles of these input dialogs only once.

	Removed Gnome specific code because the Gnome edition doesn't use
	the input history any more.

	* util.c (strip_password): Add /#smb: to the list of URLs which might
	be input with password.

1999-08-03  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* poptalloca.h: New file with definitions for alloca. Note: alloca
	is defined as malloc on systems which fail to support alloca. Don't
	include this file if you frequently use alloca.

	* findme.c, popt*.c: include poptalloca.h

	* Makefile.in: added poptalloca.h

	* menu.c (create_menu): set minimum menu width to 20 characters as
	it used to be (this was part of David's patches but I haven't
	applied it yet).

1999-08-01  David Martin  <dmartina@usa.net>

	* menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
	Discount '&' for hotkeys when checking menu widths to avoid the
	extra blank space.
	Moved this accounting from the drawing to the creating function.

	* widget.c: Translate History box tittle.

1999-07-21  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c: updated
	to the version found in the popt module

	* features.inc: added report information for smbfs

1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>

	* file.c (move_dir_dir): Give an error when an attempt is made to
	move an empty directory into itself.

1999-06-24  smil@linuxfan.com

	* view.c (view_update_bytes_per_line, display): show correctly the
	offset of the file (full 8 digit), display offset in bold color

	(view_labels): use goto_addr instead of goto_line in hex mode

	(goto_addr): New function. Goto offset address in hex mode.

	* view.h: use unsigned long for hexedit cursor position in file

1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* menu.c (menubar_execute): Now needs an additional do_refresh in order
	to make layout changes visible.

1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>

	* file.c (move_dir_dir): Give an error when an attempt is made to
	move an empty directory into itself.

1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* cmd.c (quick_view_cmd): Change panel when the file we want to
	view isn't in the current panel (prevents a "file not found"
	error).

	* menu.c (menubar_execute): De-activate the menubar previous to
	invoking the callback. This is needed to make change_panel in
	quick_view_cmd work (the activated menubar doesn't allow unfocus,
	i.e. dlg_one_down|up don't change anything).

	* view.c (do_view_init): improved error handling w.r.t quick view
	(mc used to dump core when the file to view couldn't be opened).

1999-06-22  David Martin  <dmartina@usa.net>

	* view.c (display): added view_gotoxy's in order to make the gnome
	edition operational in hex mode.

Fri Jun 18 11:29:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* user.c (user_menu_cmd): Allow national characters as hotkeys.
	Don't dump core when the menu file contains only empty lines

	* view.c (search, block_search): Use the correct column for the
	percent display while searching.

1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
	the completion/query engine.  Make the Gnome version just beep
	instead.  We do not have the completion/query engine for Gtk.

1999-06-09  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* cmd.c (configure_panel_listing): no more code duplication

	* screen.c (panel_new): no more code duplication
	(set_panel_formats): warn user when he gives bogus format, move
	checks into set_panel_formats

1999-06-01  Akira Higuchi  <a-higuti@math.sci.hokudai.ac.jp>

	* util.c (is_printable): in GNOME all characters are printable.

1999-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (handle_args): Handle --desktop-linksdir without using X

1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (should_skip_directory): Add fix from Wayne Roberts
	to actually acknowledge the settings of mc.global.

1999-05-24  Brandon S. Allbery  <allbery@ece.cmu.edu>

	* subshell.c (pty_open_master): Added missing comma.p

Mon May 17 07:37:12 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* subshell.c (pty_open_master): use getpt () if available to open
	the master side of the pty. getpt () is a glibc extension and is
	needed when glibc 2.1.x is used with a (linux) kernel without unix98
	style ptys (if there is no /dev/ptmx getpt falls back to bsd style
	ptys).

	* filegui.c (check_progress_buttons): Don't update the Gpm mouse
	cursor when we check for events. It causes a flickering cursor on a
	different virtual console.

1999-05-12  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* cons.saver.c (main): change cons.saver so it can be run without
	root privileges. It is well possible to run cons.saver with
	privileges only to /dev/vcsa: create new user and make vcsa's
	owned by that user instead of root.

	Distribution maintainers please take this text as idea of what you
	should do to make your system more secure.

1999-05-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cmd.c (view_file_at_line): gmc_view never fails, so we handle
	that now.

1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* chmod.c (chmod_cmd): Missing _ in _().
	(chmod_cmd): Added braces around nested if/else.

	* widget.c (is_in_input_map): Added braces around nested if/else.
	(listbox_remove_current): Likewise.

	* subshell.c (read_subshell_prompt): Likewise.

	* view.c (view_status): Likewise.

Tue Apr 27 20:31:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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>)

1999-04-25  Sergei Ivanov  <svivanov@pdmi.ras.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.

1999-03-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* setup.c (save_setup): Only save this if there is a current panel

Wed Apr 21 21:47:15 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
	like the latter when compiled with -mthreads).

	* user.c (execute_menu_command): ditto.

Wed Apr 21 20:40:38 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* Makefile.in: use MCCFLAGS and MCLIBS

Wed Apr 21 20:19:45 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* key.c (get_modifier): Query the state of the modifier keys when
	running inside a terminal emulation under X11.

	* 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.

	* key.h: added prototypes for the new functions

	* main.c (main): call (init|done)_textmode_x11_support

Sat Apr 17 13:04:19 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* view.c (do_view_init): Enable viewing of files with negative
	st_size (This reverts parts of a patch I committed recently. Miguel
	provided a better fix for this issue).

1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c (regexp_search): Use unsigned longs for all of the
	offsets here.  Fixes crash reported on bugtraq.

1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* 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().

Fri Apr 16 07:51:42 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* wtools.c (message): Use g_vsnprintf instead of vsprintf.

Fri Apr 16 07:50:59 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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).

1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* panel.h (WPanel): Added a drag_tree_row field to the WPanel
	structure.  This is used to keep track of the highlighted row in
	the tree for drag and drop.  Also, added drag_tree_timeout_id to
	hold the node expand timeout.  Also, added drag_tree_fe to hold
	the file_entry for the currently highlighted row in the tree.

1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* utilunix.c (my_system): Set up default signal handlers for
	children.

Tue Apr 13 07:14:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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 07:13:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* slint.c (SLang_input_pending2): don't store SLANG_GETKEY_ERROR (int)
	in the input buffer (char).

1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>

	* 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.

1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* tree.c (tree_start_search): Renamed from start_search() to avoid
	collisions with screen.c:start_search().

	* panel.h: Added prototype for start_search().

1999-04-09  Rosanna Yuen  <rwsy@mit.edu>

	* screen.c (do_enter_on_file_entry): split GNOME version and
	non-gnome version.
	(parse_display_format): listen to the warning.

1999-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (tree_store_load): Do not load non-local file
	systems
	(tree_store_save): Do not save non-local file systems

1999-04-07  Jonathan Blandford  <jrb@redhat.com>

	* screen.c (do_enter_on_file_entry): added a consistent behavior
	for GNOME stuff.

1999-04-06  David Martin  <dmartina@usa.net>

	* info.c (text out of box and locale layout).

	* util.c: If gmc uses strftime() why mc doesn't?

	* view.c: a) Tune status line so it does fit in a Quick View Panel
	b) Let Hex View resize cleanly. I think it's fixed for panel
	re-split and SIGWINCH signal in xterm. gmc still fails. There was
	a tiny risk of division by zero when pressing F4 in a very small
	box. True hard work... Must try and check it.

1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* main.c (main): Call mc_tree_store_save() when the program
	terminates.

1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* find.c (setup_gui): Do not scroll horizontally.  Why does the
	CList behave like this?

	* setup.c: Save desktop information.

1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* cons.saver.c (main): dup2() may be interrupted; take this into
	account.  Do we need to fcntl() stderr, or is it enough to close()
	it before recreating it?

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-29  Jonathan Blandford  <jrb@redhat.com>

	* main.c (main): updated message.

Sun Mar 28 23:52:08 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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 [").

1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	Patch courtesy of John Bley (jbb6@acpub.duke.edu):

	* background.c (do_background): Use pid_t instead of int.

	* subshell.c (sigchld_handler): Likewise.

1999-03-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* Makefile.in: Use mcsrclibdir where appropriate.

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 length
	of th same translated "Password:" string.

Mon Mar 22 02:05:28 1999  Timur Bakeyev  <mc@bat.ru>

	* screen.c (file_entry_color): Dropped. Code went to file_compute_color.

	* screen (format_file): Add check, that avoids reported error, when
	long file list -> quick view -> brief file list gives core dump.

1999-03-19  Jonathan Blandford  <jrb@redhat.com>

	* main.c (main): We don't want to restart if we hit cancel.

	* file.c (panel_operate): Ugly hack for GNOME.  We only treat the
	copy as if it were many files, and skip the only_one branch.

1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* utilunix.c (close_error_pipe): Inform parent of the return value
	of any command here.  This allows the desktop to launch a terminal
	only if it succeeded in mounting the directory.

Thu Mar 18 16:09:09 1999  Timur Bakeyev  <mc@bat.ru>

	* panel.h, screen.c: Add an ability to center justify fields in the
	panel, in addition to left and right justification. Just for fun.
	Try =name in user format.

	* util.c (name_quote): Quote "~@^|;:". Hope, that's all :)

1999-03-17  Jonathan Blandford  <jrb@redhat.com>

	* main.c (main): Put in a warning when run as root.

1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* boxes.c (symlink_dialog): Put this inside an "#ifndef
	HAVE_GNOME" since we now provide a nicer version of the dialog.

	* wtools.c (real_input_dialog_help): Removed unneeded #ifdef.

	* cmd.c (edit_symlink_cmd): Generate the title of the dialog after
	we have computed the source filename.
	(edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
	for better internationalization.

	* wtools.c: Removed unused function input_dialog_help_2().
	(real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
	because now the Gnome version implements its own pretty dialog.

1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dlg.c (dlg_select_nth_widget): Handle the case where h->current
	points to NULL.

1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
	Since we use the resulting buf.st_size to update the progress, we
	need the size of unresolved links.  This also makes it consistent
	with screen.c:do_file_mark().

	* screen.c (select_item): Return immediately if this is a desktop
	panel.

1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have
	grantpt() but they do lack SysV streams.  Handle this.  Noticed by
	Jakub Jelinek

1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* util.h: Added prototype for g_readlink().  Miggie boy should add
	prototypes when he adds public functions.

1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* utilunix.c (g_readlink): Fixed two bugs spotted by Morten
	Wellinder.  Boy, Morten has such a good eye!

1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* file.c (erase_dir): Erase metadata for directories as well.
	(erase_dir_iff_empty): Likewise.
	(copy_file_file): Delete/copy the metadata even for
	char/block/sock/fifo files.  Same thing for when copying symlinks.
	(copy_dir_dir): Delete/copy the metadata.
	(move_dir_dir): Delete/move the metadata.
	(recursive_erase): Delete the metadata.

1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* file.c (real_query_recursive): Removed an unused variable.

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.

Wed Mar 10 22:21:19 1999  David Martin  <dmartina@usa.net>

	* util.c (my_putenv): char* was used to store the length of a string

	* info.c (info_show_info): cast st_dev and st_ino when passing
	to printw.

1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c (panel_operate): Always create the ctx->ui.  Federico,
	can you see if this change is correct from your point of view?

	* cmd.c (edit_symlink_cmd): Small fix to improve the messages
	printed.

Tue Mar  2 22:54:50 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* util.c (name_quote): Quote '<' and '>'.

Tue Mar  2 22:28:39 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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).

Mon Mar  1 00:18:48 1999  Timur Bakeyev  <mc@bat.ru>

	* mad.c: Tempnam() returns malloced buffer, so, free() it, not g_free().

1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c (view_percent, view_update): Take an extra argument:
	update_gui, which controls whether we want to update the displayed
	region in the GUI version.

1999-02-25  Jonathan Blandford  <jrb@redhat.com>

	* cmd.c (symlink_cmd): little change to handle the case when a
	desktop panel is passed in.

1999-02-25  Owen Taylor  <otaylor@redhat.com>

	* fileopctx.h file.c: Moved recursive delete query
	dialog into gdialogs.c for GNOME.

1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c: Moved FileCopyMode here (thanks to Wolfgang Scherer for
	pointing this out) and made it a typedef.

	* treestore.c (process_special_dirs): New function.
	(should_skip_directory): Load the settings from the global
	special.dirs file and from the

	* util.c: Test for glibc/linux and if so, do not use getwd, but
	getcwd as on this system it is better than popen ("pwd").

1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* setup.c: Declare extern int tree_panel_visible for the GNOME
	version.

1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* dir.c (if_link_is_exe): Made this function take in a directory
	argument as well -- the sought file may not be in the cwd, and
	file entries do not carry the directory the file refers to.

	* screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
	if_link_is_exe().

1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (tree_store_rescan): Add code to skip scanning
	specially slow directories (/afs, /coda, /...).  It is of course,
	configurable.

	* setup.c: Export the profile_name setup routine.

Tue Feb 16 21:21:32 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* popt.c: Compilation fix: on systems without setreuid use setuid.

Tue Feb 16 21:18:08 1999  David Martin  <dmartina@usa.net>

	* achown.c: Make buttons fit in the (new) translated
	Advanced Chown dialog.

1999-02-16  Alexander Savelyev  <fano@ham.kiev.ua>

	* subshell.c (exit_subshell): Use the size of the buffer, not
	sizeof of the pointer to the buffer.

Sun Feb 14 02:59:09 1999  Timur Bakeyev  <mc@bat.ru>

	* utilunix.c (my_system): Fix the order of preferences, as setuid
	more desirable on BSD systems. Terminate execl[p]() with NULL, as
	this is formally correct.

1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dir.c (do_load_dir): Added missing calls to tree_store_end_check.

	* find.c (add_to_list): Pass the data pointer as well.

Fri Feb 12 06:36:58 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* utilunix.c (my_system): Compilation fix: on systems without
	setreuid use setuid.

1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* panel.h (WPanel): Removed unused field "corbadat".

1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c: Make delete key delete files.

	* dir.c (do_reload_dir): Add a couple of missing calls to tree_store_end_check.

1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* main.h: Added prototype for main_corba_register_server().

1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c (search): Provide GNOME specific code for the search progress

	* treestore.c: Add a new hook system to hint a tree freeze/thaw.

	* setup.c: In the GNOME version, we do not show the dot files by default.

1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c (copy_file_file): Add support for the GNOME metadata here.
	(move_file_file): Add support for the GNOME metadata here.

1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c 	(tree_store_add_entry): Use g_new0 to allocate the tree_entry.

	(tree_store_notify_add): Close, but no cigar.  The
	bug was deeper:  This list keeps names, not tree_entries.

1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* treestore.c (tree_store_notify_add): A tree_store_add_fn wants a
	string, not a tree_entry, so pass a string to it.

1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c: Revert all of the stack changes.  Now the treestore
	is again non-re-entrant.  Being re-entrant was only covering up for
	bugs in other places.

	Now we postpone notifications for additions at
	tree_store_end_check, not before.

1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* treestore.c (tree_store_remove_entry): Removed unused code for
	base_sublevel computation.

Sun Feb  7 06:11:48 1999  Timur Bakeyev  <mc@bat.ru>

	* Makefile.in: Change calls to xmkdir to mkinstalldirs - this is more
	GNU-like :)

	* xmkdir removed - we have mkinstalldirs.

1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cmd.c (view_other_cmd): Do not use \r in translatable strings.

1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* widget.c (push_history): Only do check the history headings if
	the widget has a history entry bound to it.

1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (tree_store_start_check, tree_store_mark_checked,
	tree_store_end_check): Use a stack for check_name.  There are far
	too many instances that might call the end_check.

Wed Feb  3 23:55:54 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* widget.c (history_put): set the access rights correctly when
	the history file is created initially. Don't save the history
	if we can't set the access rights.

1999-02-01  Jonathan Blandford  <jrb@redhat.com>

	* setup.c: save we_can_afford_the_speed

Wed Feb  3 22:27:04 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* util.c (strip_password): Extended 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:").

	* main.c (directory_history_add): Strip the password (if any) from
	the freshly added value.

	* 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).

	* 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 00:43:15 1999  Timur Bakeyev  <mc@bat.ru>

	* screen.c (to_buffer): Code of the function rewritten, as a side
	effect added J_CENTER (who needs this?). Also, justification flags
	got twins with _FIT suffix, which tries to fit name in the field with-
	out truncation (uses name_trunc()). This unifies behavior of CList
	variants and text-bases widgets.

	* screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
	group]() - not necessary, to_buffer() doing this work.

Sun Jan 31 19:49:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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.

	* screen.c (to_buffer): NULL terminate string when using strncpy

	* setup.c: Save and restore new option ftpfs_first_cd_then_ls.

1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* file.c (panel_operate_generate_prompt): Removed the cmd_buf
	argument, since it is a global variable anyway (this function is
	only called once from file.c, and the global cmd_buf was being
	passed in).
	(panel_operate): Do not pass cmd_buf to
	panel_operate_generate_prompt().
	Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.

1999-01-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* achown.c (XTRACT): Add missing call to _().

1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* panel.h: Fixup #includes.

1999-01-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cons.saver.c: Removed glib from the suid app

Wed Jan 27 03:17:44 1999  Timur Bakeyev  <mc@bat.ru>

	* Converted memory management 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 management. Fixed
	a missing #undef for tempnam, which caused dead loop. Add several new
	functions to emulate GLib memory management.

	*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 management include -
	i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
	"util.h" and "mad.h" done there. This eliminates 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.

1999-01-25  Alexander Savelyev  <fano@vcom.kiev.ua>

	* ext.c (exec_extension): Always use /bin/sh.  Not the user
	shell.

1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (tree_store_remove_entry_remove_hook): Missing
	function.  To remove a notification hook.
	(tree_store_notify_add, tree_store_add_entry_add_hook,
	tree_store_remove_entry_add_hook): New functions to notify of
	additions to the treestore.

	* tree.c (tree_destroy): Remove the callback hook when we go
	away.

1999-01-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* option.c (init_configure): One line patch from Alexander
	Savelyev to translate all strings.

1999-01-18  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>

	* file.c: Killed operation_names: they seemed same to op_names to
	me, and compilation failed on them (initializer element is not a
	constant). Maybe Miguel tagged too many strings for localization?
	:-).

	* ext.c: we use /tmp in "creative" way: creating there file and
	then executing it. I do not see how it is needed. Marked with FIXME.

Thu Jan 21 01:11:24 1999  Timur Bakeyev  <mc@bat.ru>

	* mad.[ch], util.[ch]: commit changes, that allow coexist (temporary)
	GLib'ed VFS and not still converted MC itself.

1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* treestore.c (tree_store_start_check): Use mc_stat(), not stat().
	(tree_store_rescan): Use mc_lstat(), not lstat().

Tue Jan 19 05:28:04 1999  Timur Bakeyev  <mc@bat.ru>

	* ext.c, filenot.c, main.c, screen.c, treestore.c: add missed #include's
	and moved glib.h so, it follows "fs.h", but precedes "util.h" and "mad.h".
	There were conflicts during compilation with MAD and GLibed vfs.

Mon Jan 18 21:23:29 1999 Paul Sheer  <psheer@obsidian.co.za>

	* cmd.c: update_panels (UP_OPTIMIZE, UP_KEEPSEL); instead
	of reread after editing a file.

1999-01-18  Arturo Espinosa  <arturo@nuclecu.unam.mx>

	* file.c: Use N_ instead of _ for some of Miguel's last tags.

1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c: Tag some more strings for localization.

1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cmd.c (mkdir_cmd): Please, check your pointer usage.

Thu Jan 14 13:18:58 1999  Timur Bakeyev  <mc@bat.ru>

	* screen.c (string_file_[owner|group]): Workaround the fact, that some
	systems have user and group names greater than 8 symbols. Now we trun-
	cate them.

1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* treestore.c (tree_store_load): Use g_return_val_if_fail(), not
	g_return_if_fail().
	(tree_store_rescan): Added parentheses to clarify || and &&.

	* tree.c (tree_add_entry): Removed unused variable.

	* treestore.h: Added prototype for tree_store_start_check_cwd().

1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c (search): Missing condition.

	* treestore.c (tree_store_opendir): Simplistic fix.  This is not
	quite correct.

1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* panelize.h: Added prototype for do_external_panelize().

	* screen.c (move_selection): Unused variable fixes for HAVE_X.

	* boxes.c (configure_vfs): Removed an unused variable.

1999-01-12  Jonathan Blandford  <jrb@redhat.com>

	* cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
	absolute directories.

Tue Jan 12 13:40:46 1999  Timur Bakeyev  <mc@bat.ru>

	* gtkedit(syntax.c): Fixed a typo in Pascal syntax.

1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* treestore.c (tree_store_save): Add signature for version 2.0 of
	the file format.

1999-01-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* file.c (do_file_error): Made static.
	(query_recursive): Have cases for background/foreground operation.
	(do_file_error): Likewise.

	* background.c: Removed the bg_ctx global, since now all the
	contexts are carried around by the functions that actually need
	them.

	* fileopctx.h (FileOpContext): Moved the op_preserve field to here.

	* filegui.c (file_mask_dialog): Removed the ui assertion, since
	now the op_preserve field is kept in the main context structure.

1999-01-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* util.c: Provide workarounds for Linux kernel bug.

Sun Jan 10 02:18:33 1999  Timur Bakeyev  <mc@bat.ru>

	* screen.c(string_file_size): Fixed (incorrect?) printing of device num-
	bers. Major should never be greater 255.

1999-01-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dir.c (handle_dirent): Use the tree_store now.
	(handle_path): ditto.
	(do_load_dir): ditto.
	(do_load_dir): ditto.
	(do_reload_dir): ditto.
	(do_reload_dir): ditto.

	* treestore.c (tree_store_save): New file
	(encode): New routine used to encode pathnames in a safe way that
	are saved to the mc/.tree file.
	(decode): New routine, used to decode the pathnames we encoded in
	the step above.  Ain't love grand?

	* tree.c (load_tree): Kill dead code.

	Moved all of the tree store information into a new file:
	treestore.  To be reused by the Gnome code.

1999-01-08  Ilya Zakharevich  <ilya@math.ohio-state.edu>

	* popt.c: OS/2 and Windows NT portability fix.

1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c (panel_operate_flags): Only show this dialog box if it is
	a copy or move operation

1999-01-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* background.c (do_background): Make it a bit saner.  Now we store
	a per-child-process FileOpContext structure.

	* fileopctx.h: New file with declarations for the file operation
	context structure.

	* fileopctx.c (file_op_context_new): New function to create a file
	operation context with the default file mask values.
	(file_op_context_destroy): New function to destroy a file
	operation context and its associated UI, if appropriate.

	* filegui.h: Use complete prototype for fmd_init_i18n().

	* filegui.c (FileOpContextUI): New structure that describes the UI
	and internal data for file operation contexts in the text mode
	version.
	(file_op_context_create_ui): Renamed from create_op_win() and
	made it use a context instead of global variables.
	(file_op_context_destroy_ui): Likewise, renamed from
	destroy_op_win().
	(fmd_widgets): Removed an #ifdef HAVE_XVIEW bit and moved the
	initialization of the result pointers to file_mask_dialog(), as we
	need to use the pointers to the fields inside the file op context now.
	Made all the functions use a file operation context.
	(file_mask_dialog): Always call fmd_init_i18n(); it will take care
	of idempotence by itself.
	(fmd_init_i18n): Now the code that makes sure this function is
	only called once is here.

	* cmd.c (check_for_default): Make it use a file operation context.
	* tree.c (tree_copy): Likewise.
	(tree_move): Likewise.
	(tree_rmdir_cmd): Likewise.

	* file.c: Removed file_progress_replace_progress and
	file_progress_replace_filename -- they are only used in filegui.c
	as part of the UI for the file operation context.
	(panel_operate_generate_prompt): Made static.
	(panel_operate_generate_prompt): Always call fmd_init_i18n(); it
	will take care of idempotence by itself.
	(panel_operate): Removed the panel_operate_def() function, and
	made panel_operate() take an extra "ask_user" argument.
	(query_recursive): Made static.

	* background.c (background_attention): Made static.
	(register_task_running): Made static.
	(do_background): Now takes a file operation context as an
	argument.  It stores the pid of the child there.

	* Makefile.in: Added fileopctx.[ch].

1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* widget.c (listbox_new): Assign l->height.

1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* 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>

	* widget.c (listbox_new): Under GNOME, height of the listbox might
	be less than zero (due to LINES/COLS being set to zero there).  So
	for bow, set the height to 1.  This needs to be properly computed
	in x_create_listbox.

	* main.c (main): Do not load the hotlist here anymore.   We
	auto-load it on the setup(?).

1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (main): Removed old, unused code.
	(setup_panels_and_run_mc): Register the corba server here, not
	before, as the program is not ready to accept any commands yet.

	* 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>

	* cmd.c (check_for_default): Make this compile.

Tue Dec 29 22:25:34 1998  Timur Bakeyev  <mc@bat.ru>

	* mountlist.c: Compress all xBSD systems to one line and add check
	for MOUNT_UFS - it seems, that 4.4BSD and 4.4BSD2 systems different-
	ly handles FS names. (currently affects BSDI and FreeBSD)

Tue Dec 29 16:34:02 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* file.c (progress_update_one): Ignore files in subdirectories
	when panel totals haven't been computed.

	(erase_dir, erase_file): update progress bar (i.e. make it work
	for OP_DELETE).

	(panel_operate_flags): Don't compute panel totals for OP_MOVE.
	When moving files on the same filesystem computing totals might
	last much longer than the actual move operation.

	(various places): Adaptations for the above changes.

Mon Dec 28 22:15:43 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* slint.c (try_alloc_color_pair): Changed hardcoded values into
	defines.

Mon Dec 28 20:22:59 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* color.c, text.c: Added color "stalledlink" which is used for
	stalled symbolic links. Formerly "viewunderline" was used for
	this (IMO bad because function and name didn't match).
	According to the man page the color keyword for executable files
	is `executable' and not `execute' -- changed.

	* color.c, color.h: When using SLang some color indexes are not
	freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
	Solved by adding holes in color_map.

	* find.c (do_search): fixed possible memory leak

Sat Dec 26 09:53:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* layout.c: include sys/ioctl.h to get definition of TIOCGWINSZ
	(fixes problem with screen resize).

Fri Dec 25 20:19:57 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* file.c (panel_operate_flags): Don't change file progress count and
	size twice for every file.

	(panel_compute_totals): Initialize return values to zero before
	calculating anything.

	(panel_operate_def, panel_operate): return a value

Thu Dec 24 19:00:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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): Honor that dirsizes computed is now a
	per entry flag.

Thu Dec 24 18:53:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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.

Thu Dec 24 18:42:52 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
	by Miguel, i.e. get rid of du. Now the dirsizes_cmd honors 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

1998-12-22  Jonathan Blandford  <jrb@redhat.com>

	* file.c: add a HAVE_GNOME only function

Mon Dec 21 22:39:35 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* mountlist.c: Define xBSD on FreeBSD.

	* 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.

Mon Dec 21 14:28:55 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* filenot.c (my_mkdir_rec): Someone broke this completely by deleting
	a line. Funny things happen if you use an already freed pointer.
	Improved error handling: try to make directories recursively 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.

Wed Dec 16 14:41:15 1998  Paul Sheer  <psheer@obsidian.co.za>

	* gtkedit.c, editwidget.c: gnome selection now works with the
	editor.

Wed Dec 16 06:27:00 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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 jumped 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.

1998-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dir.c (link_isdir): Remove unused variable.

Sun Dec 13 18:35:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* screen.c (panel_reload): Don't set panel->selected to zero here,
	keep it's value if possible or set it to panel->count - 1 (I disliked
	the jumping cursor when deleting files).

1998-12-11  Michael Fulbright  <msf@majestic.labs.redhat.com>

	* file.c (panel_operate_generate_prompt): Changes the text
	for GNOME dialogs.  --jrb

1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (try_to_select): We do not need to select the item
	manually in this case, as the X code will do this for us.

Fri Dec 11 00:05:50 1998 Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c, slint.c, color.c, color.h: editor now has its
	own color configuration so you can set editor background
	colors with MC_COLOR_TABLE.

1998-12-10  Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c: perl syntax highlighting. syntax highlighting
	bug fixes for python and sh.

	* edit.c: new method of finding line offsets from line
	number (for cooledit for python stuff).

Mon Nov 30 21:10:30 1998  Pavel Machek  <pavel@bug.ucw.cz>

	* file.c (copy_file_file): minor code beatifying: replace goto's
	with while loops (it is both shorter and nicer :-)
	(panel_operate): hopefully done WANT_STALE_DATA right. We really
	should kill ftpfs_hint_reread hack soon.

	* cmd.c (dirsizes_cmd): report error if you are on non-local
	filesystem. (As opposed to silently failing.)

1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* 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.

Tue Dec  8 19:19:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* cmd.c (dirsizes_cmd): Fixed possible buffer overflow

1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (do_enter): Return the value from this.

1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* dir.c (link_isdir): Fetch the information from
	file->f.link_to_dir, since we already have it.

	* dir.h (file_entry): Removed the `cache' field in this structure,
	as it was only used for the deprecated Xview version.
	Also, removed the `exists' field, as it was not being used anywhere.

	* dir.c: Removed all occurrences of file_entry->cache.

	* find.c: Removed all occurrences of file_entry->cache.

	* panelize.c: Removed all occurrences of file_entry->cache.

	* screen.c (do_enter_on_file_entry): New public function that
	implements the functionality in do_enter(), but based on a file
	entry rather than on a panel.
	(do_enter): Use do_enter_on_file_entry() with the selection of the
	panel as an argument.

1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cmd.c, tree.c: Updated to the new file.c api.

	* file.c: (copy_file_file, copy_dir_dir, move_file_file,
	move_dir_dir): Updated to work with the new updating stuff.

	* setup.c: New configuration option to compute the totals to be
	transfered.

	* file.c (compute_dir_size, panel_compute_totals): New routines to
	compute the total amount of information that is going to be
	transfered.

1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ext.h: GNOME edition uses a different set of .ext files.

	* lib/mc-gnome.ext.in: New file with GNOME-specific bindings.

1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* GNORBA integration.  We now produce two binaries: gmc and
	corba-gmc (that way, I don't interfere with other's work).

	* Added prototypes, made private functions static, clean up
	various silly warnings.

	* main.c (main): Removed crufty init_sigfatal code.

	* cmd.c (do_link): More slang dependencies are fixed for the X
	ports.

	* keys.h (enum): Moved key definitions here.

	* tty.h: Move towards slang freedom for the GNOME port.

1998-12-01  Jonathan Blandford  <jrb@redhat.com>

	* file.c (panel_operate_generate_prompt): moved from filegui.c

1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* panel.h (WPanel): Added the missing tree/pane/view_table fields
	to the Gnome part of the structure.

1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cons.saver.c (main): Make sure stderr is always valid.
	(main): Also check that stderr_fd is not -1.

Wed Nov 25 22:16:19 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* cmd.c (dirsizes_cmd): Quote characters with a special meaning
	when passing it to du.

1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
	(dlg_key_event): Return 1 if handled the tab key.

	* filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().

Sun Nov 22 22:30:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* autogen.sh: replaced "cat *.m4" with a call to aclocal. Concatenate
	mc-aclocal.m4 and gettext.m4 to acinclude.m4. The other way round
	would have been to add three more m4 files to the replaced cat line
	(including cond.m4 from automake-1.3b).

	Fixed OBJ_DIR handling.

Sun Nov 15 00:37:58 1998  Pavel Machek  <pavel@bug.ucw.cz>

	* mad.c (mad_tempnam): needed wrapper for tempnam added

1998-11-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dlg.c (destroy_dlg): Do not refresh.

	* filegui.c: New file.  We keep all of the user interface code for
	the text edition in this file now.  This should be a per-GUI port
	file.

1998-11-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* panel.h (WPanel): Instead of the "#ifdef GNOME" mess in the
	WPanel structure, we now have a single opaque pointer to UI data,
	called port_ui.  GUI stuff specific to each port should be here.
	This is a work in progress.

1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* setup.c: Removed the icons_snap_to_grid and
	want_transparent_{icons,text} options.

Thu Nov  5 12:10:10 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>

	* file.c (panel_operate): check for null pointer before passing it
	to mc_setctl

Wed Nov  4 17:51:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* src/findme.h: added from popt-1.2 by RedHat

	* src/Makefile.in: appropriate changes to use new popt

Sun Nov  1 20:59:05 1998  Pavel Machek  <pavel@bug.ucw.cz>

	* file.c (erase_file): translated goto into while loop (it is both
	shorter AND cleaner)

	* subshell.c (feed_subshell): do NOT print anything if we get
	errors/eofs from read(subshell) - this fixes (or at least hides)
	nasty bug where typing "exit" on mc prompt prints lots of garbage
	and falls into infinite loop. Someone with better knowledge should
	read feed_subshell(), and make it handle errors properly. (Why do
	we ignore EIO for example?)

Sun Oct 18 22:56:17 1998  Pavel Machek  <pavel@bug.ucw.cz>

	* view.c: we now rely on sfs to do file decompressing for us. That
	has advantage of displaying #ugz at first line, so user knows what
	we are doing behind his back

	* view.c: fix indentation, fallback to read whole file if mmap fails.

1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* setup.c: #ifdef'ed out stuff in the menus that will get changed
	as I rewrite the desktop part.

1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* layout.c (print_vfs_message): Use g_snprintf instead of
	vnsprintf.


1998-10-30  Sung-Hyun Nam  <namsh@lgic.co.kr>

	* color.c, slint.c: support transparent background if user use
	'default' keyword for background color.

Mon Oct 26 00:31:53 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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").

Thu Oct 22 20:41:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	*  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:31:17 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* lib/mc.ext.in: *.jar and *.JAR treated like *.zip and *.ZIP

Fri Oct 16 12:10:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>

	* cmd.c (quick_chdir_cmd): you must check for return code of
	do_cd(). (Fixed error for here, but more such bugs are present in
	src/ tree. Or maybe move error checking into do_cd?)

	* command.c: warn user if he is pressing enter while on non-local
	filesystem. (Prev. behavior was fail silently to do anything,
	which is _bad_.)

Mon Oct 12 22:47:53 1998  Pavel Machek  <pavel@bug.ucw.cz>

	* file.c (copy_file_file): MCCTL_SETREMOTECOPY is no longer used

	* file.c (copy_file_file): do_reget is now correctly done using
	open()/lseek() pair

Wed Oct  7 22:20:37 1998  Pavel Machek  <pavel@bug.ucw.cz>

	* file.c: Ask user if (s)he wants to delete incomplete file

Sun Oct 11 20:21:20 1998  Peter Kleiweg  <kleiweg@let.rug.nl>

	* mfmt.c (main): When there are an even number of empty lines
	between messages, all goes well, but when the number of empty
	lines between messages is odd, the program fails.

Sun Oct 11 20:11:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* setup.c: Option ftpfs_use_unix_list_options was saved from
	and restored to the wrong variable (ftpfs_use_passive_connections).

Mon Oct  5 21:33:14 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* screen.c (parse_display_format): Don't dereference NULL pointer
	when format string is an empty string.

Mon Oct  5 19:59:56 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* 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).

Sat Oct  3 00:54:23 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* gtkedit/Makefile.in (EDITOBJS): removed one wrong \\ (line
	continuation)

Thu Oct  1 18:43:34 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* file.c: Commented out search for egrep because execvp() does
	it itself

	* utilunix.c: vfs_uid should not be used if VFS is disabled

Tue Sep 29 17:53:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>

	* main.c: removed stupid reference to {sfs,extfs}_which

	* screen.c: fixed highlighting to go for longest match if it does
	not find exact match. This is so that it works well with vfs (and
	needs _NO_ knowledge about vfs layer).

Tue Sep 29 14:02:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>

	* layout.c (print_vfs_message): fixed buffer overrun by
	vsnprintf. Unfortunately I have no clue how to do this portably.

Tue Sep 29 11:42:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* setup.c: Corrected code which prevents using icon view by
	ports which don't support it

Mon Sep 28 21:55:13 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>

	* find.c: Changed hotkey of the continue-button (both Chdir and
	Continue used `C').

	* Makefile.in: search config.status in builddir and not in rootdir,
	i.e. make it compile for builddir != srcdir

Wed Sep 23 14:06:44 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>

	* src/file.c: Made file.c use new O_LINEAR mode (so copying from
	ftp works nicely, again)

Fri Sep 18 14:15:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* src/mad.c: All messages are sent to stderr and terminate with \r\n

	* src/hotlist.c: Harmless memory leak fixed

	* xv/Makefile.in, xv/xvmain.c, xv/xvscreen.c: Minor fixes to
	make compilation of the XV port possible (currently without
	viewer).

Thu Sep 17 07:32:23 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* Makefile.in: After creating symlinks invoke another instance of
	make to build libvfs.a. Otherwise make will not know how to build
	the object files if symlinks have been created.
	Added target cleansourcelinks (invoked with make distclean).

Tue Sep 15 22:41:24 1998  Paul Sheer  <psheer@obsidian.co.za>

	* edit.c, editwidget.c, gtkedit.c: fixed segfault when trying to
	edit a non-file under gmc.

Tue Sep 15 21:52:00 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* mc.hlp, doc/mc.1.in, doc/mc.sgml: updated my EMail address

Tue Sep 15 20:51:42 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* setup.c: save and restore new global variable/option
	ftp_use_unix_list_options

Tue Sep 15 01:02:34 1998   Paul Sheer  <psheer@obsidian.co.za>

	* gtkedit: Directory added. This directory contains all the editor
	code modified to work with gnome. Mcedit now works properly under
	gnome with a slightly reduced set of features.

	* gscreen.c gscreen.h screen.c: Modified to respond to F4 on a file
	and start the new gtkedit internal editor.

1998-09-14  Norbert Warmuth  <k3190@fh-sw.de>

	* file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
	<zx80@demo.ru> (losing files when moving directories cross filesystem
	boundaries): make sure erase_list is emptied always not only when we
	deleted files.

Sat Sep 12 02:59:43 1998  Timur Bakeyev  <mc@bat.ru>

	* screen.c: Xtry_to_select() Remove extfs hack to the main.c. Change
	for() cycle to the x_basename() call (Thanks to Pavel Roskin).
	Add (key_callback) do_enter() to prevent warnings.

	* main.c: Rename cd_try_to_select() to the get_parent_dir_name(). Now
	it process VFS postfixes too. Reduced number of loops against prev hack.

Fri Sep 11 15:27:59 1998  Pavel Machek  <pavel@ucw.cz>

	* screen.c: make cd .. from extfs file highlight it

Tue Sep  8 13:10:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* autogen.sh: Don't destroy aclocal.m4 if "macros" directory
	is missing

	* layout.c: Use stdout instead of stderr in set_hintbar()

Mon Aug 31 12:40:29 1998  Pavel Machek  <pavel@ucw.cz>

	* cmd.c: added view_file_cmd which asks user which file to view -
	_very_ useful with vfs (now you can browse web with mc: try
	/#url:http:||atrey.karlin.mff.cuni.cz|~pavel#uhtml)

Thu Aug 27 19:52:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* Make.common.in: Don't define VERSION anymore

	* configure.in: this is the right place for VERSION definition

	* acconfig.h: does not include file "VERSION" anymore

	* config.h.in: rebuilt by autoheader

	* VERSION: removed from CVS and added to .cvsignore since it
	is rebuilt every time as configure is run

1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>

	* mad.h: Include stdlib.h/malloc.h first, to prevent prototypes
	from being clobbered by the subsequent macro defines.

Wed Aug 12 15:56:46 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* edit.h: added "../" before some includes to avoid unnecessary
	"-I" options for the PC port makefiles.

Sun Aug  9 22:39:12 1998  Janne Kukonlehto  <jtklehto@paju.oulu.fi>

	* mad.h (calloc): Added parentheses around the arguments as
	suggested by Steef Boerrigter <sxmboer@sci.kun.nl>.

Fri Jul 31 09:04:35 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* syntax.c: makefile* will be highlighted as Makefile*

1998-07-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (translated_mc_chdir): Quick hack to make the old
	url-like pathnames to be used on the command line.

1998-06-22  T.E.Dickey  <dickey@clark.net>

	* keyxdef.c: Fix for compiling with ncurses.

Fri Jul 24 00:44:37 1998  Tom Tromey  <tromey@cygnus.com>

	* mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
	* autogen.sh: Include linger.m4 in aclocal.m4.
	* Makefile.in (GNOME_M4_FILES): Include linger.m4.

Thu Jul 23 22:44:16 1998  Tom Tromey  <tromey@cygnus.com>

	* Makefile.in (aclocal.m4): Depend on all source files.  Include
	gnome-vfs.m4 and gnome-undelfs.m4.
	(GNOME_M4_FILES): New macro.
	* autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
	aclocal.m4.
	* configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
	macros instead of in-line checks.  Create vfs/Makefile from
	vfs/Make-mc.in.

Thu Jul 23 19:49:12 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* hotlist.c: corrected layout of the warning which appears
	if ~/.mc doesn't exist. Appropriate changes in translations.

Wed Jul 15 00:41:01 1998    Paul Sheer  <psheer@obsidian.co.za>

	* edit.c, editwidget.c,            * syntax.c: Syntax
	editdraw.c, editmenu, editcmd.c:   highlighting for Pascal
	Added column text highlighting     added.
	and block movements.

1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>

	* main.c (main): 'session_management_setup' will be called after
	'gnome_init'.

Wed Jun 18   Pavel Machek  <pavel@ucw.cz>

	* i18n.h: we do not want i18n in case of compiling standalone
	libvfs.so.

Fri Jun  5 23:34:20 1998  Timur I. Bakeyev  <timur@comtat.kazan.ru>

	* screen.c (file_entry_color): take care about BSD core dumps
	which have names program.core instead of core

Mon Jun  1 15:41:20 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* 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 command line 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 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

1998-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* complete.c (filename_completion_function): Use the vfs routines
	for name completion.

1998-05-31  Jakub Jelinek  <jj@ultra.linux.cz>

	* complete.c (complete_engine): Fix completions.

Sun May 31 10:23:01 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* key.c (define_sequence): If a sequence clashes the last
	definition made will be used. This makes it possible to override
	wrong definitions in terminfo/termcap database with learn keys (or
	the appropriate entries in mc.lib and ~/.mc/ini).

	* widget.c (show_hist): Don't display the listbox partly
	off screen (the left panel's history started in column - 2).

	* keyxdef.c: include tty.h instead of myslang.h as suggested by
	Tamasi Gyorgy <gt_cosy@usa.net>

Fri May 29 15:41:19 1998  Alexander V. Lukyanov  <lav@yars.free.net>

	* widget.c (update_input): this patch allows entering 8-bit
	characters in input fields without screwing attributes. (the
	same old sign extension...)

Wed May 27 22:23:48 1998  Ed Cogburn  <ecogburn@greene.xtn.net>

	* lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
	program from ncurses 4.2 doesn't like the xterm.ti file that comes
	with mc.

Wed May 27 15:29:01 1998  Alexander V. Lukyanov  <lav@yars.free.net>

	* key.c (get_key_code): characters with high bit set were input
	as 0x80 char when use_8th_bit_as_meta was set

1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ext.h (MC_USER_EXT): New name for the per-user extension file
	(this needs redoing to concatenate this + the system stuff instead
	of the overwrite stuff we have now).  Now it is called the ~/.mc/ext-n

Mon May 25 23:32:35 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
	to make it compile with ncurses. Syntax highlighting in the
	internal editor is already disabled when SLang isn't used.

1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* widget.c (port_region_marked_for_delete): New per-port
	piece of code:  Provides a way for good selection killing.

Sun May 24 02:45:03 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* utilunix.c, util.h (errno_dir_not_empty): deleted

Sat May 23 22:29:57 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* file.c (check_dir_is_empty): New function which takes a path and
	returns -1 on error, 1 if there are no entries besides "." and
	".."  in the directory path points to, 0 else. This function
	actually opens and reads the directory and doesn't do tricks we
	used to do with rmdir.

	* file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
	to detect non empty directories. The old code tried to remove the
	directory and decided on errno whether the failure of rmdir was
	caused by a non empty directory or whether there was a different
	error.
	Unfortunately not every filesystem sets errno to EDIRNOTEMPTY if
	you try to delete a non empty directory. Namely the linux user
	space nfs server sets errno to EIO, Suns nfs server sets it to
	EEXIST and the AIX nfs server sets it to ??? (Steve reported
	problems on AIX so I guess AIX sets errno to a value we currently
	don't check).

1998-05-18  Tamasi Gyorgy (gt_cosy@usa.net)

	* lib/mc.menu: 'Z' on 'tar.Z' and 'tar.z' files: '%f' -> '$1'.

	* lib/mc.ext.in.qnx.diff, lib/mc.menu.qnx.diff (QNX): modified
	'mc.ext.in' (tar -t: output to stderr); modified 'mc.menu' (tar is
	not GNU tar: doesn't know '-z'); support for '*.tar.F':
	'freeze'-compressed tar files [No automatic configure/install
	implemented: patches must be applied before running 'configure'
	(mc.ext.in.qnx.diff: this patch can be not only QNX-specific...)]

	* lib/Makefile.in: 'mc.ext.in.qnx.diff' and 'mc.menu.qnx.diff' added
	to DISTLIB.

	* slang/sldisply.c:

	  SLTT_TRANSP_ACS_PATCH dependent code:

	  The problem: some terminals (QNX/qansi*, SCO OS5/ansi [?]) map the
	  whole upper half of the ASCII table to the lower half, when
	  alt-char-set is activated with the smacs/as string-sequence. This
	  means, that if 0 <= ch < 128 written to the terminal, it will be
	  translated to (ch+128) automatically by the terminal: so not only
	  the line-drawing characters can be written, when the alt-char-set
	  is activated. It implicitly means, that space, NL, CR, etc.
	  characters (exactly: anything besides the "standard" line drawing
	  characters) can not be written directly to the terminal, when the
	  alt-char-set is activated, because writing these characters
	  doesn't cause an implicit/temporary switching-back to the standard
	  char-set!

	  The original code in SLang assumes that space, NL, CR, etc. can be
	  printed when alt-char-set is activated. If SLTT_TRANSP_ACS_PATCH
	  is defined, the modified code will not use this assumption.
	  [Remark: the patch-code is not the most exact solution, but
	  works...]

	  QNX_QANSI_SLANG_COMPAT_ACS_PATCH dependent code:

	  A more OS/terminal-specific solution for the problem mentioned
	  above (->SLTT_TRANSP_ACS_PATCH).

	  If QNX_QANSI_SLANG_COMPAT_ACS is defined, the default smacs/sa,
	  rmacs/ae, acsc/ac [and sgr/sa, if it would be used!] command
	  sequences will be replaced internally with the "old style"
	  (pre-QNX 4.23) sequences in case of QNX/qansi terminals. Using
	  these optional command sequences the terminal remains compatible
	  with the original SLang code (without using the workaround-code
	  enabled by defining SLTT_TRANSP_ACS_PATCH).

	  Remark:

	  Currently SLTT_TRANSP_ACS_PATCH is not auto-configured by
	  'configure'. (Must be manually defined...)

	  There is some (QNX-specific) auto-configuration hand-coded in the
	  source:

	    #ifdef SLTT_TRANSP_ACS_PATCH
	    # if defined(__QNX__) && defined(QNX_QANSI_SLANG_COMPAT_ACS)
	    #  undef SLTT_TRANSP_ACS_PATCH
	    # endif
	    #else
	    # if defined(__QNX__) && !defined(QNX_QANSI_SLANG_COMPAT_ACS)
	    #  define QNX_QANSI_SLANG_COMPAT_ACS 1
	    # endif
	    #endif

	* slang/slutty.c: "newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);"
	ECHO(0x08) is a c_lflag bit, it means PARMRK(0x08) in c_iflag. (!?!)

	* src/file.c: 'do_reget' can be extern if (USE_VFS && USE_NETCODE),
	not if (USE_VFS).

	* src/find.c (search_content()): Variable 'i' "must be" 'int', not
	'char'. ["i == -1": (buggy?) WCC 10.6 doesn't convert automatically
	(int)(-1) to (char)(-1) (GCC does), so "comparison result always 0"
	warning produced. It is cleaner to define 'i' as 'int', than cast
	'-1' to 'char', because 'read()' returns 'int'.]

	* src/key.c (init_key()): Call load_xtra_key_defines() and clear
	'use_8th_bit_as_meta' by default under QNX, if a 'qnx*' terminal
	detected. (A saved config file (mc.ini) can override it later...)

	* src/key.h: Declare load_xtra_key_defines().

	* src/keyxdef.c: Provides a method to define some platform-specific
	additional key mappings. (e.g. QNX terminals can handle most of
	META-? combinations as ALT-?...) ('keyxdef.c' currently not listed
	in doc/FILES...)

	* src/layout.c: TIOCGWINSZ must be available (so <sys/ioctl.h> (?)
	included), because window-resizing code doesn't work, if not defined.

	* src/main.c: 'print_usage()' is reserved name in the QNX run-time
	library, so 'print_usage()' renamed to 'print_mc_usage()'

	* src/mouse.c (QNX): ncurses 1.9.8a ported to QNX doesn't provide the
	'SP' pointer as a global symbol in the library, so the keyok()
	emulation currently can not be used under QNX (4.24 & Watcom C 10.6
	release version).

	* src/slint.c (QNX): 'qansi*' terminals added to the color_terminals[]
	list.

	* src/subshell.c, src/utilunix.c (QNX): include <unix.h> to get
	prototype for exec*()!!! [See README.QNX/Section 1.4 about the
	dangerous "No prototype for <function>" warnings emitted by Watcom C,
	if <function> is a 'printf()'-style function having variable number
	of arguments and you compile your source with the default register
	calling convention!!!]

	* Makefile.in: 'keyxdef' module added to SRCS and OBJS.

	* <mc-root>/README.QNX: QNX-specific notes.

	* <mc-root>/configure (line 3369), <mc-root>/configure.in (line 88):
	'test x$CCOPTS = x;' modified to 'test "x$CCOPTS" = x;'

	* <mc-root>/Makefile.in: README.QNX added to DISTMAIN.

Thu May 21 00:09:45 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* menu.c (menubar_event): Don't set menubar->selected to the
	invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt

	* menu.c (menubar_drop_compute): removed the check for inrange
	items which isn't necessary any longer.

Wed May 20 16:27:56 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* widget.c (history_put): input line history was defunct because
	there was an #ifndef where an #ifdef should be.
	Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
	history code is included even when this define is undefined.

1998-05-19  Tamasi Gyorgy  <gt_cosy@usa.net>

	* src/*: Until I get a better ChangeLog:  Tamasi's port of the
	code to QNX.

1998-05-19  Alexander Lukyanov  <lav@yars.free.net>

	* Makefile.in: Distribution fix so that people are not forced to
	install gettext.

1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ext.c: Memory leak fixed.

Mon May 18 22:24:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
	* 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).

1998-05-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* menu.c (menubar_drop_compute): Check for inrange items.

1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* color.c (init_colors): Provide X-only version of color
	initialization.

Thu May 14 01:56:11 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* configure.in: Don't add -lintl to LIBS when included gettext is
	used (further checks for libraries would fail because libintl.a
	isn't build, yet). Instead use and substitute LINTL.

	* Makefile.in (OURLIBS): add @LINTL@

Tue May 12 17:45:49 1998  <psheer@obsidian.co.za>

	* syntax.c: yet more minor modifications.

1998-05-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c: New default: auto-save setup.

	* screen.c (move_right, move_left): Add support for icon-view movement.

1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* setup.c (panel_load_setup): On non-icon editions, fall back to
	list_full

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 command line (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 behavior it is a documented feature.
	Though I didn't want to change the default behavior. 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 option's value. Previously it affected
	the global Options/Configuration/shell Patterns.
	Another possibility 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.

Sun May 10 13:21:45 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* edit/syntax.c: Disable debug messages on stderr.

	* edit/edit.h: Added missing _()

1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* layout.c (flag_winch): Propagate the window change to the slave
	pty even when not running our event loop.  The resize_subshell
	routine is thread safe.

	* dlg.c (update_cursor, dlg_broadcast_msg_to): Do not send
	messages if no widgets are on the Dlg_head, this happens now with
	the gmc code, as we can have all of the windows shut down.

Wed May  6 13:46:37 1998 Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c: more bug fixes.

1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c (view_quit_cmd): Use dlg_stop.

	* main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
	key press events.  Drop the usage of mi_getch to accomplish this
	task.
	(midnight_callback): Deal with the current map depending on the
	c-x state.

Mon May  4 10:21:31 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* background.c (message_1s1d): the unprocessed string with %d was
	passed to message_1s; fixed small memory leak

	* widget.c (button_callback): WIDGET_CURSOR: make cursor position
	dependent on button type (fixes the off by one bug in advanced
	changeown).

	* 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.

1998-05-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* boxes.c (task_cb): Use kill, not INT, as we are catching INT in
	the program.

Sat May  2 14:07:05 1998 Paul Sheer  <psheer@obsidian.co.za>

	* setup.c: ALT('H') now shows a directory history - that
	ESC SHIFT-h   or   ALT-SHIFT-h

Fri May  1 17:45:58 1998 Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c: initial support for LaTeX 2.09 files added,

	* syntax.c: some minor bug fixes. and reorganization
	of context and keyword priorities.

Fri May  1 11:24:21 1998  Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c: syntax highlighting segfaults when editing a binary
	file - now fixed.

Thu Apr 30 12:23:50 1998 Alex Tkachenko  <alex@bcs.zp.ua>

	* src/file.c: lot of i18n of file Copy/Move/Delete operations. Maintainers
	of message catalogs please notice introduced op_names1 and formats for
	file operations.

	* src/boxes.c: i18n of background jobs control and quick cd
	dialog boxes.

	* src/menu.c (menubar_arrange): resizing of menubar upon changes of
	window size is now controlled by preprocessor symbol RESIZABLE_MENUBAR
	(now it's off by default, as requested in mailing list). If it is off,
	menubar items are separated with fixed number of spaces (3).

	* src/layout.c, edit/editwidget.c: calls to menubar_arrange ifdef'ed


1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (parse_an_arg): GNOME edition keeps track of various
	--geometry and various directories passed.

1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (update_panels): Great API simplification.  update_panels
	only cares about the contents of the current panel, every other
	panel keeps the current selection (this was the behavior
	anyways).

	update_panels can be provided in a per-port fashion as well.

Wed Apr 29 03:06:09 1998  Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c: some optimizations, as well as support for
	syntax highlighting of Makefiles and ChangeLog files.
	Fixed some syntax highlighting bugs. All C and C++
	keywords added.

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' recognize 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 approximately 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 and uncompressed
	file content.
	(view_init): re-init view also when magic flag was altered

1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (is_a_panel): Added a routine to determine if a widget
	is a panel.

1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (file_entry_color): Check if fe->fname has something.

Sun Apr 26 00:21:12 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
	to make it link against SLang >=1.0.
	I reviewed the diffs to the part of SLang we use and there are no
	further changes to MC necessary (one function's return value
	changed it's meaning but we don't use this return value).

	* configure.in: Undone the change which prevented linkage against
	SLang >=1.0

Sat Apr 25 13:41:43 1998  Paul Sheer  <psheer@obsidian.co.za>

	* edit.h, syntax.h: some optimizations to improve syntax
	highlighting speed.

1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* color.h: Move the CTYPE definition

Fri Apr 24 16:43:25 1998  Paul Sheer  <psheer@obsidian.co.za>

	* main.h, setup.c: editor_syntax_highlighting option added
	for ini file.

Fri Apr 24 14:54:06 1998  Paul Sheer  <psheer@obsidian.co.za>

	* syntax.c: added. this files reads ~/.cedit/mcsyntax and
	processes generic rules for syntax highlighting of different
	file types. Syntax highlighting does not store an attribute byte
	for each byte of the edit buffer. Rather, it calculates colors
	on the fly, with an optimized algorithm, as the text is being
	rendered.

	* edit.c, edit.h, editwidget.c, editdraw.c: changes to facilitate
	syntax highlighting.

	* editoptions.c: dialog box updated with a syntax highlighting
	checkbox.

	* slint.c: new function alloc_color_pair(). This allocates a new
	color index. init_pair() itself now records the last color index
	so that colors can be added on to the end of the color list
	with alloc_color_pair().

	* slint.c: new function try_alloc_color_pair() returns a new index
	for a color with named fg and bg. Checks if that named color
	already exists before setting a new index.

1998-04-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* user.c (execute_menu_command): Create temporary file exclusively
	as well.

	* main.c (do_execute), utilunix.c (my_system), gutil.c, ext.c:
	Changed the way we execute programs.  Now a new set of flags exist
	that indicates how the execution is done.  In ports that execute
	by sending the process to background, when executing temporary
	files, we have to remove the files after the child process has
	finished executing the code not after the calling do_execute.

	* ext.c (exec_extension): Create temporary file exclusively.

Mon Apr 20 01:32:20 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* configure.in: Don't try to link MC against SLang >= 1.0. I will
	remove this restriction when I'm sure that it's save to use the new
	version (the documentation to SLang mentions some changes of
	return values).

1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.h: Added prototype for copy_dir_dir.

	* file.c (real_do_file_error): use the proper flags, this is not a
	D_INSERT dialog box, for what it is worth.  Important bug fix.

	* utilunix.c (get_owner): Declare.

	* widget.h: Added various missing prototypes for the X edition.
	* view.h: Added various missing prototypes for the X edition.
	* widget.c (x_radio_toggle): New per-port variable: PORT_HAS_RADIO_TOGGLE

1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (GT): Assign two spaces for the minimum size of the
	"type" field for the GNOME edition.  This gives some extra space
	for the icon that gets displayed.

	* dlg.c (remove_widget): New function:  used to remove a widget
	from an existing Dlg_head;
	(destroy_widget): Destroy a specific Widget.
	(add_widgetl): Extended to deal with the fact that a running
	Dlg_head can become empty.

	* panelize.c (l_call): Update the input line every time the user
	selects the entry with the mouse (pretty common in the gnome
	edition).

	* hotlist.c (add_new_group_input): Removed an extra field that was
	causing problems.

	* find.c (find_parameters): Tree button is gone for gnome until we
	get the tree function working on gnome.

	* cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
	dialog box to inform the user about the saved setup.

1998-04-15  Pavel Machek  <pavel@elf.ucw.cz>

	* cmd.c: Report failed chdir attempts.

Wed Apr 15 10:48:41 1998 Alex Tkachenko  <alex@bcs.zp.ua>

	* 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.

1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (string_file_nlinks): The buffer was too small and we
	were overwriting parts of it.

	* subshell.c (do_subshell_chdir): Memory leak fix.

	* find.c (do_search): Do not use undefined order of evaluation.

	* user.c: Do not use undefined order of evaluation.

	* dlg.c (init_dlg): Do init the default return value.

Sun Apr 12 03:09:17 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* cmd.c (view_other_cmd): #ifdef'd application_keypad_mode and
	numeric_keypad_mode (don't include it in non text editions)

Sun Apr 12 02:48:26 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* xv/xvscreen.c: removed duplicate (conflicting) definition
	of do_enter()

Sun Apr 12 02:24:57 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
	the keypad mode when we don't use the alternate plus minus. Pavel
	forgot an if-clause when he replaced the escape sequences (or
	another point of view: I forgot one if-clause at different place).

Fri Apr 10 17:35:23 1998  Philippe De Muyter  <phdm@macqel.be>

	* configure.in (AC_NCURSES): When checking for library location,
	put -L option before -l option, not after.

Fri Apr 10 10:35:06 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* file.c (file_mask_dialog): When the shell patterns option was
	off source_mask was freed twice.

1998-04-10  Marc Ewing  <marc@redhat.com>

	* panel.h: added up_b

1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* widget.c (update_input): Set the used flag early in update_input
	to allow X widget to catch the right value

	* screen.c (do_enter): Return the status for the operation.

	* main.c (main): Sigh.  This was hard. I added support for argp.
	Right now we support both argp for the GNOME edition and popt for
	the other editions.  I will remove popt support in the future and
	only keep argp.

	* dlg.c (add_widgetl): Adding widgets to an already running dialog
	had some flaws.  Fix this.

Wed Apr  8 11:15:29 1998 Alex Tkachenko  <alex@bcs.zp.ua>

	* src/find.c: changes to find_parameters/find_file i18n.

	* src/widget.c: new function introduced, button_scan_hotkey();
	button_new() and button_set_text() fixed to use mentioned function.

	* src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
	ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
	call to isalpha() in the way proposed by Norbert).

	* src/boxes.c: changes to display box i18n

	* src/learn.c: changes to learn key dialog i18n

1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (update_one_panel_widget): New routine: Updates a panel
	based on the widget, not the index.  Used by the GUI versions.

	* find.c (find_file): Cancel idle tasks before we destroy the find
	dialog.

	* dlg.c (destroy_dlg): Call x_destroy_dlg_start, a new hook that
	is invoked to allow the frontend code to prepare for dialog
	destruction.  Only the Gnome edition is using this: it uses this
	to hide the dialog and avoid flickering.

	* main.c: dtterm also has mouse support.

1998-04-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* wtools.c (quick_callback): Process DLG_KEY events on X.

	* utilunix.c (max_open_files): new routine;  Used to figure out
	the number of available file descriptors.

Sat Apr  4 00:16:49 1998 Alex Tkachenko  <alex@bcs.zp.ua>

	* src/layout.c: changes to layout dialog box i18n

	* src/option.c: changes to configure box i18n

	* src/cmd.c: added N_() macro for machine_str

	* src/wtools.c (real_input_dialog_help): ok/cancel buttons are places
	symmetrically spaced relatively to center of the box. It produces
	nicer appearance with i18n (IMO :)

	* src/boxes.c (confirm_box): i18n stuff added.

Mon Apr  6 07:48:22 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* Makefile.in: "make dist" works with bash 1.x again

Fri Apr  3 05:23:20 1998 Alex Tkachenko  <alex@bcs.zp.ua>

	* 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 erroneous exit from input line, when
	button hotkey is 8-bit NLS char.

Fri Apr  3 12:23:28 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* TODO: Removed obsolete entries: Similar entries in tree view
	are displayed correct; user specific files has been moved
	to ~/.mc/
	Added: Check what to do with menubar_arrange/destroy_menu stubs
	in tk/tkmenu.c; the internal editor (not ported yet) adds entries
	to the wrong menubar

Wed Apr  1 00:15:30 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* 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 optimization is possible but it would make the whole
	stuff completely 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.

1998-03-31  Paul Sheer  <psheer@obsidian.co.za>

	* cmd.c (nice_cd): Forgot to invoke the history registration in
	one spot.

1998-03-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* 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.

Mon Mar 30 20:02:49 1998  Paul Sheer  <psheer@obsidian.co.za>

	* 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.

Wed Mar 25 19:05:31 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* view.c (view_done): Set monitor off before deleting the view
	file dialog.

	* 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")

Mon Mar 23 18:06:10 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* main.c: Deleted some old and unused code

1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* All over the src/ directory: Internationalization changes.

	* background.c: Avoid buffer over-runs and reduce number of
	internationalization strings.

Mon Mar 23 14:04:07 1998  Philippe De Muyter  <phdm@macqel.be>

	* configure.in (nlink_t): Check it using AC_CHECK_TYPE.
	* acconfig.h (nlink_t): New define slot.

Mon Mar 23 08:17:55 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* src/main.c: mcedit can be named mce or mcedit.exe - only
	3 first letters are significant. The same for mcview.
	Console is always saved in do_execute() if it was saved there.

	* src/util.h: STRNOMP introduced (strncmp on unix and strnicmp
	on OS2_NT)

	* slang/slgetkey.c: SLang_getkey() and SLang_input_pending()
	enabled for OS2_NT

	* myslang.h: using fast one_vline() and one_hline() for OS2_NT

Mon Mar 23 00:47:51 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* 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.

	* find.c (find_file): Use the same hotkey for the panelize button
	as we use with the external panelize command.

Fri Mar 20 17:51:01 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* myslang.h: --with-ncurses didn't compile: renamed
	KEY_BACKTAB to KEY_BTAB (the name ncurses uses)

	* dlg.c (dlg_key_event): likewise

1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c: Remove KEY_DC forever.  This should have never been
	here.

Wed Mar 18 22:08:34 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* achown.c (do_enter_key): call endgrent, endpwent.

	* chown.c (init_chown): call endgrent, endpwent.

Tue Mar 17 23:58:40 1998  Pavel Machek  <pavel@elf.ucw.cz>

	* src/file.c: Fix for the case where the disk gets full.

Tue Mar 16 18:35:53 1998 Stas Maximov  <stmax@u213.srcc.msu.su>

	* src/hotlist.c default values for dialogs which add entries to hotlist
	are now set to the current directory.

Tue Mar 10 14:42:01 1998 Stas Maximov  <stmax@u213.srcc.msu.su>

	* vfs/extfs.c, lib/mc.ext, vfs/extfs/extfs.ini, vfs/extfs/cpio.in
	Added support for cpio extfs including compressed and gzipped
	cpio archives. compress and gzip handled separately because I saw
	a lot of systems which have compress, but don't have gzip.

Sat Feb 21 16:46:49 1998 Stas Maximov  <stmax@u213.srcc.msu.su>

	* src/subshell.c: failed to grantpt on SVR4 due to zero-initialized
	subshell_pid. sigaction handler for SIGCHLD does waitpid(subshell_pid,
	...) and when subshell_pid == 0 it steals the zombie from grantpt(3)
	which does fork/exec/waitpid for suid program to set the permissions on
	pty. It's enough to initialize it to 1 or -2.

1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* util.c (convert_pattern): Now the internal buffer is malloc()ed
	instead of being static.  This is required for long patterns.
	(regexp_match): Free the pattern after calling convert_pattern().

	* file.c (file_mask_dialog): Free the source_mask after calling
	convert_pattern().

Mon Mar 16 13:03:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* 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.

Mon Mar 16 12:30:39 1998  Stas Maximov  <stmax@u213.srcc.msu.su>

	* hotlist.c: Defaults on the hotlist add-current and new-entry is
	the current directory.

Sat Mar 14 17:30:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c (panel_operate): Why was the flags in query_dialog set to
	D_INSERT is a big mystery.  Should be fixed now.

Fri Mar 13 18:10:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dlg.c (dlg_stop): New routine used to finish dialog boxes.

	* cmd.c (set_panel_filter_to): Implementation split.  To be used
	by GNOME.

	* widget.c (input_new): GNOME-entry widget is inspired in the
	WInput + the history patches from Paul.  Use the GNOME-entry
	history, as this makes it easier to deal with the filter button on
	the panel.

	* setup.c (save_panel_types): Do not use if running on the gnome
	edition.   This need a lot of fixing for making this work with
	gnome and session management.

	* main.c (do_nc): DO not call setup_panels_and_run_mc as
	create_panels in gnome edition does all this.

	(setup_mc):  Skip part of the setup.

	(do_execute): Do not Execute any of the pause code after
	run for gnome.

Wed Mar 12 17:46:09 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* 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).

Wed Mar 11 19:02:48 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c: Lots of changes:  Split the X11 code from the main view
	program.  This is needed to cleanly support the addition of the
	Gnome version of the file viewer;

	New names for old functions (just a view_ prefix):
	view_add_character, view_add_string, view_gotoyx, view_set_color,
	view_display_clean.  Now all of them take a WView argument (which
	is ignored in the macro for the text edition).  This is to support
	multiple open views at once.

	* boxes.c (symlink_dialog): Enable ok/cancel buttons for the Gnome edition.

	* cmd.c (link_cmd, symlink_cmd): Provide the filename to operate
	on.

Tue Mar 10 20:41:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cmd.c (unselect_cmd_panel, select_cmd_panel): To avoid races on
	the X11 version, these routines now take a panel argument at
	invocation time.

	* widget.c (radio_callback): Call x_radio_focus for FOCUS/UNFOCUS
	events.
	(button_callback): Fallback to default_msg on WIDGET_FOCUS
	messages.

1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* xslint.c (getch): Added missing "return".

	* utilunix.c (init_groups): Added parentheses around
	assignment/truth value.

	* boxes.c: #include <stdlib.h>

	* screen.c (string_inode): Cast fe->buf.st_ino to long to be
	consistent with sprintf format.

	* main.c (handle_args): Added parentheses around assignment/truth value.

Sat Mar  7 14:33:38 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* 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 disappear

	* 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

Fri Mar  6 19:29:54 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* find.c: Simplify header files: use the fs.h include file.

	(use x_flush_events).

	* screen.c (string_file_name): In GNOME, the CList widget does the
	filename truncation, so we do not do it here.

	(panel_new): Initialize all of the wpanel contents to zero.  This
	will is required by the GNOME X ports (to figure out if a field
	has been inited or not).

Thu Mar  5 10:28:40 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* popt.c (poptParseArgvString): make it compile with the native
	compiler on AIX 4.1.3

1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* cmd.c: Added #include "x.h"

Wed Mar  4 14:49:55 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* doc/mc.1.in, mc.hlp: updated (these files haven't been updated
	at the last change to mc.sgml)

	* doc/mc.sgml: spelling error corrected

	* Makefile.in: renamed all references of mc.1 to mc.1.in

	* find.c (locate_egrep): Don't use an absolute path if egrep isn't
	found at the usual places. Then execvp will search the directories
	passed in the environment PATH variable (a little bit slower but
	better than a defunct find content).

	* tree.c: removed the include file I mistakenly added with my
	last patch.

Tue Mar  3 20:00:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* file.c (get_file): Take a panel argument.  I am pretty sure that
	this is broken for the case where we are copying from a WTree.

	(panel_operate): take a panel argument instead of defaulting to
	cpanel.

Mon Mar  2 15:54:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dlg.c (create_dlg): Set running to 0 on creation;
	(add_widgetl): do widget initialization if the dialog is already
	running when this dialog box is created.

Mon Mar  2 12:11:37 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* 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 command line (no C-s necessary
	to start search).

	* tree.c (tree_key): likewise

Tue Feb 24 18:37:36 1998  Stas Maximov  <stmax@u213.srcc.msu.su>

	* subshell.c: Set subshell_pid to 1 on startup

Fri Feb 13 19:59:39 1998  Alexander Savelyev  <fano@VCom.kiev.ua>

	* screen.c: KEY_DC is also handled by delete_cmd.

	* vfs/ftpfs.c (chdir): sending the CWD command is not necessary
	(imho).

	(ftpfs_connection_close): Do not use WAIT_REPLY, closes
	connections faster.

	(open_data_connection): implement the reget command.

	* boxes.c: bigger VFS dialog box.

	* file.c (init_replace): Add support for copying files only if the
	size differs, and support for regetting ftp files.

Wed Feb 11 20:08:50 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* user.c (execute_menu_command): Extended the syntax of %-macros
	used in the user menu in order to switch quoting on (default) and
	off, e.g. %0f means don't quote the expanded macro, %f and %1f mean
	quote the expanded macro.


Fri Jan 30 16:43:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dlg.c (create_dlg): Now we pass the flags parameter to the
	create_dialog routine.

	* tkmain.c (xtoolkit_create_dialog): Check for the grided value

Fri Jan 23 07:28:54 1998  Peter Daum  <gator@cs.tu-berlin.de>

	* extfs.c (open_extfs_archive): Pass the filename to the list
	command.

	* extfs/mailfs: New file system for browsing mail files (support
	for compressed mail files as well).

Fri Jan 23 07:19:18 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* edit/edit.h: mc_mkdir requires 2 arguments for any operation
	system. Obsolete #ifdef's removed.

	* edit/editwidget.c: ansi standard violation removed

	* nt/Makefile.NT: default SLang directory is now ../slang. Most
	of SLang sources are no more compiled for MC.

	* nt/drive.h: new file. Copied from os2/drive.h with minor changes

	* nt/ket.nt.c: new way for handling conflicting SHIFT_PRESSED
	definitions. get_event can work without blocking. Copy, move
	and delete operations work normally.

	* nt/slint.nt.c: SLang_getkey2 and Slang_input_pending2 are
	copied from src/slint.c

	* nt/sys/param.h: annoying warnings temporarily suppressed.

	* slang/slvideo.c, slang/slw32tty.c: new files. They contain
	changes by Alexander Dong.

	* src/myslang.h: definitions for ASCII symbols removed, since
	they are available in slang.h. Double lines are not used anymore.

	* src/panelize.c: sys/wait.h is included only if HAVE_SYS_WAIT_H
	is defined

	* nt/Makefile.NT: text.c is added

	* nt/Makefile.VC4: "-debug" switch for linker is not used for
	release version

	* src/screen.c (show_dir): double lines are no more used by NT and
	OS/2 ports.

	* src/wtools.c (real_input_dialog_help): layout of input dialog for
	XView port is corrected

	* edit/edit.h: mc_mkdir requires 2 arguments for any operation
	system. Obsolete #ifdef's removed.

	* edit/editwidget.c: ansi standard violation removed

Wed Jan 21 14:01:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ext.c (regex_command): reverted the patch that changed tests for
	*p == ' ' || *p == '\t' to isspace().  isspace() is true for tabs,
	newlines, carriage-returns and vertical tabs as well.  Which is
	not what we want.

Wed Jan 21 11:58:39 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>

	* ftpfs.c (retrieve_dir): Avoid compiler warning by testing
	explicitly the value.

	screen.c (format_file): color not initialized when we met
	empty_line.

Wed Jan 21 11:28:21 1998  Alex Tkachenko  <alex@bcs.zp.ua>

	* cmd.c, utilunix.c: cosmetic changes to reduce compiler warnings

	* utilunix.c (my_system): small fix for SCO zombies moved here;
	now it returns WEXITSTATUS(status) instead of status itself. While
	missing it may not hurt on i.e., linux, on SCO it gives incorrect
	value.

	* vfs/extfs.c system() calls replaced with my_system() call; this
	allows a greater degree of control - fixes SCO system() return value
	processing. Notice: plain replacement system() with WEXITSTATUS(system)
	does not produce correct behavior (don't ask me why).

	* panelize.c (do_external_panelize): similar fixes for pclose()
	return value on SCO.

	view.c (load_view_file): inverted value of viewer_magic_flag to
	put viewer decompression state in accordance with F8 label text.
	Also default_nroff_flag is initialized to be 1; thus enabling all
	filter processing by default easies mc usage for novice users.

Sun Jan 18 13:47:37 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>

	* main.c
	* panel.h, tkscreen.h : error when compile dlg.c
	* tkconf.h : paint_frame
	* screen.c : to include paint_frame
	* tkmain.c : I just copied clr_scr() from the text.c

Fri Jan 16 16:19:59 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (format_file): Do not invoke the file_compute_color
	routine for empty lines.

	* gmain.c: Color scheme for Gnome

	* gscreen.c: Color setup now allocated the GdkColor *.

	* color.c: Moved the default color setting to a per-port
	location (text.c for the text mode edition);  new color
	configuration: core;  Fixed the case where the color spec was
	buggy and we kept on a infinite loop;

Fri Jan 16 13:47:13 1998  Pavel Roskin  <pavel_roskin@geocities.com>

	* nt/drive.nt.c, nt/chmod.nt.c: Updated button_new and check_new
	calls

Fri Jan 16 12:47:39 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* vfs/ftpfs.c (command): Don't log passwords when the dialog between
	server and client is logged to a file (mc -l logfile).

	* vfs/ftpfs.c (resolve_symlink, retrieve_dir): When a directory
	contains spaces send two commands ("CWD path" and  "LIST .") instead of
	one command ("LIST path") in order to get directory listings.
