Sat Feb 18 14:09:12 1995  Janne Kukonlehto  (jtklehto@indy6)

	* subshell.c (read_subshell_prompt): You can't use a label without
	a statement. (pty_open_slave): Irix doesn't support ioctl
	(pty_slave, I_PUSH, "ttcompat").

	* user.c (expand_format): Removed an extra ';'.

Fri Feb 17 13:56:45 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (change_view): Call view_done if we are switching away
	from a quick view mode.

Thu Feb 16 10:07:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>

        * dialog.c (input_event, input_dialog): Added mouse support
        for the input dialogs' edit lines, so the cursor will move
        to the place you press mouse on. Also added F10 key as the
        abort key.

        * dlg.c (dialog_handle_key): Added C-c and C-g as abort
        keys for the dialog (so it behaves exactly same as the input
        dialog).

       * main.c (edit_cmd): Fixed a bug that caused improper screen
        redrawing if you when searching in the panel pressed F4.

        * widget.c (input_event, listbox_select_pos, listbox_event):
        Added full mouse functionality for the input line and listbox
        widgets.

        * wtools.c (create_listbox_window): Changed colors of user menu
        and history command dialogs, so they're compatible with other
        dialogs in their look and feel (I found the previous colors
        extermely ugly).

Fri Feb 17 13:04:44 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* layout.c (update_split): We don't update the split information
	if it has not changed.

Thu Feb 16 11:07:04 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c: We don't support advanced chmod/chown for 2.0.
	(view_other_cmd): Added a repaint screen.

Thu Feb 16 16:12:04 1995  Janne Kukonlehto  (jtklehto@paju)

	* gindex.pl: A small typographical change in the index output.

	* user.c (expand_format): Removed a compilation warning.

Thu Feb 16 19:56:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>

	* widget.c (button_event, radio_callback, radio_event, check_event,
	listbox_event): Last trial to make layout dialog box work with
	mouse. Whenever we send in these events any key to the widgets,
	we have to send then a DLG_POST_KEY message to the dialog, what
	is normally done when a real key is pressed.

	* layout.c (b2_left_cback, b2_right_cback): Removed ugly hack
	to update something what is not needed now cause we do it
	already in the *_event - see the above change.

Wed Feb 15 22:13:21 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* layout.c (setup_event): Do not modify the events. Just push
	them. Since we have fixed the layout problem, this code is not
	needed anymore.

	* main.c (do_nc): Do not accept character -1.

	* input.c (insert_char): Do not accept character -1.

	* cons.saver.c (restore_console, save_console, detect_console):
        Changes to work with Linux >= 1.1.91.  Now they use /dev/vcsaN for
	accessing the memory associated with the virtual console N.

Wed Feb 15 00:46:33 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* main.c (do_execute): Fixed the pause_after_run so the console
	contents still get saved even if pause_after_run == pause_never.

	* main.h: Removed the after_run_actions enum; it is not used in
	any .c files other than main.c, and besides it is inconsistent
	with the enum given in main.c itself...

	* main.c, main.h (toggle_pause_after_run): Removed as obsolete.

	* terms.c (do_exit_ca_mode): New function; the counterpart of
	do_enter_ca_mode().  Called in main.c.

	* main.c (view_other_cmd): Now calls do_exit_ca_mode(), and it
	isn't disabled any more just because OTHER_CURSES is defined.

	[Begin Not included]
	* subshell.c (pty_open_master, SVR4 version): Temporarily ignore
	SIGCHLD while calling grantpt() (which forks a pt_chmod process.)

	* main.c (main): Now we always install the SIGCHLD handler here,
	regardless of whether use_subshell is set or not.

	* subshell.c (init_subshell): No need to mess around with SIGUSR1
	any more; we never install the SIGCHLD handler here now.
	[End Not included]

	* util.c (my_system): Don't die horribly if the sigaction() calls
	to ignore SIGINT and SIGQUIT fail; run the command anyway.

	* cons.handler.c (handle_console): Close old pipe ends during
	CONSOLE_INIT, in case it is the second time we run cons.saver.

	* cons.saver.c (send_contents): Removed the `lastline' variable
	and all references to it.

Tue Feb 14 18:16:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>

       * chown.c, achown.c (init_chown, init_chown_advanced): Fixed
       a bug that caused mouse events to be shifted down, so you
       had to click 2 resp. 5 lines above the widget. winpos and the value
       of the newwin must be kept in sync.

Wed Feb 15 18:39:01 1995  Janne Kukonlehto  (jtklehto@paju)

	* file.c (panel_operate): Also a single tagged file should be left
	tagged if the operation failed.

	* gindex.pl: Now can handle hierarchial headings.

	* man2hlp.c: Better backslash quoting handling. Now can handle
	hierarchial headings. Fixed a problem with HTML links. Now can
	handle \& command in the beginning of line.

	* mc.1: Switched to hierarchial headings. Some reorganization.
	Documented the find file feature, the layout dialog and the file
	operations dialog.

	* menu.c (run_menu): The F10 key works again.

	* xnc.hlp (QueryBox): Small change in the wording.

Tue Feb 14 19:13:41 1995  Miguel de Icaza  <miguel@sphinx>

	* Interesting: is_idle returns 0 if we used the mouse on an xterm.
	Because the mouse up has not been handled yet.  We should take
	this into account for the future.

	* view.c (view): Force refresh by setting an initial value to
	dirty of max_dirt_limit + 1.

	* mouse.c (click): Now click returns a MOU_ENDLOOP: this gives the
	view command a chance to refresh the screen.

	* main.c (menu_bar_event): When executing code from the menus, end
	the mouse loop.
	(do_nc): Added a wrefresh before the mi_getch call.  This puts the
	cursor in the correct position.
	(restore_console): Restore the console properly: if using the
	subshell support, add the prompt we have loaded, since it may not
	have been printed before we got the snapshot of the screen.

	* layout.c (layout_cmd): Instead of changing the layout on the
	fly, let the main loop take this decision: this solves the problem
	of the unpaired frames.

	* main.c (init_labels): Misc changes to make the layout changing
	code to work (add test to check if fkeys is set before
	refreshing). 

Mon Feb 13 00:59:04 1995  Miguel de Icaza  <miguel@sphinx>

	* file.c (panel_operate): Now we return 0 if the panel_operate
	did not modify the fs, and 1 otherwise.

	* main.c (delete_cmd, copy_cmd, ren_cmd): update and repaint the
	screen only if panel_operate did something interesting on the disk.

Mon Feb 13 22:54:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>

	* dir.c (sort_*): Changed reverse sorting so if the mix_all_files
	options is not set, directories come always before other files.

Tue Feb 14 02:47:59 1995  Janne Kukonlehto  <jtkl@jysky.oulu.fi>

	* dialog.h, wtools.c (query_dialog): Added a new flag
	WITH_HOTKEYS. Now it is possible to use hotkeys other than the
	first letters of the possible choices.

	* file.c: Added a new function query_recursive which asks
	confirmations for the recursive deletes. A part of its code
	originates from recursive_erase. (mask_rename): Got rid of a
	warning. (panel_operate): Code clean-up. Skipped files are no
	longer untagged. (show_bar): Should not overflow anymore.

	* layout.c (b2left_cback, b2right_cback, init_layout): An attempt
	to adjust panel widths now toggles the equal split off
	automatically. (remove_dash): Operates correctly even if menubar
	is visible.

	* man2hlp.c (handle_command): Typographic fix in the html index
        output.

	* screen.c (repaint_file): If the panel is split to two columns no
	longer colours the division bar when tagging files or drawing the
	selection bar. (display_mini_info): Handles singular and plural
	form of the `file' word correctly when outputting number of tagged
	files.

	* util.c (regexp_match): Optimized: compiles the pattern only if
	it has changed since the last time.

	* wtools.h: There exists no query_dialog_new function nowadays.

Sun Feb 12 20:31:09 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_nc, main): Reordered the push_frames and panel
	creation so that the layout stuff can remove properly all the
	mouse events when switching modes (for disabling the key bar).

	* win.c: misc changes to add an option to specify whenever we want
	or not a fkey.

	* option.c (init_configure), main.c (do_execute): Implemented the
	3-type of pause_after_run.

	* key.c (mouse_getch): Removed pending variable; now ESC is a
	prefix key, not a prefix and a abort key.  There is a workaround:
	you can set the old_esc_mode in the ini file.

	* dialog.c, file.c, menu.c, tree.c, widget.c: C-c and C-g also
	abort actions.

	* screen.c (parse_display_format): Fixed bug that truncated the
	user format if it had an error.

Sun Feb 12 12:31:15 1995  Janne Kukonlehto  (jtklehto@paju)

	* Makefile.in: Added regex.c to SRCS, regex.h to HDRS, regex.o to
	OBJS.

	* configure, configure.in: Added AC_ALLOCA check. Removed the
	search for the correct regular expression commands. The GNU regex
	library is used instead.

	* file.c (mask_rename): Dumped the old shell pattern parser. The
	GNU regex library is used instead.

	* mc.1 (File Menu, Mask Rename): Moved the description of the mask
	rename feature from the File Menu section to a new Mask Rename
	section. Documented the new support for regular expressions (shell
	patterns off).

	* regex.c, regex.h: New files. Copied from the GNU rexex library
	version 0.12. 

	* util.c: Removed the #ifdef jungle to get the correct regular
	expressions code. Now uses the GNU regex library instead. Moved a
	part of the regexp function to a new convert_pattern function.

	* util.h: Added convert_pattern.

	* key.c (check_selects): Void function can't return value.
	(mouse_getch): The gpm_fd variable is not defined if the libgpm is
	not used.

	* user.c (expand_format): Why ';' was removed after "/* Fall
	through */"?

	* view.c: Renamed the quit variable to view_quit to avoid problems
	with the quit variable in the main.h.

Sat Feb 11 13:31:33 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (main): Set an initial value for the prompt, since we are
	not loading it at subshell initialization.

	* key.c (check_selects, add_selects, channels_up, channels_down):
	Add a way to activate and deactive the select channel checking.

	* configure.in (LIBS): Removed the -ltermcap

Sat Feb 11 00:46:52 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* user.c (expand_format): Removed ';' after "/* Fall through */"

	* auto.c (do_exec_mount): Blocked SIGCHLD during the fork/wait,
	to avoid interference with our sigchld_handler() in main.c.

Fri Feb 10 12:17:37 1995  Miguel de Icaza  <miguel@sphinx>

	* key.c (mouse_getch): Do not use max_fd anymore, use FD_SETSIZE.
	(try_channels): New function to check the wait channels on the
	work around version of getch.

	* widget.c (listbox_get_current): Don't return information if the
	listbox is empty.

	* main.c (reread_cmd): Many changes to remove a bunch of warnings.

	* widget.c: Added hotkey support to radio buttons.

Sat Feb 11 21:56:03 1995  Jakub Jelinek   <jelinek1@jfch.vc.cvut.cz>

	* main.c (panel_event): fixed a bug on mouse dragging in a two
	column full sized panel, fixed proper changing of panels when
	dragging the mouse, fixed dragging when having panels split
	horizontaly.

	* main.c (panel_event): Double clicking at the border (so not
	on any file) doesn't run the active file any more. This caused
	some unwanted actions when moving in the panel up and down.

	* main.c (paint_quick_view_panel): Blank Quick view panel cannot
	be active and current panel is changed automaticaly.

	* screen.c (repaint_file): When the user defined format is
	shorter than the actual panel width, there are no black gaps
	at the end any more.

	* screen.c, panel.h (parse_display_format): When you select
	different panel size in used defined format and in user defined
	mini-status format, the panel size of mini-status line is adapted
	to the panel size of the panel, so there are no black gaps any 
	more...

	* screen.c (paint_frame): Removed black gaps when titles are
	shorter and added trimming of titles if they're longer than
	the field length.

	* view.c (view_status): Modified for the cases when quick view
	panel width is extremely short.

	* view.c (view_event): Added unnecessary wrapping, 'cause panel
	event was changed.

	* mouse.c (mouse_handler, redo_mouse): Changed a hideous bug
	that mouse was generating unexpected event coordinates when
	auto repeating last event.

Thu Feb  9 13:43:42 1995  Miguel de Icaza  <miguel@sphinx>

	* find.c (find_file): Remove the old directory contents before
	panelizing the entries.

	* chown.c (chown_cmd): Fixed stupid bug.

	* chmod.c (chmod_cmd): Fixed stupid bug.

	* file.c (panel_operate), main.c (do_mark_file, select_cmd,
	unselect_cmd): Use strcmp
        (,".."), not strncmp (,"..",2)

Thu Feb  9 11:06:46 1995  Janne Kukonlehto  (jtklehto@paju)

	* chmod.c (chmod_mcd), chown.c (chown_cmd): The
	is_view_file_listing macro should take cpanel->view_type as
	parameter, not plain cpanel.

	* configure.in (--with-debug): Added defination of MCDEBUG (used
	by view.c).

	* file.c (copy_dir_dir, recursive_erase, erase_dir), main.c
	(mkdir_cmd): Replaced mkdir and rmdir with my_mkdir and my_rmdir.

	* find.c (find_file, do_find): Added a 'Panelize' button to put
	found files to the current directory panel (to make possible
	viewing, copying, deleting and so on). Press Ctrl-r to return to
	normal file listing after panelizing.

	* layout.c (destroy_panels): Oops, a pop_fkey call missing. Now
	ncurses doesn't seg-fault anymore if the MC catches WINCH signal.
	(change_screen_size): Added a noraw call.

	* main.c (cd_try_to_select): A new function which tries to select
	the old directory if we chdired to the parent directory.
	(parse_control_file, action, enter, maybe_cd, tree_cmd,
	quick_chdir, tree_leave): Now uses the cd_try_to_select function
	instead of try_to_select.

	* main.c (update_panels): Tries to avoid reloading after a
	panelize operation. (do_nc): The pop_fkey call isn't needed here
	anymore after I added it to destroy_panels.

	* mc.1 (Directory Tree): Cleared up the explanation of the F3
	(Forget) key. (FILES): Fixed the command to generate the .mc.tree
	file manually. The .mc.hotlist file isn't used anymore.

	* panel.h (Panel): Added a dont_reload flag to be used by panelize
	operation.

	* screen.c (do_init_panel): Now initializes the dont_reload flag.
	(panel_reload): If the current directory of the panel doesn't
	exist anymore, moves to the parent directory until a existing
	directory is found. Loads zero dir only if the root directory
	doesn't exist.

	* tree.c (tree_add_entry), tree.h: The tree_add_entry function is
	now global instead of static (used by the my_mkdir function).

	* util.c (get_full_name): Now handles root directory correctly.
	(get_absolute_name, my_mkdir, my_rmdir): New functions to replace
	mkdir and rmdir. These versions update the tree figure when
	directories are created or destroyed.

	* util.h: Added my_mkdir and my_rmdir.

	* view.c (load_byte): Tries recover from errors. Now aborts only
	if the MCDEBUG macro is defined. (view): The keybar of the
	internal viewer is now shown regardless of the value of the
	keybar_visible variable.

Wed Feb  8 16:41:40 1995  Miguel de Icaza  <miguel@sphinx>

	* dialog.c: Made refresh_list public.

	* subshell.c (feed_subshell): Initialize the subshell_prompt
	variable; don't read the prompt anymore, let this work to main.

	* util.c (strip_ctrl_codes): Don't strip codes of a null pointer.

	* file.c (recursive_erase): Removed extra free.

	* main.c (copy_tagged): Work on the panel, *not* the current
	panel.
	(load_prompt): Refresh the window.
	(main): Added the select channel function (load_prompt).

	* screen.c (display_mini_info): Corrected bug just introduced
	yesterday.  The format should have a minus.

	* file.c (erase_dir): In order to let the hot key work on
	query_dialogs, the second character must be the hotkey.

	* input.c (assign_text): The current_max_len is the size of the
	string *including* the terminating 0.

Thu Feb  9 15:44:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>

	* main.c (panel_event): If mouse is pressed inside the quick
	view panel, it doesn't show garbage any more - instead mouse
	is there fully functional.

	* view.c (view_event, real_view_event): Full mouse support
	in both real view and quick view causes movement in all
	directions.

Wed Feb  8 16:40:04 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>

	* menu.c (quit_all_event): Releasing mouse button outside of
	the menu causes the menu to hide - acts like expected from the
	pull down menu.


Wed Feb  8 10:27:14 1995  Thomas Pundt <pundtt@math.uni-muenster.de>

	* view.c (half_up): Added view_update: this fixes a problem with
	some versions of ncurses.

Tue Feb  7 16:20:33 1995  Miguel de Icaza  <miguel@sphinx>

	* subshell.c (read_subshell_prompt): Moved the code from
	feed_subshell here: code cleanup and reuse.

	made public the subshell_pty variable to let the main program use
	hooks. 

	* main.c: Disable advanced chown for release 2.0.
	(change_view): Call switch_to_info instead of info_cmd.

	* find.c (find_parameters): Starting directory is current dir, as
	Dugan suggested in the list.

	* chmod.c (chmod_cmd): Shouldn't operate in modes different than a
	file listing.

	* chown.c (chown_cmd): Shouldn't operate in modes different than a
	file listing.

	* key.c (delete_select_channel, add_select_channel, check_selects,
	add_selects): New function to add select channels to the program.

	* file.c (panel_operate): Fixed bug: the confirmation prompt
	should be computed for marked files > 1. 

Wed Feb  8 02:23:52 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* dir.c (do_reload_dir): New variable `tmp_len' used for an
	optimisation of the directory-rescanning code, which is now
	about 30% faster  :-)

	* subshell.c: Made zsh work properly as a subshell of MC, and
	fixed up the subshell-type handling generally.

Mon Feb  6 17:49:36 1995  Janne Kukonlehto  (jtklehto@paju)

	* boxes.c (displays): The button names are now easier to
	understand.

	* dir.c (do_load_dir, do_reload_dir), file.c (create_op_win,
	destroy_op_win), util.h, win.c: The create_dash and destroy_dash
	functions have been deleted.

	* layout.c (_check_split, layout_callback): Fixed two silly bugs
	in panel size limit checking. (create_panels, destroy_panels): The
	window for the rotating dash is created and destroyed here now.

	* win.c, layout.c, util.h: The rotate_dash function has been moved
	from the win.c file to the layout.c file. A new remove_dash
	function to remove dash when not needed anymore.

	* main.c (update_panels): Ctrl-r works in the tree view again.

	* main.c (change_panel): Can't change to quick view panel if the
	current file is a directory. (enter): Doesn't execute the command
	on the command line if there isn't a command line. Fixed the macro
	expansion bug (I hope). (view_cmd): Repaint the quick view panel
	after exiting from the real view. (copy_current_pathname,
	copy_other_pathname, copy_prog_name, copy_other_prog_name,
	copy_tagged): Don't put stuff on the command line if there is no
	command line. (do_nc): Remove the rotating dash on the each
	iteration of the main input loop.

	* mc.1 (Macro Substitution), user.c (expand_format): Implemented
	the %s macro.

Sun Feb  5 15:12:45 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (menu_mouse_cmd, menu_cmd, menu_last_selected_cmd,
	menu_display_cmd): Changes to allow the user to open the menu
	place where he clicked the mouse.

	* util.c (my_statfs): Changes to let the code compile even if we
	don't have mount information.

	* main.c (do_link): Changed the order for symlinking

Fri Feb  3 16:26:39 1995  Miguel de Icaza  <miguel@sphinx>

	* view.c (do_view_init): Removed hex_mode initialization.

	* win.c (create_dash): We don't want to keep the cursor in the
	corner. 

	* view.c (toggle_wrap_mode): If we toggle the wrap mode, we have
	to set the starting columnd to 0.

	* dir.c (do_reload_dir, do_load_dir): Do not rotate that often.

	* file.c (check_buttons): Use again xgetch instead of mouse_getch.

	* configure.in (LIBS): Fixed the problem of the configure
	program. 


Fri Feb  3 17:09:04 1995  Janne Kukonlehto  (jtklehto@paju)

        * configure: A temporary fix to get it work. Someone should take a
	closer look at this and fix it from the configure.in, too.

	* cons.saver.c: Replaced an ugly hack with a less ugly hack.

	* dir.c (do_load_dir, do_reload_dir), file.c (check_buttons,
	create_op_win, destroy_op_win): Uses new rotating dash feature.

	* file.c (do_file_error, query_replace): The file operation main
	window is no longer refreshed if the user selected abort.
	(copy_dir_dir, recursive_erase): The abort feature should work
	better now.

	* key.c (mouse_getch): Now works without libgpm again.

	* main.h: The quit variable is volatile nowadays.

	* win.c, util.h (create_dash, destroy_dash, rotate_dash): New
	functions to show rotating dash during long operations.

Thu Feb  2 15:18:10 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* main.c: const-ified the status_using_* variables, to help with
	compile-time optimisation.  Not that these variables are exactly
	"heavily used" or anything...  ;-)

	(main): Moved the "handle_console (CONSOLE_INIT)" call before
	the init_sigchld(), so the waitpid()s in cons.handler.c don't
	interfere with our SIGCHLD handler.

	(view_other_cmd): Made it switch to the subshell (if enabled)
	regardless of whether screen dumps are possible or not.

Fri Feb  3 17:09:04 1995  Janne Kukonlehto  (jtklehto@paju)

        * configure: A temporary fix to get it work. Someone should take a
	closer look at this and fix it from the configure.in, too.

	* cons.saver.c: Replaced an ugly hack with a less ugly hack.

	* dir.c (do_load_dir, do_reload_dir), file.c (check_buttons,
	create_op_win, destroy_op_win): Uses new rotating dash feature.

	* file.c (do_file_error, query_replace): The file operation main
	window is no longer refreshed if the user selected abort.
	(copy_dir_dir, recursive_erase): The abort feature should work
	better now.

	* key.c (mouse_getch): Now works without libgpm again.

	* main.h: The quit variable is volatile nowadays.

	* win.c, util.h (create_dash, destroy_dash, rotate_dash): New
	functions to show rotating dash during long operations.

Thu Feb  2 13:33:40 1995  Miguel de Icaza  <miguel@sphinx>

	* key.c (mi_getch): Cleanup.  If we don't HAVE_LIBGPM, set
	gpm_flag to 0 in a define.

	* help.c (show): Since now we are not using a derived window, we
	have to check when we go out of place.

Tue Jan 31 16:30:23 1995  Janne Kukonlehto  (jtklehto@paju)

	* file.c (erase_dir): Check for FILE_ABORT.

	* main.c (enter): Fixed the command line problem.

Fri Feb  3 19:01:48 1995  Midnight commander developing  <rodo@earn>

	* achown.c: reworked, not working yet

Fri Feb  3 10:48:43 1995  Midnight commander developing  <rodo@earn>

	* chown.c: cosmetic changes - now it doesn't waste so much
	space :-)

Wed Feb  1 17:33:16 1995  Miguel de Icaza  <miguel@sphinx>

	* dlg.c (dlg_new): Changed: relative to frame set to 0, maybe this
	should be a parameter to dlg_new, we want a child window or not.
	This actually fixes the mouse disabled problem on the new file
	command windows.

	* subshell.c: Added use_subshell = 0 when no subshell support is
	present and removed it from subshell.h.  This is needed.  We
	can't use a const in a header file.

	* main.c (reread_cmd, update_panels): Update only the current
	panel (new flag: UP_ONLY_CURRENT).

	* layout.c (layout_callback): Fixed the bug I introduced
	previously on displaying the _output_lines variable.

	* main.c (done_panels): Free user_mini_status in both panels.

	* dir.c (alloc_dir_copy): Set initial values to dir_copy.list so
	that we only free those values that were actually allocated.
	Also, now we free those values that were allocated.

Wed Feb  1 22:03:41 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * subshell.c: Implemented the QUIETLY/VISIBLY argument to
        invoke_subshell.  Made yet another fix for System V (synchronizing
        with the child process once the latter has opened the slave pty
        successfully).  Removed all old references to mc_ctty.  Changed
        pty_open_slave to be more specific about problems encountered.
        Plus a few minor fixes and cleanups.

        * screen.c (string_file_type): Added (provisional) type codes for
        named pipes and block and character special files.

        * cons.saver.h, cons.saver.c, cons.handler.c: Changes so that
        show_console_contents can return a range of lines anywhere on the
        screen, not just at the bottom.  This is used by the subshell
        support, and will hopefully be useful later in other ways.

        * main.c: Made `quit' volatile because it can be changed by the
        SIGCHLD handler in subshell.c.  Call show_console_contents and
        invoke_subshell with the new arguments.  Trivial fixes.

        * layout.c (create_panels): Call show_console_contents with the
        new arguments.

