Fri Jan 16 00:11:20 1998  Norbert Warmuth <k3190@fh-sw.de>

        * popt.c (poptGetNextOpt, poptReadConfigFile): added missing free
        and munmap

        * vfs/ftpfs.c: Activated CD_THEN_LS_DOT as default; instead of
        "LIST path" send the commands "CWD path" and "LIST ."

        * vfs/ftpfs.c (command): First check errno because
 	disable_interrupt_key might change it.

        * vfs/ftpfs.c (resolve_symlink): Finished the CD_THEN_LS_DOT hack.
        If you activate it you will be able to browse directories containing
        spaces in their name (that's a compile-time option; search
        for the define in this file).

        * vfs/ftpfs.c (__ftpfs_chdir): New function; this code is moved from
        ftpfs_chdir, takes a remote path and for performance reasons it keeps
        track of previous CWD's.

        * vfs/ftpfs.c: To change directories use __ftp_chdir instead of
        sending the CWD command.

        * vfs/vfs.c (parse_ls_lga): Added support for symlinks containing
        spaces (spaces either in the name of the symlink or in the target
        of the symlink).
Thu Jan 15 23:09:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* color.c (get_two_colors), (configure_colors_string): get two
	colors now splits the color names instead of brute force text
	matching.  make a copy of the string to be able to patch the
	string. 

	* screen.c (file_compute_color): renamed, old name was
	normal_color.  This is now used by the gnome port as well.  The Tk
	port should be using this too instead of having its own color
	scheme. 
	
	* color.h: Use PORT_COLOR to choose the color.

	* gscren.c: Compute the proper sizes for the panel columns;  Add
	sorting callbacks for the buttons on the top

Wed Jan 14 22:29:01 1998  Peter Daum <gator@cs.tu-berlin.de>

	* patchfs: added new file system for browsing patch files.
	
Wed Jan 14 20:54:38 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (parse_display_format, use_display_format):
	Functionality has been splited now.  the former routine only
	parses the user specified format, while the later parses and
	activates the format for text mode editions.

	* panel.h (format_e): we now have a couple of extra fields:
	use_in_gui indicates that this field should be displayed on a GUI
	(ie, only the text-mode decoration tags are ommited).

	expand field indicates that the field should be expanded.
	
Wed Jan 14 12:55:19 1998  Sung-Hyun Nam <namsh@lgic.co.kr>

	* mc.tcl: find a user specific 'tkmc' file in the ~/.mc

Tue Jan 13 17:15:21 1998  Pavel Roskin <pavel_roskin@geocities.com>
	
        * main.c (pre_exec): reset_prog_mode is not called if mc is
        compiled with SLang. Otherwise, raw_mode in invoke_subshell()
        may be improperly initialized. In this case Ctrl-O was ignored
Tue Jan 13 09:08:32 1998  Alex Tkachenko  <alex@bcs.zp.ua>

	* widget.c (show_hist): cleaned up; historylist_callback (now removed)
	replaced with listbox_finish to enable selection with mouse double click
	
	* wtools.c (create_listbox_window): added comparison of passed width
	with title and cancel button length. Max value of three is now taken;
	fixed cancel button xpos calculation.

Sun Jan 11 11:31:39 1998  Alex Tkachenko  <alex@bcs.zp.ua>

	* view.[ch]: removed obsoleted macro HEX_EDIT and related code
	cleaned up. 

	* wtools.c (query_dialog): added color to hotkeys in focus

        by subshell on FreeBSD.

        * mouse.h: obsolete code removed. gpm-xterm.h doesn't exist anymore

        * nt/Makefile.NT: sldisply.c is not linked with mc.

        * myslang.h: we don't try to draw double lines for panels anymore
	because "official" SLang doesn't support them supported for OS/2
	and NT.

        * doc/mc.sgml: "<tscreen><verb>" should not appear in mc.1 and
        mc.hlp anymore.

        * layout.c, main.c: "mc -a" is not supported for OS/2 and NT.

        * configure.in: libtermcap is linked only if it is available and
        needed.

        * vfs/undelfs.c: umode_t is undefined before entering the kernel
        headers, because the Linux kernel defines its own umode_t

        * key.c: First left mouse click on xterm was interpreted as
        a right click. Now event->buttons doesn't need to be initialized
        (exactly as in liblow.c in libgpm)

        * screen.c, key.c: Some routines were surrounded with HAVE_XVIEW.
        HAVE_X is used instead since that code is not used in Tk and gnome
        versions either.

Tue Jan 13 11:08:26 1998  Norbert Warmuth <k3190@fh-sw.de>

        * lib/mc.menu: Bugs fixed caused by quoting the expanded %-macros

Fri Jan  9 20:33:14 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* layout.h (get_other_panel): Define get_current_panel/get_other_panel
	as macros that use the index stuff we used before.  I am getting
	rid of this. 
	
	* gnome/glayout.c: Gnome code does not link with the layout.c
	code, we use our own set of routines here.

