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 commited 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 childs.

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 behaviour
	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 lenght
	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 un-needed #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  Alexaander 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 preferenses, 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-entrat 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): Extented to find the url in the first 
	parameter. The second parameter tells whether it should search the
	url (indicated by known prefixes) in the first parameter or whether 
	the first parameter is a url without a prefix ("ftp://", "/#ftp:", 
	"/#mc:").

	* 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 behaviour 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): nul 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 managment to Glib. Now we use g_new()/g_malloc()/
	g_strdup()/g_free() routings. Also, copy_strings() replaced by 
	g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by 
	g_snprintf().
	
	* Some sequences of malloc()/sprintf() changed to g_strdup_printf().
	
	* mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
	a missing #undef for tempnam, which caused dead loop. Add several new
	functions to emulate GLib memory managment.
	
	*main.c, mad.[ch]: Add a new switch  "-M", which allows to redirect MAD
	messages to the file.
	
	* util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
	and strdup() - we have g_ equivalences. Remove get_full_name() - it is
	similar to concat_dir_and_file(). Some other tricks with g_* functions.
	
	* global.h: Modified, extended. Now it is main memory mangment include -
	i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
	"util.h" and "mad.h" done there. This elimanates problem with proper or-
	der of #include's.

	* All around the source - changed order of #include's, most of them gone
	to global.h (see above), minor changes, like "0" -> NULL in string func-
	tions.

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 transalate 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 preceed "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.  Aint 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): Assing 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 propery 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): adpations 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): Honour 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 honours a
	selection and computes sizes only for marked directories. Possible
	improvement: add a dialog (or C-C?) to abort computation.

	* dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed 
	flag a per file flag.

	* dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and 
	WPanel structure.

	* features.inc: Deleted DUSUM information

	* mc.hlp: remade because of changes in doc/mc.1.in	

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 recursivly until
	mkdir succeeds or fails with errno != ENOENT. Now you will get the
	correct error message when you don't have permission to create a
	directory.

	* mountlist.c: Deleted function prototypes for strdup and strstr, 
	they might conflict with definitions in the system header files.

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 jumpped from the deleted "file" to a directory which
	started with the same character as "file", annoying). 
	Strip known vfs suffixes from "name" before trying to select
	(I think Timur made this suggestion a few months ago). Know the 
	vfs is mature enough to do this.

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 fizes 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 beatifulling: 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 oposed 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 ammount 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 dont 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 dependecies 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. behaviour 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 higlighting 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_ usefull 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 commandline and in the
	directory hotlist. We might need to move the translation code 
	to the vfs layer if there are other places where we want to enter 
	ftp://host.

Mon Jun  1 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. 
	Unfortunatly 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-maj-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 dependant 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 dependant 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: Distirbution 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 commandline (Andrej reported this bug). 

	* main.c (copy_readlink): usr mc_readlink instead of readlink

	* file.c: Changed default for the copy/move option "dive into
	subdir if exists" to off (note: this was only possible after the
	change in setup.c).

	(copy_dir_dir): Activated the previously uncommented code which
	implements "Dive into subdirs". Even when there's no case where we 
	actually would like that behaviour it is a documented feature. 
	Though I don't wanted to change the default behavour. Hence the 
	option change.
	
	(file_mask_defaults): set dive_into_subdirs

	(file_mask_dialog): Fix for debian Bug #20727: Move operation with 
	"[ ] Dive into subdir if exists" and destination filename not 
	wildcarded. If destination is an existing directory then files
	will be moved into this directory. If destination is not an
	existing directory then src file will be renamed (one file
	selected) or an error will be displayed (more than one file
	selected).

	(file_mask_dialog): made the option "Using shell patterns" local
	to the current copy/move operation, i.e. this option is always 
	initialized with the global options's value. Previously it affected 
	the global Options/Configuration/shell Patterns.
	Another possiblilty would be to make the global option a default
	option on startup and keep changes in the copy/move dialog
	(without saving these changes with save setup).

	* setup.c: Don't save and load options which can be changed
	outside the options menu. For example I don't like that
	preserve_uid_gid and dive_into_subdirs from the copy/move dialog
	are saved and restored (strange, what about the other options from 
	this dialog?). 
	It would be much cleaner to make these option read-only. This way
	one could edit ~/.mc/ini to provide default option setting on
	startup and "Save setup" wouldn't have side effects outside the
	option's menu.

Sun May 10 13:24:20 1998  Norbert Warmuth  <k3190@fh-sw.de>

	* doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default 
	for dive into subdirs.

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 acomplish 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
	dependend from 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 reorganisation
	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 behaviour
	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 optimisations, 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' recognice a given path.

	* cmd.c (view_file_at_line): In plain view (F13) set the default
	magic flag to zero in order to view the file content unprocessed
	(esp. don't uncompress files if they are compressed). The
	view_simple_cmd got broken when the default magic flag in view.c
	was changed from 0 to 1.

	* view.c (do_view_init, goto_line): Set wrap mode temporary off 
	to make goto line number work, i.e. `line number' now always means 
	line number in file and not line number on screen (in wrap mode
	one long line wrapped once is displayed in two lines on the screen).
	That's important when the viewer is invoked from the find file
	dialog to display even in wrap mode approxiamtly the part of the
	file where we found the content we searched for.
 	
	(move_forward2): In wrap mode lines were sometimes counted wrong
	causing cursor up to move more than one line.
	
	(move_backward2): Fixed the movement in wrap mode.
	
	(change_viewer): Always re-init viewer when we have a filename,
	i. e. if the viewer is invoked with simple_view_cmd then we can switch 
	with the F8 key between unprocessed file content und uncompressed
	file content.
	(view_init): re-init view also when magic flag was altered

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 optimisations 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 colours
	on the fly, with an optimised 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 colour index
	so that colours can be added on to the end of the colour 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 colour
	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 errorneous 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 interal editor (not portet 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 optimation is possible but it would make the whole
	stuff completly unreadable.

	* key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
	will be translated to +, - and * only if the option
	alternate_plus_minus is turned off.

	* learn.c (learn_keys): Turn alternate_plus_minus temporarily on
	to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
	correct_key_code/make sure keypad is in application mode (makes it 
	possible to learn this keys).

	* cmd.c (reverse_selection_cmd_panel): New function (renamed from
	reverse_selection_cmd, takes a WPanel * as parameter, references to 
	cpanel changed to panel/the passed parameter).
	reverse_selection_cmd now simply calls this function with cpanel.
	This pair was missing among the *_selection_cmd* functions.

	* cmd.h: Added function prototypes.

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 preventes 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 gziped
	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 mistery.  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 disapper
	
        * slang/slos2tty.c: new file, copied from SLang-0.99.38,
        needed for OS/2 port
	
        * slang/Makefile.in: added slos2tty.c
	
        * vfs/extfs/README: annoying spell errors corrected
	
        * src/main.c: --termcap disabled for OS2_NT because it doesn't
        (and cannot) work. ARCH_FLAGS is not needed anymore.

        * src/text.c: most includes removed. Added a warning is someone
        compiles this file with HAVE_X. Improved color scheme for
        consoles with 16 background colors (e.g. OS/2). Hack for OS/2
        removed.

        * src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
        to util.h. It may be useful to use them for filenames' completion
        on OS2_NT

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 commandline (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): Extented 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 fiels 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 temporaly suppressed.

        * slang/slvideo.c, slang/slw32tty.c: new files. They contain
        changes by Alexander Dong.

        * src/myslang.h: definitions for acsii 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.