Sun Jan 29 03:01:31 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * subshell.c (init_subshell): Removed the MCBASH variable feature
        as pointless; we always want to run with the usual bash now.

Wed Feb  1 16:30:17 1995  Miguel de Icaza  <miguel@sphinx>

	* file.c (panel_operate): Free `temp' variable if it has been
	used. 
	(mask_rename): Added missing return types (return FILE_ABORT on
	the first two returns).

Wed Feb  1 02:01:45 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c: Use the screen size calculated by ncurses rather
	than trying to calculate it again.  Also, removed a duplicated
	"#include <sys/ioctl.h>".

	* main.c (main): Moved the call to init_curses after the one to
	init_subshell.  (init_subshell needs the terminal to be in its
	original mode, and init_curses puts it in raw mode.)  But we still
	need `initscr' to be called before init_subshell, so I removed
	initscr from init_curses and call it just before init_subshell.
	Extremely ugly, I know; sorry.  Do it better if you like...

	* layout.c (init_curses): Removed the initscr() call (see above).

	(change_screen_size): Call initscr() just before init_curses().
	Call resize_subshell() (see below).

	* subshell.c (resize_subshell): New function which resizes the
	subshell's pseudo-tty according to the values of the ncurses
	variables LINES and COLS.

Tue Jan 31 16:30:23 1995  Janne Kukonlehto  (jtklehto@paju)

	* Makefile.in, file.c, newfile.c: The old `file.c' file removed and
	the new `newfile.c' file renamed to `file.c'.

	* TODO, mc.1: Fixed my email address.

	* file.c (previously known as newfile.c): A lot of changes and
	fixes in all the functions.

	* file.h: Added two enumerations, create_op_win, destroy_op_win,
	refresh_op_win, mask_rename and panel_operate. Removed
	copy_file_dir, erase_file, recursive_erase, move_file,
	move_file_dir and new_file_ops.

	* main.c (enter): The command line supports the user menu macros
	now. This makes possible to execute the same command line to
	multiple sets of files (by tagging the files and getting the line
	from the history with M-p and M-n).

	* main.c (unmark_file): Now works in the tree view mode.
	(ok_to_copy, ok_to_copy_all): Not needed anymore. (copy_cmd,
	ren_cmd, delete_cmd): Now use the new file operations
	code. (do_mask_ren_cmd): Moved to file.c and renamed to
	mask_rename. (mask_ren_cmd): Now calls the mask_rename function.
	(new_file_ops_cmd, CmdMenu): The new_file_ops_cmd function is not
	need anymore.

	* tree.c (tree_copy, tree_move, rmdir_cmd): Now use the new file
	operations code.

	* util.c (get_full_name): Now strips the old path out of the
	filename.

Mon Jan 30 16:53:26 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (main): sigchld_hanlder was only defined with subshell
	support.

	* configure.in (AC_NCURSES): This replaces the try_ncurses
	function, since some shells (Ultrix /bin/sh for example) don't
	understand function definitions.

	* main.c (do_nc): Setup must be saved before the destruction of
	the panels takes place.

	* profile.c (profile_clean_section): Fixed a bug that prevented
	the the last item in the section list to be saved.

	* setup.c: Added inode sort option

	* dir.c: Added inode sort option.

	* screen.c (string_inode): Added inode display.

Mon Jan 30 14:37:30 1995  Janne Kukonlehto  (jtklehto@paju)

	* Makefile.in: Added newfile.c, fsusage.c and mountlist.c to SRCS.
	Added fsusage.h and mountlist.h to HDRS. Added newfile.o,
	fsusage.o and mountlist.o to OBJS. (mc.hlp, ync.hlp, mc.html):
	Added some missing $(srcdir)s.

	* configure.in, configure: Added a lot of tests from the GNU
	fileutils (needed by fsusage.c and mountlist.c). 

	* file.h: Added the prototype for the new_file_ops function.

	* fsusage.c, fsusage.h: New files to get the filesystem space
	usage. Copied from the GNU fileutils. Needed by the my_statfs
	function.

	* mountlist.c, mountlist.h: New files to get the list of mounted
	filesystems. Copied from the GNU fileutils. Needed by the
	my_statfs function.

	* main.c (parse_control_file): Now handles directories correctly
	when tagging or untagging. (unmark_file): Now global instead of
	static (needed by the new_file_ops function). (new_file_ops_cmd):
	New function to wrap calls to the new_file_ops function.
	(CmdMenu): Add the "New file operations" entry to the bottom of
	this menu.

	* main.c (paint_info_panel): Got rid of "#ifdef HAVE_STATFS". The
	my_statfs function uses GNU code now and it should work on all
	machines. The Linux and Ultrix filesystem type switch clauses
	aren't needed anymore (GNU code does a better job). (main): Added a
	call to the init_my_statfs function to initialize the list of the
	mounted filesystems.

	* menu.c (menu_handler, run_menu): The menu is now removed after
	the user has made his/her choice.

	* newfile.c: New file which will replace the file.c file in the
	future. Implements the new file operations.

	* util.c, util.h: Removed the stuff to define the WE_HAVE_STATFS
	macro. Removed the find_mountpoint and find_device functions.
	(init_my_statfs): A new function to read the list of mounted
	filesystems for the my_statfs function. (my_statfs): Dumped the
	old code. Now uses the mountlist read by the init_my_statfs
	function and the get_fs_usage function from the fsusage.c.
	Therefore it should work correctly on all machines now.

Sun Jan 29 15:35:34 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (init_sigchld): Use the main program sigchld handler when
	no subshell support is requested.

	* ncurses.h, configure.in: Changes to detect ncurses 1.8.6 and
	newers. 

	* main.c (main): Moved the initialization code so that Dugan can
	do the rest.

Sat Jan 28 13:30:40 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (history_cmd): Free the listbox.

	* chmod.c (chmod_toggle_select): Use the normal color.

	* input.c (assign_text): The current max lenght of the string is
	exactly the string lenght, not +1.

	* main.c (history_cmd): Removed the hot key on the listbox window.

	* configure.in (XCURSES): Added --with-sunos-curses

	* ncurses.h: Updated the file to run with SunOS 4.x curses

	* layout.c (init_layout): Changes to include the mini status field.

	* option.c: Removed the show mini status option from the config
	dialog and added the drop down menus instead.

	* util.c (my_system): Removed the prepare_environement routines
	since it didn't work with the subshell.

	* main.c (do_nc): Removed the LINES checking, this must be done by
	ncurses. 

Fri Jan 27 13:49:57 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (tree_view_cmd): Added missing call to clean_dir.

	* dir.c (clean_dir): Sanity check.

	* main.c (change_panel): Added extra check to avoid showing a non
	existant entry if the view type is view_tree.

	* subshell.c (init_subshell): Get and set the window size only if
	the operating system has support for it.

	The Solaris Fix for subshell:

	(sigchld_handler): 
	Remove the loop around the pid = waitpid.  
	Add the WNOHANG option to the waitpid.
	Remove the abortion code if pid <= 0.

	(init_subshell): On Solaris, if you close the master pty on the
	child, it also closes the slave side, so I removed the close
	(subshell_pty).  I leaved nice comments in case we want to undo
	this behavior.

	End of The Solaris Fix.

	(get_window_size): Grabbed some code from GNU's shellutils.  We
	try first with stdout, then stdin, and finally with a user
	provided file descriptor (in this case, ctermid (0)).

	(init_subshell): Set the window size only if we could get the
	window size.

	* view.c (move_left, move_right): Even if wrap mode is set, we
	have to tell the upper layers that the key was handled.

	* main.c (paint_quick_view_panel): Replaced long condition for
	is_view_file_listing.

Fri Jan 27 13:40:07 1995  Thomas Pundt (pundtt@math.uni-muenster.de)

	* main.c (paint_quick_view_panel): "fkeys" and "view_win" are not
	initialized, if QuickView is activated and other_panel has not
	selected a regular file. This causes mc to segfault, if you press
	F4, before a file is selected.  Added calls to view_init_windows
	(panel->win_file, fkeys).

	* view.c (load_view_file): Added missing strdups of string
	constants. 

	* view.c (do_view_init): If we are displaying an error message in
	the quick view panel, we also need to initialize the bytes_read
	variable, not only the s.st_size field.

	* view.c (view_init_windows): New function to setup the view_win
	and fkeys variables, called from main for the quick view stuff.

	* view.c (view_status): If filename is not set, then avoid the
	crash by printinf "".

Fri Jan 27 16:43:38 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * main.c (sigchld_handler): Several corrections.  Fixed stupid
        mental typo of writing "handle_console" instead of "console_flag".

        * screen.c (parse_display_format): There was a division by the
        variable `field' which looped from 0 to (fields-1), provoking
        an FPE on the first iteration.  Replaced `field' by `fields',
        which I think is what was intended.

Fri Jan 27 15:21:09 1995  Janne Kukonlehto  (jtklehto@paju)

	* cons.handler.c (show_console_contents): Oops, I forgot to clear
	the window.

	* layout.c (layout_callback, create_panels): Now there are minimum
	and maximum limit for the number of output lines.

	* main.c (sigchld_handler): Fixed a silly bug.

Thu Jan 26 12:37:40 1995  Miguel de Icaza  <miguel@sphinx>

	* subshell.c: include sys/ioctl.h on 4.3 BSD systems for the
        TIOCGWINSZ constant.

	* main.c (ok_to_copy_all): Set the abort flag before returning.  I
	wonder how I could put the return before the assignement?

	* menu.c (query_dialog): We don't use menu's query_dialog anymore,
	now the query_dialog routine is the one written by Radek found in
	the wtools.c file.

	(run_bar): We don't use derwin any longer, we now require the
	parent to provide a suitable window to draw on.  Since this
	routine is only used by the main program menu, I wonder if we
	should just simple create this window here.

	* wtools.c (query_dialog): Compute correctly the number of columns
	needed for the query box.

	* main.c (menu_display_cmd): Create the window to be used in run
	bar.

	* dialog.c, dialog.h (create_dialog): Now dialogs only use one
	window, we don't use anymore the derwin call.  Getting rid of the
	derwin call will let us run with BSD curses (I hope).

	(input_dialog): Adjust the area of display to conform to the new
	changes. 

	(create_dialog): Adjust my_wputs.

	* tree.c (show_tree): Adjust the display routines.

	* help.c (show): Adjust the display routines.

	* configure.in: Renamed --with-aixcc option to --with-mmap. 

	* main.c (untouch_bar): Call only_refresh_screen.
	
	(only_refresh_screen): Now takes a boolean to determine if the
	panels are being refreshed.

	* help.c (interactive_display): Added missing call to
	clear_link_areas. 

	* layout.c (destroy_panels): Changed pop events for pop_frame.

Thu Jan 26 12:56:04 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * cons.handler.h: New file, to allow cons.handler.c to export
        the `cons_saver_pid' variable (which used to be called `child')

        * cons.handler.c, cons.saver.c, cons.saver.h: Changed type of
        console_flag from 'int' to 'signed char', so that the various
        write (cmd_output, &console_flag, 1) calls will work even on the
        big-endian machines to which Linux will one day be ported  ;-)

        * vfs.h: Added 'const' to prototypes where appropriate.

        * main.c (version): Polished the version message slightly.
        Corrected the new sigchld_handler function a little.

        * subshell.c: Improved the sigchld_handler function.

Thu Jan 26 14:36:54 1995  Janne Kukonlehto  (jtklehto@paju)

	* Makefile.in: cons.saver depends on cons.saver.o.

	* boxes.c (display_callback): The 'm' key no longer jumps to user
	mini status input field.

	* cons.handler.c (show_console_contents): New function to show
	output with the help of cons.saver.

	* cons.saver.c (send_contents): New function to send the contents
	of the console screen to the parent process.

	* cons.saver.h: A new message CONSOLE_CONTENTS to request the
	contents of console screen. Added prototype for show_console_contents.

	* dlg.c (destroy_dlg): I finally fixed the mystic bug. The
	destroy_dlg function was starting the loop from the second item
	instead of the first item.

	* layout.c (bplus_cback *new*, bminus_cback *new*,
	layout_callback, init_layout, layout_cmd, create_panels,
	destroy_panels), layout.h, main.c (do_execute, repaint_screen,
	only_refresh_screen, refresh_screen), setup.c (layout): Now
	supports defining a output window. You need the new cons.saver for
	this (remember to type "make install.saver").

	* layout.c (init_curses *new*, create_panels, destroy_panels,
	change_screen_size), layout.h, main.c (main): Workarounds for
	ncurses bugs. The initscr function is called only when really needed.

	* main.c (select_item), screen.c (init_panel): Small bug fix
	related to the long view.

	* main.c (switch_to_info): No longer rejects second switch to the
	info mode (needed by layout stuff).

	* option.c (check_options): Removed the hotkey of the advanced
	chown toggle.

	* util.c (my_putenv): Removed the free command and added some
	warnings to prevent others from adding it back (sorry Miguel).

Wed Jan 25 13:05:59 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (goto_bottom_file, goto_top_file, goto_middle_file,
	mark_file, copy_other_pathname,  copy_prog_name,
	copy_other_prog_name): Added checks so that they don't work when
	quick or info modes are selected.

	(try_to_select): Changed call to SELECT_ITEM for a call to
	select_item, this should keep the info and quick view modes in
	sync.  If the users experiment a terrible slow down, then this
	must be the reason.

	* view.c (check_left_right_keys): Only allow horizontal scrolling
	if the wrap mode is not toggled on.

	(do_view_init): Now, the error message from loading a file is
	displayed here.  It is only displayed in a message box if we are
	the real view and not the quick one.

	(load_view_file): Now we guaratee that data has always data.
	Thus on quick view, the keys will actually be checked correctly,
	and the only information displayed on the quick view panel will be
	the error message.

	(load_view_file): Added missing close.

	(view_update, move_forward2, move_backward2, move_to_top,
	move_to_bottom, move_right, move_left, goto_line, regexp_search,
	normal_search): if there is no data loaded, don't do anything

Wed Jan 25 18:22:09 1995  Janne Kukonlehto  (jtklehto@paju)

	* boxes.c: display_callback, display_init, display_box), panel.h,
	screen.c (repaint_file, display_mini_info, do_init_panel), setup.c
	(panel_save, panel_load): Now it is possible to define user format
	for the mini status line, too.

	* dlg.c (destroy_dlg): Another workaround for the mystic bug to
	get the Electric Fence working. I hope someone fixes this bug soon.

	* file.c (move_file, move_dir_dir): Now show a message box so that
	the user knows we are moving files. The move_dir_dir is now more
	bullet proof.

	* layout.c: Replaced hardcoded values 20 and 5 with MINWIDTH and
	MINHEIGHT. MINWIDTH is now 10 instead of 20.

	* setup.c (save_setup): Swapped save_configure with save_layout.
	Let's see if this it has any effect.

	* view.c (free_file): Uses different method for checking errors.
	No broken pipes anymore. (load_view_file): Oops, the s.st_size was
	not initialized in case of compressed files.

	* view.c (load_view_file, view_labels, change_viewer *new*,
	create_windows): New Raw/Gunzip button: now the compressed files
	can be viewed both as raw data and as uncompressed data.

	* zip.c (get_small_endian_long): Now handles eof correctly.
	(is_gunzipable): Now reports only deflated or stored zip files as
	gunzipable.

Tue Jan 24 16:34:13 1995  Miguel de Icaza  <miguel@sphinx>

	* layout.c (create_panels): Push a missing frame.

	* main.c (main): Remove unused events at program end.

	* util.c (my_putenv): Release the unused memory.

	* main.c (do_possible_cd): Now it paints the panel as all the
	other cd routined and selects the item.

	(maybe_cd): if it's the left key, then go up one directory.

Tue Jan 24 12:32:14 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * file.c (erase_dir): Slight changes to the confirmation box for
        recursively deleting directories.

        * main.c (main): Removed a repeated initialisation of home_dir.

Mon Jan 23 14:45:34 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * subshell.c (init_subshell): Removed the `shell_name' variable
        and all references to it, and used `shell' from main.c instead.

        (init_subshell): Now we install the SIGCHLD handler here and
        leave it active all the time until MC exits, instead of enabling
	it only during execution of the subshell functions.  This seems
        to make MC hang less frequently, but unfortunately it will still
        hang if you try hard enough (by holding down C-o a lot).

Sun Jan 22 20:48:57 1995  Dugan O. Porter  (dugan@b011.eunet.es)

        * main.c (main): Warn user if we can't start up the subshell.
        Also, tentatively added putchar ('\r') at the end of main(),
        to make the user's shell write its prompt starting in column 0
        after MC has terminated.

        * subshell.c (sigchld_handler): Moved the message about using
        the old command execution method from here to main().

Tue Jan 24 12:25:44 1995  Thomas Pundt <pundtt@math.uni-muenster.de>

	* view.c (create_windows): Moved the push_frame from: before the
	push_events to just after the wattron. The problem is, that not
	all mouse events are popped off the stack, because the new frame
	is set up too late.

Tue Jan 24 11:35:01 1995  Janne Kukonlehto  (jtklehto@paju)

	* file.c (copy_file_file): Now copies symbolic links correctly (as
	defined by Dugan). (move_file): Dumped the code based on a system
	call and copied the code from mv.c in GNU fileutils-3.12.
	(move_file_dir): Dumped the old version and copied the code from
	copy_file_dir.

	* main.c: The init_entry function removed. (parse_control_file,
	action, enter, tree_leave): Small changes in the handling of cd
	command. (ok_to_copy): Now pressing ESC or F10 works
	correctly. (swap_cmd): Windows are moved instead of swapping. Now
	compatible with layout feature. (paint_info_panel): The code has
	been turned upside-down to support leaving out the lines which
	don't fit.

	* panel.h: The win_mini field wasn't used for anything.

	* view.c (do_view_init, view): The initialization of the start_col
	variable belongs to the do_view_init function. (display,
	move_right, move_left): Small fixes to the left/right movement.
	(view): Added a workaround for a NCurses bug.

Mon Jan 23 19:00:15 1995  Miguel de Icaza  <miguel@sphinx>

	* mouse.c (mouse_push_event): Now, we return the event pointer,
	needed for changing the event parameters of the panels on a
	resize.

Mon Jan 23 15:43:49 1995  Janne Kukonlehto  (jtklehto@paju)

	* dialog.c (input_dialog): The in variable was used after it was
	destroyed.

	* dlg.c (destroy_dlg): Added a workaround for the widget list bug.
	This is just a temporary fix. Let's hope the bug gets really fixed
	someday.

	* layout.c (create_panels, destroy_panels): Now create and destroy
	all the curses windows of the main screen. (flag_winch,
	change_screen_size): Now they work correctly.

	* main.c: The current_panel, other_panel, menubar_win,
	cmdline_win, fkeys and clean_screen variables are initialized to
	NULL in order to help catching the bugs. The cmdline, prompt and
	clean_screen variables are now global. The contents of init_entry
	function are moved to the create_panels function (maybe the whole
	function can now be removed). Part of the init_menu function moved
	to create_panels function. The init_labels function calls now the
	change_labels function. (do_nc, main): Some reorganization to get
	along with the more thorough behaviour of the create_panels and
	destroy_panels functions.

	* main.c (paint_quick_view_panel), view.c (display): Quick view no
	longer flashes when holding an arrow key down.

	* setup.c (load_setup): The call to the meta function moved to the
	main function.

	* util.c (close_error_pipe): Now it is possible to tell
	close_error_pipe to ignore the message in the pipe (needed by
	quick view).

	* view.c: Reorganized to use the same kind of folding as Dugan
	uses in the subshell.c. (free_file, get_byte, load_view_file,
	seach, regexp_search, normal_search): Changes to support loading
	file in parts when mmap can't be used. (load_byte): New function
	to implement loading in parts. (do_view_init): Small bug fixes. 

Sun Jan 22 12:10:03 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c (init_subshell): Introduced a new symbolic constant
	FORK_FAILURE, used as an exit code to indicate failure to start up
	the subshell, to that the sigchld handler can distinguish that
	case from when the user exits the subshell voluntarily.

	(feed_subshell): Never call `select' without checking that the
	subshell is alive is TRUE; this prevents MC from locking up so
	often.  Also, capture the subshell's prompt regardless of
	whether the `how' parameter is QUIETLY or VISIBLY.

	(sigchld_handler): Check the subshell's exit code to find out
	whether the user exited or we simply failed to fork the subshell.

	(pty_open_slave): Temporarily commented out the calls to chown()
	and chmod(), to fix the /dev/tty?? permissions problem.

Sat Jan 21 14:15:29 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c (init_subshell): Replaced the multi-branched if
	statements with switches, to accommodate future subshell types.

Thu Jan 19 11:27:02 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* Makefile.in: Added cons.saver to the `all' target, and
	install.saver to the `install' target.  Plus minor cleanups.