Fri Jan  9 13:24:22 1998  Norbert Warmuth <k3190@fh-sw.de>

        * vfs/extfs.c (extfs_get_path_from_entry): New function which maps
        a struct extfs_entry to a local path inside the archive.

        (extfs_open, extfs_close): Use the path to the resolved symlink
        when making or storing a local copy of a file from the archive
        (at least the zipfs doesn't follow symlinks).

Thu Jan  8 20:10:23 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c: Moved some edition specific code into the edition
	specific routines (Tk, XView, Gnome and text).

	* text.c: new file, has some of the text mode edition code bits. 

Sat Dec 6 23:24:23 1997   Yuri Kuzmenko <yuri@microsoft.kiev.ua>

        * main.c: added -r command-line option. It removes
        "The shell is already running a command" message in
	
Thu Jan  7 14:50:00 1998  Norbert Warmuth <k3190@fh-sw.de>
	* screen.c (panel_callback): Don't set h->grided to zero. The fix
	in dlg.c (create_dlg) is sufficient.
	       

Wed Jan  7 17:55:40 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
	* dlg.c (create_dlg): Initialize new_d->grided to zero.  [ Note:
	Strange, very very strange, as this is supposedly initialized by
	x_create_dialog from the D_GRID flag.  Mhm, wonder what is going
	on there ].

Wed Jan  7 17:30:53 1998  Norbert Warmuth <k3190@fh-sw.de>
	* screen.c (panel_callback): Initialize h->grided to zero.

	* extfs.c: fix crash by using properly quoted file names to the
	scripts. 
	
        * configure.in: INSTALL_PROGRAM mustn't be set explicitly. configure
        adapts the path in INSTALL but not in INSTALL_PROGRAM and INSTALL_DATA
        (adaption of the path is necessary when the compilation tree is
        different from the source tree and mc/install-sh is used for
        installation).

Tue Jan  6 18:10:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* tkwidget.c (tk_new_command): 

	There are two types of dialog boxes in the Tk edition: those that
 	are manually layed out (which have a layout_XXXX routine in
 	mc.tcl) and those that are layed out according to the information
 	generated by the GUI designer (gd.tcl).  The layout information
	for the later are called gui.XXX.tcl, and they contain information
	used for laying out widgets according to a table.

	Now, dialogs that used the GUI designer, had their widgets labeled
	(this label was recently used by the history code (and thus, some
	widgets that did not have name, got names, which means that they
	will be tried to be layed out with the wrong laying out routine).

 	The flag DLG_GRID is used when creating a dialog box that uses the
	gui designer, so we store this variable now and use it when
	creating the widgets.
	
Tue Jan  6 18:07:24 1998  Norbert Warmuth <k3190@fh-sw.de>

        * edit/edit.c (edit_load_file), editcmd.c (edit_save_as_cmd,
        edit_save_cmd, edit_quit_cmd): Delete the edited file if we
        created it in edit_load_file (e.g. mcedit <non-existing-file>)
        and the file wasn't modified OR it wasn't saved.

        * editcmd.c (my_open, pipe_mail): Deleted the external declaration
        of errno (errno is delared in errno.h which is already included);
        deleted the only reference to errno (I can't see it's purpose).

Mon Jan  5 13:11:54 1998  Norbert Warmuth <k3190@fh-sw.de>

	* acconfig.h: Define HAVE_CRYPT when libcrypt or libcrypt_i are
	available. AC_CHECK_FUNCS(crypt) defines HAVE_CRYPT but 
	AC_CHECK_LIB(crypt, crypt) doesn't (the consequence were login
	failures with mcserv). 

	* configure.in: Define HAVE_SOCKET also when the function socket
	isn't found in libc but in a other library.

	Don't define HAVE_GETHOSTBYNAME by using AC_CHECK_FUNC instead of
	AC_CHECK_FUNCS (we don't use this define and to be consistent we
	would have to do the same as for HAVE_SOCKET and HAVE_CRYPT).

	* doc/mc.in.1, doc/mc.sgml, mc.hlp: Updated the find-file entry
	(the contents field is interpreted as regular expression).

	* lib/mc.hint: Updated the information for lynx-style navigation.

	* layout.c (layout_cmd): Removed de-reference of NULL-pointer in the
	XView edition

	* main.c (reload_panelized): Update the panel's summary information

	* popt.c: removed references to alloca

	* widget.c: more changes to prevent mxc from issuing characters 
	on the console 

	* vfs/Makefile.in: Install extfs/arfs from the source directory
	and not from the compilation directory which lacks arfs if both
	are different directories.

	*vfs/extfs.c: Quote special characters before passing it to pipe.

	(read_extfs_archive): List a symlink as normal file if the extfs-
	script lists symlinks without providing the destination of the symlink 
	(namely the zipfs caused coredumps) 
	
	* vfs/mcfs.c (mcfs_login_server): Close the socket after and not 
	before it's last use.

	* xv/Makefile.in: Some sourcefiles which depend on HAVE_XVIEW and
	HAVE_X were not recompiled.

	* xv/xvwidget.c (x_create_gauge): set the PANEL_CLIENT_DATA (other
	parts of the code depend on it)

	* lib/mc.ext.in: Added entry for ftplist-extfs

	* user.c (expand_format): Added parameter which decides whether
	expanded %-macros are quoted or not. 
	Adapted every reference to "expand_format" for the additional 
	parameter

	* ext.c (exec_extension): Don't quote the result of expanded %-macros
	when we use it internally (e.g. the parameters of %cd).

	* util.c (name_quote): Quote backticks.

	(fake_name_quote): New function used by exec_extension (I need this
	function only because I was too lazy to recode exec_extension 
	completely and wanted to avoid a lot of if-clauses).

	* vfs/extfs/arfs, deb.in: Set LC_ALL to the C locale because we run
	"date" and expect the output to be formated for this locale.

	* vfs/extfs/*: Removed "eval" from the scripts because it made problems
	with filenames which contain special characters, e.g. ', "

	* vfs/extfs/ftplist.in: If mc is compiled with "-DWANT_PARSE" you
	will be able to hit return in order to connect to ftp servers listed
	in the ftplist-extfs.

	* vfs/extfs/zip.in: Added support for symlinks in zip-files.

Tue Dec 30 15:20:13 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* widget.c (button_new): We no longer require the hotkey and the
	hotposition arguments, these are automatically computed from an
	embedded "&" in the button text.  This is required for
	internationalizing the program.

	* achown.c (init_chown_advanced): Adhere to new button_new
	convention.
	
	* achown.c, boxes.c, chmod.c, chown.c, file.c, find.c, wtools.c,
	panelize.c, option.c, listmode.c, learn.c, layout.c, hotlist.c:
	likewise.

	* wtools.c (query_dialog): Do not use the first character as the
	hotkey, clients now should use the widget "&" character.
	
Tue Dec 30 15:06:52 1997  Tomasz Kłoczko <kloczek@rudy.mif.pg.gda.pl>

	* edit/: Many small changes preparing for internationalization.

	* doc/: renamed the manual pages to include a .in, the manual
	pages are now generated by configure.

	* makimg definition INSTALL_PROGRAM depended on
	--with[out]-debug. Default value INSTALL_PROGRAM is "${INSTALL}
	-s" (striping binaries on installing), with --with-debug is
	"${INSTALL}"

	* tk/Makefile.in: Compiling the tk edition on first pass.

	* mc.spec.in: Cosmetic changes.
	
Tue Dec 30 14:30:09 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* vfs/extfs/arfs: UID and GID shell variables renamed because they
	are read-only under Linux.

	* configure.in: mxc can be compiled if even libXext is missing.

	* main.c, layout.c: minor changes to prevent tkmc and mxc from
	issuing some characters on the console. initscr is included into
	init_curses. 

Tue Dec 30 14:28:54 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* view.c (view_hook): Allow viewing links in quick view mode.

Tue Dec 23 13:19:36 1997  Norbert Warmuth <k3190@fh-sw.de>

        * find.c (find_parameters): Don't quote special characters like (,
        [ and | in the search string (Note: for egrep name_quote quotes
        to many characters).

Mon Dec 22 15:28:25 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* screen.c (panel_key, keymap): Alt-H is now only used to center 
	the current selection if torben_fj_mode is on, this allows the
	history to be used with Alt-h.

Mon Dec 22 15:14:22 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* mc.sgml, mc.1, mcedit.1, mc.hlp, main.c: gray and brightred
	colors was not mentioned.

	* ext.c: isspace is used instead of comparision with space and
	tab. MC for NT has working internal viewer again (there was a
	problem with parsing of mc.ext).

	* find.c: improved look of dialogs for console and XView
	versions. Hotkeys for edit ('e') and view ('v') work now.

	* tree.c: NULL is no more used in define_label and
	define_label_data. XView version can show the tree buttonbar
	(which is not yet useful).

	* many files in edit/, src/, nt/: added config.h where
	needed. Minor fixes to prevent grp.h and pwd.h from including in
	OS2 and NT version. Makefile.NT is updated. HAVE_TRACE determines
	whether tracing in util.debug.c is enabled. 

	* utilnt.c: canonicalize_pathname returns value. If MCHOME is not
	defined, the directory is used, where mc.exe resides

	* nt/drive.c: updated.

	* nt/chmod.c: New button scheme is used.
	
	* nt/Makefile.NT, nt/Makefile.VC4: updated

	* edit/wordproc.h: include config.h

	* src/widget.c: after changing the label of a button, the dialog
	is redrawn. 
	
Mon Dec 22 15:12:50 1997  Alexander Romanyuk <alexr@krid.crimea.ua>

	* edit/editcmd.c (edit_refresh_cmd): Use the same refresh code as
	used in dlg.c

Mon Dec 22 14:56:26 1997  Bakeyev I. Timur timur@goff.comtat.kazan.su

	* editcmd.c, editoptions.c: adjusted the buttons locations to work
	with the new button code.

Mon Dec 22 14:43:16 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* layout.c (setup_panels): If the keybar is not visible, then
	reduce the size of the command input line. 

	* ChangeLog: went back to old date format, I get confused with the
	new date specification.  To make your emacs 20 work like this set:

	(setq add-log-time-format 'current-time-string)

Mon Dec 22 14:43:16 1997  Norbert Warmuth <k3190@fh-sw.de>

        * ext.c (FILE_CMD): Removed -- when invoking file because the file
        command shipped with sco doesn't support the -- option

        * util.c (name_quote): Names beginning with a dash will be prepended
        with ./

Sun Dec 21 00:00:00 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* cons.saver.c (detect_console): Do not check for root privileges.
	Newer versions of Linux have a /dev/vcs, which should have the
	user id permissions set correctly by login. 

1997-12-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* docs: Updated Ching Hui's address to his new address:
	mr854307@cs.nthu.edu.tw

	* Added Norbert to some files, not complete though.

1997-12-19  Norbert Warmuth <k3190@fh-sw.de>

        * popt.h (poptStrerror): Added workaround for systems lacking
        strerror

1997-12-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* ext.c (FILE_CMD): Include a -- when invoking file to avoid it
	interpreting dashes on the filenames.

1997-12-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (handle_args): Do not depend on optarg

1997-12-17  Norbert Warmuth <k3190@fh-sw.de>

        * main.c (do_nc): Fixed wrong parameter count ('edit' takes two
        parameters)

1997-12-21  Paul Sheer <psheer@icon.co.za>

	* editcmd.c: Some dialog boxes did not have tknames for the
	input histories. I've now check all the input widgets and all
	seem to have adequite (i.e. unique) tknames.

	* widget.c: Added a button to all input widgets that have a
	reasonable width. You have a choice of two styles determined by
	LARGE_HISTORY_BUTTON at compile time. I have set this to larger
	style:  [^]  as apposed to the smaller style:  ^   i.e. a button
	with an up arrow in it instead of just an arrow. I still am not
	sure of the color scheme everyone would prefer. Should the
	history button be the same as a regular button? This is
	extremely cool, because even the commandline has a little button
	to the right which you can click on for an input history.

	* widget.c: input history listboxes that appear above the widget
	now have the last line selected (most recent input) instead of
	the first line (oldest input).

	* whats with the new date style?

1997-12-16  Norbert Warmuth <k3190@fh-sw.de>

	* configure.in: check for ext2fs/ext2fs.h and linux/ext2_fs.h
        before enabling the undelfs (libext2fs alone isn't sufficient
        for a successful compile of the file recovery code).
        $withval isn't processed yet, i.e. --with-ext2undel and
        --with-ext2undel=/usr/src/ext2fs are the same.

        * edit/edit.c (edit): Added parameter, now it's possible to invoke
        the internal editor and jump to the passed linenumber

        * lib/mc.ext.in: removed the quotes which surrounded the %-macros

        * cmd.c (do_edit_at_line): invoke the editor and in case of the
        internal editor jump to the passed linenumber.

        * ext.c (exec_extension), find.c (find_par_start), main.c (copy_tagged,
        copy_prog_name), view.c (load_view_file): Added calls to name_quote
        where appropiate, i.e. everything which is passed to the commandline
        of a shell is passed to name_quote first

        * file.c (find_file): Added a button to invoke the editor from
        the results dialog.

        * subshell.c (quote_directory): deleted

        (do_subshell_chdir): use name_quote instead of quote_directory

        * user.c (expand_format): pass expanded parameters to name_quote

        * util.c (name_quote): prefix characters with special meaning to
        the shell with '\' (I fear the current implementation is highly bash
        specific);
        when requested by the caller double percent signs (that's needed
        when copying filenames to MC's commandline)

        * tk/gui.mfind.tcl: Added button to invoke the editor

Mon Dec 22 11:21:17 1997  Bakeyev I. Timur timur@goff.comtat.kazan.su

        * widget.c (button_new): Change number of parameters in function call.
        Now, You need just specify button type and pure label name, without
        ugly spaces and brackets. This allows to reuse same button name under X
        versions of MC.

        * button_callback: Add code, that draw proper button, dependently of
        it's type.

        * widget.h: Add constants for new types.

        * query_dialog: Changes to handle new buttons, style overwritting.

        * quick_dialog: Apropriate changes to show new buttons correctly, style
        changing, ability to have default button.

        * Mostly all dialog boxes was rewritten, to make their look similar
        and a bit smoother :).

1997-12-16  Paul Sheer (psheer@icon.co.za)

	* widget.c (history_put): Check for a tkname in a couple of extra
	places. 

1997-12-16  Pavel Roskin <pavel_roskin@geocities.com>

	* src/popt.c: Include config.h to get the HAVE_MMAP definition.

1997-12-15  Miguel de Icaza  <miguel@metropolis.nuclecu.unam.mx>

	* file.c (file_mask_dialog): 

1997-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* edit/editcmd.c: Provide tknames for the quick input lines 
	on for search/replace and for the mail dialogs.

	* src/widget.c (history_put): Do not manipulate the history for an
	input line that lacks a tkname.
	
	* panel.h, screen.c (parse_display_format): Keep track of the
	number of columns on the format.

	* gscreen.c: Use GtkClist widget for representing the file
	listing. 

1997-12-13  Paul Sheer (psheer@icon.co.za)

	* src/widget.c: Add support for input line history
	saving/restoring.
	
	* src/profile.c: add translate/untralste routines (required for
	avoding the case where a newline is saved as part of the history
	routines). 

	Paul sent this as '\0200', I changed it to '\\', even if he told
	me that it could have problems with Windows :-).  Blame me, not
	him for this change.

	* src/setup.c: Keep track of the number of history items stored.
	
	* src/command.c: add a tkname to the input line.
	* src/file.c: add tknames for all of the input lines
	* src/wtools.c: likewise.
	
Thu Dec 11 11:37:47 1997  Alex I. Tkachenko (alex@bcs.zp.ua)

	* src/view.c (load_view_file): remove unused variable; 
	seek to the beginning of the file (since it gets advanced by the
	zip-figure out routine).

Wed Dec 10 10:28:44 1997  Norbert Warmuth <k3190@fh-sw.de>

        * widget.c (button_len): New function. Dependent of the type of
	button (NORMAL_BUTTON, NARROW_BUTTON, DEFPUSH_BUTTON,
	HIDDEN_BUTTON) calculate the amount of characters the button label
	occupies. 

	(button_new, button_settext): use button_len instead of strlen. 
	
	* main.c (handle_args): There were still references to variables
	specific to getopt - replaced with the corresponding popt function
	calls. 	
	
	* dlg.c (frontend_run_dlg): changed the call to get_event because now 
	it takes an additional parameter

	* file.c (update_buttons): deleted

	(check_buttons): Completly rewritten - check mouse and key events
	nonblocking and process available events with the dialog manager.

	(create_op_win): Added "Skip" and "Abort" buttons. Previously we 
	handled these buttons completely without the dialog manager, i.e.
	these buttons looked like buttons but we displayed them with addstr
	and processed events (only keypresses) ourself.
	Now these buttons can be selected with the mouse.

	(file_mask_dialog): Changed the order in which the checkbuttons are
	added to the dialog. Now when pressing tab the selection goes round
	and round (Timur did a terrific job in fixing all the other dialogs).

	* key.c (get_event): Added parameter to make it possible to select 
	blocking or non-blocking behaviour (This change breaks the OS2 and NT 
	version, sorry).
	I need the non-blocking behaviour in check_buttons. Previously it
	was only possible to check non-blocking for keypresses.

	* key.h: changed declaration of get_event

	* tk/gui.quick_file_mask_copy.tcl: Changed the order of the 
	checkbuttons

Wed Dec 10 10:19:52 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* gnome/Makefile.in: popt.c is compiled with the gnome version
	   gwidget.c: clean_button is not needed anymore
	
	* user.c: filename of the global menu is calculated using
	     concat_dir_and_file instead of copy_strings
	
	* configure.in: use lynx if no browser for X is found
	  lib/mc.ext.in: mc uses the best browser available
	

Mon Dec  8 07:20:34 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* configure.in: allow to remove support for ext2-undel file system
Sat Dec 13 17:15:32 1997  Paul Sheer <psheer@icon.co.za>

	* edit/edit.c, edit/*.c: updated editor code to match cooledit
	sources.

	* editoptions.c: Nice options dialog box.

	* wordproc.c: wordprocessor like paragraph formatting for the
	editor.

Fri Dec  5 23:13:30 1997  Yuri Kuzmenko <yuri@cracksoft.kiev.ua>

        * find.c: fix the bug with unsaved in_contents field

Fri Dec  5 07:23:34 1997  Norbert Warmuth <k3190@fh-sw.de>

        * main.c (do_execute): Don't advice the subshell to chdir into
        non-local virtual filesystems.

        (do_panel_cd): Stop filename search (C-s) when the directory is
        changed.

        (print_usage): this_dir and other_panel_dir were listed in
        the wrong order.

        (handle_args): The transition from getopt to popt wasn't complete (e.g
        with "mc -u -s" this_dir and other_panel_dir were set to "-u"
        and "-s").
	
Mon Dec  1 05:35:00 1997  Norbert Warmuth <k3190@fh-sw.de>

        * cmd.c (menu_edit_cmd): use concat_dir_and_file instead of
        copy_strings

        * util.c (set_int): enlarged the temporary buffer because the
        ascii representation of an integer value can be greater than
        five chars.

        * file.c (file_mask_defaults): New function which sets the global
        variables used by the copy and move file routines to a reasonable
        default. Use file_mask_defaults when you don't want to call the
        interactive file_mask_dialog.
        Note: I know that always setting preserve_uidgid is redundant
        for non-root when we keep the change in setup.c but I like it
        this way better (everything set in one function without making
        assumptions).

        * setup.c (load_setup): removed the check for preserve_uidgid
        which isn't longer necessary

        * cmd.c (check_for_default), tree.c (tree_copy, tree_move): call
        the new file_mask_defaults

Mon Dec  1 05:47:17 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
	
	* cmd.c (ext_cmd): use proper filenames for ~ and $MCLIB

	* ext.c: likewise.

Mon Dec  1 05:14:41 1997  Alex Tkachenko <alex@bcs.zp.ua>

	* popt.c: If mmap is not available, read the configuration file
	into memory.

Sun Nov 30 18:11:18 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c: Tell the user about the new location of his
	configuration files. 

	* subshell.c (init_subshell): Use .bashrc if the .mc/bashrc file
	does not exist.

	* user.c (user_menu_cmd): Cleaned up the menu filenames.

Fri Nov 28 12:38:39 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (print_usage): Include the long options now on the
	listing. 

	* mc.1, mc.sgml: Updated docs to new pathnames;  Unformized usage
	of the $HOME and ~ usage in the docs.

	* user.h (MC_MENU), main.h (MC_BASE), ext.h, ext.c, main.c,
	tree.h, cmd.c, main.c (do_compatibility_move): Move the midnight
	commander specific files into ~/.mc.

Thu Nov 27 22:07:34 1997  Erik Troan  <ewt@redhat.com>

	* src/popt.c, src/popt.h: New files, long options argument parsing
	module.

	* src/main.c: Implement long options.

Thu Nov 27 19:14:33 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* main.c (prepend_cwd): Prepend the directory only if the pathname
	is a local pathname.

	* configure.in: autodetect the ext2lib.

	* mc.tcl: catch tk_popup output, there is a bug in tk 8.0

	* util.c (get_current_wd): Replace HAVE_VFS with USE_VFS, thanks
	to Pavel for submiting the relevant information.

Thu Nov 27 19:05:12 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* boxes.c: very small patch for src/boxes.c Some array was
 	incorrectly initialized, XV_WLAY_DONTCARE was at a wrong position.

Thu Nov 27 11:48:06 1997  Norbert Warmuth <k3190@fh-sw.de>

	* vfs/tar.c (load_compressed_tar): Allocate the memory for the
 	uncompressed tar file after mc_doublepopen, i.e. when forking MC's
 	process size will be much lower (that's a win on systems without
 	memory over-commitment); Make a memory hole in size of 100k which
 	enlarges on some system the chance that free can give back memory
 	to the operating system when the memory for the tar file is freed.

Wed Nov 26 11:16:01 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* src/background.c, cons.handler.c, utilunix.c, extfs.c, tar.c:
	Include sys/wait.h only if HAVE_SYS_WAIT_H is defined. 

	* Makefile.NT, Makefile.VC4: Updated

Mon Nov 24 16:48:16 1997  Norbert Warmuth <k3190@fh-sw.de>

        * file.c (copy_file_file): "preserve Attributes" didn't work when
        fetching files with ftp.

	* utilunix.c (init_groups): Check the return value of getpwuid(),
        it can be NULL.

Fri Nov 21 18:08:54 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* view.c: Double escape on save dialog was save old changes. Now
	it cancels quit.
	
	* key.c: get_key_code() returns ERR in tkmc version. This
 	preventsome SLang functions from linking with tkmc.
	
	* subshell.c: mc warns about unsuccessful directory change in
	messagebox, not via fprintf().
	
	* help.h: help_follow_link() is declared here to prevent a warning
	when compiling mxc.
	
	* tkmain.c: spelling error corrected. Internal viewer is
	incomplete, but does work.

Fri Nov 21 16:46:44 1997  Norbert Warmuth <k3190@fh-sw.de>

        * mountlist.c: For BSDI: Assume BSDI 2.1 if MOUNT_UFS is defined.
  	xBSD mustn't be defined to compile MC on BSDI 2.1.  Moved all
 	defines after the include files.

Thu Nov 13 12:24:23 1997  Norbert Warmuth <k3190@fh-sw.de>

	* find.c: fix the bug introduces by Pavel's fix.  Goto a directory
	which contains more files than the number of  files which fit into
	the panel, select the last file, find one file, panelize the
	search result and voila - coredump. 

        * lib/mc.ext.in: added support for word2x and catdoc (disabled);
        I'm not sure about the icon.

Wed Nov 19 12:51:51 1997  Alex Tkachenko <alex@bcs.zp.ua>

	* setup.c (load_setup) ignoring preserve_uidgid config option
	if called by non-root option.
	
	* doc/mc.1 doc/mc.sgml added notes for local menu files.

Tue Nov 11 11:51:57 1997  Norbert Warmuth <k3190@fh-sw.de>

        * file.c (make_symlink): If the option Stable Symlinks is enabled
        and either source or destination directory is on a non-local filesystem
        an error message will be displayed and stable symlinks will be disabled.
        Previously the error message was displayed for every symlink and
        no link was created at the target directory.

        * vfs/ftp.c (open_command_connection, resolve_symlink, retrieve_dir):
        Added an unique inode number generator to avoid problems with the
        cyclic link detection while copying files.

Mon Nov 10 21:41:53 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* dlg.c: Cleaned up the generic dlg code from backend specific
	bits. 

	* gmain.c, gwidget.c: GNOME versions of the main and widget bits. 
	
Mon Nov 10 20:10:01 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* file.h: added missing declaration for erase_file

	* find.c: try_to_select is not called if the find window is
	canceled. 

	* configure.in: support for using --without-gpm-mouse;
	--with-gpm-mouse forces support for gpm.

	* learn.c: MC crashed sometimes in the learn dialog because some
 	memory block was freed twice. Now fixed.

	* tree.h, tree.c: tree_rescan_cmd is now void, no cast is needed.

	* xv/Makefile.in: Target libedit.a was included twice. make
 	install tried to run mxc after installing.

	* xv/xvicon.c, xv/xvscreen.c: ext.h is included for
 	regex_command. Old-style calls of regex_command are corrected.

	* tk/mc.tcl: Procedure center_win was buggy. Requested width was
 	used as heigth and vice versa. Notably, viewer was incorrectly
 	"centered".

	* 10) view.c: Debug printing in tk version is removed.

Mon Nov 10 11:34:57 1997  Alex I. Tkachenko alex@bcs.zp.ua
	
        * user.c: (user_menu_cmd) added possibility to use user-defined
        menu from current directory first. Local menus are used only if
        owned by user or root and are not group and world-writable.

        * cmd.c: (menu_edit_cmd) reorganized to allow local menu editing
        via pull-down menus. After editing local menu file it is assigned mode
        0600.

        * cmd.c: (compare_files) added code for thorough file comparison
        by reading them by BUFSIZ blocks. compare_dirs_cmd - removed #ifdef's
        for HAVE_MMAP, because everyone now can check file byte by byte.

Fri Nov  7 17:52:55 1997  Bakeyev I. Timur timur@goff.comtat.kazan.su 

	* panel.h/screen.c: Changed highlight_mode variable to 2 separate
        permission_mode and filetype_mode.

        * setup.c: The same change for saving/restoring new variables.

        * layout.c: Added 2 chechboxes to "Layout.." menu, to visualize
        new variables changings.


Fri Nov  7 13:37:54 1997  Norbert Warmuth <k3190@fh-sw.de>

	*  tk/Makefile.in: gui.quick_file_mask_copy.tcl was listed twice
        in the variable GUIS.

Thu Nov  6 11:39:24 1997  Norbert Warmuth <k3190@fh-sw.de>

        * lib/mc.ext.in: When calling lynx use %f instead of %p. %p fails
        for non-anonymous ftp and we have to make a local copy anyways
        because %f is used.

        * slang/slang.h: Removed the definition of REAL_UNIX_SYSTEM for
        AIX. It's not necessary any longer because the previous #ifdef
        defines already REAL_UNIX_SYSTEM (if "unix" isn't defined it will
        be defined in config.h).
        That's a patch I haven't tested but I'm really sure it will not
        break compile for AIX ;-).

        * slang/slutty.c: The translation of return-value-from-cfgetospeed
        to baud-rate was made with assumptions about the value of symbolic
        constants (B0 is defined to 0, B50 to 1, B75 to 2, ...). This assumption
        is wrong for BSDI. There was already a fix for this problem but
        I made a more generic and IMO better fix.

        (speed_t2baud_rate): New function. Translate the symbolic constants
        B0, B50, B75, ... to the actual baud rate.

        * hotlist.c (hotlist_button_callback): After moving entries the
        hostlist wasn't marked as modified, i.e. it wasn't saved.

        * util.c (is_gunzipable): added recognition of BZIP headers

        * file.c (copy_file_file): chmod and utime was called on the
        destination file even if it couldn't be created or when it was
        read-only

        * file.c (move_dir_dir, copy_dir_dir): When moving files cross
        filesystem boundaries don't erase subdirectories unconditional,
        erase only files which were copied successful.
        Added an parameter to copy_dir_dir to indicate wheather successful
        copied files should be added to a linked list (to be deleted by
        move_dir_dir when the subdirectory was copied completly) or whether
        successful copied files should be deleted immediatly (that's
        implemented but not tested and there's no checkbox to activate it;
        I will delete this piece of code if I can't find a place and name for
        this option)

        (erase_dir_iff_empty): New function. Delete an empty directory, don't
        report an error if the directory isn't empty.
 
        * utilunix.c (errno_dir_not_empty): use of errno was wrong, use err
        instead.

Tue Nov  4 17:52:39 1997  Michael K. Johnson <johnsonm@redhat.com>

	* vfs/mcserv.c: PAM code updated.

Tue Nov  4 13:01:52 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* util.c (decompress_command_and_arg, decompress_command): new
	commands that return the command that should be invoked to
	decompress a file.

	(is_gunzipable): return the compression type.

	* tkkey.c (delete_select_channel): Moved the Tk key code.

	* tkscreen.c: Make it work/compile with Tk 7 and Tk 8. 

	(show_dir): Do not invoke the widget commands if the widget has
	not been realized yet. 

Wed Oct 29 14:06:48 1997  Norbert Warmuth <k3190@fh-sw.de>

	* vfs/extfs/rpm: We set LC_TIME back to C but the order in which
 	the environment variables are checked is this: LC_ALL, LC_CTYPE,
 	LANG.  This means if you set LC_ALL the setting of LC_CTYPE has no
 	effect.

Thu Oct 23 02:07:26 1997  mc@timur.kazan.su (Bakeyev I. Timur)

	* boxes.c: Changes in "Listing mode" dialog box for handling 4
	different user defined status lines, for each viewing type res-
	pectively.
	
	* panel.h (WPanel): Add an array of strings to handle different
	status lines.
	
	* setup.c (panel_save_setup/panel_load_setup): Some additions,
	with the same purpose. Allows to save/load 4 user status lines.
	(See above).
	
	* screen.c (panel_update_format/set_panel_format): This functions
	was changed to new one - set_panel_formats() due doubling the code.
	Also improve error handling in seting new formats.
	
	* main.c (listing_cmd), layout.c (panel_do_cols): Made apropriate
	changes to use new set_panel_formats() instead of old ones. Clean error
	handling in main.c - it was so buggy :) (My fault - allows to break
	format strings and get fine blue panels after loading :).
	
	* screen.c: Some changes to handle new feature - different status lines,
	code cleanup.
	
	* color.c, color.h: Delete sel_mark_color array - isn't necessary now.
	
	* tree.c, rxvt.c: Supprese some compilation warnings.
	
Thu Oct 1 03:22:02 1997  mc@timur.kazan.su (Bakeyev I. Timur)

	* files.c: Improve look of copy/move dialog. Fix screen breaks on
	long directory filenames. Some other beautify :)
	
	* boxes.c: Slightly chaneged some buttons positions, order, names :)
	Make dialogs look more standart. Little cleanups.

Mon Oct 27 13:26:55 1997  Norbert Warmuth <k3190@fh-sw.de>

	* slint.c (slang_init): On BSD based systems ignore the C-y and
	C-v special control characters. 

Mon Oct 27 13:24:28 1997  Steven N. Hirsch <shirsch@ibm.net>

	* file.c: Restored the old defaults for attributes and follow
	links: op_follow_links set to zero;  op_preserve set to one.

Fri Oct 24 12:50:56 1997  Norbert Warmuth <k3190@fh-sw.de>

        * edit/editcmd.c (my_open): Deleted the extern declaration of errno.
        It's bad habit to declare errno in the source file instead of
        adding the correct include file. And it's wrong for multi threaded
        applications [heh, got this patch twice ]

        * chwon.c (chown_cmd): getpwnam and getgrnam may return NULL if
        <Unknown> is selected. This was the last place in the code where
        the return values of this two functions were used without check.

        * tree.c (pathcmp): Added comments and a slightly improvement in
        speed which was suggested by "D. Hugh Redelmeier" <hugh@mimosa.com>.

        * wtools.c (query_dialog): Skip '[' when searching for a hotkey.
        The rename of buttons e.g. from " Yes " to "[ Yes ]" made some
        hotkeys disappear.

Thu Oct 23 10:44:57 1997  Norbert Warmuth <k3190@fh-sw.de>

        * doc/mc.1, doc/mc.sgml, src/mc.hlp: updated in order to reflect MC's
        new behaviour when copying files

        * background.c (real_message_[123]s): Added the OperationMode
        (foreground/background) to the list of passed parameters.
        background_attention called these functions already with an
        additional parameter. It was passed as *first* parameter but
        the compiler couldn't find the wrong parameter passing because
        the function call was made indirectly by a function pointer.
        Prefix the title of dialog boxes for messages from the background
        process with " Background process:"

        * background.c (message_[123]s): Call real_message_[123]s with the
        additional parameter.

        * file.c: A lot of changes to make MC behave (as default) the same
        way as cp -R does. The new defaults:
        - respect the umask
        - follow links:  dereference symlinks and hardlinks, new: follow
        links to directories;
        follow links can be toggled for the source of copy with the option
        "follow links", it is always activated for the destination
        - don't preserve file date, file mode, UIDs, GIDs

        Note: the old defaults were:
        - don't respect the umask at all
        - don't follow symlinks (links in subdirectories were never followed
        even if the option "follow symlinks" was set)
        - always try to duplicate hardlinks as hardlinks
        - always preserve filemode and date of copied files

        Renamed the option "preserve UIDs/GIDs" to "preserve Attibutes"
        (anyone a better suggestion??). If set it means
        - preserve filemode and filedate for non-root and
        - preserve filemode, filedate and UIDs/GIDs for root.

        New features:
        - follow symlinks to directories
        - detect cyclyc symbolic links
        - detect when directories are copied into itself (it's better not
          to copy infinitly)
        - stable symlinks when moving files works
        - don't try to make stable symlinks across non-local filesystems

        * file.c (make_symlink): New function (cut out of copy_file_file)
        used to make symlinks resp. stable symlinks.

        * file.c (copy_file_file, copy_dir_dir): exchanged the calls to
        chown and chmod because chown might alter the file permissions.

        * file.c (file_mask_dialog): Removed options without effect from
        the file-move dialog (the old "follow symlinks", "preserve UIDs/GIDs").
        Now there are two different dialogs: file-move and file-copy (formerly
        the dialogs differed for root and non-root)

        * tk/gui.quick_file_mask.tcl, tk/gui.quick_file_mask_move.tcl: New
        files

        * tk/gui.quick_file_mask.tcl: deleted

Mon Oct 20 18:11:39 1997  Norbert Warmuth <k3190@fh-sw.de>

	* slang/slutty.c (SLang_init_tty): Don't use fileno(stderr) for 
	terminal input. It may hang MC when viewing files (exact: when between 
	calls to open_error_pipe and close_error_pipe we try to get some 
	terminal input with SLang_getkey)

	* slint.c (slang_init): An independent fix for the same problem
	(needed when MC is linked against a slang library which was
	not built with the sources we ship with MC). 

	* key.c (init_key_input_fd): New function. Due to constraints in 
	the flow of execution I had to split init_key. init_key has to be 
	called before slint_init but a short piece of keyboard initialization
	has to be done after the call of slint_init).
	Also fixed: Since 4.0.8 it was also possible that we called
	select on different file descriptors to see whether there is
	new terminal input available.

Mon Oct 20 18:05:00 1997  Manuel Sugawara <masm@deprof.fciencias.unam.mx>

	* edit/editcmd.c: add #include <errno.h>

Mon Oct 20 14:45:50 1997  Cezary Sliwa <sliwa@blue.cft.edu.pl>

	* vfs/vfs.c (vfs_setup_wd): The bug in vfs_setup_wd caused "Couldn't
 	change to ." messages, particularly when starting mc from '/'.
  	Notice that an empty string in current_dir is equivalent to "/"
	(see vfs_canon), while after bare 'cd'p you're at home (see
 	do_subshell_chdir).

	* src/subshell.c (quote_directory): Handle more cases.
	
Sun Oct 19 10:26:43 1997 Paul Sheer

        * editcmd.c: last_search for forward replace doesn't decrement
 	even when a replace with a smaller word shortens the file - fixed.


Fri Oct 17 22:02:12 1997  Norbert Warmuth <k3190@fh-sw.de>

	* color.h: When not compiling with SLang use MARKED_SLECTED_COLORS
        from version 4.1.4 because the change in 4.1.5 is only applicable
        when compiling with SLang.

        * vfs/extfs.c (read_extfs_archive): On failure there were two
        missing calls to pclose

        * xv/Makefile.in: The new xpm-files in 4.1.5 were not added to
        Makefile.in. The result was that these files were missing in 4.1.5


Thu Oct  9 13:22:43 1997  Norbert Warmuth <k3190@fh-sw.de>

	* editcmd.c (edit_load_macro_cmd): The macro-file was closed twice.
        Made it more robust against defective macro files, e.g. delete one
        non-space in the macro file and the rest of the file is skipped.
        That's IMO still not very good error handling but better than the
        endless loop we got before (to get the endless loop you had to delete
        chars at the right side of the colon).
        I hope this patch will also fix the bug reported by Paul Seelig
        <pseelig@goofy.zdv.Uni-Mainz.de>. Thanks for the help with debugging,
        Paul.


Mon Oct 6 11:59:00 1997   bill@kayhay.com (Bill Davidson)

        *xv/xvmain.c (get_panel_color): Instead of passing this function a
        color map segment, we pass it a pointer to an Xv_Singlecolor,
        which we fill in.

        *xv/xvmain.c (xtoolkit_init): Set up an array of
        Xv_Singlecolor before calling get_panel_color().  Use this in
        creating a color map segment which is NOT a dynamic CMS.  Use
        pixmaps to create the icons at defaultDepth.

        *xv/xvmain.c (x_create_panel_container): Use pixmaps to create
        icons.

        *xv/xvinfo.c (x_setup_info): Use pixmap for mc_icon at defaultDepth.

        *xv/xvscreen.c (copymove_in_panel): Return type is void.

        *xv/xvscreen.c (user_drop): Return type is void.

        *xv/xvview.c (textsw_notify): Return type is void.

        *xv/xvview.c (create_frame): Added Quit button.

        *xv/xvview.c (x_quit_cmd): New function, callback for Quit button.

        *xv/pictures.h : dropped trailing commas from arrays.

        *xv/panel_icon.xpm: New file, defines panel_icon_xpm[].

        *xv/mc_icon.xpm: New file, defines mc_icon_xpm[].

        *xv/mc.icon: Cleaned up trailing commas, added null
        termination to mc_colors.

        *xv/Regular.xpm: New file, defines Regular_xpm[].

        *xv/Directory.xpm: New file, defines Directory_xpm[].

Tue Oct  7 21:53:57 1997  Paul Sheer <psheer@icon.co.za>

	* edit/edit.c, edit/editcmd.c, edit/editwidget.c,
	edit/editmenu.c: updated the editor files to match the
	X version. This gives the editor backwards search and
	replace. Also, a mail command was added to mail the edit
	buffer.

Thu Oct  2 12:37:00 1997  Pavel Roskin <pavel_roskin@geocities.com>

        * view.c: F17 works as "Next search". Improved look of the
        save dialog. Suppressed some warning about "incompatible
        pointer type"

        * cmd.c: Improved look of some dialogs (Mkdir, Filter, Filtered
        view)

Wed Oct  1 11:25:49 1997  Norbert Warmuth <k3190@fh-sw.de>

	* learn.c (learn_button): The old code was wrong because `*seq <
 	32 && *seq > 126' is always false. Now it is not possible to
 	redefine characters from space to ~ (I think that's the range we
 	should exclude from redefinition of single characters). 

Mon Sep 22 12:35:53 1997  Norbert Warmuth <k3190@fh-sw.de>

	* aclocal.m4 (fp_PROG_CC_STDC): Removed all the checks but the one
 	for HP-UX. I took over this macro from other gnu software without
 	further investigation but it broke compilation with the native
 	compiler on some systems (e.g. AIX). Now I take the opposite
 	approach and add flags only when I definitly know they are needed.
  	At the moment that's only for HP-UX the case.  When we know that
 	some compiler need special flags we can add them later again.

Tue Sep 16 16:39:39 1997  Pavel Roskin <pavel_roskin@geocities.com>

	* src/main.c: Pressing of "tab" correctly refreshes the command
 	prompt.

	* configure.in: Syntax error is corrected (function AC_CHECK_LIB).
  	Work-around for autoconf-2.12 bug is proposed. Two lines are just
 	changed.

Thu Sep 11 12:11:03 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs/ftpfs.c (login_server): Handle servers that do not ask for a
	password.

Thu Sep 11 12:09:26 1997  Norbert Warmuth <k3190@fh-sw.de>

        * tree.h: Deleted check_sublevel from WTree's definition because
        it's not needed to recognice whether directory B is subdirectory
        of directory A (e.g. "/usr/src" and "/usr").

        * tree.c (pathcmp): New function ('strcmp for directories'). strcmp
        gives the wrong result in a few cases
        e.g. for strcmp ("mc/src", "mc.orig/src")

        * tree.c (tree_append_entry): Commented out and replaced with
        tree_add_entry to avoid strange results when an old (wrong sorted)
        .mc.tree-file is loaded. The negative effect is that it takes now
        a few us longer to display the tree the very first time.

        * tree.c (tree_copy, tree_move): The input dialog was a little
        bit to wide for 80-column-terminals.

        * tree.c (tree_callback): Disabled function-key F7 because mkdir
        is defunct in the directory tree.

        * tk/Makefile.in: Moved mad.o from OOBJ to LOBJ in order to stop
        bash (>= 2.0??) from complaining at the 'links' target.

Fri Sep 5 10:03:41 1997  Norbert Warmuth <k3190@fh-sw.de>
	
        * file.c (check_buttons): Discard mouse events. Pressing the left
        mouse button caused abort of file operations when MC was run in a 
        XTerm.
	
Thu Sep  4 12:08:53 1997  Matthias Moeller <mattes@ice.robin.de>

	* vfs/tar.c: From time to time MC isn't recognizing symlinks while
	extracting an archive. This is especially the case for some
	archives not built with GNU-Tar (e.g. the cdrecord archive).

	These archives don't set the symlink-flag in the header->mode
	field, but only the header->linkflag to LF_SYMLINK. The original
	GNU-Tar has no problems extracting these archives.

Thu Sep  4 12:06:44 1997  Norbert Warmuth <k3190@fh-sw.de>

        * aclocal.m4 (fp_PROG_CC_STDC): The SVR4 option -Xc is also a valid
        option for Unixware 2.1. But it turnes some useful extensions off 
        which are on by default. I extented the macro to avoid this.

        * main.c (handle_args): New option -k to enable reset of HP softkeys

        * slint.c (slang_reset_softkeys): New function only useful with HP 
        terminals which program the function keys. It is activated with the -k 
        commandline option. Thanks to GianPiero Puccioni <gip@fox.ino.it>
        for testing.

        * slint.c (getch): Removed the DEC_8BIT_HACK completely because I
        think we don't need it. The initial motivation behind this hack has 
        to do with VTxxx terminal which are in eight bit mode and use some 
        characters between 128 and 159 as control characters.  We can control 
        with the display-bits dialog which characters are displayed and so
        I think we don't need the DEC_8BIT_HACK (it can break the mouse in
        XTerms when buttons are pressed and the position is in either direction
        between 128 and 159).

        * vfs/tar.c (read_header): Some tar-files contain symbolic links
        without S_IFLNK set in the mode field. I don't know whether this is
        a feature or a bug but I use the header's linkflag to add the missing 
        information to the mode field (same for S_IFCHR, S_IFBLK and S_IFIFO
        but I'm not really sure if this is necessary). 

Wed Aug 27 22:33:42 1997  mc@timur.kazan.su (Bakeyev I. Timur)

	* screen.c (panel_new): Use DEFAULT_USER_FORMAT:

	* mc.sgml: fix typos.

Thu Aug 28 10:38:40 1997  Liviu Daia <daia@stoilow.imar.ro>

	* util.c (icase_search): searching in the internal viewer didn't
	find patterns containing troff formating sequences - fixed.

	* view.c (regexp_view_search): replaced re_search() and
	re_match() with a single call to regexec().

	* view.c (regexp_view_search): made regexp matching case
	sensitive only when the search pattern contains upper case
	characters - new.

Thu Aug 28 19:22:54 1997  Liviu Daia <daia@stoilow.imar.ro>

	* edit/editcmd.c: separated searching by regexp from the scanf
	stuff.

        * edit/editcmd.c: Regexp search recognized ^ only if it was the
	first character in the pattern - fixed.

	* edit/editcmd.c: Regexp search didn't handle empty patterns
	correctly - fixed.

Wed Aug 20 17:29:12 1997  Norbert Warmuth <k3190@fh-sw.de>

	* main.c (setup_dummy_mc): Setup a more complete MC for mcedit
        and mc -v to avoid coredumps on screen resize. I think that's
        the best way to handle this bug.

	* view.c (do_view_init): filtered_view_cmd invokes the internal
        viewer with command != 0 and with file == "".
        With the wrong Parse/Raw option (set with F8 when viewing the
        former file) MC tried to open the file "" - fixed.

        * util.c (strip_password, strip_home_and_password): handle pathes
        like ftp://host/abc:defg@hij correct

        * find.c (do_find): when searched for content the chdir button
        didn't work - fixed.

        * util.c (strip_password): New function used to remove the password
        from a path (persons storing passwords in the hotlist just
        don't want to see plain passwords on top of the panel). Currently
        strip_password is only used by strip_home_and_password.
        Note: Everything between : and @ is removed, i.e. strip_password
        has to be called without ftp:// and mc:. I have not added checks
        already done in strip_home_and_password. As soon as strip_password
        is called from somewhere it should be reconsidered where to add
        the checks.

        * util.c, util.h, screen.c (show_dir): Renamed strip_home to
        strip_home_and_password

        * util.c (icase_search): Use toupper for the case-insensitive
        compare to make icase_search aware of national characters.

Thu Aug 14 00:17:40 1997  Norbert Warmuth <k3190@fh-sw.de>

        * slang/slgetkey.c: Commented SLang_input_pending and SLang_getkey out
        because in order to enable input of characters from 128 to 159
        I have to remove the DEC_8BIT_HACK from SLang_getkey. And because
        I don't want any diffrence when compiling with a shared slang library
        and our slang I moved as much as necessary to slint.c and then
        made the change in slint.c. (SLang_input_pending only moved to be
        sure it is using the correct SLang_getkey).
        Perhaps I should give up the attempt to make MC compile with a
        system installed slang library?!?

        * slint.c: New functions SLang_input_pending2 and SLang_getkey2 with
        the same functionality without the DEC_8BIT_HACK

        * slint.c (getch): use SLang_getkey2/SLang_input_pending2

        * file.c (copy_dir_dir): preserve access and modification time of
        copied directories

        * file.c (panel_operate, real_query_recursive): The logic of
        know_what_am_i_doing was wrong i.e. the configuration option
        "safeDelete" did the opposite as it pretented. I renamed the variable
        and every reference to match the setting of "safeDelete".
        When deleting files the yes/no query defaults to yes when "safe Delete"
        isn't checked.
        The query defaults to no when safeDelete is checked and recursive
        recursive deleting of directories gets very difficult.

	* myslang.h (initscr): In order to make the -a option work we have
        to reset SLtt_Has_Alt_Charset after every call to SLtt_get_terminfo.


Mon Aug 11 12:11:53 1997  Norbert Warmuth <k3190@fh-sw.de>

	* acconfig.h, config.h.in: Define 'unix' because some Compiler don't
	define it and SLang requires it.

	* configure.in, aclocal.m4 (fp_PROG_CC_STDC): new macro to check 
	whether an option is needed to put the C Compiler into ANSI C mode
	(as suggested by GianPiero Puccioni <gip@fox.ino.it>)

	* cmd.c (view_other_cmd): Disable/enable keypad when switching
	panel's off/on with C-o (this fix is supposed to solve the problem
	with cursor keys in an xterm reported by Paul Seelig 
	<pseelig@goofy.zdv.Uni-Mainz.de>

	* main.c (handle_args): Replaced -m option with an error message
	because first we can set in in the option's menu and second load_setup
	will possibly override a given -m later.
	Removed the obsolete -N option.
	Added option -a in order to force +, |, - used as line drawing 
	characters when compiled with slang. Useful for persons not wanting
	to modify their terminfo databases (Thanks to GianPiero Puccioni 
        <gip@fox.ino.it> for this suggestion).

	* slint.c (slang_init): Force slang to use +, |, - when the option -a
	is given.

	* tk/tkscreen.c (x_fill_panel), xv/xvscreen.c (xv_insert_panel_item,
	xv_panel_repaint_item): Necessary changes due to Timur's new screen 
	code i.e. make Tk and XView version compile.

Mon Aug  4 01:20:42 1997   mc@timur.kazan.su (Bakeyev I. Timur)

	* panel.h (format_e): add new fields: next - pointer to the next
	element in the list; id - pointer to the token identificator.

	(WPanel): Current display format placed in the linked
	list with header pointed by *format. The similar list used to hold
	status info display string in *status_format. fmt_count is now obsolete, deleted.

	Added #define for current line display mode, deleted
 	set_attr() as unneccesary, add extra parametrs to repaint_file()
 	and format_file(), new function mini_status_format() and variable
 	highlight_mode added. (See screen.c)

	* screen.c (set_attr): deleted, now uses attrset.

	(mini_info_brief): absolutly fixed :), deleted. See below.

	* Rewritten display format string handling. Array changed to
 	linked list. Mini status format string also keeps in list. Unified
 	parse_display_format() and parse_panel_size() to hold both
 	cases. Other functions (paint_dir(),paint_frame() and other) works
 	with list.
 
 	* (mini_status_format): new function. Currently, each
 	display format has apropriate default mini status display format.

	* (add_permission_string): new function. New feature: if
 	highligh_mode > 0 permission string displays with highlighted user
 	access rights.
 
	* (normal_color): new function. New feature: if highligh_mode=2,
 	then each file type highlights with it's own color.

	* (delete_format): new function. Destruct format linked list.

	* (string_file_size_brief), (string_dot): new functions. First
 	gives size for files and "SUB-DIR" for directories. Second simply
 	adds "dot" to the tokens in format string. (Try
 	">owner,dot,<group"). Also add "bsize" and "dot" to formats.

	* (repaint_file): add extra parameters, color choosen here.

	* (format_file): here we actually do output to the screen and make
 	highlighting.

	* (display_mini_info): delete currently unneccesary 3 calls to
 	parse_display_format per line.

	* (parse_display_format()): fix some problems in parsing and
 	rewrite it to creat linked list.

	* color.h, color.c: add 6 new color pairs: input - for input
 	fields, directory, execute, link, special, device - for type
 	highlighting.

	* info.c, tree.c: change calls to set_attr to attrset.

	* main.c (listing_cmd): slightly changed, to parse both user
 	defined display format and mini status format at the same time
 	(due other changes).

	* main.c: add calls to init_groups and delete_groups for
 	initialization and destruction list of groups, to which user
 	belongs, for proper access highlighting.

	* setup.c: add highligh_mode to mc.ini.

	* util.h, utilunix.c: add functions init_groups, delete_groups,
 	get_user_rights to proper detection user access
 	rights. get_user_rights returns 0, if accessable on user level, 1
 	- on group, 2 - as other.

Tue Aug  5 11:33:23 1997  Alex Tkachenko <alex@bcs.zp.ua>

	* configure.in, vfs/local.c: autodetection of statlstat() added
	
	* slang/sldisply.c: TIOCGWINSIZ ifdef'ed to exclude window
	resize on SCO (there is no struct winsize defined). Maybe someone
	could explain, why they have it defined in termio.h, but only
	for _IBCS2 define; and TIOCGWINSIZ defined unconditionally?
	
	* src/cons.hanler.c, slang/sldisply.c: little cosmetic changes
	to remove compiler warnings

Tue Aug  5 08:48:21 1997  Fernando Alegre <alegre@debian.org>

	* Debian viewer now handles both pre and post tar-1.12 formats

Mon Aug	 4 18:27:43 1997  T.E. Dickey <dickey@clark.net>

	* change declaration of keyok() to 'int' rather than 'void'.

	* configure.in: add test for 'resizeterm()' and 'keyok()' (I did
	  test builds against ncurses 4.1, 4.0, and 1.9.9e).

	  Btw, I tested resizing on SunOS 4.1, with both ncurses and slang. 
	  Your application handles a few resizing events before getting hung
	  (this is not related to the libraries - perhaps you should
	  investigate it further).

	* Makefile.in: remove a couple of items from the distclean rule
	  that don't correspond to generated files.

	* resize (supported in NCURSES 4.0)

	* mouse (supported in NCURSES since 1.9.6, but not compatible with MC
	  -- the simplest solution is to turn off the mouse code in NCURSES so
	  that MC can do what it wants.	 I've constructed a patch that will do
	  this - the function will be in the next release of NCURSES; it was a
	  minor item on my list, so I did it this week to get MC working).

	* some configure nits (if ncurses is installed as curses, your script
	  does the wrong thing).

	* vt100-style codes for F1-F4 (you'll need these for the XFree86 xterm)

	* add some stuff to the "make distclean" rule, so it _is_ clean.
	  (Otherwise I waste time making the patch).

	* initialized a variable in menu.c (your program dumped core while I
	  was testing the mouse events).
	  
Mon Aug  4 18:24:25 1997  Alexander Dong (ado@software-ag.de)

	* edit/edit.c, editcmd.c: changes for handling ^M.

	* nt/config.h: updates

	* slang/myslang.h: some constants that are used by the Windows and
	OS/2 ports are here.

	* nt/utilnt.c: New way of executing programs.  Use _P_NOWAIT in
	the spawn invocation for win16 and win32 applications.

	(unixlike_canonicalize_pathname): Do manual canonicalizing needed
	for some VFS fucntions. 

Mon Aug  4 17:48:39 1997  Norbert Warmuth <k3190@fh-sw.de>

	* configure.in: My last patch wasn't complete. I forgot to delete a
	few lines in order to make it work the way I want.

	* slang/Makefile.in: Removed a few defines which are no longer needed.

	* slang/sltermin.c: Renamed SLtt_try_termcap to SLtt_Try_Termcap within
	Ching Hui fixes for AIX and OSF/1 (the new slang source had this 
	change).

	* cmd.c: Don't include edit/edit.h because it defines open to mc_open
	but mmap remains mmap. This broke the compare directories command
	(thorough compare). 

	* cons.saver.h: When HAVE_X is defined replace all the console-stuff
	with no-ops. I think the TK and XView version don't need to save and
	restore consoles.

	* main.c (init_menu): In the menues use Above/Below instead of Left/
	Right when the panels are horizontally split (only non X version).
	Made init_menu and done_menu non-static because they are used in 
	layout.c.

	* layout.c (layout_change): Make a new menubar in case the vertical/
	horizontal split changed.

	* main.c (sigchld_handler_no_subshell): Body of function commented out
	for XView and TK version.

	* main.c (main): Moved OS_Setup before xtoolkit_init to avoid using of
	mc_home == 0 (mc_home is set in OS_Setup).

	* myslang.h: A few definitions were wrong causing keys not to work.

	* screen.c (start_search), tree.c (start_search): The filename search 
	(C-s, M-s) didn't wrap around when hitting C-s again and the panel's 
	last filename and one more file matched the search string.

	* screen.c (panel_callback): Always define the label for the F1 key
	on WIDGET_INIT and WIDGET_FOCUS (with one panel in tree mode only the
	help for the directory tree was displayed furthermore).

	* view.c (view_callback): When v was renamed to i (because the 
	parameter v was hidden by a local variable) one location was forgotton 
	to change.	

	* tk/Makefile.in, xv/Makefile.in: Don't link with cons.saver.o.
	Re-arranged a few object files in order to compile the TK and XView 
	version without the console save/restore stuff.


Thu Jul 31 12:57:01 1997  Norbert Warmuth <k3190@fh-sw.de>

	* slang/sltermin.c: Put Ching Hui's AIX and OSF/1 workarounds into
 	the code again again.
	
	* boxes.c (tree): Add a buttonbar to the tree-box in order to
        make it possible to redefine the function keys in the tree-widget

        * main.c (tree_box): Change to the selected directory as described
        in the online help.

        * tree.c (tree_keymap): Activated the C-r key for the tree box
        (with a panel in tree mode C-r did already something, but with
        the tree invoked with Command/Directory tree  C-r and all function
        keys did not work)

        * configure.in: First check for a system installed SLang library,
        then check for --with-terminfo and --with-termap, i.e. we compile
        the SLang code ourself when --with-terminfo, --with-termcap or
        --with-our-slang is given (regardles whether there is a system
        installed SLang library or not)

        * conv.handler.c: The recent rxvt patch removed the definition of
        console_flag on some systems

Thu Jul 31 12:29:44 1997  Jurij Ivliev <yury@win.kazan.su>

        * setup.c (options): add entry for use_8th_bit_as_meta flag
        to save it in .mc.ini

        * boxes.c (display_widgets): add entry for changing
        use_8th_bit_as_meta flag via "Display bits" dialog box.

        * boxes.c (display_bits_box): add handling for that entry.
        It's will possible 8-bits input on/off easy instead -m command
        line option.

Fri Jul 25 17:38:11 1997  timur@goff.comtat.kazan.su (Bakeyev I. Timur)

	* screen.c (string_file_size): Use %ld instead of %d to sprintf
	the file size.
	
Thu Jul 24 20:01:42 1997  Norbert Warmuth <k3190@fh-sw.de>

	* main.c (do_panel_cd): Make the code compile without USE_VFS defined.
	Reversed a former change (setting panel->cwd before the call to 
	mc_chdir) because it broke the password dialog for ftpfs and mcfs.
	Stamp the old filesystem (mc_chdir can't stamp it because it thinks
	the old directory is still in use).

	* main.c (do_nc): After destroying cpanel and opanel set cpanel zero
	to avoid vfs_add_noncurrent_stamps from using them.

	* screen.c (do_enter): Make the code compile without USE_VFS defined.

	* vfs/extfs.c (extfs_get_path, extfs_close), vfs/tarfs.c 
	(tarfs_get_path, tarfs_close): Fixed memory leaks

	* vfs/vfs.c (vfs_addstamp): Reversed the order in which stamps are
	stored in the linked list so the last added stamp is first checked
	for timeout. That's only needed for embedded virtual file systems
	in order to try to free the vfs resources in a more reasonable 
	order.
	When using the variable parent make a new copy of the list it points
	to. That make's it easier for the caller function to decide whether
	it should free parent or not. 

	* vfs/vfs.c (vfs_rm_parents): New function, free the list of parent
	vfs's

	* vfs/vfs.c (vfs_rmstamp): use vfs_rm_parents to free the list of
	parents

	* vfs/vfs.c (vfs_ncs_getid): made non-static because needed in main.c

	* vfs/vfs.c (is_parent): Check a vfs whether it's in a given list of
	parents

	* vfs/vfs.c (vfs_add_noncurrent_stamps): Added current_dir to the
	directories to check when deciding whether to add a given vfs to
	the timeout structure or not

	* vfs/vfs.c (vfs_stamp_path): Stamp the parent file systems, too.

	* vfs/vfs.c (vfs_shut): Set stamps to zero before walking through
	the list because freeing the filesystems can add new stamps and
	the now reveresed ordered stamp list caused an endless loop.

        * main.c (jump2dotdot): Addapted and reused the OS2_NT version for
        use with unix. Now the directory tree command of the Command menu
        switches to the parent directory of the selected directory.

        * vfs/ftpfs.c (ftpfs_close): On error don't set ftpfs_errno because
        it's already set by store_file.

        * vfs/vfs.c (mc_close): Return error when mc_close is called the
        second time with the same handle (happens e.g when storing a file
        to an ftpfs without having the permissions and selecting Retry in
        the error dialog)
        Set errno when the lower layer reports an error.

Tue Jul 22 12:14:21 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (copy_file_file): Nicer and fixed bps display.

	* view.c (view_callback), edit.c (edit_callback): Warning fix, use
 	void * for the prototype, cast them to the right type inside the
 	function.

Mon Jul 21 07:48:33 1997  Norbert Warmuth <k3190@fh-sw.de>

        * key.c (get_event): removed typo which caused busy waiting when
        leaving a vfs and MC used with mouse

Fri Jul 18 10:11:01 1997  Norbert Warmuth <k3190@fh-sw.de>

        * boxes.c (cd_dialog): Don't use the commandline widget to callculate
        the y-Position of the quick-cd dialog because cmdline->y is 0 when
        there is no commandline.

        * vfs/names.c (finduid, findgid): For a cache-hit in the uid/gid-cache
        a value of zero was returned because the cache-content was always
        destroyed at top of finduid/findgid.


Wed Jul 23 18:43:57 1997 Alex Tkachenko (alex@bcs.zp.ua)

	* editcmd.c restored national chars support, broken with recent
       editor patches

Wed Jul 23 18:43:57 1997 Alex Tkachenko (alex@bcs.zp.ua)

	* editcmd.c restored national chars support, broken with recent
        editor patches

Wed Jul 23 18:43:57 1997 Alex Tkachenko (alex@bcs.zp.ua)

	* editcmd.c restored national chars support, broken with recent
        editor patches

Mon Jul 21 14:25:55 1997  Alexander Dong (ado@software-ag.de)

	* editcmd.c (edit_help_cmd), cmd.c, dlg.c, ext.c, main.c, setup.c,
	tree.c, user.c, view.c: Do not use LIBDIR for accessing the
	information on the disk, instead use the the mc_home variable,
	which is setup differently for Unix and Windows/OS/2 machines:  On
	UNIX, it still is LIBDIR, on Windows/OS/2 it uses the value of
	MCHOME.  [This should be changed to use argv [0] -- miguel]

	* nt/utilnt.c (conv_nt_unx_rc, mc_unlink): New function
	For Windows 95 and NT, files should be able to be deleted even
	if they don't have write-protection. We should build a question box
	like: Delete anyway? Yes <No> All

	removed the beep messages from the vfs code.

	* src/drive.h: add prototypes for drive commands.
	
	* os2/util.os2.c: implement getinstalldir ();

Mon Jul 21 14:25:55 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* util.c, utilunix.c, key.c: Make the code compile on both libc5
 	and gnu libc setups.  Thanks to dvelp@dds.nl (Willem de Vries)
	and ewt@redhat.com (Erik Troan) for pointing the solution.

Sun Jul 20 21:15:55 1997  Bakeyev I. Timur <timur@goff.comtat.kazan.su>

	* view.c (grow_string_buffer): This may be called with a null
	pointer to grow.  Fix this condition. 

Mon Jul 14 12:34:08 1997  Juan Grigera  <j-grigera@usa.net>

     * edit/editcmd.c:  (Win32) added O_TEXT flag to file I/O -CR/LF translation

Sun Jul 20 13:22:16 1997  Paul Sheer <psheer@icon.co.za>

	* edit/edit.c, editcmd.c, editwidget.c, editmenu.c, editdraw.c,
	edit.h, editcmddef.h: This patch (on 4.0.4) updates the editor
	code to match the X Window version. Features added:
	    - On saving, chown() file to the same as when it was loaded.
	    - Backups on save are now created if the option is set. A
			"Save Mode" dialog was added bu Oleg (see next
			entry), as well as the support routines.
	    - Various new movement and editing commands added:
		o Delete to eol.
		o Delete to bol.
		o Paragraph move up/down.
		o Move to top/bottom of screen.
	      (Key bindings for these new features are only available
	       for the X Windows version. But will soon be added.)
	    - Highlights the matching bracket under the cursor.
	    - OS2_NT check defines are moved to the edit.h file.
			Please try keep any defines in the file under
			the section
			    "/* put OS2/NT/WIN95 defines here */"
			unless essential, so that this will also
			compile for X.
	    - Fixed scanf search/replace. This now works properly,
			where it never used to find the match length
			before.
	    - Doc updates.
	    - The remainder of the changes are only applicable to the
			X Window version.

Sun Jul 20 13:26:53 1997  Oleg Yu. Repin <repin@ssd.sscc.ru>

	edit/editcmd.c: Added save mode feature (see above entry).

Thu Jul 10 11:33:05 1997  Norbert Warmuth <k3190@fh-sw.de>

	* edit/edit.h: Added stdarg.h because I need it to compile MC
	under SunOS without SLang.
	
	* edit/editcmd.h (edit_refresh_cmd): When compiling without
	SLang SLsmg_touch_lines() isn't defined. Fixed.

	* main.c (main): Take the value of the LC_CTYPE locale from
	the environment because at program startup each category is 
	initialized to the locale described by the environment "C"
	(see setlocale(3C)).
	Now control-left, control-right and control-backspace handle
	words with national characters correct, i.e. they are only
	handled correct on a system with non-broken locale support.

Wed Jul  9 10:48:28 1997  Juan Grigera  <j-grigera@usa.net>

	* view.c (do_view_init): Init the save_start as well.

	* complete.c (command_completion_function): Use new PATH_ENV_SEP,
	on Windows/NT and OS/2 this is ';' on Unix this is ':'
	
Thu Jul  3 23:07:56 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* achown.c (do_enter_key): Ugh, getpwnam/getgrnam may return NULL
	if <Unknown> is selected.  Reported by Federico Mena (quartic@nuclecu).

Thu Jul  3 18:58:02 1997  Norbert Warmuth <k3190@fh-sw.de>

	* main.c (subshell_chdir): vfs_add_non_current_stamps needs to
	know the current directory in any panel. Formerly it used
	current_dir and opanel->cwd to get this information but it
	was possible that current_dir and opanel->cwd were the same.
	I changed vfs_add_non_current_stamps to use cpanel->cwd and
	opanel->cwd but now I have to set cpanel->cwd before the
	call of mc_chdir.

	* vfs/ftpfs.c (changetype): Always send the command "TYPE I"
	when changing to binary transfer mode, even if MC thinks the
	connection is already in binary mode (bucket->isbinary == 1).
	There was a problem when transfering files in background. Hmm,
	I think there's still a problem because my fix cures only a
	symptom.

	* vfs/vfs.c (vfs_add_non_current_stamps): patches to fix a bug 
	with releasing a vfs still in use. Thanks to Alex I. Tkachenko
	who helped to fix this bug.
    	Do not time out the old vfs if it is current in any panel or if
	it is a parent in any panel, e.g. while browsing a tar-file on
	an ftp filesystem the tarfs is 'current' and the ftpfs is it's
	'parent'.  
	Use cpanel->cwd and opanel->cwd instead of current_dir and
	opanel->cwd to get the information which vfs's are current in
	any panel because it's possible that current_dir and opanel->cwd
	are the same (then the vfs for cpanel->cwd was timed out).
 
Thu Jul  3 18:56:46 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (handle_args): Add support for jumping into the editor if
	the program is invoked as 'mcview'.

Mon Jul  7 17:03:15 1997  Ingo Brueckl <ib@wupperonline.de>

	* slang/sltermin.c: find compiled terminfo database under
	/usr/{,local/}share/terminfo which is default for ncurses 4.1

Thu Jul  3 20:00:10 1997  Ingo Brueckl <ib@wupperonline.de>

	* src/setup.c, src/setup.h: load new profile string 'color_terminals'
	from mc.ini which is a list of terminals that support color and force
	mc to start in color mode

	* src/slint.c: use new profile string 'color_terminals' (if found in
	mc.ini) instead of hard-coded string 'color_terminals' but fall back
	to hard-coded string if new profile string is empty

Tue Jul  1 12:17:08 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (file_bps_show): report KBS, MBS and BPS.

Mon Jun 30 11:44:13 1997  D. J. Hawkey Jr. <hawkeyd@visi.com>

	* src/boxes.c, src/widget.c: add the proper return value.

	* src/fsuage.c, src/mountlist.c, src/utilunix.c: Add support for QNX.

Mon Jun 30 23:18:52 1997 Alex Tkachenko <alex@bcs.zp.ua>

	* edit/editcmd.c (edit_find_string): fixed search of chars > 128

	* acconfig.h configure.in src/find.c: an ability of grep to
	accept dash to denote stdin is now handled by configure. Also
	-lintl added to LIBS to avoid SCO (maybe not only :) problems
	with nls chars

Thu Jun 26 20:56:03 1997  Ralf Gutzeit <ralf.gutzeit@weisswasser.de>

	* src/file.c (file_bps_show): added display for the current
	line quality during ftp. It's just a modified version from the
	function file_eta_show to display a BPS-rate during file transfer
	in the line below the ETA-display. Now the stalled_msg appears in
	the third line under the ETA-display.

Thu Jun 26 20:39:54 1997  Norbert Warmuth <k3190@fh-sw.de>

	* vfs/tar.c (read_header): check len before using it as index
	with len-1

	* vfs/vfs.c (vfs_add_noncurrent_stamps): I did some copy and
	paste and forgot to adapt the variable names :-(

	* vfs/vfs.c (vfs_shut): There was a pointer used after it was
	freed.

Mon Jun 23 11:08:56 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* mountlist.c (read_filesystem_treat OpenBSD and NetBSD as the
	same thing.

Fri Jun 20 12:02:30 1997  Norbert Warmuth <k3190@fh-sw.de>

	* vfs/extfs.c (extfs_get_path, extfs_close), vfs/tar.c (tarfs_get_path,
	tarfs_close): initialize parent->next with NULL, the vfs code
	depends on it

	* file.c (copy_dir_dir): preserve uid and gid of copied direcories
	if Preserve UIDs/GIDs in the copy dialog is checked

Mon Jun 16 12:36:41 1997  Alexander Dong (ado@software-ag.de)

	* os2: Improvement in my_system () to start Windows, DOS and OS/2
	programs.
	
        * show_output_starts_shell in mc.ini enabled for OS/2-version.
        * Enable CTRL-O
        * Bug fix for Windows 95 (fprintf(\r\n) instead of \n)

Wed Jun 11 17:25:21 1997  Norbert Warmuth <k3190@fh-sw.de>

	* ftpfs.h, ftpfs.c (changetype): store the transfer type (ASCII/Binary)
        at a connection basis

Tue Jun 10 11:37:11 1997  Norbert Warmuth <k3190@fh-sw.de>

	* screen.c, widget.c: changed some defines from HAVE_X to HAVE_TK
        (e.g the XView code didn't want to provide a 'tk_evalf')

        * xv/Makefile.in: added missing dirhist.o to the list of objects,
        changed the order of the libs in the final makestep because I got
        undefined references with SunOS

        * xv/xvaction.c: added missing #define "mad.h"

        * xv/xvmenu.c: changed menubar_event from static to nonstatic
        because the internal editor wants to call it (note the internal
        editor isn't working with XView)

	* vfs/ext/a: New Perl version of this script.

	* src/info.c: remove the call to my_statfs in info_new because
	my_statfs is always called before the information is displayed
	(in function info_show_info).

Mon Jun  9 18:36:51 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (panel_operate): Put back the old behaviour.

Wed Jun  4 17:11:23 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c: highlight the proper hotkeys.

	* cons.saver: it is no longer compiled/linker with the -N flag, as
	discussed on the mailing list.

Wed Jun  4 17:08:13 1997  Andrej Borsenkow <borsenkow.msk@sni.de>

	* info.c (info_new): my_statfs() was called before mount list was
	initialized It seems to also fix the problem with symbolic
	links across filesystems in Info view. Strange ...

	* file.c (panel_operate): Default in Delete dialog changed to "No"
       	(after I lost a file ;-) Note, that RecursiveDelete dialog
 	defaults to "No" as well - it seems to be reasonable.

     	* mcserv.c (signal_int_handler): Added dummy parameter to keep
	ANSI compilers happy. All other signale handlers define it as well.

     	* miscellanious changes to add neccessary casts/remove unneeded
 	ones; trailing comma in enum declarations removed.  Again to
 	overcome problems with ANSI compilers.

Wed Jun  4 16:58:34 1997  Alexander Dong (ado@software-ag.de)

	* main.c (tree_box): OS/2 and Windows NT use this routine.

Thu May 29 15:25:19 1997  Andrej Borsenkow <borsenkow.msk@sni.de>

	* vfs/vfs.c (vfs_canon): Fixed the "local:" vfs handling

Thu May 29 14:30:50 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>

	* cmd.c (do_edit): Reread also when invoking the internal editor.

Tue May 27 21:10:53 1997  Norbert Warmuth <k3190@fh-sw.de>

        * configure.in: remove typo

        * lib/xnc.hlp, src/mc.hlp: corrected the two ascii chars ^A, ^B
        and ^C with the corresponding control chars

Mon May 26 13:20:56 1997  Alex Tkachenko (alex@bcs.zaporizhzhe.ua)

	* vfs/extfs.c, src/ext.c, vfs/tar.c, etc, etc: added waitpid() after
        pclose() for SCO_FLAVOR, to avoid spawning of zombie process 
        (mostly while using external filesystem features)

        * src/main.c: added fflush() to get shell display prompt before
        saving console contents

        * console handler for sco added

        * src/view.c: hex editor feature enabled via loading entire file
        into memory for those who don't have mmap() call.

        * src/cmd.c DUSUM_USEB and DUSUM_FACTOR #undef'ed to get this
        code working for SCO (3.2v4).
        
        * src/cmd.c, src/panelize.c: a workaround provided for sco 3.2v4 bug
        in pclose() implementation. Return value ignored.
        
        * vfs/extfs.c: a workaround provided for sco bug in system() call
        implementation  - it reports an error while it seems to be allright.
        Return value silently ignored.

        * many small fixes to let more smooth compiling on sco 3.2v4.2.
        These avoid annoying gcc warnings about scopes of struct declarations
        and redefining of struct timeval.

Fri May 23 18:33:23 1997  Alexander Dong (ado@software-ag.de)

	* os2/drive.os2.c, nt/drive.nt.c: fixes.

Fri May 23 13:56:15 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (copy_file_file): Oops.  uidgid and the original modes
	were not restored when the file was a character device, a block
	device a fifo or a socket.

	* cmd.c (do_edit): Reload the panel information after calling the
	internal editor.

	* tcputil.c (rpc_get): implement RPC_LIMITED_STRING.  Same as
	RPC_STRING, but if the string is bigger than 16k, it silently
	aborts.  This should prevent a denial of service attack. 

Wed May 21 21:32:41 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* complete.c (try_complete): Bug fix.  Free the proper pointer.
	Same problem that Bernhard found, in a different location.  Grep
	does wonders.

Wed May 21 21:19:58 1997  Bernhard Sadlowski <sadlowsk@mathematik.uni-bielefeld.de>

	* command.c (do_cd_command): Bug fix.  Free the proper pointer.
	This fixed the cd "xxxx" problem.

Mon May 19 12:07:39 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>

	* mc.spec: small bug fixes.

	* lib/mcserv.init: use the -d flag for starting the daemon.

Mon May 19 10:38:39 1997  Oleg Yu. Repin <repin@ssd.sscc.ru>

	* util.c (is_printable): Add explicit set of printable characters
	for xterm. Viewing binaries should not crash mc for now.

Fri May 16 17:35:59 1997  Alexander Dong (ado@software-ag.de)

	* src/main.c: Added new -S flag on Windows and OS/2 platforms:
	this will create a batch file that can change the parent's default
	directory and disk (equivalente to the Unix mc function and the
	-P flag).

	* nt/slint.nt.c, os2/slint.os2.c: slang_set_raw_mode stubs,
	according to the may/14 change.

Fri May 16 16:46:06 1997  Norbert Warmuth <k3190@fh-sw.de>

	* edit/editwidget.c: Fixes editor keybar redisplay.

	* tk/tkslint.c: Provide new function.

Fri May 16 16:42:18 1997  Tomasz Kłoczko, <kloczek@rudy.mif.pg.gda.pl>

	* mc.spec: New spec file, this packages mc, mcserv and tkmc.

	* lib/mcserv.init, lib/mc.sh, lib/mcserv.pamd: added
	
	* vfs/ext/rpm: instead using sed and rpm -qpi use rpm queries,
	more info currently displayed (changeslogs, Os, URL, packager 

Tue May 13 18:14:49 1997  Wojtek Pilorz <wpilorz@bdk.lublin.pl>

	* vfs/Makefile.in (INSTALL_PROGRAM): Use -m flag for install to
	force vfs scripts to be executable on those systems that use
	install.sh 

	* src/utilunix.c: Implement socketpair for SCO flavored systems.
	
Wed May 14 18:07:09 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* myslang.h (raw): Make raw an alias for slang_set_raw_mode, which
	will set the raw mode.  This should fix Hugh's problem.

Wed May 14 17:18:59 1997  Alexander Dong (ado@software-ag.de)

	* nt/chmod.nt.c: Updated the code to use the new file book-keeping
 	routines from Norbert.

	* os2/chmod.os2.c: same here
	
Wed May 14 14:57:41 1997  Norbert Warmuth <k3190@fh-sw.de>

	* */Makefile.in: Made the target distclean work (the Makefile
	was used with 'make realclean' after it has been deleted).

	* vfs/Makefile.in: Fixes needed for --with-debug

	* tk/Makefile.in: After a successful build create an empty file
	which make can check against (this prevents make from linking tkmc 
	every time)

	* src/dirhist.h: Moved '#include "mad.h"' a few lines down (when
	compiled with --with-debug there was a conflict with stdlib.h on 
	SunOS 5.4)

Mon May 12 10:37:37 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* setup.c (load_setup): We don't want to load the private version
	of the .mc.ini file.

Tue May 13 18:43:13 1997  Paul Sheer       <psheer@icon.co.za>

	* editcmd.c: edit_find_string(): now checks if regexp has '^'
	proper.

Fri May  9 14:53:07 1997  Norbert Warmuth <k3190@fh-sw.de>

        * src/*: Use do_file_mark to mark and unmark files in order to
        update the summary information the right way i.e. I hope that
        the repored negative numbers in the mini-status are something
        of the past.
        In particular replaced lots of occurances of file_mark with
        do_file_mark and removed the local calculation of panel->total
        etc. which was not always done the same way in every file.
        * src/main.c (parse_control_file): Additionally use unmark_files
        to unmark all files

        * src/screen.c (do_file_mark, do_mark_file): Moved the code to
        repaint the changed file from do_file_mark to do_mark_file.
        The first one was only called from the second one and from the
        XView code and the latter does not use the moved code.
        I had to do it in order to avoid a check if the file is 'within
        the display' at the moment.

        * src/screen.c (panel_reload): clear panel->dirs_marked

        * src/find.c (find_files), src/panelize.c (do_external_panelize):
        Set cpanel->has_dir_sizes to 0 when clearing the counters

	* doc/mc.1: Fixed wrong URL

        * src/mfmt: Changed the return value of main from void to
        int and return 0. I made this stupid change a while ago when
        I wanted to get rid of a compiler warning (if you have two
        possibilities the probability to do it the wrong way is at
        least 60%).

        * vfs/ftpfs.c (ftpfs_done): Close the logfile

Fri May  9 14:41:33 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.c (display): Two lines were on the wrong place.  This cause
	the growing buffers to stop displaying before of time.

Thu May  8 11:35:24 1997  Sung-Hyun Nam <namsh@amuna.rms.lgic.co.kr>

	* file.c (file_eta_show): Correct ETA computation.

Sat May 10 13:32:55 1997  Ingo Brueckl <ib@wupperonline.de>

	* main.c, main.h, boxes.c, setup.c, screen.c (do_enter): Added an
	extra confirmation 'confirm_execute' to be used when pressing enter
	on a file to execute it.

Tue May  6 12:51:35 1997  roryt@hol.gr (I.Ioannou)

	* view.c (display, view_handle_key): Added an option to display a
	ruler in the built-in viewer.

Tue May  6 12:26:31 1997  Norbert Warmuth <k3190@fh-sw.de>

        * hotlist.c (hotlist_callback): Added the possibility to copy the
        directory path to the command line (C-Enter, M-Enter).

        One could jump from the active VFS list to the hotlist (with the
        left curser key) - fixed.

        * hotlist.c (init_hotlist): The active VFS list showed the help
        for the hotlist. Now it shows 'Can't find node [vfshot] in help file'
        (not much better but maybe someone will write a few lines for
        the man page?).

        * hotlist.c (hotlist_cmd, load_hotlist, save_hotlist, hotlist_done):
        Check the modification time of ~/.mc.hot and reload the hotlist when
        ~/.mc.hot is newer than the hotlist in memory.
        Save the hotlist after every change.

        * hotlist.c (hotlist_done): Reset all necessary variables to make
        a hotlist reload possible.

        * screen.c (panel_callback): When changing the panel the current
        directory on top of each panel remained highlighted unil C-r was
        pressed. There was a change for the tk version (in 3.5.17 I think)
        which caused this.

        * mcserv.c (do_readlink): the returnvalue of readlink was used
        without check as an index. On failure the line  'buffer[-1] = 0'
        was executed.

        * vfs/undelfs.c: The undelfs could not handle the '..' entry. That   
        became a problem when I ensured that every directory listing contains
        a '..' (e.g. hitting F3 on that entry caused a segfault).

        Another problem only showed up when the 'Fast dir reload' option was
        activated (an unnecessary warning message was displayed).

        Once more I used the opportunity to cleanup the code a little bit.
        I changed the type for inodes to ino_t (some were already of type
        ino_t, some not), made it possible to free all malloced memory, fixed
        memory leaks and inserted the undelfs in the vfs timeout scheme, i.e.
        the malloced memory is freed automaticly when the undelfs isn't used
        within the vfs timeout.

        * vfs/undelfs.c (undelfs_shutdown): Filled the formerly empty body
        with something useful i.e. free memory and shut down the ext2 utility.

        * vfs/undelfs.c (undelfs_loaddel): Added ext2fs_close_inode_scan

        * vfs/undelfs.c (com_err, undelfs_readdir): Fixed an incorrect sprintf
        format specifier (to be honest it was not incorrect at least for the
        intel x86 architecture due to sizeof (int) == sizeof (long) ).

        * vfs/undelfs.c (undelfs_opendir): Now it's possible that the pointer
        ext2_fname becomes 0 so I had to consider this case.
        Fixed an incorrect sprintf format specifier

        * vfs/undelfs.c (undelfs_open, undelfs_close): Keep in mind for the
        timeout thing if there are open files in the undelfs (I don't think
        that this is really necessary but I made the changes in correpondence
        to the the solution in other vfs filesystems).

        * vfs/undelfs.c (undelfs_lstat): Do a simple check if the filename
        to stat is valid (this removes a harmless warning message when
        undlefs_stat is called from save_cwd_stats).

        * vfs/undelfs.c (undelfs_getid, undelfs_nothingisopen, undelfs_free):
        Adapted for the vfs timeout

        * vfs/vfs.c (vfs_canon): Recognice 'undel:/dev/sda1/..' as '/' (needed
        to go out of the undelfs with 'cd ..' or to stat 'undel:/dev/sda1/..'

        * vfs/vfs.c (vfs_shut): fixed a memory leak

Mon May  5 18:40:28 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs/utilvfs.c (get_host_and_username): Rewrote it completely.
	Now it is clearer and should handle some problematic cases it did
	not handle very well before.  It comes with a small test suite as
	well. 

Fri May  9 11:13:59 1997  Paul Sheer       <psheer@icon.co.za>

	* edit.c, main.c, setup.c: editor_word_wrap_line_length option
	added, and a function to do word wrap.

	* mcedit.1 updated.

Fri May  2 13:14:13 1997  Norbert Warmuth <k3190@fh-sw.de>

        * util.c (diff_two_paths): Fixed two typos and a too small size
        calculation for one malloc-call.
        'Stable Symlinks' in the filecopy-dialog works now. In the
        filemove-dialog both 'follow Symlinks' and 'Stable Symlinks'
        don't work.

        * file.c (move_file_file): name_trunc returns a pointer to
        a static array. That makes problems when something is done
        like 'foo (name_trunc (a,10), name_trunc (b,10));`.
        Juan corrcted one occurance of this error and I checked the
        other sources and found another one.

        * find.c (find_file): Panelizing in the find dialog didn't work
        if the selection in the listbox wasn't on a found file but on
        one of the entries which shows the found files' directories.

        * view.c (do_view_init): Initialize view->last (there was a
        problem when viewing files with a starting line number e.g
        from the find file dialog)

        * view.c (view_ok_to_quit): Added missing return value

        * tk/tkscreen.h: The whole file was duplicated.

        * FAQ, INSTALL, README, doc/mcedit.1, doc/mcserv.8, lib/mc.hint:
        Corrected wrong URLs

        * doc/mc.1, doc/mc.sgml: Corrected wrong URLs, removed the outdated
        entry '8-bit clean' (this option disappeared somewhen in 3.5.X).

        * src/TODO: removed outdated information about '8-bit clean'

Fri May  2 13:11:31 1997  Paul Sheer       <psheer@icon.co.za>

	* edit/: Updated to latest cooledit sources.

Fri May  2 13:09:58 1997  Migue l de Icaza  <miguel@athena.nuclecu.unam.mx>

	* find.c (locate_egrep): Search the egrep program instead of using
	a hardcoded value.

Fri May  2 12:21:31 1997  roryt@hol.gr (I.Ioannou)
	
	* configure.in: SCO needs to use _SVID3 to compile.  Otherwise the
	fsusage routine complains.

Tue Apr 29 18:10:42 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>


Tue Apr 29 18:03:09 1997  Christofer Edvardsen <jce@kuai.se>

	* vfs/utilvfs.c (get_host_and_username): Allow the login name to
	have a password as well. 

Tue Apr 29 17:42:53 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* replaced all the occurences of:
	    copy_strings (d, PATH_SEP_STR, f, NULL)
        with a call to the concat_dir_and_file which do a copy_strings
	of d, f if d has a trailing "/" or a copy_strings of 
	d, PATH_SEP_STR, f if not.  This cleans up some code and make s
        the code work just fine on OS/2 and Windows/NT. 

	* boxes.c: Adjusted the listbox size, some test code went out. 

	* hotlist.c (save_hotlist): Set the file permission of the file to
	the one from the backup file.  This is for added security for
	those guys keeping passwords on their .mc.hot file.

Tue Apr 29 17:41:13 1997  Alexander Dong   <ado@software-ag.de>

	* src/dlg.c: On Windows NT RISC editions (for Alpha, PPC and
 	MIPS), the functions have a heading-code which calculates the real
 	address of the function.  So, instead of testing pointer
	addresses for checking if we are dealing with an input line, we
	use the W_IS_INPUT flag in the widget options menu.

	* nt: I have changed the function drive_cmd for Windows NT so that
 	it can display a more beautiful drive-select-window. This change
 	also fixes a problem with more than 5 drives.

	* os2: misc updates to all of the files.  (Alexander, could you
	send me ChangeLogs for your changes/).
	
Fri May  2 12:38:07 1997  Paul Sheer       <psheer@icon.co.za>

	* edit/*: Lotsa changes. Basically:
	    - Whole lot of tabbing options added.
	    - Sort command added.
	    - Spell command added.

Mon Apr 28 14:52:03 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* boxes.c (JOBS_X): Added dialog box for controlling the
	background jobs.

	* main.c: C-x j is bound to the job control dialog box. 

Sun Apr 20 11:04:09 1997  Alexander Dong   <ado@software-ag.de>

        * profile.c (load): Add fclose(f).

        * util.c (strcasecmp): change char to int.

        * cmd.c (do_edit): Default editor changed for NT and OS/2

        * dir.c (case_sensitive): Case insensitive for OS/2 and NT.

        * file.c (copy_file_file): Check for st_ino and st_dev for NT and
        OS/2 diabled.

        * info.c (info_show_info): check the wrong value for st_dev on
          NT and OS/2.

        * main.c (do_execute): disable control_file for OS/2.

        * screen.c (do_search): Case insensitive search for OS/2 and NT.

        * tree.c (load_tree): Changes to enable the tree file to be read
          correctly.

        * Add many changes for OS/2. (Change drive left and right ...)

        * Seperate set of files (*.os2.*) for OS/2.

Fri Apr 18 16:44:12 1997  Wojtek Pilorz <wpilorz@bdk.lublin.pl>

	* mc.ext.in: Replace %f with quoted '%f'.

Wed Apr 16 13:56:38 1997  Alexander Dong <ado@software-ag.de>

	* Contributed OS2 port of Midnight Commander.

	* config.h: new macro OS2_NT: defined if compiling under OS2 or
	Windows 95/NT.

Wed Apr 16 11:47:14 1997  Pawel T. Jochym <ptj@pkpf.if.uj.edu.pl>

	* util.h: fixed prototypes for SGI compilation.

Mon Apr 14 21:38:04 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c (view_ok_to_quit): New function.  Allows cancelation of
	the quit command when there changes have been made to the file.  

	(view_handle_key): catch quit events as well and allow the user to
	save the file.

	* vfs/ftpfs.c (select_on_two): Timeout after 1 second.
	
	* file.c: Added estimated time of arrival for ftp file systems and
	stalled condition detection messages.

Mon Apr 14 11:59:13 1997  Juan Grigera  <grigera@isis.unlp.edu.ar>

	* vfs/vfs.h: Use bug fix version on NT of rename and mkdir.
	
	* file.c (files_error): we were clobbering the return value of one
	of the names displayed.

	* slang.h: Updated to new version.

	* main.c (handle_args): fix: background_wait is only available
	if the program is compiled with WITH_BACKGROUND

Thu Apr 10 00:39:38 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* mouse.c (init_mouse): Use MCKEY_MOUSE as the magic key code
	returned by the xterm mouse sequence instead of zero.
 	
	key.c (get_event): Check for MCKEY_MOUSE as a return value from
	getch_with_delay instead of assuming return value == 0 => mouse
	event. 

	Paul: Control-space now passes a zero properly to your editor
	widget. 

Wed Apr  9 23:01:44 1997  Juan Grigera  <grigera@isis.unlp.edu.ar>

	* nt/config.h: NT has HAVE_FCNTL_H

	* nt/util.Win32.h: Definition to make a distinction between
	Windows NT and 95.

	* nt/utilnt.c: call set console title on Windows 95.
	Choose the proper shell depending on the Windows version.

	mc_rmdir: implement a Windows 95 version.
	mc_rename: same.
	
Tue Apr  8 19:05:37 1997  Jim Smelansky <jim@axis.donetsk.ua>

	* mc.ext.in: rexx, wavww, rar and dbf additions.

	* extfs/rar: new updated version

Mon Mar 31 21:06:56 1997  Norbert Warmuth <k3190@fh-sw.de>

	* vfs/ftpfs.c: Removed the no-op macro 'wipe_password'. There is
	a function wipe_password in src/util.c which overrides a string
	with zero and frees the previously malloced pointer.

	Fixed memory leaks, prevent freeing of NULL pointers

	* view.c (regexp_view_search): Avoid freeing a pointer more than
	once when entering wrong regular expressions on the search dialog.

	* view.c (regexp_search, normal_search): Fixed memory leaks, removed
	some statements which had no effect

Mon Mar 17 12:03:50 1997  Norbert Warmuth <k3190@fh-sw.de>

	* configure.in (--with-hsc): fix.
	
        * vfs/ftpfs.c (ftpfs_get_proxy_host_and_port): Fixed wrong parameter
        passing (HSC_DEFAULT_PORT was passed as pointer to char instead of
        passing it as integer)
 
Sun Mar 16 15:13:08 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>

	* mc.ext.in (html): When invoking lynx use -force_html;  
	When calling netscape or lynx, use %f instead of %p.
	(type/compress): detect compressed files as well.

Tue Mar 11 11:32:59 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* widget.c (key_left): Add support for control-left, control-right
	in WInputs.

	* main.c (do_execute): Decouple the dependency of the vfs on the
	subshell. 

	* file.c (copy_dir_dir): Do not create the directory if it already
	exists.

Fri Feb 28 11:49:56 1997  Norbert Warmuth <k3190@fh-sw.de>

        * src/*, vfs/*: Removed compiler warnings about missing prototypes,
        unused variables, etc.
 
        * tk/*: Removed compiler warnings about missing prototypes and
        wrong/missing return values
 
        * tk/tkinfo.h, tk/tkscreen.h, tk/tkwidget.h: New files with
        prototypes needed by src/* (tk edition)
 
        * mfmt.c (main), tk/tkinfo.c (x_show_info): Corrected wrong
        parameter count in one function call
 
        * tk/tkwidget.c (x_create_gauge): Changed the returntype from
        void to int because the return value is used by gauge_callback.

Thu Feb 27 17:50:22 1997  Paul Sheer       <psheer@icon.co.za>

	* tk/tkscreen.c: new compute_font_size function created to
	work with tcl/tk8.0.

	* edit/edit*: emacs key binding option added. Can be envoked
	with edit_key_emulation=1 in the ini file. 0 is normal keys.

	* mcedit.1: updated
	
Wed Feb 26 11:41:18 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* key.c (get_event): Now it returns either a key sequence code or
	EV_NONE or EV_MOUSE.  These were already implemented but were
	hardcoded to the constants -1 and 0 respectively.  This allows the
	C-@ key to be processed.

Tue Feb 25 20:21:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>

	* extfs/lha: Updated the lha filesystem and included a command
	for running an executable from within an lha archive suggested
	by Zdenek Kabelac <kabi@informatics.muni.cz>

	* extfs/: Renamed cpio, deb, rar, rpm as *.in files and altered
	config.in to create these VFS's for cleaner compilation 
	
Sun Feb 23 14:52:12 1997  Joseph M. Hinkle <jhinkle@rockisland.com>

	* mcedit.1, mc.sgml, mc.1: Spelling fixes to the internal editor
	documentation. 

Sun Feb 23 20:00:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>

        * src/Makefile.in (uninstall:) make uninstall removed /bin/rm; Added
        a semicolon after "cons.saver" so the line is not interpreted as
        "rm ... cons.saver /bin/rm ..."

        * src/view.c (hex_search) Added code to set the hex editing cursor to
        the start of the found text after a hex search.  Left ASCII search
        undisturbed; in the case of searching for ASCII then switching to
        hex mode, the hex edit cursor is at the beginning of the line
        containing the found text, an artifact of setting the hex edit
        cursor to a byte position ending in 0 to make hex navigation a
        little easier.

        * src/view.c HexEdit seems stable enough for release as a View
        suboperation available from function key F4 Hex under F3 View.


Sun Feb 23 14:08:00 1997  Yuri Elkin <yury@intruder.mktg.stratus.com>

	* tar.c (tarfs_get_path): Flush tarfs cache if the tar file we are
	openning has been modified since the time we loaded it into the
	cache. 

Sun Feb 23 14:00:45 1997  Norbert Warmuth <k3190@fh-sw.de>

	* dir.c (handle_path): New function used by find.c and panelize.c
	instead of handle_dirent. handle_path is a simplified handle_dirent.
	The difference is that handle_path doesn't pay attention to the
	settings of 'Config/Configuration/show Backup files' and 'Config/
	Configuration/show Hidden files'. Moreover handle_path can't be
	used with a filemask.
	
	The main reason for introducing handle_path was to make it 
	possible to panelize hidden and backup files regardles of the config 
	settings. 
	
	I used the opportunity to get rid of struct spaced_dirent in 
	find.c and panelize.c. It was only used to pass parameters to
	handle_dirent. In theory this could be a problem because the
	d_name member has only space for a filename (at least on linux)
	but it was used to pass a complete path (directory + filename).

	* dir.h: Added prototype for handle_path

	* find.c (find_file), panelize.c (do_external_panelize): Moved 
	from struct spaced_dirent and handle_dirent to handle_path

	* view.c (view_handle_key): Enabled input of hex digits B-F for
	left side data entry (hex editing).
	Use of is_printable for right side data entry.

	* widget.c (button_callback): Remember if button is focused (WButton's
	selected memeber wasn't used up to now).
	Formerly changing the text of a focused button the button wasn't 
	redisplayed with the correct color (e.g. the Start/Stop button of 
	the find dialog).

	* cmd.c	(dirsizes_cmd): Fixed memory leak

	* vfs/mcserv.c (get_port_number): There was a return statement 
	without value hidden in the macro DO_QUIT(). I added a macro
	which returns a value. Now there are two macros: DO_QUIT_VOID()
	and DO_QUIT_NONVOID().

	* vfs/mcserv.c (main): Added an additional error check.

	* vfs/*: Removed compiler warnings about missing prototypes, 
	unused variables, etc. 

Sun Feb 23 13:46:04 1997  Dan Nicolaescu <DONE@DONE>

	* Wrote makefiles :-)
	
	* chmod.nt.c, drive.nt.c: minor bugs fixed (incorrect number of
	params)
	
	* util.WinNT.c (geteuid): added #ifdef WINNT
	
	* slint.nt.c (mc_refresh): added this (copied from src/slint.c)

	* utilnt.c (vfs_get_current_dir): dummy function, the vfs
	currently does not work for win32, but this function is called
	(vfs_current_is_extfs): see vfs_get_current_dir
	(vfs_file_is_ftp): see vfs_get_current_dir
	(mc_utime): see vfs_get_current_dir
	(extfs_run): see vfs_get_current_dir

Thu Feb 20 11:32:04 1997  Yuri Elkin <yury@intruder.mktg.stratus.com>

	* main.c: Add '-e' flag to the help output.  

	* configure.in: Install mcedit if it was compiled in.

Tue Feb 18 22:02:50 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* ext.c (regex_command): Added support for including a global
	entry with the "Include=" tag.

Sun Feb 23 20:00:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>

	* src/Makefile.in (uninstall:) make uninstall removed /bin/rm; Added
	a semicolon after "cons.saver" so the line is not interpreted as 
	"rm ... cons.saver /bin/rm ..."

	* view.c (hex_search) Added code to set the hex editing cursor to 
	the start of the found text after a hex search.  Left ASCII search
	undisturbed; in the case of searching for ASCII then switching to
	hex mode, the hex edit cursor is at the beginning of the line
	containing the found text, an artifact of setting the hex edit 
	cursor to a byte position ending in 0 to make hex navigation a
	little easier.

	* view.c HexEdit seems stable enough for release as a View 
	suboperation available from function key F4 Hex under F3 View.

	* lib/mc.ext.in (lha) Amended the lha entry to include upper case
	file extensions LHA|LZH and implemented the lha Virtual Filesystem
	instead of outputting just the file list.

Mon Feb 17 12:41:32 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* widget.c (button_callback): Special FOCUS case for Tk edition:
	the default button is actually a frame+button.  The default dlg.c
	code will focus the frame (and thus, the focus will not be
	shown).  By adding a focus response to WIDGET_FOCUS, the code can
	focus the correct widget.

	* mc.tcl: Keyboard bindings now affect all TkMC instead of being
	done in a per-window basis.  This fixes several problems.

	* screen.c (do_search): Make sure we unselect the item before
	changing the selection.  Tk version needs this.

	* cmd.c (set_panel_filter): Make a version that allows setting the
	filter for any panel.

	* ext.c (regex_command): Separate returned tags with the '='
	symbol (since this one can't be part of the tag name).  This
	extends the usefulness of the popup menus in the Tk edition.
	
	* dialog.c: Do refreshes on X.  This fixes the problem with the
	masks and the rereads not working.

	* slint.c: Provide X version for the refresh screen.  This is a
	nop. 
	
	* find.c (view_currently_selected_file): Check if there is a
	selected file before attempting to view it.

Fri Feb 14 00:02:40 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkscreen.c (x_fill_panel): Added some support for coloring
	directory entries.

	* mc.tcl: cleaned up code for the tags in the panels.  This is
	used by the new coloring code.

Fri Feb 14 12:49:22 1997  Norbert Warmuth <k3190@fh-sw.de>

        * find.c (find_file): Added the correct useage of struct dirent
        for some operating systems (e.g Solaris 2).
        A comment regarding this is contained in ftpfs.c (search for
        NEED_EXTRA_DIRENT_BUFFER)
 
        * find.c (do_find): The status of the start/stop toggle button
        wasn't set right sometimes.
 
Thu Feb 13 22:42:34 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* mc.tcl, tkscreen.c: Made the sort bar useful.  

	The code is small-icon-ready. 

	Resizing works properly now.

Thu Feb 13 13:05:45 1997  Yuri Elkin <yury@intruder.mktg.stratus.com>

	* hotlist.c: quote backslashes on pathnames when saving.

Thu Feb 13 10:29:36 1997  Norbert Warmuth <k3190@fh-sw.de>

	* extfs.c (extfs_fill_names): Fix crash when expanding a zip on a
	floppy drive.

	* panelize.c (remove_from_panelize): Don't allow to remove
	the entry "Other command" from the list of commands.
	This entry is always added on startup so there's no need to
	remove it and most important I remove one posibility to 
	segfault (when removing from an empty list). 

	* panelize.c (external_panelize): Don't run the external
	panelize command on non local file systems. 
	
	* panelize.c (do_external_panelize): Fixed possible memory leaks.

Wed Feb 12 13:05:01 1997  Norbert Warmuth <k3190@fh-sw.de>

        * edit/editcmd.c (string_regexp_search): Avoid freeing a
        pointer more than once.
 
        * edit/editcmd.c (edit_find_string): Fixed possible memory
        leaks
 
        * dir.c (do_reload_dir): fixed possible memory leaks
 
        * find.c (search_content): fixed memory leak
 
        * find.c (do_search): do_search opens a directory stream and
        stores the pointer to it in a static local variable. I added
        the posibility to close the directory stream from outside
        without making the variable in question global. Call it a
        ugly hack if you want.
        (Formerly the stream remained open e.g. if ESC was hit while
        the search was runing)
	
        * find.c (find_file): Every found file is added only once into
        the current panel when button 'Panelize' is pressed.
        I also removed two bugs which I could reproduce and which
        caused coredumps.
 
        * find.c (do_find): fixed memory leaks
 
        * screen.c (panel_reload): fixed possible memory leak

Tue Feb 11 13:14:52 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c: some keys are better ignored.

	* screen.c (get_sort_fn): Use the sort_types array instead of
	using screen's.c table.

	* dir.c: Added more sorting types, this is basically just used for
	the GUI versions that may want this accessible.

Thu Feb  6 15:01:44 1997  Paul Sheer       <psheer@icon.co.za>

	* edit/edit*: Added goto line function. Added delete line
	function.

Wed Feb  5 18:08:47 1997  Paul Sheer       <psheer@icon.co.za>

	* edit/editdraw.c, edit/editwidget.c: Changed some of the
	draw code to properly check for waiting key presses. This
	should speed things up a bit. Redraws all when you let
	up key repeating. I think I should add a 'dirty' variable
	like in view.c.

Wed Feb  5 12:29:24 1997  Norbert Warmuth <k3190@fh-sw.de>

        * background.c (background_attention): Added missing break to
        switch-statement
 
        * cmd.c (dirsizes_cmd), panelize.c (do_external_panelize): Changed
        message-type from INSERT to NORMAL
 
        * file.c (copy_dir_dir): Replaced one chmod with mc_chmod
 
        * tk/Makefile.in: Added missing dirhist.o to OOBJS to make the
        tk-version compile

	* achown.c, chmod.c, chown.c: Made the Advanced chown command,
        the Chmod command and the Chown command vfs-aware; added missing
        destroy_dlg; added some simple error-handling
 
        * vfs/vfs.c, vfs/vfs.h: Added new function vfs_current_is_tarfs
        now needed by achown.c, chmod.c and chown.c


Mon Feb	 3 09:33:55 1997  D. Hugh Redelmeier <hugh@mimosa.com>

	* layout.c (set_display_type): Cast to correct type.

	* screen.c (panel_event): remove static.
	
	* hotlist.c (l_call): remove warning.

Sun Feb	 2 14:04:57 1997  Yuriy V. Elkin <yury@intruder.mktg.stratus.com>

	* hotlist.c (CHECK_BUF): Use realloc only if the pointer has a value.

Wed Jan 29 14:01:30 1997  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>

	* dir.c: Fix sorting.  We assumed that the first directory entry
	returned by readdir would be the "." and ".." entries.	This is
	not the case under some operating systems, and ftp fs was already
	bitten by this.	 This fix, finds the ".." dir and puts it at the
	beginning. 

Thu Jan 30 19:52:01 1997  Paul Sheer	   <psheer@icon.co.za>

	* main.c: fixed view file from command line. Added edit file
	from command line with the extra option -e <file>. Added
	function prepend_cwd() which adds cwd to a fname if its not
	an absolute path (does a function like this exist already?).
	Does -v <file> now do what was intended?

	* main.c: added check if viewing or editing from command line
	to always output "." even if -P is set. Otherwise we get a
	segfault.

	* main.c: added check if mcedit is in argv[0]. if so we are an
	editor, so edit file on command line.

	* edit/edit.c: made some changes to push_action to reduce stack
	usage.

	* edit/editcmd.c: made changes to handle getting a null file.
	goes to new file for mcedit without args.

	*doc/mcedit.1: man page created.

Mon Jan 27 11:17:37 1997  Norbert Warmuth <k3190@fh-sw.de>

	* vfs/tar.c (uncompress_tar_file): Check for error while 
	uncompressing to temporary file (the main error is probably
	writing to a full tmp-volume) 

	* vfs/tar.c (tar_chdir): fixed memory leak

	* util.c (load_file), widget.c (assign_text): fixed memory leaks
  
	* vfs/extfs.c (free_archive): Added check before freeing 
	archive->name because it's NULL for a mtools-fs e.g. 'cd a:'

	* vfs/extfs.c (read_extfs_archive, extfs_close): fixed 
	memory leaks

	* vfs/extfs.c (extfs_done): New function in order to free memory
	at program termination; it made it easier to me to find the
	memory leaks

	* vfs/extfs.h: Added prototype for extfs_done

	* vfs/mcfs.c (mcfs_get_path, mcfs_rpc_two_paths, mcfs_rpc_path, 
	mcfs_rpc_path_int, mcfs_rpc_path_int_int, mcfs_open, 
	mcfs_opendir, mcfs_stat_cmd, mcfs_readlink, mcfs_chdir,
	mcfs_forget): fixed memory leaks

	* vfs/utilvfs.c (get_host_and_username): Now at return there's
	always the same state (*host and *user malloced, *pass malloced
	or NULL)

	* vfs/vfs.c (mc_get_current_wd, mc_utime, mc_chdir): fixed
	memory leaks

	* vfs/vfs.c (vfs_canon): Added check before freeing because 
	'arc_name' may be NULL (extfs for mtools e.g. 'cd a:')

	* vfs/vfs.c (vfs_shut): Added call to new function extfs_done

	* vfs/vfs.c (vfs_force_expire): fixed memory leak

Mon Jan 27 10:51:30 1997  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>

	* view.c (view_percent): File percentage values in the built-in
	viewer are wrong for files bigger than approx. 20MB because of
	arithmetic overflow in the view_percent function in view.c. 

Mon Jan 27 10:42:13 1997  Norbert Warmuth <k3190@fh-sw.de>

	* main.c (do_panel_cd): My third patch changes the behaviour of mc
	when leaving the tarfs. In that case the working directory of the
	subshell isn't changed to ".." but to the directory of the current
	panel.

Fri Jan 17 17:21:48 1997  Norbert Warmuth <k3190@fh-sw.de>

	* edit/Makefile.in: clean up, one could see that it was an
	adapted vfs/Makefile.in

	* background.c: added missing #include "mad.h"

	* cmd.c (compare_dir): count and bytes of marked files were
	calculated sometimes wrong

	* help.c (interactive_display): fixed possible memory leak 
	in size of mc.hlp

	* hotlist.c (add2hotlist_cmd): hotlist was not marked as
	modified if only button 'Add current' was used i.e. that
	there was no chance of saving the hotlist unless there 
	hadn't been other modifications 

	* hotlist.c (load_hotlist): removing [Hotlist] in ~/mc.ini
	didn't work when 'auto save setup' wasn't activated.

	* hotlist.c (save_hotlist): a saved hotlist is marked as
	unmodified 

	* learn.c (learn_button): don't allow definition of enter

	* learn.c (learn_save): without 'Auto save setup' the new
	key-definitions were not saved 

	* main.c (done_mc): without 'Auto save setup' activated a
	modified hotlist wasn't saved at program termination

	* mad.c (mad_realloc): MAD complained about 'realloc (NULL, size)'
	but that's legal C and the same as 'malloc (size)' 
 
	* screen.c (panel_key): hitting C-s more than once the next
	file matching the search string is searched for instead of
	starting a new search, any abort key stops filename search

	* enable abort of filename search with the usual abort keys

	* tree.c (tree_destroy): fixed memory leak

	* tree.c (do_tree_check): F2 on very last directory in
	an tree view didn't work

	* tree.c (maybe_chdir): removed compiler warning about
	missing return value

	* tree.c (start_search, tree_key): Added same search method
	like with a panel in listing mode, i.e. C-s starts search,
	further C-s move to the next matching directory, any abort key
	stops search
	
	* tree.c (global variable tree_keymap[]): made an invisible
	{ 0, 0 } visible before one has the idea of removing an needless
	comma

Sat Jan 18 18:18:40 1997  Paul Sheer	   <psheer@icon.co.za>

       * edit.c: Fixed segfault on when C-n ing.

Thu Jan 16 11:11:50 1997  Norbert Warmuth <k3190@fh-sw.de>

	* layout.c (set_display_type): Fix a bug where the current_panel
	variabel would not point to a WPanel * but to something else.  We
	are looking for a better fix.

Tue Jan 14 16:53:26 1997  namsh <namsh@amuna.rms.lgic.co.kr

	* find.c (search_content): 

Tue Jan 14 15:11:15 1997  Leos Bitto	   <bitto@kolej.mff.cuni.cz>
	
	* cons.saver.c: make it work with virtual consoles bigger than tty9.

Mon Jan 13 20:58:28 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* dirhist.c: Added routines for keeping track of recently used
	directories. 

Tue Jan 28 12:56:39 1997  Paul Sheer	   <psheer@icon.co.za>

	* option.c: Added 'use internal edit' check box to options list.

	* mc.sgml: Added help for config for this.

	* edit/*: Now displays full 8 full bit. (This screws up completely
	when editing binaries files because terminal display chars
	as ^X which is two chars wide.)

Sat Jan 18 18:18:40 1997  Paul Sheer	   <psheer@icon.co.za>

	* edit.c: Fixed segfault on when C-n ing.

Mon Jan 13 18:24:41 1997  Andrej Borsenkow <borsenkow.msk@sni.de>

	* ftpfs.c (ftpfs_get_proxy_host_and_port): Handle properly proxyes
	that have a port number specified as well.

Fri Jan 10 02:10:45 1997  Norbert <k3190@fh-sw.de>
	
	* cmd.c (quick_chdir_cmd): fixed memory leak

	* cmd.c (view_other_cmd): changing to subshell with C-o and
	typing 'exit' doesn't cause an segfault any more. 
	Now MC exits quietly, to achieve this minor changes in cmd.c
	(view_other_cmd), command.c (enter), main.c (do_execute,
	quit_cmd_internal, done_screen, main), subshell.c (sigchld_handler), 
	subshell.h were necessary 

	* command.c (command_new): fixed memory leak

	* main.c (do_execute): fixed memory leak

	* main.c (main): call of flush_extension_file in order to free
	malloced memory on program termination. It just makes it easier
	to find memory leaks with MAD or something similar.

Mon Dec 23 10:13:04 1996  Norbert <k3190@fh-sw.de>

	* profile.c (profile_forget_profile): Bug fixed which caused 
	complete loss of settings for all .ini files instead of loss for
	only one .ini file as wanted.

	* vfs/mcfs.c (mcfs_forget): fixed incorrect parameter passing to
	mcfs_open_tcp_link (port itself instead of pointer to port was
	passed)

	* vfs/tar.c (tar_open): fixed disregarded operator precedence

	* hotlist.c (CHECK_BUFFER): fixed disregarded operator precedence

	* hotlist.c (add2hotlist_cmd): inserted check of malloc's return value
	by using of xmalloc (only a 'cosmetic' change)

	* hotlist.c (remove_group, remove_from_hotlist, done_hotlist):
	now freeing should work: for HL_TYPE_GROUP hotlist->directory is
	NULL and Janne's Memory Allocation Debugger complained e.g. when
	removing a group from the hotlist


Thu Dec 26 19:03:47 1996  Paul Sheer

	* edit.c: Fixed a bug that caused undo to sometimes stop
	working when the undo stack wrapped. (This can be BAD news for
	someone if they suddenly found they couldn't undo -- sorry guys.
	I've now tested it quite thoroughly with a visual on whats going
	on in the stack and it works perfectly.)

	* editcmd.c: memmove() command added if HAVE_MEMMOVE not defined;
	return value of sprintf() now ignored.

	* configure.in: check for memmove func added.

	* edit/*: Lotsa minor odds and ends.

Wed Dec 18 15:13:04 1996  Joseph M. Hinkle <jhinkle@rockisland.com>

	* mc.ext: Use lha file system.

	* Makefile.in: Create proper mc.tcl file.
	
Wed Dec 18 15:13:04 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* widget.c (listbox_key): Do not process any key command if the
	listbox list is emtpy.

Tue Dec 17 12:59:13 1996  Christophe MEYNARD <Christophe.Meynard@ign.fr>

	hotlist.c (update_path_name): Fixed crash in hotlist.

	(add_new_group_input): Initialize the text field in
	the quick widget.

Tue Dec 17 12:59:13 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* configure.in: By default compile the builtin editor now.

	* mc.ext: Do not provide an action for editting, this is needed
	for using the internal editor.

Mon Dec 16 14:26:55 1996 Norbert Warmuth <k3190@fh-sw.de>
	
	* widget.c (insert_char): Fixed a buffer overrun: in the original
	code there is always one location too much copied in the function
	"insert_char()" in file "src/widget.c".
	
Mon Dec 16 14:26:55 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c (view_handle_key): Took the Hex Edit changes out.  Hex
	Edit will be shipped separetedly until the code is ready for
	public release.

Fri Dec 13 19:15:39 1996  Joseph M. Hinkle <jhinkle@rockisland.com>

	* view.c: Added support for using the viewer as an hex editor. Woo
	Woo!

Wed Dec 11 20:54:53 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkscreen.c (tk_panel_callback): Added drag/drog for the Tk
	version.

	* mc.tcl: Lots of enhancements. 

Sat Dec	 7 13:54:43 1996  Joseph M. Hinkle <jhinkle@rockisland.com>

	* extfs/lha.in (LHA): New external file system handler for the LHA
	file format.

Fri Dec	 6 14:57:43 1996  Joseph M. Hinkle <jhinkle@rockisland.com>

	* vfs/extfs/README: Updated the information on creating an
	external file system handler.

Wed Dec 11 14:07:50 1996  Paul Sheer	   <psheer@icon.co.za>

	* mc.sgml: created proper editor help. sgml page is not tested
	though.

Wed Dec 11 10:57:28 1996  Paul Sheer	   <psheer@icon.co.za>

	* key.c, key.h: New command: get_modifier() which gets the state
	of the alt/shift/control keys.

	* edit/*: Added in key translations for shift arrow text
	highlighting using get_modifier(). Added insert/overwrite
	support.

Thu Dec	 5 00:06:31 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkscreen.c (x_filter_changed): Added a tick border to default
	buttons. 

Wed Dec	 4 18:41:37 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* mc.tcl: Put some nicer colors for Tk input lines.

	Changed the cwd display to show the file mask as well.	It now is
	also a menu, so this will show a menu that can run some commands
	on the current directory (should I remove some of the stuff from
	the left/right menus then?  Probably everything should be moved
	here for the Tk edition).

	* tkscreen.c (tk_invoke), mc.tcl: Now the Tk version has context
	popup menus just like Jakub's XView version and TkDesk
	(tk_load_popup): 

	* mfmt.c: Added this program that I had here for a long time and
	had not been included in the distribution.

Tue Dec	 3 20:09:35 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkmain.c (tkmc_callback), mc.tcl: Generate a escape char when
	a window is closed by the window manager.  This keeps the
	information consistent (ie, windows don't get killed behind our
	backs). 

Mon Dec	 2 23:51:59 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkscreen.c (x_unselect_item): Cleaned up the panel managing
	routines.  Added focus/unfocus calls. 

Wed Dec	 4 15:16:59 1996  Paul Sheer	   <psheer@icon.co.za>

	* edit*.c: Support for Winsnows/Macinosh shift-arrow text
	highlighting, although no keys have been defined as yet to
	actually do highlighting. Fix of potential bug overwriting
	line[1024] in editdraw.c.

Sat Nov 30 09:04:24 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* background.c (parent_call_string): Our parent/child protocol now
	can handle strings. 

Fri Nov 29 21:05:52 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* features.inc: Moved th configuration report information to this
	file.  Now the -V option will show information on which options
	were compiled into the program. 

	* background.c: Moved the general purpose background code to this
	file. 

Fri Nov 29 18:57:37 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* hotlist.c: Added Lynx style navigation.

	* hotlist.c: this version will finally get rid of [Hotlist] and Co
	in ~/.mc.ini If no ~/.mc.hot exists, it will copy old enrties and
	warn user about new file; if ~/.mc.hot already exists, you have
	the choice to keep old entries, to remove them or to add them in
	separate group for later review. I tried to make it foolproof, but
	no warranty ;) anyway, the betatesters can just tell "Remove".

	* changed "hotlist_params" to "hotlist_state" (seems to me more
	logical).

	* added "modified" flag so MC won't rewrite ~/.mc.hot every time.

	* preliminary added "unfolded" parameter - the intent is to show
	all groups at once in tree like structure; I tried to make simple
	implementation, but the result was less than satisfactory and I
	backed out changes. Sometimes ...

	* when copying from ~/.mc.ini to ~/.mc.hot I try to make shure it
	works; so I check if ~/.mc.hot was written (actually I *intended*
	to check - it probably doesn't work 100%) Changed definition of
	load_hotlist() from void to int.

	* setup.c, main.c: because we now need to tell user what's going
	on, moved hotlist loading after screen initialization.

Thu Nov 28 11:50:32 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* hotlist.c: add2hotlist_cmd (): length of current directory name
	was not checked; in case of very long name "Add current" display
	was distorted. The patch tries to truncate name to reasonable
	length (I thought it appropriate to keep dialog inside of hotlist
	main dlg window - it could be made something more wide if enough
	demand ;)

	* update_path_name (): directory path was truncated but with
	incorrect lenth - long paths were getting out of bounding box.

Tue Nov 26 12:29:27 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* ftpfs: ftpfs open mode (passive or active) is now controlled by
	the variable ftpfs_use_passive_connections variable.

Tue Nov 26 12:28:53 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* ftpfs.c: Moved all of the proxy checking to ftpfs_check_proxy;
	Never use passive mode if we are using a proxy host.

Thu Nov 28 20:14:34 1996  Paul Sheer	   <psheer@icon.co.za>

	* edit*.c: macro now creates ~/cooledit.macros automatically
	Execute macro now does nothing if key not found, instead of error.
	Save file sets permissions on creating a new file.

Mon Nov 25 20:19:40 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* file.c (panel_operate): remove code for background operation if
	this is not compiled in (thanks to done@nexus.sorostm.ro (Dan
	Nicolaescu) for pointing this).

	* ftpfs.c (ftpfs_close): Avoid flushing the directory on every
	store operation if it is not absolutely necessary.  This is an
	optimization that I missed.

	* vfs/*.c: Make all of the virtual file systems use the message
	stubs.	We still need a stub for the input_dialog.  I will do this
	one next (as well as moving the stub functions out from file.c).

Mon Nov 25 13:41:19 1996  Luca Berra <bluca@comedia.it>

	* ftpfs.c (initconn): Made passive connections the default.
	Fallback to active connections if this fails (per connection).

Mon Nov 25 09:31:57 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* src/hotlist.c: Use input lines with a non-null default value.
	Better redrawing.

	* src/boxes.c: New proxy options: Can make the usage of the proxy
	a global option (no need to use the ftp://! syntax if the
	ftpfs_always_use_proxy variable is set, check the man page for
	details on this).

	* src/widget.c: Mouse support;

Mon Nov 18 20:31:47 1996  Elliot Lee <sopwith@cuc.edu>

	* xv: Patches to make it compile.

Mon Nov 18 20:15:14 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* ftpfs.c: Put the CD/LS optimization back.  We know do an ls on
	$PATH/. and we magically get the symlink information we were
	missing with this optimization in the previous attempt.

Tue Nov 12 16:47:52 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* hotlist.c: Bug fixes.	 Made the hotlist window resizable again.

Tue Nov 12 18:54:10 1996  Paul Sheer	   <psheer@icon.co.za>

	* edit/*: changes to low level insert, delete etc to allow inserting
	of chars before the display window without the window going out
	of sync -- fixes replace bug that I hope only I knew about + some
	optimisation of push/pop_action routines (hope it doesn't break
	undo).

	# layout.c: added call to edit_adjust_size for window resizing.

Mon Nov 11 09:24:02 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c: Re-enabled the CD remote-path; LS "." code instead of
	the optimzied (and broken) code that did LS remote-path directly.

Mon Nov 11 09:16:01 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* edit/*: changes to structure initializer

	edit_move_forward3() returns *float* but is called in argument
	conetxt which expects *int*. And without function prototypes

	* util.c: more changes were neccessary to use mc://host syntax

	* vfs/ftpfs.c: new -password code failed for non-anonymous logins

	* hotlist.c: add2hotllist() - corrected stupid error which resulted
	in empty hotlist. If you had it, remove empty ~/.mc.hot before
	running new MC!!!

	* widget.c (listboxes): Can now specify the position where the
	item is inserted.

	* mcfs.c: more changes to adapt mc:// syntax.

	* vfs.c: more changes to adapt mc:// syntax. (I hope it to be the
	last)

Thu Nov	 7 12:34:03 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* mcfs.c (mcfs_forget), ftpfs.c (ftpfs_forget): Actually, instead
	of forgeting about the connection, we now update it.  We close the
	socket that is being used by the child and reopen the connection.

Thu Nov	 7 21:16:59 1996  Paul Sheer	      <psheer@icon.co.za>

	* edit*.c: Change c-o to load file. c-l now refreshes
	screen. Menu command added to refresh screen. Menu command
	added to insert a literal. C-z and c-x now move word left
	and right respectively.

	* editmenu.c: About box added.

	* mc.hlp: Editor help added.

Wed Nov	 6 12:23:14 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* editcmd.c: Not every compiler takes non-statical initializer of
	structures. Also, dlg_init (or is it init_dlg?) crashes, if passed
	*empty* (as opposed to *no* - NULL) tk name.

	* main.c (handle_args): If the program ends while handling args
	and the -P option was used report the current working directory.

	* ftpfs.c (login_server): Removed the - option altogether.

Sat Nov	 2 17:31:21 1996 Paul Sheer <psheer@icon.co.za>

	* edit.c: Rewrote edit_move_forward/backward functions to
	handle eof properly.

Fri Nov	 1 13:08:22 1996 Paul Sheer <psheer@icon.co.za>

	* editdraw.c: Status line drawing improved for screens with
	small widths.

Thu Oct 31 13:08:22 1996 Paul Sheer <psheer@icon.co.za>

	* editcmd.c: Added regular expression search and replace. Checks
	for overwriting an existing file if you change the filename.

Sun Oct 27 21:17:11 1996 Paul Sheer <psheer@icon.co.za>

	* edit*.c: Slight changes to allow compilation with gcc's
	options -ansi -pedantic. Checks for macro NO_EDITOR added so
	that '#define NO_EDITOR' in config.h will leave out the editor.
	Editor now adds 30kb (9%) to the mc binary size (compiled without
	-g and with -O2).

Sun Oct 27 11:24:07 1996  Paul Sheer <psheer@icon.co.za>

	# editwidget.c, editmenu.c: alt-f, alt-e... now drops menus
	File, Edit etc.

Sun Oct 27 10:45:40 1996  Paul Sheer <psheer@icon.co.za>

	* edit.c: Date/time command added.

Sun Oct 26 00:00:00 1996  Paul Sheer <psheer@icon.co.za>

	* editwidget.c, editmenu.c (new): Pull-down menus added.
	function menubar_event required to be non-static so that
	it can be called from editwidget.c.
	Macros made to work with any key. Quote feature added.
	Both use new edit_raw_key_query dialog sub. editcmddef.h
	added which now contains all the command defs.

Fri Oct 25 12:00:00 1996  Paul Sheer <psheer@icon.co.za>

	* edit*.c: Macro record and execution added.

??? Oct ?? 12:00:00 1996  Paul Sheer <psheer@icon.co.za>

	* editcmd.c: Scanf search and replace added. Function edit_adjust_size
	added for resizing of the widget analogous to view_adjust_size.
	Must be called from layout.c just like view_adjust_size.

??? Sep ?? 12:00:00 1996  Paul Sheer <psheer@icon.co.za>

	* edit.c, editwidget.c, editdraw.c, edit.h, editcmd.c,
	edit_key_translate.c: Created from single source file, code
	completely overhauled. Undo now also undoes marking. Some
	drawing and behavioural problems solved. All key actions
	now work through commands, and the command to key mappings are
	done by a seperate file edit_key_translate.c.

??? ??? ?? 12:00:00 1996  Paul Sheer <psheer@icon.co.za>

	* edit.c, edit.h: Created from view.c as a simple editor, with
	same look, with block commands and undo. Command to call is
	int edit(char *filename);


Tue Nov	 5 00:21:22 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* ftpfs.c (login_server): Do not send the dash if the user is
	debugging the connection.

Mon Nov	 4 14:21:48 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* edit/: updated to latest version from Paul Sheer.

	* ftpfs.c: Fixed a couple of memory leaks in the code.

	* mcfs.c (mcfs_forget): when searching for a connection
	description, check also the port number.

	* vfs.c, vfs.h: Added a way to forget about a connections.  This
	is required by the background code.  The idea is that the
	background copy of the program keeps the information for what it
	will copy/move (ie, the open sockets for mcfs and ftpfs) and the
	parent code has to open a new connection.
	
	* ftpfs.c (ftpfs_forget), mcfs.c (mcfs_forget): Implementation of
	the ftp forget-about-a-connection code.	 This routine just makes
	the hostname an empty string, so that no further matches will
	occur when referencing the file system, thus forcing a connection
	to be opened again.

Fri Nov	 1 15:40:31 1996  Paul Sheer	   <psheer@icon.co.za>

	* edit/: Built in editor.
	
Fri Nov	 1 15:40:31 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* find.c (find_file): Add a button for the View option so that
	people actually know it is possible to view those.

	* file.c (real_query_recursive): Add background operations.

	* replaced refresh for mc_refresh in all of our code.  This serves
	two purposes: X11 code will never refresh the console ever again
	(we provide a wrapper in tkslint) and the background tasks will
	not output text to a console.
	
	* slint.c (mc_refresh): refresh only if we are not a background
	task.  

	* tkslint.c (mc_refresh): Empty routine, may call update idletasks
	in the future.

	* file.c (background_attention): More background code goes in.

Fri Nov	 1 00:07:59 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (parent_call): I defined wrappers around the functions to
	let both the foreground and background processes call these
	routines in a less hacky way (ie, we won't be giving the
	background process control of the terminal ever).  Now, I plan on
	using an rpc method for the background process to call the parent
	process.  The idea of this is that the X11 editions of the program
	will benefit from this.

	* cmd.c (compare_dir): Add compare only based in size.

	* wtools.c (common_dialog_repaint): Not all dialogs have titles.  Fix.

	* hotlist.c (init_hotlist): Make the size of the dialog
	proportional for the screen size.
	
	* find.c (find_file): ditto. This one was easier.

Sat Oct 19 16:32:35 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* extfs.c (extfs_init): Use a better structure for extfs_extensions.

Mon Oct 14 19:29:38 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* ftpfs.c (login_server): Use a dash in front of the username,
	some ftp servers use this to avoid sending the .messages file.
	Log the directory ouput when debugging the ftp output.

Sun Oct 13 13:10:34 1996  Alexander V. Lukyanov <lav@video.yars.free.net>

	* mouse.c: Do not open /dev/console.  Use the file handle that gpm
	opens for any operation on the console.

Mon Oct	 7 11:32:26 1996  Kikutani Makoto <kikutani@jdc.ericsson.se>

	* cmd.c (view_file): fixed: return a value from this function,
	prevents the crash.

Tue Oct	 1 16:20:03 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c (load_view_file): When we close the file descritor, set
	the file field on the WView to -1 so that we don't close the file
	two times by a mistake.	 This bug was found by esteban@nuclecu.unam.mx

Sat Sep 21 12:12:45 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* main.c (listing_cmd): Make sure the user_format is set at all
	times (in the past, we changed the display format on any error,
	but the wrong format was still there, and because of our broken
	way of handling mini status it would broke.

Fri Sep 20 06:13:08 1996  Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>

	* find.c (search_content): Use ISASCII from util.h, not isascii.

Thu Sep 19 10:05:52 1996  Liviu Daia <daia@stoilow.imar.ro>

	* Added the rar external fs.

Wed Sep 18 13:54:37 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* wtools.c (query_dialog): Another mistaken widget creation item
	fixed. 

Fri Sep 13 12:54:45 1996  Alexander V. Lukyanov <lav@video.yars.free.net

	* zipfs: prevents doubling of file names for unix-created zip
	files. It also replaces forgotten awk to @AWK@.

Thu Sep 12 22:27:25 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkslint.c: Provided an routine with empty routines to substitute
	slint.c.  We don't need any terminal handling when running as the
	Tk version.

	* slint.c: Removed the NT support for slint.c, NT has it's own
	slint file now.

	* gd.tcl: Added support for editing previously created layouts.
	To edit a previously creted layout, it is necesary to set the
	environment variable MCGD_EDIT to the name of the dialog that you
	want to edit.  Removing rows is still done by editing the
	generated file as well as removing the extra texts and frames.

	* guil.*.tcl: Redesigned most of the layouts, should be nicer.

	* hotlist.c (add_new_entry_cmd): Small fixes to hotlist to make it
	tk-guiable.

Wed Sep 11 16:30:04 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* panelize.c (init_panelize): Made panelize tk-aware

Tue Sep 10 20:53:41 1996  Miguel de Icaza <miguel@tirania.nuclecu.unam.mx>

	* wtools.c: Made tk-aware.  Now all quick dialogs should be tk-enabled.
	
Mon Sep	 9 14:09:21 1996  Miguel de Icaza <miguel@tirania.nuclecu.unam.mx>

	* boxes.c: Made tk-aware

	* gd.tcl: Saving/restoring of the GUI.	I still have not coded the
	part that would load the saved code and allow the programmer to
	modify the layout.  It is still missing a delete-row feature.
	
Fri Sep	 6 21:05:44 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* tkmain.c (tk_init_dlg): Call the GUI editor, support for
	different layout styles in the program (the previous mode is to
	call a routine called layout_NAME, where NAME is the name of the
	dialog box; the new mode is the one that uses the information
	generated by the GUI designer).	 

	* gd.tcl: Minimal interactive GUI designed to layout widgets on
	the Tk edition of the program.	To add GUI designer support to a
	dialog box it is required that:

	a) All of the widgets have a non-NULL value for the tkname
	parameter (this is specified when widgets are created).

	b) You add the DLG_GRID flag in the the create_dlg call.

	Once those are met, the GUI designer will pop up automatically the
	next time the dialog is invoked.
	
	* tkwidget.c (tk_new_command): Added support for the grided
	objects.  All of the widgets now take an extra parameter: the
	tkname, a name used to identify the widget from the Tk code that
	is not renumbered (as did happen with the previous attempts at
	supporting Tk).

	* dlg.c: Support for the new dialog layout routines.

Tue Sep	 3 00:17:11 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* find.c: Fixed panelization when searching inside files.
	(find_par_start): Use mc_stat instead of stat.

Mon Sep	 2 23:48:34 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* subshell.c: before pushing a streams module on svr4, we use
	I_FIND.	 Fixes also the calling convention for zsh 3.0.	 FIXME: We
	don't need if this will work with older versions of zsh.

	* hotlist.c: Added multi-level hot list to the program.
	
Mon Sep	 2 18:31:24 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c (view), cmd.c: view functions now can take a starting
	line number.

	* ext.c (regex_command): when asking for the View tag, you can
	append :number to the tag (View:45) to make the viewer jump to
	that line at startup.

	* utilunix.c (mc_doublepopen): Bumped the blcok size that the
	mc_doublepopen uses to be 8192, this provides faster grepping.

	* find.c (find_parameters, find): Added a capability to search
	information inside files.   I believe this will be quite handy for
	searching files in vfs files.

	Replaced instances of hardcoded path separators for our portable
	PATH_SEP variables.

	* local.c (local_read): Return proper failure value when errno is
	not EAGAIN or EINTR.

	* wtools.c: Added routines for common dialog callbacks:
	dialog_repaint: repaints the background of a dialog.
	common_dialog_repaint: calls dialog_repaint with defaults colors.
	common_dialog_callback: Callback intended for sample dialog, it
	just redraws, nothing fancy.

Mon Sep	 2 18:31:24 1996  Aldy Hernandez <aldy@andrews.edu>

	* configure.in, utilunix.c: check for Sequent having
	get_process_stats for implementing gettimeofday.  

	* Use HAVE_SYS_SELECT_H instead of an ifdef for AIX.  Sequent and
	QNX also have fd_set on sys/select.h
	
Thu Aug 29 12:05:15 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* vfs/mcfs.c: added mc_utime() vfs callback; added local_utime() function;
	* added mcfs_utime() function; 

	implemented RPC utime call; program version is now 2;

	* Version 2 tries to transmit true file timestamps if speaking
	with anybody with version >= 2 (is it portable?)  

	* slightly changed the way mcserv works. Now it becomes "true"
	daemon if given -d flag (thus it is possible to say just `mcserv
	-d -f' instead of `mcserv -f -d &') One drawback is, that -v
	doesn't work for daemon mode; it could be made, but I consider it
	more as debugging aid. What is neede is syslog() interface for
	daemon.	 But I have the ffeling, that mcserv() is not being used
	by anybody except me ;) and I don't need syslog().

Wed Aug 28 19:14:38 1996  Fernando Magarińos  <mancha@breogan.iimas.unam.mx>

	* extfs/arc: Added support for .arc and .pak files 

Tue Aug 27 00:20:41 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c (block_search): enable interrupts at the beginning of the
	search and at the end, this should speed up searching.

Mon Aug 26 16:30:13 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>

	* view.c (hex_search): Added missing toupper.  Now hex searches
	should work again.

	* cmd.c (nice_cd): If the user types in the prefix for the ftp://
	directory, do not insert one at the beginning.

Sat Aug 17 15:37:13 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c: Removed the CWD optimization.  If the connection is
	dropped, then we should resend the CWD again.  Thinking about a
	proper fix for this.

Fri Aug 16 13:31:33 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (command): Invalidate the current path name when the
	connection is dropped.

Thu Aug 15 22:42:13 1996  Wojtek Pilorz <wpilorz@celebris.bdk.lublin.pl>

	* ftpfs.c (get_line_interruptible): Make sure we don't write past
	the buffer.  Make sure the buffer is zero terminated.

Thu Aug 15 15:00:45 1996  I. Ioannou <roryt@compulink.gr>

	* sldisply.c: SCO doesn't have TIOCGWINSZ.

Thu Aug 15 21:20:09 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* mcserv.c (mc_pam_auth): Added support for Linux-PAM for
	authenticating users.

Thu Aug 15 15:00:45 1996  Andrej Borsenkow <borsenkow.msk@sni.de>	

	* mcserv.c: most commands look like send_status (unlink (f),
	errno); It is the text-book example of undefined behaviour. At
	least by me it returns errno from *previous* syscall, and not from
	e.g. unlink(f).	 It results in absolutely wild things sometime
	(errors with errno 0; MC making wrong decision based on wrong
	errno and so on). In particular, recursive delete didn't work
	(probably, due to second bug also). I set errno to 0 in
	send_status() for the same reason.

	The do_readdir() sometimes worked incorrectly. The following code
	fails:

	while ((dirent = readdir (mcfs_DIR.dirs [handle]))){
	   .....
	   lstat (dirent->d_name, &st);

	It cannot be assumed, that current directory is that of dirent. It
	is *not* in case of recursive delete (when I am reading
	subdirectory first). So I save directory name from opendir() call
	and use it in readdir(). My patch assumes, that MC always sends
	absolute pathname in opendir(); so far I have always seen that.

	I tried to add clean up code to remove RPC mapping after exit. I
	cannot verify it; it always fails by me probably due to bug in
	portmapper interface functions. It is possible when using rpcbind.

	As a side note, I removed close_handle() call from do_readdir(). I
	don't understand, what it does there; MC normally makes
	opendir()/readdir()/closedir() cycle.

	I done minor cleanups in do_opendir(); in particular, it should
	probably always read RPC request first before doing anything else.
	Otherwise it will be read on next loop. Currently it is possible,
	that do_opendir() exits without fetching RPC request.

Wed Aug 14 19:38:13 1996  Andrej Borsenkow <borsenkow.msk@sni.de>

	* mcfs.c: Cache the home directory for the mc file system.  This
	one was causing an rpc message to be sent constantly for home
	directory operations.  
	
Wed Aug 14 20:30:09 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
	
	* ftpfs.c (open_command_connection): Important ftpfs retry code
	bug fix: break from the retry loop.  This caused a bug that made
	the program to keep retrying a connection even if it had
	successfully logged in.

Mon Aug 12 17:30:09 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (do_cd): Now takes an extra argument: it can be either
	cd_exact or cd_parse_command.  If cd_exact is passed, then no
	further processing is done in do_cd for checking special directory
	names (- for lwd, and spaces removed at the beginning of the
	filename).  If the parameter is cd_parse_command, then special
	interpreatation is performed.

	The rule is easy: if we are changing the working directory to a
	directory specified by the user, then we should use
	cd_parse_command.  If we are changing to a directory whose name we
	got from a system call (readdir for example), we use cd_exact.

Thu Aug	 8 13:10:47 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (ftpfs_chdir, retrieve_dir): Do not send CWD commands if
	the directory we are changing to is the same we are on.

	* profile.c (load): Fixed a long standing bug (since I guess 0.3 or
	0.5).  The bug had not shown until now: when a file controled by
	profile.c did not have a newline after the last definition on the
	file the value parameter would have been zero and this would make
	the program at some point free () a zero pointer if this case
	happened.  This was not the case until I edited the extfs.ini file
	and removed all of the extra spaces there.

Wed Aug	 7 22:46:36 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* extfs.c (extfs_init): Fixed idioticc bug I introduced in the
	last version: I removed the strdup in one place, thus the code was
	freeing two times a pointer.  Janne's Memory Allocation Debugger
	pin pointed the bug in a second.

	* ftpfs.c: Fixed a file descriptor leak on ftpfs redial code
	reported by tony@trishul.sci.gu.edu.au

	(ftpfs_open_socket): Fixed an idiotic bug I introduced while
	merging the HSC patches.  Little endian machines would not be able
	to use ftpfs.

Tue Aug	 6 13:09:26 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* tcputil.c (tcp_init): Use sigaction instead of signal.

Mon Aug	 5 20:36:55 1996  Erik Troan  <ewt@redhat.com>

	* extfs/rpm, cpio: Fixes to the rpm file system and a new cpio
	external file system

	* main.c (toggle_listing_cmd): When you press Alt-t it will toggle
	the display mode of the midnight commander.

Tue Jul 23 13:36:33 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* This is here just to comment that Juan has done a terrific job
	with the Windows NT port.

Tue Jul 23 13:23:42 1996  Juan Grigera	<grigera@isis.unlp.edu.ar>

	* myslang.h (baudrate): Provide port specific acs, noacs and
	baudrate. 
	
	* util.c (file_date): Copy the non existant permissions to timebuf
	on NT.
	
	* file.c (mc_ctl): NT does not have vfs yet.

	* main.c (main): Some commands do not exit on NT.  Handle properly
	home_dir if the user has no HOMEDRIVE/HOMEPATH defined.

	* utilunix.c (save_stop_handler, my_statfs): These are per port
	functions and do not belong into util.c

Wed Jul 17 18:15:07 1996  Benjamin Ryzman <Benjamin.Ryzman@hsc.fr>

	* ftpfs.c: Added support for the HSC firewall.

Fri Jul 12 19:31:32 1996  Jakub Jelinek	 <jj@sunsite.mff.cuni.cz>

	* subshell.c: Hack to avoid the couldn't change to %s messages.
	
Mon Jul	 8 10:50:04 1996  Alexander V. Lukyanov <lav@video.yars.free.net>

	* main.c (setup_sigwinch): Bug fix: initialize sa_flags on systems
	that do not have SA_RESTART defined.

Thu Jul	 4 14:25:41 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* key.c (is_idle): Changed struct fd_set to fd_set in the two
	places where this did happen.

Thu Jul	 4 13:50:47 1996  Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>

	* configure.in: create the malloc.h stub in the distribution
	directory instead of the src directory.
	
	* util.c (is_printable), utilunix.c (putenv): Provide putenv from
	GNU libc in case the OS does not have putenv (nextstep).
	
	* util.h: Add replacement for ISASCII 
	
	* menu.c (menubar_handle_key): Use ISASCII instead of isascii,
	NeXTStep lacks it.

Tue Jul	 2 14:29:36 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (reload_panelized): Fix this routine.	This is the
	culrpit of all of the panelize problems.  The code was freeing
	pointers that were in use.  Now I free the pointer when I notice
	it is not going to be used.  Fixes the problem reported by Steven
	and Michael Sterret.

Mon Jun 24 17:47:36 1996  D. Hugh Redelmeier <hugh@mimosa.com>

	* subshell.c (feed_subshell): Looking at this some more, I notice
	that &read_set is being modified by the select, but not
	re-initialized by the code!  The initialization code precedes the
	loop, but should be inside it!	Here is my version, with the
	initialization moved into the loop (remember to delete it from in
	front of the loop).

Thu Jun 20 15:53:47 1996  Alexander V. Lukyanov <lav@video.yars.free.net>

	* subshell.c (feed_subshell): Retry if we get EINTR (even if we
	have SA_RESTART solaris will deliver EINTR on SIGCHLD).

Thu Jun 13 21:12:14 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (copy_file_file): During non-local file systems that
	support mc_ctl, rotate the dash every 5 seconds or so, to keep the
	user awake.

	* cmd.c (do_link): Check that the other panel is actually a
	listing before attempting to use ->cwd.

Tue Jun 11 18:36:09 1996  Miguel de Icaza  <miguel@mirage.nuclecu.unam.mx>

	* ext.c (regex_command): Editing of non local files should work now.

Tue Jun 11 16:07:38 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ext.c, cmd.c: if the user edits the mc.ext file, flush the
	cached copy.
	
Mon May 20 12:27:58 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* configure.in: check for putenv and isascii.  Next does not have
	those.	If malloc.h does not exist, create an empty file as a
	substitute (next too).

Wed Jun	 5 11:18:19 1996  Jakub Jelinek	 <jj@sunsite.mff.cuni.cz>

	* cons.saver.c, cons.handler.c, key.c: Misc changes to make
	mc work on SparcLinux (code written only for linux - like cons.saver
	handling - didn't care about endians...)

Thu May 16 12:30:23 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.c (view): Use the global Wview variable instead

Wed May 15 20:24:55 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* panelize.c: Provide extra space for temporary dirent structure. 

	* win.c (check_movement_keys): Do not handle the C-b combination,
	it is used by the viewer for next/previous file.

Mon May 13 09:11:27 1996  Joseph M. Hinkle <jhinkle@rockisland.com>

	* boxes.c (display_bits): Call proper help information.

Mon May	 6 21:20:39 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (copy_file_file): Should abort now ongoing transfers
	faster.

	* ftpfs.c (initconn): Attempt to use passive ftp transfer mode if
	source routing is in effect.  If this does not work, dump source
	routing and use regular method for ftp transfer.


Thu May	 2 19:29:07 1996  ?????
	
	* extfs/zip (DOZIPINFO): Fixed zipfs support for files with
	comments, lost mail address.

Thu May	 2 19:29:07 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
	
	* vfs/vfs.c: minor parse fix.

Thu May	 2 19:25:09 1996  "Sergey Ya. Korshunoff" <root@seyko.msk.su>

	* configure.in: Check for libtermcap (new Linux libcs do not have
	libtermcap in libc).

Tue Apr 30 20:58:34 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (store_file): Remove temporary files after an outgoing
	tansfer. 

Mon May	 6 01:10:50 1996  Jakub Jelinek	 <jj@sunsite.mff.cuni.cz>

	* extfs.c: Hack to get the a: and b: fs running (fixed couple of
	problems with external fs when no archive file was used

	* extfs.c (extfs_run): Allows you to "execute" some files inside
	of extfs - your script will be called with $1=run $2=archive $3=path,
	e.g.
	/usr/lib/mc/extfs/rpm run /home/jj/rpm-2.0-2.src.rpm INSTALL

	* vfs/Makefile.in: rpm script gets installed

	* vfs/extfs/rpm: Couple of changes to make rpmfs more powerful

	* vfs/extfs/a: Fixes - the ls -l parse in mc is quite strict
	about date, so that it wasn't happy by 2-24-96 (correct is 02-24-96)

	* layout.c: New checkbox in the Layout dialog. When running on xterm
	and Xterm hintbar is checked, hintbar will be put into the xterm's
	title bar, so that you'll save space - will have more lines for file
	display

	* main.c: Fix, so that it is possible to do quick searches for
	characters like +, -. In order to select/unselect, you have to press
	escape twice before +, -.

Mon Apr 29 21:34:53 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* subshell.c (init_subshell): Documented startup shell scripts.

	* find.c (do_search): Added directory exclusion.
	
Mon Apr 29 08:42:52 1996  Adam Tla/lka <atlka@pg.gda.pl>

	* cmd.c (view_file): Return value, fixes Soalris crash.

Fri Apr 26 18:10:10 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (initconn): Added source routing to ftpfs, he he, this
	lets you specify a specific route for your ftp traffic :-).  It is
	still missing the passive open code, so it currenly is only able
	to send commands trough the source route.  This code is disabled
	by default, it requires human intervention (ie, editting config.h
	and specifying HAVE_SETSOCKOPT).

Thu Apr 25 11:11:08 1996  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* cmd.c (source_routing): Added source routing option to sockets,
	he he he. 

Wed Apr 24 22:12:50 1996  Alexander V. Lukyanov <lav@video.yars.free.net>

	* key.c: touch window for ncurses.
	
	* color.c: use proper colors for ncurses.
	
Fri Apr 19 09:02:51 1996  Juan Grigera	<grigera@isis.unlp.edu.ar>

	* vfs.h (vfs_canon): On the non-vfs definition return a strdupped
	version of the string, just like vfs_canon does.

	* profile.h: Do not include profile prototypes routines present on
	NT. 

	* key.nt.c, slint.nt.c, utilnt.c: updated, look at README.NT

Thu Apr 18 20:35:03 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* subshell.c (exit_subshell): Do not ask for confirmation for
	killing subshell when it is already dead.

	* Do not return after invoking subshell, let the code reinit slang
	and let it shutdown properly.

Wed Apr 17 10:03:57 1996  Erik Troan  <ewt@redhat.com>

	* extfs/rpm: Added new rpm file system.	 This one lets you browse
	RPM files.

Wed Apr 10 17:05:57 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* utilunix.c (tilde_expand): Now returns 0 if the home directory
	for the tilde expansion does not work.

	* vfs.c (vfs_canon): Check for tilde_expand results.

	* complete.c (command_completion_function): Check for return
	values from tilde expand.

	* wtools.c (input_expand_dialog): Check for tilde_expand result.

Tue Apr	 9 20:06:03 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (create_panels): both startup directories are now handled
	properly (for those cases where the second directory was relative
	to the startup working directory)

	* subshell.c (do_subshell_chdir): Added proper quoting of
	directories, should get rid of the problems with directories with
	spaces (common now for those using windows)

Thu Apr	 4 11:03:07 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* chown.c (chown_cmd): Check for return values of getpwnam and
	getgrnam, bug report by Mikhail Savitski <mms@eiscathq.irf.se>

Fri Mar 29 18:00:11 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* From: Liviu Daia <daia@stoilow.imar.ro>: Fix the documentation
	on the keywords for setting colors 

Wed Mar 27 19:58:32 1996  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* tree.c: If configuration variable xtree_mode is true then when
	browsin with the tree panel the other panel will reload the
	contents of the panel.

	* tkmain.c, key.c: Should compile and link with latest release of
	Tk

Mon Mar 11 09:53:10 1996  John Ioannou <roryt@compulink.gr>

	* cmd.c (do_link): Suggest symlink names. (get_random_hint): make
	it work on SCO.
	
	* utilunix.c (gettimeofday): Contrinuted this routine for SCO machines.
	
Mon Mar 11 09:47:15 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* Makefile.in: Split the util.c file in three pieces: utilunix.c:
	util routines pertinent to Unix; utilnt.c: util routines for
	Windows NT (from Juan Grigera) and util.c that has the OS
	independent (well, mostly) 

Tue Mar	 5 19:28:35 1996  Juan Grigera <grigera@isis.unlp.edu.ar>

	* boxes.c (sort_box): Add case sensitivity to the menu.
	
	* user.c (execute_menu_command): windows nt requires a .cmd
	extension to execute commands.	Fix a return path that did not
	close nor unlink the file.
	
	* chmod.c: now we have working chmod.

	* hotlist.c: use the proper path separator, do not pass a non used
	parameter to update_path_name

	* dir.c, panelize.c, boxes.h, setup.c: added support for case
	sensitive sorting (for windows nt).

Mon Mar	 4 17:08:22 1996  Mark Olessen	<olesen@weber.me.queensu.ca>

	* container.c, sldisply.c: Include config.h before anything else.

	* tcputil.c (sig_pipe): AIX requires an int parameter

	* sltermin.c: changes to compile slang on AIX.

Mon Mar	 4 09:29:32 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* profile.c (GetSetProfileChar): Fixed bug when the AppName was
	zero.  This could be the case if one of the keys in the profile
	has no value.

	* info.c (info_show_info): Fixed crash when info was displayed on
	a non local vfs.

Mon Mar	 4 08:17:27 1996   Anatoly A. Kulakov (kulakov@JamesBond.inp.nsk.su)

	* mc.lib: for xterms and xterm-colors define the page up and page
	down keys.

	* nt/Makefile: remove spurious backslash

	* src/dlg.h: Do not give a name to the Widget_messages enum (some
	compilers can't handlte this).

Sat Mar	 2 10:27:24 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* cmd.c (view_other_cmd): Call my_system (1, shell, NULL) instead
	of my_system (1, shell, "").  This allows one have a shell spawned
	when pressing C-o and the subshell code is not activated.

Tue Feb 27 21:52:21 1996  Juan Grigera <grigera@isis.unlp.edu.ar>

	* More Windows NT code.

Tue Feb 27 21:52:21 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs: Now the program will retry logins if the server is too
	busy. 

	* view.c, cmd.c: C-f and C-b will take you to the previous and
	next files on the panels.

Fri Feb 23 08:51:44 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* tree.c (my_mkdir_rec): Do not create recursive directories if
	the file system is not the local one.  I should actually fix this
	to use a routine that checks if the pathname is already at the top
	directory for that filesystem.

Wed Feb 21 09:58:22 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c: fix symlink file handling for ftpfs file systems.  If we are a
	symlinks and follow symlinks is set, we should operate on the
	pointed to file stat information, not the symlink information.

	* ftpfs.c (open_command_connection): Setup the proxy field, added
	retry code for ftp.

Fri Jan 19 12:00:00 1996  Mark Olesen (olesen@weber.me.queensu.ca)

	* Include config.h allways before any other include file, this
	fixes compilation on AIX.
	
Fri Jan 19 12:00:00 1996  Miguel de Icaza
 
	* subshell.c (init_subshell): Enable the interrupt key when doing
	the feed subshell, if the subshell code hangs, we will turn of the
	subshell support and allow the user to press C-c.
	
Tue Jan 16 11:28:58 1996  SGI portability fixes.

	* I lost the mail with the author name, could you tell me who are
	  you? 

	* widget.h: removed enum names.	 Broken sgi compiled complains
	about this.
	
	* tar.h: Removed trailing ,.

	* dir.h: Define sort_orders as external.

Tue Jan	 9 11:47:47 1996  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* configure.in: Define USE_SETUPTERM only if the sample program
	included in configure is compiled successfully.	 This is required
	because some systems have setupterm but are lacking the macros we
	need. 

Tue Jan	 2 17:01:23 1996  Carl Thompson	 <miguel@athena.nuclecu.unam.mx>

	* subshell.c (init_subshell): Use the builtin $cwd variable and
	echo instead of invoking an external pwd command.  This fixes
	follow links.

Sun Dec 31 17:46:39 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
	
	* layout.c (print_vfs_message): Check midnight_shutdown first.

Fri Dec 29 19:10:25 1995  Juan Grigera <grigera@isis.unlp.edu.ar>

	* various portability changes to the Midnight Commander so that it
	runs under Windows NT.

Fri Dec 29 19:09:23 1995  Antonio Palama <palama@posso.dm.unipi.it>

	* main.c: For Windows NT, Juan Grigera hacked the drive_cmd.

Tue Jan	 2 00:51:12 1996  Jakub Jelinek	  <jj@sunsite.mff.cuni.cz>

	* complete.c (filename_completion_function): Fixed one completion
	related bug.

	* ftpfs.c (store_file, ftpfs_open): Fixed uploading of files using
	ftp.

	* ftpfs.c (ftpfs_chown): Don't always cry that you cannot chown
	using ftp - everyone should know it and who cares - but for root
	this was shouting for each file :(

	* vfs.c, undelfs.c: Changed the vfs prefix to `undel:' from
	`undelfs:'. So you specify cd undel:/dev/hda1. This is similar
	to how we do ftp (not ftpfs://) etc.

	* vfs.c (parse_ls_lga): Made more robust, so that it handles again
	listings from extfs (with all date formats), doesn't mind if someone
	is not supplying gid and handles even if major,minor are printed
	without an intervening space (like 14,5).

	* vfs.c (vfs_canon): Fixed a bug, which made an endless loop when
	trying to enter an extfs archive (like zip:), where the archive name
	was not absolute. Together with the previous bug fix, zip files
	should work again well :)

Sat Dec 23 16:55:54 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs/undelfs.c, vfs/vfs.c: Add support for the Undelete file
	system. 

Sat Dec 23 16:55:25 1995  Ching Hui <u811563@Oz.nthu.edu.tw>b

	* configure.in: Fixed bug in curses detection for OSF/1. 
	sltermin.h: include config.h.

Thu Dec 21 19:25:48 1995  Carl Thompson	<clip@clip.clark.net>

	* file.c: This is just a one line patch to fix a bug in the
	Midnight Commander. When a delete operation is attempted while
	delete confirmation is turned off, it pops up a destination
	directory dialog box instead of just deleting the file.	 This
	dialog box is unused and defeats the purpose of having delete
	confirmation off.

Mon Dec 18 18:44:16 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (midnight_callback): Do not handle the +, - and / keys
	specially if the panel is in search mode.

Fri Dec 15 12:38:18 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (copy_dir_dir): When copying directories recursively,
	make sure the directory have write permission.	Before returning,
	use chmod to set the correct directory attribute.

Sat Dec 16 16:40:14 1995  Jakub Jelinek	 <jj@sunsite.mff.cuni.cz>

	* util.c (resolve_symlinks, diff_two_paths): New utility functions:
	the first one traces a symlink as much as possible, so that the
	final returned (mallocated) path contains no symlink steps at all.
	The latter one takes two paths and creates a relative path from the
	first one to the second one, as short as possible.

	* file.c: Stable symlinks should now keep relative symlinks
	relative, using the above mentioned functions.

	* panel.h: Switches some boolean flags into a bit-field.

	* cmd.c, screen.c: Directory total should be now displayed
	correctly, i.e. if not Show Dir Sizes is active, it shouldn't count
	them at all, if it is active, it should sum these sizes as well and
	when changing from not active to active (via F9 C I) or back (C-R),
	adapt the total correctly :)

	* vfs.c (parse_ls_lga): Should now handle No{v,tw}ell listings
	as well.

	* cmd.c (other_symlink_cmd): New command - C-x C-l. Makes a relative
	symlink to the selection of the current panel, defaults to a file
	in the other panel. The symlink value is shortest possible, so that
	it may optionally fit into inode itself, if the fs supports this.

Thu Dec	 7 13:15:30 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>

	* layout.c (layout_callback): Fixed the constants for the menubar.

	* If we try turn off command prompt from Option->Layout,
	then we will see command propt again (no Hint if it
	turned on).

	* widget.c:  Removing first element from User listing mode list
	 causes crash. 

Thu Dec	 7 13:00:20 1995   Jakub Jelinek <jj@sunsite.mff.cuni.cz>

	* file.c: Stable symlinks works for copying (i.e. the symlink
	points to the location it should), but it is not like I would
	like it to be - there has to be an algorithm, which will try
	to reduce the size of the symlink as much as possible and
	not just making absolute symlinks from relative :( This is only
	a short time solution. 

Thu Dec	 7 00:00:00 1995   Jakub Jelinek <jj@sunsite.mff.cuni.cz>

	* cmd.c (edit_symlink_cmd): New function, binded to C-x C-s.
	Allows to edit the content of the symlink.
	
	* file.c: Move should now work when dive_into_subdirs is not
	set, i.e. you can finally move two similar subtrees into one.
	It tries to use move as much as possible and where it is not
	possible, it does a copy and delete strategy. Also, prepared things
	for next patch, which will allow copying/moving of relative symlinks,
	so that they'll point to the same location as before.
	
	* setup.c: Users can save their defaults of dive_into_subdirs
	into mc.ini.
	
	* help.c, xv/xvhelp.c, xv/xvscreen.c: xv edition should now compile :)
	
	* screen.c: New keystroke M-l, which chdirs in the other panel to
	directory where current symlink points to (even if it doesn't point
	to a directory - then other panel will become the directory where a
	file the symlink points to is located).
	
	* main.c (copy_current_readlink, copy_other_readlink): New keystrokes
	C-x r, C-x C-r. If current/other panel's selection is a symlink,
	readlink value will be inserted into the command line.
	
Wed Dec	 6 13:21:21 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (ftpfs_chdir): Better reconnect code on chdir.

	* vfs.c (parse_ls_lga): ftpfs will work with directories that have
	spaces in their name (".. " and ". ." will both work for example).
	
	(parse_ls_lga): Support for servers that do not provide the
	groupname even when asked to.

Wed Dec	 6 11:01:17 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>

	* mc.lib, win.c: Handle some more key pad keys on the
	use_alternate_keypad_mode.
	
	* main.c (midnight_callback): New option only_leading_plus_minus=1
	in ~/.mc.ini set special treatment for '+', '-', '*' in command
	line (select, unselect, inverse selection) only if command line is
	empty. No need to qoute this characters in middle of command
	line. But we cant change selection when command line is not empty.

	
	* main.c (midnight_callback): Added missing terminator for the
	default_map keyboard map.
	
	* main.c (done_mc_profile): Do not sync_profiles if
	auto_save_setup is not set.  This plus the fix below should avoid
	most cases of .mc.ini overriding (the exceptions are when the
	hotlist or the panelize options commands are used).

Wed Dec	 6 11:00:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* panelize.c (save_panelize), hotlist.c (save_hotlist): call
	sync_profiles since now at program shutdown if auto-save setup is
	not set we won't do the updating.

Mon Dec	 4 11:32:02 1995  Ching Hui <u811563@Oz.nthu.edu.tw>

	* sltermin.c: Provide an alternate way if setupterm is defined on
	curses to retrieve terminal capabilities.  This fixes the line
	drawing problems on OSF/1 (and hopefully on AIX as well).
	
Mon Nov 27 21:08:41 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* tree.c (load_tree): Finally fixed the tree-loading crash when
	the .mc.tree file was corrupt.
	(tree_key): Do not eat characters not meant for the trereree below
	' '. 

Fri Nov 24 19:54:01 1995   Ilya Rybkin (rybkin@rouge.phys.lsu.edu)

	* user.c (strip_ext): Basename macor (%b, %B)
	* user.c: Do not add space to temporary files, so that the #!
	works for the script files.

	* key.c: Allow the M-? sequence to be generated (find file).

	* wtools.c: Do not make the cancel button the default action.

Thu Nov 23 13:51:11 1995  Ching Hui <u811563@Oz.nthu.edu.tw>

	* slint.c (slang_init), sldisply.c: Fix the USE_TERMCAP usage.	It
	should now allow FreeBSD and Nextstep users to use the arrow keys.

Mon Nov 20 14:25:59 1995  Ching Hui <u811563@Oz.nthu.edu.tw>

	* main.c (main): Call vfs shut before shutting down the window system.

Thu Nov 16 23:08:17 1995  Jakub Jelinek	 <jj@sunsite.mff.cuni.cz>

	* lib/Makefile.in: Fixed install goal for the mc.ext file.

	* file.c (copy_file_file): If appending, do not change mtime &
	owner & permissions - leave them all untouched as they were at
	the original target file you were appending to.

	* widget.c, cmd.c: Changed input line history behaviour.
	Now the history shouldn't remember same lines when they follow
	each other, then shouldn't remember empty lines at all, but
	also, once a line is added into history, it should stay there
	forever, so that you can repeat it again (previously, if you've
	moved using M-p and M-n onto any line in the history and changed
	it, you lost the original line from the history).

Wed Nov 15 12:22:47 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (command, is_connection_closed, ftpfs_chdir): Check for
	dropped connections.  In the past the is_connection_closed routine
	actually attempted to read from the connection but this caused a
	problem (remember the hang connections for small files?).

	(ftpfs_setctl): vfs_canon the filename.

Mon Nov 13 10:28:42 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* ftpfs.c (ftpfs_ctl): Now it will be able to flush the directory
	cache (used by C-r in the main program);  increased the ftpfs
	directory timeout;  C-r now works for ftp file systems.

	* profile.c: increased the line size to 4k, should fix this and do
	something better.

Wed Nov	 8 10:04:55 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>

	* widget.c (listbox_remove_current): listbox_remove_current:
	free() at subroutine end make free not old current position but
	new one.  Removing all entries in the listbox causes problems when
	routine return. This patch don't allow listbox with no
	elements. IMHO it's not bad (we always show something insteed of
	nothing)

	* wtools.c (remove_callback): On listbox with user display formats
	<r> hot key removes entry and show new listbox state. When we
	select [Remove] button with mouse or <TAB>, then we dont see new
	listbox state. Ugly hack, but works OK.

	* layout.c (swap_panels): Fixed crash:	Now we change the
	definitions of left_panel and right_panel.

	* chmod.c (chmod_refresh): use REVERSE_COLOR instead of
	normal_color. 

	* color.h: COLOR_FOCUS now uses A_BOLD instead of A_REVERSE,
	COLOR_HOT_FOCUS is now 0 inseat of REVERSE|BOLD.

	* tree.c: Different colors 

	* boxes.c (display_callback): After selecting user listing format
	from listbox we see  old format string. When we press LEFT, RIGHT
	or other key we see a new one.

Thu Nov	 2 17:03:37 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* ftpfs.c (ftpfs_ctl): Clear the localname
	(ftpfs_ungetlocalcopy): Keep in sync: if we free
	local_filename in an ftpfsentry, clear it.  

Tue Oct 31 16:57:57 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* help.c (interactive_display): I wonder why I code so badly?

Mon Oct 30 16:16:22 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.c (view_handle_key): Some additions so that in the future I
	will be able to make the viewer work as tail -f [Not yet ready].

	* dlg.h: New WIDGET_IDLE message.  W_WANT_IDLE flag defined.

	* dlg.c: The default routine for dialogs now handles the DLG_IDLE
	message and broadcasts it to all the widgets in the current Dialog
	head. 

	* ftpfs.c (ftpfs_ctl): Get the reply before closing the data
	connection.  (command, get_line, get_line): Keep a log of the ftp
	dialog (also new flag on main.c)

Mon Oct 30 11:26:09 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>

	* slgetkey.c: move the DEC 8bit hack to the slint.c file.

	* boxes.c (display_callback): Button 'u' did not work as the other
	buttons. 

	* boxes.c (display_callback): User listing format selection by C-c
	don't work with SLANG. SLANG convert C-c to C-g. This patch
	correct this. But emove patch from list dont wotk (general
	protection error)
 
	* screen.c (paint_frame): Moving files in brief panel format
	corrected. (move_up, move_down): Allows to configure if scrolling
	is going to be line by line or page by page with the
	panel_scroll_pages setting.


	* view.c (view_labels): Don't setup wrap mode on in view module
	every time when view called.  Show UnWrap label when wrap_mode on.

Mon Oct 30 11:17:25 1995  Gerd Knorr <kraxel@cs.tu-berlin.de>

	* configure.in, mc.ext.in: Use autoconf for the MANDOC and -Tascii
	detection instead of doing our own seding at make time.

Thu Oct 26 18:03:50 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (check_hardlinks): Avoid hardlink checks only if
	vfs_file_is_ftp.

	* vfs.c (vfs_file_is_ftp): guess.

Tue Oct 24 17:36:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* help.c (interactive_display): Help should not crash at help
	startup when prev_node_cmd is invoked.

Thu Oct 26 15:15:04 1995  Jakub Jelinek	 <jj@sunsite.mff.cuni.cz>

	* file.c (check_hardlinks): Hack, so that no more cyclic hardlinks
	appear on Slowaris - stupid kernel, which makes it possible to
	link directories :(. Disabled hardlink cache for all non-local
	vfs's. Where do we need it? Ftp cannot handle it, tar is still read
	only, mcfs perhaps?

	* cmd.c ((un)select_cmd): Fixed a problem when .. directory is a
	symlink (i.e. grand parent of current directory is a symlink).

Tue Oct 24 11:09:05 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (create_panels): Loading of the proper other directory at
	startup. 

Fri Oct 20 19:55:48 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* subshell.c (init_subshell): ZSH: use pwd>&%d instead of
	pwd>>&%d, I hope to get this one right this time.

Wed Oct 18 17:58:11 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* panelize.c (do_external_panelize): fixed the ghost marked files
	when panelizing.

Tue Oct 17 19:15:10 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs.h: ftp copies should work on the alpha again.

Thu Oct 12 16:44:02 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* file.c (copy_file_file: for the ftpfs case): Instead of
	incrementing the file size by 8192 bytes, we should increment by
	the actual bytes trasfered

Wed Oct 11 20:19:28 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (ftpfs_ctl): Now the FINISHREMOTE message actually
	aborts the ftp transfer.0

	* slang.h: Fixed color problem on some linuces with the Unicode
	support.  Now we only define linux_unicode here if we are on linux
	and there is support for it.  This caused the strange non-color
	problem on some versions of Linux.

Wed Oct 11 13:09:27 1995  Adam Tla/lka <atlka@sunrise.pg.gda.pl>

	* help.c (show): Puts the cursor over the currently selected link.

	* xnc.hlp: Fixed the help corrupt problem.

Sat Oct	 7 16:40:21 1995  Jakub Jelinek	   <jj@jfch.vc.cvut.cz>

	* file.c, ftpfs.c: First trial to make copying from FTPFS work as
	it should work, i.e. if we have no local copy yet, copy it directly
	and not through temp and also copy it from within the main
	copy_file_file loop and not fetch it before and then copy the local,
	so that e.g. the progress bar will be displayed correctly.

Thu Oct	 5 15:35:36 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* cmd.c (view_other_cmd): It's obvious that one of this days I
	will have to learn programming and to write bug free code for
	programs that are > 10 lines.

	Now, the good news: Finally I got rid of the ugly constant in
	terms.c for changing the font on xterms (the esc + "(" + 0 thing),
	this means that the kanji char set should work on the viewer and
	also means that slang will redraw correcly the screen.

	* main.c (setup_mc_viewer): Create a fake panel for the viewer
	when the mc is invoked in viewer mode.	Needed, since
	expand_format will want to use cpanel to extract the file name.

	* cmd.c (view_other_cmd): C-o should give a shell even for users
	without the subshell support.  I'm not sure if this is a good
	idea. 

Wed Oct	 4 13:45:21 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (retrieve_file): Moved the disable_interrupt_key to the
	error_3 section.

	* find.c (find_callback): Now you can use F3 and F13 to view at
	the files found on the find panel without leaving the find box.

	* view.c (do_view_init): Implemented view markers, use nm and nr
	(where n is a number between 0 and 9) to set the nth mark and to
	jump to the nth part respectively

	* main.c (create_panels): Current panel set to a panel that is in
	the view_listing mode (before it was set always to the left_panel).

Thu Sep 28 12:06:46 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* help.c (interactive_display): Really, this time the help is fixed.

	* vfs.c (vfs_stamp_path): Provide a way to stamp the file systems
	that are on the panels.	 This is called from main.c just before
	disposing the panels, so that the vfs's have a chance to shutdown
	(and cleanup /tmp as torben reported :-)

	* option.c: Replaced 8-bit display with navigate-with-arrows,
	since Display Bits already handles the 8 bit setting.

	* learn.c (learn_save): Loop only from 0 to learn_total.  The
	learnkeys array is smaller than the key_name_conv_tab (fixes a
	crash on hp-ux).

	* screen.c: Now the F13 should clear also the search status.

	* view.c (change_viewer): Fixed program crash when the viewer was
	invoked as a filtered view.

	* dir.c (do_load_dir): Ok, we can open a directory, but I have
	found the first empty directory in my life (no . nor ..: the
	remote systems nfs directory does not exist any longer).

Wed Sep 27 11:07:43 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (do_nc): Starting the Midnight Commander as a file viewer
	should be faster now

	* view.c (view_handle_key): Started implementation of reverse
	search, use the C-r and '?' keys to activate normal and regex
	reverse search respectively.  May still have bugs.

	* ftpfs.c (open_command_connection): Initialize the complete
	bucket structure, this fixes the crash when the password is not
	answered (when tryingo to reconnect to an ftp server).

	* util.c (strip_home): Check return values from ftpfs_gethome and
	mcfs_gethome. 

	* boxes.c (display_bits_box): Stupid bug fixed: now it should
	reflect the internal setting of the display variables.

	* help.c (interactive_display): Now history_ptr always is between
	0 and HISTORY_SIZE - 1, this should fix the crash reported by
	Thanh.

	* view.c (block_search, search): small changes (should be somewhat
	faster).

	* main.c (setup_mc): Add the select channel for load_prompt after
	panels have been created (so, calling get_event before this
	(mc_chdir on an ftpfs may do this) won't try to invoke the load
	prompt routine).

Wed Sep 27 11:03:21 1995  Gerd Knorr <kraxel@cs.tu-berlin.de>

	* main.c (handle_args, create_panels, setup_mc):  Allowed the
	program to be passed a vfs path name by making the mc_chdir call
	to be done after slang has been setup (the ftpfs and mcfs both may
	need to use slang to ask for a password).

Tue Sep 26 20:38:57 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* view.c (view_callback): Removed call to view_status before
	view_update on WIDGET_KEY message, this should work, if not, I
	should put it back or put the view_updated on the proper places.
	(search): On non-hex view the viewer now shows the search status.
	(block_search): Coded but untested: also the hex view should
	report the search status.  I wonder if it will work.

	* boxes.c: 8 bits should work now with slang correctly.

Tue Sep 26 11:36:12 1995  Jakub Jelinek	 (jj@jj)

	* screen.c: If a column for size is more narrow than actual size
	can fit in, show number of Kilobytes or Megabytes or Gigabytes
	instead and do not strip the most important digits (like e.g. 
	a 4e6B file was shown equally to a 104e6 file).

Sat Sep 23 00:27:05 1995  Jakub Jelinek	 (jj@jfch.vc.cvut.cz)

	* mc.sgml, linuxdoc-sgml.diff: I hope I have managed to fix the
	problems I has been aware of with backslashes, tildes etc. I do not
	know about any further conversion problem.

Thu Sep 21 20:21:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* widget.c (button_callback): Global kill ring.

Thu Sep 21 23:09:12 1995  Jakub Jelinek	 (jj@jfch.vc.cvut.cz)

	* converted the documentation to mc.sgml (linux-doc DTD), so that
	from one source (mc.sgml) you can generate mc.1, mc.hlp, mc.texi,
	mc.info, mc.html, mc.tex, mc.dvi, mc.ps, mc.txt (and some other
	formats). To convert this, you have to install Matt Welsh's
	linuxdoc-sgml-utils and apply patch from the our doc directory.
	(linuxdoc-sgml is only name of the dtd, it is not useful for Linux
	only, but the name is like this only because linuxdoc sgml utilities
	were developed primarily for Linux HOWTO documentation and LDP).
	src/mc.hlp file is generated from mc.sgml, so you can get some
	feeling.

	* configure.in: Fixed an awful bug with the gpm library.

Thu Sep 21 11:56:08 1995  John E. Davis (davis@space.mit.edu)

	* sldisply.c: Should now use the acsc definition from the terminal
	database instead of the hardcoded values.

Thu Sep 21 11:13:41 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (handle_args): Now you have to use the -v [file] flag to make
	the Midnight Commander start up in the viewer mode on the file file.

Wed Sep 20 16:38:44 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* achown.c (next_file): Chown and advanced chown should work now
	when setting all of the tagged files.

	* wtools.c (input_dialog_help): Input dialogs now have nice
	buttons so that mouse users will not complain
	(create_listbox_window): Added cancel button.

	* tcputil.c (lookup_netrc): Avoid a program crash.

	* help.c (help_event): Fixed crash when the user pressed the left
	too  long.

Wed Sep 20 10:16:27 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>

	* panelize.c: Fix the hang problem on OSF/1.

	* subshell.c: Open the slave side of the pty on the parent code
	just after opening the master side, then close it on the parent
	code.  No need to use the sigusr1 sync code anymore and it's
	working on Solaris, Linux and OSF/1.

Tue Sep 19 21:04:25 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.c (view_new): Initialize last_read, should fix the bug
	with reformatting pages.

	* user.c (check_format_var): Added the %var macro.  Now tcsh users
	will be able to use the stock mc.ext file.

	* ftpfs.c (send_ftp_command, ftpfs_hint_reread): Now you can
	specify blocks of operation that will disable ftp's code to reread
	the directory on each operation.

Sat Sep 16 18:56:51 1995  Alessandro Rubini  <rubini@ipvvis.unipv.it>

	* Makefile.in: Abort make process if one of the submakes fails.

Sat Sep 16 18:56:51 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* tcputil.c (open_tcp_link), ftpfs.c (ftpfs_open_socket): Check for
	empty hostnames.

Sat Sep 16 18:33:38 1995  Perry Francis Nguyen <pfnguyen@netcom.com>

	* subshell.c: Fixed the subshell hanging when the noclobber option
	is set.

Sat Sep 16 15:37:41 1995  Dugan O. Porter  (dugan@b011.eunet.es)

	* subshell.c: Tidied up a bit and re-created the fold structure.
	(P.S. Try the emacs package folding.el to view/edit subshell.c)

	* Makefile.in, */Makefile.in: Made `make distclean' leave the
	directory tree truly pristine.

	* key.c, view.c, ext.c, layout.c, complete.c, cmd.c, tcputil.c,
	vfs.c and extfs.c: Fixed some nasty compilation warnings, some of
	which were definite bugs.

	* extfs.c: extfs_getlocalcopy wasn't returning any value.

	* tcputil.c (ruserpass): Can't use copy_strings() here, because
	mcserv won't link.  Replaced with strcpy() and strcat().

Sat Sep 16 01:54:41 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>

	* ftpfs.c (resolve_symlink): resolve symbolic links by send the 
	command "LIST -Lla" to server.

	* vfs/Makefile.in: delete mcserv.c entry variable NETFILES.

Fri Sep 13 23:41:17 1995  Jakub Jelinek	 (jj@gnu.ai.mit.edu)

	* main.c, key.c: New mc.ini option - alternate_plus_minus.
	If set, plus and backslash keys will work normally (i.e. insert
	+ and \), plus/minus/asterix on keypad will select/deselect/reverse
	and M-+, M-- (M-\), M-* will do the same.

	* tcputil.c: .netrc support. Currently is angry on users which have
	.netrc readable by anybody else than owner, if it contains any
	non-anonymous password. Perhaps, if it has good permissions, but
	contains secret passwords, we should remember it and instead of
	about 25% hints display a hint to remove them...

Wed Sep 13 09:31:12 1995  Jakub Jelinek	 (jj@gnu.ai.mit.edu)

	* slang/*, main.c, screen.c: Some basic Linux Unicode support.
	I cannot force the kernel to tell current Unicode UTF state, so
	this has to be forced on the command line by running mc -N.

Thu Sep 14 23:54:25 1995  Jakub Jelinek	 (jj@jfch.vc.cvut.cz)

	* util.c (strip_home), vfs.c (vfs_canon), ftpfs.c, mcfs.c:
	Handling of home directory (cd ftp://jfch.vc.cvut.cz/~/private)
	and .. directory in the ftp root (will bring you to the directory
	you have entered ftp from). nice_cd (cd via Network/Ftp link) will
	append the home /~/ for you.

	* widget.c (buttonbar_callback): In SLang, paint also buttonbar
	numbers correctly fg on bg.

Tue Sep 12 20:21:35 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ftpfs.c (store_file): Small change to allow compilation on
	primitive systems that use a flag for SO_LINGER instead of a
	struct linger.

Tue Sep 12 10:25:01 1995  Jakub Jelinek	 (jj@gnu.ai.mit.edu)

	* Make.common.in, */Makefile.in, configure.in: Fixed and cleaned
	all the Make.common and dependency stuff. Now we do not patch
	Makefiles for non-GNU make ourselves, but leave that job on
	autoconf. If non-GNU make, we put dependencies into the Makefiles
	and if your make supports stem rules (e.g. %.o : %.c), then
	we use them to avoid unnecessary relinking. Now the dependency
	stuff should always work like you expect.

Mon Sep 11 15:05:04 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* menu.c (menubar_paint_idx): Paint first letter when no matching
	hotkey has been found. 

	* find.c (do_find): Allow chdir to selected directories

	* screen.c (do_file_mark): Do not count the directory size when
	tagging directories.

	* slang/: Upgraded Slang to 0.99.20

	* menu.c (menubar_event): Fixed the dropping menubar problem with GPM.

	* subshell.c: Use the SIGUSR1 syncronization always (before it
	only was used with SysV).

	* init_sigchld is now always called from main.c instead of
	allowing the subshell to setup the sigchld handler.  Ching's fixes
	to the waitpid routine (made on Jun 27) make this possible.
	Should finally fix all the problems with SunOS. 

Sun Sep 10 02:06:05 1995  Dugan O. Porter  (dugan@b011.eunet.es)
    
       * mcserv.c (get_port_number): there must not be any references to
       IPPORT_RESERVED outside the "#ifdef HAVE_RRESVPORT" block, because
       it probably won't be defined.  Also simplified the code a little.

Sun Sep 10 14:57:04 1995  Jakub Jelinek	 (jj@jj)

	* configure.in, Make*: Make.common handling is now done much cleaner
	using the autoconf features. Also, dependencies now work for all
	make programs, not only GNU. And last, but not least, fixed a thing
	which didn't allow cross-compiling...

Sat Sep	 9 10:03:13 1995  Jakub Jelinek	 (jj@jj)

	* */Makefile.in: Moved goals for libvfs.a and libmcslang.a back
	from Make.common.in, since there is a collision in slang and vfs
	directory...

	* depend.awk: Fixed so that it never generates duplicate goals.
	A pain are symlinks, but at least my GNU make doesn't find anything
	suspicious (like there may be goals for src/util.h and xv/util.h,
	which is a link to ../src/util.h). This is not possible to be done
	in awk. The perl script will do it correctly...

Fri Sep	 8 17:53:14 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* layout.c (set_display_type), screen: Misc fixes.  Containers are
	not always WPanel *.  I should rewrite the code to use containers
	for the information that must be shared between panels.

Sat Sep	 9 01:16:11 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>

	* ftpfs.c (ftpfs_get_current_directory): New function.

	* ftpfs.c (ftpfs_chdir): remember current remote directory.

	* ftpfs: The active vfs list now should also report the working
	directory on an ftpfs. 

Thu Sep	 7 16:59:13 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* menu.c: Misc menubar fixes.

	* tree.c (event_callback): God it was easy to fix one part of the
	tree bug.

	* key.c (get_key_code): Simplified the Meta-hanlding.

Thu Sep	 7 12:58:26 1995  Thanh Ma (tma@encore.com)

	* mcfs.c: Small bug fix: do not return a value from a void routine.

Thu Sep	 7 12:06:27 1995  Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>

	* subshell.c: On SCO do not compile the TIOCGWINSZ code even if
	SCO has it.  Wrote SCO versions of pty_open_slave and
	pty_open_master. 

Fri Sep	 8 02:07:07 1995  Jakub Jelinek	 (jj@jj)

	* depend.awk, */Makefile.in: Alternate make dep mechanism if you
	have awk. It is much faster (three up to four times) and
	finds dependencies even for libraries from other directories
	(libmcslang and libvfs).

Thu Sep	 7 10:45:01 1995  Jakub Jelinek	 (jj@jfch.vc.cvut.cz)

	* Make.common.in, Makefile.in, */Makefile.in: Reorganized, so that
	commonly used things are all in one file (Make.common), so that
	e.g. if you want to define other CFLAGS by hand, you go to
	Make.common. Also, reduces the possibility of errors, since all
	variables (like the installation paths) have to be typed once.
	If your make doesn't support include directive, we deal with it
	in config.status and include it for you instead of make.

	* view.c (get_line_at): Fixed awful bug which caused view not to
	find anything on lines longer than 158 bytes.

	* extfs.c (extfs_init): We now free the extfs.ini profile, so that
	it won't be overwritten and is thus save to be edited by hand.

Fri Sep	 8 02:48:23 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>

	* panelize.c (add2panelize_cmd): get the correct input from pname.

	* ftpfs.c: set errno to 0 before call the fgets.

Wed Sep	 6 10:08:59 1995 Marcelo and Juan Jose jjciarla@raiz.uncu.edu.ar 

	* src/tty.h: define correctly the macros to enable/disable the
	keys. 

Wed Sep	 6 10:07:17 1995  Steven N. Hirsch <hirsch@emba.uvm.edu> 

	* main.c (make_panels_dirty), user.c: Call the get_other_type
	function, do not compare the address.

Wed Sep	 6 21:11:21 1995  Jakub Jelinek	 (jj@jj)

	* screen.c, dir.c: Show @, ~, ! as file type instead of always @
	for normal symlinks, symlinks to directories and stalled links
	(those who point nowhere) at no time costs.

	* file.c: If you are root, preserve_uidgid is now default.

	* key.c: Handling of 8th bit for meta even when it has not matched
	a stored sequence.

	* learn.c: Now it is not possible to redefine characters from 
	space to ~.

	* vfs.c: Per filesystem (un)getlocalcopy. This has an advantage
	of not copying one local file to the other in case of ftpfs and
	extfs and saves multiple extracts in tarfs.

	* vfs.c (parse_ls_lga): Fixes the date problem.

	* tar.c: Now it should handle even gzipped tar archives inside of
	tar archives correctly.

	* vfs/extfs.[ch], vfs/extfs/* (NEW): External filesystem.
	Not working by default (and won't until we release 3.0), but if
	you want to try, you can by typing make install.extfs in the
	vfs directory. Doesn't still handle symlinks to different
	vfs's (like linux -> ftp://sunsite.unc.edu/pub/Linux) correctly
	and still read only. If you want to try it, you should also install
	lib/mc.ext.extfs instead of lib/mc.ext to $(libdir)/mc/mc.ext.

Tue Sep	 5 19:37:35 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* find.c (do_find): Find again should work again.

	* view.c (get_byte): Copy just those bytes on the original page.
	Electric Fence and Ching found this one.

	* subshell.c (init_subshell): Removed the check to TIOCSCTTY, from
	the Emacs sources, it seems like we should ignore the return value.

	* learn.c (learn_button): Do not define common keys as learned
	function keys.

Tue Sep	 5 22:59:35 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>

	* vfs.c (mc_getlocalcopy): call mc_open function before tmpnam 
	function.

	* ext.c (exec_extension): check the return value of mc_getlocalcopy.

Tue Sep	 5 23:39:12 1995  Jakub Jelinek	   <jj@gnu.ai.mit.edu>

	* configure.in: fix to the XView and Tk check code - no they really
	should not be compiled in by default in any case. If I'm wrong,
	shoot.

	* key.c: new flag - use_8th_bit_as_meta - is set (by default), input
	characters greater than 127 are handled as Esc + (c - 128). This is
	not true if inside of an control sequence. You can suppress this
	meta handling (if you use your national characters greater than 127)
	by running mc -m.

	* screen.c (string_file_size): Show major,minor instead of size
	for block and character devices.

	* tar.c, vfs.c: Now I hope tar inside tar should work. At least
	what I tested (and it was working) tar:tar:1.tgz/2.tar/VERSION

Mon Sep	 4 12:02:37 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* setup.c (save_setup), boxes.c (configure_vfs), ftpfs.c
	(ftpfs_init): Should save/restore all of the VFS settings.

	* tree.c (tree_event): on double click call chdir.

	* slint.c (do_define_key): Use SLtt_tgetstr instead of tgetstr.
	Lately Slang provides the SLtt_tgetstr as an interface to tgetstr
	and the SLtt_tigetstr.	This should fix the problem Torben had
	with FreeBSD.

	* mcserv.c (do_auth): Cancel login if the setuid system call failed.

Sat Sep	 2 20:58:18 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* key.c (get_key_code): generate an ALT-key if ESC+key is found
	when outputing pending_keys.  This should fix the problem with the
	viewer quiting when some non-recognized key was pressed.

Fri Sep	 1 14:26:49 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c: C-x q switches the other panel to Quick View.

	* dlg.c (dialog_handle_key): Added a call to clr_scr to force
	ncurses to repaint on C-l

	* slint.c (slang_init): Do not set the signal handlers that reset
	the slkang attributes.	They are only useful for the developer.
	On SunOS they make the program get into a recursive loop (xterm -e
	program).

	* subshell.c (TIOCSCTTY):  Pass the 0 argument to this ioctl,
	SunOS makes a difference between 0 and 1 (this should fix the bug
	reported). 

Sat Aug	 2 00:38:01 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* vfs/mcserv.c: Now by default ftp validation is not done, to turn
	it on, you need to use the -f flag.

	* lib/xterm.ad: X resources to make xterm (not rxvt :( ) work well
	with most (I hope all) the keys mc works with.

	* lib/xterm.tcap: Termcap entry for xterm and xterm-color,
	compatible with sequences send by xterm.ad and compatible with
	xterm.ti. Those three should be used together.

	* lib/xterm.ti: Minor changes.

	* lib/README.xterm: HOWTO on installing these three files.

Fri Aug	 1 13:43:12 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* file.c: name_trunc in the file progress dialog.

	* cmd.c (do_link): Cosmetic changes. Symlink now shows only one
	dialog instead of two. Link shows name of the file you want link
	to.

	* help.c, man2hlp.c: Use HELP_*_COLOR colors in help. Added
	italic color (no more same as bold).

	* color.c: User can now define also helpnormal, helpitalic,
	helpbold, helplink, helpslink and gauge colors.

Sat Sep	 2 02:02:18 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>

	* ftpfs.c: make all data transfer interruptable.

	* boxes.c: add anonymous passwd and ftpfs directory cache timeout
	entry to Virtual FS dialog box.

	* vfs.c (vfs_path): New function.

	* dir.c (set_zero_dir): fix possible loop when directory is
	unreadable.
	
Thu Aug 31 13:31:34 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* tree.c (event_callback): Focus panel when receiveing a key
	click;	set the correct event y for panelized trees.

Thu Aug 31 14:06:11 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* key.c: Rewritten get_key_code. Now has a parameter nodelay,
	if 0, it behaves like before, if 1, it doesn't ever wait but
	emulates the behaviour of get_key_code (0), so it returns correct
	KEY_* and other keycodes instead of sequences. You just have
	to call it more times (in case all seqence characters are not
	waiting on stdin). get_key_code (1) handles even old_esc_mode
	(it uses GET_TIME instead of select).

	* file.c: Uses get_key_code (1) instead of non-delayed xgetch
	(otherwise you couldn't use arrow keys etc...)

	* ext.c (regex_command): fixed behaviour of use_file_to_check_type
	and initialized a local variable (which could cause in one of
	4G (perhaps less, 0 are often on the stack) an incorrect behaviour).

	* configure.in, Makefile.in: create_vcs is installed only on Linux
	machines.

Mon Aug 28 13:27:38 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>

	* ftpfs.c: Check for connection close; beginning of the transfer
	abortion code. 

Wed Aug 30 14:15:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* ext.c (regex_command): Now it will just execute file once
	instead of one time per type/ in the mc.ext file.

	* slint.c (slang_shutdown): Output the op capability at program
	shutdown, this should fix the problem for Thanh.

Tue Aug 29 18:47:35 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>

	* mc.menu: Added missing tar definitions.

Wed Aug 30 11:05:44 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* file.c: Removed most of the #ifdef X - text code now uses
	widgets (label & gauge) as well. Should produce normal dialog colors
	instead of some strange ones and should be consistent with all the
	others. Also, Skipping and Aborting should now work well and you
	won't have to press keys to many times. Also, Enter and Escape
	should work as well.

	* widget.c: Finally text mode gauge widget is written.

	* color.[ch]: Oops, 32 was used by A_REVERSE. I assigned to the
	default color number 31.

	* view.c: Added some vi-like, less-like and lynx-like keys for
	moving in the viewer. We still do not support numbers before moving
	commands. Should we? At least Ng and NG would be useful (as a short
	variant of F5 N Enter).

Tue Aug 29 18:53:26 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* boxes.c (tree): Set decent colors for the tree box.

	* tree.c (tree_new): The tree problem was just that the searching
	variable was not initialized.

	* screen.c (repaint_file): Fixed the half panel bug.

	* subshell.c (pty_open_master): Stupid mistake, will not hang
	anymore.

	* view.c (view_handle_key): Return now moves only one line.

Tue Aug 29 18:47:35 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>

	* mc.ext: Non destructive mc.ext fixes.	 Jakub, please test them.

Mon Aug 28 16:36:29 1995  Janne Kukonlehto  <jtkl@jysky.oulu.fi>

	* file.c: Added missing #include <ctype.h>.

	* listmode.c: Some parts already working: OK, Cancel and General
	options. Add and Remove almost work. Items listbox and Item
	options don't work yet.

Tue Aug 29 14:33:16 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* layout.c (swap_panels): Fixed. Now it should work fine and if
	there are both view_listings, then it just swappes their content
	(and not formats etc.), so that you may have one format in the left
	and a different one in the right panel and if you want to see some
	things that are in the left for a file on the right, you just C-u.

	* cmd.c, color.c, sldisply.c: In SLang when default attributes
	are different than white on black, mc shows command line and 
	hintbar correctly. You can easily run mc -c on a black on white
	color xterm and the output is not awful.

Mon Aug 28 21:12:37 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* icons/: I hope better and nicer icon collection than the previous
	one. Most of them now have entries in mc.ext.

	* main.c: Fixed the mc -P problem when the tty is not owned by
	the user.

	* dir.c (handle_dirent): Added one test that causes panelize
	not to add files that are not on the disk (so it is possible
	to e.g. cat any list of files and panelize will add to the
	panel only the existing ones).

	* main.c: Sets xterm window title to GNU Midnight Commander.

Wed Aug 30 00:51:28 1995  br811563  <br811563@csa2.cs.nthu.edu.tw>

	* ftpfs.c (get_line): fix mc block when socket is closed.

	* tar.c (uncompress_tar_file): fix core dump when popen failed.

	* tar.c (tarfs_get_path): return error when tar archive open 
	failed.
	
Mon Aug 28 13:27:38 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* layout.c (change_screen_size), view.c (view_adjust_size): Add
	screen resizing to the viewer.

	* terms.c: (do_enter_ca_mode):	Hard code the font switch "ESC)0".

	* key.c (get_event): Will now delay calls to refresh if there is
	input pending.

	* cmd.c (nice_cd): Really, this time I fixed the problem with the
	menus opening a ftp connection or net connection in the right panel.

Mon Aug 28 13:27:38 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>

	* ftpfs.c: Switched to file descriptors again.

Sun Aug 27 16:43:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* layout.c: Include termios.h, otherwise we don't get a resizing
	Midnight Commander on Solaris.

	* view.c (search): Allow search aborting.

	* key.c (get_key_code): Handle the ESC+number inside get_key_code;
	handle esc+space; use push_char/goto pend_send instead of returing
	the key code to keep the internal sequence tracker on sync.

	* subshell.c (pty_open_master): Will retry pty opening

	* panelize.c (do_external_panelize): Do not free() the command,
	let the parent handle this.

Sun Aug 27 12:52:36 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>

	* FAQ, doc/mc.1: Spelling fixes.

Sat Aug 26 20:45:00 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* learn.c: Now the left and right keys move among columns and the
	vi's h, j, k, l work as well.

	* wtools.c: It is now possible to specify a particular position
	of quick dialog - this is used for M-c.

	* Fixed the problem with xterm mouse.

Sun Aug 27 11:05:43 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>

	* ftpfs.c: fix connection refused and connection close from 
	server bugs.

	* ftpfs.c (ftpentry_destructor): fix memory corruption bug.
	
	* ftpfs.c (ftpfs_chmod): use non-standard "SITE CHMOD" command.

	* ftpfs.c (_get_file_entry): upload zero length to check the write
	permission.

Sun Aug 27 11:05:43 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>

	* ftpfs.c: fix connection refused and connection close from 
	server bugs.

	* ftpfs.c (ftpentry_destructor): fix memory corruption bug.
	
	* ftpfs.c (ftpfs_chmod): use non-standard "SITE CHMOD" command.

	* ftpfs.c (_get_file_entry): upload zero length to check the write
	permission.

Fri Aug 25 13:11:55 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.h: Yes, very funny, we need unsigned chars, otherwise we
	get those funny (char) 0377 -> (int) -1 conversions.  Now, the
	search should work on Piped files.

	* view.c (get_line_at): Fixed the search routine.  Now, the
	get_line_at routine will skip over nulls.

	* main.c (repaint_screen): Command line and panels should be
	repainted correctly after executing a command.

	* configure.in: SCO library detection

	* fs.h: MC_MAXPATHLEN is the MAXPATHLEN or 1024 on systems that do
	not define it (SCO), we should actually use pathconf.

	* tar.c (tarfs_fill_names): Report the tar file names.

	* container.c (linklist_delete): bug fixed: need to increment the
	h pointer.

	* widget.c (listbox_drawscroll): Presentation bug fix.

	* util.c (my_system): do not block SIGCHLD anymore.

Fri Aug 25 13:11:55 1995  Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>

	* util.c (truncate, my_ftruncate): Provide truncate for systems
	that lack it (SCO).

Fri Aug 25 13:18:18 1995  Janne Kukonlehto  (jtklehto@paju)

	* Makefile.in: Added listmode.c, listmode.h and listmode.o

	* boxes.c (display_callback): Renamed Display mode dialog to
	Listing mode. I think the dialog names should correspond to the
	names of the menu entries where they are invoked.

	* layout.c (rotate_dash): Verboseness check is no longer
	necessary because we have an own nice_rotating_dash option.

	* listmode.c, listmode.h: New files to implement user listing mode
	editor. Still incomplete: it's got the looks but no functionality.

	* main.c (listmode_cmd): New function to invoke user listing mode
	editor. (CmdMenu): User listing mode editor is temporarily placed
	in to Command menu. To be moved to Listing mode dialog when
	complete. (OptMenu): I think Save setup should be separated from
	the other choices. (version): In case of Slang reports which
	terminal database is used. (handle_args): The -f option should
	output to stderr, not stdout.

Fri Aug 25 23:37:18 1995  Jakub Jelinek	   (jj@jj)

	* key.c: A bunch of changes. old_esc_mode works again (should we
	set a shorter timeout than 1 sec or should we let the user specify
	this?). I was trying to unify all the different key routines
	into the new define_sequence structure. Tell me if it works.

	* mcserv.c (do_auth), configure.in: Support for Linux shadow
	passwords.

	(do_auth): Assign correct supplemental groups for process, if they
	exist in the system and enhanced security of mcserv a bit.

	* util.c (convert_controls): Fixed a bug, which caused that control
	(< 32) characters could not be defined as sequences.

	* learn.c (learn_keys): Added somehow more descriptive messages.

	* xvmain.c (xv_center_layout): Fixed a problem with widgets
	XV_WLAY_EXTENDWIDTH and narrow dialogs (such as one with empty
	listbox) correct their width.

	* cmd.c (view_other_cmd): Quick hack to repaint cmdline and hintbar
	on Linux console after C-o correctly.

Thu Aug 24 15:25:24 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* cmd.c (reselect_vfs): New command, uses the hotlist code to
	display all the non local active virtual file systems.

	* vfs.c (mcfs_fill_names, ftpfs_fill_names): Fill Used to report
	the number of file systems active.

Thu Aug 24 15:40:34 1995  Janne Kukonlehto  (jtklehto@paju)

	* ext.c (regex_command): Now works correctly with files like
	'#draft'.

	* file.c (convert_case): New function. (transform_source): Now
	supports six new codes in the target mask: \u and \l convert the
	next character to uppercase or lowercase, \U and \L convert
	characters up to \E or the end of the file name. Backslash also
	works as a quote character. See the manual page for details.

Wed Aug 23 13:50:13 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* subshell.c (init_subshell): If subshell does not initialize,
	kill the subshell.

	* help.c (interactive_display): Move the help bar to the proper
	position.

	* screen.c (WIDGET_UNFOCUS): clear the searching when loosing
	focus.

	* file.c (create_op_dlg, destroy_op_dlg): modify the hint bar
	position during the operations to avoid the screen override that
	could be caused by the ftpfs.

	* cmd.c: Call repaint_screen again after update_panels.

	* main.c (update_panels): do not repaint the panels, just mark
	them as dirty and let the midnight_callback check for dirtiness
	before a get_event is called (the new message DLG_PRE_EVENT is
	used for this).

Wed Aug 23 21:31:24 1995  Steven N. Hirsch <hirsch@emba.uvm.edu>

	* layout.c (setup_panels): Compute properly the hint position. 

Wed Aug 23 20:42:45 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* mc.1: Documentation fixes.

	* learn.[ch] (NEW): Learn keys command.

	* slint.c: SLang now resets attributes after SIGTERM and bunch of
	other signals.

	* wtools.c (message): Fixed D_INSERTed messages (like Searching
	wasn't ever shown).

	* ext.c: Version check for 3.0's mc.ext and .mc.ext. In case it
	finds and old formatted, tells what to do.

Tue Aug 22 20:15:01 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* configure.in: --with-slang is now the default together with
	--without-xview and --without-tk. If you want to compile with
	ncurses, use --with-ncurses and likewise --with-xview and --with-tk

	* tcputil.h, configure.in: Check for rpc/pmap_clnt.h header and 
	including it if exists.

	* xv/Makefile.in: Fixed the -lXpm problem.

	* mc.1, INSTALL, INSTALL.FAST, NEWS: A bunch of documentation
	fixes and additions, but there is still lot of work for EVERYONE.

	* man2hlp.c: Now indents the help's index again...

	* {tk|xv}/Makefile.in: Fixed a link goal problem on old SunOs.

	* */*: Many fixes all around the code to make at least my GCC happy
	with the -Wall. Now it shows on the slang mc no warnings except in
	regex.c.

Mon Aug 21 19:08:05 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs.c (vfs_add_noncurrent_stamps): Do nothing if the panels have
	not been setup (this let's you: mc ftp://roxanne)

	* setup.c (load_setup): Will not open by default non local vfs
	when loading the configuration.

	* profile.c (free_profile_name): Fixed seg fault problem on Linux;
	(load): Keep spaces on keys unless they are at the beginning of
	the line (for nice external panelize displays).

Mon Aug 21 22:10:06 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* configure.in: Removed duplicate -L options for XView, misc fixes.

	* xterm.ti: Modified smcup so that it works well even on broken
	xterms. Hope this will not break anything.

	* mcfn_install.in: Added check and installation to ~/.bashrc,
	if running from bash. If mc () is in ~/.profile, then it applies
	only to the login shell :(

	* boxes.c, cmd.c: New feature - M-c (Quick cd) - pops up a dialog
	where you enter exactly what you type after "cd " on the command
	line. The difference is that you don't have to yank and paste 
	your full command line because you want shortly change directory.

	* complete.c: Added special handling for "cd " and quick cd -
	now only directories are completed (CDPATH should remain untouched).

	* file.c (move_dir_dir): Removed test for EXDEV error, now we
	are trying to copy and then delete whenever any error during
	renaming occurs. This is because e.g. NFS returns sometimes
	EIO, if I'm moving on one nfs filesystem, which contains more
	filesystems on the nfs server. Hope this won't even hurt.

	* panelize.[ch]: New modules which show nice database of stored
	panelizing commands, you can add new, assign to them names etc.
	(Like C-\ for cd).

	* widget.c (label_set_text): Fixed this routine so that it paints
	everything correctly if the new string is shorter than the previous
	one and added a parameter/flag which tells it whether we want to
	adapt the label length (useful for the message bar).

Sun Aug 20 11:00:51 1995  Ching Hui  <Nicholas@u811563.JEN.AB.nthu.edu.tw>

	* container.c (linklist_destroy): fix memory corruption bug.

	*ftpfs.c: add time out code to directory cache.
	
Sat Aug 19 15:25:56 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c: fix symlink.
	
Sat Aug 19 13:27:09 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* help.c (move_backward2, move_forward2): If we can't move the
	number of lines requested, set current to the startup value.

	* view.c (search): Now will rotate the dash when searching.

	(normal_search): Will not load all the file into core before
	starting a search.

	* slint.c (vline): uses spaces when -s flag is used.

	* main.c (suspend_cmd): Call do_refresh for a complete screen
	redraw, slang seems to not like the touchwin, refresh after coming
	back from suspend.

	* dlg.c: use suspend_cmd instead of do_suspend_cmd that should be
	an internal function of suspend_cmd.

Fri Aug 18 10:09:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* screen.c: Implemented torben_fj_mode for home/end key behavior.

	* wtools.c (input_dialog_help): Fixed the password problem on the
	input dialogs.

Wed Aug 16 05:16:50 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c: flush directory cache after store file, rmdir, and
	mkdir.
	
	* ftpfs.c (ftpfs_rmdir): fill the missing code.
	
	* ftpfs.c (retrieve_dir): change "LIST -lba" to "LIST -la", since
	ftp.funet.fi doesn't happy with -b argument.

Tue Aug 15 23:34:01 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* mc.1: Manual page fixes.

	* win.c: You can now define even f11-f20 keystrokes in your 
	mc.lib/.mc.ini file. f13 is used for unparsed view, f20 for quiet
	quit (no confirmation, if invoked with -P, it returns ., i.e.
	no current directory change).

	* file.c: Fixed a bug when the target existed as a symlink. Now, if
	you say you want to overwrite it, mc deletes the symlink and either
	links new symlink or copies the new file there. Previously, in the 
	first case, a message saying cannot create target symlink was shown
	and in the later case the new file overwrote the file target symlink
	was pointing to.

	* main.c: Command line in XView now looks a bit better.

	* xvwidget.c: WCheck and WRadio now correctly set their initial
	values (previously all of them were on/with first one checked).

	* xvwidget.c: WLabel now moves all the widgets to the right of it,
	if we change its length by assigning a new text to it.

Wed Aug 16 05:16:50 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c: flush directory cache after store file, rmdir, and
	mkdir.
	
	* ftpfs.c (ftpfs_rmdir): fill the missing code.
	
	* ftpfs.c (retrieve_dir): change "LIST -lba" to "LIST -la", since
	ftp.funet.fi doesn't happy with -b argument.

Tue Aug 15 00:42:18 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* cmd.c (view_simple_cmd): This is for displaying unformatted
	view of a file (will be sticked to F13 or Shift+F3).

	* ext.c: Fixed a view Format/Unform error.

	Fixed two other bugs in regex_command, causing e.g. a file to be
	viewed only once in its formatted version.

	* main.c (quiet_quit_cmd): This is for quitting without changing
	the directory where you were before if using -P (more precisely,
	this prints "." instead of the last directory). Will be sticked
	to F20 / Shift+F10.

	* screen.c (do_file_mark): Fixed selection handling in XView.
	Now sets panel->marked etc. correctly.

	* xvmain.c: Fixes to make drop work. It is still an ugly hack, but
	it seems to me that I've found an awful bug in XView :(

	* xvscreen.c: Drop should really work. Try it...

Fri Aug 11 16:57:35 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* file.c (check_buttons): Now it handles space and tabs.

	* cons.handler.c (show_console_contents): Slang/terminfo does not
	wrap characters at the end of a line, so we manually move to the
	next line.

	* widget.c (label_destroy): Expanded the Label widget: if the text
	member does have a zero value it will not be displayed (I will
	use this for the hintbar).  Removed the hintbar support from the
	buttonbar code.

Mon Aug 14 14:18:19 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c: fix redundant copy of directory cache and support open
	 for write.

Sun Aug 13 22:46:12 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* Misc fixes in configure and installation procedures.

	* xvicon.c: Now it is possible to move these icons, drop files onto
	them, show the icon dependent menu etc.

	* ext.c: Fixed some horrible bugs causing segfaults noticed by
	someone here on the list, which I had troubles for a longer time
	with.

Thu Aug 10 19:45:30 1995  Ching Hui  <u811563@thccy12>

	* ext.c (exec_extension): Tcsh did not like our lines without a
	trailing newline.

Thu Aug 11 00:43:17 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* Makefile.in: libdir is now in $prefix/lib/mc instead of
	$prefix/lib, so that all our mc.{hlp|ext|menu|hint|keys} files
	and the FAQ are nicely grouped together into one directory.
	In there is a subdirectory icons with all the icons.

	* aclocal.m4: Test for header files in standard paths and in user
	defined additional directories (AC_CHECK_HEADER_IN_PATH). Those
	directories can be specified in the beginning of configure.in.
	Let me know which directories would you like to be there.

	Also added checks for the Xpm library and headers and for the X11
	shape extension (also header and -lXext).

	* configure.in: I was trying to fix the file & sed bug. Could
	anybody test it and in case of error send me again sh -x configure?

	* doc/mc.1: Now are even mc.1 and mc.hlp parsed with sed for
	@prefix@.

	* ext.c (regex_command): Speeded up by i) caching mc.ext in memory
	(FIXME - should reload it on any change in mc.ext) and ii)
	when looking for Icon, we are automagically looking for Title
	as well.

	* xvicon.c (CreateXpmIcon): Now paints titles under icons as well.

Wed Aug	 9 18:54:33 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* widget.c (buttonbar_callback): Added the hint-bar support (or
	should it be called message bar?), now we need to add the hints
	and the code that will display them.

Wed Aug	 9 23:56:12 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* ext.c (do_regex_command): Changed meaning of shell/ in mc.ext -
	it is extension only if the first character is ., i.e.
	shell/.tar
	will match *.tar, but if it doesn't start with a dot, then it
	matches only the same filenames (i.e. shell/gzip matches only gzip).

	Added Icon and Title actions in mc.ext. Icon is a pathname of an
	XPM file (possibly with the None color somewhere, so that it may
	be transparent somewhere). If it is not absolute pathname, then
	it defaults to $(icondir) ($(prefix)/lib/mc/icons/). Title specifies
	the title under icon, with %p for filename and %d for pathname.
	%d/%f is complete path. Default title is %p.

	Fixed an awful bug in comparison of actions.

	* cmd.c (dirsizes_cmd): Fixed a bug that caused wrong information,
	if you had directories where name of one of them was concatenation
	of the other plus something (like mc and mc-2.4.93).

	* setup.c: Now we clean the correct temporal sections ('cause panel
	names have changed).

	* wtools.c (input_dialog_help): Fixed displaying of input boxes in
	XView.

	* xvscreen.c (xv_mouse_event): Double-click works! Drop should work
	as well, but it is still a bit buggy.

	File type dependent menu, if you press the right mouse button on a
	file. This one lets you easily Open/View/Edit/Copy/Move/Delete plus
	any user defined actions from mc.ext (like Compile, Link, Flush
	etc.).

	* xvaction.c, xvicon.c: Completely changed basics of Action icons.
	Now these icons are just files which were moved (dropped in the
	future) from the panels. Icon and Title are looked up in mc.ext, the
	only thing we have to specify in mc.ini for those icons, which are
	loaded by default at startup, is position of icon center, in format
	+x+y, where x and y are positive numbers.
	Entries in .mc.ini's Action Icons section look like
	/bin/rm=+20+120

	* icons/: New directory full of nice icons in XPM format. Hope
	you'll like them. We'll have to look for some even nicer ones,
	but some of them are really good (I think).
	
Tue Aug	 8 17:22:15 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* key.c (get_event): Now we return to the caller program if select
	sets errno = EINTR (thanks to Hugh Redelmeier (hugh@mimosa.com)
	for the hint).	This actually makes the program resize it's screen
	as soon as it is resized.

	(get_event): If we are not waiting for a mouse repeat event and
	there are pending 

	sldisply.c: Clear the current acs status at slang startup.

Tue Aug	 8 16:23:39 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c: Will not hang if the address is bogus.

	* vfs.c: Removed the dialog stuff (we did not use it).

Mon Aug	 7 13:13:12 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* screen.c (panel_update_cols): Now all of the column computing is
	done in this function (instead of doing half the job here and the
	other half in layout.c: setup_panels).

	* auto.c: Removed automount feature.

	* option.c: optimize the case for a toggle-only variable and
	remove all of the unused toggle_* functions.

Sun Aug	 6 21:33:08 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c (retrieve_file): New function.
	
	* ftpfs.c (parse_ls_lga): fix typo.

	* vfs.h: change vfsid type definition from int to void *.

Mon Aug	 7 23:43:12 1995  Jakub Jelinek	 <jj@gnu.ai.mit.edu>

	* */Makefile.in: Added make variable DESTDIR, which makes it
	possible to move the install root somewhere in the directory tree.
	(Was necessary because not all files are installed in $(prefix)).
	Use it like: make install DESTDIR=/package/mc
	and the files (in case $(prefix) is /usr/local) will be installed
	into /package/mc/usr/local/bin, /package/mc/usr/local/lib and
	/package/mc/usr/openwin/bin etc...

	* boxes.c (display_box): Now correctly restores default format
	after returning from a Info/Quick View/Tree widget.

	* configure.in: Default prefix (if you do not specify) will now
	depend on whether you have mc already installed in your system
	to /usr/bin/mc or /usr/local/bin/mc.

	* mc.ext, ext.c: For Torben - the lynx action for \.html?$ files
	added and should work even on ftpfs :)

	* cmd.c (dirsizes_cmd): Do not call du if on non-local vfs.

	* vfs/Makefile.in: If you undef USE_NETCODE, you should compile
	it without the net objects.
	
Fri Aug	 4 18:45:39 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* slint.c (slang_init): Disable flow control, thanks to John Davis.

Sat Aug	 5 01:03:08 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c (ftpentry_destructor, ftpfs_dir_destructor, ftpfs_chdir,
	ftpfs_mkdir, ftpfs_getid): fix typo and memory leak.
	
	* ftpfs.c (ftp_connection_destructor, ftpfs_init, ftpfs_done):
	 New function.
	
	* ftpfs.h: New file.
	
	* vfs.c (vfs_init): call ftpfs_init.
	
	* vfs.c (vfs_shut): always free the vfs resource, call ftpfs_done.

Thu Aug	 3 20:07:58 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* main.c (reload_panelized): Fixes the problems with the panelized
	files.	We first chdir to the panelized directory cwd and then
	restore it if it is not the current_panel.

	* tkmain.c (tkmc_callback): Tk: Selection on input lines work now.

	* wtools.c (message), view.c (search): Search should work with Tk now.

Thu Aug	 3 16:01:00 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* configure.in, */Makefile.in: A lot of small changes - tkmc is now
	included by default, --without-tk can turn it of, new options
	--with-tk-includes=dir --with-tk-libs=dir --with-xv-bindir=dir.
	Also should check if file accepts - as an option (Miguel, could you
	test it on a machine which doesn't support it)?

Thu Aug	 3 23:24:34 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c: use link list instead of array to store connection 
	information.
	* ftpfs.c (ftpfs_free): free the connection resource when timeout.
	
Wed Aug	 2 19:30:03 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* help.c (move_forward2, move_backward2): The next/prev page works
	again on the help.

	* widget.c (listbox_drawscroll): Now we draw a sort of scrollbar
	that includes the '|' character.

	* subshell.c (init_subshell): More robust: If the child had
	problems before the parent had a chance to setup the sigchld
	handler it would hang, now the code calls waitpid after the
	init_sigchld has been called.  (There is no use in installing
	sigchld_handler before since the child could execute and abort
	before the parent had returned from fork ()).

Wed Aug	 2 16:01:00 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* ext.c: Rewritten, now uses only one file (mc.ext) instead of three
	(mc.{edit|view|ext}) with a completely new structure. For the
	description see comments in the sample lib/mc.ext file.
	BTW: You have to update your .mc.ext file, otherwise nothing will
	work.

	* configure.in: du checks, now should handle all the du's.

Wed Aug	 2 21:24:45 1995  Ching Hui  <u811563@thccy12>

	* ftpfs.c (get_file_entry, _get_file_entry): New function.
		
	* ftpfs.c (ftpfs_lstat, ftpfs_stat, ftpfs_fstat): call get_file_entry
	to get ftpentry.

	* ftpfs.c (retrieve_dir): change into directory before getting the
	directory list.

Tue Aug	 1 12:47:59 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* tkwidget.c (tk_update_input): Use the window name.

	* vfs.c: Removed the alarm code.

	* slint.c: Now we keep track of the original and program-mode
	terminal settings, no more problems with the raw mode on
	terminals. 

Tue Aug	 1 12:12:45 1995  John E. Davis (davis@space.mit.edu)

	* sldisply.c (write_attributes): Some broken terminal databases
	when restoring normal video turn of ALL attributes.  This should
	fix the problem on HP-UX and maybe AIX.

Tue Aug	 1 23:26:12 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* xvscreen.c, xvmain.c: XView repaint fixes, coded mouse handling -
	everything except drop (drag should work).

Mon Jul 31 12:41:52 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* ftpfs.c: Recoded missing parts of the ftpfs, now it allows you
	to do copying/viewing of the remote files.

Sat Jul 29 20:01:00 1995  Jakub Jelinek	   (jj@gnu.ai.mit.edu)

	* main.c (main, do_nc): Fixed a bug causing mc to list a part of
	.mc.ini on my system. It occurred when ran with -P, because we were
	trying to print already freed string which has been accidentally
	overwritten.

	* mcfn_install: New shell program (called from main Makefile's
	mcfninstall goal) which tries to install the mc() function into your
	profile.

	* cmd.c (dirsizes_cmd): New command in the command menu. Until you
	press C-r or change directory in the current panel, directory sizes
	will be replaced by the space used by them and their subdirectories
	as shown by du -s -b. You can then easily select these files and
	see the totals.	

	* file.c (copy_file_file, move_file_file): If you're moving a file
	onto already existing one, you won't be asked twice any more...

Fri Jul 28 18:29:11 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* slang/ Upgraded to slang 0.99-19.

	* Tk/ File copy/move/delete progress window works.

Fri Jul 28 19:32:15 1995  Jakub Jelinek	  (jj@gnu.ai.mit.edu)

	* menu.c (menubar_handle_key): Fix so that menu hot keys work
	properly...

	* xv/: I've broken everything, do not even try it, but it compiles
	without SlingShot already :)

	* find.c (external_panelize): stderr goes to /dev/null where it
	ought to be :)

Thu Jul 27 17:51:43 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* tkmain.c (tk_dispatch_all): New function to flush all the
	pending Tk events.

	* mc.tcl, file.c: Now query_dialogs work with any number of
	options, replace dialog is working with Tk.

	* tkmenu.c: left/right commands now work.

	* tkmain.c: tk_getch implemented, quote works on tkmc. 

Thu Jul 27 10:43:25 1995  Janne Kukonlehto  (jtklehto@indy4)

	* find.c (external_panelize): new function, now you can panelize
	the output of any external command.

Wed Jul 26 19:54:40 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* tkinfo.c, mc.tcl: WInfo now works with Tk.

Wed Jul 26 10:48:58 1995  Thanh Ma <tma@encore.com>

	* tar.c (tar_fstat): fixed missing ifdefs, now it should compile
	on SVR3.x 

Thu Jul 27 00:14:05 1995  Jakub Jelinek	 (jj@gnu.ai.mit.edu)

	* screen.c (to_buffer, parse_display_format): Fixed painting of
	files when the column is narrow and also titles should be painted
	correctly in such case.

	* Makefile.in: Should make non-existent directories on install now

	* file.c (move_file_file): Fix so that append works even when
	moving.

Tue Jul 25 14:32:56 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* main.c (load_prompt): Cut prompt if it is too long.

Tue Jul 26 00:40:12 1995  Jakub Jelinek	   (jj@jfch.vc.cvut.cz)

	* help.c (show): Midnight in the first help page should be painted
	in ACS even in slang (if terminal has it).

	* myslang.h, main.c (main): beep should work even in slang.

	* */Makefile.in*: Ugly hack which removes the stupid relinking of
	mc/mxc/tkmc always, since libvfs.a and libmc.a were in another
	directory...

	* complete.c (try_complete): Now completes fine even if you have
	CDPATH set to something and try to complete a non-existant path
	which exists if prefixed with one of the directories in CDPATH.
	Example: I have CDPATH=.:~:~/src:/usr
	and I'm somewhere where no directory begins with mc. The only
	directories starting with mc- are in ~/src. If I type
	cd mc-
	and press M-Tab twice ('cause there are more than one possible
	completions), I get list of ~/src/mc-2.4.76 and ~/src/mc-patches.
	FIXME: Should write some documentation on CDPATH and its usage.

Mon Jul 24 17:49:38 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* tkscreen.c, tkmain.c: Finally I'm using a proper method that
	does not rely on the container name to create the panels.  This is
	required to implement to WView, WTree and WInfo widgets in Tk to
	be used as panels.

	* Quick view working under Tk.

	* vfs.c (vfs_setup_wd): At setup time, set current_dir to empty if
	we happend to hit a non-existant directory.

Mon Jul 24 15:55:28 1995  Jakub Jelinek	 (jj@gnu.ai.mit.edu)

	* util.c (mc_doublepopen), tar.c: Bug fixing of corrupt tar files.

Mon Jul 24 11:42:35 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* main.c (sigchld_handler_no_subshell): Wait only the
	cons_saver_pid when compile without subshell.

	* tar.c (tafs_get_path): put the archive on stamp list, tar_open must
	remove the archive from stamp list.

	(read_tar_archive): will close archive->fd after reading the
	entry, but it is wrong, when mc didn't read the whole archie in
	memory, it will get a core dump. (i.e open a non-gzip tar file,
	and try to view the file.)

	Delete the mc_close(archive->fd) from tar_close, it is handle by
	free_archive.

Fri Jul 21 20:52:24 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* mc.tcl: Copy dialog works with the new dialog that Jakub wrote.

	* view.c: Tk/Viewer is now working.

	* util.c: No more <defunct> processes after looking at a tar.gz file.

Fri Jul 21 11:00:05 1995  Jakub Jelinek	 (jj@gnu.ai.mit.edu)

	* tree.c (my_mkdir, my_mkdir_rec): F7 (Mkdir) now creates as many
	directories as you want in one command (just type there e.g. 
	bla/foo/foo2/).

	* main.c (copy_*): C-x (C-)p now adds a slash at the end, so you do
	not have to type it yourself.

Wed Jul 19 18:41:29 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* view.c (flush_line): Tk: Colors work on the internal file
	viewer.

	* tar.c: possible bug fix to the growing tar files tar_open, I'm
	not sure I did it right.  (load_compressed): Added a couple of
	rotate_dash()s. 

	* layout.c (use_dash): New routine, controls updating of the dash
	with rotate_dash.

Tue Jul 18 13:08:54 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* main.c (main), slint (slang_shutdown): Now it leaves the program
	in the non-application screen.

Tue Jul 18 10:50:25 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* cons.saver.c (detect_console): Make the code compile.

	* command.c: The Ctrl+Enter never reaches this part of the code,
	moved to midnight_callback.

Mon Jul 17 12:53:32 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* slint.c, myslang.h: Better compatibility with curses.

Mon Jul 17 11:18:42 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* configure.in, tty.h: Forgot to define USE_NCURSES, forgot some
	constants.

	* util.c: Handle too many arguments on mc_doubleopen.

Tue Jul 18 16:55:20 1995  Jakub Jelinek	 (jj@jfch.vc.cvut.cz)

	* xvmain.c, xvinfo.c: XView version should compile cleanly and
	even run (at least on my system) now... :)

	* help.c: No more deadlocks in XView's help

	* xvmain.c (xvdlg_show): Should now handle initial focus for
	dialogs.

Fri Jul 14 16:10:47 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* util.c (my_statfs): Should report the correct file system.  I
	have nfs mounted /home/miguel/s and it was reporting
	/home/miguel/slang to be on the nfs partition.

	* key.c (init_key): Fixed the escape sequences for irix-ansi and
	xterm. 

	* sldisply.c: Added terminal size detection to Slang.

	* help.c (help_event): Fixed mouse coordinate handling and repainting.

Fri Jul 14 15:47:07 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* aclocal.m4: OSF/1 cc compiler fixes.

	* tty.h: handles all of the curses differences now instead of
	our tricky lib/ncurses.h 

	* util.c: exevp portability fixes.

	* menu.c: hline fixed.

	* xcurses.c: Hacked to work with OSF/1 curses.

Thu Jul 13 16:06:06 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* mouse.c (init_mouse): When running with slang is important to
	flush stdout so that the mouse actually its activated.

	* boxes.c (display_bits_box): Now the setting is computed
	correctly (ie, it works)

	* sltermin.c (Tgetstr_Map): Added keypad transmit mode on/off, now
	cursor keys should work with terminfo.

	* subshell.c (read_subshell_prompt): The prompt should be there no
	matter what happens.

Thu Jul 13 16:51:34 1995  John Davis  <davis@space.mit.edu>

	* slang/sldisply.c: Provided semantic compatible routines for
	tgetstr, tgetnum and tgetflag.

Wed Jul 12 18:40:06 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs.c (vfs_add_noncurrent_stamps): Check for other panel type
	before using opanel.

Wed Jul 12 16:59:23 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* slint.c (slang_init): Fixed the slang/terminfo problem, reported
	by Ching and Thanh.

	* help.c: Make the buttonbar functions redraw the screen.

	* slint.c: Slang support should work with terminfo again.

Wed Jul 12 14:09:30 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* vfs: cpp options indentation to compile under OSF/1.

	* configure.in: Support for --with-vcurses flag for those strange
	setups. 

	* OSF/1: Changed some inline functions for macros in order to get
	OSF/1 compiler to work.

	* screen.c: move is sometimes a macro (slang support).

	* util.c: portability fix for exec parameters.

Tue Jul 11 11:01:45 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* dir.c, tree.c: Updating of the tree widget when loading new
	directories should be working again.

	* dlg.c (find_widget_type): New function to find the first widget
	in a dialog head.  FIXME: find_buttonbar should be rewritten to use
	this routine.

	* cons.saver.c (detect_console): Should detect a console on
	/dev/tty[0-9][0-9]

	* help.c: Works again.

	* slint.c (has_colors): Now it activates color based on the
	terminal name 

	* OSF/1 C Compiler portability fixes (change the format of the cpp
	directives), thanks to Ching Hui,.

Mon Jul 10 13:04:19 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* view.c (flush_line): Now we use call directly the widget command
	to insert the line text thus avoiding escaping the string.

	* dlg.c (dlg_run_done): Tk: focus the previous running dialog.

	* ftpfs.c (ftpfs_readdir), mcfs.c (mcfs_readdir), tar.c: On
	Slowaris 2 and maybe the new Linux C library (with the latest
	kernels) the d_name field is only 1 byte long, a clever trick that
	breaks our code.  We now have an extra buffer after the dirent
	struct.	 In short: the VFS works under Solaris.

	* main.c, screen.c (panel_new): Use the vfs' mc_get_current_dir

	* slint.c (slang_keypad): Now it should set the keypad mode before
	starting up, this should fix the problem with the keyboard. 


	* screen.c (panel_new): mc core dumped when I tried to change the
     Listing mode, because it did not initialize the panel->fmt_count
     variable.	

     * wtools.c: the net based file systems showed the typed in password.

Fri Jul	 7 14:37:44 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* view.c (flush_line, view_gotoxy): Added initial support for
	caching viewer lines in the Tk version, need to escape the special
	character sequences before it will work properly.

Thu Jul	 6 17:25:00 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* subshell.c (init_subshell): We no longer complain if the
	subshell can not be used, we just toggle it off

Thu Jul	 6 16:24:34 1995  Mark Olesen <tma@encore.com>

	* slint.c: Check for the COLORTERM environment variable, this
	will activate the color support for slang.

Thu Jul	 6 16:24:34 1995  Thanh Ma <tma@encore.com>

	* tcputil.c, mcserv.c: The correct include file to use is not
	rpc/types.h but rpc/rpc.h

Wed Jul	 5 12:55:31 1995  Miguel de Icaza <miguel@luthien.nuclecu.unam.mx>

	* file.c (file_mask_dialog): Should compile with Unixware compiler.

	* Makefile.in (CPPFLAGS): Thanks to Thanh Ma <tma@encore.com> for
	pointing me that the regex code from GNU can be used without alloca.


Wed Jul	 5 19:34:52 1995  Mark Olesen <olesen@weber.me.queensu.ca>

	* Portability to non GNU C compiler under AIX: replaced #ifdef 0
	for #if 0, included time.h in vfs files, mem.h: rindex is only
	defined if no definition existed previously.

Tue Jul	 4 18:27:10 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* screen.c (chdir_other_panel): Now Alt-o besides showing the
	contents of the current directory in the other panel, moves the
	cursor down one line.  Please tell me if you like this option.

	* find.c (insert_file): Removed the code that advanced the dir
	name pointer over the "./", this caused the find/panelize problem
	to be triggered, since the panelized paths were all wrong.

	* mc.tcl (center_win): Tk: Dialogs are now centered inside the
	main window and have local grabs (at least!)

Mon Jul	 3 18:15:12 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* mc.tcl: Now child windows are centered after being displayed.
	This is still not working properly, since we flush all the events
	(and thus make the window visible) before we compute the correct
	geometry.  If someone knows how to center a toplevel window or how
	to compute the geometry of a toplevel before it's mapped onto the
	screen it would be great.

	* tkscreen.c (compute_font_size): Now we finally are able to
	compute the font size and thus the panel size, so resizing a panel
	should work now.  Anyways, most of the job is based on Janne's
	changes for the Midnight Commander 2.1 that were not released
	officially. 

Mon Jul	 3 10:30:38 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* dlg.c: Fixed event dispatching, now we don't send wrong events.

	* tree.c: Define the correct event handler.

	* wtools.c (listbox_refresh, listbox_callback): The listbox did
	not have a listbox_callback routine and no refresh code, now it does.

Sun Jul	 2 20:51:19 1995  Jakub Jelinek (jj@jfch.vc.cvut.cz)

	* file.c: Fixes to the new copy/move commands, on deletion user
	can turn off/on typing yes to make himself sure he wants to do it
	(the other possibility is that the No button will be default instead
	of Yes). Also, added support to preserve UID/GIDs when copying (only
	root can do it). Can anyone test all of this :)...

	Also, removed the mask rename command, which should be completely
	redundant by the new rename operation (you just do specify both
	masks as before, the only difference is that you can now specify
	a target path as well, i.e. mask rename equals to rename in the
	current directory).

	* main.c (cd_try_to_select): is done for tar archives as well :)

	* mc.1: Eventhough real programmers do not write any documentation,
	I wrote something, which is quite unreadable and unclear and looking
	for someone who has a gift of explaining what I wanted to write and
	actually wrote (this mightn't be the same).

	* xv/Makefile.in: Another change in the Makefile. Hopefully XView
	will compile out of box now, not for the second time...

	* wtools.c (query_dialog_*): Added new procedure (query_dialog_sel),
	which has one of its parameters id of the button you want to have
	initially focused.

	* dlg.c: Support for initial focus, currently used in query_dialog_*
	only, but should become at least a bit more used.

Thu Jun 29 13:01:31 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* wtools.c (query_dialog): Fixed the bug that showed only empty
	dialog boxes.

Wed Jun 28 09:14:00 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* subshell.c (sigchld_handler): Fixed another miguel-mistake.  We
	should not return blindly after dispatching one signaled child,
	maybe the console saver also had something to say and only one
	signal was sent.

Tue Jun 27 12:14:10 1995  Ching Hui (u811563@Oz.nthu.edu.tw)

	* subshell.c (sigchld_handler): Now we only catch the subshell_pid
	and the cons_saver_pid, this should fix the long standing bug with
	popen and other wait() calls.

Mon Jun 26 14:23:22 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* tkwidget.c (tk_radio_callback, tk_check_callback): They now call
	the actions on the standard widget.

Sat Jun 24 16:29:52 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* chown.c: Now it uses labels for the interesting information, the
	rest will be handled on Tk.

Fri Jun 23 15:01:55 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* hotlist.c (init_hotlist): We now use labels instead of manually
	drawing the labels on the widget.  This is what must be done for
	the rest of the widgets in order to run the dialogs with both
	ncurses and X.

	* (tk/): find file command, listing mode, sort order and option
	configuration panels work on tk.
	
Thu Jun 16 00:09:09 1995  Jakub Jelinek	 (jj@jfch.vc.cvut.cz)

	* xvkey.c: Got rid of mouse and key stuff of the text version, so
	now good bye lgpm and a chunk of ncurses. I will have to take some
	time and remove all the ncurses/slang dependent stuff :)

	* configure: Fixed bugs

	* xvmain.c: Modal dialog boxes. Should be done for file.c's dialog
	(it is not run by xvrundlg_event) one day :)

Fri Jun	 9 22:24:23 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* screen.c (format_file): Split repaint_file, now format_file
	fills a buffer and then this buffer is passed by repaint_file to
	the display engine.  This should be usefull for the X version of
	the code, since we don't need to duplicated the repainting code.

Fri Jun	 9 20:51:22 1995  Sinolitis Vadim <vvs@nsrd.npi.msu.su>

	* widget.c (radio_callback): Now the focus color tracks the
	cursor. 

Thu Jun	 8 22:02:38 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>

	* wtools.c (query_dialog): this one also uses now the label
	instead of the draw callback.

Thu Jun	 8 13:54:19 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* setup.c (save_panel_types): Save setup bug fix, now it only
	saves the listing status if it is a listing, this should get rid
	of the random user formats appearing.

	* key.c (get_event): M-enter works on slang.

Mon Jun	 5 13:22:52 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* layout.c (change_screen_size): Resizing is working again.

Sat Jun	 3 15:51:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* dlg.c (init_widget): Data is cleared on init_widget.

	* mcfs.c (mcfs_readdir): Now it allocates the cached directory
	list in the proper order, also frees the catched directory
	contents.

	* key.c: Disposal of the sequences and the channel lists. 

	* Changed printw calls for addstr where possible. 

Sat Jun	 3 11:44:30 1995  "Sinolits Vadim V." <vvs@nsrd.npi.msu.su>

	* tkmain.c (xtoolkit_init): Call the proper Tcl/Tk setup routines

Fri Jun	 2 18:04:31 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* subshell.c (read_subshell_prompt): prompt_pos is reset upon
	seeing a newline or after calling feed_subshell instead of being
	reset each time here.  This fixes the bug of truncated prompts.

Fri Jun	 2 16:20:00 1995  John Davis  <davis@space.mit.edu

	* sldisply.c (COLOR_EQS): Compare b&w attributes when running
	without color.

Fri Jun	 2 10:38:11 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (copy_prog_name): Added support to copy the current
	pathname from the trees.

Tue May 30 20:29:40 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* slint.c, color.c: Added Slang support for Black and white
	terminals, thanks to John Davis for helping me with the code. 

	* subshell.c (read_subshell_prompt): return whenever we actually
	read something from the inferior subshell, if that's the case, we
	set the update_prompt flag.  
	(invoke_subshell): if we send commands to the subshell, do not
	repaint the loaded prompt, since the subshell will repaint it.

Sun May 28 11:54:02 1995  Jakub Jelinek	 <root@jj>

	* aclocal.m4, configure.in, xview/Makefile.in: Autodetection of
	XView, you can use configure switches --with-xview,
	--with-xview-includes=path and --with-xview-libraries=path to
	override if configure cannot find yours xview libs/headers.
	There is a make goal mxc in xview/Makefile which now compiles quite
	the same Midnight Commander, but will contain XView support later
	on.

Thu May 25 20:34:17 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* key.c: Please note that on IRIX terminals you should set the
	.mc.ini variable irix_fn_keys to 1.

	* Use new version of Slang, now is covered under the GPL.

	* key.c (get_key_code): Now we have a nice routine that does the
	conversion for us of constants, this is needed at least for the
	slang version.

Fri May 26 09:58:12 1995  Jakub Jelinek	 <jj@jfch.vc.cvut.cz>

	* Restructuralized the system of Makefiles to be one per dir,
	also moved to the config.h autoconf model, so that our command
	lines do not get unbearable chunks of -D defines. Note:
	The source for the root Makefile and autoconf sources are
	in the config directory in order to keep the root directory
	moreless clean :)

Thu May 25 17:32:52 1995  Jakub Jelinek	 <jj@jfch.vc.cvut.cz>

	* command.c (examine_cd, do_cd_command): Changed the behaviour
	of our internal cd command (the one typed on the command line).
	Now we support simple variable expansion, but without quoting,
	i.e. all the $VAR and ${VAR} will be expanded if the variables
	exist, otherwise it will remain $VAR or ${VAR}. Any comments??
	The second thing is that we now in case of failure use
	the CDPATH variable used by bash etc., which has a $PATH form
	and specifies paths which will be added at the beginning of the
	requested path in case it is not absolute.
	Other possibility for the user is to run
	eval cd 'path'
	and he'll get all his shell behaviour he wants to.
	NOTE: This should be documented :)

Tue May 23 13:12:53 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (init_sigchld): Bug fix: install the sigchild signal
	handler.

	* vfs.c (mc_mmap): Small bug fix: store the actual place where the
	mmap took place.  Thanks again to Wim for providing a test case
	for this bug.

	* screen.c (panel_event): Marking with the mouse works again.

	* mcserv.c, mcfs.c: Use the portmapper to register a system port,
	this gets rid of the security weakness of the server.

	* mcfs.c, ftpfs.c: Use the common routine get_host_and_username to
	parse remote addresses instead of two separate routines.  

	* tar.c (open_tar_archive): Reset the read pointer on the
	compressed tar file, split in three functions (tar_open): set a
	proper value for file->fd (tar_close): do not close files that
	have not been opened.

Mon May 22 17:39:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* profile.c: Now we handle integers instead of shorts.

	* vfs.c (mc_mmap): Added checking for invalid file handles

	* widget.c (radio_event): Mouse support works again on radio
	buttons (thanks to Jakub for pointing this bug to me).

	* menu.c (menubar_event): Now dragging from a non-dropped menu bar
	drops the menubar as it should (thanks again to Jakub).

	* find.c: Now uses the vfs.

	* info.c (info_hook): Do not display the info view if there is an
	overlapping window in top of us.

Sun May 21 22:36:13 1995  Jakub Jelinek	 (jelinek1@jfch.vc.cvut.cz)

	* vfs.c, tar.c, ..., boxes.c: Added a rubbish collector for
	non local virtual file systems. If an archive / connection
	is not as current dir in any panel and if it has no open
	files and it is not an envelope of an unfreed tar archive,
	we give it a user selectable timeout (in seconds) from the
	last operation on the archive/connection and after the
	timeout we free it.

	* tar.c, boxes.c: Added a user selectable limit for gzipped
	tar archives. If the uncompressed size is less than this limit,
	archive will be gunzipped into memory, if it is not, than we
	gunzip it somewhere into /tmp. The user can also set that
	he wants all the archives to be extracted into memory or to
	disk (the latter one by setting the limit to 0 B).
	Both vfs options are in the Virtual FS dialog from the Option menu.

Thu May 18 11:16:45 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.c (get_byte): Now the viewer will show you the contents of
	the zero length files by setting it's mode to growing buffers, so
	now it's possible to see all those nice files on /proc with the
	viewer.

	* widget.c: Moved the buttonbar code from win.c 
	(input_callback): Now we actually quote everything

	* ftpfs.c (parse_ls_lga): Should work with more ftp servers
	(ftp.dec.com, ftp.nuclecu.unam.mx, prep.ai.mit.edu are working). 

Wed May 17 13:11:49 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* Makefile.in (mcserv): Fixed the Makefiles for old and broke make
	programs that do not handle the $< on regular dependencies (just
	.c.o for example).

Wed May 17 23:19:03 1995  Jakub Jelinek	 (root@jj)

	* ext.c (regex_command): Call the file command even on non-local
	files, but if it is non-local, pipe the first 8192 bytes of the
	file on standard input of a `file -` command.

	* util.c (mc_doublepopen, mc_doublepclose): The routines for
	piping input and output of an command from tar.c moved here and
	made for more general use (currently this is called also from
	regex_command).

Tue May 16 12:32:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* view.c (view): Now we return a truth value telling if we were
	able to show or not the file.

	* ext.c (regex_command): Do not call the file command on non-local
	files.	

	Now we only make a localcopy if the command is not a chdir
	command.  This allows us to still use filters for viewing files
	while using the chdir command properly (ie: we do not chdir to
	mc:dir//tmp/something).

	* configure.in: Now autodetects the proper value for formatting
	man pages (-mandoc or -man macros) and also detect the arguments
	to the file command required by view.c

	* tree.c (tree_do_search): Trees now have searches again.

	* boxes.c (tree): We have the tree routine again working.

	* layout.c (get_current_index, get_current_type, get_other_type):
	We do not use midnight_dlg->current->widget anymore as an alias
	for current_panel, since for instance commands executed from the
	menu make midnight_dlg->current be the menubar and not a panel.
	We use cpanel that is currently being set by
	panel_event/WIDGET_FOCUS. 

	This fixes the compare directories command, thanks to Wim for
	pointing out this bug. 

Sun May 14 14:48:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (tree_box): Started to code the tree box using the tree
	widget.	 It's almost there.

	* view.c (toggle_hex_mode): Calling get_bottom_first is a very
	expensive operation (on a 386@16 Mhz it takes several seconds (half
	a minute reported on another machine) to switch from hex mode to
	ascii mode. 

	* tree.c (show_tree): Now the tree code uses the colors defined
	for the dialog.

	* configure.in (witf-vfs): Small bug fix, thanks to
	fbingha@ultrix5.cs.csubak.edu

Mon May 15 21:29:05 1995  Jakub Jelinek	 (root@jj)

	* ftpfs.c, mcfs.c, tcputil.c: First trial on a ftp file system:
	the syntax is as follows:
	    ftp://[[user]@]host[:port]/remotepath
	e.g.:
	    ftp://sunsite.unc.edu/pub/linux    (anonymous ftp)
	    ftp://miguel@roxanne.nuclecu.unam.mx/c/nc (ftp login as miguel)
	    ftp://myhost.foo.edu:4311/public  (anonymous on specified port)
	    ftp://@jj.vc.cvut.cz/src	    (ftp login as your current 
					     login name)
	Take care, it is only ---------------pre-ALPHA version. Really not
	ready for any use, except bug fixing.

Sat May 13 19:29:03 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* tar.c (__tarfs_find_entry): On the strcmp (pent->name, p),
	changed the break for a return pent.  This should fix the bug on
	my Linux box.

Sat May 13 22:45:00 1995  Jakub Jelinek	 (root@jj)

	* mc.edit: New configuration file (can be overridden by a
	~/.mc.edit) of the same format as mc.ext and mc.view. Defines
	which editors are for which extensions or types of files.

	* ext.c (exec_extension): Made possible viewing and editing
	of files in non-local vfs's. Currently the %f parameter, if it
	should be expanded to a non-local vfs name (like tar:...tar/name),
	is substituted by a temporary name in /tmp, into which is the
	non-local file copied. Then, as soon as you finish with
	viewing/editing/extension dependent command, we look if the file
	/tmp/something was changed. If it is so, we update it by copying
	back - note: tarfs is read only at the moment.
	Also note that only %f parameter is handled in this way.

	* Fixed a readlink problem on the artificial .. directory in the
	root of the tar archive.

Fri May 12 19:17:02 1995  Jakub Jelinek	 (root@jj)

	* util.c (string_perm): Fixed text mode appearance when there is no
	x and we put there an s or t over (suid, sgid or sticky). Then the
	letter should be uppercase.

	* tar.c (make_dot_doubledot): Created an fictive .. entry in the
	root of the tar archive so you can easily escape by pressing enter
	on it. (Previously you had to do a cd ..).

	(read_header): Fixed a problem on non-ANSI tar archives.

	* tar.c (tarfs_analysis): Now correctly enters tar archives
	by the cd tar:/path/archive.tar/ and cd tar:archive.tar/ method.

	* vfs.c (mc_opendir, mc_chdir): Fixed a problem when there was
	an tar archive (or gzipped/compressed tar) inside of the tar archive

Thu May 11 18:13:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* configure.in: the subshell support and the vfs code are now the
	default build options, the user should specify --without-subshell
	and --without-vfs in case it wants to.

	* boxes.c (display_bits_box), wtools.c (quick_dialog): Now we use
	radio buttons to display the display bits.  Implemented the
	quick_radio routine to achieve this.  

	* screen.c (next_page_key), cmd.c (view_cmd): They both check for
	links to directories now to perform a chdir.

	* slint.c: Removed dependency on the local slang patch

	* main.c, user.c: Misc checks, we do not use opanel without
	checking for it's type first.

	* user.c (test_condition): Fixed another bug reported by Wim
	Osterholt: We check for the validity of the other panel type.

	* layout.c (set_display_type): Fix: if the panel has been resized
	artificially and we are switching to a panel type that does not
	make use of the long panel size, reduce the panel size, thanks to
	Wim Osterholt for pointing this bug.

Thu May 11 22:31:10 1995  Jakub Jelinek	 (root@jj)

	* changed 0 to UP_KEEPSEL in most update_panels calls in order
	to keep current selection in the other panel as stable as possible.

	* view.c (get_byte): fixed viewing on non-local vfs's (there was a
	read instead of an mc_read call)

	* view.c (init_growing_buffer): Fixed viewing of non-piped
	not mmaped files

	* view.c (display): Assured that we have always to show something if
	it is in the pipe

Wed May 10 21:02:30 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* tcputil.c (tcp_init, rpc_send, rpc_get), mcfs.c: We now check
	the status of the connection, the program should not block anymore
	if the server crashes or disconnects.

	mcfs.c (mcfs_get_host_and_username): Now parses correctly the user
	name (mc:remotehost:remoteuser/utils is a correct path for example).

Tue May	 9 11:45:10 1995  Miguel de Icaza  <miguel@nuclecu.unam.mx>

	* mcserv.c (do_auth): If root, change the UID and the GID to those
	of the user logged in.	If the user logged in as anonymous or ftp,
	do a chroot to the directory of the ftp/anonymous account.

Wed May 10 22:09:12 1995  Jakub Jelinek	 (root@jj)

	* dir.c (set_zero_dir), main.c (do_cd): Currently we can cd
	into directories --x (we will see only ..), but we should be
	able to get there. Also, fixed a problem when the one of the parent
	is not readable (then Permission denied is displayed instead of the
	directory path). Only works in vfs. But - does somebody need not to
	use vfs? I think we should make it as default or the only
	possibility.

	* util.c (name_trunc): I know I'm not going along with the crowd
	when using non-printable characters in directory names, but this
	makes me happy. It doesn't scramble the screen any more :-)

	* view.c, vfs.c, local.c, tar.c, mcfs.c: Added mc_mmap and mc_munmap
	calls and converted viewing out of FILE f* calls, so that it works
	in vfs as well. mc_mmap call is defined only in localfs, but I'll
	extend it to tarfs soon.

	* widget.c: Fixed a problem in File Find - all input lines were
	passworded (*), the is_password was uninitialized.

Mon May	 8 13:29:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* widget.c (update_input), wtools (quick_widget, input_dialog):
	Added support for password prompts.

	* mcserv.c (do_auth): Now we try to authenticate with pwdauth if
	available on the system, then we try the conventional validation
	method (this only works on systems without the shadow suite) and
	finally we try to login to a local ftp server.

	* view.c (view_labels): F3 is also a quit key, very usefull for
	browsing large amounts of information (F3 chdirs, F3, enters
	viewer, F3 quits viewer).

Sun May	 7 13:31:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* mcserv.c (do_auth), mcfs.c (login_server): Added authentication,
	currently it only supports authentication by connecting to a local
	FTP server and trying to login.

	* main.c (quit_cmd): Fixed the quit bug when confirm_exit was 0.

Sat May	 6 14:31:26 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* util.c (delete_hook): Fixed the delete_hook routine, now it
	may delete hooks on hook variables with more than one hook.

	(hook_present): Returns true if a function is on the hook list

	* layout.c (set_display_type): Load the currently selected file in
	the quick view panel, not /etc/motd

	* view.c: Fixed view initialization (quick view mode had
	problems).
	quick view now is updated on the idle time.

Thu May	 4 13:37:27 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (do_execute): Console is now refreshed here, we do not
	rely on the client function calling do_refresh.

	* mcfs.c: Now functions check the return value of mcfs_get_path.

	* vfs.c: mcfs and local file system do not use the trailing slash
	any more.

Tue May	 2 17:48:28 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* boxes.c (display_box): Now the current_mode is set before
	initializing the display box.

Wed May	 3 17:20:13 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* tar.c, vfs.c, main.c: Changes to the current directory handling,
	paths across virtual filesystems, extensive use of vfs_canon.

	* tar.c: Now uses real growing buffers - still locks on some
	large gzipped tar.gz's :-(

Tue May	 2 18:05:34 1995  Radek Doulik	<root@RoDo-station>

	* main.c (quit_cmd): fixed bug when confirm_exit is 0

	* achown.c (advanced_chown_callback): repaired cursor move

	* key.c (mi_getch): bug fix in while () - enables ^X key
	combinations for libc.5.* 

	* chmod.c, chown.c: new variables - shared by ch* commands,
	needed for correct redraw (try ^L)

Tue May	 2 00:01:05 1995  Jakub Jelinek	 (jj@jj)

	* tar.c, tar.h, vfs.c, vfs.h, ...: Added tar and compressed tar
	support. Still buggy, read only, view doesn't work there...
	
	* ext.c: Added the %cd command, which can be called to change current
	mc's directory, like in
	\.tar$ %cd tar:%d/%f/

Fri Apr 28 18:32:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* dlg.c (slow_box), screen.c: Use the slow_terminal variable to
	avoid drawing the acs chars.

Thu Apr 27 17:06:56 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* screen.c, panel.h: searching and was_searching are now state
	variables of each panel.

	* view.c (get_line_at): Search optimization: gets the string only
	one time, not two times as it used to do.

	* setup.c (load_setup), screen.c (panel_destroy, panel_new):  Ugly
	hacks to let us use the profile mechanism to keep values of the
	panels between mode switches while not being an auto-save feature.

Mon Apr 24 16:17:53 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* widget.c (handle_char): Clear the quote variable after we have
	used it. 

Tue Apr 25 20:31:12 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* ext.c (regex_command): We now take from the `file -L' command
	only output after the initial filename: and whitespace, 'cause
	I had problems with viewing files that contained gzip in its name.

	* file.c: made a hardlink cache, so that we retain hardlinks
	(if you have a hardlink to a file and that file was already copied,
	then the new file is just a hardlink to that file it was copied).
	Copying of special files (block, character, fifos and sockets) is
	now possible. Copy and move now handles always with absolute
	filenames (I think the vfs will need it absolutely) and the
	added cwd is stripped when displaying the source. When copying
	a symlink to a directory, it will be a symlink and not a directory.

	* find.c: Fixed the problem when no files were found in the search
	(you had to kill mc).

	* menu.c: Fixed a problem with movement keys in menus when compiled
	with the libc.so.5.x.x (ELF) on Linux.

	* local.c: Fixed some obvious bugs (local_write, local_open).

Wed Apr 19 10:43:37 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* vfs.c, local.c: started the vfs layer code, currently only the
	local case is handled.

	* dlg.c (dlg_try_hotkey): User Interface Change: Hotkeys are not
	sent anymore when the focus is on an input line, this fixes a long
	standing bug.  

	Support has been added to use hotkeys bounded to alt-<char> they
	are converted to char events on the try hotkey routine.

Tue Apr 18 18:26:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* screen.c: Panels use a private search_buffer instead of a global
	one.

	* slint.c, myslang.h: Added the slang support, currently it runs
	only in color.

	* color.c: reorganized code, now the boldness of the attributes is
	not hard coded, there is a new set of bright colors.

Wed Apr 19 00:39:10 1995  Jakub Jelinek (jelinek1@jfch.vc.cvut.cz)

	* complete.c (complete_engine): Fixed a bug that caused
	completions not to be shown at all on some places where it should
	be applied (namely when you had a space just on the current point).

	* cmd.c (view_cmd): Changed so that it uses ~/.mc.view and mc.view
	files to determine which program should be piped for which file.

	Format of the mc.view file is the same as of the mc.ext file. Both
	were extended now: They can include white lines, comments (#......),
	files can be matched using an exact match (when beginning with .
	like in .tar.gz), using an regexp match or shell pattern match
	(depends on setting shell_patterns=0/1 as the first line of the mc.*
	file) and using an regexp match on output of the `file -L %f'
	command (using the ?"pattern" syntax). In this case you can
	use embedded spaces (when quoted by \). Take care with the ^
	character in the pattern - a usual output of the file -L command
	starts with the full pathname, followed by :, space and then
	description of the content.
	Included one more preprocessed command - %view, optionally followed
	by {} with a list of view options separated by commas. Currently
	only ascii, hex, nroff and unformatted are supported. This command
	causes all the rest of the command (this command is replaced by
	nothing) is run and its standard output is piped into the internal
	viewer. If only %view command is given and nothing else, like in

	?"executable" %view{hex}

	then the internal viewer is forced to load just the file %f and
	set the viewer attributes.

	* ext.c: Rewritten in order to handle changes described above.

	* view.c (view, view_init, do_view_init, init_growing_buffer):
	Changed arguments to these routines, there is no is_program any
	more, but two strings: command and filename. If command is NULL, it
	is like is_program=0 before. If command is not NULL, then depending
	on the Parsed/Raw option (the F8 option was renamed so) will pipe
	in command or display filename. In the status line on top filename
	is always shown and not command (no more nroff -... titles on
	the status field, just manpage.1).

Fri Apr 14 14:32:25 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* main.c (setup_mc): We should not push a refresh handler anymore,
	it's handled by the dialog manager.

	* util.c (close_error_pipe): Fixed a long standing bug.	 Need to
	check len for indexes that are > 0, otherwise we override the
	stack contents.	 In this special case the variable that got
	overwritten is part of the $edi register variable, this had
	unexpected consequences.  The first documented symptom was
	detected by Erwin when quitting the view command on a runnable
	region. 

Mon Apr 10 13:05:55 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* screen.c (panel_key): Fixed the problem with Alt-s adding an 's'
	to the search.

	KEY_LEFT and KEY_RIGHT events are only used if we have a need to
	do it same done on tree.c tree_key.

Sun Apr	 9 20:42:12 1995  Jakub Jelinek	 <jj@jj.vc.cvut.cz>

	* cmd.c (view_other_cmd): Subshell support should compile now.

	* menu.c (menubar_paint_idx): Menu separators.

	* view.c (display, move_forward2, change_nroff): Added possibility
	to switch the nroff style formatting off (using the F9 key).

	* view.c (search, regexp_view_search, do_regexp_search): Searching
	should now work on growing buffers, regexp searches should be OK
	as well (and search for real regexps and not for shell patterns -
	formerly was a F6 search for a.e a search for ^a\.e (and nobody has
	expected it)).

	* command.c (do_cd_command): Fixed a problem with the cd command
	when no space was after cd characters (just enter).

Tue Apr	 4 17:38:24 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>

	* key.c (get_event): The mouse is displayed after the refresh.

	* main.c (menu_cmd): F9/Shift-F9 works again.

Tue Apr	 4 16:50:46 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* file.c (panel_operate): Fix by Ron Sommeling <sommel@sci.kun.nl>
	Actually use the setting of the confirm_delete variable.

Sat Apr	 1 19:18:52 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* menu.c: Has been converted to a widget.  I have tried to
	keep the cursor in the selection place.	 This should help people
	without colors.

	* main.c, cmd.c: Subshell support works again.

	* layout.c: The program should work now with the
	nice_rotating_dash option set.

Mon Mar 27 13:14:25 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* dlg.c (run_dlg): Hotkey is allways sent to the current widget if
	they have set the W_WANT_HOTKEY value.	It is not sent only if
	WIDGET_HOTKEY returns 1.

Sat Mar 25 18:40:15 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* tree.c: Converted to a widget.

Fri Mar 24 20:16:52 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* setup.c (load_setup): We do not expect any longer to have the
	variables sort_* and display type.

Thu Mar 23 12:37:02 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* layout.c (set_display_type): This function takes care of the
	views displayed in the screen.	It is responsible for creating and
	destroying the left and right panels.  This routine is the one to
	be changed for the multiple panels support.  

	* screen.c (panel_destroy): Save the setup just before shutting down.
	(panel_new): Load the setup at panel startup.

	* setup.c (panel_save_setup, panel_load_setup): Functions to load
	and save the setup.

	* boxes.c (display_init): Do not call the input_set_point routines
	before adding the widget to the proper place.

	* configure.in (LIBS): We do not use the writable-strings anymore.

Mon Mar 27 14:48:12 1995  Jakub Jelinek	 <jjel3210@beta.ms.mff.cuni.cz>

	* util.c (icase_search): Fixed a bug in searching algorithm.

	* util.c (canonicalize_pathname): This routine handled incorrectly
	../../* and such things (this particular was squeezed to /).

	* view.c (get_byte): get_byte always returns -1 if we try to look
	past the buffer.

	* (display): Added _\b? sequence (underlined in ntroff) as red on
	blue, added highlighting of search results - FIXME: it has to work
	with regexps as well.

	* (search): Now we can search through binary files (containing some
	\0 stuff) as easy as in text files and we support result
	highlighting.

	* (block_search, hex_search): Fixed a bug in searching algorithm.

Wed Mar 22 13:45:58 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (repaint_screen): Now we call do_refresh ().

	* widget.c (input_new): Do not call update_input at program
	startup, wait for the kind WIDGET_DRAW message to arrive.

	* hotlist.c, chmod.c, chown.c, boxes.c, achown.c, wtools.c,
	option.c, layout.c: Converted them to use the new widget methods.

Tue Mar 21 13:35:11 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* dlg.c (add_widget): Modify widget position relative to the
	dialog origin.

	* win.c: Implemented the WButtonBar widget.  Changed the code to
	use this widget.

	* main.c (midnight_callback): DLG_UNHANDLED_KEY now takes care of
	the hotkeys.

Mon Mar 20 10:28:00 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* widget.c (input_callback): Return whenever the input char is
	processed. 

	* input.c (handle_char): Now returns if the character was handled.

	* widget.c (button_callback, radio_callback, check_callback,
	input_callback, listbox_callback): Respond to the WIDGET_CURSOR
	message.

	* dlg.c (dlg_redraw): After redrawing, send a message to let the
	widget put the cursor in a suitable place.  This is needed since
	the panel implementation forces the cursor to stay on the panel. 

	* cmd.c: moved most *_cmd functions from main to this file.

	* panel.h (selection): Now we should specify an argument (the panel).

Sun Mar 19 14:48:47 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* dlg.h: Removed unnecessary WIDGET_CHECK_HOTKEY.
	Widget: added options to the widget structure.

	* command.c: New file, implements the WCommand widget.	This is a
	widget based on WInput.	 This widget does not accept the focus but
	accepts the unused keys messages.  

	* main.c: left_panel and right_panel are now Panel *.
	(view_cmd): We really meant do-cd, not action.

	(init_panels): Use the new syntax for panel creation.

Sat Mar 18 19:21:24 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (do_cd): Now it calls cd_try_to_select when the chdir was
	successfull. 

	* screen.c (ITEMS, select_item, unmark_files, panel_event,
	select_cmd, unselect_cmd, move_down, move_up, move_left,
	move_right, mark_file, move_home, move_end, next_page_key,
	prev_page_key, goto_top_file, goto_middle_file, goto_bottom_file,
	next_page, prev_page, start_search): Moved from main.c
	

	(panel_event): Cleaned up.

	renamed do_init_panel to panel_init
	renamed init_panel    to panel_set_size

	* panel.h (Panel structure):
	replaced: 
	view_type with list_type

	added:
	Widget structure to make it a widget.

	removed:
	x, y, cols, lines, xpos, ypos: these are redundant with the 
	widget element.
	half_cols, full_cols: now we compute the values directly
	is_status: Panel is only used as a FileListing Widget.
	
	(prototypes): Renamed panel functions to make them more uniform.

	* panel.c: Panel routines do not use a special window anymore,
	just stdscr (this is needed for the slang port).

	* dlg.c (dlg_broadcast_msg): Changed redraw order: this forces the
	current item to be the last one drawn.

Fri Mar 17 13:38:41 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* mc.1: Updated man page for completion.

	* complete.c: Last big completion changes.
	(command_completion_function): Command completion algorithms,
	currently supports bash reserved words and builtins only (and of
	course examining of $PATH).
	(completion_matches): We remove duplicate possibilities.
	(try_complete): Changed algorithm where to do which completion.
	(complete): Now we use the show_all_if_ambiguous variable to find
	out if we should popup possibilities for the first or for the
	second time M-Tab is pressed.
	
	* main.c (change_panel, do_cd): On these events we dismiss all the
	collected possibilities like we do if the user types any character
	on the input line.
	(do_nc): We allow command completion on the command line (of course
	;-)).

Wed Mar 15 20:48:13 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* panel.h: the selection variable now is a macro that returns the
	current value of the selection instead of relying in a possibly
	inaccurate value (I already have seen this).

	* option.c: Fixed hotkeys.
	(init_configure): Fixed indexes.

	* mem.h (bcopy): Fixed horrible bug, should not use macros that
	much. 

	* main.c (view_cmd): Added quick hack to load man pages through
	the nroff program using the new growing buffers routines.

	* view.c (get_byte): Rewrote routine to use growing buffers.
	(init_growing_view): New function to open the view stream.
	(load_view_file): cleaned up error handling return values.
	(free_file): free the growing buffer memory blocks.

	* main.c (prev_page, next_page, prev_page_key, next_page_key): The
	PgUp, PgDn key + Control works by doing a chdir up or down, while
	the C-v and Alt-v keys moves by pages.

Tue Mar 14 14:22:48 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* view.c (view_status): Should not break even if s.st_size is 0.
	(view_init, do_view_init): now we can specify that the input comes
	from a program.

Mon Mar 20 11:36:10 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

       * main.c (select_item), screen.c: Some more orphans in the panels
       removed.

       * widget.c (label_callback): Mc displays correctly multi-lines
      labels (it didn't before).

       * wtools.c (input_dialog): Fixed the width problem in dialogs wider
       than 64...

Mon Mar 13 13:15:59 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* complete.c: Next step (probably one more is needed to get it
	somehow working with all the expected features, but not bug free).
	Now it does hostname completion, if the current word beginns with
	a @, username if ~, variable if $ and filename as before. It doesn't
	do command completion, checking of where to apply which completion
	is not in the state it should be and also you cannot choose whether
	the auto_query_if_ambiguous (in this version is the default bash's
	behaviour, so we first beep and for the second time show the
	possibilities. completion now shows a / after completing a directory
	or username.

Thu Mar	 9 21:25:43 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* colors.c (init_colors): provide dialog_colors with proper
	values. 

	* dlg.c (create_dlg): New dialog creation function.  It allocates
	the window instead of letting the caller do the window allocation.

	* file.c wtools.c, boxes.c, chown.c, achown.c, option.c: 

	Switch to create_dlg instead of dlg_new.

	Do not use the window directly, use the window member of the
	Dlg_head structure.

	Use the coloring scheme dialog_colors instead of it's own copy per
	module. 

Fri Mar 10 08:21:16 1995  Jakub Jelinek	   (jelinek1@jfch)

	* view.c (display, move_forward2, move_backward2): Changed so it
	now correctly handles such things as the bold sequence split accross
	the lines in wrap_mode and so on. Cause even move_forward2 became
	very complex, I've changed in wrap_mode calls to move_backward2 to
	move_forward2 (after finding the previous \n), so there is only
	one place we have to change in the future when we want to change
	something in the scrolling :-)

Wed Mar	 8 18:26:25 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* widget.c (listbox_add_item): Added duplicates handling.

	* wtools.c (new_chooser, run_chooser, destroy_chooser): Functions
	to write quick routines for selecting entries (possibly letting the
	user remove them).

	* widget.c (listbox_select_last): New function to remove the
	currently selected item.

Wed Mar	 8 11:12:19 1995  Janne Kukonlehto  (jtklehto@indy4)

	* ../doc/FILES: Rewritten to conform new directory structure.

	* global.h: Replaced `#if defined(ultrix)...' with `#ifndef
	HAVE_STRDUP'.

	* help.c (show), help.h: Supports bold characters now.

	* layout.c (make_box): A new function which outputs a box of
	requested size at requested location. (move_resize_panel): A new
	function to move and resize the current directory panel.

	* layout.h: Added move_resize_panel.

	* main.c (only_refresh_screen, only_touchwin, untouch_bar,
	repaint_screen): Replaced wrefresh with wnoutrefresh/doupdate pair
	in order to reduce blinking. Reordered update sequence to be more
	compatible with moved and resized panels. Other small changes.
	(outrefresh_screen): A new function which marks all the standard
	windows for update but doesn't update them yet. Used by
	move_resize_panel. Useful to reduce blinking. (OptMenu): Added
	`Move/resize panel'. (handle_args): Fixed a small bug which
	prevented `-U' option from working.

	* main.h: Added outrefresh_screen.

	* man2hlp.c (handle_command): Checks that heading levels are even.
	Outputs bold_on/bold_off commands in the HLP mode, too.

	* panel.h: Added the coordinates of the top left corner. Required
	by move_resize_panel.

	* screen.c (init_panel): Sets the coordinates of the top left
	corner.

	* util.c (is_printable): I think DEL character is never printable.

	* view.c (display): Now show sequences like
	character-backspace-character as boldface (like less does).
	(move_forward2): Handles correctly character-backspace-character
	sequences. FIXME: I could not figure out how to change
	move_backward2 to handle char-bspace-char sequences correctly.

Tue Mar	 7 22:12:13 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* widget.c (listbox_key): No more orphans in listboxes when
	pressing End.

	* widget.c (listbox_get_current): It didn't work with the
	second parameter NULL (if we didn't want to get extra data).

	* setup.c, option.c, main.c (*cd_symlinks): Added flag to enable
	/disable following of logical directory structure made of symlinks
	(which I have added 3 days ago). Rearranged key assignment in the
	Configuration dialog, so that all keys work for the check boxes
	where they are capitalized.

	* input.c (is_in_input_map): Test function for the complete engine.

	* complete.c: Now it shows a listbox of all possible completions
	if there are more then one, you can type characters when this
	listbox is displayed and mc will try to complete as much as it can.
	You may select an entry and press Enter to insert it into the
	input line or you can press M-Tab again if you've typed some
	characters and want to see fewer possibilities. Still lacks
	other completions than filename.

	* boxes.c: Cosmetic changes to the Display mode dialog.

Fri Mar	 3 19:25:12 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* boxes.c (select_format, display_callback): Added a list for the
	user formats while pressing C-c.

	* man2hlp.c (handle_command): Small change to remove the spaces
	before the section name.

Mon Mar	 6 08:38:12 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* new files: complete.c, complete.h - First steps for the
	filename/command/username/variable/hostname completion in
	the input lines. At the moment only filename completion is
	supported.

	* input.[ch]: Incorporation of complete.[ch] into the project,
	complete function is assigned to the M-Tab keystroke.

Sat Mar	 4 21:19:32 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* main.c (do_cd): cd should follow symlinks up to the location
	where you've entered them and not to the .. directory of the
	real directory symlinks are pointing to.

	* util.c (canonicalize_pathname): This routine makes previous
	change possible and despite of that can be usefull elsewhere
	as well.

Tue Feb 28 09:39:20 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* boxes.c (display_bits_box): Added the nice dialog box for
	choosing the number of display bits.

	* util.c (is_printable): Added the full 8 bit support as well as
	iso-8859-1.

	* main.c (next_page): Now also handles C-PgDn, this chdirs into
	the current directory.

	* boxes.c (quick_dialog): New routine to write simple dialog boxes
	with confirmation boxes, no more, no less.

	* util.c (ctrl_pressed): Thanks to Alessandro Rubini for providing
	this code.

	* main.c (do_cd_command): We can't write past the buffer (cmd [3]
	if cmd [2] is 0).

	(quit_cmd): Added check for confirmation before exiting.

	* configure.in, util.c: The proper thing to do is to check
	for strdup here and not for ultrix.

	* main.c (view_other_cmd): Changed call to mi_getch for xgetch,
	since now we have a do_update call in mi_getch.

Wed Mar	 1 20:03:17 1995  root	<root@RoDo-station>

	* achown.c: space now does nothing (in future maybe toggle),
	after '+', '-', '=' cursor moves to the next flag (owner)

Thu Feb 23 07:37:56 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* chmod.c, dir.c (stat_file, handle_dirent): Changed
	all file type tests to the S_IS* macros, because usage of the
	(x & S_IF*) == S_IF* caused misbehaviour, e.g. the block
	devices and sockets on linux were handled as directories and
	therefore sorting in the /dev directory looked a little bit
	strange.

	* input.c (input_set_prompt): Added a call to update_input,
	because otherwise when we changed from a longer to a shorter
	prompt, the rest of the old prompt remained on the screen.

	* input.c: Added KEY_HOME, KEY_A1, KEY_END and KEY_C1 as
	moving to the beginning / end of the input line. It doesn't
	do anything on the cmdline, because then we handle these
	special keys before, but of other input lines.

	* layout.c (init_layout, update_split, layout_callback):
	We have to initialize our internal _* variables and not
	to wait until someone presses a key / clicks mouse bottom,
	because then the first press / click has sometimes no
	result. Also I've changed Miguel's recent addition of
	redrawing numbers only if they changed, so that it works
	fine when you press C-l or check/uncheck Equal checkbox.

	* main.c (untouch_bar): Fixed so menu repaints fine even
	when having menubar_visible set.

	* main.c (init_labels): Having keybar_visible == 0 doesn't
	cause an segfault any more.

	* view.c (view_init, view): Setting dirty to max_dirt_limit + 1
	moved to the view_init function and should work fine (mc
	really always displays the view_win on start).

	* view.c (move_backward2, move_forward2): Rewritten so it
	should work well even when wrapping (e.g. before, when you were
	moving up in wrap mode, it moved sometimes several lines up,
	moving to the end didn't sometimes reach 100% etc.).

	* view.c (get_bottom_first): Added a new check so that the
	view's shown page always shows as many lines as possible
	(no more last one line on the screen if there are many in the
	
Thu Feb 23 12:17:39 1995  Janne Kukonlehto  (jtklehto@paju)

	* file.c: Oops, I forgot to include <utime.h>.

	* find.c (find_parameters): The previous parameters are now
	remembered. (insert_file, do_search, find_callback, start_stop,
	find_file): Cosmetic changes. (do_search): Shows the name of
	directory being scanned.

	* main.c (compare_files): A new function to compare two files,
	used by thorough compare. (compare_dir, compare_dirs): Now there
	two compare methods: quick compare (the old method) and thorough
	compare (byte-by-byte compare).

	* mc.1 (Command Menu): Documented the two compare methods.

	* util.c (get_full_name): Now able to handle directory names which
	end to '/' (required by find file feature).

Thu Feb	 5 13:12:20 1995  Jakub Jelinek	 <jelinek1@jfch.vc.cvut.cz>

	* main.c (move_down,prev_page,next_page): Code changed so that
	PageDn,Up work well and do not show only some entries if there is
	a lot of them.

Wed Feb 22 16:18:08 1995  Janne Kukonlehto  (jtklehto@paju)

	* FILES: A new file to list the purpose of files included in the
	distribution. I hope wanna-be MC hackers will find it useful.

	* Makefile.in (DISTFILES): Added the FILES file.

	* file.c (copy_file_file): Code clean-up. Now preserves time
	stamps.

	* find.c (do_search): Optimized, now about ten times faster than
	before and only two times slower than GNU find.

	* panel.h, find.c, main.c, screen.c: In the Panel structure the
	dont_reload field is renamed to is_panelized.

	* main.c (reload_panelized): A new function to update contents of
	panelized view. (update_panels): Now calls the new
	reload_panelized function for panelized panels instead of skipping
	update. (enter): Now removes any initial and trailing whitespace
	in directory names of the cd command.

	* menu.c (run_menu): because F10 is a abort key nowadays there is
	no need to check for it again.

Tue Feb 21 17:18:09 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>

	* main.c (handle_args), configure.in: Now you can specify if you
	want the subshell by default.

Tue Feb 21 12:51:24 1995  Sinolits Vadim V. <vvs@nsrd.npi.msu.su>

	* file.c (copy_file_file): Avoid copying a file to itself.

Tue Feb 21 12:39:06 1995  Janne Kukonlehto  (jtklehto@indy6)

	* find.c (find_file): Draw the nice dash when panelizing

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
	extremely 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 hierarchical 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 regex 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 deactivate 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
	horizontally.

	* 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 automatically.

	* 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 definition 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
	optimization 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 column 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 printw "".

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 assignment?

	* 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 guarantee 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 routines 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 initialization 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,
	search, 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 if 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): Miscellaneous 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 forgot 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): Unsignificant 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 between 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): Workaround 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)

	* Release 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.