Sat Jan 14 08:41:07 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* main.c (quit_cmd): Added a call to exit_subshell.

	* subshell.c (feed_subshell): Fixed a prompt-capturing bug, by
	moving the declaration of prompt_pos closer to its point of use.

	(feed_subshell): Added a nasty temporary hack to make MC wait for
	the subshell's prompt for an extra second the first time through,
	to allow time for the shell's init file to run.

Fri Jan 13 12:17:43 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* main.c (suspend_cmd): The screen contents weren't being saved
	properly after returning to MC, because ncurses was re-drawing
	the screen instantly, before the call to handle_console.  Fixed
	by swapping out ncurses' SIGTSTP handler briefly.

	(view_other_cmd): Made MC update its prompt from the subshell's.

	* util.c: Made startup_handler global so it can be accessed from
	main.c.  It would perhaps be better to put everything to do with
	signals in a file "signals.c", and also re-organize MC's entire
	source file structure while we're at it.  Some other time...

	* main.c (pre_exec, post_exec): Removed the calls to
	handle_console, so that suspend_cmd can call pre_exec and
	post_exec without saving the screen contents, if it wants to.

Sun Jan 22 18:11:58 1995  "Sinolits Vadim vvs@nsrd.npi.msu.su

	* view.c (move_left, move_right, check_left_right_keys): Added
	vertical scrolling.

Thu Jan 19 11:06:59 1995  Miguel de Icaza  (miguel@roxanne)

	* layout.c (change_screen_size), main.c (do_nc): compile the
	window size change functions only iof the system provides them.

Thu Jan 19 14:57:14 1995  Janne Kukonlehto  (jtklehto@paju)

	* input.c (update_input): Now supports 8bit clean mode.

	* key.c (getch_with_delay): New function to work around System V
	Curses vt100 bug. (mi_getch): Now uses getch_with_delay.

Wed Jan 18 13:40:14 1995  Janne Kukonlehto  (jtklehto@paju)

	* layout.c: The check_split function divided to two versions:
	_check_split and check_split. Now cancel button really cancels all
	the changes, not just some of them. Added support for horizontal
	splitting.

	* layout.c (flag_winch, change_screen_size), layout.h: New
	functions for handling of the WINCH signal. Now, how can we get
	curses to realize the change in the screen size?

	* main.c (do_nc): Now handles the WINCH signal.

	* main.c (select_item): Changes for horizontal splitting.

	* main.c (init_entry, repaint_screen, only_refresh_screen,
	refresh_screen, quick_view_key, init_menu): Changes to support
	menubar_visible, command_prompt and keybar_visible toggles.

	* main.c (enter, change_view): Small fixes.

	* screen.c (do_init_panel): Fixed the missing titles bug.

Tue Jan 17 11:04:24 1995  Miguel de Icaza  (miguel@roxanne)

	* util.c (strcasecmp): Fix strcasecmp.

	* option.c (init_configure): The correct index is 10, not 9 after
	adding the new advanced chown option to the dialog box.

Tue Jan 17 18:12:03 1995  Janne Kukonlehto  (jtklehto@paju)

	* Makefile.in: Added layout.c to SRCS, layout.h to HDRS and
	layout.o to OBJS.

	* hotlist.c: The sf_stat variable isn't needed.

	* hotlist.c (add2hotlist_cmd), hotlist.h, main.c (ctl_x_map): The
	hotkey for adding a directory to the hotlist is back!

	* layout.c: A new file for changing the panel widths and other
	things like that on the fly.

	* main.c (panel_event, menu_bar_event, change_view), panel.h: Now
	global instead of static (needed by layout.c).

	* main.c (init_panels, done_panels, do_nc): Window and mouse
	handling code moved to layout.c in the create_panels and
	destroy_panels functions. The do_init_panel function is now used
	instead of init_panel.

	* main.c (change_labels, repaint_screen, only_refresh_screen,
	refresh_screen, default_key, init_labels), view.c (view_refresh,
	create_windows, view), win.c (set_label_text): Command prompt and
	function key bar might not exist.

	* main.c (change_panel, paint_quick_view_panel, quick_view_cmd,
	change_view): Miscellenous changes to make sure we are always in
	the right directory.

	* main.c (do_mark_file), screen.c (display_mini_info): No
	hardwired panel widths like "COLS/2-2" anymore.

	* main.c (paint_quick_view_panel), view.c (view_init, view_status,
	display, create_windows), view.h: Quick view has now a frame
	(sorry about this, Torben).

	* main.c (quick_view_key, tree_view_cmd), view.c (view):
	Miscellenous fixes.

	* option.c (check_options): Now static. Fixed the hotkey of
	advanced chown. (configure_box): Now the save button saves only
	the settings of this dialog. Use the save setup command to save
	the whole setup.

	* screen.c (do_init_panel, init_panel): The init_panel function
	now initializes only the things related to the size and positions
	of the panel. Other stuff moved to the new do_init_panel function.

	* setup.c, setup.h: New functions: save_layout, load_layout and
	save_configure. The configure and layout dialogs save now only
	their own settings. Use save setup command to save the whole
	setup. (save_setup, load_setup): Changes related to the addition of
	save_layout, load_layout and save_configure.

	* view.c (load_view_file, view_update, view_check_key): A lot of
	error messages and problems are skipped or ignored when in quick
	view mode. (do_view_init): hex_mode and wrap_mode are no longer
	reinitialized in the quick view mode.

	* win.c (wprint_bytesize): Outputs now always seven characters to
	make justifying easier.

Mon Jan 16 19:22:27 1995  Miguel de Icaza  (miguel@roxanne)

	* util.c (tilde_expand): Small bug fix: strdup the home_dir.

Sat Jan 14 13:46:10 1995  Janne Kukonlehto  <jtklehto@stekt10>

	* main.c (parse_control_file): Small changes in handling of the cd
	command.

	* main.c (change_labels, change_panel, key_f2_cmd, key_f3_cmd,
	key_f4_cmd, paint_quick_view_panel, quick_view_key, init_labels),
	screen.c (init_panel): Changes for the quick view mode.

	* main.c (key_f5_cmd, key_f6_cmd, key_f7_cmd, key_f8_cmd): New
	functions for the quick view mode.

	* view.c: Reorganized. A lot of changes to support quick view
	feature.

	* view.h: Added view_init, view_update, view_labels,
	toggle_wrap_mode, toggle_hex_mode, goto_line, regexp_search,
	normal_search and view_check_key to support quick view feature.

	* main.c (dummy): Deleted as unnecessary.

	* main.c (tree_leave), tree.c (tree_done, tree), tree.h: The
	tree_done function deleted as unnecessary.

	* subshell.c (init_subshell): Opening fifo as O_RDONLY or O_WRONLY
	causes deadlock. Now uses O_RDWR instead. Replaced getenv ("HOME")
	with the home_dir variable.

Fri Jan 13 12:55:42 1995  Miguel de Icaza  <miguel@sphinx>

	* find.c (do_search): strcpy the string only if the returned value
	is not null. 

Fri Jan 13 15:33:09 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* find.c (find_parameters): Now you can use tree for specifying
	the start dir.

	* main.c (change_labels, key_f4_cmd), tree.c (toggle_nav_mode,
	win_init), tree.h: In tree mode the label of the F4 key is changed
	between "static" and "dynamic".

	* tree.c (set_navig_label): New function for changing the label of
	the F4 key in the tree mode.

	* mc.1 (Directory tree): Updated.

Thu Jan 12 17:15:21 1995  Miguel de Icaza  <miguel@sphinx>

	* widget.c (input_callback): Ugly hack to avoid update_input clear
	the first field of the Input* structure when used for displaying
	the input line.

	* find.c (start_stop): Changed the moving dot for a nice rotating
	dash.  Should change this for a rotating fish.

	* widget.c (listbox_draw): When painting listboxes, display at
	most the size that would fit in the listbox (obvious problem with
	the find code).

	* find.c (do_find): Free the dirname and filename only if they
	were strduped.

	* widget.c (listbox_get_current): Set decent values even if the
	listbox is empty.

	* option.c (configure_box): Sync the profiles after saving the
	setup if the Save button was selected.

	* tree.c: renamed search_buffer to search_buffer_tree, in order to
	let the program link/compile under AIX with c6000.  BTW, Janne,
	could we share the search_buffer with main?

	* subshell.c, view.c, key.c, gpm-xterm.c, util.c: check for AIX,
	_AIX and __aix__ macros.

	* main.c (do_nc): Now, we sync the profiles, but save the setup
	only if requested.  The net result is that now we save the hotlist
	automagically even if the setup is not saved/changed.  This from a
	couple of comments from Janne and Dugan on the list.

	* setup.c (save_setup): Save setup doesn't sync the profiles.

	* subshell.c (init_subshell): Adapted Janne's patch of shell =
	getenv ("SHELL") to new Dugan's code.  Let's hope Dugan will send
	me the ChangeLog entries for his last subshell code.

Thu Jan 12 14:00:29 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* main.c (index_by_name, select_by_index, parse_control_file),
	util.c (my_putenv, my_putenv_expand, prepare_environment): New
	functions for the control file support.

	* main.c (do_execute), main.h, util.c (my_system), util.h: Changes
	for the control file support.

	* main.c (execute, handle_args), main.h, subshell.c
	(init_subshell), util.c (my_system): The value of shell variable
	is now calculated only once in one place instead of dozens of
	times and places.

	* main.c (ITEMS, panel_event, move_left, move_right,
	copy_current_pathname, copy_other_pathname, copy_prog_name,
	copy_other_prog_name, copy_tagged, copy_other_tagged), user.c
	(expand_format): Fixed bugs and problems caused by addition the
	quick view mode.

	* main.c (handle_args): Reports if the TERM variable is
	unset. (main): The error messages are no longer wiped out from the
	screen by cons.saver.

	* mc.1 (Executing operating system commands): Documented the
	control file feature.

	* tree.c (tree_rescan_cmd): Someone had changed it to use the
	get_current_wd function and forgotted to test whether it works
	after such change. Now fixed.

	* util.c (load_file): Now more robust.

Wed Jan 11 18:36:59 1995  Miguel de Icaza  <miguel@sphinx>

	* widget.c (listbox_get_current): New function for retrieving the
	data from the listbox.

	(button_set_text): New function to change the label of a button.

	(listbox_add_item): Now we return the value of the strduped string.

	* find.c: Many changes and fixes, the find feature is not yet ready.

	* widget.c (input_callback): Enter gives the focus to the next
	widget. 

	(listbox_select_last): Selects the last entry in the listbox.

Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* Makefile.in (mc.html): New target which produces html version of
	the manual page.

	* boxes.c (display_callback, display_init), main.c (select_item,
	change_panel, action, panel_event, move_left, move_right,
	paint_info_panel, switch_to_info, change_view,
	copy_other_pathname, copy_other_prog_name, copy_other_tagged,
	do_nc), panel.h, screen.c (display_mini_info, paint_dir,
	paint_panel, init_panel), setup.c (load_setup), user.c
	(expand_format, test_condition): Preliminary changes to support
	quick view mode.

	* main.c (paint_quick_view_panel, dummy, quick_view_key,
	quick_view_cmd): New functions for preliminary support for quick
	view mode.

	* ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
	user.h: Now supports local shell_patterns settings.

	* user.c (check_patterns): New function to support local
	shell_patterns settings.

	* main.c (ITEMS, panel_event): Now works correctly with user
	formats like "half 2 ..." and "full 2 ...".

	* main.c (panel_event): Now works correctly user formats like
	"full ...".

	* main.c (paint_info_panel): Unsignicant bug fixes.

	* man2hlp.c: Now can produce HTML format output in addition to HLP
	format.

	* mc.1: Fixes so that man2hlp can produce correct HTML
	output. (Extension File Edit, Menu File Edit): Updated to mention
	local shell_patterns setting. (Menu File Edit): Mentions now
	combined default and addition conditions. Cleared out the
	explanation of the calculation order of conditions. (SEE ALSO):
	Corrected the URL.

	* menu.c (get_motion): Now you can drop menu with the down key
	like in the Norton Commander.

	* user.c (user_menu_cmd): Now supports combined addition and
	default conditions.

Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* Makefile.in (mc.html): New target which produces html version of
	the manual page.

	* boxes.c (display_callback, display_init), main.c (select_item,
	change_panel, action, panel_event, move_left, move_right,
	paint_info_panel, switch_to_info, change_view,
	copy_other_pathname, copy_other_prog_name, copy_other_tagged,
	do_nc), panel.h, screen.c (display_mini_info, paint_dir,
	paint_panel, init_panel), setup.c (load_setup), user.c
	(expand_format, test_condition): Preliminary changes to support
	quick view mode.

	* main.c (paint_quick_view_panel, dummy, quick_view_key,
	quick_view_cmd): New functions for preliminary support for quick
	view mode.

	* ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
	user.h: Now supports local shell_patterns settings.

	* user.c (check_patterns): New function to support local
	shell_patterns settings.

	* main.c (ITEMS, panel_event): Now works correctly with user
	formats like "half 2 ..." and "full 2 ...".

	* main.c (panel_event): Now works correctly user formats like
	"full ...".

	* main.c (paint_info_panel): Unsignicant bug fixes.

	* man2hlp.c: Now can produce HTML format output in addition to HLP
	format.

	* mc.1: Fixes so that man2hlp can produce correct HTML
	output. (Extension File Edit, Menu File Edit): Updated to mention
	local shell_patterns setting. (Menu File Edit): Mentions now
	combined default and addition conditions. Cleared out the
	explanation of the calculation order of conditions. (SEE ALSO):
	Corrected the URL.

	* menu.c (get_motion): Now you can drop menu with the down key
	like in the Norton Commander.

	* user.c (user_menu_cmd): Now supports combined addition and
	default conditions.

Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* Makefile.in (mc.html): New target which produces html version of
	the manual page.

	* boxes.c (display_callback, display_init), main.c (select_item,
	change_panel, action, panel_event, move_left, move_right,
	paint_info_panel, switch_to_info, change_view,
	copy_other_pathname, copy_other_prog_name, copy_other_tagged,
	do_nc), panel.h, screen.c (display_mini_info, paint_dir,
	paint_panel, init_panel), setup.c (load_setup), user.c
	(expand_format, test_condition): Preliminary changes to support
	quick view mode.

	* main.c (paint_quick_view_panel, dummy, quick_view_key,
	quick_view_cmd): New functions for preliminary support for quick
	view mode.

	* ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
	user.h: Now supports local shell_patterns settings.

	* user.c (check_patterns): New function to support local
	shell_patterns settings.

	* main.c (ITEMS, panel_event): Now works correctly with user
	formats like "half 2 ..." and "full 2 ...".

	* main.c (panel_event): Now works correctly user formats like
	"full ...".

	* main.c (paint_info_panel): Unsignicant bug fixes.

	* man2hlp.c: Now can produce HTML format output in addition to HLP
	format.

	* mc.1: Fixes so that man2hlp can produce correct HTML
	output. (Extension File Edit, Menu File Edit): Updated to mention
	local shell_patterns setting. (Menu File Edit): Mentions now
	combined default and addition conditions. Cleared out the
	explanation of the calculation order of conditions. (SEE ALSO):
	Corrected the URL.

	* menu.c (get_motion): Now you can drop menu with the down key
	like in the Norton Commander.

	* user.c (user_menu_cmd): Now supports combined addition and
	default conditions.

Tue Jan 10 15:58:24 1995  Miguel de Icaza  <miguel@sphinx>

	* configure.in: Now detection of the regular expression functions
	is more efficient.  We now detect properly the HP-UX stuff.

Mon Jan  9 15:39:58 1995  Miguel de Icaza  <miguel@sphinx>

	* widget.c (listbox_draw): If the listbox is empty, draw empty
	fields.

	* find.c: Continued work on the find command.

	* dlg.c (set_idle_proc, dlg_new): Support for calling the callback
	procedure on the idle time.

	* configure.in: Under HP-UX link with -lc and -lPW.

Mon Jan  9 15:39:58 1995  Thomas Pundt <pundtt@math.uni-muenster.de>

	* util.c (basename): compile it only if it's not available in the
	system. 

Mon Jan  9 16:50:51 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* *.c, *.h: Checked spelling of all comments with ispell.

	* ChangeLog, NEWS: Minor corrections.

	* tree.c (show_tree, tree_event): Rewrote the mouse support. Now
	it is based on the new static tree_shown variable.

Sun Jan  8 16:35:33 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* key.c, subshell.c: If being compiled under AIX, then include
	sys/select.h 

Sat Jan  7 18:56:55 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (maybe_cd, move_left, move_right): Used to navigate
	with the arrow keys, like the Lynx program.  Need to turn the
	navigate_with_arrows setting in the .mc.ini file.

	* find.c (do_find): Complete rewrote of the find command.

	* ext.c (exec_extension): If the users aborts an input_dialog,
	then return value is 0.  It's ok for the user to accept an empty
	string. 

	Give an initial value to the prompt variable.

Sun Jan  8 16:27:48 1995  Radek Doulik  <rodo@RoDo-Station>

	* main.c: toggle_adv_ch function to toggle advanced chmod/chown
	command, int adv_ch - bool variable

	* setup.c: added new option in .mc.ini file for advanced
	chmod/chown command

	* option.c: added new check button to switch beetween normal and
	advanced chmod/chown commands.

	* chown-advanced.c: new file for advanced chmod/chown command -
	note that this is only preview and now does nothing.

Sat Jan  7 18:51:10 1995  Radek Doulik  <rodo@RoDo-Station>

	* chown.h, chown.c (init_chown): One more bug fixed. Use
	single_set variable to decide, why use only two buttons.

Fri Jan  6 13:55:03 1995  Miguel de Icaza  <miguel@sphinx>

	* chmod.c (chmod_cmd): We have to destroy the complete dialog
	completely each time, since we keep running the dialog and it
	keeps pushing relevant data.  We may need to split the run_dlg
	stuff.

	* chown.c (chown_cmd): Same as chmod.c

	* dialog.c (push_refresh): Now the program should refresh the
	complete screen if the fast_refresh setting is set to 0, else it
	stands for the default behavior.

Thu Jan  5 11:36:34 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (sort_cmd): When changing sort orders, and you ask for
	unsorted, it has to reload the directory in order for the list to
	be unsorted.  A shame all the complexity needed.

	(copy_cmd): If there is an error during the copy process, the copy
	is aborted.

	* screen.c (repaint_file): Now it's able to trunc the field name
	taking care of justification.

	* main.c (ok_to_copy): Free the file name if it was allocated from
	get_full_name.

	* file.c (erase_dir): Don't allow removal of "." or ".." directories.

	* main.c (do_nc): Returns status of initialization, so we call
	endwin only if the program ran successfully.

Thu Jan  5 14:34:36 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* ChangeLog: Run through ispell and other small fixes.

	* file.c (move_file), view.c (load_view_file): Now file moving and
	compressed file viewing works also with filenames like "*(#&$%@}?>".
	The only disallowed characters are "\000", "/" and "'".

	* hotlist.c: No need to include chmod.h.

	* main.c (do_mask_ren_cmd): Query for confirmation has now two new
	choices: All and Cancel. Esc and F10 work now as expected.

	* tree.c (tree_move_to_child): Directory is rescanned only if it
	has no known children (as requested by Dugan).

	* win.c (set_label_text): If screen has too few columns leaves out
	those labels which don't fit. Avoids printing in bottomright
	corner to get rid of strange side-effects. (define_label,
	define_label_quit): Code clean-up.

Wed Jan  4 11:17:53 1995  Miguel de Icaza  <miguel@sphinx>

	* profile.c (profile_clean_section): Removes a section from the
	profile manager.

	* hotlist.c (save_hotlist, load_hotlist): Now the hotlist save and
	load functions load their information from the .mc.ini file
	instead of their own file.

	(done_hotlist): new shutdown function.  Clears all the memory used
	by the hotlist.

	* setup.c (load_setup): Moved the load_hotlist function here.

	(save_setup): Moved the save_hotlist function here.

	* profile.c (profile_init_iterator, profile_iterator_next):
	Iterator functions for the profile manager.

	* widget.c (listbox_draw): Use a different set of colors if the
	listbox is focused or not.

	(button_callback, button_new): Allow the user to specify a
	callback function for a button, in which case, we don't abort the
	execution of the dialog.

	(listbox_key): Report event as handled on both key up and key down.

	* hotlist.c (hotlist_callback): Moved the redraw code to the
	switch DLG_DRAW case.

	(init_hotlist): Changed to use the new color scheme.

Wed Jan  4 16:24:14 1995  Janne Kukonlehto  <jtklehto@stekt8>

	* Makefile.in: Added hotlist.c to SRCS, hotlist.h to HDRS and
	hotlist.o to OBJS.

	* chmod.c: SGI also needs the umode_t define.

	* hotlist.c: New file which implements directory hotlist
	feature. Most of its code is copied from chown.c or moved from
	main.c.

	* hotlist.h: New file.

	* main.c: Now includes hotlist.h. (add2hotlist,	load_hotlist,
	save_hotlist and add2hotlist_cmd): Moved to
	hotlist.c. (quick_chdir): Calls the new hotlist_cmd function
	instead of creating a listbox of its own. (CmdMenu): "Add to
	hotlist" removed from the Command menu. (ctl_x_map): Keyboard
	shortcut of add2hotlist_cmd removed.

	* ncurses.h: SGI is system-V, too.

Tue Jan  3 16:26:04 1995  Miguel de Icaza  <miguel@sphinx>

	* screen.c (paint_frame): Trunc the header size to the computed size.

	* wtools.c (run_listbox): Fixed memory leak.  Free the Listbox
	structure.  The MAD system is a great tool.  Don't develop without
	it. 

	* color.c: New color entries for dnormal, dfocus, dhotfocus and
	dhotnormal. 

	* boxes.c (init_box_colors), chown.c, chmod.c: Use new color
	scheme for dialog boxes.

	* util.c (regexp_match): Uses regcomp if available in that system
	(HP-UX and Linux).

Mon Jan  2 14:07:42 1995  Miguel de Icaza  <miguel@sphinx>

	* main.c (ren_cmd): If we detect an '*' or an '?' in the rename
	command, we invoke the mask rename command written by Janne. 

	(ok_to_copy_all): Now also let's the user abort with escape.

	(copy_cmd): Added support for aborting a copy.

	* file.c (copy_file_file): Changed exit address to ret3 when the
	dialog has been inserted.  This fixes another problem with pop
	events. 

Sun Jan  1 19:27:05 1995  Miguel de Icaza  <miguel@sphinx>

	* subshell.c (invoke_subshell): Now takes two extra setable
	parameters: new_dir and msg.  new_dir is used to return the new
	working dir if it changed and msg is used to return an informative
	message back to the calling routine.

	* screen.c (parse_display_format): Added handling for left and
	right justification.

	(repaint_file): Added support for justification modes.

Sat Dec 31 13:41:54 1994  Miguel de Icaza  <miguel@sphinx>

	* input.c (create_input): current_max_len must be set to the
	maximum of the field_length and the user provided initial text. 

	* menu.c (run_bar): Initialize abort variable.  

	* screen.c (init_panel): Assign user_format only if it doesn't
	have a value set, this should not happen. 

	* dialog.c (input_dialog): Frees the buffer if the input box was
	canceled. 

	* screen.c (repaint_file): On fields that are not the file name
	field "cut" the leftmost characters when limiting the string
	length. 

	(string_file_perm_octal): New mode: returns permissions mode in octal.

Fri Dec 30 14:07:56 1994  Miguel de Icaza  <miguel@sphinx>

	* subshell.c (pty_open_master, pty_open_slave): New functions to
	open the slave and master sides of a pty.  They work on both BSD
	and SystemV machines.

	* main.c (filter_cmd): Fix: use the correct regexp on the filter
	function.

	* screen.c (string_marked): new display function "mark", returns
	an asterisk if the file is marked or a space if it's not.

	* terminfo/linux.ti: When compiling also generate the console
	terminfo. 

	* util.c (string_perm): Changed position and character string for
	sticky directories (was [0] -> i now is [9] -> t).

	* profile.c (is_loaded): Bug fixing: return load status and the
	section separately.

	(GetSetProfileChar): Added a missing return this caused the long
	initialization files problem.

	* key.c (is_abort_char, is_quit_char): New functions, not yet
	used.  Should be used to test for abort/escape conditions.

	* setup.c (load_setup): Do the setup even if there is no init file.

	* screen.c (parse_display_format): Don't let the display format
	use more space than the available.  Not very nice fix.

	(init_panel): Set a default user format.

	* boxes.c (display_callback): If the user uses the 'u' key, now we
	set the focus to the user format input field.

	* file.c (copy_dir_dir): Added missing closedir.

	(recursive_erase): Added missing destroy_dialog this should fix
	the mouse missing mouse pop event.

Fri Dec 30 01:36:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* util.c (strip_ctrl_codes): New function: removes the control
	sequences from its argument string.

	* main.c: Made some local variables and	functions `static'.

	(do_nc, set_new_prompt): Call the new function `strip_ctrl_codes'
	to remove the control sequences from bash's prompt.

Fri Dec 30 14:08:33 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* cons.handler.c (handle_console): Checks that the cons.saver
	process is still running by sending cont signal everytime before
	communicating with it (as requested by Dugan). Added comments.

	* cons.saver.c: Code clean-up and comment adding. (tty_getsize):
	Simplified the code based on the fact that tty is console.

	* help.c (interactive_display), tree.c (tree): Doesn't seg-fault
	anymore if screen has less than 22 rows. Now the minimum limit for
	the screen size is the number of lines in File menu.

	* main.c (handle_args): Gives an error message instead of
	seg-faulting if the TERM variable is unset.

	* subshell.c (init_subshell): Now supports also tcsh and zsh
	shells in addition to bash. FIXME: The tcsh support leaves an
	extra fifo in the /tmp directory.

	* tree.c (show_tree): I hope it finally does the name truncation
	correctly. It should now work up to 32 levels of subdirectories.

Thu Dec 29 15:38:00 1994  Miguel de Icaza  <miguel@sphinx>

	* boxes.c (sort_box): Added nice Cancel button to the sort order
	box. 

	* widget.c (input_event): Added precary mouse support for input
	lines. 

	* input.c (update_input): Better cursor movement 
	(input_set_point): New function that allows the user to set the
	point. 

	* panel.h (PANEL_ISVIEW): Added missing call new view to
	PANEL_ISVIEW, this caused the problem of not reloading the user
	display. 

	* screen.c (panel_reload): Added a missing return after
	tree_rescan_cmd and paint_panel.  Tree views don't need all the
	extra code

	* util.c (get_current_wd): system independent get wd function.

	* find.c, main.c, screen.c, tree.c: replace ifdef code for calling
	getwd/getcwd for a call to a new function in util.c

	* screen.c (paint_dir): Paint directory only if the panel is not a
	tree or info view.

	* util.c (name_trunc): Truncate correctly when the field is odd. 

	* view.c (do_view): Scroll by half pages with mouse clicks instead
	of one line at a time.

	* xterm.ti: added a base xterm-base class for both xterm and xterm
	color.  xterm now adds support for the sgr and sgr0 capabilities.
	This fixes the display problems with ncurses when changing
	attributes. 

	We still need to make this work with the Linux console.

	* setup.c, main.c (panel_event): mouse_move_pages, new setting
	that let's the user specify which kind of movement should be done
	when clicking on the top or the bottom of the panels.

Thu Dec 29 03:08:01 1994  Dugan O. Porter  (dugan@b011.eunet.es)

        * util.c (my_system): Restore the signal mask after finishing.

        * main.c (main): Simplified the print_last_wd handling slightly.

Wed Dec 28 14:00:05 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_nc): Set the correct prompt even when we have
	subshell support and have it disabled.

	* screen.c (repaint_file): Small bug fix: use name trunc :-).

	* input.c (update_input): Display control chars as a dot.

Wed Dec 28 13:47:13 1994  Dugan O. Porter  (dugan@b011.eunet.es)

        * main.c (menu_edit_cmd): Fixed incorrect `count' argument to
	`query_dialog' (was 3, now 2).  This was corrupting the screen.

        * util.c (msglen): Fixed a bug which was causing all the message
        boxes to be one column too wide, by adding an `else' to the loop.

Tue Dec 27 20:48:13 1994  Dugan O. Porter  (dugan@b011.eunet.es)

        * subshell.c (invoke_subshell): restart the subshell if it is
        killed by a signal while performing the user's command.

        (feed_subshell): don't exit if we get an I/O error reading from
        the pseudoterminal; this error sometimes occurs just after the
        shell has died, before we get a chance to restart it.

        * main.c (do_execute, view_other_cmd): don't restart the subshell
        with `init_subshell' if `invoke_subshell' fails; this is now done
        in subshell.c instead.

Mon Dec 26 12:47:40 1994  Miguel de Icaza  <miguel@sphinx>

	* setup.c (panel_save, panel_load): Load and save the user defined
	format. 

	* main.c: got rid of the long_cmd and brief_cmd.

	Changed the menus to use the new display_cmd for configuring the
	display instead of the old menuing code. 

	* screen.c (set_panel_format): New function: used to change the
	format display of a panel.

	* user.c, main.c, setup.c, screen.c, panel.h: Got rid of the
	obsolete VIEW_DISABLED constant and all its uses.

	* screen.c: Added new display type: space.

	* boxes.c: New file.  Contains misc dialog boxes to be used by the
	main program.

	* widget.c (input_callback): Handles the ESC and F10 keys, as well
	as the FOCUS and UNFOCUS commands.

	* chown.c (init_chown), option.c (init_configure), chmod.c
        (init_chmod): Use the centerwin routine.

	* win.h (centerwin): New wonderful macro to get centered windows.

Sun Dec 25 15:26:05 1994  Miguel de Icaza  <miguel@sphinx>

	* auto.c, chmod.c, chown.c, dir.c, main.c, mouse.c, gpm-xterm.c,
	option.c, subshell.c, util.c, view.c: Fix to the header files to
	include unistd.h only if available.  

	It seems that sys/types.h is present even if unistd.h is not.
	Check this in all the ported architectures.

Sat Dec 24 18:07:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)

        * subshell.c: Numerous changes to implement capturing of bash's
        prompt for use on the MC command line.

Fri Dec 23 01:34:48 1994  Dugan O. Porter  (dugan@b011.eunet.es)

        * main.c: Added hotkey entries on the File menu for Link, Symlink
        and Mask Rename, and on the Command menu for "Add to hotlist".

Fri Dec 23 19:55:09 1994  Miguel de Icaza  <miguel@sphinx>

	* screen.c (parse_display_format, parse_panel_size): New functions
	to parse the user provided screen format.

Thu Dec 22 16:25:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c (init_subshell): Removed the MC_PROMPT_COMMAND stuff,
	to be replaced by a cleaner, faster and better method of switching
	between MC and bash.

	* main.c (view_other_cmd): Made some changes to add support for
	the new way of switching to the shell and back.

	(execute): Changed similarly.  Now it refuses to run a command if
	the shell is already running something else.

Thu Dec 22 12:31:56 1994  Miguel de Icaza  <miguel@sphinx>

	* cons.saver.c (main): Changed the call to setpgrp to setsid, this
	fixes the bug that killed both the child program and the
	cons.saver program.

	* util.c (my_system): Add handling for SIGCHLD signal.

Wed Dec 21 13:21:37 1994  Miguel de Icaza  <miguel@sphinx>

	* option.c (configure_box): Small bug fix: now all the options are
	checked. 

	* main.c (do_nc): Small change to fix the program seg faulting on
	screens that are too small.

	* util.c (name_trunc): Expanded the buffer size.

	* main.c (do_search): Now we keep track of the search string in
	the tree view.

	* tree.c (search_tree): Now the function returns the status of the
	search so that the do_search routine tracks the current search
	string. 

Thu Dec 22 00:21:46 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* mc.bashrc: New file: a suggested "~/.mc.bashrc" for users.
	It is worth thinking about whether a global version of this
	file ($libdir/mc.bashrc) should be read also, or instead.

	* subshell.c (init_subshell): Set up an environment variable
	`MC_PROMPT_COMMAND', to store the value of `PROMPT_COMMAND' while
	the latter is not being used.

	* main.c (view_other_cmd): Modified so that, if the subshell is
	enabled, C-o will not only let us view the shell output but switch
	control to the shell altogether (using "unset PROMPT_COMMAND").

Wed Dec 21 11:36:10 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c: Three small changes to help it compile under SunOS:
	included errno.h, removed the sig_atomic_t type, and changed the
	initialisation of the SIGCHLD signal action.

	(init_subshell): MC now uses an alternative ".mc.inputrc" if it
	exists, so that it is possible to have special `readline' options
	for MC's bash subshell.

	(invoke_subshell): Finally fixed the emacs corruption bug!  It was
	embarrassingly trivial: the tty needed to have OPOST mode disabled.

Mon Dec 19 15:02:07 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (menu_edit_cmd): There are no longer local menus.
	(init_panels): Free the other_dir variable only if it has been
	allocated. 

	* util.c (my_statfs): Better statfs support.  We will only do the
	statfs call on systems we know how to handle.

Mon Dec 19 16:52:06 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c: Sundry small changes.

	(feed_subshell): Changed return type to void.

	(invoke_subshell): Fixed CWD handling: now bash changes to MC's
	working directory, if necessary, before running the user command.

Sun Dec 18 11:10:01 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* main.c (view_cmd): Removed superfluous variable `command'.

	* util.c: Removed all the (now unnecessary) references to the
	subshell stuff.

	* subshell.h: Added a declaration for the new global variable
	`bash_prompt', which always contains bash's latest prompt when
	the functions `init_subshell' and `invoke_subshell' return.

	* main.c (do_execute): Fixed up the call to `invoke_subshell'.
	(action): Removed superfluous variable `newdir'.

	* main.h: Removed extern declaration of use_subshell because it is
	already declared in subshell.h.

Sat Dec 17 16:06:51 1994  Miguel de Icaza  <miguel@sphinx>

	* setup.c (done_setup): New function that shutdowns the setup module.

	* terms.c: do_enter_ca_mode now enters putp's the enter_ca_mode to
	the screen.  Moved from main to avoid name space pollution, this
	should make the A/UX port work.

	* util.c: statfs structure definition moved from main.

	* main.c: Load correctly the directory structure. Moved the stat
	definition structures to util.c

	* mouse.c (mouse_log): New function used to debug the mouse event
	handling. 

	* mouse.h: New macros to debug the event/frame pushing popping
	mechanism. 

	* screen.c (init_panel): Sets the information panel correctly and
	load the stat information before displaying them. 

	(display_mini_info): Clean properly the display area when there
	are tagged files.

	* configure.in: Added check for statfs function.

	* main.c (do_nc): Shutdown properly the setup managing code.

Fri Dec 16 16:53:05 1994  Miguel de Icaza  <miguel@sphinx>

	* dlg.c (destroy_dlg): Fixed memory leak in the dialog manager.

Fri Dec 16 15:36:58 1994  Jon Stevens <root@dolphin.csudh.edu>

	* Ported to A/UX.  Added ifdefs for A/UX in some of the files.
	Detect A/UX when configuring.

Fri Dec 16 15:36:58 1994  Miguel de Icaza  <miguel@sphinx>

	* dir.c, find.c: Use the proper defines to get the dirent file
	(change DIRENT -> HAVE_DIRENT_H and the like.

	* main.c (mask_ren_cmd): Fixed the rename mask command finally.

Fri Dec 16 13:46:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* main.c (main): Moved the `print_last_wd'-handling code to just
	before the call to init_subshell, to make "mc -P" work again.

	* subshell.c (sigchld_handler): Sets `quit' to the special value
	BASH_EXIT if the user has typed "exit" or "logout" in bash.

	* main.c (main, do_nc, enter): Made certain parts of the shutdown
	code conditional on having quit the program from bash, rather than
	by using F10, to make MC exit cleanly in this case.  (Done using
	the BASH_EXIT constant described above.)

	* subshell.c (feed_subshell): If you typed a command, pressed
	Enter and hit some keys instantly afterwards, they would corrupt
	the command.  Fixed this by making `feed_subshell' not read from
	the keyboard if called with the QUIETLY option.

Thu Dec 15 15:42:29 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_execute): Was execute.  Now, allow for 2 classes of
	program execution: normal programs and commander programs.

	(load_hotlist): Freed hotlist loaded data.

	(do_search): Fixed bug: if we didn't find the file name, continue;

	(mask_ren_cmd): Compute the correct size for the destination
	string (sprintf).

	* util.c (my_system): Allow execution of programs without the
	shell (for the editor and view commands).

Thu Dec 15 13:44:58 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c (sigchld_handler): New function and changes to allow
	us to react appropriately if the subshell is suspended or dies.

	(feed_subshell): This now takes an argument `how', which can be
	either QUIETLY or VISIBLY, to control whether the subshell's
	output goes to the screen.

Wed Dec 14 15:20:01 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_search): Don't add to the search string if we can't
	find the current string.

	* screen.c (display_mini_info): Clean the win_file window before
	painting the %s bytes in %d files message.

	* main.c (view_other_cmd): Put the cursor at the right place after
	viewing the alternate screen.

	* chown.h, chown.c (chown_cmd): Changed return type from int to void.

	* chmod.h, chmod.c (chmod_cmd): Changed return type from int to
        void.

Wed Dec 14 13:18:19 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* Most source files: Trivial fixes to remove compiler warnings.

Tue Dec 13 18:48:20 1994  Dugan O. Porter  (dugan@b011.eunet.es)

	* util.c (my_system): This function was temporarily blocking
	SIGCHLD.  I think this cannot have any effect (someone please
	correct me if I'm wrong), since MC defines no handler for SIGCHLD,
	and this signal is ignored by default.  So I removed the block,
	because subshell.c needs to do its own SIGCHLD handling.

Mon Dec 12 22:28:23 1994  Dugan Porter <dugan@b011.eunet.es>

	* main.c: Some spelling corrections.

	(execute): Only load the user shell once.  Changes for working
	with the subshell stuff.

	* subshell.c, subshell.h: New files: used to implement the
	concurrent shell running with the Commander.

Mon Dec 12 22:10:54 1994  Massimo Fontanelli <MC8737@mclink.it>

	* key.c, mem.h, tree.c: changes to allow compilation under AIX.

Fri Dec  9 11:53:48 1994  Miguel de Icaza  <miguel@sphinx>

	* wtools.c (query_dialog_new): Moved function from dlg.c

	* wtools.c, wtools.h: renamed from listbox.c and listbox.h.  They
	now will contain utility functions based on the dialog manager.

	* help.c (interactive_display): Added support for going back on
	the help history with the mouse.

	* dlg.c (dlg_new): Correct the order in which the events are
	pushed.  This fixes a bug with out of dialog events being sent to
	previous mouse handlers.
	(destroy_dlg): Added extra pop_event.

Thu Dec  8 20:08:55 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_nc): Redisplays the mini info when we have aborted a
	search. 

Fri Dec  9 16:29:33 1994  Radek Doulik  <rodo@RoDo-Station>

	* chmod.c: bug fix - bad call of chmod_init

	* mc.1: chmod command documentation wrote.

Wed Dec  7 21:40:04 1994  Radek Doulik  <rodo@RoDo-Station>

	* chown.c: continue working on this stuff, now we have first
	working version - I have found a bug in chmod, try to catch this bug 

Wed Dec  7 20:43:17 1994  Miguel de Icaza  <miguel@sphinx>

	* widget.c (check_event, check_callback): Added mouse support to
	checkboxes. 
	(radio_event, radio_callback): Added mouse support to radio buttons.

Wed Dec  7 20:23:52 1994  Massimo Fontanelli <MC8737@mclink.it>

	* find.c: Some changes to use static arrays instead of dynamically
	allocated arrays.  We will use this code while we fix the find
	command. 

	* mem.h: On AIX, use rindex.

	* gpm-xterm.c, key.c: On AIX, include sys/select.h

Wed Dec  7 20:20:27 1994  Dugan Porter <dugan@b011.eunet.es>

	* tree.c: Made internal functions static.
	
	(tree_append_entry): New function, which is just like
	tree_add_entry except that the entry always goes onto the end of
	the list. 

	 I left out the initial consistency check for tree_last->next
	 being NULL; there seem to be no bugs left in tree.c so I hope
	 it's not necessary (touch wood)!

	 I left out the final check that the parent dir is in the list,
	 because I assume that a directory is never saved in .mc.tree
	 without its parent being saved also.

	 Removed all references to the "dotdir" variable, which doesn't
	 seem to be used for anything.

	 I changed abort() so it doesn't take an argument

	 I made a few functions static that aren't called by any other
	 source files, and don't seem likely to be in the future (e.g.
	 back_ptr), to reduce namespace pollution.  (In fact, the decls
	 for these functions could be left out of tree.h as well...)

Mon Dec  5 11:24:31 1994  Miguel de Icaza  <miguel@sphinx>

	* user.c (user_menu_cmd): Don't use the local directory menu file.

	* util.c (my_statfs): Moved the blocks2kilos and my_statfs from main.

Sun Dec  4 17:11:24 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (execute): Cosmetic change: don't use a space between
	prompt and command.

	* widget.c (listbox_draw): Now the cursor tracks the selection on
	listbox widgets.

	* main.c (execute): Output the prompt and the command to be executed.

	* input.c (forward_word): Allow skipping over punctuation chars.
	
	* mc.1: updated documentation on key bindings.

	* user.c (user_menu_cmd): Get rid of the old menuing code.

	* chmod.c (chmod_cmd): Fixed a couple of function spelling errors
        :-).

Sun Dec  4 10:28:46 1994  Radek Doulik  <rodo@RoDo-Station>

	* chmod.h: next_file, stat_file make available for chown.c

	* chmod.c: not alloc memory for sf_stat - use local variable staying
	on the stack make some functions static.

Sat Dec  3 16:29:57 1994  Radek Doulik  <rodo@RoDo-Station>

	* new files: chown.h, chown.c - New ChOwn command for changing
	owner and group of file. This use new Listbox widget.

	* chmod.c: rewritten, implement new features supposed by Miguel,
	these are [ Set marked ] [ Clear marked ], 
        when only one file to proceed - only [ Set ] and [ Cancel ] displayed

Sun Dec  4 16:29:22 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_nc): The prompt is set according to the EUID.
	(ext_cmd, menu_edit_cmd): Use the EUID instead of the UID.

Sun Dec  4 16:20:21 1994  Thomas Pundt <pundtt@math.uni-muenster.de>

	* win.c (push_fkeys, pop_fkeys): push null mouse events so that we
	don't get the previous behavior from the mouse events when
	entering/leaving a new mode (This fixes this bug: View file, click
	on F9, you get the pull down menu from the inside of the viewer).

Fri Dec  2 13:39:34 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* Makefile.in: Added cons.handler.c to SRCS and cons.handler.o to
	OBJS.

	* TODO: Removed obsolete entries: regular expressions in extension
	file are now implemented and the cons.saver now supports Linux
	1.1.67. Fixed a typo.

	* cons.handler.c: A new file which includes the handle_console
	function from main.c. This should make it easier to include
	cons.saver functionality to other programs.

	* cons.saver.c: A title line change: Not MC specific anymore.

	* cons.saver.h: Added prototypes for the handle_console function
	and the console_flag variable in the cons.handler.c.

	* ext.c (regex_command): Now supports regular expressions in the
	extension file.

	* input.c (assign_text): Now global function instead of static
	(required by the history_cmd function in main.c).

	* main.c: Includes dlg.h, widget.h and listbox.h. New struct
	hotlist. The handle_console function moved to the new
	cons.handler.c file.

	(move_left, move_right): If the tree view is active the left and
	right move to parent and child directory even in the old
	navigation mode.

	(history_cmd): A new function which implements command history popup.

	(add2hotlist, load_hotlist, save_hotlist): New functions for the
	directory hotlist feature.

	(add2hotlist_cmd): A new function which adds current directory to
	the directory hotlist.

	(quick_chdir): Now shows a directory hotlist popup instead of
	builtin choices.

	(CmdMenu): Added "command History", "Add to hotlist" and
	"Directory hotlist".

	(copy_prog_name, copy_other_prog_name, copy_other_pathname):
	Better support for tree view mode.

	(do_nc): Now loads and saves the directory hotlist.

	* mc.1 (Directory Panels): Updated meaning of
	control-backslash. (Command Menu): Documented "Command history",
	"Add to hotlist" and "Directory hotlist". (Extension File Edit):
	Documented support for regular expressions. (Menu File Edit):
	Cleared up the explanation for <pattern> in the Default conditions
	part. (FILES): Added $HOME/.mc.tree and $HOME/.mc.hotlist.

	* setup.c: Now includes tree.h. (options): Added option
	tree_navigation_flag.

	* tree.c (move_to_child): Now rescans directory before moving to
	its child.

Thu Dec  1 15:49:39 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (ext_cmd): If running as root, let the user edit the
	system wide extension file or the user file.

	* input.c: Support for M-C-Backspace

	* key.c (mi_getch): Support for M-C-h and M-Backspace

	* listbox.c (create_listbox_window): New argument: help context.

	* user.c (user_menu_cmd): Set the correct help context.

Thu Dec  1 15:49:39 1994  Massimo Fontanelli <MC8737@mclink.it>

	* chmod.c: _AIX also needs the umode_t define.

Thu Dec  1 15:30:09 1994  Dugan O. Porter  <dugan@b011.eunet.es>

	* dialog.c (create_dialog): Center correctly the dialog titles.

	* main.c (copy_cmd): Removed extra spaces from strings.

Wed Nov 30 11:21:34 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* cons.saver.c: The actual console saving and restoring code put
	to their own functions save_console and restore_console. Now uses
	ioctl TIOCLINUX subfunctions 8 and 9 if Linux version is >=
	1.1.67. Added some comments and more debugging output.

	* main.c (paint_info_panel): Uses the new is_idle function to skip
	painting if there is no time.

	* util.c, util.h: Added a new is_idle function. Most of its code
	is originates from view.c (do_view).

	* view.c: No need to include <sys/time.h> anymore. (goto_line):
	Now shows the current line number when asking the new line
	number. (do_view): Now uses the new is_idle function instead of
	the old select trickery. The automatic adjusting of the dirt_limit
	variable in pace of incoming keypresses is more precise now.

	* chmod.c: The umode_t type is not defined on Solaris.

Tue Nov 29 15:54:13 1994  Miguel de Icaza  <miguel@sphinx>

	* color.c (init_colors): Start colors only if the user requested
	so (if use_colors instead of if hascolors).

	* user.c (user_menu_cmd): Removed test that didn't let us use more
	that LINES-6 menu entries.

	* terminfo/xterm.ti: The reset option on xterm_color uses the
	cancel escape sequence instead of setting an arbitrary color.

	* dlg.c (run_dlg): Many changes so that all dialog callback
	functions get the extra Dlg_head * parameter.

	* dialog.c (push_refresh, do_refresh): Refresh functions now can
	take an extra parameter that is passed when a refresh is required.
	Changed in all the refresh functions in the program.

	* dlg.c (dialog_handle_key): Added support for repainting the
	screen.

	(dlg_broadcast_msg): New function to send a message to all the widgets.

	* option.c (configure_callback): New: painting the widget is done
	in the dialog callback (Message DLG_DRAW).

	* dlg.c (dialog_handle_key), dlg.h: Added support for context
        sensitive help.

Tue Nov 29 14:37:49 1994  Radek Doulik <rodo@earn.cvut.cz>

	* chmod.c: updated, attribute setting/clearing has changed.  No
	ChangeLog entries yet.

Tue Nov 29 14:17:40 1994  Miguel de Icaza  <miguel@sphinx>

	* user.c (user_menu_cmd): Fix: select the default entry

	* main.c (main): Fix: other dir argument is now used instead of the
	value from the init file.

Tue Nov 29 13:47:52 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* mc.1: Updated: Save Setup is now under the Options menu, not the
	Commands menu. The old text of Options section moved to new
	Configuration section. The Undocumented Features section renamed
	to Special Settings section. All settings which can't be changed
	from the menus moved to the Special Settings section.

	* ChangeLog, INSTALL, INSTALL.FAST, NEWS, README, TODO, mc.1: Ran
	through ispell and corrected spelling errors (there was no errors
	in the INSTALL.FAST file). 

	* cons.saver.c (main): Now correctly loses the control terminal
	(by calling setpgrp). Added some comments.

	* screen.c (display_mini_info): No longer reports <readlink
	failed> if current directory is different than panel->cwd.

Mon Nov 28 13:45:48 1994  Miguel de Icaza  <miguel@sphinx>

	* listbox.c (run_listbox): Do proper shutdown of window.

	* gc.c: deleted.

	* view.c (load_view_file): Use free instead of gc_free.

	* user.c (user_menu_cmd): Use free instead of gc_free.

	* tree.c (do_tree_check, load_tree, save_tree): Use free instead of gc_free.

	* setup.c (load_setup): don't uses free anymore.

	* main.c (action, enter, view_cmd, do_edit, ext_cmd,
        menu_edit_cmd): don't use gc_free, gc_free_now.

	* util.c (copy_strings): Don't use the gc_* functions any more,
	uses standard malloc.

	* file.c (recursive_erase, copy_dir_dir, move_file, move_dir_dir,
	erase_dir): don't use gc_free, gc_free_now.

	* configure.in (LDFLAGS): Fix: Do not set DEFS manually, use
	AC_DEFINE, this fixes the problem with selecting group of files in
	Solaris.

	* widget.c (listbox_callback): Return the handled/unhandled return
	code on WIDGET_KEY so we can finish the dialog.

	(listbox_select_entry): Return after finding the entry; advance
	the top selection only if the selected item is outside the visual
        area.

Sun Nov 27 16:55:13 1994  Miguel de Icaza  <miguel@sphinx>

	* widget.c (listbox_callback, listbox_key, listbox_cdiff,
	listbox_append_item, listbox_add_item): Implemented the listbox
	widget.

	* listbox.c (create_listbox_window, run_listbox): Creates a
	listbox window, this function uses the dialog manager and the
	listbox widget.  run_listbox is used to run the simple listbox
	objects. 

	* user.c (user_menu_cmd): Now the menu uses copy_strings instead
	of the static buffer.

	(user_menu_cmd): Use the new listbox manager instead of the old
	menuing code. 

	* option.c: Made local variables static.

Fri Nov 25 12:16:05 1994  Miguel de Icaza  <miguel@sphinx>

	* util.c (find_mountpoint, find_device): Moved from main.

	* ncurses.h (USE_BSD_CURSES): Changes to let the program compile
	without ncurses, this is not working yet.

	* configure.in (XCURSES): Allow for configuration of the program
	with bsd curses instead of ncurses, not very nice.

	* xcurses.c (x_getch): New function: used to implement the missing
	ungetch in the bsd curses.

	* key.c, main.c: use xgetch instead of getch.  with ncurses xgetch
	is defined as getch, with bsd curses xgetch is defined as x_getch.

	* main.c (my_statfs): Don't set the volname attribute, it no
	longer exists.

Fri Nov 25 16:14:50 1994  Radek Doulik  <rodo@RoDo-Station>

	* dlg.c (dlg_one_up): remove send msg WIDGET_DRAW, I don't know
	why it was here, but it causes check buttons doesn't work properly

	* chmod.c: [Mark all] now works with no file selected 

Thu Nov 24 13:18:42 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (view_cmd): If you have tagged files, and press F3 and
	have the new confirm_view_dir variable set, then you are asked for
	confirmation. 

Thu Nov 24 13:39:34 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* main.c (change_labels): F4 is now "Navig" in the tree mode. F5
	and F6 are no longer cleared.

	(move_left, move_right): Now support the new tree navigation mode.

	(key_f4_cmd): A new function. Toggles the navigation mode in the
	tree view mode and invokes the edit command otherwise. 

	(copy_cmd, ren_cmd): Now work also in the tree view mode.

	(init_labels): F4 corresponds to key_f4_cmd, not to edit_cmd.

	* main.h: Added declaration of the cmd_buf variable.

	* mc.1 (Directory Tree): Documented the new features: Navig, Copy
	and RenMov.

	* tree.c: A new global variable: tree_navigation_flag, which is
	used for toggling between the new navigation mode and the old
	navigation mode.

	(whereis): Now returns NULL if not found, not the closest
	match. Added some speed enhancements which are currently commented
	out because they don't work yet.

	(tree_add_entry): Added some speed enhancements which are
	currently commented out because they don't work yet. After adding
	an entry now tries to add the parent directory of the entry, too.

	(tree_remove_entry, start_tree_check, tree_chdir): Changes related
	to the new behaviour of the whereis function.

	(show_tree, tree_move_backward, tree_move_forward): Now support
	the new navigation mode.

	(tree_move_to_child, tree_move_to_parent): New functions.

	(tree_event): Mouse doesn't work in the new navigation mode yet.

	(toggle_nav_mode, tree_copy, copy_cmd, tree_move, move_cmd): New
	functions.

	(win_init): The F4, F5 and F6 keys work now.

	(tree): The left arrow moves to the parent directory and the right
	arrow moves to the child directory.

	* tree.h: Added tree_copy, tree_move, tree_move_to_parent,
	tree_move_to_child and tree_navigation_flag.

Wed Nov 23 12:24:11 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (suspend_cmd): After coming back from suspend, redraw the
	screen.
	(do_nc): Understands the LINES variable.

Wed Nov 23 14:51:16 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* dlg.c: "#include <stdarg.h>" was still missing.

	* main.c (find_mountpoint, find_device): New
	functions. (my_statfs): Now uses the find_mountpoint and
	find_device functions. Now works to some degree also on machines
	which don't have statfs.

	(do_cd): Changed the condition under which the my_statfs function
	is called.

	(switch_to_info): The my_statfs function is now called always.

	(paint_info_panel): Some reorganization and changes.

	(do_search): The search can wrap now.

	(view_cmd): If trying to view a directory, now changes to the
	directory. Very handy if there is something on the command line and
	the enter key can't therefore be used.

	(delete_cmd): The confirm_delete option works now also in the tree
	view mode.

	(quick_chdir): Should now work in tree view mode. Not tested!

	* tree.c: Now includes the main.h file. (show_tree): Long
	directory names are now truncated. (search_tree): The search can
	wrap now. 

	(rmdir_cmd): The confirm_delete option works now. Added some
	chdir-tricks.

Tue Nov 22 15:21:59 1994  Miguel de Icaza  <miguel@sphinx>

	* auto.c (do_exec_mount): Little bug fix.

	* dlg.c (query_dialog_new): Changed: use stdarg.h instead of
	varargs.h, va_start takes two parameters.

	* widget.c (button_callback, button_event (new)): Mouse support
	for button widgets.

	* dlg.c (dlg_one_up): New function: use by the widgets to select
	themselves before sending a message to themselves, since they use
	the h->current value to determine exactly who they are.  Must
	change this so that Dlg_Head is never sent to a Widget, now we
	have the parent field that can be used to refer to the owner of
	the dialogs.
	(add_widget): Now, each widget knows the pointer to his parent.

	* main.c (do_nc): Ok, now slow terminals are those that run under
	9600 bauds.

Tue Nov 22 15:40:41 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* dlg.c: Added missing "#include <varargs.h>". (query_dialog_new):
	The va_start macro only takes one parameter.

	* main.c (blocks2kilos): A new function. (my_statfs): The fs_stats
	variable is now static. The avail and total fields are now in
	kilobytes instead of bytes to avoid overflow. (paint_info_panel):
	The file name and the file system name are now passed through
	the name_trunc function. Sizes are passed through the
	wprint_bytesize function.

	* tree.c (tree_remove_entry, start_tree_check, do_tree_check,
	end_tree_check): The subdirectory check is correct now. For
	example, no longer thinks that /devices is a subdirectory of /dev.

	(show_tree): No longer segfaults when calculating the topsublevel
	variable if the tree is empty.

	(tree_forget_cmd): The old code replaced by a call to the
	tree_remove_entry function.

	* win.c (wprint_bytesize): A new function for printing file sizes
	etc.

	* win.h: Added wprint_bytesize.

Mon Nov 21 17:01:40 1994  Miguel de Icaza  <miguel@sphinx>

	* option.c: Added new options 8bit clean and automount to the
	option configuration dialog

	* chmod.c (chmod_file): Small bug fix, init the c_file variable.

	* main.c (do_cd): Added missing initialization of dirs_marked.
	(unmark_file): Added missing cleaning of dirs_marked.

	* dialog.c (input_dialog): Fixed problem with lines bigger than
	the initial string.

	* util.c (my_system): If user doesn't have a default shell, run
	the shell specified in the SHELL environment variable.

	* main.c (execute): Added missing endpwend.

Mon Nov 21 10:59:55 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* file.c (recursive_erase): fixed bug, didn't call closedir.

	* main.c (reverse_selection): New function.

Fri Nov 18 11:43:01 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (update_panels, repaint_screen, swap_cmd): Correct order
        of redraw: First update the other_panel and then the current_panel.

Sat Nov 19 13:12:39 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* INSTALL: Removed documentation for the --with-screen-restore
	option. Documented the 'make install.saver' command.

	* Makefile.in: Removed the prog_mode variable.

	* Configure.in: Removed the --with-screen-restore option as
	obsolete.

	* cons.saver.c (detect_console): Oops, I was checking the st_dev
	field instead of the st_rdev field. No wonder it didn't work on
	others' machines. (main): Some changes to help debugging.

	* input.c (destroy_input): Now also destroys the history.

	* mad.c (mad_alloc, mad_realloc): Now corrects the
	alignment. (mad_finalize): Outputs the memory leaks.

	* main.c (my_statfs, select_item, do_cd, paint_info_panel,
	switch_to_info): Now there is some information in the info panel.

	(handle_console): The standard error of the child is redirected to
	/dev/null.

	(done_panels, done_menu, do_nc): Clean up memory leaks.

	(action): Don't free NULL pointer.

	* mouse.c (init_mouse): Removed an extra push_frame.

	* profile.c (free_keys, free_sections, free_profile,
	free_profiles): Clean up memory leaks.

	* profile.h: Added free_profiles.

	* tree.c: Removed the base_dir variable as
	unnecessary. (destroy_tree): Cleans up memory leaks.

	* tree.h: Added destroy_tree.

	* ext.c (exec_extension), user.c (execute_menu_command): Oh no, I
	was using the dreadful goto command. Am I doomed now?

	* view.c (goto_line): Small fixes.

Sat Nov 19 20:10:08 1994  Radek Doulik  <rodo@RoDo-Station>

	* chmod.c (chmod_callback): fix the problem with 'M' key -
	replaced with 'T' key

	* widget.c: fix in hotkey code for unify 'LwrCase'='UpCase'

	* dlg.h: added DIR_FORWARD, DIR_BACKWARD - for dialog directions,

	* dlg.c: allow change direction of circling the widget buffer
	in order as they was inserted or reversed order (default)

	(std_callback)  use it as default callback does nothing,	
	
	(query_dlg_new) prepared to replace query_dlg function with this new
	one using new dialog manager (after adding mouse support)

Thu Nov 17 15:23:24 1994  Miguel de Icaza  <miguel@sphinx>

	* color.c (configure_colors), setup.c (load_setup): New colors per
	terminal 

Thu Nov 17 15:01:40 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* tree.c (do_tree_check): Fixed bug.

Thu Nov 17 17:27:00 1994  Radek Doulik  <rodo@RoDo-Station>

	* widget.c widget.h: add hot key support to button 
        and check button, change in call button_new, check_new

	* dlg.c dlg.h: add dialog custom colors, support hot keys
	new WIDGET_HOTKEY message, change in call dlg_new

	* option.c chmod.c: updated to use custom colors and hot keys

Thu Nov 17 13:18:28 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* Makefile.in: Added mad.c to SRCS. Added mad.h to HDRS. Added
	mad.o to OBJS.

	* auto.c: Changed the title.

	* All the *.c files but the cons.saver.c and man2hlp.c file: Now
	include the mad.h file.

	* mad.c, mad.h: New files which implement the Memory Allocation
	Debugging system.

	* main.c (main): Now calls the mad_finalize function as the last
	thing before exit.

	* mc.1 (Menu File Edit): Now documents the 't' type. (Macro
	Substitution): Now documents the %u and %U macros. (AUTHORS):
	Fixed a small typing mistake.

	* mc.menu: Documented the 't' type and the %t, %T, %u and %U
        macros.

	* tree.c: (back_ptr, forw_ptr, show_tree): Now work better if the
	selected_ptr variable happens to be NULL (it is NULL only if
	the whole tree deleted with the 'forget' or 'delete' command).

	* user.c (expand_format): Now supports the %u and %U
	macros. (test_type): Now supports the 't' type.

	* util.c (xmalloc), util.h (xmalloc): The xmalloc function is
        compiled only if the MAD system is not used.

	* view.c (goto_line): A new function to go to the specified
	line. (init_view): Binds the goto_line function to the f5 key.

Wed Nov 16 14:47:59 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* dir.c (set_zero_dir): When assigning to the fname field, use
	strdup instead of a static constant.

Wed Nov 16 09:52:36 1994  Miguel de Icaza  <miguel@sphinx>

	* util.c (tilde_expand): Doesn't use gc_alloc anymore.

	* dialog.c (input_expand_dialog): Adapted to use the new
	tilde_expand without using the gc.

	* find.c (find_dialog): Remember the last searched expression.

Tue Nov 15 15:52:28 1994  Fred Leeflang <fredl@nebula.ow.org>

	* main.c: copying multiple files to an unexisting dest will now treat
	dest as a directory, create it for you and copy the files/dirs
	there. copying dirs/files to an unexisting dir now actually works.

Tue Nov 15 11:40:42 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* ext.c (exec_extension), user.c (execute_menu_command): Now
	support the %{...} macro.

	* input.h: Changed the definition of the XCTRL macro.

	* main.c (do_search, start_search, do_nc): Searches start from the
	current point, not from the beginning. Pressing C-s again searches
	the next match.

	(mask_ren_cmd): A new function which implements the mask rename.

	(compare_dir, compare_dirs): New functions which implement the
	Compare Directories command.

	(quick_chdir): A new function which implements the changing of
	the directory to the home or the root on the C-\ press.

	* mc.1 (Directory Panels): Documented the C-\ key. Mentioned that
	C-s can be used to search again. (File Menu): Documented the Mask
	Rename command. (Command Menu): Documented the Compare Directories
	command. Replaced "View other screen" with "Panels
	on/off". (Directory Tree): Removed some out of date
	remarks. (Macro Substitution): Documented the %{...} macro.

	* mc.menu: Changed the K-entry to use the %{...} macro.

	* tree.c (search_tree): The focus is now checked at the correct
	moment.

Mon Nov 14 09:28:20 1994  Miguel de Icaza  <miguel@sphinx>

	* gpm-xterm.c: passed the source trough indent -pcs -kr

	* screen.c (string_file_type, string_file_permission,
	string_file_nlinks, string_file_owner, string_file_group,
	string_file_size, string_file_mtime, string_file_atime,
	string_file_ctime, string_file_name): New functions, to be used by
	the new user configurable screen display.

	* main.c (long_cmd): New behavior: allow user to have long panels
	mixed with normal panels, there is a little flicker produced by
	the new behavior but is not that bad.

	(init_panels): Update the panels in this order: opanel, cpanel, to
	remove some flicker.

	(only_refresh_screen): Refresh screen in this order: opanel,
	cpanel to avoid some flicker

	(untouch_bar): Changed the order of refresh.

	(execute): If running on the console (and cons.saver is running),
	then don't ask for a keystroke after executing a command.

	* user.c (menu_input_loop): Upper case letters and lower case
	letters are different

	* file.c (recursive_erase): Leave directory ".." alone.

Mon Nov 14 14:36:12 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* dialog.c (input_dialog), find.c (input_find, do_load_find_menu,
	find_dialog), main.c (copy_cmd), menu.c (get_motion), user.c
	(menu_input_loop): Now you can cancel with both ESC and F10. Use
	of F10 gets rid of the slight delay after an ESC press.

	* file.c (erase_file, erase_dir): Now the error messages tell what
	the MC was trying to erase. The recursive delete now works also on
	Solaris which uses error number EEXIST instead of ENOTEMPTY.

	* help.c: The quit variable is now file wide static instead of
	function wide auto. New functions: help_cmd, index_cmd,
	quit_cmd. (interactive_display): The function key labels now work
	with mouse.

	* main.c (change_labels): A new function to change the function
	key labels when changing to the tree view mode and
	back. (change_panel, tree_leave, tree_view_cmd): Now call the
	change_labels function.

	(panel_event): Now works more often when in the tree view mode.

	(key_f2_cmd, key_f3_cmd): New functions which select the correct
	action depending on whether the tree view mode is active.

	(delete_cmd): Now behaves better when deleting the directories in
	the tree view mode.

	(tree_cmd): Now behaves better when the tree view mode is active.

	(init_labels): The user_menu_cmd and view_cmd functions replaced
	with the key_f2_cmd and key_f3_cmd functions.

	* mc.1 (Directory Tree): Small changes in the wording. Now up to
	date with new features. (Menu File Edit): Now up to date with the
	new behaviour and features.

	* mc.menu: Now up to date with the new behaviour and features of
	the user menu condition feature.

	* screen.c (display_mini_info): Simplified the way how the search
	string is output.

	* tree.c: The tree_entry structure is now defined in the tree.h
	file. The top and selected variables deleted as unnecessary. New
	variables: topdiff and check_sublevel. The variables check_name
	and check_start are now static. New functions: back_ptr, forw_ptr,
	win_init, win_done.

	(tree_add_entry): Now return a pointer to the added entry. The
	mark field is cleared.

	(remove_entry): If removing the selected entry selects the next or
	previous entry so that there will always be an existing selected
        entry.

	(tree_remove_entry): Removes the whole subtree instead of just one
	directory.

	(start_tree_check, do_tree_check, end_tree_check): Now using the
	mark field. A lot of other miscellaneous changes. Should be working
	correctly now (no orphan directories anymore).

	(show_tree, tree_move_backward, tree_move_forward,
	tree_move_to_top, tree_move_to_bottom, tree_init, tree_event,
	search_tree): Now using the selected_ptr and topdiff variables
	instead of the old selected and top variables.

	(check_focus): Simplified.

	(tree_chdir): Now uses the whereis function.

	(help_cmd, tree_rescan_cmd, tree_mkdir_cmd, rmdir_cmd): Now using
	the win_init and win_done functions.

	(tree_forget_cmd): Now forgets the whole subtree instead of just
	one directory.

	(tree.c): Now using the win_init and win_done functions.

	tree.h: The tree_entry structure is now defined here. Added the
	mark field to the tree_entry structure. Added the tree_forget_cmd
	function.

	user.c: Divided the conditions to two subtypes: the default
	conditions and the addition conditions. The addition conditions
	behave like the old conditions. The default conditions can be used
	for specifying the default menu entry. See the manual page.

	* ChangeLog: Replaced the occurrences of the Finnish word 'Ups'
	with the corresponding English word 'Oops'.

Sun Nov 13 09:53:30 1994  Radek Doulik  <rodo@RoDo-Station>

	* chmod.c (chmod_file): change getting owner and group name using
	functions in util.c, change length of printed strings

Sat Nov 12 15:34:50 1994  Miguel de Icaza  <miguel@sphinx>

	* file.c (erase_dir): Fixed bug that was deleting directories even
	if the user selected the no option.

	* main.c (delete_cmd): Added recursive delete on tagged directories

	* file.c (recursive_erase): Use lstat instead of stat for checking
	the file information.

Thu Nov 10 23:37:04 1994  Miguel de Icaza  <miguel@sphinx>

	* mouse.c (push_event): new parameter: options, currently accepts
	event_absolute and event_use_frame.

	* dialog.c, help.c, main.c, menu.c, tree.c, view.c: when calling
	push_event specify event_use_frame.

	* win.c (define_label, define_label_quit): use event_absolute to
	define the mouse bindings.

Thu Nov 10 13:21:50 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* dir.c (handle_dirent, do_load_dir, do_reload_dir): Added calls
	to the start_tree_check, do_tree_check and end_tree_check
	functions to achieve transparent tree update.

	* help.c (interactive_display): Now shows a function key bar of
	its own.

	* main.c (action): Now uses cpanel->cwd instead of a tree_selected
	call.

	(enter): Typing 'cd' commands on the command line now works also
	if the current panel is in the tree view mode.

	(delete_cmd): Now works in the tree view mode.

	(tree_cmd): Now works even if the tree view is already active,
	just doesn't change directory in such case.

	(tree_leave): A new function which is called when leaving the tree
	view mode. Tries to chdir to the last selected directory.

	(full_cmd, brief_cmd, info_cmd, long_cmd): Now using tree_leave
	instead of tree_done.

	(tree_view_cmd): Now uses tree_leave instead of tree_done. The
	tree_init call takes one parameter more. No need to initialize
	wtree variable yet. Clears the file entry list (calls
	set_zero_dir).

	(do_nc): Now uses the load_tree and save_tree functions to load
	the .mc.tree file on startup and save it on exit. Removed the old
	tree_init method of loading the tree.

	mc.1: The directory tree section is now up to date with the new
	features and behaviour.

	screen.c (display_mini_info): Added a missing wattrset. Now uses
	panel->cwd instead of the tree_selected call.

	(panel_reload): Works again in the tree view mode.

	tree.c: Uses now double linked list instead of single linked
	list. The tree_list variable renamed to tree_first. New static
	variables: tree_last, fkeys, check_name and check_start. The wtree
	variable is now static instead of global. Function removed as
	unnecessary: free_tree, read_tree, tree_selected. New functions:
	str_common, whereis, tree_add_entry, remove_entry,
	tree_remove_entry, start_tree_check, do_tree_check,
	end_tree_check, load_tree, save_tree, tree_chdir, help_cmd,
	tree_rescan_cmd, forget_cmd, tree_mkdir_cmd, rmdir_cmd, quit_cmd.

	(show_tree): Small meaningless code cleaning. If in the tree view
	mode copies the name of selected directory to the panel->cwd
	variable. If the panel is active chdirs there.

	(check_focus): Now behaves correctly even if there is less entries
	in the tree than there are lines in tree window.

	(tree_init): Takes one parameter more which tells amount of lines
	in the window. No longer uses the base directory system. Tries to
	select the current directory from the tree.

	(tree_done): Now does nothing.

	(tree): Now shows and uses a function key bar of its own. Changed
	behaviour of the control-r key.

	tree.h: Changed the definition tree_init. Removed read_tree and
	tree_selected. Added load_tree, save_tree, tree_chdir,
	tree_rescan_cmd, tree_add_entry, tree_remove_entry,
	start_tree_check, do_tree_check, end_tree_check. Removed
	tree_count and tree_lines.

	view.c (help_cmd): Oops, the name of the 'Internal file viewer'
	section has changed.

Thu Nov 10 22:40:31 1994  Fred Leeflang <fredl@nebula.ow.org>

	* file.c (copy_dir_dir, move_dir_dir): new functions.

	* main.c (do_mark_file): allow directory marking.
	(copy_cmd): Implement directory copying.
	(ren_cmd): Implement directory moving.
	(select_cmd, unselect_cmd): Allow selection of directories, when
	there is a leading or trailing '/'.
	(screen.c, screen.h): Added dirs_marked variable to panel
	structure.

	* util.c (basename): new function: returns the base name of it's
	argument. 

Thu Nov 10 21:21:26 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (copy_tagged): Disable cmdline updating when inserting
	all those file names.
	(do_edit): Use copy_strings.

	* input.c (input_disable_update, input_disable_update): New
	routines:  they let the client code disable the screen updating
	when inserting characters.  Used to speed up long insertions like
	the copy all tagged files command.
	(stuff): Disable updating when stuffing characters.

Wed Nov  9 14:50:24 1994  Janne Kukonlehto  <jtklehto@stekt8>

	* cons.saver.c: Oops, forgot to initialize the action
	variable. Made it fail randomly.

	* cons.saver.h: Let's start commands from '1' instead of '\000' to
	make debugging easier.

	* main.c (do_nc): Now works also if the tree view has been
	specified in the setup file.

	* mc.1: Fixed a typing error in the .\"LINK" command in the
	Options section. Wrote the Directory Tree
	section.

	* tree.c (show_tree): Oops, forgot to initialize the x and y
	variables. Caused a deadlock when there was no entries in the tree
	and the tree view was active.

	(tree_selected): Now works correctly if the selected_ptr is
	NULL. No more segmentation faults.

Tue Nov  8 21:26:18 1994  Miguel de Icaza  <miguel@sphinx>

	* user.c (execute_menu_command): Now it frees the returned pointer
	from expand_format
	(expand_format): Added support for the '%t' flag.  This represents
	all the tagged files.

	* ext.c (exec_extension): Now must free the returned pointer from
	expand_format. 

Tue Nov  8 02:07:47 1994  Janne Kukonlehto  (jtklehto@stekt.oulu.fi)

	* Makefile.in: BINDIR now defined in the CPPFLAGS. Added
	cons.saver.h to the HDRS. Added cons.saver.c to the DISTFILES. No
	need for the prog_mode variable anymore. A new target:
	install.saver which installs the Linux console screen save/restore
	handler. The uninstall and clean targets now remove cons.saver.

	* cons.saver.c: A new file: Linux console screen save/restore
	handler. Most of the code was previously the child code in the
	main.c file, the handle_console function. See below what was
	removed from the main.c file.

	* cons.saver.h: A new file. Included by cons.saver.c and main.c.
	Defines the commands for cons.saver.

	* gindex.pl: If the length of a node name is zero output a newline
	on its place in the contents. This is used for dividing the help
	file into five parts.

	* help.c: A new static variable end_of_node which tells when the
	end of node is reached and shown. (move_forward): Refuses to move
	forward if the end_of_node variable is true. (show): Little
	meaningless code clean-up. Now sets the end_of_node variable.

	* main.c: Now includes the cons.saver.h file. The tty_getsize
	function removed. The tty_cursormove function removed.
	(handle_console): Console detection code removed. The child code
	removed. Now uses the cons.saver program for saving and restoring
	of the console screen. Security hole checks removed because the mc
	does not need to be setuid anymore. (main.c): Backward
	compatibility: gives up privileges in case someone installed the
	mc as setuid.

	* man2hlp.c (handle_command, handle_link, main): Now supports the
	new LINK2 link format.

	* mc.1: Reorganized and partially rewritten. Too many changes to
	list them all.

	* screen.c (reload_panel): No longer tries to reread tree. This
	will get rid of those long delays when tree view is active. Real
	fix will be introduced later.

	* xnc.hlp: The [Main] and [About] nodes combined into one [Main]
	node. The authors are now mentioned only in the mc.1 file which
	should help in keeping them up to date.

Tue Nov  8 14:09:23 1994 Leon Raadshooven<L.A.RoosvRaadshooven@research.ptt.nl>

	* color.c: Code cleanup

Tue Nov  8 13:12:12 1994  Mauricio Plaza  <mok@roxanne.nuclecu.unam.mx>

	* find.c (find_dialog): Choose the appropriate regexp depending on
	the easy_patterns setting.

Tue Nov  8 12:50:10 1994  Torben Fjerdingstad <tfj@olivia.ping.dk>

	* mc.ext: It defaults to view the file with $PAGER.  I have set
	LESSCHARSET=latin1 to tell my $PAGER, NOT to display binary files
	without a warning. 

Mon Nov  7 12:56:26 1994  Janne Kukonlehto  (jtklehto@stekt.oulu.fi)

	* Makefile.in (make install): Removed the 'if $(do_setuid) then'
	line which caused 'make install' to fail.

	* README: The sample menu file is mc.menu, not nc.ext.

	* help.c (move_forward2, move_backward2, move_forward,
	move_backward): The beginning of a line is just after newline, not
	just before it.

	(move_to_top, move_to_bottom): New functions which support moving
	to the top and bottom of a node. (null_fn): Deleted, no longer
	necessary.

	(follow_link): Added one space to the beginning of the error
	message.

	(select_next_link): No longer tries to be too clever for its own
	good.

	(show): Now uses 'switch - case' instead of 'if - else if - else
	if...'. Now supports alternate character set, output of the
	version number of the Midnight Commander and tab characters.

	(help_event): Now a click of the right mouse button moves to the
	previous node. A left click on the top or bottom frame line moves
	one pageful backward or forward.

	(interactive_display): The beginning of a line is just after
	newline, not just before it. Enlarged the mouse event area. Up and
	down arrows behave now like a mixture of old behaviour and the
	behaviour of the tab key (a bit like in Lynx). Old behaviour of up
	and down arrow is available by pressing C-p and C-n. Comment
	reorganization. Added 'n', 'p' and 'c' keys for moving to next,
	previous and contents node.

	* help.h: Defined codes for switching to the alternate character
	set, returning to the normal set and outputting of the version
	number. 

	* main.c (action.c): In the tree view: now it is able handle
	failure of the do_cd call correctly.

	(panel_event): When clicking above or below the directory listing
	now moves one pageful instead of one lineful.

	* mc.menu: Reorganized the comment lines to conform to the new
	comment feature. Documented the new comment feature and the new
	condition debug feature. Fixed a small bug in the condition
	preceding the 'X' entry.

	* tree.c: Added a lot of comments. 

	(show_tree): In the directory tree the mini-status line shows now
	the full name of directory if there is no search string. This is
	similar to the behaviour of the tree view feature.

	(check_focus): A new function which tries to keep the selected
	directory near the middle of the window.

	(tree_move_backward, tree_move_forward): Now using the check_focus
	function.

	(event_callback): Now moves one pageful backward or forward if the
	top or bottom frame line is clicked.

	(tree): Enlarged the mouse event area.

	* user.c: Two static variables debug_flag and debug_error for the
	implementation of debug output feature.

	(debug_out): A new function which takes care of all debug output
	handling.

	(test_type, test_condition, test_line): Now support the debug_out
	function.

	(test_condition): Fixed a small bug in the handling of the '!'
	operator.

	(user_menu_cmd): Now there can be real comments in the user menu.

	* xnc.hlp: Added a nice logo to the [Main] node. Full rewrite of
	the [Help] node. The 'General movement keys' link points to the
	new manual page which is not ready yet and therefore it is not
	working.

Sun Nov  6 20:28:28 1994  Miguel de Icaza  <miguel@sphinx>

	* Makefile.in (install): Thanks to Janne who pointed out this
	buglet, now we can install the software again.

Sun Nov  6 20:07:12 1994  Radek Doulik <rodo@earn.cvut.cz>

	* chmod.c, chmod.h: new files, implement the chmod command on a
	nice dialog box. Binded to the C-x c key.  We need to document
	this.  BTW, GNU indent -kr -pcs gives the approximate coding style
	of the commander.

Sun Nov  6 17:45:59 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (menu_display_cmd, menu_cmd, menu_last_selected_cmd):
	Added support for recalling last used menu entry, Torben will be
	happy.
	(prev_page, next_page): Changed to have the 1.1 behavior again
	(when moving, if possible, keep the selection at the same relative
	distance from the top_file).

Sat Nov  5 12:59:34 1994  Raadshooven <L.A.RoosvRaadshooven@research.ptt.nl>

	* main.c (main): Added support for loading colors from the Command
	line. 

Fri Nov  4 14:20:13 1994  Miguel de Icaza  <miguel@sphinx>

	* key.c (mi_getch): New default: on ncurses-1.8.6 we need to
	untouch the window (stdscr), made the default.

	* util.c: 

Fri Nov  4 14:16:08 1994  Janne Kukonlehto  <jtklehto@stekt.oulu.fi>

	* main.c (move_down, move_up, move_home, move_end, prev_page,
	next_page): Replaced the show_tree calls with paint_panel calls.

	(do_search): Now supports the tree view feature (meaning that the
	trees can now be searched).

	(start_search): Added a call to the display_mini_info function because
	it now behaves differently when searching.

	(panel_event): Now supports the tree view feature (meaning that the
	tree view feature has now mouse support).

	(tree_cmd): Now reports an error if one of the panels is in the tree
	view mode.

	(view_other_cmd): Changed error message to reflect the new name for
	the function.

	(tree_view_cmd): Only one of the panels can be in the tree view mode.
	Initialization of the tree_lines and tree_cols variables is no
	longer necessary.

	* main.h: Added the declarations of the searching and
	search_buffer variables so that the display_mini_info function in
	the screen.c file can use them.

	* panel.h: Added view_tree to the list of possible views.

	* screen.c: Now includes main.h.

	(display_mini_info): If the search mode is active the current search
	string is shown.

	(panel_reload): Now supports the tree view feature (meaning that
	ctrl-r works in the tree view mode).

	* tree.c: Added the submask field to the tree_entry
	structure. Deleted the tree_cols variable as unnecessary. Renamed
	the count variable to tree_count and made it global. Added the
	search_buffer variable. Made the done variable static instead of
	auto.

	(free_tree): The initialization of the top, selected, selected_ptr and
	tree_count variables is moved here.

	(read_tree): Now a global function. Added a call to the free_tree
	function to remove a possible old tree data and initialize some
	variables. The count/tree_count variable is no longer initialized
	here. Added the code for the submask field calculation.

	(show_tree): Now uses the submask field to decide whether a sub-branch
	is the last sub-branch of its parent-branch and what levels of
	parent-branches there are. This method creates the correct tree
	figure as long as there are no more than 32 levels of
	subdirectories (because of the submask field has only 32
	bits). Better support for working as a panel. Small cosmetic
	fixes. If working as a dialog now shows the current search string.

	(tree_init): The initialization of the top and selected variables
	moved away from here.

	(tree_event, event_callback): New functions which implement the mouse
	support.

	(search_tree): A new function which implements the tree search feature.

	(tree): The done variable moved away from here. Decreased the value of
	tree_lines from 18 to 16 so that there is room for the search box.
	The create_dialog call still allocates 18 lines. Added support for
	tree search feature. Added mouse support. The additional movement
	keys are longer allowed (because they are needed for the search
	feature). Changed the handling of the result variable. The 'r' key
	no longer rereads the tree (use ctrl-r instead).

	* tree.h: Added the declarations of the read_tree, tree_event and
	tree_count identifiers. Removed the tree_cols variable.

Fri Nov  4 10:55:43 1994  Miguel de Icaza  <miguel@sphinx>

	* widget.c (check_new): Split the dialog manager in dialog manager
	and widget implementation functions.

	* color.c (init_colors): Major reworking.  Now, we allow to switch
	back and forth from color and bw mode.

Fri Nov  4 10:04:19 1994  Raadshooven <L.A.RoosvRaadshooven@research.ptt.nl>

	* color.c: Added support to reconfigure colors via the
	MC_COLOR_TABLE environment variable.

Fri Nov  4 08:55:37 1994  Miguel de Icaza  (miguel@roxanne)

	* file.c (erase_dir): Forced use of 'yes' to recursively delete a
	subdirectory. 

Thu Nov  3 18:21:53 1994  Miguel de Icaza  <miguel@sphinx>

	* screen.c (display_mini_info): Prints the currently selected
	directory. 

	* main.c (tree_view_cmd): Little patch to allow 'Cancel' on the
	tree. 
	(select_item): Extra checking when using select_item

Thu Nov  3 18:03:09 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* Makefile.in: Added tree.c to the SRCS, tree.h to the HDRS and
	tree.o to the OBJS. 

	* main.c (change_panel, move_down, move_up, move_home, move_end,
	prev_page, next_page, action, full_cmd, brief_cmd, info_cmd,
	long_cmd, check_menu_panel, copy_other_prog_name,
	copy_other_pathname, copy_other_tagged): Changes to support the
	tree view feature. 

	* (tree_cmd, tree_view_cmd): New functions for the directory tree
	and tree view features.

	* panel.h: Added view_tree to the enumeration of view types.

	* screen.c (display_mini_info, show_dir, paint_panel): Changes to
	support the tree view feature

	* setup.c (view_types, load_setup): Changes to support the tree
	view feature.

	* tree.c, tree.h: New files which implement the directory tree and
	tree view features.

	* user.c (expand_format, test_condition): Changes to support the
	tree view feature.

Wed Nov  2 18:32:12 1994  Miguel de Icaza  <miguel@sphinx>

	* dlg.c (input_new, input_callback, input_destroy): New widget,
	handles input lines when ran under the dialog manager.

	* find.c (add_list): Changed gc_free for gc_free_now.

	* main.c (move_selection): Initialized adjust.
	(do_re_sort): After setting selection, set the top_file field.
	Need to make sure I didn't forget any of this in the source code.

Wed Nov  2 16:14:18 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* INSTALL: Changed the wording to reflect current version of
	console screen save/restore support.

	* README: Changed the wording to reflect the new name and the
	xterm mouse support. Small spelling fixes. Fixed the location of
	the latest alpha version.

	* configure.in: A bug fix in the --with-screen-restore
	option. This bug caused 'make install' to fail.

	dlg.c, option.c: A name change from MouseLess Commander to
	Midnight Commander.

	* file.c (copy_file_file): A small bug fix (replaced a
	bracket-pair with a parentheses-pair). This bug was detected by
	Irix compiler. 

	* main.c (handle_console): Corrected race-condition bug by making
	the parent to wait until the child gets its job done. Also two
	other small bug fixes. 

	* main.c (do_search): Now compatible with eight bit mode (again).

	* mc.menu: Documented the syntax of the new user menu condition
	feature. Added some examples how to use it.

	* user.c (extract_arg, test_type, test_condition, test_line): New
	functions which implement user menu condition feature.
	(user_menu_cmd): Some changes to support the user menu
	condition feature.

	* util.c (is_printable): A small bug fix (replaced '>' with '>=').

	* util.h: Added '#include <sys/types.h>'. Doesn't compile on
	Ultrix without this.

Wed Nov  2 15:57:07 1994  Radek Doulik <rodo@earn.cvut.cz>

	* option.c: Fixed problem with data type of check_options and
	XTRACT macro.
	(init_configure): Code cleanup, also destroys properly the new window.

	* view.c (do_view): Bug fix: delete the windows when leaving the
	module. 

Wed Nov  2 15:20:26 1994  Fred Leeflang <fredl@nebula.ow.org>

	* file.c (recursive_erase): Implemented recursive directory delete.

Mon Oct 31 21:42:15 1994  Miguel de Icaza  <miguel@sphinx>

	* dlg.h, dlg.c, option.c: Many structural changes to the dialog
	manager to allow easy integration of future widgets.

Mon Oct 31 21:32:37 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* view.c (display): Now supports eight bit clean mode.

	* input.c (handle_char): Now supports eight bit clean mode.

	* main.c (tty_getsize): The tty_defaults function deleted as
	unnecessary. 
	(handle_console): Small bug fixes and code clean-up.
	new variable: eight_bit_clean, to be used in future patches.
	(toggle_eight_bit): new function to support the eight bit clean
	mode. 

	* setup (load_setup): Set the eight bit handling in ncurses.

	* screen.c (display_mini_info): If the file is a symbolic link then
	destination of the link is shown.

	* key.c (mi_getch): Use the new macro ALT() for converting an ALT
	value. 

	* util.c (is_printable): A new function to detect whether a
	character is legal in current mode. In 7-bit mode characters 32 -
	126 are legal and in 8-bit mode characters 32 - 126 and 160 - 255
	are legal (conforming to the ISO-8859-1 / latin-1 standard).

Sun Oct 30 20:39:58 1994  Alessandro Rubini <rubini@ipvvis.unipv.it>

	* gpm-xterm.c: New file, needed to cleanup the code in key.c,
	key.c has not been changed yet to take advantage of this yet.

Sun Oct 30 20:38:44 1994  Radek Doulik <rodo@earn.cvut.cz>

	* option.c, dlg.c: New files: The new option configuration
	routines and the new dialog box manager.  Very nice.

Sun Oct 30 18:21:00 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* main.c (tty_defaults, tty_cursormove, handle_console): New
	functions for handling Linux console screen saving and
	restoring. Original idea and part of code from Unix Interactive
	Tools version 3.2b, file tty.c. NOTE: this code requires that the
	user is root or the mc is setuid root (because it is reading the
	console screen).  

	* main.c (pre_exec, post_exec, view_other_cmd, main):
	Modifications to use handle_console for screen saving and
	restoring. 

	* view.c (display): No longer tries to output DEL characters.

	* win.c (check_movement_keys): Added the 'g' and 'G' keys to the
	additional keys. They work like they do in 'less'. (This change
	requires my previous patch applied).

Sat Oct 29 16:38:20 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (post_exec, execute, view_other_cmd): Change cbreak ()
	calls by raw () calls.

Sat Oct 29 15:48:09 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* win.c (check_movement_keys): Added handling of 'g' and 'G' keys
	(go top and go bottom keys).

Sat Oct 29 15:31:08 1994  Alessandro Rubini <rubini@ipvvis.UNIPV.IT>

	* configure.in: Misc patches.

Fri Oct 28 12:07:01 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (copy_cmd, ren_cmd, link_cmd, mkdir_cmd, delete_cmd): Use
        input_expand_dialog.

	* dialog.c (input_expand_dialog): New function: this calls
	tilde_expand on the information typed by the user.

Fri Oct 28 11:36:15 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* dir.c (handle_dirent): No longer filters links pointing to
        directories. This bug was accidentally introduced in alpha-27.

	* win.c, win.h (define_label, define_label_quit): Saves the
	callback function pointer in the fkey_table_list. 
	(push_fkey): The new_fkey function renamed to push_fkey. Now
	allocates a new fkey_table_list. 
	(pop_fkey): A new function. Deletes the fkey window and
	the old fkey_table_list.  
	(check_fkeys): A new function. Checks whether a key is a fkey and
	has a action defined in the fkey_table_list. 
	(check_movement_keys): A new function. Checks whether a 
	key is up, down, pgup, pgdn, home or end and calls the correct
	function. If the 'additional' flag is true checks also 'less' like
	keys 'b', space, 'u' and 'd'.

	* help.c (move_forward2, move_backward2, move_forward,
	move_backward, null_fn, interactive_display): Now uses the
	check_movement_keys function.

	* help.c (move_backward2): A small bug fix (replaced '>' with
	'>=').
	(follow_link): Now mouse can be used for scrolling backward and
	forward.  

	* main.c (init_labels, do_nc): Now uses the push_fkey, pop_fkey
	and check_fkeys functions.

	* setup.c (load_setup): Fixed a little memory allocation problem
	(the other_dir variable).

	* view.c (move_forward2, move_backward2, move_forward,
	move_backward, move_to_top, move_to_bottom, init_view, do_view):
	Now uses the push_fkey, pop_fkey, check_fkeys and
	check_movement_keys functions. 

	* view.c (init_view): A small bug fix in the definition of the AIX
	meaning of F8 and F9. 
	(one_line_up, one_line_down, do_view): 	Little fixes in the
	support for scrolling text with mouse. 
	(load_view_file): Does not attempt to view a directory, a socket or
	a fifo.  

Thu Oct 27 14:39:48 1994  Miguel de Icaza  <miguel@sphinx>

	* user.c (menu_input_loop): Allow more than 'a' through 'z'
	entries in the user menu.

	* auto.c (do_exec_mount): Added calls to open_error_pipe and
	close_error_pipe, don't close descriptor (2).

	* ext.c, file.c, help.c, main.c, user.c, view.c: Changed a lot of
	uses to sys_errlist[errno] to unix_error_string (errno).

Thu Oct 27 14:21:30 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* TODO: Now mentions the TERMINFO environment variable. Changed
	the location of the line "Use the mv code from GNU's mv". Deleted
	the entry about left and right moving the selection in brief mode
	(already implemented). 

	* dir.c (handle_dirent): New function. (do_load_dir,
	do_reload_dir): The common part of the code moved to the
	handle_dirent function to avoid code duplication.

	* dir.c (handle_dirent, sort_name, sort_ext, sort_time,
	sort_size), dir.h:  Links to directories are now sorted as
	directories. Links to files continue to be sorted as files. 

	* ext.c, file.c, help.c, main.c, user.c, view.c: Changed a lot of
	calls to the "message" function to include system error message
	sys_errlist[errno]. 

	* file.c (move_file): Now uses open_error_pipe/close_error_pipe to
	catch the error messages from /bin/mv command.

	* main (init_panels): If chdirs to the other_dir, now chdirs also
	back. This thing seemed to be accidentally deleted by someone from
	the alpha-26. 

	* util.c, util.h, view.c: The open_error_pipe, check_error_pipe
	and close_error_pipe functions moved from view.c to util.c. The
	prototypes now appear in the util.h. Modifications in
	close_error_pipe to make it possible to define whether a possible
	message in the error pipe should be printed as a warning message
	or a error message. 

	
Wed Oct 26 17:21:19 1994  Miguel de Icaza  <miguel@sphinx>

	* configure.in: Now the gpm library is detected by the autoconf
	program.  If the lib is installed in a weird directory, then you
	use the --with-gpm-mouse=base-directory.

	* Changed the use_gpm constant for HAVE_LIBGPM.

	* util.c (copy_strings): new function. This one uses gc_alloc and
	returns the concatenation of all it's arguments.  The list must
	end with a 0.

	* ext.c (regex_command), file.c (move_file), find.c, main.c
	(action, view_cmd, ext_cmd, menu_edit_cmd), setup.c
	(save_setup, load_setup), view.c (load_view_file): Removed hard
	coded limits, use the new function copy_strings.

	* gc.c (gc_free_now): New function, frees the pointer at that
	point, also increased the number of handles.

	* main.c: Typo fix.

	* menu.c: allow F-10 to act like ESC.

Wed Oct 26 17:13:15 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* main.c (filter_cmd): Filter was acting on the current panel
	instead of the panel selected in the menus.
	(action): When executing commands in a panel, prepend a ./ to the
	command. 

Wed Oct 26 17:09:59 1994  Alessandro Rubini <rubini@ipvvis.UNIPV.IT>

	* key.c (mi_getch): switch cleanup.

Tue Oct 25 12:19:39 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	dir.c (do_load_dir, do_reload_dir): Directory "." is no longer
	shown in the directory panel. Added support for directory panel
	filter.

	dir.h: Added a filter parameter to the prototypes of do_load_dir
	and do_reload_dir.

	panel.h: Added the filter field to the struct Panel.

	find.c (select_and_change_panel): Added filter argument to the
	call of do_load_dir.

	screen.c (brief_frame): The titles of the directory panel in the
	brief mode are located correctly even if the width of the screen
	is not 80 columns. 
	(init_panel): The default filter is "*". 
	(panel_reload): Added filter argument to the call of
	do_reload_dir. 

	main.c (init_panels, do_cd): Added filter argument to the call of
        do_load_dir.
	(filter_cmd): New function to change the directory panel
	filter. 
	(swap_cmd): New function to swap the contents of the directory
	panels, keyboard shortcut is C-u. Changes in PanelMenu, RightMenu
	and CmdMenu to support the filter and swap commands. A name change
	of a menu entry: "View other screen(xterm)" -> "Panels
	on/off(xterm)". The width of the menu bar now matches the width of
	the screen.  

	help.c (start_link_area, end_link_area, clear_link_area,
	help_event): New functions which implement a mouse support. 

	(show, interactive_display): Now using the mouse support. 

	help.c (select_prev_link): No longer tries to recover if there is
	no previous link. Returns NULL in such cases. (show): If the
	selected link would not be visible the first or the last visible
	link is selected. 
	(interactive_display): Reworked the way the "tab" and "b" keys
	work. Now they step through the links on the screen, not the links
	on the node. 
	(interactive_display): Added support for the "left" and "right"
	keys. They work like they do in the Lynx. 

Sun Oct 23 17:21:14 1994  Miguel de Icaza  <miguel@sphinx>

	* util.c (tilde_expand): Now, this time, it should work.

	* main.c (init_panels): Don't select the information window.

	* setup.c (load_setup): Only one of the panels may be in the
	information mode.

	* main.c: Now you can use C-x i to toggle the information window.

Thu Oct 20 11:47:24 1994  Miguel de Icaza  <miguel@sphinx>

	* profile.c (sync_profiles): Made some function static.  Added
	prototypes to profile.h file.

	* profile.h: new file, prototypes to profile.c.  Added #include to
	the files that used the functions.

	* main.c (switch_to_info): New function: switches to information
	mode, and added the info option to the menus.

	* screen.c (paint_panel): Can paint normal panels and information
	panels.

	* util.c (tilde_expand): Hopefully, now the tilde expansion is fixed.

	* ncurses.h: Added detection for buggy ncurses when running on SGI
	machines with GNU CC.

Tue Oct 18 12:23:06 1994  Miguel de Icaza  <miguel@sphinx>

	* configure.in: Actually do something when GCC is detected.  Copy
	the GNUmakefile from the source directory to the compilation
	directory. 

	* GNUmakefile: New file.  Used to include the dependencies.
	Developers should use GNU make, the rest of the people is ok with
	a standard make.

	* main.c (move_selection, move_left, move_right): When in Brief
	mode, the program now is able to move the selection to the left
	and right.  Only the keybindings KEY_LEFT and KEY_RIGHT use this
	option, the C-b and C-f still call the default_key handling
	mechanism.

Tue Oct 18 10:32:22 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* key.c (mi_getch): Solaris fix: if key received is kf0, convert
	that to kf10.
	
	* xterm.ti: fixed the op capability to the correct value and
	changed the definition from kf0 to kf10. 

Mon Oct 17 18:41:33 1994  Miguel de Icaza  <miguel@sphinx>

	* util.c (tilde_expand): Finally, I fixed the tilde expansion, it
	was not that hard to fix.

	* user.c (execute_menu_command): Use strchr instead of
	search_string, this fixes a little bug introduced by the need of
	fmt before. 

	* xterm.ti, vt100.ti: new terminfo databases for vt100 and xterm.

Mon Oct 17 17:44:11 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* xterm-color: new file. NCurses terminfo database for color
	xterms.

	* man2hlp.c: new file. replaces man2hlp.pl (and the use of fmt).

	* main.c (view_other_cmd): Now displays an error box if curses
	does not support the alternate screen.

	* help.c: Now uses help.h. The constant definitions moved to
	help.h. Now uses the constants (why to define constants if they
	are not used?).

	* help.h: New file. Defines constants for help.c and man2hlp.c.

	* gindex.pl: Removed the ctrl-d workaround. Not needed because fmt
	is no longer used. Removed the main node from contents (it was
	added to contents by removal of ctrl-d workaround). Other new
	nodes in the contents (About, License and Help) left visible.

	* color.h, dialog.c (create_dialog), screen.c (show_dir): Color
	selection bug fixes. The code was assuming that the default color
	is white on black.  On color xterm it is black on white.

	* Makefile.in (ync.hlp): Uses man2hlp (compiled version of the
	man2hlp.c) instead of man2hlp.pl and fmt. Rebuilding the mc.hlp
	file works now on all machines, not just on Linux.

	* Makefile.in (DISTFILES): Replaced the man2hlp.pl file with
	man2hlp.c. Removed the second occurrence of xnc.hlp.

Fri Oct 14 17:52:46 1994  Miguel de Icaza  <miguel@sphinx>

	* screen.c (panel_reload): If you can't chdir to a directory, load
	a dummy.

Fri Oct 14 16:23:41 1994  Massimo Fontanelli <MC8737@mclink.it>

	* find.c (find_dialog): You can't stop if lines is equal to
	zero. This fixes one of the problems in the find file program.

 Fri Oct 14 13:53:16 1994  Miguel de Icaza  <miguel@sphinx>

	* util.c (regexp_match): Fixed small typo when HAVE_LIBGEN_H is
	defined. 

	* configure.in: Misc cleanup in the configuration process.
	Solaris should use the -lgen library to have regular expression
	support. 

Fri Oct 14 13:32:02 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* main.c (execute): The execute function didn't change the line
	after prompting which caused the output of next external command
	to start from the middle of line. The view_other_cmd function
	didn't flush the output after putp(enter_ca_mode) which made it
	look like two keypresses are needed to return to the mc screen.

	* key.c (mi_getch): I finally managed to nail down that gpm bug I
	have been complaining about.  The mi_getch function was reading
	gpm mouse even when shut_mouse had been called. It was a real hard
	one.  The existence of the mouse is now told by three
	variables. The use_mouse_p variable tells the type of mouse and
	the gpm_flag and xmouse_flag variables tell whether the mouse is
	currently active (init_mouse called) or not (shut_mouse
	called). Previously I was attempting to get along with only
	use_mouse_p.

Fri Oct 14 10:58:34 1994  Miguel de Icaza  <miguel@sphinx>

	* help.c (select_prev_link, select_next_link): Bug fixes.
	(search_string_node): Don't return main if can't find a node.

	* view.c (regexp_searc, normal_search): Now, it should not do
        empty searches.
	(do_view):  Now, you can continue a search with the 'n' or C-s
	command. 

Thu Oct 13 16:25:39 1994  Massimo Fontanelli <MC8737@mclink.it>

	* view.c (do_view): When running under AIX, keys F8 and F9 take
	you to the beginning and bottom.

Thu Oct 13 12:26:23 1994  Miguel de Icaza  <miguel@sphinx>

	* help.c (interactive_display): If there are no next or previous
	links when that command is issued, don't go to the main node.

Thu Oct 13 11:34:06 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* dialog.h: removes the warning which comes during compilation.

	* help.c (search_string, move_backward, show,
	interactive_display): Two fixes for the bugs uncovered by the
	addition of '.\"LINK"' command: a newline in the link name bug fix
	and a multi-line spanning link background colour flash bug
	fix. Other changes: a backward scroll bug fix, a dialog name
	change from "Main" to "Help", a next-page bug fix and F1 now shows
	the help for the help viewer.

	* view.c (do_view): Backspace and delete now scroll a screenful
	backwards like they do in the internal help. 

	* Makefile.in: Added INSTALL.FAST to the DISTFILES.

	* xnc.hlp: Improved the documentation for the help viewer.

	* gindex.pl: The index is no longer sorted. Looks a bit better
	now. I think that the name "Contents" would be better than the
	current "Index".

	* mc.1, mc.hlp: A name change in header: nc -> mc. Description and
	Options moved out of the index to their own section. A lot of
	links added. Bug fixes and spelling corrections. The awfully long
	Keys section divided to five sections (Keys, Action Keys,
	Selection Keys, Command Line Keys and Input Line Keys). The
	existence of the menus documented (section Menu Bar).
	Miscellaneous additions.

	* man2hlp.pl: Added support for '.\"LINK"' command. Better support
	for roff commands ".nf" and ".fi".

	* NEWS: Spelling corrections.

	* INSTALL.FAST: The INSTALL file seems to be a bit long. I wrote a
	shorter version which only mentions the essential. It is still
	longer than one screenful but I think it is a step to the right
	direction. 

	* ChangeLog: Spelling corrections.

Wed Oct 12 18:43:19 1994  Miguel de Icaza  <miguel@sphinx>

	* view.c (search), find.c (add_list), main.c (unselect_cmd,
	select_cmd): Use the new regexp_match argument

	* util.c (regexp_match): If matching files, and easy patterns are
	enabled, then add '^' at the beginning of the regular expression
	and a '$' at the end.

	* Added some missing includes to many files (malloc.h, unistd.h)

	* view.c (move_forward): Fixed bug in the internal viewer.
	Changed line == lines for line >= lines, since line could have
	been incremented twice: one caused by the wrapping and one because
	of the newline.
	(do_view): Added back scrolling with the DEL key.

Tue Oct 11 11:12:53 1994  Miguel de Icaza  <miguel@sphinx>

	* find.c (find_dialog): Now, before returning, it properly
	destroys the dialog.

	* view.c (view): Call push_refresh only after the WINDOW * have
	been setup, and pop the refresh function only if the viewer did
	successfully run.

	* find.c (do_find), user.c: Use do_refresh instead of
        refresh_screen

	* dialog.c (push_refresh, pop_refresh, do_refresh): new screen
	refresh handler.

	* view.c (view): Use the new display refresh handler.

	* help.c (interactive_display): Now you can specify the node to be
	looked up.

	* main.c (version): Shows information about how was the program
	compiled. 

Tue Oct 11 11:12:33 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* key.c (mi_getch): This patch makes function keys work under
	Irix. It may also help on other machines which have incorrect
	termcap. However, it doesn't make F10 work under Solaris.

	* view.c: Some reorganization in view.c to support my forth-coming
	version of the buffering. It now uses longs instead of char
	pointers. "*from" has been replaced with "get_byte(from)". I
	submit these changes now so that others won't make incompatible
	changes before I get the buffering ready.

	Changed some stupid abbreviations to the long form: errpipe ->
	error_pipe, open_errpipe -> open_error_pipe, close_errpipe ->
	close_error_pipe, olderr -> old_error.

	Modifications in open_error_pipe and close_error_pipe and addition
	of check_error_pipe to support my forth-coming version of the
	buffering. 

	Moved the wrap toggle from F5 to the correct place F2. Disabled
	the AIX meanings of F1 and F2.	

	regexp_search() disabled in the hex mode (previously only the fkey
	label was removed).  Replaced the RxSearch hotkey F8 with F6 (the
	fkey labels already mentioned F6 as the hotkey).

	(help_cmd): Added a help command to the internal viewer. BUGS:
	doesn't open the help file from the correct place (is not context
	sensitive), flashes the main screen when exiting from the help.

	(move_forward): A bug fix in move_forward(). Now it correctly
	scrolls forward when in wrap mode.

	* mc.1: (Internal file viewer): Documented the active keys inside
	the internal file viewer.

	* main.c (view_other_cmd): Because view_other_cmd() now works only
	in xterm I removed libgpm bug workaround (perhaps I should get a
	bugless version of libgpm, I am having too many segmentation
	faults when using mc on the console). 

	(check_for_default): When editing the extension file or the menu
	file if the file doesn't exist the default file is copied for editing.

	(ext_cmd, menu_edit_cmd): Uses check_for_default.

	(version): A little change in version string informing about xterm
	mouse support.

Mon Oct 10 21:10:46 1994  Miguel de Icaza  <miguel@sphinx>

	* key.c (mi_getch): Buggy SystemV curses now should be able to
	detect ESC+anything extra key sequences.

	* help.c: When going back in the history, it sets the selected
	link to the one that was followed.
	(select_prev_link): Now it's possible to go back in the hypertext
	viewer with the 'b' key.

	* configure.in: Added --with-old-tools configuration option.

Sat Oct  8 12:45:22 1994  Miguel de Icaza  <miguel@sphinx>

	* view.c (display): The viewer now can wrap text.  It's still
	missing movement by lines that correctly deals with wrapped text.
	(move_forward): Moves ok when wrap mode is on.
	(move_backward): Moves ok when wrap mode is on.

Fri Oct  7 19:58:42 1994  Miguel de Icaza  <miguel@sphinx>

	* menu.c (run_bar): Always repaint menu bar.

Thu Oct  6 09:48:18 1994  Miguel de Icaza  <miguel@sphinx>

	* profile.c (load): Changed char c for int c.  That caused AIX and
	SGI machines to freeze when loading the profile.

	* setup.c: Added accidentally deleted entry for default_list_perm
	option. 

Thu Oct  6 09:47:42 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* menu.c (run_bar): Fixed wrong type cast for IRIX. 

	* auto.c: fixed typo.

Wed Oct  5 11:37:38 1994  Miguel de Icaza  <miguel@sphinx>

	* key.c (mi_getch): Fixed small typo: use_mouse_p == XTERM_MOUSE

	* menu.c (top_menu_handle): Fixed the problems with the mouse.  No
	more flashing menus, and correctly select entries in the
	query_boxes.
	(run_bar): Added a missing line.

	* main.c (main): Removed the \ec hack before entering do_nc, it
	was a hack to a badly written termcap entry for the Linux console
	in my machine.

Wed Oct  5 10:44:30 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* zip.c (is_gunzipable): Clean up the code.

	* view.c (open_err_pipe, close_err_pipe): These functions are used
	for creating a pipe for capturing gzip error messages. If gzip
	encounters a error, the error message is now shown in a nice
	message box. Lot cleaner than the previous solution.
	(view): More fixes to gzip viewer.

	* main.c (view_other_cmd): The 'View other screen (xterm)' feature
	now shows an error box if current terminal is not xterm. It still
	doesn't work on Solaris xterm without real ncurses (well,
	documentation encourages people to use real ncurses, so it is not
	a bug, it is a feature).

Tue Oct  4 11:37:06 1994  Miguel de Icaza  <miguel@sphinx>

	* configure.in (LIBS): Little fix: if ncurses is in /usr/include
	then add -lncurses.

	* menu.c (top_menu_handle): Fixed bug that prevented current
	selection on dialog boxes to be selected in bars.

	* key.c (xmouse_get_event): Added double click support under
        xterms (double_click_speed loaded in setup.c).

Tue Oct  4 10:25:55 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* zip.c (is_gunzipable): The code can now figure out the size of
	pkzipped file.

	If the file to viewed has PACK_MAGIC, LZH_MAGIC or compress magic
	the code guesses that the uncompressed size is four times the
	compressed size. If the uncompressed size is later found to be
	smaller extra memory is freed with realloc.

	* configure.in: When specifying --with-ncurses flag, add the
	-lncurses library option.  Added a missing fi to the script.

	* view.c (search): If search string is not found, inform the user.
	(load_view_file): Gzip support was showing uncompressed data only
	worth the compressed size of the file. I fixed it and did two
	other minor adjustments to the gzip support. I hope it will work
	correctly now.

Mon Oct  3 17:21:46 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (do_cd): trim directory to cd.
	(do_cd): Use the new wonderful micro-garbage collector.  This
	should help to clean up the code in the future.  I promise to
	change the actual code with the time to use the garbage collector.
	(do_cd): New: tilde expansion on cd.

Mon Oct  3 09:30:59 1994  Miguel de Icaza  (miguel@roxanne)

	* main.c (main): Friendly hack.

	* To configure the gpm mouse server, you need to specify
	--with-console-mouse.  Since now it always come with mouse support
	(since you may be running in an xterm, again, all that was made by
	Janne). 

	* mouse.c,main.c: changed use_mouse for use_gpm

Mon Oct  3 09:23:04 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* win.c (define_label, define_label_quit): Now works on xterms.

	* menu.c: Removed ifdefs around use_mouse, now on xterms it works. 

	* mouse.h: Modifications to use mouse on xterms without having the
	gpm package installed.

	* main.c: use_mouse_p now holds the type of mouse handling that is
	done.
	(main): Detect xterm and cleanup the constants.

	* key.c (init_key): Changes for using mouse in xterms.
	(xmouse_get_event): New function to handle xterminals mouse
	events. 
	(mi_getch): Parse xterm escape sequences.

	* view.c (load_view_file): Now it doesn't discard the first byte
	of the uncompressed file. 
	* view.c: clean up.

	* mouse.c: Include fcntl.h instead of sys/fcntl.h
	(init_mouse): new code for xterm mouse handling.
	(shut_mouse): new code for xterm mouse handling.

Sun Oct  2 18:52:05 1994  Miguel de Icaza  <miguel@sphinx>

	* setup.c (save_setup,load_setup): Cleaned up setup loading/saving.

	* zip.c (is_gunzipable): new function: determines if a file is
	prone to be gunziped.

	* view.c (hex_search): Added hex-search.
	(load_view_file): Now it's possible to display gziped files in the
	internal viewer.

	* dialog.c (run_dialog): Fixed bug: call (*refresh_fn)() instead
	of refresh_screen.  Should do it a stack of refresh functions.  To
	be fixed

Sun Oct  2 13:46:45 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* main.c (view_other_cmd): Added code to view command output on
        xterms.  C-o is binded to this command.

Fri Sep 30 18:52:53 1994  Miguel de Icaza  <miguel@sphinx>

	* view.c (toggle_hex_mode): Disable regular expression searching
	when given an hex pattern.

Fri Sep 30 16:32:18 1994  Massimo Fontanelli <MC8737@mclink.it>

	* configure.in: when compiling in AIX, use -D_BSD

	* main.c (mkdir_cmd): Spelling correction.

	* view.c (view): Corrected: use variable version of max_dirt_limit
	instead of constant.

Fri Sep 30 11:33:36 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* view.c (view): On systems with no mmap or with buggy mmap
	support, load the entire file into RAM and display it.

Wed Sep 28 20:07:30 1994  Miguel de Icaza  <miguel@sphinx>

	* win.c (set_label_text): used for changing the values of the
	labels.

Wed Sep 28 20:06:41 1994  Massimo Fontanelli <MC8737@mclink.it>

	* view.c (toggle_hex_mode): switch between Hex and Ascii labels

Tue Sep 27 10:47:10 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>

	* view.c (view, one_line_up, one_line_down): scrolling speed
        enhancements.

	* view.c (display, toggle_hex_mode, move_forward, move_backward,
	view): Added hex mode display of files.

Fri Sep 23 13:29:54 1994  Miguel de Icaza  <miguel@sphinx>

	* main.c (mkdir_cmd): Fixed a little bug that didn't repaint
	correctly the screen in some conditions, the fix is to pass the
	name of the file to select to update_panels.

Mon Sep 19 12:12:03 1994  Miguel de Icaza  (miguel@sphinx)

	* To show dates instead of permission, you need to manually add to
	the .mc.ini file the default_list_perm = 0 setting.

	* screen.c (repaint_file): More temporary support to show dates
	instead of permission.

	* setup.c (load_setup): Save the name of the profile in the global
	pointer profile_name.

	* main.c (umount_this_dir): Added C-x m and C-x u to manually
	mount and umount directories. C-x a Toggles auto_mount flag.

Sat Sep 17 15:50:42 1994  Miguel de Icaza  (miguel@sphinx)

	* auto.c (try_auto_mount): New routines for
	auto-mounting/umounting directories.

	* main.c (do_cd): Changes to allow auto_mounting.

	* setup.c (load_setup): Changes to allow auto-mounting

	* configure.in: We don't use the config.h.in file anymore, only
	use the in the command line parameters.

Fri Sep 16 17:38:18 1994  Miguel de Icaza  (miguel@sphinx)

        * ALPHA-2-0.15

	* configure.in: AC_AIX added

	* Replaced '\e' for ESC_CHAR, to allow compilation under AIX.

Wed Sep 14 16:21:51 1994  Miguel de Icaza  (miguel@roxanne)

        * ALPHA-0.15

        * Changes in many files to support GNU autoconf

Thu Sep  8 12:50:34 1994  Herman Horsten (horsten@wins.uia.ac.be)

        * Version 0.14

	* view.c (view): Don't display empty files.

Wed Sep  7 19:08:31 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c: Added Some extra C-x hot keys. The Alt-A Alt-a solution
	to copying paths was very complex to remember. 
	(copy_tagged): C-x s, copies the tagged files or the selected
	file to the command line.

Tue Sep  6 15:58:49 1994  Miguel de Icaza  (miguel@sphinx)

	* util.c (unix_error_string): New unix_error_string function,
	stolen from a posting of Roland McGrath in the mach4 mailing list
	:-)

Mon Sep  5 19:03:13 1994  Miguel de Icaza  (miguel@sphinx)

	* dir.h,dir.c,main.c,screen.c: Changes to allow unlimited
        directory size handling.

Tue Aug 30 14:22:04 1994  Miguel de Icaza  (miguel@sphinx)

        * Release 0.13

	* main.c (ren_cmd): Changed the update_panels call, before it was
	called with (UP_OPTIMIZE, 0, 0), now it's with UP_KEEPSEL to let
	the bar stay near the original file was standing.
	(menu_edit_cmd): Added menu file edit to the program.

	* dir.c (do_load_dir): If there is no way to load a directory,
	load a dummy directory.

	* main.c: Added keybinding C-r to reread_cmd.
	(do_re_sort): Now when resorting a panel, the selected file is
	kept selected.

Mon Aug 29 18:13:42 1994  Miguel de Icaza  (miguel@sphinx)

	* input.c (forward_word): Changed use of isalpha for isalnum in
	order to skip over numbers. 

	* main.c (delete_cmd): Check that the result from query_dialog is
	not escape (-1), since this deleted files when users pressed
	esc. Oops.

Mon Aug 29 16:36:27 1994  Jean-Daniel Luiset (luiset@cih.hcuge.ch)

	* view.c (one_line_up,move_backward): Fix the backward scrolling.

	* view.c (view_status): Change the way the computation of the
        percentage to follow the Norton commander's (% from the beginning,
	start = 0).

	* view.c (view): Add KEY_HOME and KEY_END.

Thu Aug 18 15:34:18 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (main): At setup, don't use the opanel and cpanel macros,
	they don't point to valid data yet (until init_panels is called).

Thu Aug 18 12:55:12 1994  Miguel de Icaza  (miguel@roxanne)

	* Release 0.12

Wed Aug 17 19:39:12 1994  Miguel de Icaza  (miguel@sphinx)

	* dir.c(do_reload_dir): Added missing call to closedir, in the
	Sparc it ran out of file handles.

Mon Aug 15 13:54:34 1994  Miguel de Icaza  (miguel@sphinx)

	* key.c (mi_getch): When compiling under SVR4, untouchwin stdscr.

	* main.c (ren_cmd): Bug fix: when file were selected, it only
	searched from files [0..cpanel->marked] instead of
	[0..cpanel->count].

Thu Aug 11 18:19:08 1994  Miguel de Icaza  (miguel@sphinx)

	* dir.c (d_namelen): Define to allow compilation under IRIX and
	Solaris 2. Thanks to Matthias Hammer
	hammer@kirk.fmr.maschinenbau.th-darmstadt.de for his comments.

Wed Aug 10 12:42:57 1994  Miguel de Icaza  (miguel@sphinx)

        * Release 0.11

	* main.c: Changed hot-key for history.
	(do_cd): support cd -.

	* Makefile (dist): Moved mc.hlp dependency from install to dist.

	* main.c (goto_bottom_file, goto_top_file, goto_middle_file),
	functions to quickly select a file.
	(main): Now correctly chdirs to the first directory specified in
	the command line.

	* util.c (trim): Now, it correctly trims the directory names.

	* main.c (ok_to_copy): Fixed a very ugly bug in ok_to_copy. I was
	freeing the wrong pointer.

Tue Aug  9 14:23:51 1994  Miguel de Icaza  (miguel@sphinx)

	* menu.c (get_motion): Allow the first character in a query to
	select the option.

	* setup.c (save_setup): Now, instead of setting the defaults in
	setup.c, use the values provided by the definition of the
	variables. 

	* key.c (mi_getch): Fixed the mouse event auto repeat timeout
	problem. 

	* menu.c (run_menu): Corrected bug that prevented option letters
	from being used for selection in the menus.

Tue Aug  9 13:39:35 1994  Torben Fjerdingstad <tfj@olivia.ping.dk>

	* main.c (copy_cmd): use copy_file_file when copying to a file and
	not copy_file_dir.
	* main.c (main): Added missing "c" to getopt option.
	* main.c (execute): Added call to cbreak () to allow "any key to
	continue, and not just break".

Mon Aug  1 14:13:07 1994  Miguel de Icaza  (miguel@sphinx)

        * Release 0.9

	* menu.c (send_yes_event): Send an enter when the right mouse
	button is pressed on menu_bars.

	* main.c (panel_event): Added inline mark_if_marking to allow
	marking when dragging the mouse.
	(mkdir_cmd): changed update_panels (..., UP_KEEPSEL...) for not
	trying to keep the selection. This fixed a bug when creating a
	subdirectory. 

	* screen.c (repaint_file): Added call to wrefresh to fix the bug
	in b&w mode.

Fri Jul 29 12:03:23 1994  Miguel de Icaza  (miguel@sphinx)

	* mouse.c: (mouse_handler): Redraw correctly the mouse pointer. 

	* mc.1: Updates to the documentation.

	* main.c (action): If trying to execute a symlink, check that the
	file it points to is an executable.
	(main): Added option to negate Force Black and White.

	* dir.c (if_link_is_exe): New function, used to check if a symlink
	points to an executable.

	* screen.c (repaint_file): Instead of showing ctime, display
	mtime. Fix by Torben Fjerdingstad <tfj@olivia.ping.dk>.

Thu Jul 28 17:13:07 1994  Miguel de Icaza  (miguel@sphinx)

	* file.c (copy_file_file): Added verbose operation for file
	copying.

	* main.c (do_nc): If connection baud rate is too slow, verbose
	mode is turned off.

	* file.c (copy_file_file): Add verbose messages when copying a
	file. 

	* main.c (main): Bug fix when specifying directories in the command
	line. 
	(delete_cmd): Fixed a bug in the newly introduced confirm delete.

	* file.c: New builtin copy command, taken from GNU's cp.

	* main.c (do_cd): If we cant open the specified directory
	(copy_cmd): Added confirmation when overwriting files.

	* dir.c (do_load_dir): Avoid segmentation fault if we can cd into
	a directory, but don't have read access.

Wed Jul 27 17:07:58 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (pre_exec): Call shut_mouse before running a child
	process. This is to avoid getting unhandled events. Thanks to
	Alessandro Rubini.
	(post_exec): Call init_mouse after return.

	* Various changes to rename the MouseLess Commander from 'nc' to 'mc'.

	* mouse.c (mouse_handler): Removed the mouse cursor display, let
	the server do the work. 
	(init_mouse): Let the server handle GPM_MOVE|GPM_HARD. 
	use that in defaultMask. Enhancement by Alessandro Rubini
	(rubini@ipvvis.UNIPV.IT).

Tue Jul 26 14:37:35 1994  Miguel de Icaza  (miguel@sphinx)

	* dialog.c (create_dialog): When creating a dialog, a new frame is
	pushed with the coordinates of the dialog.
	(destroy_dialog): Call pop_frame.

	* mouse.c (push_frame): Remember active mouse_events pointer.
	(pop_frame): Pop mouse_events until previous state is restored.

	* menu.c (run_bar): Now uses the frames to enter/leave subroutines.

	* view.c (view): Now uses the frames to enter/leave subroutines.

	* input.c (handle_char): Don't allow characters > 127 to be
	inserted in input lines.

	* help.c (interactive_display): When selecting a target outside
	the view windows, start the display at the point where the link
	was found.

	* menu.c (run_menu): Menu entry lengths are not limited to 20
	characters any more.
	(run_menu): Code cleanup and added mouse support.

	* user.c (menu_input_loop): Now uses my_getch.

Mon Jul 25 16:14:49 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (delete_cmd): Added delete confirmation.

	* view.c (init_view): Added null_event handling.
	(search): Source code reorganization for mouse handling.

	* user.c, help.c: Display error message if unable to open file.

	* util.c (load_file): If there is a problem stat()ing or open()ing
	the file, return 0 and don't show any message.

	* main.c (action): Split enter () in enter () and action (). The
	later is to be called by the mouse handler.
	(panel_event): Added double click managing.
	(main): Added nice usage message

	* dialog.c (destroy_dialog): Changed name (was: done_dialog),
	null_event handling.

Fri Jul 22 18:58:21 1994  Miguel de Icaza  (miguel@sphinx)

	* screen.c (display_mini_info): The mini info now shows the number
	in pretty format.

	* util.c (size_trunc_sep): Nice formating of numbers.

	* main.c (init_panels): Added events for the panels.
	(panel_event): Added function that handles mouse events.

	* key.c (mi_getch): Various changes to support the mouse. 

Thu Jul 21 13:20:41 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (move_up, move_down): Call select_item always, as
	cpanel->selected must be properly set.
	(reverse_cmd): Now, it's possible to sort the file in inverse order.

Tue Jul 19 15:03:29 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (long_cmd): Bug fixes to disable activating a panel that
	is disabled.

	* setup.c (options_load): Now per panel options are saved.

	* util.c (name_trunc): Added new truncate option. Now we use a ~
	in the middle of the name instead of a > at the end of the
	truncated name.

	* input.c (create_input): More Input line changes.

	* find.c (input_find): Adjustments to create_input.

Mon Jul 18 17:02:46 1994  Miguel de Icaza  (miguel@sphinx)

	* dialog.c (my_wputs): Woraround ncurses wclreol when printing
	\n. Better visual effect.

	* screen.c (display_mini_info): When displaying the brief format,
	show in the mini info the details of the directory.

Fri Jul 15 12:23:46 1994  Miguel de Icaza  (miguel@sphinx)

	* win.c (define_label): Added callback support.

	* main.c (init_labels): Added callbacks for mouse operations.

	* input.c: More code reorganization; new Alt-D and Alt-Backspace
	key handling.

Thu Jul 14 19:37:18 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (toggle_fast_reload): Show the warning message when
	activating for the first time the Fast directory reload.

Wed Jul 13 11:51:51 1994  Miguel de Icaza  (miguel@sphinx)

	* util.c (init_uid_gid_cache): New cache for get_group and
	get_name. This should speed up the Long directory listing.

	* input.c (delete_char): New function. Patch from Ralf G. R. Bergs
        <rabe@advw2.GM.FH-Koeln.DE>.
	(backward_word): Skip correctly over punctuation characters.

Mon Jul 11 14:36:15 1994  Miguel de Icaza  (miguel@sphinx)

	* input.c: New command history in all input lines.

	* view.c (view_status): Display 100 percent with files with 0
	bytes size.

	* screen.c (repaint_file): Small cosmetic change that paints
	>UP--DIR< when the directory is "..".

	* input.c (handle_char): Use a keymap instead of the old switch in
	the input mechanism.
	(kill_save): Updated kill/yank mechanism.

	* main.c (start_search): Now it's again possible to search
	incrementally for a file name.
	(do_search): Now can go back in the search string.

Wed Jul  6 14:43:12 1994  Miguel de Icaza  (miguel@sphinx)

	* help.c (interactive_display): Added entries for page-up,
	page-down. 

	* main.c (mkdir_cmd): Added missing call to select_item to
	reselect the just created directory.

Mon Jul  4 12:52:34 1994  Miguel de Icaza  (miguel@sphinx)

        * Relase 0.8

	* help.c: Changed node separator from '%' to ^D (octal 004).
	(interactive_display): When pressing enter on a node without
	links, go back to the previous link.

	* util.c (regexp_match): Removed buggy optimization for detecting
	same if the same pattern was being applied.

	* main.c (try_to_select): Added call to display_mini_info. 
	try_to_select may be called when the file does not exist anymore.

	* find.c (select_and_change_panel): When changing directories,
	reset the total byte count (cpanel->total).

	* main.c (do_cd): When changing directories, reset the total byte
	count (cpanel->total).

	* help.c (search_string_node): If start is 0, return the main node.

	* man2hlp.pl, gindex.pl: New programs to convert the man page to
	the help file format.

Thu Jun 30 14:25:34 1994  Miguel de Icaza  (miguel@roxanne)

	* Changes all over the place to remove warnings from -Wall
	-Wno-implicit.

Wed Jun 29 15:32:06 1994  Miguel de Icaza  (miguel@sphinx)

	* input.c (handle_char): Input lines now support M-b, M-f for word
	by word movement.

	* main.c (default_key, do_nc): Now file name searches are started with
	the Alt-S keysequence. Code cleanup.

	* input.h (ALT): New Macro for alt-keys

	* input.c (create_input, insert_char, update_input): All input
	lines are malloced. They realloc as needed, they scroll as needed.

	* find.c (input_find): Keep in sync with new Input line management.

	* main.c (ren_cmd, copy_cmd, mkdir_cmd, select_cmd, unselect_cmd):
	Fixed small bug. Keep in sync with the new Input line management.

	* dialog.c (input_dialog): Keep in sync with new Input line
        management.

	* main.c (do_nc): Use COLS-strlen(prompt) instead of COLS-2-...

	* input.c (create_input): Code cleanup.

	* main.c (main): The unknown option is already handled by getopt,
	just exit(1).

	* key.c (mi_getch): Bug fix: Added option to recognize ESC-Tab.

Mon Jun 27 13:01:03 1994  Miguel de Icaza  (miguel@sphinx)

        * Release 0.7

	* screen.c (Xtry_to_select): New: now tries to select a file near
	the deleted file. The old behavior was really painful.

	* main.c (toggle_fast_reload): Added configuration option to use
	fast directory reload.
	(main): Abort execution if unknown option passed to the program.
	(execute): Replaced repaint_screen for refresh_screen. 
	(select_item): New macro to select a file without repainting the
	screen. 
	(try_to_select): Select without repainting the selection.

	* screen.c (panel_reload), main.c (save_cwds_stat): Now,
	optionally use the stat trick to do a fast reload of a directory.

	* profile.c: Added include sys/types.h
	(GetPrivateProfileInt): Extended the integer array size from 5 to
	6.

Fri Jun 24 12:25:25 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (main): Call save_stop_handler ().
	(pre_exec): Call endwin ().
	(execute): call my_system, this should get rid of most of the
	problems related to complex commands spawned.
	(execute): removed call to repaint_screen.

	* util.c (my_system): Misc changes to replace the actual execute
	command sequence. This must fix also the annoying bug that
	repaints the screen.

	* ext.c (regex_command): Now it correctly recognizes all the
	extensions in the extension file.

	* main.c (mark_file): Fixed bug that didn't repaint the mini info
	in some conditions.

Wed Jun 22 18:49:07 1994  Miguel de Icaza  (miguel@sphinx)

	* screen.c (panel_reload): Now it correctly clears the number of
	bytes in tagged files.

	* main.c (main): Added option -P that prints the ending working
	directory at program exit. It's still buggy.

	* dir.c: Now it's possible when sorting files to show files and
	directories together or separated (like the original nc).

	* main.c (mark_file): Fixed cosmetic bug that didn't clear the
	mini_info area correctly.

	* screen.c (repaint_file): Added support for showing dates instead
	of permissions in the panels. Still no way to activate it.

	* main.c (copy_other_prog_name): Added Meta-Tab key. It inserts
	the selected file name in the other panel into the input line.

Tue Jun 21 19:25:26 1994  Miguel de Icaza  (miguel@sphinx)

	* help.c (interactive_display): Added history to the hypertext
	browser.

Tue Jun 14 17:47:30 1994  Miguel de Icaza  (miguel@sphinx)

	* find.c: new version from Mauricio.

	* main.c (save_cwds_stat): removed the stat () trick optimization.

	* screen.c (panel_reload): removed the stat () trick optimization,
	it's not working in some cases, and I don't know how to fix it.

Mon Jun 13 20:32:07 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (ext_cmd): Fixed bug that didn't pass home_dir to sprintf.
	(mkdir_cmd): Now it will select the directory just created.

	(do_edit,xmalloc): Thomas Roettgers fixes to a couple of bugs.

Mon Jun 13 17:40:36 1994  Mauricio Plaza (mok@lya.fciencias.unam.mx)

	* find.c: Many bug fixes.

Wed Jun  1 17:19:13 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c: corrected entry for User Menu.

	* view.c (move_forward, move_backward): Corrected bug, fix by
	Torben Fjerdingstad <tfj@olivia.ping.dk>.

	* main.c: replaced condition marked > 1 by marked > 0. The code
	didn't check correctly when only one file was tagged and operated
	on the selection instead.

Tue May 31 19:59:30 1994  Miguel de Icaza  (miguel@sphinx)

	* user.c (execute_menu_command): Fixed temporary file unlink bug.

	* ext.c (exec_extension): Fixed temporary file unlink bug.

	* main.c (ext_cmd): New extension file edit command.

	* user.c (expand_format): expansion of %f, %d, %F and %D in the
	user menu commands and in the extension dependent exec.

	* ext.c (regex_command): Execution of programs based on the
	filename extension implemented.

	* menu.c (run_menu): Fixed bug to select entries in the menus by
	letter. 

Mon May 30 13:03:07 1994  Miguel de Icaza  (miguel@sphinx)

	* screen.c, main.c: various changes to optimize directory loading
	(suggested by Torben Fjerdingstad <tfj@olivia.ping.dk>). Now it's
	a pleasure to use the program even on /usr/local/bin.
	(long_frame): corrected cosmetic bug (COLS/2 -> COLS-2)

	* color.c: Added option to disable colors.

	* main.c (main): Now it's possible to specify an initial directory
	for both panels.

	(main): Added option to disable colors.

	(main): -V option added to report version number.

Mon May 23 21:12:14 1994  Miguel de Icaza  (miguel@sphinx)

	* help.c, menu.c: added copyright

	* view.c (display): Don't display characters above 127.
	(init_view): Added clearok to view_win to clean the screen before
	updating view_win.

Sun May 15 14:11:47 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c: fixed bug that didn't set correctly select variable
	after calling try_to_select.

Sat May 14 13:43:58 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c: Added help and user menu to the File Menu.

	* dialog.c (refresh_fn): points to a variable to refresh the
	current screen.

	* util.c (icase_search): new routine based on search_string.

	* help.c (search_string): corrected typo (e now is *e).

Thu May 12 16:40:45 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c: Misc patches to interface the new internal viewer.

	* view.c: New internal viewer.

	* key.c (mi_getch): Added support for ESC->, ESC-<,
	ESC-Upper(letter). 

	* screen.c: many changes to support long display

	* main.c: misc changes for support for long display

	* main.c: Use panel_refresh instead of wrefresh (panel->win_file). 

	* main.c: Fixed bug that didn't correctly set the selection
	variable when using page/up/down/home/end keys.

Wed May 11 15:52:49 1994  Miguel de Icaza  (miguel@sphinx)

	* help.c: corrected bug that crashed the program (trying to select
	a link on a node without links).

Tue May 10 11:40:21 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (move_home): now it goes home no matter if top_file is 0.

Mon May  9 11:01:09 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (suspend_cmd): Added suspend option.
	(enter): Allow "cd" and "cd " to chdir to $HOME
	(do_cd): Allow "cd" and "cd " to chdir to $HOME

Sun May  8 13:42:41 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (execute): system now executes commands by calling the
	user's shell with -c command argument.

	* screen.c (try_to_select): Corrected bug introduced when fixing
	selection of root directory subdirectories.

	* user.c: New: user menus.

	* main.c: Corrected unselect key.

Fri May  6 13:10:52 1994  Miguel de Icaza  (miguel@sphinx)

	* screen.c (try_to_select): Correctly try_to_select when going up
	to the root directory.

Tue May  3 11:07:45 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (init_panels): Now it correctly changes the other_dir
	(update_panels): does a chdir to cpanel->cwd after updating
	the information.

	* screen.c (display_mini_info): Changed selection for
	panel->dir [panel->selected].fname since it showed wrong
	information in opanel.

	* main.c: (check_menu_panel): Corrected indexes to reflex the
	released features

        * main.c (copy_cmd): Now it unselects the copied files.

	* main.c, util.c: Added setup loading/saving.

	* util.c (regexp_match): modified code to handle the '?' meta
	command as a '.' in the regular expression.

	* input.c (handle_char): When pasting characters with c-y the
	buffer would overflow.

	* main.c (ren_cmd): fixed minor bug.

Mon May  2 10:25:11 1994  Miguel de Icaza  (miguel@sphinx)

	* many changes to support variable screen widths/lengths.

	* color.h, menu.c: Fixed problem with menu colors on monochrome
	terminals. 

	* dir.c (do_reload_dir): Fixed bug that didn't retag correctly the
	files (next_free instead of count).

Sun May  1 16:29:05 1994  Miguel de Icaza  (miguel@sphinx)

	* main.c (cmd_quit): Asks before quitting, clear screen when
	finishing the program.

	* menu.c (get_motion): Fixed bug for query box.

	* find.c (select_and_change_panel): Call select_item to update the
	content of the selection variable.

	(do_find): After running the find, restore nodelay to false.

