Merge commit '315633ecce31cd5af92112ab9903f6e7e8ae8df7'
[free-mc.git] / src / OChangeLog
blob0ce6551204132e39d61062382863aced267999ad
1 Fri Jan 16 00:11:20 1998  Norbert Warmuth <k3190@fh-sw.de>
3         * popt.c (poptGetNextOpt, poptReadConfigFile): added missing free
4         and munmap
6         * vfs/ftpfs.c: Activated CD_THEN_LS_DOT as default; instead of
7         "LIST path" send the commands "CWD path" and "LIST ."
9         * vfs/ftpfs.c (command): First check errno because
10         disable_interrupt_key might change it.
12         * vfs/ftpfs.c (resolve_symlink): Finished the CD_THEN_LS_DOT hack.
13         If you activate it you will be able to browse directories containing
14         spaces in their name (that's a compile-time option; search
15         for the define in this file).
17         * vfs/ftpfs.c (__ftpfs_chdir): New function; this code is moved from
18         ftpfs_chdir, takes a remote path and for performance reasons it keeps
19         track of previous CWD's.
21         * vfs/ftpfs.c: To change directories use __ftp_chdir instead of
22         sending the CWD command.
24         * vfs/vfs.c (parse_ls_lga): Added support for symlinks containing
25         spaces (spaces either in the name of the symlink or in the target
26         of the symlink).
27 Thu Jan 15 23:09:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
29         * color.c (get_two_colors), (configure_colors_string): get two
30         colors now splits the color names instead of brute force text
31         matching.  make a copy of the string to be able to patch the
32         string. 
34         * screen.c (file_compute_color): renamed, old name was
35         normal_color.  This is now used by the gnome port as well.  The Tk
36         port should be using this too instead of having its own color
37         scheme. 
38         
39         * color.h: Use PORT_COLOR to choose the color.
41         * gscren.c: Compute the proper sizes for the panel columns;  Add
42         sorting callbacks for the buttons on the top
44 Wed Jan 14 22:29:01 1998  Peter Daum <gator@cs.tu-berlin.de>
46         * patchfs: added new file system for browsing patch files.
47         
48 Wed Jan 14 20:54:38 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
50         * screen.c (parse_display_format, use_display_format):
51         Functionality has been splited now.  the former routine only
52         parses the user specified format, while the later parses and
53         activates the format for text mode editions.
55         * panel.h (format_e): we now have a couple of extra fields:
56         use_in_gui indicates that this field should be displayed on a GUI
57         (ie, only the text-mode decoration tags are omitted).
59         expand field indicates that the field should be expanded.
60         
61 Wed Jan 14 12:55:19 1998  Sung-Hyun Nam <namsh@lgic.co.kr>
63         * mc.tcl: find a user specific 'tkmc' file in the ~/.mc
65 Tue Jan 13 17:15:21 1998  Pavel Roskin <pavel_roskin@geocities.com>
66         
67         * main.c (pre_exec): reset_prog_mode is not called if mc is
68         compiled with SLang. Otherwise, raw_mode in invoke_subshell()
69         may be improperly initialized. In this case Ctrl-O was ignored
70 Tue Jan 13 09:08:32 1998  Alex Tkachenko  <alex@bcs.zp.ua>
72         * widget.c (show_hist): cleaned up; historylist_callback (now removed)
73         replaced with listbox_finish to enable selection with mouse double click
74         
75         * wtools.c (create_listbox_window): added comparison of passed width
76         with title and cancel button length. Max value of three is now taken;
77         fixed cancel button xpos calculation.
79 Sun Jan 11 11:31:39 1998  Alex Tkachenko  <alex@bcs.zp.ua>
81         * view.[ch]: removed obsoleted macro HEX_EDIT and related code
82         cleaned up. 
84         * wtools.c (query_dialog): added color to hotkeys in focus
86         by subshell on FreeBSD.
88         * mouse.h: obsolete code removed. gpm-xterm.h doesn't exist anymore
90         * nt/Makefile.NT: sldisply.c is not linked with mc.
92         * myslang.h: we don't try to draw double lines for panels anymore
93         because "official" SLang doesn't support them supported for OS/2
94         and NT.
96         * doc/mc.sgml: "<tscreen><verb>" should not appear in mc.1 and
97         mc.hlp anymore.
99         * layout.c, main.c: "mc -a" is not supported for OS/2 and NT.
101         * configure.in: libtermcap is linked only if it is available and
102         needed.
104         * vfs/undelfs.c: umode_t is undefined before entering the kernel
105         headers, because the Linux kernel defines its own umode_t
107         * key.c: First left mouse click on xterm was interpreted as
108         a right click. Now event->buttons doesn't need to be initialized
109         (exactly as in liblow.c in libgpm)
111         * screen.c, key.c: Some routines were surrounded with HAVE_XVIEW.
112         HAVE_X is used instead since that code is not used in Tk and gnome
113         versions either.
115 Tue Jan 13 11:08:26 1998  Norbert Warmuth <k3190@fh-sw.de>
117         * lib/mc.menu: Bugs fixed caused by quoting the expanded %-macros
119 Fri Jan  9 20:33:14 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
121         * layout.h (get_other_panel): Define get_current_panel/get_other_panel
122         as macros that use the index stuff we used before.  I am getting
123         rid of this. 
124         
125         * gnome/glayout.c: Gnome code does not link with the layout.c
126         code, we use our own set of routines here.
128 Fri Jan  9 13:24:22 1998  Norbert Warmuth <k3190@fh-sw.de>
130         * vfs/extfs.c (extfs_get_path_from_entry): New function which maps
131         a struct extfs_entry to a local path inside the archive.
133         (extfs_open, extfs_close): Use the path to the resolved symlink
134         when making or storing a local copy of a file from the archive
135         (at least the zipfs doesn't follow symlinks).
137 Thu Jan  8 20:10:23 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
139         * main.c: Moved some edition specific code into the edition
140         specific routines (Tk, XView, Gnome and text).
142         * text.c: new file, has some of the text mode edition code bits. 
144 Sat Dec 6 23:24:23 1997   Yuri Kuzmenko <yuri@microsoft.kiev.ua>
146         * main.c: added -r command-line option. It removes
147         "The shell is already running a command" message in
148         
149 Thu Jan  7 14:50:00 1998  Norbert Warmuth <k3190@fh-sw.de>
150         * screen.c (panel_callback): Don't set h->grided to zero. The fix
151         in dlg.c (create_dlg) is sufficient.
152                
154 Wed Jan  7 17:55:40 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
155         * dlg.c (create_dlg): Initialize new_d->grided to zero.  [ Note:
156         Strange, very very strange, as this is supposedly initialized by
157         x_create_dialog from the D_GRID flag.  Mhm, wonder what is going
158         on there ].
160 Wed Jan  7 17:30:53 1998  Norbert Warmuth <k3190@fh-sw.de>
161         * screen.c (panel_callback): Initialize h->grided to zero.
163         * extfs.c: fix crash by using properly quoted file names to the
164         scripts. 
165         
166         * configure.in: INSTALL_PROGRAM mustn't be set explicitly. configure
167         adapts the path in INSTALL but not in INSTALL_PROGRAM and INSTALL_DATA
168         (adaption of the path is necessary when the compilation tree is
169         different from the source tree and mc/install-sh is used for
170         installation).
172 Tue Jan  6 18:10:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
174         * tkwidget.c (tk_new_command): 
176         There are two types of dialog boxes in the Tk edition: those that
177         are manually layed out (which have a layout_XXXX routine in
178         mc.tcl) and those that are layed out according to the information
179         generated by the GUI designer (gd.tcl).  The layout information
180         for the later are called gui.XXX.tcl, and they contain information
181         used for laying out widgets according to a table.
183         Now, dialogs that used the GUI designer, had their widgets labeled
184         (this label was recently used by the history code (and thus, some
185         widgets that did not have name, got names, which means that they
186         will be tried to be layed out with the wrong laying out routine).
188         The flag DLG_GRID is used when creating a dialog box that uses the
189         gui designer, so we store this variable now and use it when
190         creating the widgets.
191         
192 Tue Jan  6 18:07:24 1998  Norbert Warmuth <k3190@fh-sw.de>
194         * edit/edit.c (edit_load_file), editcmd.c (edit_save_as_cmd,
195         edit_save_cmd, edit_quit_cmd): Delete the edited file if we
196         created it in edit_load_file (e.g. mcedit <non-existing-file>)
197         and the file wasn't modified OR it wasn't saved.
199         * editcmd.c (my_open, pipe_mail): Deleted the external declaration
200         of errno (errno is delared in errno.h which is already included);
201         deleted the only reference to errno (I can't see it's purpose).
203 Mon Jan  5 13:11:54 1998  Norbert Warmuth <k3190@fh-sw.de>
205         * acconfig.h: Define HAVE_CRYPT when libcrypt or libcrypt_i are
206         available. AC_CHECK_FUNCS(crypt) defines HAVE_CRYPT but 
207         AC_CHECK_LIB(crypt, crypt) doesn't (the consequence were login
208         failures with mcserv). 
210         * configure.in: Define HAVE_SOCKET also when the function socket
211         isn't found in libc but in a other library.
213         Don't define HAVE_GETHOSTBYNAME by using AC_CHECK_FUNC instead of
214         AC_CHECK_FUNCS (we don't use this define and to be consistent we
215         would have to do the same as for HAVE_SOCKET and HAVE_CRYPT).
217         * doc/mc.in.1, doc/mc.sgml, mc.hlp: Updated the find-file entry
218         (the contents field is interpreted as regular expression).
220         * lib/mc.hint: Updated the information for lynx-style navigation.
222         * layout.c (layout_cmd): Removed de-reference of NULL-pointer in the
223         XView edition
225         * main.c (reload_panelized): Update the panel's summary information
227         * popt.c: removed references to alloca
229         * widget.c: more changes to prevent mxc from issuing characters 
230         on the console 
232         * vfs/Makefile.in: Install extfs/arfs from the source directory
233         and not from the compilation directory which lacks arfs if both
234         are different directories.
236         *vfs/extfs.c: Quote special characters before passing it to pipe.
238         (read_extfs_archive): List a symlink as normal file if the extfs-
239         script lists symlinks without providing the destination of the symlink 
240         (namely the zipfs caused coredumps) 
241         
242         * vfs/mcfs.c (mcfs_login_server): Close the socket after and not 
243         before it's last use.
245         * xv/Makefile.in: Some sourcefiles which depend on HAVE_XVIEW and
246         HAVE_X were not recompiled.
248         * xv/xvwidget.c (x_create_gauge): set the PANEL_CLIENT_DATA (other
249         parts of the code depend on it)
251         * lib/mc.ext.in: Added entry for ftplist-extfs
253         * user.c (expand_format): Added parameter which decides whether
254         expanded %-macros are quoted or not. 
255         Adapted every reference to "expand_format" for the additional 
256         parameter
258         * ext.c (exec_extension): Don't quote the result of expanded %-macros
259         when we use it internally (e.g. the parameters of %cd).
261         * util.c (name_quote): Quote backticks.
263         (fake_name_quote): New function used by exec_extension (I need this
264         function only because I was too lazy to recode exec_extension 
265         completely and wanted to avoid a lot of if-clauses).
267         * vfs/extfs/arfs, deb.in: Set LC_ALL to the C locale because we run
268         "date" and expect the output to be formated for this locale.
270         * vfs/extfs/*: Removed "eval" from the scripts because it made problems
271         with filenames which contain special characters, e.g. ', "
273         * vfs/extfs/ftplist.in: If mc is compiled with "-DWANT_PARSE" you
274         will be able to hit return in order to connect to ftp servers listed
275         in the ftplist-extfs.
277         * vfs/extfs/zip.in: Added support for symlinks in zip-files.
279 Tue Dec 30 15:20:13 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
281         * widget.c (button_new): We no longer require the hotkey and the
282         hotposition arguments, these are automatically computed from an
283         embedded "&" in the button text.  This is required for
284         internationalizing the program.
286         * achown.c (init_chown_advanced): Adhere to new button_new
287         convention.
288         
289         * achown.c, boxes.c, chmod.c, chown.c, file.c, find.c, wtools.c,
290         panelize.c, option.c, listmode.c, learn.c, layout.c, hotlist.c:
291         likewise.
293         * wtools.c (query_dialog): Do not use the first character as the
294         hotkey, clients now should use the widget "&" character.
295         
296 Tue Dec 30 15:06:52 1997  Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
298         * edit/: Many small changes preparing for internationalization.
300         * doc/: renamed the manual pages to include a .in, the manual
301         pages are now generated by configure.
303         * makimg definition INSTALL_PROGRAM depended on
304         --with[out]-debug. Default value INSTALL_PROGRAM is "${INSTALL}
305         -s" (striping binaries on installing), with --with-debug is
306         "${INSTALL}"
308         * tk/Makefile.in: Compiling the tk edition on first pass.
310         * mc.spec.in: Cosmetic changes.
311         
312 Tue Dec 30 14:30:09 1997  Pavel Roskin <pavel_roskin@geocities.com>
314         * vfs/extfs/arfs: UID and GID shell variables renamed because they
315         are read-only under Linux.
317         * configure.in: mxc can be compiled if even libXext is missing.
319         * main.c, layout.c: minor changes to prevent tkmc and mxc from
320         issuing some characters on the console. initscr is included into
321         init_curses. 
323 Tue Dec 30 14:28:54 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
325         * view.c (view_hook): Allow viewing links in quick view mode.
327 Tue Dec 23 13:19:36 1997  Norbert Warmuth <k3190@fh-sw.de>
329         * find.c (find_parameters): Don't quote special characters like (,
330         [ and | in the search string (Note: for egrep name_quote quotes
331         to many characters).
333 Mon Dec 22 15:28:25 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
335         * screen.c (panel_key, keymap): Alt-H is now only used to center 
336         the current selection if torben_fj_mode is on, this allows the
337         history to be used with Alt-h.
339 Mon Dec 22 15:14:22 1997  Pavel Roskin <pavel_roskin@geocities.com>
341         * mc.sgml, mc.1, mcedit.1, mc.hlp, main.c: gray and brightred
342         colors was not mentioned.
344         * ext.c: isspace is used instead of comparision with space and
345         tab. MC for NT has working internal viewer again (there was a
346         problem with parsing of mc.ext).
348         * find.c: improved look of dialogs for console and XView
349         versions. Hotkeys for edit ('e') and view ('v') work now.
351         * tree.c: NULL is no more used in define_label and
352         define_label_data. XView version can show the tree buttonbar
353         (which is not yet useful).
355         * many files in edit/, src/, nt/: added config.h where
356         needed. Minor fixes to prevent grp.h and pwd.h from including in
357         OS2 and NT version. Makefile.NT is updated. HAVE_TRACE determines
358         whether tracing in util.debug.c is enabled. 
360         * utilnt.c: canonicalize_pathname returns value. If MCHOME is not
361         defined, the directory is used, where mc.exe resides
363         * nt/drive.c: updated.
365         * nt/chmod.c: New button scheme is used.
366         
367         * nt/Makefile.NT, nt/Makefile.VC4: updated
369         * edit/wordproc.h: include config.h
371         * src/widget.c: after changing the label of a button, the dialog
372         is redrawn. 
373         
374 Mon Dec 22 15:12:50 1997  Alexander Romanyuk <alexr@krid.crimea.ua>
376         * edit/editcmd.c (edit_refresh_cmd): Use the same refresh code as
377         used in dlg.c
379 Mon Dec 22 14:56:26 1997  Bakeyev I. Timur timur@goff.comtat.kazan.su
381         * editcmd.c, editoptions.c: adjusted the buttons locations to work
382         with the new button code.
384 Mon Dec 22 14:43:16 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
386         * layout.c (setup_panels): If the keybar is not visible, then
387         reduce the size of the command input line. 
389         * ChangeLog: went back to old date format, I get confused with the
390         new date specification.  To make your emacs 20 work like this set:
392         (setq add-log-time-format 'current-time-string)
394 Mon Dec 22 14:43:16 1997  Norbert Warmuth <k3190@fh-sw.de>
396         * ext.c (FILE_CMD): Removed -- when invoking file because the file
397         command shipped with sco doesn't support the -- option
399         * util.c (name_quote): Names beginning with a dash will be prepended
400         with ./
402 Sun Dec 21 00:00:00 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
404         * cons.saver.c (detect_console): Do not check for root privileges.
405         Newer versions of Linux have a /dev/vcs, which should have the
406         user id permissions set correctly by login. 
408 1997-12-20  Miguel de Icaza  <miguel@nuclecu.unam.mx>
410         * docs: Updated Ching Hui's address to his new address:
411         mr854307@cs.nthu.edu.tw
413         * Added Norbert to some files, not complete though.
415 1997-12-19  Norbert Warmuth <k3190@fh-sw.de>
417         * popt.h (poptStrerror): Added workaround for systems lacking
418         strerror
420 1997-12-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
422         * ext.c (FILE_CMD): Include a -- when invoking file to avoid it
423         interpreting dashes on the filenames.
425 1997-12-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
427         * main.c (handle_args): Do not depend on optarg
429 1997-12-17  Norbert Warmuth <k3190@fh-sw.de>
431         * main.c (do_nc): Fixed wrong parameter count ('edit' takes two
432         parameters)
434 1997-12-21  Paul Sheer <psheer@icon.co.za>
436         * editcmd.c: Some dialog boxes did not have tknames for the
437         input histories. I've now check all the input widgets and all
438         seem to have adequite (i.e. unique) tknames.
440         * widget.c: Added a button to all input widgets that have a
441         reasonable width. You have a choice of two styles determined by
442         LARGE_HISTORY_BUTTON at compile time. I have set this to larger
443         style:  [^]  as apposed to the smaller style:  ^   i.e. a button
444         with an up arrow in it instead of just an arrow. I still am not
445         sure of the color scheme everyone would prefer. Should the
446         history button be the same as a regular button? This is
447         extremely cool, because even the commandline has a little button
448         to the right which you can click on for an input history.
450         * widget.c: input history listboxes that appear above the widget
451         now have the last line selected (most recent input) instead of
452         the first line (oldest input).
454         * whats with the new date style?
456 1997-12-16  Norbert Warmuth <k3190@fh-sw.de>
458         * configure.in: check for ext2fs/ext2fs.h and linux/ext2_fs.h
459         before enabling the undelfs (libext2fs alone isn't sufficient
460         for a successful compile of the file recovery code).
461         $withval isn't processed yet, i.e. --with-ext2undel and
462         --with-ext2undel=/usr/src/ext2fs are the same.
464         * edit/edit.c (edit): Added parameter, now it's possible to invoke
465         the internal editor and jump to the passed linenumber
467         * lib/mc.ext.in: removed the quotes which surrounded the %-macros
469         * cmd.c (do_edit_at_line): invoke the editor and in case of the
470         internal editor jump to the passed linenumber.
472         * ext.c (exec_extension), find.c (find_par_start), main.c (copy_tagged,
473         copy_prog_name), view.c (load_view_file): Added calls to name_quote
474         where appropiate, i.e. everything which is passed to the commandline
475         of a shell is passed to name_quote first
477         * file.c (find_file): Added a button to invoke the editor from
478         the results dialog.
480         * subshell.c (quote_directory): deleted
482         (do_subshell_chdir): use name_quote instead of quote_directory
484         * user.c (expand_format): pass expanded parameters to name_quote
486         * util.c (name_quote): prefix characters with special meaning to
487         the shell with '\' (I fear the current implementation is highly bash
488         specific);
489         when requested by the caller double percent signs (that's needed
490         when copying filenames to MC's commandline)
492         * tk/gui.mfind.tcl: Added button to invoke the editor
494 Mon Dec 22 11:21:17 1997  Bakeyev I. Timur timur@goff.comtat.kazan.su
496         * widget.c (button_new): Change number of parameters in function call.
497         Now, You need just specify button type and pure label name, without
498         ugly spaces and brackets. This allows to reuse same button name under X
499         versions of MC.
501         * button_callback: Add code, that draw proper button, dependently of
502         it's type.
504         * widget.h: Add constants for new types.
506         * query_dialog: Changes to handle new buttons, style overwritting.
508         * quick_dialog: Apropriate changes to show new buttons correctly, style
509         changing, ability to have default button.
511         * Mostly all dialog boxes was rewritten, to make their look similar
512         and a bit smoother :).
514 1997-12-16  Paul Sheer (psheer@icon.co.za)
516         * widget.c (history_put): Check for a tkname in a couple of extra
517         places. 
519 1997-12-16  Pavel Roskin <pavel_roskin@geocities.com>
521         * src/popt.c: Include config.h to get the HAVE_MMAP definition.
523 1997-12-15  Miguel de Icaza  <miguel@metropolis.nuclecu.unam.mx>
525         * file.c (file_mask_dialog): 
527 1997-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
529         * edit/editcmd.c: Provide tknames for the quick input lines 
530         on for search/replace and for the mail dialogs.
532         * src/widget.c (history_put): Do not manipulate the history for an
533         input line that lacks a tkname.
534         
535         * panel.h, screen.c (parse_display_format): Keep track of the
536         number of columns on the format.
538         * gscreen.c: Use GtkClist widget for representing the file
539         listing. 
541 1997-12-13  Paul Sheer (psheer@icon.co.za)
543         * src/widget.c: Add support for input line history
544         saving/restoring.
545         
546         * src/profile.c: add translate/untralste routines (required for
547         avoding the case where a newline is saved as part of the history
548         routines). 
550         Paul sent this as '\0200', I changed it to '\\', even if he told
551         me that it could have problems with Windows :-).  Blame me, not
552         him for this change.
554         * src/setup.c: Keep track of the number of history items stored.
555         
556         * src/command.c: add a tkname to the input line.
557         * src/file.c: add tknames for all of the input lines
558         * src/wtools.c: likewise.
559         
560 Thu Dec 11 11:37:47 1997  Alex I. Tkachenko (alex@bcs.zp.ua)
562         * src/view.c (load_view_file): remove unused variable; 
563         seek to the beginning of the file (since it gets advanced by the
564         zip-figure out routine).
566 Wed Dec 10 10:28:44 1997  Norbert Warmuth <k3190@fh-sw.de>
568         * widget.c (button_len): New function. Dependent of the type of
569         button (NORMAL_BUTTON, NARROW_BUTTON, DEFPUSH_BUTTON,
570         HIDDEN_BUTTON) calculate the amount of characters the button label
571         occupies. 
573         (button_new, button_settext): use button_len instead of strlen. 
574         
575         * main.c (handle_args): There were still references to variables
576         specific to getopt - replaced with the corresponding popt function
577         calls.  
578         
579         * dlg.c (frontend_run_dlg): changed the call to get_event because now 
580         it takes an additional parameter
582         * file.c (update_buttons): deleted
584         (check_buttons): Completly rewritten - check mouse and key events
585         nonblocking and process available events with the dialog manager.
587         (create_op_win): Added "Skip" and "Abort" buttons. Previously we 
588         handled these buttons completely without the dialog manager, i.e.
589         these buttons looked like buttons but we displayed them with addstr
590         and processed events (only keypresses) ourself.
591         Now these buttons can be selected with the mouse.
593         (file_mask_dialog): Changed the order in which the checkbuttons are
594         added to the dialog. Now when pressing tab the selection goes round
595         and round (Timur did a terrific job in fixing all the other dialogs).
597         * key.c (get_event): Added parameter to make it possible to select 
598         blocking or non-blocking behaviour (This change breaks the OS2 and NT 
599         version, sorry).
600         I need the non-blocking behaviour in check_buttons. Previously it
601         was only possible to check non-blocking for keypresses.
603         * key.h: changed declaration of get_event
605         * tk/gui.quick_file_mask_copy.tcl: Changed the order of the 
606         checkbuttons
608 Wed Dec 10 10:19:52 1997  Pavel Roskin <pavel_roskin@geocities.com>
610         * gnome/Makefile.in: popt.c is compiled with the gnome version
611            gwidget.c: clean_button is not needed anymore
612         
613         * user.c: filename of the global menu is calculated using
614              concat_dir_and_file instead of copy_strings
615         
616         * configure.in: use lynx if no browser for X is found
617           lib/mc.ext.in: mc uses the best browser available
618         
620 Mon Dec  8 07:20:34 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
622         * configure.in: allow to remove support for ext2-undel file system
623 Sat Dec 13 17:15:32 1997  Paul Sheer <psheer@icon.co.za>
625         * edit/edit.c, edit/*.c: updated editor code to match cooledit
626         sources.
628         * editoptions.c: Nice options dialog box.
630         * wordproc.c: wordprocessor like paragraph formatting for the
631         editor.
633 Fri Dec  5 23:13:30 1997  Yuri Kuzmenko <yuri@cracksoft.kiev.ua>
635         * find.c: fix the bug with unsaved in_contents field
637 Fri Dec  5 07:23:34 1997  Norbert Warmuth <k3190@fh-sw.de>
639         * main.c (do_execute): Don't advice the subshell to chdir into
640         non-local virtual filesystems.
642         (do_panel_cd): Stop filename search (C-s) when the directory is
643         changed.
645         (print_usage): this_dir and other_panel_dir were listed in
646         the wrong order.
648         (handle_args): The transition from getopt to popt wasn't complete (e.g
649         with "mc -u -s" this_dir and other_panel_dir were set to "-u"
650         and "-s").
651         
652 Mon Dec  1 05:35:00 1997  Norbert Warmuth <k3190@fh-sw.de>
654         * cmd.c (menu_edit_cmd): use concat_dir_and_file instead of
655         copy_strings
657         * util.c (set_int): enlarged the temporary buffer because the
658         ascii representation of an integer value can be greater than
659         five chars.
661         * file.c (file_mask_defaults): New function which sets the global
662         variables used by the copy and move file routines to a reasonable
663         default. Use file_mask_defaults when you don't want to call the
664         interactive file_mask_dialog.
665         Note: I know that always setting preserve_uidgid is redundant
666         for non-root when we keep the change in setup.c but I like it
667         this way better (everything set in one function without making
668         assumptions).
670         * setup.c (load_setup): removed the check for preserve_uidgid
671         which isn't longer necessary
673         * cmd.c (check_for_default), tree.c (tree_copy, tree_move): call
674         the new file_mask_defaults
676 Mon Dec  1 05:47:17 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
677         
678         * cmd.c (ext_cmd): use proper filenames for ~ and $MCLIB
680         * ext.c: likewise.
682 Mon Dec  1 05:14:41 1997  Alex Tkachenko <alex@bcs.zp.ua>
684         * popt.c: If mmap is not available, read the configuration file
685         into memory.
687 Sun Nov 30 18:11:18 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
689         * main.c: Tell the user about the new location of his
690         configuration files. 
692         * subshell.c (init_subshell): Use .bashrc if the .mc/bashrc file
693         does not exist.
695         * user.c (user_menu_cmd): Cleaned up the menu filenames.
697 Fri Nov 28 12:38:39 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
699         * main.c (print_usage): Include the long options now on the
700         listing. 
702         * mc.1, mc.sgml: Updated docs to new pathnames;  Unformized usage
703         of the $HOME and ~ usage in the docs.
705         * user.h (MC_MENU), main.h (MC_BASE), ext.h, ext.c, main.c,
706         tree.h, cmd.c, main.c (do_compatibility_move): Move the midnight
707         commander specific files into ~/.mc.
709 Thu Nov 27 22:07:34 1997  Erik Troan  <ewt@redhat.com>
711         * src/popt.c, src/popt.h: New files, long options argument parsing
712         module.
714         * src/main.c: Implement long options.
716 Thu Nov 27 19:14:33 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
718         * main.c (prepend_cwd): Prepend the directory only if the pathname
719         is a local pathname.
721         * configure.in: autodetect the ext2lib.
723         * mc.tcl: catch tk_popup output, there is a bug in tk 8.0
725         * util.c (get_current_wd): Replace HAVE_VFS with USE_VFS, thanks
726         to Pavel for submiting the relevant information.
728 Thu Nov 27 19:05:12 1997  Pavel Roskin <pavel_roskin@geocities.com>
730         * boxes.c: very small patch for src/boxes.c Some array was
731         incorrectly initialized, XV_WLAY_DONTCARE was at a wrong position.
733 Thu Nov 27 11:48:06 1997  Norbert Warmuth <k3190@fh-sw.de>
735         * vfs/tar.c (load_compressed_tar): Allocate the memory for the
736         uncompressed tar file after mc_doublepopen, i.e. when forking MC's
737         process size will be much lower (that's a win on systems without
738         memory over-commitment); Make a memory hole in size of 100k which
739         enlarges on some system the chance that free can give back memory
740         to the operating system when the memory for the tar file is freed.
742 Wed Nov 26 11:16:01 1997  Pavel Roskin <pavel_roskin@geocities.com>
744         * src/background.c, cons.handler.c, utilunix.c, extfs.c, tar.c:
745         Include sys/wait.h only if HAVE_SYS_WAIT_H is defined. 
747         * Makefile.NT, Makefile.VC4: Updated
749 Mon Nov 24 16:48:16 1997  Norbert Warmuth <k3190@fh-sw.de>
751         * file.c (copy_file_file): "preserve Attributes" didn't work when
752         fetching files with ftp.
754         * utilunix.c (init_groups): Check the return value of getpwuid(),
755         it can be NULL.
757 Fri Nov 21 18:08:54 1997  Pavel Roskin <pavel_roskin@geocities.com>
759         * view.c: Double escape on save dialog was save old changes. Now
760         it cancels quit.
761         
762         * key.c: get_key_code() returns ERR in tkmc version. This
763         preventsome SLang functions from linking with tkmc.
764         
765         * subshell.c: mc warns about unsuccessful directory change in
766         messagebox, not via fprintf().
767         
768         * help.h: help_follow_link() is declared here to prevent a warning
769         when compiling mxc.
770         
771         * tkmain.c: spelling error corrected. Internal viewer is
772         incomplete, but does work.
774 Fri Nov 21 16:46:44 1997  Norbert Warmuth <k3190@fh-sw.de>
776         * mountlist.c: For BSDI: Assume BSDI 2.1 if MOUNT_UFS is defined.
777         xBSD mustn't be defined to compile MC on BSDI 2.1.  Moved all
778         defines after the include files.
780 Thu Nov 13 12:24:23 1997  Norbert Warmuth <k3190@fh-sw.de>
782         * find.c: fix the bug introduces by Pavel's fix.  Goto a directory
783         which contains more files than the number of  files which fit into
784         the panel, select the last file, find one file, panelize the
785         search result and voila - coredump. 
787         * lib/mc.ext.in: added support for word2x and catdoc (disabled);
788         I'm not sure about the icon.
790 Wed Nov 19 12:51:51 1997  Alex Tkachenko <alex@bcs.zp.ua>
792         * setup.c (load_setup) ignoring preserve_uidgid config option
793         if called by non-root option.
794         
795         * doc/mc.1 doc/mc.sgml added notes for local menu files.
797 Tue Nov 11 11:51:57 1997  Norbert Warmuth <k3190@fh-sw.de>
799         * file.c (make_symlink): If the option Stable Symlinks is enabled
800         and either source or destination directory is on a non-local filesystem
801         an error message will be displayed and stable symlinks will be disabled.
802         Previously the error message was displayed for every symlink and
803         no link was created at the target directory.
805         * vfs/ftp.c (open_command_connection, resolve_symlink, retrieve_dir):
806         Added an unique inode number generator to avoid problems with the
807         cyclic link detection while copying files.
809 Mon Nov 10 21:41:53 1997  Miguel de Icaza  <miguel@nuclecu.unam.mx>
811         * dlg.c: Cleaned up the generic dlg code from backend specific
812         bits. 
814         * gmain.c, gwidget.c: GNOME versions of the main and widget bits. 
815         
816 Mon Nov 10 20:10:01 1997  Pavel Roskin <pavel_roskin@geocities.com>
818         * file.h: added missing declaration for erase_file
820         * find.c: try_to_select is not called if the find window is
821         canceled. 
823         * configure.in: support for using --without-gpm-mouse;
824         --with-gpm-mouse forces support for gpm.
826         * learn.c: MC crashed sometimes in the learn dialog because some
827         memory block was freed twice. Now fixed.
829         * tree.h, tree.c: tree_rescan_cmd is now void, no cast is needed.
831         * xv/Makefile.in: Target libedit.a was included twice. make
832         install tried to run mxc after installing.
834         * xv/xvicon.c, xv/xvscreen.c: ext.h is included for
835         regex_command. Old-style calls of regex_command are corrected.
837         * tk/mc.tcl: Procedure center_win was buggy. Requested width was
838         used as heigth and vice versa. Notably, viewer was incorrectly
839         "centered".
841         * 10) view.c: Debug printing in tk version is removed.
843 Mon Nov 10 11:34:57 1997  Alex I. Tkachenko alex@bcs.zp.ua
844         
845         * user.c: (user_menu_cmd) added possibility to use user-defined
846         menu from current directory first. Local menus are used only if
847         owned by user or root and are not group and world-writable.
849         * cmd.c: (menu_edit_cmd) reorganized to allow local menu editing
850         via pull-down menus. After editing local menu file it is assigned mode
851         0600.
853         * cmd.c: (compare_files) added code for thorough file comparison
854         by reading them by BUFSIZ blocks. compare_dirs_cmd - removed #ifdef's
855         for HAVE_MMAP, because everyone now can check file byte by byte.
857 Fri Nov  7 17:52:55 1997  Bakeyev I. Timur timur@goff.comtat.kazan.su 
859         * panel.h/screen.c: Changed highlight_mode variable to 2 separate
860         permission_mode and filetype_mode.
862         * setup.c: The same change for saving/restoring new variables.
864         * layout.c: Added 2 chechboxes to "Layout.." menu, to visualize
865         new variables changings.
868 Fri Nov  7 13:37:54 1997  Norbert Warmuth <k3190@fh-sw.de>
870         *  tk/Makefile.in: gui.quick_file_mask_copy.tcl was listed twice
871         in the variable GUIS.
873 Thu Nov  6 11:39:24 1997  Norbert Warmuth <k3190@fh-sw.de>
875         * lib/mc.ext.in: When calling lynx use %f instead of %p. %p fails
876         for non-anonymous ftp and we have to make a local copy anyways
877         because %f is used.
879         * slang/slang.h: Removed the definition of REAL_UNIX_SYSTEM for
880         AIX. It's not necessary any longer because the previous #ifdef
881         defines already REAL_UNIX_SYSTEM (if "unix" isn't defined it will
882         be defined in config.h).
883         That's a patch I haven't tested but I'm really sure it will not
884         break compile for AIX ;-).
886         * slang/slutty.c: The translation of return-value-from-cfgetospeed
887         to baud-rate was made with assumptions about the value of symbolic
888         constants (B0 is defined to 0, B50 to 1, B75 to 2, ...). This assumption
889         is wrong for BSDI. There was already a fix for this problem but
890         I made a more generic and IMO better fix.
892         (speed_t2baud_rate): New function. Translate the symbolic constants
893         B0, B50, B75, ... to the actual baud rate.
895         * hotlist.c (hotlist_button_callback): After moving entries the
896         hostlist wasn't marked as modified, i.e. it wasn't saved.
898         * util.c (is_gunzipable): added recognition of BZIP headers
900         * file.c (copy_file_file): chmod and utime was called on the
901         destination file even if it couldn't be created or when it was
902         read-only
904         * file.c (move_dir_dir, copy_dir_dir): When moving files cross
905         filesystem boundaries don't erase subdirectories unconditional,
906         erase only files which were copied successful.
907         Added an parameter to copy_dir_dir to indicate wheather successful
908         copied files should be added to a linked list (to be deleted by
909         move_dir_dir when the subdirectory was copied completly) or whether
910         successful copied files should be deleted immediatly (that's
911         implemented but not tested and there's no checkbox to activate it;
912         I will delete this piece of code if I can't find a place and name for
913         this option)
915         (erase_dir_iff_empty): New function. Delete an empty directory, don't
916         report an error if the directory isn't empty.
918         * utilunix.c (errno_dir_not_empty): use of errno was wrong, use err
919         instead.
921 Tue Nov  4 17:52:39 1997  Michael K. Johnson <johnsonm@redhat.com>
923         * vfs/mcserv.c: PAM code updated.
925 Tue Nov  4 13:01:52 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
927         * util.c (decompress_command_and_arg, decompress_command): new
928         commands that return the command that should be invoked to
929         decompress a file.
931         (is_gunzipable): return the compression type.
933         * tkkey.c (delete_select_channel): Moved the Tk key code.
935         * tkscreen.c: Make it work/compile with Tk 7 and Tk 8. 
937         (show_dir): Do not invoke the widget commands if the widget has
938         not been realized yet. 
940 Wed Oct 29 14:06:48 1997  Norbert Warmuth <k3190@fh-sw.de>
942         * vfs/extfs/rpm: We set LC_TIME back to C but the order in which
943         the environment variables are checked is this: LC_ALL, LC_CTYPE,
944         LANG.  This means if you set LC_ALL the setting of LC_CTYPE has no
945         effect.
947 Thu Oct 23 02:07:26 1997  mc@timur.kazan.su (Bakeyev I. Timur)
949         * boxes.c: Changes in "Listing mode" dialog box for handling 4
950         different user defined status lines, for each viewing type res-
951         pectively.
952         
953         * panel.h (WPanel): Add an array of strings to handle different
954         status lines.
955         
956         * setup.c (panel_save_setup/panel_load_setup): Some additions,
957         with the same purpose. Allows to save/load 4 user status lines.
958         (See above).
959         
960         * screen.c (panel_update_format/set_panel_format): This functions
961         was changed to new one - set_panel_formats() due doubling the code.
962         Also improve error handling in seting new formats.
963         
964         * main.c (listing_cmd), layout.c (panel_do_cols): Made apropriate
965         changes to use new set_panel_formats() instead of old ones. Clean error
966         handling in main.c - it was so buggy :) (My fault - allows to break
967         format strings and get fine blue panels after loading :).
968         
969         * screen.c: Some changes to handle new feature - different status lines,
970         code cleanup.
971         
972         * color.c, color.h: Delete sel_mark_color array - isn't necessary now.
973         
974         * tree.c, rxvt.c: Supprese some compilation warnings.
975         
976 Thu Oct 1 03:22:02 1997  mc@timur.kazan.su (Bakeyev I. Timur)
978         * files.c: Improve look of copy/move dialog. Fix screen breaks on
979         long directory filenames. Some other beautify :)
980         
981         * boxes.c: Slightly chaneged some buttons positions, order, names :)
982         Make dialogs look more standart. Little cleanups.
984 Mon Oct 27 13:26:55 1997  Norbert Warmuth <k3190@fh-sw.de>
986         * slint.c (slang_init): On BSD based systems ignore the C-y and
987         C-v special control characters. 
989 Mon Oct 27 13:24:28 1997  Steven N. Hirsch <shirsch@ibm.net>
991         * file.c: Restored the old defaults for attributes and follow
992         links: op_follow_links set to zero;  op_preserve set to one.
994 Fri Oct 24 12:50:56 1997  Norbert Warmuth <k3190@fh-sw.de>
996         * edit/editcmd.c (my_open): Deleted the extern declaration of errno.
997         It's bad habit to declare errno in the source file instead of
998         adding the correct include file. And it's wrong for multi threaded
999         applications [heh, got this patch twice ]
1001         * chwon.c (chown_cmd): getpwnam and getgrnam may return NULL if
1002         <Unknown> is selected. This was the last place in the code where
1003         the return values of this two functions were used without check.
1005         * tree.c (pathcmp): Added comments and a slightly improvement in
1006         speed which was suggested by "D. Hugh Redelmeier" <hugh@mimosa.com>.
1008         * wtools.c (query_dialog): Skip '[' when searching for a hotkey.
1009         The rename of buttons e.g. from " Yes " to "[ Yes ]" made some
1010         hotkeys disappear.
1012 Thu Oct 23 10:44:57 1997  Norbert Warmuth <k3190@fh-sw.de>
1014         * doc/mc.1, doc/mc.sgml, src/mc.hlp: updated in order to reflect MC's
1015         new behaviour when copying files
1017         * background.c (real_message_[123]s): Added the OperationMode
1018         (foreground/background) to the list of passed parameters.
1019         background_attention called these functions already with an
1020         additional parameter. It was passed as *first* parameter but
1021         the compiler couldn't find the wrong parameter passing because
1022         the function call was made indirectly by a function pointer.
1023         Prefix the title of dialog boxes for messages from the background
1024         process with " Background process:"
1026         * background.c (message_[123]s): Call real_message_[123]s with the
1027         additional parameter.
1029         * file.c: A lot of changes to make MC behave (as default) the same
1030         way as cp -R does. The new defaults:
1031         - respect the umask
1032         - follow links:  dereference symlinks and hardlinks, new: follow
1033         links to directories;
1034         follow links can be toggled for the source of copy with the option
1035         "follow links", it is always activated for the destination
1036         - don't preserve file date, file mode, UIDs, GIDs
1038         Note: the old defaults were:
1039         - don't respect the umask at all
1040         - don't follow symlinks (links in subdirectories were never followed
1041         even if the option "follow symlinks" was set)
1042         - always try to duplicate hardlinks as hardlinks
1043         - always preserve filemode and date of copied files
1045         Renamed the option "preserve UIDs/GIDs" to "preserve Attibutes"
1046         (anyone a better suggestion??). If set it means
1047         - preserve filemode and filedate for non-root and
1048         - preserve filemode, filedate and UIDs/GIDs for root.
1050         New features:
1051         - follow symlinks to directories
1052         - detect cyclyc symbolic links
1053         - detect when directories are copied into itself (it's better not
1054           to copy infinitly)
1055         - stable symlinks when moving files works
1056         - don't try to make stable symlinks across non-local filesystems
1058         * file.c (make_symlink): New function (cut out of copy_file_file)
1059         used to make symlinks resp. stable symlinks.
1061         * file.c (copy_file_file, copy_dir_dir): exchanged the calls to
1062         chown and chmod because chown might alter the file permissions.
1064         * file.c (file_mask_dialog): Removed options without effect from
1065         the file-move dialog (the old "follow symlinks", "preserve UIDs/GIDs").
1066         Now there are two different dialogs: file-move and file-copy (formerly
1067         the dialogs differed for root and non-root)
1069         * tk/gui.quick_file_mask.tcl, tk/gui.quick_file_mask_move.tcl: New
1070         files
1072         * tk/gui.quick_file_mask.tcl: deleted
1074 Mon Oct 20 18:11:39 1997  Norbert Warmuth <k3190@fh-sw.de>
1076         * slang/slutty.c (SLang_init_tty): Don't use fileno(stderr) for 
1077         terminal input. It may hang MC when viewing files (exact: when between 
1078         calls to open_error_pipe and close_error_pipe we try to get some 
1079         terminal input with SLang_getkey)
1081         * slint.c (slang_init): An independent fix for the same problem
1082         (needed when MC is linked against a slang library which was
1083         not built with the sources we ship with MC). 
1085         * key.c (init_key_input_fd): New function. Due to constraints in 
1086         the flow of execution I had to split init_key. init_key has to be 
1087         called before slint_init but a short piece of keyboard initialization
1088         has to be done after the call of slint_init).
1089         Also fixed: Since 4.0.8 it was also possible that we called
1090         select on different file descriptors to see whether there is
1091         new terminal input available.
1093 Mon Oct 20 18:05:00 1997  Manuel Sugawara <masm@deprof.fciencias.unam.mx>
1095         * edit/editcmd.c: add #include <errno.h>
1097 Mon Oct 20 14:45:50 1997  Cezary Sliwa <sliwa@blue.cft.edu.pl>
1099         * vfs/vfs.c (vfs_setup_wd): The bug in vfs_setup_wd caused "Couldn't
1100         change to ." messages, particularly when starting mc from '/'.
1101         Notice that an empty string in current_dir is equivalent to "/"
1102         (see vfs_canon), while after bare 'cd'p you're at home (see
1103         do_subshell_chdir).
1105         * src/subshell.c (quote_directory): Handle more cases.
1106         
1107 Sun Oct 19 10:26:43 1997 Paul Sheer
1109         * editcmd.c: last_search for forward replace doesn't decrement
1110         even when a replace with a smaller word shortens the file - fixed.
1113 Fri Oct 17 22:02:12 1997  Norbert Warmuth <k3190@fh-sw.de>
1115         * color.h: When not compiling with SLang use MARKED_SLECTED_COLORS
1116         from version 4.1.4 because the change in 4.1.5 is only applicable
1117         when compiling with SLang.
1119         * vfs/extfs.c (read_extfs_archive): On failure there were two
1120         missing calls to pclose
1122         * xv/Makefile.in: The new xpm-files in 4.1.5 were not added to
1123         Makefile.in. The result was that these files were missing in 4.1.5
1126 Thu Oct  9 13:22:43 1997  Norbert Warmuth <k3190@fh-sw.de>
1128         * editcmd.c (edit_load_macro_cmd): The macro-file was closed twice.
1129         Made it more robust against defective macro files, e.g. delete one
1130         non-space in the macro file and the rest of the file is skipped.
1131         That's IMO still not very good error handling but better than the
1132         endless loop we got before (to get the endless loop you had to delete
1133         chars at the right side of the colon).
1134         I hope this patch will also fix the bug reported by Paul Seelig
1135         <pseelig@goofy.zdv.Uni-Mainz.de>. Thanks for the help with debugging,
1136         Paul.
1139 Mon Oct 6 11:59:00 1997   bill@kayhay.com (Bill Davidson)
1141         *xv/xvmain.c (get_panel_color): Instead of passing this function a
1142         color map segment, we pass it a pointer to an Xv_Singlecolor,
1143         which we fill in.
1145         *xv/xvmain.c (xtoolkit_init): Set up an array of
1146         Xv_Singlecolor before calling get_panel_color().  Use this in
1147         creating a color map segment which is NOT a dynamic CMS.  Use
1148         pixmaps to create the icons at defaultDepth.
1150         *xv/xvmain.c (x_create_panel_container): Use pixmaps to create
1151         icons.
1153         *xv/xvinfo.c (x_setup_info): Use pixmap for mc_icon at defaultDepth.
1155         *xv/xvscreen.c (copymove_in_panel): Return type is void.
1157         *xv/xvscreen.c (user_drop): Return type is void.
1159         *xv/xvview.c (textsw_notify): Return type is void.
1161         *xv/xvview.c (create_frame): Added Quit button.
1163         *xv/xvview.c (x_quit_cmd): New function, callback for Quit button.
1165         *xv/pictures.h : dropped trailing commas from arrays.
1167         *xv/panel_icon.xpm: New file, defines panel_icon_xpm[].
1169         *xv/mc_icon.xpm: New file, defines mc_icon_xpm[].
1171         *xv/mc.icon: Cleaned up trailing commas, added null
1172         termination to mc_colors.
1174         *xv/Regular.xpm: New file, defines Regular_xpm[].
1176         *xv/Directory.xpm: New file, defines Directory_xpm[].
1178 Tue Oct  7 21:53:57 1997  Paul Sheer <psheer@icon.co.za>
1180         * edit/edit.c, edit/editcmd.c, edit/editwidget.c,
1181         edit/editmenu.c: updated the editor files to match the
1182         X version. This gives the editor backwards search and
1183         replace. Also, a mail command was added to mail the edit
1184         buffer.
1186 Thu Oct  2 12:37:00 1997  Pavel Roskin <pavel_roskin@geocities.com>
1188         * view.c: F17 works as "Next search". Improved look of the
1189         save dialog. Suppressed some warning about "incompatible
1190         pointer type"
1192         * cmd.c: Improved look of some dialogs (Mkdir, Filter, Filtered
1193         view)
1195 Wed Oct  1 11:25:49 1997  Norbert Warmuth <k3190@fh-sw.de>
1197         * learn.c (learn_button): The old code was wrong because `*seq <
1198         32 && *seq > 126' is always false. Now it is not possible to
1199         redefine characters from space to ~ (I think that's the range we
1200         should exclude from redefinition of single characters). 
1202 Mon Sep 22 12:35:53 1997  Norbert Warmuth <k3190@fh-sw.de>
1204         * aclocal.m4 (fp_PROG_CC_STDC): Removed all the checks but the one
1205         for HP-UX. I took over this macro from other gnu software without
1206         further investigation but it broke compilation with the native
1207         compiler on some systems (e.g. AIX). Now I take the opposite
1208         approach and add flags only when I definitly know they are needed.
1209         At the moment that's only for HP-UX the case.  When we know that
1210         some compiler need special flags we can add them later again.
1212 Tue Sep 16 16:39:39 1997  Pavel Roskin <pavel_roskin@geocities.com>
1214         * src/main.c: Pressing of "tab" correctly refreshes the command
1215         prompt.
1217         * configure.in: Syntax error is corrected (function AC_CHECK_LIB).
1218         Work-around for autoconf-2.12 bug is proposed. Two lines are just
1219         changed.
1221 Thu Sep 11 12:11:03 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1223         * vfs/ftpfs.c (login_server): Handle servers that do not ask for a
1224         password.
1226 Thu Sep 11 12:09:26 1997  Norbert Warmuth <k3190@fh-sw.de>
1228         * tree.h: Deleted check_sublevel from WTree's definition because
1229         it's not needed to recognice whether directory B is subdirectory
1230         of directory A (e.g. "/usr/src" and "/usr").
1232         * tree.c (pathcmp): New function ('strcmp for directories'). strcmp
1233         gives the wrong result in a few cases
1234         e.g. for strcmp ("mc/src", "mc.orig/src")
1236         * tree.c (tree_append_entry): Commented out and replaced with
1237         tree_add_entry to avoid strange results when an old (wrong sorted)
1238         .mc.tree-file is loaded. The negative effect is that it takes now
1239         a few us longer to display the tree the very first time.
1241         * tree.c (tree_copy, tree_move): The input dialog was a little
1242         bit to wide for 80-column-terminals.
1244         * tree.c (tree_callback): Disabled function-key F7 because mkdir
1245         is defunct in the directory tree.
1247         * tk/Makefile.in: Moved mad.o from OOBJ to LOBJ in order to stop
1248         bash (>= 2.0??) from complaining at the 'links' target.
1250 Fri Sep 5 10:03:41 1997  Norbert Warmuth <k3190@fh-sw.de>
1251         
1252         * file.c (check_buttons): Discard mouse events. Pressing the left
1253         mouse button caused abort of file operations when MC was run in a 
1254         XTerm.
1255         
1256 Thu Sep  4 12:08:53 1997  Matthias Moeller <mattes@ice.robin.de>
1258         * vfs/tar.c: From time to time MC isn't recognizing symlinks while
1259         extracting an archive. This is especially the case for some
1260         archives not built with GNU-Tar (e.g. the cdrecord archive).
1262         These archives don't set the symlink-flag in the header->mode
1263         field, but only the header->linkflag to LF_SYMLINK. The original
1264         GNU-Tar has no problems extracting these archives.
1266 Thu Sep  4 12:06:44 1997  Norbert Warmuth <k3190@fh-sw.de>
1268         * aclocal.m4 (fp_PROG_CC_STDC): The SVR4 option -Xc is also a valid
1269         option for Unixware 2.1. But it turnes some useful extensions off 
1270         which are on by default. I extented the macro to avoid this.
1272         * main.c (handle_args): New option -k to enable reset of HP softkeys
1274         * slint.c (slang_reset_softkeys): New function only useful with HP 
1275         terminals which program the function keys. It is activated with the -k 
1276         commandline option. Thanks to GianPiero Puccioni <gip@fox.ino.it>
1277         for testing.
1279         * slint.c (getch): Removed the DEC_8BIT_HACK completely because I
1280         think we don't need it. The initial motivation behind this hack has 
1281         to do with VTxxx terminal which are in eight bit mode and use some 
1282         characters between 128 and 159 as control characters.  We can control 
1283         with the display-bits dialog which characters are displayed and so
1284         I think we don't need the DEC_8BIT_HACK (it can break the mouse in
1285         XTerms when buttons are pressed and the position is in either direction
1286         between 128 and 159).
1288         * vfs/tar.c (read_header): Some tar-files contain symbolic links
1289         without S_IFLNK set in the mode field. I don't know whether this is
1290         a feature or a bug but I use the header's linkflag to add the missing 
1291         information to the mode field (same for S_IFCHR, S_IFBLK and S_IFIFO
1292         but I'm not really sure if this is necessary). 
1294 Wed Aug 27 22:33:42 1997  mc@timur.kazan.su (Bakeyev I. Timur)
1296         * screen.c (panel_new): Use DEFAULT_USER_FORMAT:
1298         * mc.sgml: fix typos.
1300 Thu Aug 28 10:38:40 1997  Liviu Daia <daia@stoilow.imar.ro>
1302         * util.c (icase_search): searching in the internal viewer didn't
1303         find patterns containing troff formating sequences - fixed.
1305         * view.c (regexp_view_search): replaced re_search() and
1306         re_match() with a single call to regexec().
1308         * view.c (regexp_view_search): made regexp matching case
1309         sensitive only when the search pattern contains upper case
1310         characters - new.
1312 Thu Aug 28 19:22:54 1997  Liviu Daia <daia@stoilow.imar.ro>
1314         * edit/editcmd.c: separated searching by regexp from the scanf
1315         stuff.
1317         * edit/editcmd.c: Regexp search recognized ^ only if it was the
1318         first character in the pattern - fixed.
1320         * edit/editcmd.c: Regexp search didn't handle empty patterns
1321         correctly - fixed.
1323 Wed Aug 20 17:29:12 1997  Norbert Warmuth <k3190@fh-sw.de>
1325         * main.c (setup_dummy_mc): Setup a more complete MC for mcedit
1326         and mc -v to avoid coredumps on screen resize. I think that's
1327         the best way to handle this bug.
1329         * view.c (do_view_init): filtered_view_cmd invokes the internal
1330         viewer with command != 0 and with file == "".
1331         With the wrong Parse/Raw option (set with F8 when viewing the
1332         former file) MC tried to open the file "" - fixed.
1334         * util.c (strip_password, strip_home_and_password): handle pathes
1335         like ftp://host/abc:defg@hij correct
1337         * find.c (do_find): when searched for content the chdir button
1338         didn't work - fixed.
1340         * util.c (strip_password): New function used to remove the password
1341         from a path (persons storing passwords in the hotlist just
1342         don't want to see plain passwords on top of the panel). Currently
1343         strip_password is only used by strip_home_and_password.
1344         Note: Everything between : and @ is removed, i.e. strip_password
1345         has to be called without ftp:// and mc:. I have not added checks
1346         already done in strip_home_and_password. As soon as strip_password
1347         is called from somewhere it should be reconsidered where to add
1348         the checks.
1350         * util.c, util.h, screen.c (show_dir): Renamed strip_home to
1351         strip_home_and_password
1353         * util.c (icase_search): Use toupper for the case-insensitive
1354         compare to make icase_search aware of national characters.
1356 Thu Aug 14 00:17:40 1997  Norbert Warmuth <k3190@fh-sw.de>
1358         * slang/slgetkey.c: Commented SLang_input_pending and SLang_getkey out
1359         because in order to enable input of characters from 128 to 159
1360         I have to remove the DEC_8BIT_HACK from SLang_getkey. And because
1361         I don't want any diffrence when compiling with a shared slang library
1362         and our slang I moved as much as necessary to slint.c and then
1363         made the change in slint.c. (SLang_input_pending only moved to be
1364         sure it is using the correct SLang_getkey).
1365         Perhaps I should give up the attempt to make MC compile with a
1366         system installed slang library?!?
1368         * slint.c: New functions SLang_input_pending2 and SLang_getkey2 with
1369         the same functionality without the DEC_8BIT_HACK
1371         * slint.c (getch): use SLang_getkey2/SLang_input_pending2
1373         * file.c (copy_dir_dir): preserve access and modification time of
1374         copied directories
1376         * file.c (panel_operate, real_query_recursive): The logic of
1377         know_what_am_i_doing was wrong i.e. the configuration option
1378         "safeDelete" did the opposite as it pretented. I renamed the variable
1379         and every reference to match the setting of "safeDelete".
1380         When deleting files the yes/no query defaults to yes when "safe Delete"
1381         isn't checked.
1382         The query defaults to no when safeDelete is checked and recursive
1383         recursive deleting of directories gets very difficult.
1385         * myslang.h (initscr): In order to make the -a option work we have
1386         to reset SLtt_Has_Alt_Charset after every call to SLtt_get_terminfo.
1389 Mon Aug 11 12:11:53 1997  Norbert Warmuth <k3190@fh-sw.de>
1391         * acconfig.h, config.h.in: Define 'unix' because some Compiler don't
1392         define it and SLang requires it.
1394         * configure.in, aclocal.m4 (fp_PROG_CC_STDC): new macro to check 
1395         whether an option is needed to put the C Compiler into ANSI C mode
1396         (as suggested by GianPiero Puccioni <gip@fox.ino.it>)
1398         * cmd.c (view_other_cmd): Disable/enable keypad when switching
1399         panel's off/on with C-o (this fix is supposed to solve the problem
1400         with cursor keys in an xterm reported by Paul Seelig 
1401         <pseelig@goofy.zdv.Uni-Mainz.de>
1403         * main.c (handle_args): Replaced -m option with an error message
1404         because first we can set in in the option's menu and second load_setup
1405         will possibly override a given -m later.
1406         Removed the obsolete -N option.
1407         Added option -a in order to force +, |, - used as line drawing 
1408         characters when compiled with slang. Useful for persons not wanting
1409         to modify their terminfo databases (Thanks to GianPiero Puccioni 
1410         <gip@fox.ino.it> for this suggestion).
1412         * slint.c (slang_init): Force slang to use +, |, - when the option -a
1413         is given.
1415         * tk/tkscreen.c (x_fill_panel), xv/xvscreen.c (xv_insert_panel_item,
1416         xv_panel_repaint_item): Necessary changes due to Timur's new screen 
1417         code i.e. make Tk and XView version compile.
1419 Mon Aug  4 01:20:42 1997   mc@timur.kazan.su (Bakeyev I. Timur)
1421         * panel.h (format_e): add new fields: next - pointer to the next
1422         element in the list; id - pointer to the token identificator.
1424         (WPanel): Current display format placed in the linked
1425         list with header pointed by *format. The similar list used to hold
1426         status info display string in *status_format. fmt_count is now obsolete, deleted.
1428         Added #define for current line display mode, deleted
1429         set_attr() as unneccesary, add extra parametrs to repaint_file()
1430         and format_file(), new function mini_status_format() and variable
1431         highlight_mode added. (See screen.c)
1433         * screen.c (set_attr): deleted, now uses attrset.
1435         (mini_info_brief): absolutly fixed :), deleted. See below.
1437         * Rewritten display format string handling. Array changed to
1438         linked list. Mini status format string also keeps in list. Unified
1439         parse_display_format() and parse_panel_size() to hold both
1440         cases. Other functions (paint_dir(),paint_frame() and other) works
1441         with list.
1443         * (mini_status_format): new function. Currently, each
1444         display format has apropriate default mini status display format.
1446         * (add_permission_string): new function. New feature: if
1447         highligh_mode > 0 permission string displays with highlighted user
1448         access rights.
1450         * (normal_color): new function. New feature: if highligh_mode=2,
1451         then each file type highlights with it's own color.
1453         * (delete_format): new function. Destruct format linked list.
1455         * (string_file_size_brief), (string_dot): new functions. First
1456         gives size for files and "SUB-DIR" for directories. Second simply
1457         adds "dot" to the tokens in format string. (Try
1458         ">owner,dot,<group"). Also add "bsize" and "dot" to formats.
1460         * (repaint_file): add extra parameters, color choosen here.
1462         * (format_file): here we actually do output to the screen and make
1463         highlighting.
1465         * (display_mini_info): delete currently unneccesary 3 calls to
1466         parse_display_format per line.
1468         * (parse_display_format()): fix some problems in parsing and
1469         rewrite it to creat linked list.
1471         * color.h, color.c: add 6 new color pairs: input - for input
1472         fields, directory, execute, link, special, device - for type
1473         highlighting.
1475         * info.c, tree.c: change calls to set_attr to attrset.
1477         * main.c (listing_cmd): slightly changed, to parse both user
1478         defined display format and mini status format at the same time
1479         (due other changes).
1481         * main.c: add calls to init_groups and delete_groups for
1482         initialization and destruction list of groups, to which user
1483         belongs, for proper access highlighting.
1485         * setup.c: add highligh_mode to mc.ini.
1487         * util.h, utilunix.c: add functions init_groups, delete_groups,
1488         get_user_rights to proper detection user access
1489         rights. get_user_rights returns 0, if accessable on user level, 1
1490         - on group, 2 - as other.
1492 Tue Aug  5 11:33:23 1997  Alex Tkachenko <alex@bcs.zp.ua>
1494         * configure.in, vfs/local.c: autodetection of statlstat() added
1495         
1496         * slang/sldisply.c: TIOCGWINSIZ ifdef'ed to exclude window
1497         resize on SCO (there is no struct winsize defined). Maybe someone
1498         could explain, why they have it defined in termio.h, but only
1499         for _IBCS2 define; and TIOCGWINSIZ defined unconditionally?
1500         
1501         * src/cons.hanler.c, slang/sldisply.c: little cosmetic changes
1502         to remove compiler warnings
1504 Tue Aug  5 08:48:21 1997  Fernando Alegre <alegre@debian.org>
1506         * Debian viewer now handles both pre and post tar-1.12 formats
1508 Mon Aug  4 18:27:43 1997  T.E. Dickey <dickey@clark.net>
1510         * change declaration of keyok() to 'int' rather than 'void'.
1512         * configure.in: add test for 'resizeterm()' and 'keyok()' (I did
1513           test builds against ncurses 4.1, 4.0, and 1.9.9e).
1515           Btw, I tested resizing on SunOS 4.1, with both ncurses and slang. 
1516           Your application handles a few resizing events before getting hung
1517           (this is not related to the libraries - perhaps you should
1518           investigate it further).
1520         * Makefile.in: remove a couple of items from the distclean rule
1521           that don't correspond to generated files.
1523         * resize (supported in NCURSES 4.0)
1525         * mouse (supported in NCURSES since 1.9.6, but not compatible with MC
1526           -- the simplest solution is to turn off the mouse code in NCURSES so
1527           that MC can do what it wants.  I've constructed a patch that will do
1528           this - the function will be in the next release of NCURSES; it was a
1529           minor item on my list, so I did it this week to get MC working).
1531         * some configure nits (if ncurses is installed as curses, your script
1532           does the wrong thing).
1534         * vt100-style codes for F1-F4 (you'll need these for the XFree86 xterm)
1536         * add some stuff to the "make distclean" rule, so it _is_ clean.
1537           (Otherwise I waste time making the patch).
1539         * initialized a variable in menu.c (your program dumped core while I
1540           was testing the mouse events).
1541           
1542 Mon Aug  4 18:24:25 1997  Alexander Dong (ado@software-ag.de)
1544         * edit/edit.c, editcmd.c: changes for handling ^M.
1546         * nt/config.h: updates
1548         * slang/myslang.h: some constants that are used by the Windows and
1549         OS/2 ports are here.
1551         * nt/utilnt.c: New way of executing programs.  Use _P_NOWAIT in
1552         the spawn invocation for win16 and win32 applications.
1554         (unixlike_canonicalize_pathname): Do manual canonicalizing needed
1555         for some VFS fucntions. 
1557 Mon Aug  4 17:48:39 1997  Norbert Warmuth <k3190@fh-sw.de>
1559         * configure.in: My last patch wasn't complete. I forgot to delete a
1560         few lines in order to make it work the way I want.
1562         * slang/Makefile.in: Removed a few defines which are no longer needed.
1564         * slang/sltermin.c: Renamed SLtt_try_termcap to SLtt_Try_Termcap within
1565         Ching Hui fixes for AIX and OSF/1 (the new slang source had this 
1566         change).
1568         * cmd.c: Don't include edit/edit.h because it defines open to mc_open
1569         but mmap remains mmap. This broke the compare directories command
1570         (thorough compare). 
1572         * cons.saver.h: When HAVE_X is defined replace all the console-stuff
1573         with no-ops. I think the TK and XView version don't need to save and
1574         restore consoles.
1576         * main.c (init_menu): In the menues use Above/Below instead of Left/
1577         Right when the panels are horizontally split (only non X version).
1578         Made init_menu and done_menu non-static because they are used in 
1579         layout.c.
1581         * layout.c (layout_change): Make a new menubar in case the vertical/
1582         horizontal split changed.
1584         * main.c (sigchld_handler_no_subshell): Body of function commented out
1585         for XView and TK version.
1587         * main.c (main): Moved OS_Setup before xtoolkit_init to avoid using of
1588         mc_home == 0 (mc_home is set in OS_Setup).
1590         * myslang.h: A few definitions were wrong causing keys not to work.
1592         * screen.c (start_search), tree.c (start_search): The filename search 
1593         (C-s, M-s) didn't wrap around when hitting C-s again and the panel's 
1594         last filename and one more file matched the search string.
1596         * screen.c (panel_callback): Always define the label for the F1 key
1597         on WIDGET_INIT and WIDGET_FOCUS (with one panel in tree mode only the
1598         help for the directory tree was displayed furthermore).
1600         * view.c (view_callback): When v was renamed to i (because the 
1601         parameter v was hidden by a local variable) one location was forgotton 
1602         to change.      
1604         * tk/Makefile.in, xv/Makefile.in: Don't link with cons.saver.o.
1605         Re-arranged a few object files in order to compile the TK and XView 
1606         version without the console save/restore stuff.
1609 Thu Jul 31 12:57:01 1997  Norbert Warmuth <k3190@fh-sw.de>
1611         * slang/sltermin.c: Put Ching Hui's AIX and OSF/1 workarounds into
1612         the code again again.
1613         
1614         * boxes.c (tree): Add a buttonbar to the tree-box in order to
1615         make it possible to redefine the function keys in the tree-widget
1617         * main.c (tree_box): Change to the selected directory as described
1618         in the online help.
1620         * tree.c (tree_keymap): Activated the C-r key for the tree box
1621         (with a panel in tree mode C-r did already something, but with
1622         the tree invoked with Command/Directory tree  C-r and all function
1623         keys did not work)
1625         * configure.in: First check for a system installed SLang library,
1626         then check for --with-terminfo and --with-termap, i.e. we compile
1627         the SLang code ourself when --with-terminfo, --with-termcap or
1628         --with-our-slang is given (regardles whether there is a system
1629         installed SLang library or not)
1631         * conv.handler.c: The recent rxvt patch removed the definition of
1632         console_flag on some systems
1634 Thu Jul 31 12:29:44 1997  Jurij Ivliev <yury@win.kazan.su>
1636         * setup.c (options): add entry for use_8th_bit_as_meta flag
1637         to save it in .mc.ini
1639         * boxes.c (display_widgets): add entry for changing
1640         use_8th_bit_as_meta flag via "Display bits" dialog box.
1642         * boxes.c (display_bits_box): add handling for that entry.
1643         It's will possible 8-bits input on/off easy instead -m command
1644         line option.
1646 Fri Jul 25 17:38:11 1997  timur@goff.comtat.kazan.su (Bakeyev I. Timur)
1648         * screen.c (string_file_size): Use %ld instead of %d to sprintf
1649         the file size.
1650         
1651 Thu Jul 24 20:01:42 1997  Norbert Warmuth <k3190@fh-sw.de>
1653         * main.c (do_panel_cd): Make the code compile without USE_VFS defined.
1654         Reversed a former change (setting panel->cwd before the call to 
1655         mc_chdir) because it broke the password dialog for ftpfs and mcfs.
1656         Stamp the old filesystem (mc_chdir can't stamp it because it thinks
1657         the old directory is still in use).
1659         * main.c (do_nc): After destroying cpanel and opanel set cpanel zero
1660         to avoid vfs_add_noncurrent_stamps from using them.
1662         * screen.c (do_enter): Make the code compile without USE_VFS defined.
1664         * vfs/extfs.c (extfs_get_path, extfs_close), vfs/tarfs.c 
1665         (tarfs_get_path, tarfs_close): Fixed memory leaks
1667         * vfs/vfs.c (vfs_addstamp): Reversed the order in which stamps are
1668         stored in the linked list so the last added stamp is first checked
1669         for timeout. That's only needed for embedded virtual file systems
1670         in order to try to free the vfs resources in a more reasonable 
1671         order.
1672         When using the variable parent make a new copy of the list it points
1673         to. That make's it easier for the caller function to decide whether
1674         it should free parent or not. 
1676         * vfs/vfs.c (vfs_rm_parents): New function, free the list of parent
1677         vfs's
1679         * vfs/vfs.c (vfs_rmstamp): use vfs_rm_parents to free the list of
1680         parents
1682         * vfs/vfs.c (vfs_ncs_getid): made non-static because needed in main.c
1684         * vfs/vfs.c (is_parent): Check a vfs whether it's in a given list of
1685         parents
1687         * vfs/vfs.c (vfs_add_noncurrent_stamps): Added current_dir to the
1688         directories to check when deciding whether to add a given vfs to
1689         the timeout structure or not
1691         * vfs/vfs.c (vfs_stamp_path): Stamp the parent file systems, too.
1693         * vfs/vfs.c (vfs_shut): Set stamps to zero before walking through
1694         the list because freeing the filesystems can add new stamps and
1695         the now reveresed ordered stamp list caused an endless loop.
1697         * main.c (jump2dotdot): Addapted and reused the OS2_NT version for
1698         use with unix. Now the directory tree command of the Command menu
1699         switches to the parent directory of the selected directory.
1701         * vfs/ftpfs.c (ftpfs_close): On error don't set ftpfs_errno because
1702         it's already set by store_file.
1704         * vfs/vfs.c (mc_close): Return error when mc_close is called the
1705         second time with the same handle (happens e.g when storing a file
1706         to an ftpfs without having the permissions and selecting Retry in
1707         the error dialog)
1708         Set errno when the lower layer reports an error.
1710 Tue Jul 22 12:14:21 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1712         * file.c (copy_file_file): Nicer and fixed bps display.
1714         * view.c (view_callback), edit.c (edit_callback): Warning fix, use
1715         void * for the prototype, cast them to the right type inside the
1716         function.
1718 Mon Jul 21 07:48:33 1997  Norbert Warmuth <k3190@fh-sw.de>
1720         * key.c (get_event): removed typo which caused busy waiting when
1721         leaving a vfs and MC used with mouse
1723 Fri Jul 18 10:11:01 1997  Norbert Warmuth <k3190@fh-sw.de>
1725         * boxes.c (cd_dialog): Don't use the commandline widget to callculate
1726         the y-Position of the quick-cd dialog because cmdline->y is 0 when
1727         there is no commandline.
1729         * vfs/names.c (finduid, findgid): For a cache-hit in the uid/gid-cache
1730         a value of zero was returned because the cache-content was always
1731         destroyed at top of finduid/findgid.
1734 Wed Jul 23 18:43:57 1997 Alex Tkachenko (alex@bcs.zp.ua)
1736         * editcmd.c restored national chars support, broken with recent
1737        editor patches
1739 Wed Jul 23 18:43:57 1997 Alex Tkachenko (alex@bcs.zp.ua)
1741         * editcmd.c restored national chars support, broken with recent
1742         editor patches
1744 Wed Jul 23 18:43:57 1997 Alex Tkachenko (alex@bcs.zp.ua)
1746         * editcmd.c restored national chars support, broken with recent
1747         editor patches
1749 Mon Jul 21 14:25:55 1997  Alexander Dong (ado@software-ag.de)
1751         * editcmd.c (edit_help_cmd), cmd.c, dlg.c, ext.c, main.c, setup.c,
1752         tree.c, user.c, view.c: Do not use LIBDIR for accessing the
1753         information on the disk, instead use the the mc_home variable,
1754         which is setup differently for Unix and Windows/OS/2 machines:  On
1755         UNIX, it still is LIBDIR, on Windows/OS/2 it uses the value of
1756         MCHOME.  [This should be changed to use argv [0] -- miguel]
1758         * nt/utilnt.c (conv_nt_unx_rc, mc_unlink): New function
1759         For Windows 95 and NT, files should be able to be deleted even
1760         if they don't have write-protection. We should build a question box
1761         like: Delete anyway? Yes <No> All
1763         removed the beep messages from the vfs code.
1765         * src/drive.h: add prototypes for drive commands.
1766         
1767         * os2/util.os2.c: implement getinstalldir ();
1769 Mon Jul 21 14:25:55 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1771         * util.c, utilunix.c, key.c: Make the code compile on both libc5
1772         and gnu libc setups.  Thanks to dvelp@dds.nl (Willem de Vries)
1773         and ewt@redhat.com (Erik Troan) for pointing the solution.
1775 Sun Jul 20 21:15:55 1997  Bakeyev I. Timur <timur@goff.comtat.kazan.su>
1777         * view.c (grow_string_buffer): This may be called with a null
1778         pointer to grow.  Fix this condition. 
1780 Mon Jul 14 12:34:08 1997  Juan Grigera  <j-grigera@usa.net>
1782      * edit/editcmd.c:  (Win32) added O_TEXT flag to file I/O -CR/LF translation
1784 Sun Jul 20 13:22:16 1997  Paul Sheer <psheer@icon.co.za>
1786         * edit/edit.c, editcmd.c, editwidget.c, editmenu.c, editdraw.c,
1787         edit.h, editcmddef.h: This patch (on 4.0.4) updates the editor
1788         code to match the X Window version. Features added:
1789             - On saving, chown() file to the same as when it was loaded.
1790             - Backups on save are now created if the option is set. A
1791                         "Save Mode" dialog was added bu Oleg (see next
1792                         entry), as well as the support routines.
1793             - Various new movement and editing commands added:
1794                 o Delete to eol.
1795                 o Delete to bol.
1796                 o Paragraph move up/down.
1797                 o Move to top/bottom of screen.
1798               (Key bindings for these new features are only available
1799                for the X Windows version. But will soon be added.)
1800             - Highlights the matching bracket under the cursor.
1801             - OS2_NT check defines are moved to the edit.h file.
1802                         Please try keep any defines in the file under
1803                         the section
1804                             "/* put OS2/NT/WIN95 defines here */"
1805                         unless essential, so that this will also
1806                         compile for X.
1807             - Fixed scanf search/replace. This now works properly,
1808                         where it never used to find the match length
1809                         before.
1810             - Doc updates.
1811             - The remainder of the changes are only applicable to the
1812                         X Window version.
1814 Sun Jul 20 13:26:53 1997  Oleg Yu. Repin <repin@ssd.sscc.ru>
1816         edit/editcmd.c: Added save mode feature (see above entry).
1818 Thu Jul 10 11:33:05 1997  Norbert Warmuth <k3190@fh-sw.de>
1820         * edit/edit.h: Added stdarg.h because I need it to compile MC
1821         under SunOS without SLang.
1822         
1823         * edit/editcmd.h (edit_refresh_cmd): When compiling without
1824         SLang SLsmg_touch_lines() isn't defined. Fixed.
1826         * main.c (main): Take the value of the LC_CTYPE locale from
1827         the environment because at program startup each category is 
1828         initialized to the locale described by the environment "C"
1829         (see setlocale(3C)).
1830         Now control-left, control-right and control-backspace handle
1831         words with national characters correct, i.e. they are only
1832         handled correct on a system with non-broken locale support.
1834 Wed Jul  9 10:48:28 1997  Juan Grigera  <j-grigera@usa.net>
1836         * view.c (do_view_init): Init the save_start as well.
1838         * complete.c (command_completion_function): Use new PATH_ENV_SEP,
1839         on Windows/NT and OS/2 this is ';' on Unix this is ':'
1840         
1841 Thu Jul  3 23:07:56 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1843         * achown.c (do_enter_key): Ugh, getpwnam/getgrnam may return NULL
1844         if <Unknown> is selected.  Reported by Federico Mena (quartic@nuclecu).
1846 Thu Jul  3 18:58:02 1997  Norbert Warmuth <k3190@fh-sw.de>
1848         * main.c (subshell_chdir): vfs_add_non_current_stamps needs to
1849         know the current directory in any panel. Formerly it used
1850         current_dir and opanel->cwd to get this information but it
1851         was possible that current_dir and opanel->cwd were the same.
1852         I changed vfs_add_non_current_stamps to use cpanel->cwd and
1853         opanel->cwd but now I have to set cpanel->cwd before the
1854         call of mc_chdir.
1856         * vfs/ftpfs.c (changetype): Always send the command "TYPE I"
1857         when changing to binary transfer mode, even if MC thinks the
1858         connection is already in binary mode (bucket->isbinary == 1).
1859         There was a problem when transfering files in background. Hmm,
1860         I think there's still a problem because my fix cures only a
1861         symptom.
1863         * vfs/vfs.c (vfs_add_non_current_stamps): patches to fix a bug 
1864         with releasing a vfs still in use. Thanks to Alex I. Tkachenko
1865         who helped to fix this bug.
1866         Do not time out the old vfs if it is current in any panel or if
1867         it is a parent in any panel, e.g. while browsing a tar-file on
1868         an ftp filesystem the tarfs is 'current' and the ftpfs is it's
1869         'parent'.  
1870         Use cpanel->cwd and opanel->cwd instead of current_dir and
1871         opanel->cwd to get the information which vfs's are current in
1872         any panel because it's possible that current_dir and opanel->cwd
1873         are the same (then the vfs for cpanel->cwd was timed out).
1875 Thu Jul  3 18:56:46 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1877         * main.c (handle_args): Add support for jumping into the editor if
1878         the program is invoked as 'mcview'.
1880 Mon Jul  7 17:03:15 1997  Ingo Brueckl <ib@wupperonline.de>
1882         * slang/sltermin.c: find compiled terminfo database under
1883         /usr/{,local/}share/terminfo which is default for ncurses 4.1
1885 Thu Jul  3 20:00:10 1997  Ingo Brueckl <ib@wupperonline.de>
1887         * src/setup.c, src/setup.h: load new profile string 'color_terminals'
1888         from mc.ini which is a list of terminals that support color and force
1889         mc to start in color mode
1891         * src/slint.c: use new profile string 'color_terminals' (if found in
1892         mc.ini) instead of hard-coded string 'color_terminals' but fall back
1893         to hard-coded string if new profile string is empty
1895 Tue Jul  1 12:17:08 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1897         * file.c (file_bps_show): report KBS, MBS and BPS.
1899 Mon Jun 30 11:44:13 1997  D. J. Hawkey Jr. <hawkeyd@visi.com>
1901         * src/boxes.c, src/widget.c: add the proper return value.
1903         * src/fsuage.c, src/mountlist.c, src/utilunix.c: Add support for QNX.
1905 Mon Jun 30 23:18:52 1997 Alex Tkachenko <alex@bcs.zp.ua>
1907         * edit/editcmd.c (edit_find_string): fixed search of chars > 128
1909         * acconfig.h configure.in src/find.c: an ability of grep to
1910         accept dash to denote stdin is now handled by configure. Also
1911         -lintl added to LIBS to avoid SCO (maybe not only :) problems
1912         with nls chars
1914 Thu Jun 26 20:56:03 1997  Ralf Gutzeit <ralf.gutzeit@weisswasser.de>
1916         * src/file.c (file_bps_show): added display for the current
1917         line quality during ftp. It's just a modified version from the
1918         function file_eta_show to display a BPS-rate during file transfer
1919         in the line below the ETA-display. Now the stalled_msg appears in
1920         the third line under the ETA-display.
1922 Thu Jun 26 20:39:54 1997  Norbert Warmuth <k3190@fh-sw.de>
1924         * vfs/tar.c (read_header): check len before using it as index
1925         with len-1
1927         * vfs/vfs.c (vfs_add_noncurrent_stamps): I did some copy and
1928         paste and forgot to adapt the variable names :-(
1930         * vfs/vfs.c (vfs_shut): There was a pointer used after it was
1931         freed.
1933 Mon Jun 23 11:08:56 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1935         * mountlist.c (read_filesystem_treat OpenBSD and NetBSD as the
1936         same thing.
1938 Fri Jun 20 12:02:30 1997  Norbert Warmuth <k3190@fh-sw.de>
1940         * vfs/extfs.c (extfs_get_path, extfs_close), vfs/tar.c (tarfs_get_path,
1941         tarfs_close): initialize parent->next with NULL, the vfs code
1942         depends on it
1944         * file.c (copy_dir_dir): preserve uid and gid of copied direcories
1945         if Preserve UIDs/GIDs in the copy dialog is checked
1947 Mon Jun 16 12:36:41 1997  Alexander Dong (ado@software-ag.de)
1949         * os2: Improvement in my_system () to start Windows, DOS and OS/2
1950         programs.
1951         
1952         * show_output_starts_shell in mc.ini enabled for OS/2-version.
1953         * Enable CTRL-O
1954         * Bug fix for Windows 95 (fprintf(\r\n) instead of \n)
1956 Wed Jun 11 17:25:21 1997  Norbert Warmuth <k3190@fh-sw.de>
1958         * ftpfs.h, ftpfs.c (changetype): store the transfer type (ASCII/Binary)
1959         at a connection basis
1961 Tue Jun 10 11:37:11 1997  Norbert Warmuth <k3190@fh-sw.de>
1963         * screen.c, widget.c: changed some defines from HAVE_X to HAVE_TK
1964         (e.g the XView code didn't want to provide a 'tk_evalf')
1966         * xv/Makefile.in: added missing dirhist.o to the list of objects,
1967         changed the order of the libs in the final makestep because I got
1968         undefined references with SunOS
1970         * xv/xvaction.c: added missing #define "mad.h"
1972         * xv/xvmenu.c: changed menubar_event from static to nonstatic
1973         because the internal editor wants to call it (note the internal
1974         editor isn't working with XView)
1976         * vfs/ext/a: New Perl version of this script.
1978         * src/info.c: remove the call to my_statfs in info_new because
1979         my_statfs is always called before the information is displayed
1980         (in function info_show_info).
1982 Mon Jun  9 18:36:51 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1984         * file.c (panel_operate): Put back the old behaviour.
1986 Wed Jun  4 17:11:23 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
1988         * file.c: highlight the proper hotkeys.
1990         * cons.saver: it is no longer compiled/linker with the -N flag, as
1991         discussed on the mailing list.
1993 Wed Jun  4 17:08:13 1997  Andrej Borsenkow <borsenkow.msk@sni.de>
1995         * info.c (info_new): my_statfs() was called before mount list was
1996         initialized It seems to also fix the problem with symbolic
1997         links across filesystems in Info view. Strange ...
1999         * file.c (panel_operate): Default in Delete dialog changed to "No"
2000         (after I lost a file ;-) Note, that RecursiveDelete dialog
2001         defaults to "No" as well - it seems to be reasonable.
2003         * mcserv.c (signal_int_handler): Added dummy parameter to keep
2004         ANSI compilers happy. All other signale handlers define it as well.
2006         * miscellanious changes to add neccessary casts/remove unneeded
2007         ones; trailing comma in enum declarations removed.  Again to
2008         overcome problems with ANSI compilers.
2010 Wed Jun  4 16:58:34 1997  Alexander Dong (ado@software-ag.de)
2012         * main.c (tree_box): OS/2 and Windows NT use this routine.
2014 Thu May 29 15:25:19 1997  Andrej Borsenkow <borsenkow.msk@sni.de>
2016         * vfs/vfs.c (vfs_canon): Fixed the "local:" vfs handling
2018 Thu May 29 14:30:50 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>
2020         * cmd.c (do_edit): Reread also when invoking the internal editor.
2022 Tue May 27 21:10:53 1997  Norbert Warmuth <k3190@fh-sw.de>
2024         * configure.in: remove typo
2026         * lib/xnc.hlp, src/mc.hlp: corrected the two ascii chars ^A, ^B
2027         and ^C with the corresponding control chars
2029 Mon May 26 13:20:56 1997  Alex Tkachenko (alex@bcs.zaporizhzhe.ua)
2031         * vfs/extfs.c, src/ext.c, vfs/tar.c, etc, etc: added waitpid() after
2032         pclose() for SCO_FLAVOR, to avoid spawning of zombie process 
2033         (mostly while using external filesystem features)
2035         * src/main.c: added fflush() to get shell display prompt before
2036         saving console contents
2038         * console handler for sco added
2040         * src/view.c: hex editor feature enabled via loading entire file
2041         into memory for those who don't have mmap() call.
2043         * src/cmd.c DUSUM_USEB and DUSUM_FACTOR #undef'ed to get this
2044         code working for SCO (3.2v4).
2045         
2046         * src/cmd.c, src/panelize.c: a workaround provided for sco 3.2v4 bug
2047         in pclose() implementation. Return value ignored.
2048         
2049         * vfs/extfs.c: a workaround provided for sco bug in system() call
2050         implementation  - it reports an error while it seems to be allright.
2051         Return value silently ignored.
2053         * many small fixes to let more smooth compiling on sco 3.2v4.2.
2054         These avoid annoying gcc warnings about scopes of struct declarations
2055         and redefining of struct timeval.
2057 Fri May 23 18:33:23 1997  Alexander Dong (ado@software-ag.de)
2059         * os2/drive.os2.c, nt/drive.nt.c: fixes.
2061 Fri May 23 13:56:15 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2063         * file.c (copy_file_file): Oops.  uidgid and the original modes
2064         were not restored when the file was a character device, a block
2065         device a fifo or a socket.
2067         * cmd.c (do_edit): Reload the panel information after calling the
2068         internal editor.
2070         * tcputil.c (rpc_get): implement RPC_LIMITED_STRING.  Same as
2071         RPC_STRING, but if the string is bigger than 16k, it silently
2072         aborts.  This should prevent a denial of service attack. 
2074 Wed May 21 21:32:41 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2076         * complete.c (try_complete): Bug fix.  Free the proper pointer.
2077         Same problem that Bernhard found, in a different location.  Grep
2078         does wonders.
2080 Wed May 21 21:19:58 1997  Bernhard Sadlowski <sadlowsk@mathematik.uni-bielefeld.de>
2082         * command.c (do_cd_command): Bug fix.  Free the proper pointer.
2083         This fixed the cd "xxxx" problem.
2085 Mon May 19 12:07:39 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>
2087         * mc.spec: small bug fixes.
2089         * lib/mcserv.init: use the -d flag for starting the daemon.
2091 Mon May 19 10:38:39 1997  Oleg Yu. Repin <repin@ssd.sscc.ru>
2093         * util.c (is_printable): Add explicit set of printable characters
2094         for xterm. Viewing binaries should not crash mc for now.
2096 Fri May 16 17:35:59 1997  Alexander Dong (ado@software-ag.de)
2098         * src/main.c: Added new -S flag on Windows and OS/2 platforms:
2099         this will create a batch file that can change the parent's default
2100         directory and disk (equivalente to the Unix mc function and the
2101         -P flag).
2103         * nt/slint.nt.c, os2/slint.os2.c: slang_set_raw_mode stubs,
2104         according to the may/14 change.
2106 Fri May 16 16:46:06 1997  Norbert Warmuth <k3190@fh-sw.de>
2108         * edit/editwidget.c: Fixes editor keybar redisplay.
2110         * tk/tkslint.c: Provide new function.
2112 Fri May 16 16:42:18 1997  Tomasz K³oczko, <kloczek@rudy.mif.pg.gda.pl>
2114         * mc.spec: New spec file, this packages mc, mcserv and tkmc.
2116         * lib/mcserv.init, lib/mc.sh, lib/mcserv.pamd: added
2117         
2118         * vfs/ext/rpm: instead using sed and rpm -qpi use rpm queries,
2119         more info currently displayed (changeslogs, Os, URL, packager 
2121 Tue May 13 18:14:49 1997  Wojtek Pilorz <wpilorz@bdk.lublin.pl>
2123         * vfs/Makefile.in (INSTALL_PROGRAM): Use -m flag for install to
2124         force vfs scripts to be executable on those systems that use
2125         install.sh 
2127         * src/utilunix.c: Implement socketpair for SCO flavored systems.
2128         
2129 Wed May 14 18:07:09 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2131         * myslang.h (raw): Make raw an alias for slang_set_raw_mode, which
2132         will set the raw mode.  This should fix Hugh's problem.
2134 Wed May 14 17:18:59 1997  Alexander Dong (ado@software-ag.de)
2136         * nt/chmod.nt.c: Updated the code to use the new file book-keeping
2137         routines from Norbert.
2139         * os2/chmod.os2.c: same here
2140         
2141 Wed May 14 14:57:41 1997  Norbert Warmuth <k3190@fh-sw.de>
2143         * */Makefile.in: Made the target distclean work (the Makefile
2144         was used with 'make realclean' after it has been deleted).
2146         * vfs/Makefile.in: Fixes needed for --with-debug
2148         * tk/Makefile.in: After a successful build create an empty file
2149         which make can check against (this prevents make from linking tkmc 
2150         every time)
2152         * src/dirhist.h: Moved '#include "mad.h"' a few lines down (when
2153         compiled with --with-debug there was a conflict with stdlib.h on 
2154         SunOS 5.4)
2156 Mon May 12 10:37:37 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2158         * setup.c (load_setup): We don't want to load the private version
2159         of the .mc.ini file.
2161 Tue May 13 18:43:13 1997  Paul Sheer       <psheer@icon.co.za>
2163         * editcmd.c: edit_find_string(): now checks if regexp has '^'
2164         proper.
2166 Fri May  9 14:53:07 1997  Norbert Warmuth <k3190@fh-sw.de>
2168         * src/*: Use do_file_mark to mark and unmark files in order to
2169         update the summary information the right way i.e. I hope that
2170         the repored negative numbers in the mini-status are something
2171         of the past.
2172         In particular replaced lots of occurances of file_mark with
2173         do_file_mark and removed the local calculation of panel->total
2174         etc. which was not always done the same way in every file.
2175         * src/main.c (parse_control_file): Additionally use unmark_files
2176         to unmark all files
2178         * src/screen.c (do_file_mark, do_mark_file): Moved the code to
2179         repaint the changed file from do_file_mark to do_mark_file.
2180         The first one was only called from the second one and from the
2181         XView code and the latter does not use the moved code.
2182         I had to do it in order to avoid a check if the file is 'within
2183         the display' at the moment.
2185         * src/screen.c (panel_reload): clear panel->dirs_marked
2187         * src/find.c (find_files), src/panelize.c (do_external_panelize):
2188         Set cpanel->has_dir_sizes to 0 when clearing the counters
2190         * doc/mc.1: Fixed wrong URL
2192         * src/mfmt: Changed the return value of main from void to
2193         int and return 0. I made this stupid change a while ago when
2194         I wanted to get rid of a compiler warning (if you have two
2195         possibilities the probability to do it the wrong way is at
2196         least 60%).
2198         * vfs/ftpfs.c (ftpfs_done): Close the logfile
2200 Fri May  9 14:41:33 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2202         * view.c (display): Two lines were on the wrong place.  This cause
2203         the growing buffers to stop displaying before of time.
2205 Thu May  8 11:35:24 1997  Sung-Hyun Nam <namsh@amuna.rms.lgic.co.kr>
2207         * file.c (file_eta_show): Correct ETA computation.
2209 Sat May 10 13:32:55 1997  Ingo Brueckl <ib@wupperonline.de>
2211         * main.c, main.h, boxes.c, setup.c, screen.c (do_enter): Added an
2212         extra confirmation 'confirm_execute' to be used when pressing enter
2213         on a file to execute it.
2215 Tue May  6 12:51:35 1997  roryt@hol.gr (I.Ioannou)
2217         * view.c (display, view_handle_key): Added an option to display a
2218         ruler in the built-in viewer.
2220 Tue May  6 12:26:31 1997  Norbert Warmuth <k3190@fh-sw.de>
2222         * hotlist.c (hotlist_callback): Added the possibility to copy the
2223         directory path to the command line (C-Enter, M-Enter).
2225         One could jump from the active VFS list to the hotlist (with the
2226         left curser key) - fixed.
2228         * hotlist.c (init_hotlist): The active VFS list showed the help
2229         for the hotlist. Now it shows 'Can't find node [vfshot] in help file'
2230         (not much better but maybe someone will write a few lines for
2231         the man page?).
2233         * hotlist.c (hotlist_cmd, load_hotlist, save_hotlist, hotlist_done):
2234         Check the modification time of ~/.mc.hot and reload the hotlist when
2235         ~/.mc.hot is newer than the hotlist in memory.
2236         Save the hotlist after every change.
2238         * hotlist.c (hotlist_done): Reset all necessary variables to make
2239         a hotlist reload possible.
2241         * screen.c (panel_callback): When changing the panel the current
2242         directory on top of each panel remained highlighted unil C-r was
2243         pressed. There was a change for the tk version (in 3.5.17 I think)
2244         which caused this.
2246         * mcserv.c (do_readlink): the returnvalue of readlink was used
2247         without check as an index. On failure the line  'buffer[-1] = 0'
2248         was executed.
2250         * vfs/undelfs.c: The undelfs could not handle the '..' entry. That   
2251         became a problem when I ensured that every directory listing contains
2252         a '..' (e.g. hitting F3 on that entry caused a segfault).
2254         Another problem only showed up when the 'Fast dir reload' option was
2255         activated (an unnecessary warning message was displayed).
2257         Once more I used the opportunity to cleanup the code a little bit.
2258         I changed the type for inodes to ino_t (some were already of type
2259         ino_t, some not), made it possible to free all malloced memory, fixed
2260         memory leaks and inserted the undelfs in the vfs timeout scheme, i.e.
2261         the malloced memory is freed automaticly when the undelfs isn't used
2262         within the vfs timeout.
2264         * vfs/undelfs.c (undelfs_shutdown): Filled the formerly empty body
2265         with something useful i.e. free memory and shut down the ext2 utility.
2267         * vfs/undelfs.c (undelfs_loaddel): Added ext2fs_close_inode_scan
2269         * vfs/undelfs.c (com_err, undelfs_readdir): Fixed an incorrect sprintf
2270         format specifier (to be honest it was not incorrect at least for the
2271         intel x86 architecture due to sizeof (int) == sizeof (long) ).
2273         * vfs/undelfs.c (undelfs_opendir): Now it's possible that the pointer
2274         ext2_fname becomes 0 so I had to consider this case.
2275         Fixed an incorrect sprintf format specifier
2277         * vfs/undelfs.c (undelfs_open, undelfs_close): Keep in mind for the
2278         timeout thing if there are open files in the undelfs (I don't think
2279         that this is really necessary but I made the changes in correpondence
2280         to the the solution in other vfs filesystems).
2282         * vfs/undelfs.c (undelfs_lstat): Do a simple check if the filename
2283         to stat is valid (this removes a harmless warning message when
2284         undlefs_stat is called from save_cwd_stats).
2286         * vfs/undelfs.c (undelfs_getid, undelfs_nothingisopen, undelfs_free):
2287         Adapted for the vfs timeout
2289         * vfs/vfs.c (vfs_canon): Recognice 'undel:/dev/sda1/..' as '/' (needed
2290         to go out of the undelfs with 'cd ..' or to stat 'undel:/dev/sda1/..'
2292         * vfs/vfs.c (vfs_shut): fixed a memory leak
2294 Mon May  5 18:40:28 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2296         * vfs/utilvfs.c (get_host_and_username): Rewrote it completely.
2297         Now it is clearer and should handle some problematic cases it did
2298         not handle very well before.  It comes with a small test suite as
2299         well. 
2301 Fri May  9 11:13:59 1997  Paul Sheer       <psheer@icon.co.za>
2303         * edit.c, main.c, setup.c: editor_word_wrap_line_length option
2304         added, and a function to do word wrap.
2306         * mcedit.1 updated.
2308 Fri May  2 13:14:13 1997  Norbert Warmuth <k3190@fh-sw.de>
2310         * util.c (diff_two_paths): Fixed two typos and a too small size
2311         calculation for one malloc-call.
2312         'Stable Symlinks' in the filecopy-dialog works now. In the
2313         filemove-dialog both 'follow Symlinks' and 'Stable Symlinks'
2314         don't work.
2316         * file.c (move_file_file): name_trunc returns a pointer to
2317         a static array. That makes problems when something is done
2318         like 'foo (name_trunc (a,10), name_trunc (b,10));`.
2319         Juan corrcted one occurance of this error and I checked the
2320         other sources and found another one.
2322         * find.c (find_file): Panelizing in the find dialog didn't work
2323         if the selection in the listbox wasn't on a found file but on
2324         one of the entries which shows the found files' directories.
2326         * view.c (do_view_init): Initialize view->last (there was a
2327         problem when viewing files with a starting line number e.g
2328         from the find file dialog)
2330         * view.c (view_ok_to_quit): Added missing return value
2332         * tk/tkscreen.h: The whole file was duplicated.
2334         * FAQ, INSTALL, README, doc/mcedit.1, doc/mcserv.8, lib/mc.hint:
2335         Corrected wrong URLs
2337         * doc/mc.1, doc/mc.sgml: Corrected wrong URLs, removed the outdated
2338         entry '8-bit clean' (this option disappeared somewhen in 3.5.X).
2340         * src/TODO: removed outdated information about '8-bit clean'
2342 Fri May  2 13:11:31 1997  Paul Sheer       <psheer@icon.co.za>
2344         * edit/: Updated to latest cooledit sources.
2346 Fri May  2 13:09:58 1997  Migue l de Icaza  <miguel@athena.nuclecu.unam.mx>
2348         * find.c (locate_egrep): Search the egrep program instead of using
2349         a hardcoded value.
2351 Fri May  2 12:21:31 1997  roryt@hol.gr (I.Ioannou)
2352         
2353         * configure.in: SCO needs to use _SVID3 to compile.  Otherwise the
2354         fsusage routine complains.
2356 Tue Apr 29 18:10:42 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2359 Tue Apr 29 18:03:09 1997  Christofer Edvardsen <jce@kuai.se>
2361         * vfs/utilvfs.c (get_host_and_username): Allow the login name to
2362         have a password as well. 
2364 Tue Apr 29 17:42:53 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2366         * replaced all the occurences of:
2367             copy_strings (d, PATH_SEP_STR, f, NULL)
2368         with a call to the concat_dir_and_file which do a copy_strings
2369         of d, f if d has a trailing "/" or a copy_strings of 
2370         d, PATH_SEP_STR, f if not.  This cleans up some code and make s
2371         the code work just fine on OS/2 and Windows/NT. 
2373         * boxes.c: Adjusted the listbox size, some test code went out. 
2375         * hotlist.c (save_hotlist): Set the file permission of the file to
2376         the one from the backup file.  This is for added security for
2377         those guys keeping passwords on their .mc.hot file.
2379 Tue Apr 29 17:41:13 1997  Alexander Dong   <ado@software-ag.de>
2381         * src/dlg.c: On Windows NT RISC editions (for Alpha, PPC and
2382         MIPS), the functions have a heading-code which calculates the real
2383         address of the function.  So, instead of testing pointer
2384         addresses for checking if we are dealing with an input line, we
2385         use the W_IS_INPUT flag in the widget options menu.
2387         * nt: I have changed the function drive_cmd for Windows NT so that
2388         it can display a more beautiful drive-select-window. This change
2389         also fixes a problem with more than 5 drives.
2391         * os2: misc updates to all of the files.  (Alexander, could you
2392         send me ChangeLogs for your changes/).
2393         
2394 Fri May  2 12:38:07 1997  Paul Sheer       <psheer@icon.co.za>
2396         * edit/*: Lotsa changes. Basically:
2397             - Whole lot of tabbing options added.
2398             - Sort command added.
2399             - Spell command added.
2401 Mon Apr 28 14:52:03 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2403         * boxes.c (JOBS_X): Added dialog box for controlling the
2404         background jobs.
2406         * main.c: C-x j is bound to the job control dialog box. 
2408 Sun Apr 20 11:04:09 1997  Alexander Dong   <ado@software-ag.de>
2410         * profile.c (load): Add fclose(f).
2412         * util.c (strcasecmp): change char to int.
2414         * cmd.c (do_edit): Default editor changed for NT and OS/2
2416         * dir.c (case_sensitive): Case insensitive for OS/2 and NT.
2418         * file.c (copy_file_file): Check for st_ino and st_dev for NT and
2419         OS/2 diabled.
2421         * info.c (info_show_info): check the wrong value for st_dev on
2422           NT and OS/2.
2424         * main.c (do_execute): disable control_file for OS/2.
2426         * screen.c (do_search): Case insensitive search for OS/2 and NT.
2428         * tree.c (load_tree): Changes to enable the tree file to be read
2429           correctly.
2431         * Add many changes for OS/2. (Change drive left and right ...)
2433         * Seperate set of files (*.os2.*) for OS/2.
2435 Fri Apr 18 16:44:12 1997  Wojtek Pilorz <wpilorz@bdk.lublin.pl>
2437         * mc.ext.in: Replace %f with quoted '%f'.
2439 Wed Apr 16 13:56:38 1997  Alexander Dong <ado@software-ag.de>
2441         * Contributed OS2 port of Midnight Commander.
2443         * config.h: new macro OS2_NT: defined if compiling under OS2 or
2444         Windows 95/NT.
2446 Wed Apr 16 11:47:14 1997  Pawel T. Jochym <ptj@pkpf.if.uj.edu.pl>
2448         * util.h: fixed prototypes for SGI compilation.
2450 Mon Apr 14 21:38:04 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2452         * view.c (view_ok_to_quit): New function.  Allows cancelation of
2453         the quit command when there changes have been made to the file.  
2455         (view_handle_key): catch quit events as well and allow the user to
2456         save the file.
2458         * vfs/ftpfs.c (select_on_two): Timeout after 1 second.
2459         
2460         * file.c: Added estimated time of arrival for ftp file systems and
2461         stalled condition detection messages.
2463 Mon Apr 14 11:59:13 1997  Juan Grigera  <grigera@isis.unlp.edu.ar>
2465         * vfs/vfs.h: Use bug fix version on NT of rename and mkdir.
2466         
2467         * file.c (files_error): we were clobbering the return value of one
2468         of the names displayed.
2470         * slang.h: Updated to new version.
2472         * main.c (handle_args): fix: background_wait is only available
2473         if the program is compiled with WITH_BACKGROUND
2475 Thu Apr 10 00:39:38 1997  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
2477         * mouse.c (init_mouse): Use MCKEY_MOUSE as the magic key code
2478         returned by the xterm mouse sequence instead of zero.
2479         
2480         key.c (get_event): Check for MCKEY_MOUSE as a return value from
2481         getch_with_delay instead of assuming return value == 0 => mouse
2482         event. 
2484         Paul: Control-space now passes a zero properly to your editor
2485         widget. 
2487 Wed Apr  9 23:01:44 1997  Juan Grigera  <grigera@isis.unlp.edu.ar>
2489         * nt/config.h: NT has HAVE_FCNTL_H
2491         * nt/util.Win32.h: Definition to make a distinction between
2492         Windows NT and 95.
2494         * nt/utilnt.c: call set console title on Windows 95.
2495         Choose the proper shell depending on the Windows version.
2497         mc_rmdir: implement a Windows 95 version.
2498         mc_rename: same.
2499         
2500 Tue Apr  8 19:05:37 1997  Jim Smelansky <jim@axis.donetsk.ua>
2502         * mc.ext.in: rexx, wavww, rar and dbf additions.
2504         * extfs/rar: new updated version
2506 Mon Mar 31 21:06:56 1997  Norbert Warmuth <k3190@fh-sw.de>
2508         * vfs/ftpfs.c: Removed the no-op macro 'wipe_password'. There is
2509         a function wipe_password in src/util.c which overrides a string
2510         with zero and frees the previously malloced pointer.
2512         Fixed memory leaks, prevent freeing of NULL pointers
2514         * view.c (regexp_view_search): Avoid freeing a pointer more than
2515         once when entering wrong regular expressions on the search dialog.
2517         * view.c (regexp_search, normal_search): Fixed memory leaks, removed
2518         some statements which had no effect
2520 Mon Mar 17 12:03:50 1997  Norbert Warmuth <k3190@fh-sw.de>
2522         * configure.in (--with-hsc): fix.
2523         
2524         * vfs/ftpfs.c (ftpfs_get_proxy_host_and_port): Fixed wrong parameter
2525         passing (HSC_DEFAULT_PORT was passed as pointer to char instead of
2526         passing it as integer)
2528 Sun Mar 16 15:13:08 1997  Michele Marziani <marziani@axpfe1.fe.infn.it>
2530         * mc.ext.in (html): When invoking lynx use -force_html;  
2531         When calling netscape or lynx, use %f instead of %p.
2532         (type/compress): detect compressed files as well.
2534 Tue Mar 11 11:32:59 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2536         * widget.c (key_left): Add support for control-left, control-right
2537         in WInputs.
2539         * main.c (do_execute): Decouple the dependency of the vfs on the
2540         subshell. 
2542         * file.c (copy_dir_dir): Do not create the directory if it already
2543         exists.
2545 Fri Feb 28 11:49:56 1997  Norbert Warmuth <k3190@fh-sw.de>
2547         * src/*, vfs/*: Removed compiler warnings about missing prototypes,
2548         unused variables, etc.
2550         * tk/*: Removed compiler warnings about missing prototypes and
2551         wrong/missing return values
2553         * tk/tkinfo.h, tk/tkscreen.h, tk/tkwidget.h: New files with
2554         prototypes needed by src/* (tk edition)
2556         * mfmt.c (main), tk/tkinfo.c (x_show_info): Corrected wrong
2557         parameter count in one function call
2559         * tk/tkwidget.c (x_create_gauge): Changed the returntype from
2560         void to int because the return value is used by gauge_callback.
2562 Thu Feb 27 17:50:22 1997  Paul Sheer       <psheer@icon.co.za>
2564         * tk/tkscreen.c: new compute_font_size function created to
2565         work with tcl/tk8.0.
2567         * edit/edit*: emacs key binding option added. Can be envoked
2568         with edit_key_emulation=1 in the ini file. 0 is normal keys.
2570         * mcedit.1: updated
2571         
2572 Wed Feb 26 11:41:18 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2574         * key.c (get_event): Now it returns either a key sequence code or
2575         EV_NONE or EV_MOUSE.  These were already implemented but were
2576         hardcoded to the constants -1 and 0 respectively.  This allows the
2577         C-@ key to be processed.
2579 Tue Feb 25 20:21:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>
2581         * extfs/lha: Updated the lha filesystem and included a command
2582         for running an executable from within an lha archive suggested
2583         by Zdenek Kabelac <kabi@informatics.muni.cz>
2585         * extfs/: Renamed cpio, deb, rar, rpm as *.in files and altered
2586         config.in to create these VFS's for cleaner compilation 
2587         
2588 Sun Feb 23 14:52:12 1997  Joseph M. Hinkle <jhinkle@rockisland.com>
2590         * mcedit.1, mc.sgml, mc.1: Spelling fixes to the internal editor
2591         documentation. 
2593 Sun Feb 23 20:00:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>
2595         * src/Makefile.in (uninstall:) make uninstall removed /bin/rm; Added
2596         a semicolon after "cons.saver" so the line is not interpreted as
2597         "rm ... cons.saver /bin/rm ..."
2599         * src/view.c (hex_search) Added code to set the hex editing cursor to
2600         the start of the found text after a hex search.  Left ASCII search
2601         undisturbed; in the case of searching for ASCII then switching to
2602         hex mode, the hex edit cursor is at the beginning of the line
2603         containing the found text, an artifact of setting the hex edit
2604         cursor to a byte position ending in 0 to make hex navigation a
2605         little easier.
2607         * src/view.c HexEdit seems stable enough for release as a View
2608         suboperation available from function key F4 Hex under F3 View.
2611 Sun Feb 23 14:08:00 1997  Yuri Elkin <yury@intruder.mktg.stratus.com>
2613         * tar.c (tarfs_get_path): Flush tarfs cache if the tar file we are
2614         openning has been modified since the time we loaded it into the
2615         cache. 
2617 Sun Feb 23 14:00:45 1997  Norbert Warmuth <k3190@fh-sw.de>
2619         * dir.c (handle_path): New function used by find.c and panelize.c
2620         instead of handle_dirent. handle_path is a simplified handle_dirent.
2621         The difference is that handle_path doesn't pay attention to the
2622         settings of 'Config/Configuration/show Backup files' and 'Config/
2623         Configuration/show Hidden files'. Moreover handle_path can't be
2624         used with a filemask.
2625         
2626         The main reason for introducing handle_path was to make it 
2627         possible to panelize hidden and backup files regardles of the config 
2628         settings. 
2629         
2630         I used the opportunity to get rid of struct spaced_dirent in 
2631         find.c and panelize.c. It was only used to pass parameters to
2632         handle_dirent. In theory this could be a problem because the
2633         d_name member has only space for a filename (at least on linux)
2634         but it was used to pass a complete path (directory + filename).
2636         * dir.h: Added prototype for handle_path
2638         * find.c (find_file), panelize.c (do_external_panelize): Moved 
2639         from struct spaced_dirent and handle_dirent to handle_path
2641         * view.c (view_handle_key): Enabled input of hex digits B-F for
2642         left side data entry (hex editing).
2643         Use of is_printable for right side data entry.
2645         * widget.c (button_callback): Remember if button is focused (WButton's
2646         selected memeber wasn't used up to now).
2647         Formerly changing the text of a focused button the button wasn't 
2648         redisplayed with the correct color (e.g. the Start/Stop button of 
2649         the find dialog).
2651         * cmd.c (dirsizes_cmd): Fixed memory leak
2653         * vfs/mcserv.c (get_port_number): There was a return statement 
2654         without value hidden in the macro DO_QUIT(). I added a macro
2655         which returns a value. Now there are two macros: DO_QUIT_VOID()
2656         and DO_QUIT_NONVOID().
2658         * vfs/mcserv.c (main): Added an additional error check.
2660         * vfs/*: Removed compiler warnings about missing prototypes, 
2661         unused variables, etc. 
2663 Sun Feb 23 13:46:04 1997  Dan Nicolaescu <DONE@DONE>
2665         * Wrote makefiles :-)
2666         
2667         * chmod.nt.c, drive.nt.c: minor bugs fixed (incorrect number of
2668         params)
2669         
2670         * util.WinNT.c (geteuid): added #ifdef WINNT
2671         
2672         * slint.nt.c (mc_refresh): added this (copied from src/slint.c)
2674         * utilnt.c (vfs_get_current_dir): dummy function, the vfs
2675         currently does not work for win32, but this function is called
2676         (vfs_current_is_extfs): see vfs_get_current_dir
2677         (vfs_file_is_ftp): see vfs_get_current_dir
2678         (mc_utime): see vfs_get_current_dir
2679         (extfs_run): see vfs_get_current_dir
2681 Thu Feb 20 11:32:04 1997  Yuri Elkin <yury@intruder.mktg.stratus.com>
2683         * main.c: Add '-e' flag to the help output.  
2685         * configure.in: Install mcedit if it was compiled in.
2687 Tue Feb 18 22:02:50 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2689         * ext.c (regex_command): Added support for including a global
2690         entry with the "Include=" tag.
2692 Sun Feb 23 20:00:00 1997  Joseph M. Hinkle <jhinkle@rockisland.com>
2694         * src/Makefile.in (uninstall:) make uninstall removed /bin/rm; Added
2695         a semicolon after "cons.saver" so the line is not interpreted as 
2696         "rm ... cons.saver /bin/rm ..."
2698         * view.c (hex_search) Added code to set the hex editing cursor to 
2699         the start of the found text after a hex search.  Left ASCII search
2700         undisturbed; in the case of searching for ASCII then switching to
2701         hex mode, the hex edit cursor is at the beginning of the line
2702         containing the found text, an artifact of setting the hex edit 
2703         cursor to a byte position ending in 0 to make hex navigation a
2704         little easier.
2706         * view.c HexEdit seems stable enough for release as a View 
2707         suboperation available from function key F4 Hex under F3 View.
2709         * lib/mc.ext.in (lha) Amended the lha entry to include upper case
2710         file extensions LHA|LZH and implemented the lha Virtual Filesystem
2711         instead of outputting just the file list.
2713 Mon Feb 17 12:41:32 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2715         * widget.c (button_callback): Special FOCUS case for Tk edition:
2716         the default button is actually a frame+button.  The default dlg.c
2717         code will focus the frame (and thus, the focus will not be
2718         shown).  By adding a focus response to WIDGET_FOCUS, the code can
2719         focus the correct widget.
2721         * mc.tcl: Keyboard bindings now affect all TkMC instead of being
2722         done in a per-window basis.  This fixes several problems.
2724         * screen.c (do_search): Make sure we unselect the item before
2725         changing the selection.  Tk version needs this.
2727         * cmd.c (set_panel_filter): Make a version that allows setting the
2728         filter for any panel.
2730         * ext.c (regex_command): Separate returned tags with the '='
2731         symbol (since this one can't be part of the tag name).  This
2732         extends the usefulness of the popup menus in the Tk edition.
2733         
2734         * dialog.c: Do refreshes on X.  This fixes the problem with the
2735         masks and the rereads not working.
2737         * slint.c: Provide X version for the refresh screen.  This is a
2738         nop. 
2739         
2740         * find.c (view_currently_selected_file): Check if there is a
2741         selected file before attempting to view it.
2743 Fri Feb 14 00:02:40 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2745         * tkscreen.c (x_fill_panel): Added some support for coloring
2746         directory entries.
2748         * mc.tcl: cleaned up code for the tags in the panels.  This is
2749         used by the new coloring code.
2751 Fri Feb 14 12:49:22 1997  Norbert Warmuth <k3190@fh-sw.de>
2753         * find.c (find_file): Added the correct useage of struct dirent
2754         for some operating systems (e.g Solaris 2).
2755         A comment regarding this is contained in ftpfs.c (search for
2756         NEED_EXTRA_DIRENT_BUFFER)
2758         * find.c (do_find): The status of the start/stop toggle button
2759         wasn't set right sometimes.
2761 Thu Feb 13 22:42:34 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2763         * mc.tcl, tkscreen.c: Made the sort bar useful.  
2765         The code is small-icon-ready. 
2767         Resizing works properly now.
2769 Thu Feb 13 13:05:45 1997  Yuri Elkin <yury@intruder.mktg.stratus.com>
2771         * hotlist.c: quote backslashes on pathnames when saving.
2773 Thu Feb 13 10:29:36 1997  Norbert Warmuth <k3190@fh-sw.de>
2775         * extfs.c (extfs_fill_names): Fix crash when expanding a zip on a
2776         floppy drive.
2778         * panelize.c (remove_from_panelize): Don't allow to remove
2779         the entry "Other command" from the list of commands.
2780         This entry is always added on startup so there's no need to
2781         remove it and most important I remove one posibility to 
2782         segfault (when removing from an empty list). 
2784         * panelize.c (external_panelize): Don't run the external
2785         panelize command on non local file systems. 
2786         
2787         * panelize.c (do_external_panelize): Fixed possible memory leaks.
2789 Wed Feb 12 13:05:01 1997  Norbert Warmuth <k3190@fh-sw.de>
2791         * edit/editcmd.c (string_regexp_search): Avoid freeing a
2792         pointer more than once.
2794         * edit/editcmd.c (edit_find_string): Fixed possible memory
2795         leaks
2797         * dir.c (do_reload_dir): fixed possible memory leaks
2799         * find.c (search_content): fixed memory leak
2801         * find.c (do_search): do_search opens a directory stream and
2802         stores the pointer to it in a static local variable. I added
2803         the posibility to close the directory stream from outside
2804         without making the variable in question global. Call it a
2805         ugly hack if you want.
2806         (Formerly the stream remained open e.g. if ESC was hit while
2807         the search was runing)
2808         
2809         * find.c (find_file): Every found file is added only once into
2810         the current panel when button 'Panelize' is pressed.
2811         I also removed two bugs which I could reproduce and which
2812         caused coredumps.
2814         * find.c (do_find): fixed memory leaks
2816         * screen.c (panel_reload): fixed possible memory leak
2818 Tue Feb 11 13:14:52 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
2820         * view.c: some keys are better ignored.
2822         * screen.c (get_sort_fn): Use the sort_types array instead of
2823         using screen's.c table.
2825         * dir.c: Added more sorting types, this is basically just used for
2826         the GUI versions that may want this accessible.
2828 Thu Feb  6 15:01:44 1997  Paul Sheer       <psheer@icon.co.za>
2830         * edit/edit*: Added goto line function. Added delete line
2831         function.
2833 Wed Feb  5 18:08:47 1997  Paul Sheer       <psheer@icon.co.za>
2835         * edit/editdraw.c, edit/editwidget.c: Changed some of the
2836         draw code to properly check for waiting key presses. This
2837         should speed things up a bit. Redraws all when you let
2838         up key repeating. I think I should add a 'dirty' variable
2839         like in view.c.
2841 Wed Feb  5 12:29:24 1997  Norbert Warmuth <k3190@fh-sw.de>
2843         * background.c (background_attention): Added missing break to
2844         switch-statement
2846         * cmd.c (dirsizes_cmd), panelize.c (do_external_panelize): Changed
2847         message-type from INSERT to NORMAL
2849         * file.c (copy_dir_dir): Replaced one chmod with mc_chmod
2851         * tk/Makefile.in: Added missing dirhist.o to OOBJS to make the
2852         tk-version compile
2854         * achown.c, chmod.c, chown.c: Made the Advanced chown command,
2855         the Chmod command and the Chown command vfs-aware; added missing
2856         destroy_dlg; added some simple error-handling
2858         * vfs/vfs.c, vfs/vfs.h: Added new function vfs_current_is_tarfs
2859         now needed by achown.c, chmod.c and chown.c
2862 Mon Feb  3 09:33:55 1997  D. Hugh Redelmeier <hugh@mimosa.com>
2864         * layout.c (set_display_type): Cast to correct type.
2866         * screen.c (panel_event): remove static.
2867         
2868         * hotlist.c (l_call): remove warning.
2870 Sun Feb  2 14:04:57 1997  Yuriy V. Elkin <yury@intruder.mktg.stratus.com>
2872         * hotlist.c (CHECK_BUF): Use realloc only if the pointer has a value.
2874 Wed Jan 29 14:01:30 1997  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>
2876         * dir.c: Fix sorting.  We assumed that the first directory entry
2877         returned by readdir would be the "." and ".." entries.  This is
2878         not the case under some operating systems, and ftp fs was already
2879         bitten by this.  This fix, finds the ".." dir and puts it at the
2880         beginning. 
2882 Thu Jan 30 19:52:01 1997  Paul Sheer       <psheer@icon.co.za>
2884         * main.c: fixed view file from command line. Added edit file
2885         from command line with the extra option -e <file>. Added
2886         function prepend_cwd() which adds cwd to a fname if its not
2887         an absolute path (does a function like this exist already?).
2888         Does -v <file> now do what was intended?
2890         * main.c: added check if viewing or editing from command line
2891         to always output "." even if -P is set. Otherwise we get a
2892         segfault.
2894         * main.c: added check if mcedit is in argv[0]. if so we are an
2895         editor, so edit file on command line.
2897         * edit/edit.c: made some changes to push_action to reduce stack
2898         usage.
2900         * edit/editcmd.c: made changes to handle getting a null file.
2901         goes to new file for mcedit without args.
2903         *doc/mcedit.1: man page created.
2905 Mon Jan 27 11:17:37 1997  Norbert Warmuth <k3190@fh-sw.de>
2907         * vfs/tar.c (uncompress_tar_file): Check for error while 
2908         uncompressing to temporary file (the main error is probably
2909         writing to a full tmp-volume) 
2911         * vfs/tar.c (tar_chdir): fixed memory leak
2913         * util.c (load_file), widget.c (assign_text): fixed memory leaks
2914   
2915         * vfs/extfs.c (free_archive): Added check before freeing 
2916         archive->name because it's NULL for a mtools-fs e.g. 'cd a:'
2918         * vfs/extfs.c (read_extfs_archive, extfs_close): fixed 
2919         memory leaks
2921         * vfs/extfs.c (extfs_done): New function in order to free memory
2922         at program termination; it made it easier to me to find the
2923         memory leaks
2925         * vfs/extfs.h: Added prototype for extfs_done
2927         * vfs/mcfs.c (mcfs_get_path, mcfs_rpc_two_paths, mcfs_rpc_path, 
2928         mcfs_rpc_path_int, mcfs_rpc_path_int_int, mcfs_open, 
2929         mcfs_opendir, mcfs_stat_cmd, mcfs_readlink, mcfs_chdir,
2930         mcfs_forget): fixed memory leaks
2932         * vfs/utilvfs.c (get_host_and_username): Now at return there's
2933         always the same state (*host and *user malloced, *pass malloced
2934         or NULL)
2936         * vfs/vfs.c (mc_get_current_wd, mc_utime, mc_chdir): fixed
2937         memory leaks
2939         * vfs/vfs.c (vfs_canon): Added check before freeing because 
2940         'arc_name' may be NULL (extfs for mtools e.g. 'cd a:')
2942         * vfs/vfs.c (vfs_shut): Added call to new function extfs_done
2944         * vfs/vfs.c (vfs_force_expire): fixed memory leak
2946 Mon Jan 27 10:51:30 1997  Tomasz J. Cholewo <tjchol01@mecca.spd.louisville.edu>
2948         * view.c (view_percent): File percentage values in the built-in
2949         viewer are wrong for files bigger than approx. 20MB because of
2950         arithmetic overflow in the view_percent function in view.c. 
2952 Mon Jan 27 10:42:13 1997  Norbert Warmuth <k3190@fh-sw.de>
2954         * main.c (do_panel_cd): My third patch changes the behaviour of mc
2955         when leaving the tarfs. In that case the working directory of the
2956         subshell isn't changed to ".." but to the directory of the current
2957         panel.
2959 Fri Jan 17 17:21:48 1997  Norbert Warmuth <k3190@fh-sw.de>
2961         * edit/Makefile.in: clean up, one could see that it was an
2962         adapted vfs/Makefile.in
2964         * background.c: added missing #include "mad.h"
2966         * cmd.c (compare_dir): count and bytes of marked files were
2967         calculated sometimes wrong
2969         * help.c (interactive_display): fixed possible memory leak 
2970         in size of mc.hlp
2972         * hotlist.c (add2hotlist_cmd): hotlist was not marked as
2973         modified if only button 'Add current' was used i.e. that
2974         there was no chance of saving the hotlist unless there 
2975         hadn't been other modifications 
2977         * hotlist.c (load_hotlist): removing [Hotlist] in ~/mc.ini
2978         didn't work when 'auto save setup' wasn't activated.
2980         * hotlist.c (save_hotlist): a saved hotlist is marked as
2981         unmodified 
2983         * learn.c (learn_button): don't allow definition of enter
2985         * learn.c (learn_save): without 'Auto save setup' the new
2986         key-definitions were not saved 
2988         * main.c (done_mc): without 'Auto save setup' activated a
2989         modified hotlist wasn't saved at program termination
2991         * mad.c (mad_realloc): MAD complained about 'realloc (NULL, size)'
2992         but that's legal C and the same as 'malloc (size)' 
2994         * screen.c (panel_key): hitting C-s more than once the next
2995         file matching the search string is searched for instead of
2996         starting a new search, any abort key stops filename search
2998         * enable abort of filename search with the usual abort keys
3000         * tree.c (tree_destroy): fixed memory leak
3002         * tree.c (do_tree_check): F2 on very last directory in
3003         an tree view didn't work
3005         * tree.c (maybe_chdir): removed compiler warning about
3006         missing return value
3008         * tree.c (start_search, tree_key): Added same search method
3009         like with a panel in listing mode, i.e. C-s starts search,
3010         further C-s move to the next matching directory, any abort key
3011         stops search
3012         
3013         * tree.c (global variable tree_keymap[]): made an invisible
3014         { 0, 0 } visible before one has the idea of removing an needless
3015         comma
3017 Sat Jan 18 18:18:40 1997  Paul Sheer       <psheer@icon.co.za>
3019        * edit.c: Fixed segfault on when C-n ing.
3021 Thu Jan 16 11:11:50 1997  Norbert Warmuth <k3190@fh-sw.de>
3023         * layout.c (set_display_type): Fix a bug where the current_panel
3024         variabel would not point to a WPanel * but to something else.  We
3025         are looking for a better fix.
3027 Tue Jan 14 16:53:26 1997  namsh <namsh@amuna.rms.lgic.co.kr
3029         * find.c (search_content): 
3031 Tue Jan 14 15:11:15 1997  Leos Bitto       <bitto@kolej.mff.cuni.cz>
3032         
3033         * cons.saver.c: make it work with virtual consoles bigger than tty9.
3035 Mon Jan 13 20:58:28 1997  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3037         * dirhist.c: Added routines for keeping track of recently used
3038         directories. 
3040 Tue Jan 28 12:56:39 1997  Paul Sheer       <psheer@icon.co.za>
3042         * option.c: Added 'use internal edit' check box to options list.
3044         * mc.sgml: Added help for config for this.
3046         * edit/*: Now displays full 8 full bit. (This screws up completely
3047         when editing binaries files because terminal display chars
3048         as ^X which is two chars wide.)
3050 Sat Jan 18 18:18:40 1997  Paul Sheer       <psheer@icon.co.za>
3052         * edit.c: Fixed segfault on when C-n ing.
3054 Mon Jan 13 18:24:41 1997  Andrej Borsenkow <borsenkow.msk@sni.de>
3056         * ftpfs.c (ftpfs_get_proxy_host_and_port): Handle properly proxyes
3057         that have a port number specified as well.
3059 Fri Jan 10 02:10:45 1997  Norbert <k3190@fh-sw.de>
3060         
3061         * cmd.c (quick_chdir_cmd): fixed memory leak
3063         * cmd.c (view_other_cmd): changing to subshell with C-o and
3064         typing 'exit' doesn't cause an segfault any more. 
3065         Now MC exits quietly, to achieve this minor changes in cmd.c
3066         (view_other_cmd), command.c (enter), main.c (do_execute,
3067         quit_cmd_internal, done_screen, main), subshell.c (sigchld_handler), 
3068         subshell.h were necessary 
3070         * command.c (command_new): fixed memory leak
3072         * main.c (do_execute): fixed memory leak
3074         * main.c (main): call of flush_extension_file in order to free
3075         malloced memory on program termination. It just makes it easier
3076         to find memory leaks with MAD or something similar.
3078 Mon Dec 23 10:13:04 1996  Norbert <k3190@fh-sw.de>
3080         * profile.c (profile_forget_profile): Bug fixed which caused 
3081         complete loss of settings for all .ini files instead of loss for
3082         only one .ini file as wanted.
3084         * vfs/mcfs.c (mcfs_forget): fixed incorrect parameter passing to
3085         mcfs_open_tcp_link (port itself instead of pointer to port was
3086         passed)
3088         * vfs/tar.c (tar_open): fixed disregarded operator precedence
3090         * hotlist.c (CHECK_BUFFER): fixed disregarded operator precedence
3092         * hotlist.c (add2hotlist_cmd): inserted check of malloc's return value
3093         by using of xmalloc (only a 'cosmetic' change)
3095         * hotlist.c (remove_group, remove_from_hotlist, done_hotlist):
3096         now freeing should work: for HL_TYPE_GROUP hotlist->directory is
3097         NULL and Janne's Memory Allocation Debugger complained e.g. when
3098         removing a group from the hotlist
3101 Thu Dec 26 19:03:47 1996  Paul Sheer
3103         * edit.c: Fixed a bug that caused undo to sometimes stop
3104         working when the undo stack wrapped. (This can be BAD news for
3105         someone if they suddenly found they couldn't undo -- sorry guys.
3106         I've now tested it quite thoroughly with a visual on whats going
3107         on in the stack and it works perfectly.)
3109         * editcmd.c: memmove() command added if HAVE_MEMMOVE not defined;
3110         return value of sprintf() now ignored.
3112         * configure.in: check for memmove func added.
3114         * edit/*: Lotsa minor odds and ends.
3116 Wed Dec 18 15:13:04 1996  Joseph M. Hinkle <jhinkle@rockisland.com>
3118         * mc.ext: Use lha file system.
3120         * Makefile.in: Create proper mc.tcl file.
3121         
3122 Wed Dec 18 15:13:04 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3124         * widget.c (listbox_key): Do not process any key command if the
3125         listbox list is emtpy.
3127 Tue Dec 17 12:59:13 1996  Christophe MEYNARD <Christophe.Meynard@ign.fr>
3129         hotlist.c (update_path_name): Fixed crash in hotlist.
3131         (add_new_group_input): Initialize the text field in
3132         the quick widget.
3134 Tue Dec 17 12:59:13 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3136         * configure.in: By default compile the builtin editor now.
3138         * mc.ext: Do not provide an action for editting, this is needed
3139         for using the internal editor.
3141 Mon Dec 16 14:26:55 1996 Norbert Warmuth <k3190@fh-sw.de>
3142         
3143         * widget.c (insert_char): Fixed a buffer overrun: in the original
3144         code there is always one location too much copied in the function
3145         "insert_char()" in file "src/widget.c".
3146         
3147 Mon Dec 16 14:26:55 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3149         * view.c (view_handle_key): Took the Hex Edit changes out.  Hex
3150         Edit will be shipped separetedly until the code is ready for
3151         public release.
3153 Fri Dec 13 19:15:39 1996  Joseph M. Hinkle <jhinkle@rockisland.com>
3155         * view.c: Added support for using the viewer as an hex editor. Woo
3156         Woo!
3158 Wed Dec 11 20:54:53 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3160         * tkscreen.c (tk_panel_callback): Added drag/drog for the Tk
3161         version.
3163         * mc.tcl: Lots of enhancements. 
3165 Sat Dec  7 13:54:43 1996  Joseph M. Hinkle <jhinkle@rockisland.com>
3167         * extfs/lha.in (LHA): New external file system handler for the LHA
3168         file format.
3170 Fri Dec  6 14:57:43 1996  Joseph M. Hinkle <jhinkle@rockisland.com>
3172         * vfs/extfs/README: Updated the information on creating an
3173         external file system handler.
3175 Wed Dec 11 14:07:50 1996  Paul Sheer       <psheer@icon.co.za>
3177         * mc.sgml: created proper editor help. sgml page is not tested
3178         though.
3180 Wed Dec 11 10:57:28 1996  Paul Sheer       <psheer@icon.co.za>
3182         * key.c, key.h: New command: get_modifier() which gets the state
3183         of the alt/shift/control keys.
3185         * edit/*: Added in key translations for shift arrow text
3186         highlighting using get_modifier(). Added insert/overwrite
3187         support.
3189 Thu Dec  5 00:06:31 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3191         * tkscreen.c (x_filter_changed): Added a tick border to default
3192         buttons. 
3194 Wed Dec  4 18:41:37 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3196         * mc.tcl: Put some nicer colors for Tk input lines.
3198         Changed the cwd display to show the file mask as well.  It now is
3199         also a menu, so this will show a menu that can run some commands
3200         on the current directory (should I remove some of the stuff from
3201         the left/right menus then?  Probably everything should be moved
3202         here for the Tk edition).
3204         * tkscreen.c (tk_invoke), mc.tcl: Now the Tk version has context
3205         popup menus just like Jakub's XView version and TkDesk
3206         (tk_load_popup): 
3208         * mfmt.c: Added this program that I had here for a long time and
3209         had not been included in the distribution.
3211 Tue Dec  3 20:09:35 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3213         * tkmain.c (tkmc_callback), mc.tcl: Generate a escape char when
3214         a window is closed by the window manager.  This keeps the
3215         information consistent (ie, windows don't get killed behind our
3216         backs). 
3218 Mon Dec  2 23:51:59 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3220         * tkscreen.c (x_unselect_item): Cleaned up the panel managing
3221         routines.  Added focus/unfocus calls. 
3223 Wed Dec  4 15:16:59 1996  Paul Sheer       <psheer@icon.co.za>
3225         * edit*.c: Support for Winsnows/Macinosh shift-arrow text
3226         highlighting, although no keys have been defined as yet to
3227         actually do highlighting. Fix of potential bug overwriting
3228         line[1024] in editdraw.c.
3230 Sat Nov 30 09:04:24 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3232         * background.c (parent_call_string): Our parent/child protocol now
3233         can handle strings. 
3235 Fri Nov 29 21:05:52 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3237         * features.inc: Moved th configuration report information to this
3238         file.  Now the -V option will show information on which options
3239         were compiled into the program. 
3241         * background.c: Moved the general purpose background code to this
3242         file. 
3244 Fri Nov 29 18:57:37 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3246         * hotlist.c: Added Lynx style navigation.
3248         * hotlist.c: this version will finally get rid of [Hotlist] and Co
3249         in ~/.mc.ini If no ~/.mc.hot exists, it will copy old enrties and
3250         warn user about new file; if ~/.mc.hot already exists, you have
3251         the choice to keep old entries, to remove them or to add them in
3252         separate group for later review. I tried to make it foolproof, but
3253         no warranty ;) anyway, the betatesters can just tell "Remove".
3255         * changed "hotlist_params" to "hotlist_state" (seems to me more
3256         logical).
3258         * added "modified" flag so MC won't rewrite ~/.mc.hot every time.
3260         * preliminary added "unfolded" parameter - the intent is to show
3261         all groups at once in tree like structure; I tried to make simple
3262         implementation, but the result was less than satisfactory and I
3263         backed out changes. Sometimes ...
3265         * when copying from ~/.mc.ini to ~/.mc.hot I try to make shure it
3266         works; so I check if ~/.mc.hot was written (actually I *intended*
3267         to check - it probably doesn't work 100%) Changed definition of
3268         load_hotlist() from void to int.
3270         * setup.c, main.c: because we now need to tell user what's going
3271         on, moved hotlist loading after screen initialization.
3273 Thu Nov 28 11:50:32 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3275         * hotlist.c: add2hotlist_cmd (): length of current directory name
3276         was not checked; in case of very long name "Add current" display
3277         was distorted. The patch tries to truncate name to reasonable
3278         length (I thought it appropriate to keep dialog inside of hotlist
3279         main dlg window - it could be made something more wide if enough
3280         demand ;)
3282         * update_path_name (): directory path was truncated but with
3283         incorrect lenth - long paths were getting out of bounding box.
3285 Tue Nov 26 12:29:27 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3287         * ftpfs: ftpfs open mode (passive or active) is now controlled by
3288         the variable ftpfs_use_passive_connections variable.
3290 Tue Nov 26 12:28:53 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3292         * ftpfs.c: Moved all of the proxy checking to ftpfs_check_proxy;
3293         Never use passive mode if we are using a proxy host.
3295 Thu Nov 28 20:14:34 1996  Paul Sheer       <psheer@icon.co.za>
3297         * edit*.c: macro now creates ~/cooledit.macros automatically
3298         Execute macro now does nothing if key not found, instead of error.
3299         Save file sets permissions on creating a new file.
3301 Mon Nov 25 20:19:40 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3303         * file.c (panel_operate): remove code for background operation if
3304         this is not compiled in (thanks to done@nexus.sorostm.ro (Dan
3305         Nicolaescu) for pointing this).
3307         * ftpfs.c (ftpfs_close): Avoid flushing the directory on every
3308         store operation if it is not absolutely necessary.  This is an
3309         optimization that I missed.
3311         * vfs/*.c: Make all of the virtual file systems use the message
3312         stubs.  We still need a stub for the input_dialog.  I will do this
3313         one next (as well as moving the stub functions out from file.c).
3315 Mon Nov 25 13:41:19 1996  Luca Berra <bluca@comedia.it>
3317         * ftpfs.c (initconn): Made passive connections the default.
3318         Fallback to active connections if this fails (per connection).
3320 Mon Nov 25 09:31:57 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3322         * src/hotlist.c: Use input lines with a non-null default value.
3323         Better redrawing.
3325         * src/boxes.c: New proxy options: Can make the usage of the proxy
3326         a global option (no need to use the ftp://! syntax if the
3327         ftpfs_always_use_proxy variable is set, check the man page for
3328         details on this).
3330         * src/widget.c: Mouse support;
3332 Mon Nov 18 20:31:47 1996  Elliot Lee <sopwith@cuc.edu>
3334         * xv: Patches to make it compile.
3336 Mon Nov 18 20:15:14 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3338         * ftpfs.c: Put the CD/LS optimization back.  We know do an ls on
3339         $PATH/. and we magically get the symlink information we were
3340         missing with this optimization in the previous attempt.
3342 Tue Nov 12 16:47:52 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3344         * hotlist.c: Bug fixes.  Made the hotlist window resizable again.
3346 Tue Nov 12 18:54:10 1996  Paul Sheer       <psheer@icon.co.za>
3348         * edit/*: changes to low level insert, delete etc to allow inserting
3349         of chars before the display window without the window going out
3350         of sync -- fixes replace bug that I hope only I knew about + some
3351         optimisation of push/pop_action routines (hope it doesn't break
3352         undo).
3354         # layout.c: added call to edit_adjust_size for window resizing.
3356 Mon Nov 11 09:24:02 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3358         * ftpfs.c: Re-enabled the CD remote-path; LS "." code instead of
3359         the optimzied (and broken) code that did LS remote-path directly.
3361 Mon Nov 11 09:16:01 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3363         * edit/*: changes to structure initializer
3365         edit_move_forward3() returns *float* but is called in argument
3366         conetxt which expects *int*. And without function prototypes
3368         * util.c: more changes were neccessary to use mc://host syntax
3370         * vfs/ftpfs.c: new -password code failed for non-anonymous logins
3372         * hotlist.c: add2hotllist() - corrected stupid error which resulted
3373         in empty hotlist. If you had it, remove empty ~/.mc.hot before
3374         running new MC!!!
3376         * widget.c (listboxes): Can now specify the position where the
3377         item is inserted.
3379         * mcfs.c: more changes to adapt mc:// syntax.
3381         * vfs.c: more changes to adapt mc:// syntax. (I hope it to be the
3382         last)
3384 Thu Nov  7 12:34:03 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3386         * mcfs.c (mcfs_forget), ftpfs.c (ftpfs_forget): Actually, instead
3387         of forgeting about the connection, we now update it.  We close the
3388         socket that is being used by the child and reopen the connection.
3390 Thu Nov  7 21:16:59 1996  Paul Sheer          <psheer@icon.co.za>
3392         * edit*.c: Change c-o to load file. c-l now refreshes
3393         screen. Menu command added to refresh screen. Menu command
3394         added to insert a literal. C-z and c-x now move word left
3395         and right respectively.
3397         * editmenu.c: About box added.
3399         * mc.hlp: Editor help added.
3401 Wed Nov  6 12:23:14 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3403         * editcmd.c: Not every compiler takes non-statical initializer of
3404         structures. Also, dlg_init (or is it init_dlg?) crashes, if passed
3405         *empty* (as opposed to *no* - NULL) tk name.
3407         * main.c (handle_args): If the program ends while handling args
3408         and the -P option was used report the current working directory.
3410         * ftpfs.c (login_server): Removed the - option altogether.
3412 Sat Nov  2 17:31:21 1996 Paul Sheer <psheer@icon.co.za>
3414         * edit.c: Rewrote edit_move_forward/backward functions to
3415         handle eof properly.
3417 Fri Nov  1 13:08:22 1996 Paul Sheer <psheer@icon.co.za>
3419         * editdraw.c: Status line drawing improved for screens with
3420         small widths.
3422 Thu Oct 31 13:08:22 1996 Paul Sheer <psheer@icon.co.za>
3424         * editcmd.c: Added regular expression search and replace. Checks
3425         for overwriting an existing file if you change the filename.
3427 Sun Oct 27 21:17:11 1996 Paul Sheer <psheer@icon.co.za>
3429         * edit*.c: Slight changes to allow compilation with gcc's
3430         options -ansi -pedantic. Checks for macro NO_EDITOR added so
3431         that '#define NO_EDITOR' in config.h will leave out the editor.
3432         Editor now adds 30kb (9%) to the mc binary size (compiled without
3433         -g and with -O2).
3435 Sun Oct 27 11:24:07 1996  Paul Sheer <psheer@icon.co.za>
3437         # editwidget.c, editmenu.c: alt-f, alt-e... now drops menus
3438         File, Edit etc.
3440 Sun Oct 27 10:45:40 1996  Paul Sheer <psheer@icon.co.za>
3442         * edit.c: Date/time command added.
3444 Sun Oct 26 00:00:00 1996  Paul Sheer <psheer@icon.co.za>
3446         * editwidget.c, editmenu.c (new): Pull-down menus added.
3447         function menubar_event required to be non-static so that
3448         it can be called from editwidget.c.
3449         Macros made to work with any key. Quote feature added.
3450         Both use new edit_raw_key_query dialog sub. editcmddef.h
3451         added which now contains all the command defs.
3453 Fri Oct 25 12:00:00 1996  Paul Sheer <psheer@icon.co.za>
3455         * edit*.c: Macro record and execution added.
3457 ??? Oct ?? 12:00:00 1996  Paul Sheer <psheer@icon.co.za>
3459         * editcmd.c: Scanf search and replace added. Function edit_adjust_size
3460         added for resizing of the widget analogous to view_adjust_size.
3461         Must be called from layout.c just like view_adjust_size.
3463 ??? Sep ?? 12:00:00 1996  Paul Sheer <psheer@icon.co.za>
3465         * edit.c, editwidget.c, editdraw.c, edit.h, editcmd.c,
3466         edit_key_translate.c: Created from single source file, code
3467         completely overhauled. Undo now also undoes marking. Some
3468         drawing and behavioural problems solved. All key actions
3469         now work through commands, and the command to key mappings are
3470         done by a seperate file edit_key_translate.c.
3472 ??? ??? ?? 12:00:00 1996  Paul Sheer <psheer@icon.co.za>
3474         * edit.c, edit.h: Created from view.c as a simple editor, with
3475         same look, with block commands and undo. Command to call is
3476         int edit(char *filename);
3479 Tue Nov  5 00:21:22 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3481         * ftpfs.c (login_server): Do not send the dash if the user is
3482         debugging the connection.
3484 Mon Nov  4 14:21:48 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3486         * edit/: updated to latest version from Paul Sheer.
3488         * ftpfs.c: Fixed a couple of memory leaks in the code.
3490         * mcfs.c (mcfs_forget): when searching for a connection
3491         description, check also the port number.
3493         * vfs.c, vfs.h: Added a way to forget about a connections.  This
3494         is required by the background code.  The idea is that the
3495         background copy of the program keeps the information for what it
3496         will copy/move (ie, the open sockets for mcfs and ftpfs) and the
3497         parent code has to open a new connection.
3498         
3499         * ftpfs.c (ftpfs_forget), mcfs.c (mcfs_forget): Implementation of
3500         the ftp forget-about-a-connection code.  This routine just makes
3501         the hostname an empty string, so that no further matches will
3502         occur when referencing the file system, thus forcing a connection
3503         to be opened again.
3505 Fri Nov  1 15:40:31 1996  Paul Sheer       <psheer@icon.co.za>
3507         * edit/: Built in editor.
3508         
3509 Fri Nov  1 15:40:31 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3511         * find.c (find_file): Add a button for the View option so that
3512         people actually know it is possible to view those.
3514         * file.c (real_query_recursive): Add background operations.
3516         * replaced refresh for mc_refresh in all of our code.  This serves
3517         two purposes: X11 code will never refresh the console ever again
3518         (we provide a wrapper in tkslint) and the background tasks will
3519         not output text to a console.
3520         
3521         * slint.c (mc_refresh): refresh only if we are not a background
3522         task.  
3524         * tkslint.c (mc_refresh): Empty routine, may call update idletasks
3525         in the future.
3527         * file.c (background_attention): More background code goes in.
3529 Fri Nov  1 00:07:59 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3531         * file.c (parent_call): I defined wrappers around the functions to
3532         let both the foreground and background processes call these
3533         routines in a less hacky way (ie, we won't be giving the
3534         background process control of the terminal ever).  Now, I plan on
3535         using an rpc method for the background process to call the parent
3536         process.  The idea of this is that the X11 editions of the program
3537         will benefit from this.
3539         * cmd.c (compare_dir): Add compare only based in size.
3541         * wtools.c (common_dialog_repaint): Not all dialogs have titles.  Fix.
3543         * hotlist.c (init_hotlist): Make the size of the dialog
3544         proportional for the screen size.
3545         
3546         * find.c (find_file): ditto. This one was easier.
3548 Sat Oct 19 16:32:35 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3550         * extfs.c (extfs_init): Use a better structure for extfs_extensions.
3552 Mon Oct 14 19:29:38 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3554         * ftpfs.c (login_server): Use a dash in front of the username,
3555         some ftp servers use this to avoid sending the .messages file.
3556         Log the directory ouput when debugging the ftp output.
3558 Sun Oct 13 13:10:34 1996  Alexander V. Lukyanov <lav@video.yars.free.net>
3560         * mouse.c: Do not open /dev/console.  Use the file handle that gpm
3561         opens for any operation on the console.
3563 Mon Oct  7 11:32:26 1996  Kikutani Makoto <kikutani@jdc.ericsson.se>
3565         * cmd.c (view_file): fixed: return a value from this function,
3566         prevents the crash.
3568 Tue Oct  1 16:20:03 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3570         * view.c (load_view_file): When we close the file descritor, set
3571         the file field on the WView to -1 so that we don't close the file
3572         two times by a mistake.  This bug was found by esteban@nuclecu.unam.mx
3574 Sat Sep 21 12:12:45 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3576         * main.c (listing_cmd): Make sure the user_format is set at all
3577         times (in the past, we changed the display format on any error,
3578         but the wrong format was still there, and because of our broken
3579         way of handling mini status it would broke.
3581 Fri Sep 20 06:13:08 1996  Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>
3583         * find.c (search_content): Use ISASCII from util.h, not isascii.
3585 Thu Sep 19 10:05:52 1996  Liviu Daia <daia@stoilow.imar.ro>
3587         * Added the rar external fs.
3589 Wed Sep 18 13:54:37 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3591         * wtools.c (query_dialog): Another mistaken widget creation item
3592         fixed. 
3594 Fri Sep 13 12:54:45 1996  Alexander V. Lukyanov <lav@video.yars.free.net
3596         * zipfs: prevents doubling of file names for unix-created zip
3597         files. It also replaces forgotten awk to @AWK@.
3599 Thu Sep 12 22:27:25 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3601         * tkslint.c: Provided an routine with empty routines to substitute
3602         slint.c.  We don't need any terminal handling when running as the
3603         Tk version.
3605         * slint.c: Removed the NT support for slint.c, NT has it's own
3606         slint file now.
3608         * gd.tcl: Added support for editing previously created layouts.
3609         To edit a previously creted layout, it is necesary to set the
3610         environment variable MCGD_EDIT to the name of the dialog that you
3611         want to edit.  Removing rows is still done by editing the
3612         generated file as well as removing the extra texts and frames.
3614         * guil.*.tcl: Redesigned most of the layouts, should be nicer.
3616         * hotlist.c (add_new_entry_cmd): Small fixes to hotlist to make it
3617         tk-guiable.
3619 Wed Sep 11 16:30:04 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3621         * panelize.c (init_panelize): Made panelize tk-aware
3623 Tue Sep 10 20:53:41 1996  Miguel de Icaza <miguel@tirania.nuclecu.unam.mx>
3625         * wtools.c: Made tk-aware.  Now all quick dialogs should be tk-enabled.
3626         
3627 Mon Sep  9 14:09:21 1996  Miguel de Icaza <miguel@tirania.nuclecu.unam.mx>
3629         * boxes.c: Made tk-aware
3631         * gd.tcl: Saving/restoring of the GUI.  I still have not coded the
3632         part that would load the saved code and allow the programmer to
3633         modify the layout.  It is still missing a delete-row feature.
3634         
3635 Fri Sep  6 21:05:44 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3637         * tkmain.c (tk_init_dlg): Call the GUI editor, support for
3638         different layout styles in the program (the previous mode is to
3639         call a routine called layout_NAME, where NAME is the name of the
3640         dialog box; the new mode is the one that uses the information
3641         generated by the GUI designer).  
3643         * gd.tcl: Minimal interactive GUI designed to layout widgets on
3644         the Tk edition of the program.  To add GUI designer support to a
3645         dialog box it is required that:
3647         a) All of the widgets have a non-NULL value for the tkname
3648         parameter (this is specified when widgets are created).
3650         b) You add the DLG_GRID flag in the the create_dlg call.
3652         Once those are met, the GUI designer will pop up automatically the
3653         next time the dialog is invoked.
3654         
3655         * tkwidget.c (tk_new_command): Added support for the grided
3656         objects.  All of the widgets now take an extra parameter: the
3657         tkname, a name used to identify the widget from the Tk code that
3658         is not renumbered (as did happen with the previous attempts at
3659         supporting Tk).
3661         * dlg.c: Support for the new dialog layout routines.
3663 Tue Sep  3 00:17:11 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3665         * find.c: Fixed panelization when searching inside files.
3666         (find_par_start): Use mc_stat instead of stat.
3668 Mon Sep  2 23:48:34 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3670         * subshell.c: before pushing a streams module on svr4, we use
3671         I_FIND.  Fixes also the calling convention for zsh 3.0.  FIXME: We
3672         don't need if this will work with older versions of zsh.
3674         * hotlist.c: Added multi-level hot list to the program.
3675         
3676 Mon Sep  2 18:31:24 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3678         * view.c (view), cmd.c: view functions now can take a starting
3679         line number.
3681         * ext.c (regex_command): when asking for the View tag, you can
3682         append :number to the tag (View:45) to make the viewer jump to
3683         that line at startup.
3685         * utilunix.c (mc_doublepopen): Bumped the blcok size that the
3686         mc_doublepopen uses to be 8192, this provides faster grepping.
3688         * find.c (find_parameters, find): Added a capability to search
3689         information inside files.   I believe this will be quite handy for
3690         searching files in vfs files.
3692         Replaced instances of hardcoded path separators for our portable
3693         PATH_SEP variables.
3695         * local.c (local_read): Return proper failure value when errno is
3696         not EAGAIN or EINTR.
3698         * wtools.c: Added routines for common dialog callbacks:
3699         dialog_repaint: repaints the background of a dialog.
3700         common_dialog_repaint: calls dialog_repaint with defaults colors.
3701         common_dialog_callback: Callback intended for sample dialog, it
3702         just redraws, nothing fancy.
3704 Mon Sep  2 18:31:24 1996  Aldy Hernandez <aldy@andrews.edu>
3706         * configure.in, utilunix.c: check for Sequent having
3707         get_process_stats for implementing gettimeofday.  
3709         * Use HAVE_SYS_SELECT_H instead of an ifdef for AIX.  Sequent and
3710         QNX also have fd_set on sys/select.h
3711         
3712 Thu Aug 29 12:05:15 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3714         * vfs/mcfs.c: added mc_utime() vfs callback; added local_utime() function;
3715         * added mcfs_utime() function; 
3717         implemented RPC utime call; program version is now 2;
3719         * Version 2 tries to transmit true file timestamps if speaking
3720         with anybody with version >= 2 (is it portable?)  
3722         * slightly changed the way mcserv works. Now it becomes "true"
3723         daemon if given -d flag (thus it is possible to say just `mcserv
3724         -d -f' instead of `mcserv -f -d &') One drawback is, that -v
3725         doesn't work for daemon mode; it could be made, but I consider it
3726         more as debugging aid. What is neede is syslog() interface for
3727         daemon.  But I have the ffeling, that mcserv() is not being used
3728         by anybody except me ;) and I don't need syslog().
3730 Wed Aug 28 19:14:38 1996  Fernando Magariños  <mancha@breogan.iimas.unam.mx>
3732         * extfs/arc: Added support for .arc and .pak files 
3734 Tue Aug 27 00:20:41 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3736         * view.c (block_search): enable interrupts at the beginning of the
3737         search and at the end, this should speed up searching.
3739 Mon Aug 26 16:30:13 1996  Miguel de Icaza  <miguel@tirania.nuclecu.unam.mx>
3741         * view.c (hex_search): Added missing toupper.  Now hex searches
3742         should work again.
3744         * cmd.c (nice_cd): If the user types in the prefix for the ftp://
3745         directory, do not insert one at the beginning.
3747 Sat Aug 17 15:37:13 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3749         * ftpfs.c: Removed the CWD optimization.  If the connection is
3750         dropped, then we should resend the CWD again.  Thinking about a
3751         proper fix for this.
3753 Fri Aug 16 13:31:33 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3755         * ftpfs.c (command): Invalidate the current path name when the
3756         connection is dropped.
3758 Thu Aug 15 22:42:13 1996  Wojtek Pilorz <wpilorz@celebris.bdk.lublin.pl>
3760         * ftpfs.c (get_line_interruptible): Make sure we don't write past
3761         the buffer.  Make sure the buffer is zero terminated.
3763 Thu Aug 15 15:00:45 1996  I. Ioannou <roryt@compulink.gr>
3765         * sldisply.c: SCO doesn't have TIOCGWINSZ.
3767 Thu Aug 15 21:20:09 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3769         * mcserv.c (mc_pam_auth): Added support for Linux-PAM for
3770         authenticating users.
3772 Thu Aug 15 15:00:45 1996  Andrej Borsenkow <borsenkow.msk@sni.de>       
3774         * mcserv.c: most commands look like send_status (unlink (f),
3775         errno); It is the text-book example of undefined behaviour. At
3776         least by me it returns errno from *previous* syscall, and not from
3777         e.g. unlink(f).  It results in absolutely wild things sometime
3778         (errors with errno 0; MC making wrong decision based on wrong
3779         errno and so on). In particular, recursive delete didn't work
3780         (probably, due to second bug also). I set errno to 0 in
3781         send_status() for the same reason.
3783         The do_readdir() sometimes worked incorrectly. The following code
3784         fails:
3786         while ((dirent = readdir (mcfs_DIR.dirs [handle]))){
3787            .....
3788            lstat (dirent->d_name, &st);
3790         It cannot be assumed, that current directory is that of dirent. It
3791         is *not* in case of recursive delete (when I am reading
3792         subdirectory first). So I save directory name from opendir() call
3793         and use it in readdir(). My patch assumes, that MC always sends
3794         absolute pathname in opendir(); so far I have always seen that.
3796         I tried to add clean up code to remove RPC mapping after exit. I
3797         cannot verify it; it always fails by me probably due to bug in
3798         portmapper interface functions. It is possible when using rpcbind.
3800         As a side note, I removed close_handle() call from do_readdir(). I
3801         don't understand, what it does there; MC normally makes
3802         opendir()/readdir()/closedir() cycle.
3804         I done minor cleanups in do_opendir(); in particular, it should
3805         probably always read RPC request first before doing anything else.
3806         Otherwise it will be read on next loop. Currently it is possible,
3807         that do_opendir() exits without fetching RPC request.
3809 Wed Aug 14 19:38:13 1996  Andrej Borsenkow <borsenkow.msk@sni.de>
3811         * mcfs.c: Cache the home directory for the mc file system.  This
3812         one was causing an rpc message to be sent constantly for home
3813         directory operations.  
3814         
3815 Wed Aug 14 20:30:09 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3816         
3817         * ftpfs.c (open_command_connection): Important ftpfs retry code
3818         bug fix: break from the retry loop.  This caused a bug that made
3819         the program to keep retrying a connection even if it had
3820         successfully logged in.
3822 Mon Aug 12 17:30:09 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3824         * main.c (do_cd): Now takes an extra argument: it can be either
3825         cd_exact or cd_parse_command.  If cd_exact is passed, then no
3826         further processing is done in do_cd for checking special directory
3827         names (- for lwd, and spaces removed at the beginning of the
3828         filename).  If the parameter is cd_parse_command, then special
3829         interpreatation is performed.
3831         The rule is easy: if we are changing the working directory to a
3832         directory specified by the user, then we should use
3833         cd_parse_command.  If we are changing to a directory whose name we
3834         got from a system call (readdir for example), we use cd_exact.
3836 Thu Aug  8 13:10:47 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3838         * ftpfs.c (ftpfs_chdir, retrieve_dir): Do not send CWD commands if
3839         the directory we are changing to is the same we are on.
3841         * profile.c (load): Fixed a long standing bug (since I guess 0.3 or
3842         0.5).  The bug had not shown until now: when a file controled by
3843         profile.c did not have a newline after the last definition on the
3844         file the value parameter would have been zero and this would make
3845         the program at some point free () a zero pointer if this case
3846         happened.  This was not the case until I edited the extfs.ini file
3847         and removed all of the extra spaces there.
3849 Wed Aug  7 22:46:36 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3851         * extfs.c (extfs_init): Fixed idioticc bug I introduced in the
3852         last version: I removed the strdup in one place, thus the code was
3853         freeing two times a pointer.  Janne's Memory Allocation Debugger
3854         pin pointed the bug in a second.
3856         * ftpfs.c: Fixed a file descriptor leak on ftpfs redial code
3857         reported by tony@trishul.sci.gu.edu.au
3859         (ftpfs_open_socket): Fixed an idiotic bug I introduced while
3860         merging the HSC patches.  Little endian machines would not be able
3861         to use ftpfs.
3863 Tue Aug  6 13:09:26 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3865         * tcputil.c (tcp_init): Use sigaction instead of signal.
3867 Mon Aug  5 20:36:55 1996  Erik Troan  <ewt@redhat.com>
3869         * extfs/rpm, cpio: Fixes to the rpm file system and a new cpio
3870         external file system
3872         * main.c (toggle_listing_cmd): When you press Alt-t it will toggle
3873         the display mode of the midnight commander.
3875 Tue Jul 23 13:36:33 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3877         * This is here just to comment that Juan has done a terrific job
3878         with the Windows NT port.
3880 Tue Jul 23 13:23:42 1996  Juan Grigera  <grigera@isis.unlp.edu.ar>
3882         * myslang.h (baudrate): Provide port specific acs, noacs and
3883         baudrate. 
3884         
3885         * util.c (file_date): Copy the non existant permissions to timebuf
3886         on NT.
3887         
3888         * file.c (mc_ctl): NT does not have vfs yet.
3890         * main.c (main): Some commands do not exit on NT.  Handle properly
3891         home_dir if the user has no HOMEDRIVE/HOMEPATH defined.
3893         * utilunix.c (save_stop_handler, my_statfs): These are per port
3894         functions and do not belong into util.c
3896 Wed Jul 17 18:15:07 1996  Benjamin Ryzman <Benjamin.Ryzman@hsc.fr>
3898         * ftpfs.c: Added support for the HSC firewall.
3900 Fri Jul 12 19:31:32 1996  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
3902         * subshell.c: Hack to avoid the couldn't change to %s messages.
3903         
3904 Mon Jul  8 10:50:04 1996  Alexander V. Lukyanov <lav@video.yars.free.net>
3906         * main.c (setup_sigwinch): Bug fix: initialize sa_flags on systems
3907         that do not have SA_RESTART defined.
3909 Thu Jul  4 14:25:41 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3911         * key.c (is_idle): Changed struct fd_set to fd_set in the two
3912         places where this did happen.
3914 Thu Jul  4 13:50:47 1996  Gregor Hoffleit <flight@mathi.uni-heidelberg.DE>
3916         * configure.in: create the malloc.h stub in the distribution
3917         directory instead of the src directory.
3918         
3919         * util.c (is_printable), utilunix.c (putenv): Provide putenv from
3920         GNU libc in case the OS does not have putenv (nextstep).
3921         
3922         * util.h: Add replacement for ISASCII 
3923         
3924         * menu.c (menubar_handle_key): Use ISASCII instead of isascii,
3925         NeXTStep lacks it.
3927 Tue Jul  2 14:29:36 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3929         * main.c (reload_panelized): Fix this routine.  This is the
3930         culrpit of all of the panelize problems.  The code was freeing
3931         pointers that were in use.  Now I free the pointer when I notice
3932         it is not going to be used.  Fixes the problem reported by Steven
3933         and Michael Sterret.
3935 Mon Jun 24 17:47:36 1996  D. Hugh Redelmeier <hugh@mimosa.com>
3937         * subshell.c (feed_subshell): Looking at this some more, I notice
3938         that &read_set is being modified by the select, but not
3939         re-initialized by the code!  The initialization code precedes the
3940         loop, but should be inside it!  Here is my version, with the
3941         initialization moved into the loop (remember to delete it from in
3942         front of the loop).
3944 Thu Jun 20 15:53:47 1996  Alexander V. Lukyanov <lav@video.yars.free.net>
3946         * subshell.c (feed_subshell): Retry if we get EINTR (even if we
3947         have SA_RESTART solaris will deliver EINTR on SIGCHLD).
3949 Thu Jun 13 21:12:14 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3951         * file.c (copy_file_file): During non-local file systems that
3952         support mc_ctl, rotate the dash every 5 seconds or so, to keep the
3953         user awake.
3955         * cmd.c (do_link): Check that the other panel is actually a
3956         listing before attempting to use ->cwd.
3958 Tue Jun 11 18:36:09 1996  Miguel de Icaza  <miguel@mirage.nuclecu.unam.mx>
3960         * ext.c (regex_command): Editing of non local files should work now.
3962 Tue Jun 11 16:07:38 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3964         * ext.c, cmd.c: if the user edits the mc.ext file, flush the
3965         cached copy.
3966         
3967 Mon May 20 12:27:58 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3969         * configure.in: check for putenv and isascii.  Next does not have
3970         those.  If malloc.h does not exist, create an empty file as a
3971         substitute (next too).
3973 Wed Jun  5 11:18:19 1996  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
3975         * cons.saver.c, cons.handler.c, key.c: Misc changes to make
3976         mc work on SparcLinux (code written only for linux - like cons.saver
3977         handling - didn't care about endians...)
3979 Thu May 16 12:30:23 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3981         * view.c (view): Use the global Wview variable instead
3983 Wed May 15 20:24:55 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3985         * panelize.c: Provide extra space for temporary dirent structure. 
3987         * win.c (check_movement_keys): Do not handle the C-b combination,
3988         it is used by the viewer for next/previous file.
3990 Mon May 13 09:11:27 1996  Joseph M. Hinkle <jhinkle@rockisland.com>
3992         * boxes.c (display_bits): Call proper help information.
3994 Mon May  6 21:20:39 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
3996         * file.c (copy_file_file): Should abort now ongoing transfers
3997         faster.
3999         * ftpfs.c (initconn): Attempt to use passive ftp transfer mode if
4000         source routing is in effect.  If this does not work, dump source
4001         routing and use regular method for ftp transfer.
4004 Thu May  2 19:29:07 1996  ?????
4005         
4006         * extfs/zip (DOZIPINFO): Fixed zipfs support for files with
4007         comments, lost mail address.
4009 Thu May  2 19:29:07 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4010         
4011         * vfs/vfs.c: minor parse fix.
4013 Thu May  2 19:25:09 1996  "Sergey Ya. Korshunoff" <root@seyko.msk.su>
4015         * configure.in: Check for libtermcap (new Linux libcs do not have
4016         libtermcap in libc).
4018 Tue Apr 30 20:58:34 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4020         * ftpfs.c (store_file): Remove temporary files after an outgoing
4021         tansfer. 
4023 Mon May  6 01:10:50 1996  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
4025         * extfs.c: Hack to get the a: and b: fs running (fixed couple of
4026         problems with external fs when no archive file was used
4028         * extfs.c (extfs_run): Allows you to "execute" some files inside
4029         of extfs - your script will be called with $1=run $2=archive $3=path,
4030         e.g.
4031         /usr/lib/mc/extfs/rpm run /home/jj/rpm-2.0-2.src.rpm INSTALL
4033         * vfs/Makefile.in: rpm script gets installed
4035         * vfs/extfs/rpm: Couple of changes to make rpmfs more powerful
4037         * vfs/extfs/a: Fixes - the ls -l parse in mc is quite strict
4038         about date, so that it wasn't happy by 2-24-96 (correct is 02-24-96)
4040         * layout.c: New checkbox in the Layout dialog. When running on xterm
4041         and Xterm hintbar is checked, hintbar will be put into the xterm's
4042         title bar, so that you'll save space - will have more lines for file
4043         display
4045         * main.c: Fix, so that it is possible to do quick searches for
4046         characters like +, -. In order to select/unselect, you have to press
4047         escape twice before +, -.
4049 Mon Apr 29 21:34:53 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4051         * subshell.c (init_subshell): Documented startup shell scripts.
4053         * find.c (do_search): Added directory exclusion.
4054         
4055 Mon Apr 29 08:42:52 1996  Adam Tla/lka <atlka@pg.gda.pl>
4057         * cmd.c (view_file): Return value, fixes Soalris crash.
4059 Fri Apr 26 18:10:10 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4061         * ftpfs.c (initconn): Added source routing to ftpfs, he he, this
4062         lets you specify a specific route for your ftp traffic :-).  It is
4063         still missing the passive open code, so it currenly is only able
4064         to send commands trough the source route.  This code is disabled
4065         by default, it requires human intervention (ie, editting config.h
4066         and specifying HAVE_SETSOCKOPT).
4068 Thu Apr 25 11:11:08 1996  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
4070         * cmd.c (source_routing): Added source routing option to sockets,
4071         he he he. 
4073 Wed Apr 24 22:12:50 1996  Alexander V. Lukyanov <lav@video.yars.free.net>
4075         * key.c: touch window for ncurses.
4076         
4077         * color.c: use proper colors for ncurses.
4078         
4079 Fri Apr 19 09:02:51 1996  Juan Grigera  <grigera@isis.unlp.edu.ar>
4081         * vfs.h (vfs_canon): On the non-vfs definition return a strdupped
4082         version of the string, just like vfs_canon does.
4084         * profile.h: Do not include profile prototypes routines present on
4085         NT. 
4087         * key.nt.c, slint.nt.c, utilnt.c: updated, look at README.NT
4089 Thu Apr 18 20:35:03 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4091         * subshell.c (exit_subshell): Do not ask for confirmation for
4092         killing subshell when it is already dead.
4094         * Do not return after invoking subshell, let the code reinit slang
4095         and let it shutdown properly.
4097 Wed Apr 17 10:03:57 1996  Erik Troan  <ewt@redhat.com>
4099         * extfs/rpm: Added new rpm file system.  This one lets you browse
4100         RPM files.
4102 Wed Apr 10 17:05:57 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4104         * utilunix.c (tilde_expand): Now returns 0 if the home directory
4105         for the tilde expansion does not work.
4107         * vfs.c (vfs_canon): Check for tilde_expand results.
4109         * complete.c (command_completion_function): Check for return
4110         values from tilde expand.
4112         * wtools.c (input_expand_dialog): Check for tilde_expand result.
4114 Tue Apr  9 20:06:03 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4116         * main.c (create_panels): both startup directories are now handled
4117         properly (for those cases where the second directory was relative
4118         to the startup working directory)
4120         * subshell.c (do_subshell_chdir): Added proper quoting of
4121         directories, should get rid of the problems with directories with
4122         spaces (common now for those using windows)
4124 Thu Apr  4 11:03:07 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4126         * chown.c (chown_cmd): Check for return values of getpwnam and
4127         getgrnam, bug report by Mikhail Savitski <mms@eiscathq.irf.se>
4129 Fri Mar 29 18:00:11 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4131         * From: Liviu Daia <daia@stoilow.imar.ro>: Fix the documentation
4132         on the keywords for setting colors 
4134 Wed Mar 27 19:58:32 1996  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
4136         * tree.c: If configuration variable xtree_mode is true then when
4137         browsin with the tree panel the other panel will reload the
4138         contents of the panel.
4140         * tkmain.c, key.c: Should compile and link with latest release of
4141         Tk
4143 Mon Mar 11 09:53:10 1996  John Ioannou <roryt@compulink.gr>
4145         * cmd.c (do_link): Suggest symlink names. (get_random_hint): make
4146         it work on SCO.
4147         
4148         * utilunix.c (gettimeofday): Contrinuted this routine for SCO machines.
4149         
4150 Mon Mar 11 09:47:15 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4152         * Makefile.in: Split the util.c file in three pieces: utilunix.c:
4153         util routines pertinent to Unix; utilnt.c: util routines for
4154         Windows NT (from Juan Grigera) and util.c that has the OS
4155         independent (well, mostly) 
4157 Tue Mar  5 19:28:35 1996  Juan Grigera <grigera@isis.unlp.edu.ar>
4159         * boxes.c (sort_box): Add case sensitivity to the menu.
4160         
4161         * user.c (execute_menu_command): windows nt requires a .cmd
4162         extension to execute commands.  Fix a return path that did not
4163         close nor unlink the file.
4164         
4165         * chmod.c: now we have working chmod.
4167         * hotlist.c: use the proper path separator, do not pass a non used
4168         parameter to update_path_name
4170         * dir.c, panelize.c, boxes.h, setup.c: added support for case
4171         sensitive sorting (for windows nt).
4173 Mon Mar  4 17:08:22 1996  Mark Olessen  <olesen@weber.me.queensu.ca>
4175         * container.c, sldisply.c: Include config.h before anything else.
4177         * tcputil.c (sig_pipe): AIX requires an int parameter
4179         * sltermin.c: changes to compile slang on AIX.
4181 Mon Mar  4 09:29:32 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4183         * profile.c (GetSetProfileChar): Fixed bug when the AppName was
4184         zero.  This could be the case if one of the keys in the profile
4185         has no value.
4187         * info.c (info_show_info): Fixed crash when info was displayed on
4188         a non local vfs.
4190 Mon Mar  4 08:17:27 1996   Anatoly A. Kulakov (kulakov@JamesBond.inp.nsk.su)
4192         * mc.lib: for xterms and xterm-colors define the page up and page
4193         down keys.
4195         * nt/Makefile: remove spurious backslash
4197         * src/dlg.h: Do not give a name to the Widget_messages enum (some
4198         compilers can't handlte this).
4200 Sat Mar  2 10:27:24 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4202         * cmd.c (view_other_cmd): Call my_system (1, shell, NULL) instead
4203         of my_system (1, shell, "").  This allows one have a shell spawned
4204         when pressing C-o and the subshell code is not activated.
4206 Tue Feb 27 21:52:21 1996  Juan Grigera <grigera@isis.unlp.edu.ar>
4208         * More Windows NT code.
4210 Tue Feb 27 21:52:21 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4212         * ftpfs: Now the program will retry logins if the server is too
4213         busy. 
4215         * view.c, cmd.c: C-f and C-b will take you to the previous and
4216         next files on the panels.
4218 Fri Feb 23 08:51:44 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4220         * tree.c (my_mkdir_rec): Do not create recursive directories if
4221         the file system is not the local one.  I should actually fix this
4222         to use a routine that checks if the pathname is already at the top
4223         directory for that filesystem.
4225 Wed Feb 21 09:58:22 1996  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4227         * ftpfs.c: fix symlink file handling for ftpfs file systems.  If we are a
4228         symlinks and follow symlinks is set, we should operate on the
4229         pointed to file stat information, not the symlink information.
4231         * ftpfs.c (open_command_connection): Setup the proxy field, added
4232         retry code for ftp.
4234 Fri Jan 19 12:00:00 1996  Mark Olesen (olesen@weber.me.queensu.ca)
4236         * Include config.h allways before any other include file, this
4237         fixes compilation on AIX.
4238         
4239 Fri Jan 19 12:00:00 1996  Miguel de Icaza
4241         * subshell.c (init_subshell): Enable the interrupt key when doing
4242         the feed subshell, if the subshell code hangs, we will turn of the
4243         subshell support and allow the user to press C-c.
4244         
4245 Tue Jan 16 11:28:58 1996  SGI portability fixes.
4247         * I lost the mail with the author name, could you tell me who are
4248           you? 
4250         * widget.h: removed enum names.  Broken sgi compiled complains
4251         about this.
4252         
4253         * tar.h: Removed trailing ,.
4255         * dir.h: Define sort_orders as external.
4257 Tue Jan  9 11:47:47 1996  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4259         * configure.in: Define USE_SETUPTERM only if the sample program
4260         included in configure is compiled successfully.  This is required
4261         because some systems have setupterm but are lacking the macros we
4262         need. 
4264 Tue Jan  2 17:01:23 1996  Carl Thompson  <miguel@athena.nuclecu.unam.mx>
4266         * subshell.c (init_subshell): Use the builtin $cwd variable and
4267         echo instead of invoking an external pwd command.  This fixes
4268         follow links.
4270 Sun Dec 31 17:46:39 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
4271         
4272         * layout.c (print_vfs_message): Check midnight_shutdown first.
4274 Fri Dec 29 19:10:25 1995  Juan Grigera <grigera@isis.unlp.edu.ar>
4276         * various portability changes to the Midnight Commander so that it
4277         runs under Windows NT.
4279 Fri Dec 29 19:09:23 1995  Antonio Palama <palama@posso.dm.unipi.it>
4281         * main.c: For Windows NT, Juan Grigera hacked the drive_cmd.
4283 Tue Jan  2 00:51:12 1996  Jakub Jelinek   <jj@sunsite.mff.cuni.cz>
4285         * complete.c (filename_completion_function): Fixed one completion
4286         related bug.
4288         * ftpfs.c (store_file, ftpfs_open): Fixed uploading of files using
4289         ftp.
4291         * ftpfs.c (ftpfs_chown): Don't always cry that you cannot chown
4292         using ftp - everyone should know it and who cares - but for root
4293         this was shouting for each file :(
4295         * vfs.c, undelfs.c: Changed the vfs prefix to `undel:' from
4296         `undelfs:'. So you specify cd undel:/dev/hda1. This is similar
4297         to how we do ftp (not ftpfs://) etc.
4299         * vfs.c (parse_ls_lga): Made more robust, so that it handles again
4300         listings from extfs (with all date formats), doesn't mind if someone
4301         is not supplying gid and handles even if major,minor are printed
4302         without an intervening space (like 14,5).
4304         * vfs.c (vfs_canon): Fixed a bug, which made an endless loop when
4305         trying to enter an extfs archive (like zip:), where the archive name
4306         was not absolute. Together with the previous bug fix, zip files
4307         should work again well :)
4309 Sat Dec 23 16:55:54 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4311         * vfs/undelfs.c, vfs/vfs.c: Add support for the Undelete file
4312         system. 
4314 Sat Dec 23 16:55:25 1995  Ching Hui <u811563@Oz.nthu.edu.tw>b
4316         * configure.in: Fixed bug in curses detection for OSF/1. 
4317         sltermin.h: include config.h.
4319 Thu Dec 21 19:25:48 1995  Carl Thompson <clip@clip.clark.net>
4321         * file.c: This is just a one line patch to fix a bug in the
4322         Midnight Commander. When a delete operation is attempted while
4323         delete confirmation is turned off, it pops up a destination
4324         directory dialog box instead of just deleting the file.  This
4325         dialog box is unused and defeats the purpose of having delete
4326         confirmation off.
4328 Mon Dec 18 18:44:16 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4330         * main.c (midnight_callback): Do not handle the +, - and / keys
4331         specially if the panel is in search mode.
4333 Fri Dec 15 12:38:18 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4335         * file.c (copy_dir_dir): When copying directories recursively,
4336         make sure the directory have write permission.  Before returning,
4337         use chmod to set the correct directory attribute.
4339 Sat Dec 16 16:40:14 1995  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
4341         * util.c (resolve_symlinks, diff_two_paths): New utility functions:
4342         the first one traces a symlink as much as possible, so that the
4343         final returned (mallocated) path contains no symlink steps at all.
4344         The latter one takes two paths and creates a relative path from the
4345         first one to the second one, as short as possible.
4347         * file.c: Stable symlinks should now keep relative symlinks
4348         relative, using the above mentioned functions.
4350         * panel.h: Switches some boolean flags into a bit-field.
4352         * cmd.c, screen.c: Directory total should be now displayed
4353         correctly, i.e. if not Show Dir Sizes is active, it shouldn't count
4354         them at all, if it is active, it should sum these sizes as well and
4355         when changing from not active to active (via F9 C I) or back (C-R),
4356         adapt the total correctly :)
4358         * vfs.c (parse_ls_lga): Should now handle No{v,tw}ell listings
4359         as well.
4361         * cmd.c (other_symlink_cmd): New command - C-x C-l. Makes a relative
4362         symlink to the selection of the current panel, defaults to a file
4363         in the other panel. The symlink value is shortest possible, so that
4364         it may optionally fit into inode itself, if the fs supports this.
4366 Thu Dec  7 13:15:30 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
4368         * layout.c (layout_callback): Fixed the constants for the menubar.
4370         * If we try turn off command prompt from Option->Layout,
4371         then we will see command propt again (no Hint if it
4372         turned on).
4374         * widget.c:  Removing first element from User listing mode list
4375          causes crash. 
4377 Thu Dec  7 13:00:20 1995   Jakub Jelinek <jj@sunsite.mff.cuni.cz>
4379         * file.c: Stable symlinks works for copying (i.e. the symlink
4380         points to the location it should), but it is not like I would
4381         like it to be - there has to be an algorithm, which will try
4382         to reduce the size of the symlink as much as possible and
4383         not just making absolute symlinks from relative :( This is only
4384         a short time solution. 
4386 Thu Dec  7 00:00:00 1995   Jakub Jelinek <jj@sunsite.mff.cuni.cz>
4388         * cmd.c (edit_symlink_cmd): New function, binded to C-x C-s.
4389         Allows to edit the content of the symlink.
4390         
4391         * file.c: Move should now work when dive_into_subdirs is not
4392         set, i.e. you can finally move two similar subtrees into one.
4393         It tries to use move as much as possible and where it is not
4394         possible, it does a copy and delete strategy. Also, prepared things
4395         for next patch, which will allow copying/moving of relative symlinks,
4396         so that they'll point to the same location as before.
4397         
4398         * setup.c: Users can save their defaults of dive_into_subdirs
4399         into mc.ini.
4400         
4401         * help.c, xv/xvhelp.c, xv/xvscreen.c: xv edition should now compile :)
4402         
4403         * screen.c: New keystroke M-l, which chdirs in the other panel to
4404         directory where current symlink points to (even if it doesn't point
4405         to a directory - then other panel will become the directory where a
4406         file the symlink points to is located).
4407         
4408         * main.c (copy_current_readlink, copy_other_readlink): New keystrokes
4409         C-x r, C-x C-r. If current/other panel's selection is a symlink,
4410         readlink value will be inserted into the command line.
4411         
4412 Wed Dec  6 13:21:21 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4414         * ftpfs.c (ftpfs_chdir): Better reconnect code on chdir.
4416         * vfs.c (parse_ls_lga): ftpfs will work with directories that have
4417         spaces in their name (".. " and ". ." will both work for example).
4418         
4419         (parse_ls_lga): Support for servers that do not provide the
4420         groupname even when asked to.
4422 Wed Dec  6 11:01:17 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
4424         * mc.lib, win.c: Handle some more key pad keys on the
4425         use_alternate_keypad_mode.
4426         
4427         * main.c (midnight_callback): New option only_leading_plus_minus=1
4428         in ~/.mc.ini set special treatment for '+', '-', '*' in command
4429         line (select, unselect, inverse selection) only if command line is
4430         empty. No need to qoute this characters in middle of command
4431         line. But we cant change selection when command line is not empty.
4433         
4434         * main.c (midnight_callback): Added missing terminator for the
4435         default_map keyboard map.
4436         
4437         * main.c (done_mc_profile): Do not sync_profiles if
4438         auto_save_setup is not set.  This plus the fix below should avoid
4439         most cases of .mc.ini overriding (the exceptions are when the
4440         hotlist or the panelize options commands are used).
4442 Wed Dec  6 11:00:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4444         * panelize.c (save_panelize), hotlist.c (save_hotlist): call
4445         sync_profiles since now at program shutdown if auto-save setup is
4446         not set we won't do the updating.
4448 Mon Dec  4 11:32:02 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
4450         * sltermin.c: Provide an alternate way if setupterm is defined on
4451         curses to retrieve terminal capabilities.  This fixes the line
4452         drawing problems on OSF/1 (and hopefully on AIX as well).
4453         
4454 Mon Nov 27 21:08:41 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4456         * tree.c (load_tree): Finally fixed the tree-loading crash when
4457         the .mc.tree file was corrupt.
4458         (tree_key): Do not eat characters not meant for the trereree below
4459         ' '. 
4461 Fri Nov 24 19:54:01 1995   Ilya Rybkin (rybkin@rouge.phys.lsu.edu)
4463         * user.c (strip_ext): Basename macor (%b, %B)
4464         * user.c: Do not add space to temporary files, so that the #!
4465         works for the script files.
4467         * key.c: Allow the M-? sequence to be generated (find file).
4469         * wtools.c: Do not make the cancel button the default action.
4471 Thu Nov 23 13:51:11 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
4473         * slint.c (slang_init), sldisply.c: Fix the USE_TERMCAP usage.  It
4474         should now allow FreeBSD and Nextstep users to use the arrow keys.
4476 Mon Nov 20 14:25:59 1995  Ching Hui <u811563@Oz.nthu.edu.tw>
4478         * main.c (main): Call vfs shut before shutting down the window system.
4480 Thu Nov 16 23:08:17 1995  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
4482         * lib/Makefile.in: Fixed install goal for the mc.ext file.
4484         * file.c (copy_file_file): If appending, do not change mtime &
4485         owner & permissions - leave them all untouched as they were at
4486         the original target file you were appending to.
4488         * widget.c, cmd.c: Changed input line history behaviour.
4489         Now the history shouldn't remember same lines when they follow
4490         each other, then shouldn't remember empty lines at all, but
4491         also, once a line is added into history, it should stay there
4492         forever, so that you can repeat it again (previously, if you've
4493         moved using M-p and M-n onto any line in the history and changed
4494         it, you lost the original line from the history).
4496 Wed Nov 15 12:22:47 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4498         * ftpfs.c (command, is_connection_closed, ftpfs_chdir): Check for
4499         dropped connections.  In the past the is_connection_closed routine
4500         actually attempted to read from the connection but this caused a
4501         problem (remember the hang connections for small files?).
4503         (ftpfs_setctl): vfs_canon the filename.
4505 Mon Nov 13 10:28:42 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4507         * ftpfs.c (ftpfs_ctl): Now it will be able to flush the directory
4508         cache (used by C-r in the main program);  increased the ftpfs
4509         directory timeout;  C-r now works for ftp file systems.
4511         * profile.c: increased the line size to 4k, should fix this and do
4512         something better.
4514 Wed Nov  8 10:04:55 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
4516         * widget.c (listbox_remove_current): listbox_remove_current:
4517         free() at subroutine end make free not old current position but
4518         new one.  Removing all entries in the listbox causes problems when
4519         routine return. This patch don't allow listbox with no
4520         elements. IMHO it's not bad (we always show something insteed of
4521         nothing)
4523         * wtools.c (remove_callback): On listbox with user display formats
4524         <r> hot key removes entry and show new listbox state. When we
4525         select [Remove] button with mouse or <TAB>, then we dont see new
4526         listbox state. Ugly hack, but works OK.
4528         * layout.c (swap_panels): Fixed crash:  Now we change the
4529         definitions of left_panel and right_panel.
4531         * chmod.c (chmod_refresh): use REVERSE_COLOR instead of
4532         normal_color. 
4534         * color.h: COLOR_FOCUS now uses A_BOLD instead of A_REVERSE,
4535         COLOR_HOT_FOCUS is now 0 inseat of REVERSE|BOLD.
4537         * tree.c: Different colors 
4539         * boxes.c (display_callback): After selecting user listing format
4540         from listbox we see  old format string. When we press LEFT, RIGHT
4541         or other key we see a new one.
4543 Thu Nov  2 17:03:37 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4545         * ftpfs.c (ftpfs_ctl): Clear the localname
4546         (ftpfs_ungetlocalcopy): Keep in sync: if we free
4547         local_filename in an ftpfsentry, clear it.  
4549 Tue Oct 31 16:57:57 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4551         * help.c (interactive_display): I wonder why I code so badly?
4553 Mon Oct 30 16:16:22 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4555         * view.c (view_handle_key): Some additions so that in the future I
4556         will be able to make the viewer work as tail -f [Not yet ready].
4558         * dlg.h: New WIDGET_IDLE message.  W_WANT_IDLE flag defined.
4560         * dlg.c: The default routine for dialogs now handles the DLG_IDLE
4561         message and broadcasts it to all the widgets in the current Dialog
4562         head. 
4564         * ftpfs.c (ftpfs_ctl): Get the reply before closing the data
4565         connection.  (command, get_line, get_line): Keep a log of the ftp
4566         dialog (also new flag on main.c)
4568 Mon Oct 30 11:26:09 1995  Sergey Ya. Korshunoff <root@seyko.msk.su>
4570         * slgetkey.c: move the DEC 8bit hack to the slint.c file.
4572         * boxes.c (display_callback): Button 'u' did not work as the other
4573         buttons. 
4575         * boxes.c (display_callback): User listing format selection by C-c
4576         don't work with SLANG. SLANG convert C-c to C-g. This patch
4577         correct this. But emove patch from list dont wotk (general
4578         protection error)
4580         * screen.c (paint_frame): Moving files in brief panel format
4581         corrected. (move_up, move_down): Allows to configure if scrolling
4582         is going to be line by line or page by page with the
4583         panel_scroll_pages setting.
4586         * view.c (view_labels): Don't setup wrap mode on in view module
4587         every time when view called.  Show UnWrap label when wrap_mode on.
4589 Mon Oct 30 11:17:25 1995  Gerd Knorr <kraxel@cs.tu-berlin.de>
4591         * configure.in, mc.ext.in: Use autoconf for the MANDOC and -Tascii
4592         detection instead of doing our own seding at make time.
4594 Thu Oct 26 18:03:50 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4596         * file.c (check_hardlinks): Avoid hardlink checks only if
4597         vfs_file_is_ftp.
4599         * vfs.c (vfs_file_is_ftp): guess.
4601 Tue Oct 24 17:36:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4603         * help.c (interactive_display): Help should not crash at help
4604         startup when prev_node_cmd is invoked.
4606 Thu Oct 26 15:15:04 1995  Jakub Jelinek  <jj@sunsite.mff.cuni.cz>
4608         * file.c (check_hardlinks): Hack, so that no more cyclic hardlinks
4609         appear on Slowaris - stupid kernel, which makes it possible to
4610         link directories :(. Disabled hardlink cache for all non-local
4611         vfs's. Where do we need it? Ftp cannot handle it, tar is still read
4612         only, mcfs perhaps?
4614         * cmd.c ((un)select_cmd): Fixed a problem when .. directory is a
4615         symlink (i.e. grand parent of current directory is a symlink).
4617 Tue Oct 24 11:09:05 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4619         * main.c (create_panels): Loading of the proper other directory at
4620         startup. 
4622 Fri Oct 20 19:55:48 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4624         * subshell.c (init_subshell): ZSH: use pwd>&%d instead of
4625         pwd>>&%d, I hope to get this one right this time.
4627 Wed Oct 18 17:58:11 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4629         * panelize.c (do_external_panelize): fixed the ghost marked files
4630         when panelizing.
4632 Tue Oct 17 19:15:10 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4634         * vfs.h: ftp copies should work on the alpha again.
4636 Thu Oct 12 16:44:02 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4638         * file.c (copy_file_file: for the ftpfs case): Instead of
4639         incrementing the file size by 8192 bytes, we should increment by
4640         the actual bytes trasfered
4642 Wed Oct 11 20:19:28 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4644         * ftpfs.c (ftpfs_ctl): Now the FINISHREMOTE message actually
4645         aborts the ftp transfer.0
4647         * slang.h: Fixed color problem on some linuces with the Unicode
4648         support.  Now we only define linux_unicode here if we are on linux
4649         and there is support for it.  This caused the strange non-color
4650         problem on some versions of Linux.
4652 Wed Oct 11 13:09:27 1995  Adam Tla/lka <atlka@sunrise.pg.gda.pl>
4654         * help.c (show): Puts the cursor over the currently selected link.
4656         * xnc.hlp: Fixed the help corrupt problem.
4658 Sat Oct  7 16:40:21 1995  Jakub Jelinek    <jj@jfch.vc.cvut.cz>
4660         * file.c, ftpfs.c: First trial to make copying from FTPFS work as
4661         it should work, i.e. if we have no local copy yet, copy it directly
4662         and not through temp and also copy it from within the main
4663         copy_file_file loop and not fetch it before and then copy the local,
4664         so that e.g. the progress bar will be displayed correctly.
4666 Thu Oct  5 15:35:36 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4668         * cmd.c (view_other_cmd): It's obvious that one of this days I
4669         will have to learn programming and to write bug free code for
4670         programs that are > 10 lines.
4672         Now, the good news: Finally I got rid of the ugly constant in
4673         terms.c for changing the font on xterms (the esc + "(" + 0 thing),
4674         this means that the kanji char set should work on the viewer and
4675         also means that slang will redraw correcly the screen.
4677         * main.c (setup_mc_viewer): Create a fake panel for the viewer
4678         when the mc is invoked in viewer mode.  Needed, since
4679         expand_format will want to use cpanel to extract the file name.
4681         * cmd.c (view_other_cmd): C-o should give a shell even for users
4682         without the subshell support.  I'm not sure if this is a good
4683         idea. 
4685 Wed Oct  4 13:45:21 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4687         * ftpfs.c (retrieve_file): Moved the disable_interrupt_key to the
4688         error_3 section.
4690         * find.c (find_callback): Now you can use F3 and F13 to view at
4691         the files found on the find panel without leaving the find box.
4693         * view.c (do_view_init): Implemented view markers, use nm and nr
4694         (where n is a number between 0 and 9) to set the nth mark and to
4695         jump to the nth part respectively
4697         * main.c (create_panels): Current panel set to a panel that is in
4698         the view_listing mode (before it was set always to the left_panel).
4700 Thu Sep 28 12:06:46 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4702         * help.c (interactive_display): Really, this time the help is fixed.
4704         * vfs.c (vfs_stamp_path): Provide a way to stamp the file systems
4705         that are on the panels.  This is called from main.c just before
4706         disposing the panels, so that the vfs's have a chance to shutdown
4707         (and cleanup /tmp as torben reported :-)
4709         * option.c: Replaced 8-bit display with navigate-with-arrows,
4710         since Display Bits already handles the 8 bit setting.
4712         * learn.c (learn_save): Loop only from 0 to learn_total.  The
4713         learnkeys array is smaller than the key_name_conv_tab (fixes a
4714         crash on hp-ux).
4716         * screen.c: Now the F13 should clear also the search status.
4718         * view.c (change_viewer): Fixed program crash when the viewer was
4719         invoked as a filtered view.
4721         * dir.c (do_load_dir): Ok, we can open a directory, but I have
4722         found the first empty directory in my life (no . nor ..: the
4723         remote systems nfs directory does not exist any longer).
4725 Wed Sep 27 11:07:43 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4727         * main.c (do_nc): Starting the Midnight Commander as a file viewer
4728         should be faster now
4730         * view.c (view_handle_key): Started implementation of reverse
4731         search, use the C-r and '?' keys to activate normal and regex
4732         reverse search respectively.  May still have bugs.
4734         * ftpfs.c (open_command_connection): Initialize the complete
4735         bucket structure, this fixes the crash when the password is not
4736         answered (when tryingo to reconnect to an ftp server).
4738         * util.c (strip_home): Check return values from ftpfs_gethome and
4739         mcfs_gethome. 
4741         * boxes.c (display_bits_box): Stupid bug fixed: now it should
4742         reflect the internal setting of the display variables.
4744         * help.c (interactive_display): Now history_ptr always is between
4745         0 and HISTORY_SIZE - 1, this should fix the crash reported by
4746         Thanh.
4748         * view.c (block_search, search): small changes (should be somewhat
4749         faster).
4751         * main.c (setup_mc): Add the select channel for load_prompt after
4752         panels have been created (so, calling get_event before this
4753         (mc_chdir on an ftpfs may do this) won't try to invoke the load
4754         prompt routine).
4756 Wed Sep 27 11:03:21 1995  Gerd Knorr <kraxel@cs.tu-berlin.de>
4758         * main.c (handle_args, create_panels, setup_mc):  Allowed the
4759         program to be passed a vfs path name by making the mc_chdir call
4760         to be done after slang has been setup (the ftpfs and mcfs both may
4761         need to use slang to ask for a password).
4763 Tue Sep 26 20:38:57 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
4765         * view.c (view_callback): Removed call to view_status before
4766         view_update on WIDGET_KEY message, this should work, if not, I
4767         should put it back or put the view_updated on the proper places.
4768         (search): On non-hex view the viewer now shows the search status.
4769         (block_search): Coded but untested: also the hex view should
4770         report the search status.  I wonder if it will work.
4772         * boxes.c: 8 bits should work now with slang correctly.
4774 Tue Sep 26 11:36:12 1995  Jakub Jelinek  (jj@jj)
4776         * screen.c: If a column for size is more narrow than actual size
4777         can fit in, show number of Kilobytes or Megabytes or Gigabytes
4778         instead and do not strip the most important digits (like e.g. 
4779         a 4e6B file was shown equally to a 104e6 file).
4781 Sat Sep 23 00:27:05 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
4783         * mc.sgml, linuxdoc-sgml.diff: I hope I have managed to fix the
4784         problems I has been aware of with backslashes, tildes etc. I do not
4785         know about any further conversion problem.
4787 Thu Sep 21 20:21:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4789         * widget.c (button_callback): Global kill ring.
4791 Thu Sep 21 23:09:12 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
4793         * converted the documentation to mc.sgml (linux-doc DTD), so that
4794         from one source (mc.sgml) you can generate mc.1, mc.hlp, mc.texi,
4795         mc.info, mc.html, mc.tex, mc.dvi, mc.ps, mc.txt (and some other
4796         formats). To convert this, you have to install Matt Welsh's
4797         linuxdoc-sgml-utils and apply patch from the our doc directory.
4798         (linuxdoc-sgml is only name of the dtd, it is not useful for Linux
4799         only, but the name is like this only because linuxdoc sgml utilities
4800         were developed primarily for Linux HOWTO documentation and LDP).
4801         src/mc.hlp file is generated from mc.sgml, so you can get some
4802         feeling.
4804         * configure.in: Fixed an awful bug with the gpm library.
4806 Thu Sep 21 11:56:08 1995  John E. Davis (davis@space.mit.edu)
4808         * sldisply.c: Should now use the acsc definition from the terminal
4809         database instead of the hardcoded values.
4811 Thu Sep 21 11:13:41 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4813         * main.c (handle_args): Now you have to use the -v [file] flag to make
4814         the Midnight Commander start up in the viewer mode on the file file.
4816 Wed Sep 20 16:38:44 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4818         * achown.c (next_file): Chown and advanced chown should work now
4819         when setting all of the tagged files.
4821         * wtools.c (input_dialog_help): Input dialogs now have nice
4822         buttons so that mouse users will not complain
4823         (create_listbox_window): Added cancel button.
4825         * tcputil.c (lookup_netrc): Avoid a program crash.
4827         * help.c (help_event): Fixed crash when the user pressed the left
4828         too  long.
4830 Wed Sep 20 10:16:27 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
4832         * panelize.c: Fix the hang problem on OSF/1.
4834         * subshell.c: Open the slave side of the pty on the parent code
4835         just after opening the master side, then close it on the parent
4836         code.  No need to use the sigusr1 sync code anymore and it's
4837         working on Solaris, Linux and OSF/1.
4839 Tue Sep 19 21:04:25 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4841         * view.c (view_new): Initialize last_read, should fix the bug
4842         with reformatting pages.
4844         * user.c (check_format_var): Added the %var macro.  Now tcsh users
4845         will be able to use the stock mc.ext file.
4847         * ftpfs.c (send_ftp_command, ftpfs_hint_reread): Now you can
4848         specify blocks of operation that will disable ftp's code to reread
4849         the directory on each operation.
4851 Sat Sep 16 18:56:51 1995  Alessandro Rubini  <rubini@ipvvis.unipv.it>
4853         * Makefile.in: Abort make process if one of the submakes fails.
4855 Sat Sep 16 18:56:51 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4857         * tcputil.c (open_tcp_link), ftpfs.c (ftpfs_open_socket): Check for
4858         empty hostnames.
4860 Sat Sep 16 18:33:38 1995  Perry Francis Nguyen <pfnguyen@netcom.com>
4862         * subshell.c: Fixed the subshell hanging when the noclobber option
4863         is set.
4865 Sat Sep 16 15:37:41 1995  Dugan O. Porter  (dugan@b011.eunet.es)
4867         * subshell.c: Tidied up a bit and re-created the fold structure.
4868         (P.S. Try the emacs package folding.el to view/edit subshell.c)
4870         * Makefile.in, */Makefile.in: Made `make distclean' leave the
4871         directory tree truly pristine.
4873         * key.c, view.c, ext.c, layout.c, complete.c, cmd.c, tcputil.c,
4874         vfs.c and extfs.c: Fixed some nasty compilation warnings, some of
4875         which were definite bugs.
4877         * extfs.c: extfs_getlocalcopy wasn't returning any value.
4879         * tcputil.c (ruserpass): Can't use copy_strings() here, because
4880         mcserv won't link.  Replaced with strcpy() and strcat().
4882 Sat Sep 16 01:54:41 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
4884         * ftpfs.c (resolve_symlink): resolve symbolic links by send the 
4885         command "LIST -Lla" to server.
4887         * vfs/Makefile.in: delete mcserv.c entry variable NETFILES.
4889 Fri Sep 13 23:41:17 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
4891         * main.c, key.c: New mc.ini option - alternate_plus_minus.
4892         If set, plus and backslash keys will work normally (i.e. insert
4893         + and \), plus/minus/asterix on keypad will select/deselect/reverse
4894         and M-+, M-- (M-\), M-* will do the same.
4896         * tcputil.c: .netrc support. Currently is angry on users which have
4897         .netrc readable by anybody else than owner, if it contains any
4898         non-anonymous password. Perhaps, if it has good permissions, but
4899         contains secret passwords, we should remember it and instead of
4900         about 25% hints display a hint to remove them...
4902 Wed Sep 13 09:31:12 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
4904         * slang/*, main.c, screen.c: Some basic Linux Unicode support.
4905         I cannot force the kernel to tell current Unicode UTF state, so
4906         this has to be forced on the command line by running mc -N.
4908 Thu Sep 14 23:54:25 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
4910         * util.c (strip_home), vfs.c (vfs_canon), ftpfs.c, mcfs.c:
4911         Handling of home directory (cd ftp://jfch.vc.cvut.cz/~/private)
4912         and .. directory in the ftp root (will bring you to the directory
4913         you have entered ftp from). nice_cd (cd via Network/Ftp link) will
4914         append the home /~/ for you.
4916         * widget.c (buttonbar_callback): In SLang, paint also buttonbar
4917         numbers correctly fg on bg.
4919 Tue Sep 12 20:21:35 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4921         * ftpfs.c (store_file): Small change to allow compilation on
4922         primitive systems that use a flag for SO_LINGER instead of a
4923         struct linger.
4925 Tue Sep 12 10:25:01 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
4927         * Make.common.in, */Makefile.in, configure.in: Fixed and cleaned
4928         all the Make.common and dependency stuff. Now we do not patch
4929         Makefiles for non-GNU make ourselves, but leave that job on
4930         autoconf. If non-GNU make, we put dependencies into the Makefiles
4931         and if your make supports stem rules (e.g. %.o : %.c), then
4932         we use them to avoid unnecessary relinking. Now the dependency
4933         stuff should always work like you expect.
4935 Mon Sep 11 15:05:04 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4937         * menu.c (menubar_paint_idx): Paint first letter when no matching
4938         hotkey has been found. 
4940         * find.c (do_find): Allow chdir to selected directories
4942         * screen.c (do_file_mark): Do not count the directory size when
4943         tagging directories.
4945         * slang/: Upgraded Slang to 0.99.20
4947         * menu.c (menubar_event): Fixed the dropping menubar problem with GPM.
4949         * subshell.c: Use the SIGUSR1 syncronization always (before it
4950         only was used with SysV).
4952         * init_sigchld is now always called from main.c instead of
4953         allowing the subshell to setup the sigchld handler.  Ching's fixes
4954         to the waitpid routine (made on Jun 27) make this possible.
4955         Should finally fix all the problems with SunOS. 
4957 Sun Sep 10 02:06:05 1995  Dugan O. Porter  (dugan@b011.eunet.es)
4958     
4959        * mcserv.c (get_port_number): there must not be any references to
4960        IPPORT_RESERVED outside the "#ifdef HAVE_RRESVPORT" block, because
4961        it probably won't be defined.  Also simplified the code a little.
4963 Sun Sep 10 14:57:04 1995  Jakub Jelinek  (jj@jj)
4965         * configure.in, Make*: Make.common handling is now done much cleaner
4966         using the autoconf features. Also, dependencies now work for all
4967         make programs, not only GNU. And last, but not least, fixed a thing
4968         which didn't allow cross-compiling...
4970 Sat Sep  9 10:03:13 1995  Jakub Jelinek  (jj@jj)
4972         * */Makefile.in: Moved goals for libvfs.a and libmcslang.a back
4973         from Make.common.in, since there is a collision in slang and vfs
4974         directory...
4976         * depend.awk: Fixed so that it never generates duplicate goals.
4977         A pain are symlinks, but at least my GNU make doesn't find anything
4978         suspicious (like there may be goals for src/util.h and xv/util.h,
4979         which is a link to ../src/util.h). This is not possible to be done
4980         in awk. The perl script will do it correctly...
4982 Fri Sep  8 17:53:14 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4984         * layout.c (set_display_type), screen: Misc fixes.  Containers are
4985         not always WPanel *.  I should rewrite the code to use containers
4986         for the information that must be shared between panels.
4988 Sat Sep  9 01:16:11 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>
4990         * ftpfs.c (ftpfs_get_current_directory): New function.
4992         * ftpfs.c (ftpfs_chdir): remember current remote directory.
4994         * ftpfs: The active vfs list now should also report the working
4995         directory on an ftpfs. 
4997 Thu Sep  7 16:59:13 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
4999         * menu.c: Misc menubar fixes.
5001         * tree.c (event_callback): God it was easy to fix one part of the
5002         tree bug.
5004         * key.c (get_key_code): Simplified the Meta-hanlding.
5006 Thu Sep  7 12:58:26 1995  Thanh Ma (tma@encore.com)
5008         * mcfs.c: Small bug fix: do not return a value from a void routine.
5010 Thu Sep  7 12:06:27 1995  Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
5012         * subshell.c: On SCO do not compile the TIOCGWINSZ code even if
5013         SCO has it.  Wrote SCO versions of pty_open_slave and
5014         pty_open_master. 
5016 Fri Sep  8 02:07:07 1995  Jakub Jelinek  (jj@jj)
5018         * depend.awk, */Makefile.in: Alternate make dep mechanism if you
5019         have awk. It is much faster (three up to four times) and
5020         finds dependencies even for libraries from other directories
5021         (libmcslang and libvfs).
5023 Thu Sep  7 10:45:01 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
5025         * Make.common.in, Makefile.in, */Makefile.in: Reorganized, so that
5026         commonly used things are all in one file (Make.common), so that
5027         e.g. if you want to define other CFLAGS by hand, you go to
5028         Make.common. Also, reduces the possibility of errors, since all
5029         variables (like the installation paths) have to be typed once.
5030         If your make doesn't support include directive, we deal with it
5031         in config.status and include it for you instead of make.
5033         * view.c (get_line_at): Fixed awful bug which caused view not to
5034         find anything on lines longer than 158 bytes.
5036         * extfs.c (extfs_init): We now free the extfs.ini profile, so that
5037         it won't be overwritten and is thus save to be edited by hand.
5039 Fri Sep  8 02:48:23 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
5041         * panelize.c (add2panelize_cmd): get the correct input from pname.
5043         * ftpfs.c: set errno to 0 before call the fgets.
5045 Wed Sep  6 10:08:59 1995 Marcelo and Juan Jose jjciarla@raiz.uncu.edu.ar 
5047         * src/tty.h: define correctly the macros to enable/disable the
5048         keys. 
5050 Wed Sep  6 10:07:17 1995  Steven N. Hirsch <hirsch@emba.uvm.edu> 
5052         * main.c (make_panels_dirty), user.c: Call the get_other_type
5053         function, do not compare the address.
5055 Wed Sep  6 21:11:21 1995  Jakub Jelinek  (jj@jj)
5057         * screen.c, dir.c: Show @, ~, ! as file type instead of always @
5058         for normal symlinks, symlinks to directories and stalled links
5059         (those who point nowhere) at no time costs.
5061         * file.c: If you are root, preserve_uidgid is now default.
5063         * key.c: Handling of 8th bit for meta even when it has not matched
5064         a stored sequence.
5066         * learn.c: Now it is not possible to redefine characters from 
5067         space to ~.
5069         * vfs.c: Per filesystem (un)getlocalcopy. This has an advantage
5070         of not copying one local file to the other in case of ftpfs and
5071         extfs and saves multiple extracts in tarfs.
5073         * vfs.c (parse_ls_lga): Fixes the date problem.
5075         * tar.c: Now it should handle even gzipped tar archives inside of
5076         tar archives correctly.
5078         * vfs/extfs.[ch], vfs/extfs/* (NEW): External filesystem.
5079         Not working by default (and won't until we release 3.0), but if
5080         you want to try, you can by typing make install.extfs in the
5081         vfs directory. Doesn't still handle symlinks to different
5082         vfs's (like linux -> ftp://sunsite.unc.edu/pub/Linux) correctly
5083         and still read only. If you want to try it, you should also install
5084         lib/mc.ext.extfs instead of lib/mc.ext to $(libdir)/mc/mc.ext.
5086 Tue Sep  5 19:37:35 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5088         * find.c (do_find): Find again should work again.
5090         * view.c (get_byte): Copy just those bytes on the original page.
5091         Electric Fence and Ching found this one.
5093         * subshell.c (init_subshell): Removed the check to TIOCSCTTY, from
5094         the Emacs sources, it seems like we should ignore the return value.
5096         * learn.c (learn_button): Do not define common keys as learned
5097         function keys.
5099 Tue Sep  5 22:59:35 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>
5101         * vfs.c (mc_getlocalcopy): call mc_open function before tmpnam 
5102         function.
5104         * ext.c (exec_extension): check the return value of mc_getlocalcopy.
5106 Tue Sep  5 23:39:12 1995  Jakub Jelinek    <jj@gnu.ai.mit.edu>
5108         * configure.in: fix to the XView and Tk check code - no they really
5109         should not be compiled in by default in any case. If I'm wrong,
5110         shoot.
5112         * key.c: new flag - use_8th_bit_as_meta - is set (by default), input
5113         characters greater than 127 are handled as Esc + (c - 128). This is
5114         not true if inside of an control sequence. You can suppress this
5115         meta handling (if you use your national characters greater than 127)
5116         by running mc -m.
5118         * screen.c (string_file_size): Show major,minor instead of size
5119         for block and character devices.
5121         * tar.c, vfs.c: Now I hope tar inside tar should work. At least
5122         what I tested (and it was working) tar:tar:1.tgz/2.tar/VERSION
5124 Mon Sep  4 12:02:37 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5126         * setup.c (save_setup), boxes.c (configure_vfs), ftpfs.c
5127         (ftpfs_init): Should save/restore all of the VFS settings.
5129         * tree.c (tree_event): on double click call chdir.
5131         * slint.c (do_define_key): Use SLtt_tgetstr instead of tgetstr.
5132         Lately Slang provides the SLtt_tgetstr as an interface to tgetstr
5133         and the SLtt_tigetstr.  This should fix the problem Torben had
5134         with FreeBSD.
5136         * mcserv.c (do_auth): Cancel login if the setuid system call failed.
5138 Sat Sep  2 20:58:18 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5140         * key.c (get_key_code): generate an ALT-key if ESC+key is found
5141         when outputing pending_keys.  This should fix the problem with the
5142         viewer quiting when some non-recognized key was pressed.
5144 Fri Sep  1 14:26:49 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5146         * main.c: C-x q switches the other panel to Quick View.
5148         * dlg.c (dialog_handle_key): Added a call to clr_scr to force
5149         ncurses to repaint on C-l
5151         * slint.c (slang_init): Do not set the signal handlers that reset
5152         the slkang attributes.  They are only useful for the developer.
5153         On SunOS they make the program get into a recursive loop (xterm -e
5154         program).
5156         * subshell.c (TIOCSCTTY):  Pass the 0 argument to this ioctl,
5157         SunOS makes a difference between 0 and 1 (this should fix the bug
5158         reported). 
5160 Sat Aug  2 00:38:01 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5162         * vfs/mcserv.c: Now by default ftp validation is not done, to turn
5163         it on, you need to use the -f flag.
5165         * lib/xterm.ad: X resources to make xterm (not rxvt :( ) work well
5166         with most (I hope all) the keys mc works with.
5168         * lib/xterm.tcap: Termcap entry for xterm and xterm-color,
5169         compatible with sequences send by xterm.ad and compatible with
5170         xterm.ti. Those three should be used together.
5172         * lib/xterm.ti: Minor changes.
5174         * lib/README.xterm: HOWTO on installing these three files.
5176 Fri Aug  1 13:43:12 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5178         * file.c: name_trunc in the file progress dialog.
5180         * cmd.c (do_link): Cosmetic changes. Symlink now shows only one
5181         dialog instead of two. Link shows name of the file you want link
5182         to.
5184         * help.c, man2hlp.c: Use HELP_*_COLOR colors in help. Added
5185         italic color (no more same as bold).
5187         * color.c: User can now define also helpnormal, helpitalic,
5188         helpbold, helplink, helpslink and gauge colors.
5190 Sat Sep  2 02:02:18 1995  Ching Hui  <br811563@csa2.cs.nthu.edu.tw>
5192         * ftpfs.c: make all data transfer interruptable.
5194         * boxes.c: add anonymous passwd and ftpfs directory cache timeout
5195         entry to Virtual FS dialog box.
5197         * vfs.c (vfs_path): New function.
5199         * dir.c (set_zero_dir): fix possible loop when directory is
5200         unreadable.
5201         
5202 Thu Aug 31 13:31:34 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
5204         * tree.c (event_callback): Focus panel when receiveing a key
5205         click;  set the correct event y for panelized trees.
5207 Thu Aug 31 14:06:11 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5209         * key.c: Rewritten get_key_code. Now has a parameter nodelay,
5210         if 0, it behaves like before, if 1, it doesn't ever wait but
5211         emulates the behaviour of get_key_code (0), so it returns correct
5212         KEY_* and other keycodes instead of sequences. You just have
5213         to call it more times (in case all seqence characters are not
5214         waiting on stdin). get_key_code (1) handles even old_esc_mode
5215         (it uses GET_TIME instead of select).
5217         * file.c: Uses get_key_code (1) instead of non-delayed xgetch
5218         (otherwise you couldn't use arrow keys etc...)
5220         * ext.c (regex_command): fixed behaviour of use_file_to_check_type
5221         and initialized a local variable (which could cause in one of
5222         4G (perhaps less, 0 are often on the stack) an incorrect behaviour).
5224         * configure.in, Makefile.in: create_vcs is installed only on Linux
5225         machines.
5227 Mon Aug 28 13:27:38 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>
5229         * ftpfs.c: Check for connection close; beginning of the transfer
5230         abortion code. 
5232 Wed Aug 30 14:15:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5234         * ext.c (regex_command): Now it will just execute file once
5235         instead of one time per type/ in the mc.ext file.
5237         * slint.c (slang_shutdown): Output the op capability at program
5238         shutdown, this should fix the problem for Thanh.
5240 Tue Aug 29 18:47:35 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>
5242         * mc.menu: Added missing tar definitions.
5244 Wed Aug 30 11:05:44 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5246         * file.c: Removed most of the #ifdef X - text code now uses
5247         widgets (label & gauge) as well. Should produce normal dialog colors
5248         instead of some strange ones and should be consistent with all the
5249         others. Also, Skipping and Aborting should now work well and you
5250         won't have to press keys to many times. Also, Enter and Escape
5251         should work as well.
5253         * widget.c: Finally text mode gauge widget is written.
5255         * color.[ch]: Oops, 32 was used by A_REVERSE. I assigned to the
5256         default color number 31.
5258         * view.c: Added some vi-like, less-like and lynx-like keys for
5259         moving in the viewer. We still do not support numbers before moving
5260         commands. Should we? At least Ng and NG would be useful (as a short
5261         variant of F5 N Enter).
5263 Tue Aug 29 18:53:26 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5265         * boxes.c (tree): Set decent colors for the tree box.
5267         * tree.c (tree_new): The tree problem was just that the searching
5268         variable was not initialized.
5270         * screen.c (repaint_file): Fixed the half panel bug.
5272         * subshell.c (pty_open_master): Stupid mistake, will not hang
5273         anymore.
5275         * view.c (view_handle_key): Return now moves only one line.
5277 Tue Aug 29 18:47:35 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>
5279         * mc.ext: Non destructive mc.ext fixes.  Jakub, please test them.
5281 Mon Aug 28 16:36:29 1995  Janne Kukonlehto  <jtkl@jysky.oulu.fi>
5283         * file.c: Added missing #include <ctype.h>.
5285         * listmode.c: Some parts already working: OK, Cancel and General
5286         options. Add and Remove almost work. Items listbox and Item
5287         options don't work yet.
5289 Tue Aug 29 14:33:16 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5291         * layout.c (swap_panels): Fixed. Now it should work fine and if
5292         there are both view_listings, then it just swappes their content
5293         (and not formats etc.), so that you may have one format in the left
5294         and a different one in the right panel and if you want to see some
5295         things that are in the left for a file on the right, you just C-u.
5297         * cmd.c, color.c, sldisply.c: In SLang when default attributes
5298         are different than white on black, mc shows command line and 
5299         hintbar correctly. You can easily run mc -c on a black on white
5300         color xterm and the output is not awful.
5302 Mon Aug 28 21:12:37 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5304         * icons/: I hope better and nicer icon collection than the previous
5305         one. Most of them now have entries in mc.ext.
5307         * main.c: Fixed the mc -P problem when the tty is not owned by
5308         the user.
5310         * dir.c (handle_dirent): Added one test that causes panelize
5311         not to add files that are not on the disk (so it is possible
5312         to e.g. cat any list of files and panelize will add to the
5313         panel only the existing ones).
5315         * main.c: Sets xterm window title to GNU Midnight Commander.
5317 Wed Aug 30 00:51:28 1995  br811563  <br811563@csa2.cs.nthu.edu.tw>
5319         * ftpfs.c (get_line): fix mc block when socket is closed.
5321         * tar.c (uncompress_tar_file): fix core dump when popen failed.
5323         * tar.c (tarfs_get_path): return error when tar archive open 
5324         failed.
5325         
5326 Mon Aug 28 13:27:38 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5328         * layout.c (change_screen_size), view.c (view_adjust_size): Add
5329         screen resizing to the viewer.
5331         * terms.c: (do_enter_ca_mode):  Hard code the font switch "ESC)0".
5333         * key.c (get_event): Will now delay calls to refresh if there is
5334         input pending.
5336         * cmd.c (nice_cd): Really, this time I fixed the problem with the
5337         menus opening a ftp connection or net connection in the right panel.
5339 Mon Aug 28 13:27:38 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>
5341         * ftpfs.c: Switched to file descriptors again.
5343 Sun Aug 27 16:43:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5345         * layout.c: Include termios.h, otherwise we don't get a resizing
5346         Midnight Commander on Solaris.
5348         * view.c (search): Allow search aborting.
5350         * key.c (get_key_code): Handle the ESC+number inside get_key_code;
5351         handle esc+space; use push_char/goto pend_send instead of returing
5352         the key code to keep the internal sequence tracker on sync.
5354         * subshell.c (pty_open_master): Will retry pty opening
5356         * panelize.c (do_external_panelize): Do not free() the command,
5357         let the parent handle this.
5359 Sun Aug 27 12:52:36 1995  Torben Fjerdingstad <tfj@olivia.ping.dk>
5361         * FAQ, doc/mc.1: Spelling fixes.
5363 Sat Aug 26 20:45:00 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5365         * learn.c: Now the left and right keys move among columns and the
5366         vi's h, j, k, l work as well.
5368         * wtools.c: It is now possible to specify a particular position
5369         of quick dialog - this is used for M-c.
5371         * Fixed the problem with xterm mouse.
5373 Sun Aug 27 11:05:43 1995  Ching Hui  <u811571@JEN.AB.nthu.edu.tw>
5375         * ftpfs.c: fix connection refused and connection close from 
5376         server bugs.
5378         * ftpfs.c (ftpentry_destructor): fix memory corruption bug.
5379         
5380         * ftpfs.c (ftpfs_chmod): use non-standard "SITE CHMOD" command.
5382         * ftpfs.c (_get_file_entry): upload zero length to check the write
5383         permission.
5385 Sun Aug 27 11:05:43 1995  Ching Hui  <Nicholas@u811571.JEN.AB.nthu.edu.tw>
5387         * ftpfs.c: fix connection refused and connection close from 
5388         server bugs.
5390         * ftpfs.c (ftpentry_destructor): fix memory corruption bug.
5391         
5392         * ftpfs.c (ftpfs_chmod): use non-standard "SITE CHMOD" command.
5394         * ftpfs.c (_get_file_entry): upload zero length to check the write
5395         permission.
5397 Fri Aug 25 13:11:55 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5399         * view.h: Yes, very funny, we need unsigned chars, otherwise we
5400         get those funny (char) 0377 -> (int) -1 conversions.  Now, the
5401         search should work on Piped files.
5403         * view.c (get_line_at): Fixed the search routine.  Now, the
5404         get_line_at routine will skip over nulls.
5406         * main.c (repaint_screen): Command line and panels should be
5407         repainted correctly after executing a command.
5409         * configure.in: SCO library detection
5411         * fs.h: MC_MAXPATHLEN is the MAXPATHLEN or 1024 on systems that do
5412         not define it (SCO), we should actually use pathconf.
5414         * tar.c (tarfs_fill_names): Report the tar file names.
5416         * container.c (linklist_delete): bug fixed: need to increment the
5417         h pointer.
5419         * widget.c (listbox_drawscroll): Presentation bug fix.
5421         * util.c (my_system): do not block SIGCHLD anymore.
5423 Fri Aug 25 13:11:55 1995  Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
5425         * util.c (truncate, my_ftruncate): Provide truncate for systems
5426         that lack it (SCO).
5428 Fri Aug 25 13:18:18 1995  Janne Kukonlehto  (jtklehto@paju)
5430         * Makefile.in: Added listmode.c, listmode.h and listmode.o
5432         * boxes.c (display_callback): Renamed Display mode dialog to
5433         Listing mode. I think the dialog names should correspond to the
5434         names of the menu entries where they are invoked.
5436         * layout.c (rotate_dash): Verboseness check is no longer
5437         necessary because we have an own nice_rotating_dash option.
5439         * listmode.c, listmode.h: New files to implement user listing mode
5440         editor. Still incomplete: it's got the looks but no functionality.
5442         * main.c (listmode_cmd): New function to invoke user listing mode
5443         editor. (CmdMenu): User listing mode editor is temporarily placed
5444         in to Command menu. To be moved to Listing mode dialog when
5445         complete. (OptMenu): I think Save setup should be separated from
5446         the other choices. (version): In case of Slang reports which
5447         terminal database is used. (handle_args): The -f option should
5448         output to stderr, not stdout.
5450 Fri Aug 25 23:37:18 1995  Jakub Jelinek    (jj@jj)
5452         * key.c: A bunch of changes. old_esc_mode works again (should we
5453         set a shorter timeout than 1 sec or should we let the user specify
5454         this?). I was trying to unify all the different key routines
5455         into the new define_sequence structure. Tell me if it works.
5457         * mcserv.c (do_auth), configure.in: Support for Linux shadow
5458         passwords.
5460         (do_auth): Assign correct supplemental groups for process, if they
5461         exist in the system and enhanced security of mcserv a bit.
5463         * util.c (convert_controls): Fixed a bug, which caused that control
5464         (< 32) characters could not be defined as sequences.
5466         * learn.c (learn_keys): Added somehow more descriptive messages.
5468         * xvmain.c (xv_center_layout): Fixed a problem with widgets
5469         XV_WLAY_EXTENDWIDTH and narrow dialogs (such as one with empty
5470         listbox) correct their width.
5472         * cmd.c (view_other_cmd): Quick hack to repaint cmdline and hintbar
5473         on Linux console after C-o correctly.
5475 Thu Aug 24 15:25:24 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5477         * cmd.c (reselect_vfs): New command, uses the hotlist code to
5478         display all the non local active virtual file systems.
5480         * vfs.c (mcfs_fill_names, ftpfs_fill_names): Fill Used to report
5481         the number of file systems active.
5483 Thu Aug 24 15:40:34 1995  Janne Kukonlehto  (jtklehto@paju)
5485         * ext.c (regex_command): Now works correctly with files like
5486         '#draft'.
5488         * file.c (convert_case): New function. (transform_source): Now
5489         supports six new codes in the target mask: \u and \l convert the
5490         next character to uppercase or lowercase, \U and \L convert
5491         characters up to \E or the end of the file name. Backslash also
5492         works as a quote character. See the manual page for details.
5494 Wed Aug 23 13:50:13 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5496         * subshell.c (init_subshell): If subshell does not initialize,
5497         kill the subshell.
5499         * help.c (interactive_display): Move the help bar to the proper
5500         position.
5502         * screen.c (WIDGET_UNFOCUS): clear the searching when loosing
5503         focus.
5505         * file.c (create_op_dlg, destroy_op_dlg): modify the hint bar
5506         position during the operations to avoid the screen override that
5507         could be caused by the ftpfs.
5509         * cmd.c: Call repaint_screen again after update_panels.
5511         * main.c (update_panels): do not repaint the panels, just mark
5512         them as dirty and let the midnight_callback check for dirtiness
5513         before a get_event is called (the new message DLG_PRE_EVENT is
5514         used for this).
5516 Wed Aug 23 21:31:24 1995  Steven N. Hirsch <hirsch@emba.uvm.edu>
5518         * layout.c (setup_panels): Compute properly the hint position. 
5520 Wed Aug 23 20:42:45 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5522         * mc.1: Documentation fixes.
5524         * learn.[ch] (NEW): Learn keys command.
5526         * slint.c: SLang now resets attributes after SIGTERM and bunch of
5527         other signals.
5529         * wtools.c (message): Fixed D_INSERTed messages (like Searching
5530         wasn't ever shown).
5532         * ext.c: Version check for 3.0's mc.ext and .mc.ext. In case it
5533         finds and old formatted, tells what to do.
5535 Tue Aug 22 20:15:01 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5537         * configure.in: --with-slang is now the default together with
5538         --without-xview and --without-tk. If you want to compile with
5539         ncurses, use --with-ncurses and likewise --with-xview and --with-tk
5541         * tcputil.h, configure.in: Check for rpc/pmap_clnt.h header and 
5542         including it if exists.
5544         * xv/Makefile.in: Fixed the -lXpm problem.
5546         * mc.1, INSTALL, INSTALL.FAST, NEWS: A bunch of documentation
5547         fixes and additions, but there is still lot of work for EVERYONE.
5549         * man2hlp.c: Now indents the help's index again...
5551         * {tk|xv}/Makefile.in: Fixed a link goal problem on old SunOs.
5553         * */*: Many fixes all around the code to make at least my GCC happy
5554         with the -Wall. Now it shows on the slang mc no warnings except in
5555         regex.c.
5557 Mon Aug 21 19:08:05 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5559         * vfs.c (vfs_add_noncurrent_stamps): Do nothing if the panels have
5560         not been setup (this let's you: mc ftp://roxanne)
5562         * setup.c (load_setup): Will not open by default non local vfs
5563         when loading the configuration.
5565         * profile.c (free_profile_name): Fixed seg fault problem on Linux;
5566         (load): Keep spaces on keys unless they are at the beginning of
5567         the line (for nice external panelize displays).
5569 Mon Aug 21 22:10:06 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5571         * configure.in: Removed duplicate -L options for XView, misc fixes.
5573         * xterm.ti: Modified smcup so that it works well even on broken
5574         xterms. Hope this will not break anything.
5576         * mcfn_install.in: Added check and installation to ~/.bashrc,
5577         if running from bash. If mc () is in ~/.profile, then it applies
5578         only to the login shell :(
5580         * boxes.c, cmd.c: New feature - M-c (Quick cd) - pops up a dialog
5581         where you enter exactly what you type after "cd " on the command
5582         line. The difference is that you don't have to yank and paste 
5583         your full command line because you want shortly change directory.
5585         * complete.c: Added special handling for "cd " and quick cd -
5586         now only directories are completed (CDPATH should remain untouched).
5588         * file.c (move_dir_dir): Removed test for EXDEV error, now we
5589         are trying to copy and then delete whenever any error during
5590         renaming occurs. This is because e.g. NFS returns sometimes
5591         EIO, if I'm moving on one nfs filesystem, which contains more
5592         filesystems on the nfs server. Hope this won't even hurt.
5594         * panelize.[ch]: New modules which show nice database of stored
5595         panelizing commands, you can add new, assign to them names etc.
5596         (Like C-\ for cd).
5598         * widget.c (label_set_text): Fixed this routine so that it paints
5599         everything correctly if the new string is shorter than the previous
5600         one and added a parameter/flag which tells it whether we want to
5601         adapt the label length (useful for the message bar).
5603 Sun Aug 20 11:00:51 1995  Ching Hui  <Nicholas@u811563.JEN.AB.nthu.edu.tw>
5605         * container.c (linklist_destroy): fix memory corruption bug.
5607         *ftpfs.c: add time out code to directory cache.
5608         
5609 Sat Aug 19 15:25:56 1995  Ching Hui  <u811563@thccy12>
5611         * ftpfs.c: fix symlink.
5612         
5613 Sat Aug 19 13:27:09 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5615         * help.c (move_backward2, move_forward2): If we can't move the
5616         number of lines requested, set current to the startup value.
5618         * view.c (search): Now will rotate the dash when searching.
5620         (normal_search): Will not load all the file into core before
5621         starting a search.
5623         * slint.c (vline): uses spaces when -s flag is used.
5625         * main.c (suspend_cmd): Call do_refresh for a complete screen
5626         redraw, slang seems to not like the touchwin, refresh after coming
5627         back from suspend.
5629         * dlg.c: use suspend_cmd instead of do_suspend_cmd that should be
5630         an internal function of suspend_cmd.
5632 Fri Aug 18 10:09:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
5634         * screen.c: Implemented torben_fj_mode for home/end key behavior.
5636         * wtools.c (input_dialog_help): Fixed the password problem on the
5637         input dialogs.
5639 Wed Aug 16 05:16:50 1995  Ching Hui  <u811563@thccy12>
5641         * ftpfs.c: flush directory cache after store file, rmdir, and
5642         mkdir.
5643         
5644         * ftpfs.c (ftpfs_rmdir): fill the missing code.
5645         
5646         * ftpfs.c (retrieve_dir): change "LIST -lba" to "LIST -la", since
5647         ftp.funet.fi doesn't happy with -b argument.
5649 Tue Aug 15 23:34:01 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5651         * mc.1: Manual page fixes.
5653         * win.c: You can now define even f11-f20 keystrokes in your 
5654         mc.lib/.mc.ini file. f13 is used for unparsed view, f20 for quiet
5655         quit (no confirmation, if invoked with -P, it returns ., i.e.
5656         no current directory change).
5658         * file.c: Fixed a bug when the target existed as a symlink. Now, if
5659         you say you want to overwrite it, mc deletes the symlink and either
5660         links new symlink or copies the new file there. Previously, in the 
5661         first case, a message saying cannot create target symlink was shown
5662         and in the later case the new file overwrote the file target symlink
5663         was pointing to.
5665         * main.c: Command line in XView now looks a bit better.
5667         * xvwidget.c: WCheck and WRadio now correctly set their initial
5668         values (previously all of them were on/with first one checked).
5670         * xvwidget.c: WLabel now moves all the widgets to the right of it,
5671         if we change its length by assigning a new text to it.
5673 Wed Aug 16 05:16:50 1995  Ching Hui  <u811563@thccy12>
5675         * ftpfs.c: flush directory cache after store file, rmdir, and
5676         mkdir.
5677         
5678         * ftpfs.c (ftpfs_rmdir): fill the missing code.
5679         
5680         * ftpfs.c (retrieve_dir): change "LIST -lba" to "LIST -la", since
5681         ftp.funet.fi doesn't happy with -b argument.
5683 Tue Aug 15 00:42:18 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5685         * cmd.c (view_simple_cmd): This is for displaying unformatted
5686         view of a file (will be sticked to F13 or Shift+F3).
5688         * ext.c: Fixed a view Format/Unform error.
5690         Fixed two other bugs in regex_command, causing e.g. a file to be
5691         viewed only once in its formatted version.
5693         * main.c (quiet_quit_cmd): This is for quitting without changing
5694         the directory where you were before if using -P (more precisely,
5695         this prints "." instead of the last directory). Will be sticked
5696         to F20 / Shift+F10.
5698         * screen.c (do_file_mark): Fixed selection handling in XView.
5699         Now sets panel->marked etc. correctly.
5701         * xvmain.c: Fixes to make drop work. It is still an ugly hack, but
5702         it seems to me that I've found an awful bug in XView :(
5704         * xvscreen.c: Drop should really work. Try it...
5706 Fri Aug 11 16:57:35 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5708         * file.c (check_buttons): Now it handles space and tabs.
5710         * cons.handler.c (show_console_contents): Slang/terminfo does not
5711         wrap characters at the end of a line, so we manually move to the
5712         next line.
5714         * widget.c (label_destroy): Expanded the Label widget: if the text
5715         member does have a zero value it will not be displayed (I will
5716         use this for the hintbar).  Removed the hintbar support from the
5717         buttonbar code.
5719 Mon Aug 14 14:18:19 1995  Ching Hui  <u811563@thccy12>
5721         * ftpfs.c: fix redundant copy of directory cache and support open
5722          for write.
5724 Sun Aug 13 22:46:12 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5726         * Misc fixes in configure and installation procedures.
5728         * xvicon.c: Now it is possible to move these icons, drop files onto
5729         them, show the icon dependent menu etc.
5731         * ext.c: Fixed some horrible bugs causing segfaults noticed by
5732         someone here on the list, which I had troubles for a longer time
5733         with.
5735 Thu Aug 10 19:45:30 1995  Ching Hui  <u811563@thccy12>
5737         * ext.c (exec_extension): Tcsh did not like our lines without a
5738         trailing newline.
5740 Thu Aug 11 00:43:17 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5742         * Makefile.in: libdir is now in $prefix/lib/mc instead of
5743         $prefix/lib, so that all our mc.{hlp|ext|menu|hint|keys} files
5744         and the FAQ are nicely grouped together into one directory.
5745         In there is a subdirectory icons with all the icons.
5747         * aclocal.m4: Test for header files in standard paths and in user
5748         defined additional directories (AC_CHECK_HEADER_IN_PATH). Those
5749         directories can be specified in the beginning of configure.in.
5750         Let me know which directories would you like to be there.
5752         Also added checks for the Xpm library and headers and for the X11
5753         shape extension (also header and -lXext).
5755         * configure.in: I was trying to fix the file & sed bug. Could
5756         anybody test it and in case of error send me again sh -x configure?
5758         * doc/mc.1: Now are even mc.1 and mc.hlp parsed with sed for
5759         @prefix@.
5761         * ext.c (regex_command): Speeded up by i) caching mc.ext in memory
5762         (FIXME - should reload it on any change in mc.ext) and ii)
5763         when looking for Icon, we are automagically looking for Title
5764         as well.
5766         * xvicon.c (CreateXpmIcon): Now paints titles under icons as well.
5768 Wed Aug  9 18:54:33 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5770         * widget.c (buttonbar_callback): Added the hint-bar support (or
5771         should it be called message bar?), now we need to add the hints
5772         and the code that will display them.
5774 Wed Aug  9 23:56:12 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5776         * ext.c (do_regex_command): Changed meaning of shell/ in mc.ext -
5777         it is extension only if the first character is ., i.e.
5778         shell/.tar
5779         will match *.tar, but if it doesn't start with a dot, then it
5780         matches only the same filenames (i.e. shell/gzip matches only gzip).
5782         Added Icon and Title actions in mc.ext. Icon is a pathname of an
5783         XPM file (possibly with the None color somewhere, so that it may
5784         be transparent somewhere). If it is not absolute pathname, then
5785         it defaults to $(icondir) ($(prefix)/lib/mc/icons/). Title specifies
5786         the title under icon, with %p for filename and %d for pathname.
5787         %d/%f is complete path. Default title is %p.
5789         Fixed an awful bug in comparison of actions.
5791         * cmd.c (dirsizes_cmd): Fixed a bug that caused wrong information,
5792         if you had directories where name of one of them was concatenation
5793         of the other plus something (like mc and mc-2.4.93).
5795         * setup.c: Now we clean the correct temporal sections ('cause panel
5796         names have changed).
5798         * wtools.c (input_dialog_help): Fixed displaying of input boxes in
5799         XView.
5801         * xvscreen.c (xv_mouse_event): Double-click works! Drop should work
5802         as well, but it is still a bit buggy.
5804         File type dependent menu, if you press the right mouse button on a
5805         file. This one lets you easily Open/View/Edit/Copy/Move/Delete plus
5806         any user defined actions from mc.ext (like Compile, Link, Flush
5807         etc.).
5809         * xvaction.c, xvicon.c: Completely changed basics of Action icons.
5810         Now these icons are just files which were moved (dropped in the
5811         future) from the panels. Icon and Title are looked up in mc.ext, the
5812         only thing we have to specify in mc.ini for those icons, which are
5813         loaded by default at startup, is position of icon center, in format
5814         +x+y, where x and y are positive numbers.
5815         Entries in .mc.ini's Action Icons section look like
5816         /bin/rm=+20+120
5818         * icons/: New directory full of nice icons in XPM format. Hope
5819         you'll like them. We'll have to look for some even nicer ones,
5820         but some of them are really good (I think).
5821         
5822 Tue Aug  8 17:22:15 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5824         * key.c (get_event): Now we return to the caller program if select
5825         sets errno = EINTR (thanks to Hugh Redelmeier (hugh@mimosa.com)
5826         for the hint).  This actually makes the program resize it's screen
5827         as soon as it is resized.
5829         (get_event): If we are not waiting for a mouse repeat event and
5830         there are pending 
5832         sldisply.c: Clear the current acs status at slang startup.
5834 Tue Aug  8 16:23:39 1995  Ching Hui  <u811563@thccy12>
5836         * ftpfs.c: Will not hang if the address is bogus.
5838         * vfs.c: Removed the dialog stuff (we did not use it).
5840 Mon Aug  7 13:13:12 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5842         * screen.c (panel_update_cols): Now all of the column computing is
5843         done in this function (instead of doing half the job here and the
5844         other half in layout.c: setup_panels).
5846         * auto.c: Removed automount feature.
5848         * option.c: optimize the case for a toggle-only variable and
5849         remove all of the unused toggle_* functions.
5851 Sun Aug  6 21:33:08 1995  Ching Hui  <u811563@thccy12>
5853         * ftpfs.c (retrieve_file): New function.
5854         
5855         * ftpfs.c (parse_ls_lga): fix typo.
5857         * vfs.h: change vfsid type definition from int to void *.
5859 Mon Aug  7 23:43:12 1995  Jakub Jelinek  <jj@gnu.ai.mit.edu>
5861         * */Makefile.in: Added make variable DESTDIR, which makes it
5862         possible to move the install root somewhere in the directory tree.
5863         (Was necessary because not all files are installed in $(prefix)).
5864         Use it like: make install DESTDIR=/package/mc
5865         and the files (in case $(prefix) is /usr/local) will be installed
5866         into /package/mc/usr/local/bin, /package/mc/usr/local/lib and
5867         /package/mc/usr/openwin/bin etc...
5869         * boxes.c (display_box): Now correctly restores default format
5870         after returning from a Info/Quick View/Tree widget.
5872         * configure.in: Default prefix (if you do not specify) will now
5873         depend on whether you have mc already installed in your system
5874         to /usr/bin/mc or /usr/local/bin/mc.
5876         * mc.ext, ext.c: For Torben - the lynx action for \.html?$ files
5877         added and should work even on ftpfs :)
5879         * cmd.c (dirsizes_cmd): Do not call du if on non-local vfs.
5881         * vfs/Makefile.in: If you undef USE_NETCODE, you should compile
5882         it without the net objects.
5883         
5884 Fri Aug  4 18:45:39 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5886         * slint.c (slang_init): Disable flow control, thanks to John Davis.
5888 Sat Aug  5 01:03:08 1995  Ching Hui  <u811563@thccy12>
5890         * ftpfs.c (ftpentry_destructor, ftpfs_dir_destructor, ftpfs_chdir,
5891         ftpfs_mkdir, ftpfs_getid): fix typo and memory leak.
5892         
5893         * ftpfs.c (ftp_connection_destructor, ftpfs_init, ftpfs_done):
5894          New function.
5895         
5896         * ftpfs.h: New file.
5897         
5898         * vfs.c (vfs_init): call ftpfs_init.
5899         
5900         * vfs.c (vfs_shut): always free the vfs resource, call ftpfs_done.
5902 Thu Aug  3 20:07:58 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5904         * main.c (reload_panelized): Fixes the problems with the panelized
5905         files.  We first chdir to the panelized directory cwd and then
5906         restore it if it is not the current_panel.
5908         * tkmain.c (tkmc_callback): Tk: Selection on input lines work now.
5910         * wtools.c (message), view.c (search): Search should work with Tk now.
5912 Thu Aug  3 16:01:00 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
5914         * configure.in, */Makefile.in: A lot of small changes - tkmc is now
5915         included by default, --without-tk can turn it of, new options
5916         --with-tk-includes=dir --with-tk-libs=dir --with-xv-bindir=dir.
5917         Also should check if file accepts - as an option (Miguel, could you
5918         test it on a machine which doesn't support it)?
5920 Thu Aug  3 23:24:34 1995  Ching Hui  <u811563@thccy12>
5922         * ftpfs.c: use link list instead of array to store connection 
5923         information.
5924         * ftpfs.c (ftpfs_free): free the connection resource when timeout.
5925         
5926 Wed Aug  2 19:30:03 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5928         * help.c (move_forward2, move_backward2): The next/prev page works
5929         again on the help.
5931         * widget.c (listbox_drawscroll): Now we draw a sort of scrollbar
5932         that includes the '|' character.
5934         * subshell.c (init_subshell): More robust: If the child had
5935         problems before the parent had a chance to setup the sigchld
5936         handler it would hang, now the code calls waitpid after the
5937         init_sigchld has been called.  (There is no use in installing
5938         sigchld_handler before since the child could execute and abort
5939         before the parent had returned from fork ()).
5941 Wed Aug  2 16:01:00 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5943         * ext.c: Rewritten, now uses only one file (mc.ext) instead of three
5944         (mc.{edit|view|ext}) with a completely new structure. For the
5945         description see comments in the sample lib/mc.ext file.
5946         BTW: You have to update your .mc.ext file, otherwise nothing will
5947         work.
5949         * configure.in: du checks, now should handle all the du's.
5951 Wed Aug  2 21:24:45 1995  Ching Hui  <u811563@thccy12>
5953         * ftpfs.c (get_file_entry, _get_file_entry): New function.
5954                 
5955         * ftpfs.c (ftpfs_lstat, ftpfs_stat, ftpfs_fstat): call get_file_entry
5956         to get ftpentry.
5958         * ftpfs.c (retrieve_dir): change into directory before getting the
5959         directory list.
5961 Tue Aug  1 12:47:59 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
5963         * tkwidget.c (tk_update_input): Use the window name.
5965         * vfs.c: Removed the alarm code.
5967         * slint.c: Now we keep track of the original and program-mode
5968         terminal settings, no more problems with the raw mode on
5969         terminals. 
5971 Tue Aug  1 12:12:45 1995  John E. Davis (davis@space.mit.edu)
5973         * sldisply.c (write_attributes): Some broken terminal databases
5974         when restoring normal video turn of ALL attributes.  This should
5975         fix the problem on HP-UX and maybe AIX.
5977 Tue Aug  1 23:26:12 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5979         * xvscreen.c, xvmain.c: XView repaint fixes, coded mouse handling -
5980         everything except drop (drag should work).
5982 Mon Jul 31 12:41:52 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
5984         * ftpfs.c: Recoded missing parts of the ftpfs, now it allows you
5985         to do copying/viewing of the remote files.
5987 Sat Jul 29 20:01:00 1995  Jakub Jelinek    (jj@gnu.ai.mit.edu)
5989         * main.c (main, do_nc): Fixed a bug causing mc to list a part of
5990         .mc.ini on my system. It occurred when ran with -P, because we were
5991         trying to print already freed string which has been accidentally
5992         overwritten.
5994         * mcfn_install: New shell program (called from main Makefile's
5995         mcfninstall goal) which tries to install the mc() function into your
5996         profile.
5998         * cmd.c (dirsizes_cmd): New command in the command menu. Until you
5999         press C-r or change directory in the current panel, directory sizes
6000         will be replaced by the space used by them and their subdirectories
6001         as shown by du -s -b. You can then easily select these files and
6002         see the totals. 
6004         * file.c (copy_file_file, move_file_file): If you're moving a file
6005         onto already existing one, you won't be asked twice any more...
6007 Fri Jul 28 18:29:11 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6009         * slang/ Upgraded to slang 0.99-19.
6011         * Tk/ File copy/move/delete progress window works.
6013 Fri Jul 28 19:32:15 1995  Jakub Jelinek   (jj@gnu.ai.mit.edu)
6015         * menu.c (menubar_handle_key): Fix so that menu hot keys work
6016         properly...
6018         * xv/: I've broken everything, do not even try it, but it compiles
6019         without SlingShot already :)
6021         * find.c (external_panelize): stderr goes to /dev/null where it
6022         ought to be :)
6024 Thu Jul 27 17:51:43 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6026         * tkmain.c (tk_dispatch_all): New function to flush all the
6027         pending Tk events.
6029         * mc.tcl, file.c: Now query_dialogs work with any number of
6030         options, replace dialog is working with Tk.
6032         * tkmenu.c: left/right commands now work.
6034         * tkmain.c: tk_getch implemented, quote works on tkmc. 
6036 Thu Jul 27 10:43:25 1995  Janne Kukonlehto  (jtklehto@indy4)
6038         * find.c (external_panelize): new function, now you can panelize
6039         the output of any external command.
6041 Wed Jul 26 19:54:40 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6043         * tkinfo.c, mc.tcl: WInfo now works with Tk.
6045 Wed Jul 26 10:48:58 1995  Thanh Ma <tma@encore.com>
6047         * tar.c (tar_fstat): fixed missing ifdefs, now it should compile
6048         on SVR3.x 
6050 Thu Jul 27 00:14:05 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
6052         * screen.c (to_buffer, parse_display_format): Fixed painting of
6053         files when the column is narrow and also titles should be painted
6054         correctly in such case.
6056         * Makefile.in: Should make non-existent directories on install now
6058         * file.c (move_file_file): Fix so that append works even when
6059         moving.
6061 Tue Jul 25 14:32:56 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6063         * main.c (load_prompt): Cut prompt if it is too long.
6065 Tue Jul 26 00:40:12 1995  Jakub Jelinek    (jj@jfch.vc.cvut.cz)
6067         * help.c (show): Midnight in the first help page should be painted
6068         in ACS even in slang (if terminal has it).
6070         * myslang.h, main.c (main): beep should work even in slang.
6072         * */Makefile.in*: Ugly hack which removes the stupid relinking of
6073         mc/mxc/tkmc always, since libvfs.a and libmc.a were in another
6074         directory...
6076         * complete.c (try_complete): Now completes fine even if you have
6077         CDPATH set to something and try to complete a non-existant path
6078         which exists if prefixed with one of the directories in CDPATH.
6079         Example: I have CDPATH=.:~:~/src:/usr
6080         and I'm somewhere where no directory begins with mc. The only
6081         directories starting with mc- are in ~/src. If I type
6082         cd mc-
6083         and press M-Tab twice ('cause there are more than one possible
6084         completions), I get list of ~/src/mc-2.4.76 and ~/src/mc-patches.
6085         FIXME: Should write some documentation on CDPATH and its usage.
6087 Mon Jul 24 17:49:38 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6089         * tkscreen.c, tkmain.c: Finally I'm using a proper method that
6090         does not rely on the container name to create the panels.  This is
6091         required to implement to WView, WTree and WInfo widgets in Tk to
6092         be used as panels.
6094         * Quick view working under Tk.
6096         * vfs.c (vfs_setup_wd): At setup time, set current_dir to empty if
6097         we happend to hit a non-existant directory.
6099 Mon Jul 24 15:55:28 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
6101         * util.c (mc_doublepopen), tar.c: Bug fixing of corrupt tar files.
6103 Mon Jul 24 11:42:35 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6105         * main.c (sigchld_handler_no_subshell): Wait only the
6106         cons_saver_pid when compile without subshell.
6108         * tar.c (tafs_get_path): put the archive on stamp list, tar_open must
6109         remove the archive from stamp list.
6111         (read_tar_archive): will close archive->fd after reading the
6112         entry, but it is wrong, when mc didn't read the whole archie in
6113         memory, it will get a core dump. (i.e open a non-gzip tar file,
6114         and try to view the file.)
6116         Delete the mc_close(archive->fd) from tar_close, it is handle by
6117         free_archive.
6119 Fri Jul 21 20:52:24 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6121         * mc.tcl: Copy dialog works with the new dialog that Jakub wrote.
6123         * view.c: Tk/Viewer is now working.
6125         * util.c: No more <defunct> processes after looking at a tar.gz file.
6127 Fri Jul 21 11:00:05 1995  Jakub Jelinek  (jj@gnu.ai.mit.edu)
6129         * tree.c (my_mkdir, my_mkdir_rec): F7 (Mkdir) now creates as many
6130         directories as you want in one command (just type there e.g. 
6131         bla/foo/foo2/).
6133         * main.c (copy_*): C-x (C-)p now adds a slash at the end, so you do
6134         not have to type it yourself.
6136 Wed Jul 19 18:41:29 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6138         * view.c (flush_line): Tk: Colors work on the internal file
6139         viewer.
6141         * tar.c: possible bug fix to the growing tar files tar_open, I'm
6142         not sure I did it right.  (load_compressed): Added a couple of
6143         rotate_dash()s. 
6145         * layout.c (use_dash): New routine, controls updating of the dash
6146         with rotate_dash.
6148 Tue Jul 18 13:08:54 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6150         * main.c (main), slint (slang_shutdown): Now it leaves the program
6151         in the non-application screen.
6153 Tue Jul 18 10:50:25 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6155         * cons.saver.c (detect_console): Make the code compile.
6157         * command.c: The Ctrl+Enter never reaches this part of the code,
6158         moved to midnight_callback.
6160 Mon Jul 17 12:53:32 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6162         * slint.c, myslang.h: Better compatibility with curses.
6164 Mon Jul 17 11:18:42 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6166         * configure.in, tty.h: Forgot to define USE_NCURSES, forgot some
6167         constants.
6169         * util.c: Handle too many arguments on mc_doubleopen.
6171 Tue Jul 18 16:55:20 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
6173         * xvmain.c, xvinfo.c: XView version should compile cleanly and
6174         even run (at least on my system) now... :)
6176         * help.c: No more deadlocks in XView's help
6178         * xvmain.c (xvdlg_show): Should now handle initial focus for
6179         dialogs.
6181 Fri Jul 14 16:10:47 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6183         * util.c (my_statfs): Should report the correct file system.  I
6184         have nfs mounted /home/miguel/s and it was reporting
6185         /home/miguel/slang to be on the nfs partition.
6187         * key.c (init_key): Fixed the escape sequences for irix-ansi and
6188         xterm. 
6190         * sldisply.c: Added terminal size detection to Slang.
6192         * help.c (help_event): Fixed mouse coordinate handling and repainting.
6194 Fri Jul 14 15:47:07 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6196         * aclocal.m4: OSF/1 cc compiler fixes.
6198         * tty.h: handles all of the curses differences now instead of
6199         our tricky lib/ncurses.h 
6201         * util.c: exevp portability fixes.
6203         * menu.c: hline fixed.
6205         * xcurses.c: Hacked to work with OSF/1 curses.
6207 Thu Jul 13 16:06:06 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6209         * mouse.c (init_mouse): When running with slang is important to
6210         flush stdout so that the mouse actually its activated.
6212         * boxes.c (display_bits_box): Now the setting is computed
6213         correctly (ie, it works)
6215         * sltermin.c (Tgetstr_Map): Added keypad transmit mode on/off, now
6216         cursor keys should work with terminfo.
6218         * subshell.c (read_subshell_prompt): The prompt should be there no
6219         matter what happens.
6221 Thu Jul 13 16:51:34 1995  John Davis  <davis@space.mit.edu>
6223         * slang/sldisply.c: Provided semantic compatible routines for
6224         tgetstr, tgetnum and tgetflag.
6226 Wed Jul 12 18:40:06 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6228         * vfs.c (vfs_add_noncurrent_stamps): Check for other panel type
6229         before using opanel.
6231 Wed Jul 12 16:59:23 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6233         * slint.c (slang_init): Fixed the slang/terminfo problem, reported
6234         by Ching and Thanh.
6236         * help.c: Make the buttonbar functions redraw the screen.
6238         * slint.c: Slang support should work with terminfo again.
6240 Wed Jul 12 14:09:30 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6242         * vfs: cpp options indentation to compile under OSF/1.
6244         * configure.in: Support for --with-vcurses flag for those strange
6245         setups. 
6247         * OSF/1: Changed some inline functions for macros in order to get
6248         OSF/1 compiler to work.
6250         * screen.c: move is sometimes a macro (slang support).
6252         * util.c: portability fix for exec parameters.
6254 Tue Jul 11 11:01:45 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6256         * dir.c, tree.c: Updating of the tree widget when loading new
6257         directories should be working again.
6259         * dlg.c (find_widget_type): New function to find the first widget
6260         in a dialog head.  FIXME: find_buttonbar should be rewritten to use
6261         this routine.
6263         * cons.saver.c (detect_console): Should detect a console on
6264         /dev/tty[0-9][0-9]
6266         * help.c: Works again.
6268         * slint.c (has_colors): Now it activates color based on the
6269         terminal name 
6271         * OSF/1 C Compiler portability fixes (change the format of the cpp
6272         directives), thanks to Ching Hui,.
6274 Mon Jul 10 13:04:19 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6276         * view.c (flush_line): Now we use call directly the widget command
6277         to insert the line text thus avoiding escaping the string.
6279         * dlg.c (dlg_run_done): Tk: focus the previous running dialog.
6281         * ftpfs.c (ftpfs_readdir), mcfs.c (mcfs_readdir), tar.c: On
6282         Slowaris 2 and maybe the new Linux C library (with the latest
6283         kernels) the d_name field is only 1 byte long, a clever trick that
6284         breaks our code.  We now have an extra buffer after the dirent
6285         struct.  In short: the VFS works under Solaris.
6287         * main.c, screen.c (panel_new): Use the vfs' mc_get_current_dir
6289         * slint.c (slang_keypad): Now it should set the keypad mode before
6290         starting up, this should fix the problem with the keyboard. 
6293         * screen.c (panel_new): mc core dumped when I tried to change the
6294      Listing mode, because it did not initialize the panel->fmt_count
6295      variable.  
6297      * wtools.c: the net based file systems showed the typed in password.
6299 Fri Jul  7 14:37:44 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6301         * view.c (flush_line, view_gotoxy): Added initial support for
6302         caching viewer lines in the Tk version, need to escape the special
6303         character sequences before it will work properly.
6305 Thu Jul  6 17:25:00 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6307         * subshell.c (init_subshell): We no longer complain if the
6308         subshell can not be used, we just toggle it off
6310 Thu Jul  6 16:24:34 1995  Mark Olesen <tma@encore.com>
6312         * slint.c: Check for the COLORTERM environment variable, this
6313         will activate the color support for slang.
6315 Thu Jul  6 16:24:34 1995  Thanh Ma <tma@encore.com>
6317         * tcputil.c, mcserv.c: The correct include file to use is not
6318         rpc/types.h but rpc/rpc.h
6320 Wed Jul  5 12:55:31 1995  Miguel de Icaza <miguel@luthien.nuclecu.unam.mx>
6322         * file.c (file_mask_dialog): Should compile with Unixware compiler.
6324         * Makefile.in (CPPFLAGS): Thanks to Thanh Ma <tma@encore.com> for
6325         pointing me that the regex code from GNU can be used without alloca.
6328 Wed Jul  5 19:34:52 1995  Mark Olesen <olesen@weber.me.queensu.ca>
6330         * Portability to non GNU C compiler under AIX: replaced #ifdef 0
6331         for #if 0, included time.h in vfs files, mem.h: rindex is only
6332         defined if no definition existed previously.
6334 Tue Jul  4 18:27:10 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6336         * screen.c (chdir_other_panel): Now Alt-o besides showing the
6337         contents of the current directory in the other panel, moves the
6338         cursor down one line.  Please tell me if you like this option.
6340         * find.c (insert_file): Removed the code that advanced the dir
6341         name pointer over the "./", this caused the find/panelize problem
6342         to be triggered, since the panelized paths were all wrong.
6344         * mc.tcl (center_win): Tk: Dialogs are now centered inside the
6345         main window and have local grabs (at least!)
6347 Mon Jul  3 18:15:12 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6349         * mc.tcl: Now child windows are centered after being displayed.
6350         This is still not working properly, since we flush all the events
6351         (and thus make the window visible) before we compute the correct
6352         geometry.  If someone knows how to center a toplevel window or how
6353         to compute the geometry of a toplevel before it's mapped onto the
6354         screen it would be great.
6356         * tkscreen.c (compute_font_size): Now we finally are able to
6357         compute the font size and thus the panel size, so resizing a panel
6358         should work now.  Anyways, most of the job is based on Janne's
6359         changes for the Midnight Commander 2.1 that were not released
6360         officially. 
6362 Mon Jul  3 10:30:38 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6364         * dlg.c: Fixed event dispatching, now we don't send wrong events.
6366         * tree.c: Define the correct event handler.
6368         * wtools.c (listbox_refresh, listbox_callback): The listbox did
6369         not have a listbox_callback routine and no refresh code, now it does.
6371 Sun Jul  2 20:51:19 1995  Jakub Jelinek (jj@jfch.vc.cvut.cz)
6373         * file.c: Fixes to the new copy/move commands, on deletion user
6374         can turn off/on typing yes to make himself sure he wants to do it
6375         (the other possibility is that the No button will be default instead
6376         of Yes). Also, added support to preserve UID/GIDs when copying (only
6377         root can do it). Can anyone test all of this :)...
6379         Also, removed the mask rename command, which should be completely
6380         redundant by the new rename operation (you just do specify both
6381         masks as before, the only difference is that you can now specify
6382         a target path as well, i.e. mask rename equals to rename in the
6383         current directory).
6385         * main.c (cd_try_to_select): is done for tar archives as well :)
6387         * mc.1: Eventhough real programmers do not write any documentation,
6388         I wrote something, which is quite unreadable and unclear and looking
6389         for someone who has a gift of explaining what I wanted to write and
6390         actually wrote (this mightn't be the same).
6392         * xv/Makefile.in: Another change in the Makefile. Hopefully XView
6393         will compile out of box now, not for the second time...
6395         * wtools.c (query_dialog_*): Added new procedure (query_dialog_sel),
6396         which has one of its parameters id of the button you want to have
6397         initially focused.
6399         * dlg.c: Support for initial focus, currently used in query_dialog_*
6400         only, but should become at least a bit more used.
6402 Thu Jun 29 13:01:31 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6404         * wtools.c (query_dialog): Fixed the bug that showed only empty
6405         dialog boxes.
6407 Wed Jun 28 09:14:00 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6409         * subshell.c (sigchld_handler): Fixed another miguel-mistake.  We
6410         should not return blindly after dispatching one signaled child,
6411         maybe the console saver also had something to say and only one
6412         signal was sent.
6414 Tue Jun 27 12:14:10 1995  Ching Hui (u811563@Oz.nthu.edu.tw)
6416         * subshell.c (sigchld_handler): Now we only catch the subshell_pid
6417         and the cons_saver_pid, this should fix the long standing bug with
6418         popen and other wait() calls.
6420 Mon Jun 26 14:23:22 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6422         * tkwidget.c (tk_radio_callback, tk_check_callback): They now call
6423         the actions on the standard widget.
6425 Sat Jun 24 16:29:52 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6427         * chown.c: Now it uses labels for the interesting information, the
6428         rest will be handled on Tk.
6430 Fri Jun 23 15:01:55 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6432         * hotlist.c (init_hotlist): We now use labels instead of manually
6433         drawing the labels on the widget.  This is what must be done for
6434         the rest of the widgets in order to run the dialogs with both
6435         ncurses and X.
6437         * (tk/): find file command, listing mode, sort order and option
6438         configuration panels work on tk.
6439         
6440 Thu Jun 16 00:09:09 1995  Jakub Jelinek  (jj@jfch.vc.cvut.cz)
6442         * xvkey.c: Got rid of mouse and key stuff of the text version, so
6443         now good bye lgpm and a chunk of ncurses. I will have to take some
6444         time and remove all the ncurses/slang dependent stuff :)
6446         * configure: Fixed bugs
6448         * xvmain.c: Modal dialog boxes. Should be done for file.c's dialog
6449         (it is not run by xvrundlg_event) one day :)
6451 Fri Jun  9 22:24:23 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6453         * screen.c (format_file): Split repaint_file, now format_file
6454         fills a buffer and then this buffer is passed by repaint_file to
6455         the display engine.  This should be usefull for the X version of
6456         the code, since we don't need to duplicated the repainting code.
6458 Fri Jun  9 20:51:22 1995  Sinolitis Vadim <vvs@nsrd.npi.msu.su>
6460         * widget.c (radio_callback): Now the focus color tracks the
6461         cursor. 
6463 Thu Jun  8 22:02:38 1995  Miguel de Icaza  <miguel@luthien.nuclecu.unam.mx>
6465         * wtools.c (query_dialog): this one also uses now the label
6466         instead of the draw callback.
6468 Thu Jun  8 13:54:19 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6470         * setup.c (save_panel_types): Save setup bug fix, now it only
6471         saves the listing status if it is a listing, this should get rid
6472         of the random user formats appearing.
6474         * key.c (get_event): M-enter works on slang.
6476 Mon Jun  5 13:22:52 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6478         * layout.c (change_screen_size): Resizing is working again.
6480 Sat Jun  3 15:51:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6482         * dlg.c (init_widget): Data is cleared on init_widget.
6484         * mcfs.c (mcfs_readdir): Now it allocates the cached directory
6485         list in the proper order, also frees the catched directory
6486         contents.
6488         * key.c: Disposal of the sequences and the channel lists. 
6490         * Changed printw calls for addstr where possible. 
6492 Sat Jun  3 11:44:30 1995  "Sinolits Vadim V." <vvs@nsrd.npi.msu.su>
6494         * tkmain.c (xtoolkit_init): Call the proper Tcl/Tk setup routines
6496 Fri Jun  2 18:04:31 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6498         * subshell.c (read_subshell_prompt): prompt_pos is reset upon
6499         seeing a newline or after calling feed_subshell instead of being
6500         reset each time here.  This fixes the bug of truncated prompts.
6502 Fri Jun  2 16:20:00 1995  John Davis  <davis@space.mit.edu
6504         * sldisply.c (COLOR_EQS): Compare b&w attributes when running
6505         without color.
6507 Fri Jun  2 10:38:11 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6509         * main.c (copy_prog_name): Added support to copy the current
6510         pathname from the trees.
6512 Tue May 30 20:29:40 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6514         * slint.c, color.c: Added Slang support for Black and white
6515         terminals, thanks to John Davis for helping me with the code. 
6517         * subshell.c (read_subshell_prompt): return whenever we actually
6518         read something from the inferior subshell, if that's the case, we
6519         set the update_prompt flag.  
6520         (invoke_subshell): if we send commands to the subshell, do not
6521         repaint the loaded prompt, since the subshell will repaint it.
6523 Sun May 28 11:54:02 1995  Jakub Jelinek  <root@jj>
6525         * aclocal.m4, configure.in, xview/Makefile.in: Autodetection of
6526         XView, you can use configure switches --with-xview,
6527         --with-xview-includes=path and --with-xview-libraries=path to
6528         override if configure cannot find yours xview libs/headers.
6529         There is a make goal mxc in xview/Makefile which now compiles quite
6530         the same Midnight Commander, but will contain XView support later
6531         on.
6533 Thu May 25 20:34:17 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6535         * key.c: Please note that on IRIX terminals you should set the
6536         .mc.ini variable irix_fn_keys to 1.
6538         * Use new version of Slang, now is covered under the GPL.
6540         * key.c (get_key_code): Now we have a nice routine that does the
6541         conversion for us of constants, this is needed at least for the
6542         slang version.
6544 Fri May 26 09:58:12 1995  Jakub Jelinek  <jj@jfch.vc.cvut.cz>
6546         * Restructuralized the system of Makefiles to be one per dir,
6547         also moved to the config.h autoconf model, so that our command
6548         lines do not get unbearable chunks of -D defines. Note:
6549         The source for the root Makefile and autoconf sources are
6550         in the config directory in order to keep the root directory
6551         moreless clean :)
6553 Thu May 25 17:32:52 1995  Jakub Jelinek  <jj@jfch.vc.cvut.cz>
6555         * command.c (examine_cd, do_cd_command): Changed the behaviour
6556         of our internal cd command (the one typed on the command line).
6557         Now we support simple variable expansion, but without quoting,
6558         i.e. all the $VAR and ${VAR} will be expanded if the variables
6559         exist, otherwise it will remain $VAR or ${VAR}. Any comments??
6560         The second thing is that we now in case of failure use
6561         the CDPATH variable used by bash etc., which has a $PATH form
6562         and specifies paths which will be added at the beginning of the
6563         requested path in case it is not absolute.
6564         Other possibility for the user is to run
6565         eval cd 'path'
6566         and he'll get all his shell behaviour he wants to.
6567         NOTE: This should be documented :)
6569 Tue May 23 13:12:53 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6571         * main.c (init_sigchld): Bug fix: install the sigchild signal
6572         handler.
6574         * vfs.c (mc_mmap): Small bug fix: store the actual place where the
6575         mmap took place.  Thanks again to Wim for providing a test case
6576         for this bug.
6578         * screen.c (panel_event): Marking with the mouse works again.
6580         * mcserv.c, mcfs.c: Use the portmapper to register a system port,
6581         this gets rid of the security weakness of the server.
6583         * mcfs.c, ftpfs.c: Use the common routine get_host_and_username to
6584         parse remote addresses instead of two separate routines.  
6586         * tar.c (open_tar_archive): Reset the read pointer on the
6587         compressed tar file, split in three functions (tar_open): set a
6588         proper value for file->fd (tar_close): do not close files that
6589         have not been opened.
6591 Mon May 22 17:39:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6593         * profile.c: Now we handle integers instead of shorts.
6595         * vfs.c (mc_mmap): Added checking for invalid file handles
6597         * widget.c (radio_event): Mouse support works again on radio
6598         buttons (thanks to Jakub for pointing this bug to me).
6600         * menu.c (menubar_event): Now dragging from a non-dropped menu bar
6601         drops the menubar as it should (thanks again to Jakub).
6603         * find.c: Now uses the vfs.
6605         * info.c (info_hook): Do not display the info view if there is an
6606         overlapping window in top of us.
6608 Sun May 21 22:36:13 1995  Jakub Jelinek  (jelinek1@jfch.vc.cvut.cz)
6610         * vfs.c, tar.c, ..., boxes.c: Added a rubbish collector for
6611         non local virtual file systems. If an archive / connection
6612         is not as current dir in any panel and if it has no open
6613         files and it is not an envelope of an unfreed tar archive,
6614         we give it a user selectable timeout (in seconds) from the
6615         last operation on the archive/connection and after the
6616         timeout we free it.
6618         * tar.c, boxes.c: Added a user selectable limit for gzipped
6619         tar archives. If the uncompressed size is less than this limit,
6620         archive will be gunzipped into memory, if it is not, than we
6621         gunzip it somewhere into /tmp. The user can also set that
6622         he wants all the archives to be extracted into memory or to
6623         disk (the latter one by setting the limit to 0 B).
6624         Both vfs options are in the Virtual FS dialog from the Option menu.
6626 Thu May 18 11:16:45 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6628         * view.c (get_byte): Now the viewer will show you the contents of
6629         the zero length files by setting it's mode to growing buffers, so
6630         now it's possible to see all those nice files on /proc with the
6631         viewer.
6633         * widget.c: Moved the buttonbar code from win.c 
6634         (input_callback): Now we actually quote everything
6636         * ftpfs.c (parse_ls_lga): Should work with more ftp servers
6637         (ftp.dec.com, ftp.nuclecu.unam.mx, prep.ai.mit.edu are working). 
6639 Wed May 17 13:11:49 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6641         * Makefile.in (mcserv): Fixed the Makefiles for old and broke make
6642         programs that do not handle the $< on regular dependencies (just
6643         .c.o for example).
6645 Wed May 17 23:19:03 1995  Jakub Jelinek  (root@jj)
6647         * ext.c (regex_command): Call the file command even on non-local
6648         files, but if it is non-local, pipe the first 8192 bytes of the
6649         file on standard input of a `file -` command.
6651         * util.c (mc_doublepopen, mc_doublepclose): The routines for
6652         piping input and output of an command from tar.c moved here and
6653         made for more general use (currently this is called also from
6654         regex_command).
6656 Tue May 16 12:32:00 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6658         * view.c (view): Now we return a truth value telling if we were
6659         able to show or not the file.
6661         * ext.c (regex_command): Do not call the file command on non-local
6662         files.  
6664         Now we only make a localcopy if the command is not a chdir
6665         command.  This allows us to still use filters for viewing files
6666         while using the chdir command properly (ie: we do not chdir to
6667         mc:dir//tmp/something).
6669         * configure.in: Now autodetects the proper value for formatting
6670         man pages (-mandoc or -man macros) and also detect the arguments
6671         to the file command required by view.c
6673         * tree.c (tree_do_search): Trees now have searches again.
6675         * boxes.c (tree): We have the tree routine again working.
6677         * layout.c (get_current_index, get_current_type, get_other_type):
6678         We do not use midnight_dlg->current->widget anymore as an alias
6679         for current_panel, since for instance commands executed from the
6680         menu make midnight_dlg->current be the menubar and not a panel.
6681         We use cpanel that is currently being set by
6682         panel_event/WIDGET_FOCUS. 
6684         This fixes the compare directories command, thanks to Wim for
6685         pointing out this bug. 
6687 Sun May 14 14:48:07 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6689         * main.c (tree_box): Started to code the tree box using the tree
6690         widget.  It's almost there.
6692         * view.c (toggle_hex_mode): Calling get_bottom_first is a very
6693         expensive operation (on a 386@16 Mhz it takes several seconds (half
6694         a minute reported on another machine) to switch from hex mode to
6695         ascii mode. 
6697         * tree.c (show_tree): Now the tree code uses the colors defined
6698         for the dialog.
6700         * configure.in (witf-vfs): Small bug fix, thanks to
6701         fbingha@ultrix5.cs.csubak.edu
6703 Mon May 15 21:29:05 1995  Jakub Jelinek  (root@jj)
6705         * ftpfs.c, mcfs.c, tcputil.c: First trial on a ftp file system:
6706         the syntax is as follows:
6707             ftp://[[user]@]host[:port]/remotepath
6708         e.g.:
6709             ftp://sunsite.unc.edu/pub/linux    (anonymous ftp)
6710             ftp://miguel@roxanne.nuclecu.unam.mx/c/nc (ftp login as miguel)
6711             ftp://myhost.foo.edu:4311/public  (anonymous on specified port)
6712             ftp://@jj.vc.cvut.cz/src        (ftp login as your current 
6713                                              login name)
6714         Take care, it is only ---------------pre-ALPHA version. Really not
6715         ready for any use, except bug fixing.
6717 Sat May 13 19:29:03 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6719         * tar.c (__tarfs_find_entry): On the strcmp (pent->name, p),
6720         changed the break for a return pent.  This should fix the bug on
6721         my Linux box.
6723 Sat May 13 22:45:00 1995  Jakub Jelinek  (root@jj)
6725         * mc.edit: New configuration file (can be overridden by a
6726         ~/.mc.edit) of the same format as mc.ext and mc.view. Defines
6727         which editors are for which extensions or types of files.
6729         * ext.c (exec_extension): Made possible viewing and editing
6730         of files in non-local vfs's. Currently the %f parameter, if it
6731         should be expanded to a non-local vfs name (like tar:...tar/name),
6732         is substituted by a temporary name in /tmp, into which is the
6733         non-local file copied. Then, as soon as you finish with
6734         viewing/editing/extension dependent command, we look if the file
6735         /tmp/something was changed. If it is so, we update it by copying
6736         back - note: tarfs is read only at the moment.
6737         Also note that only %f parameter is handled in this way.
6739         * Fixed a readlink problem on the artificial .. directory in the
6740         root of the tar archive.
6742 Fri May 12 19:17:02 1995  Jakub Jelinek  (root@jj)
6744         * util.c (string_perm): Fixed text mode appearance when there is no
6745         x and we put there an s or t over (suid, sgid or sticky). Then the
6746         letter should be uppercase.
6748         * tar.c (make_dot_doubledot): Created an fictive .. entry in the
6749         root of the tar archive so you can easily escape by pressing enter
6750         on it. (Previously you had to do a cd ..).
6752         (read_header): Fixed a problem on non-ANSI tar archives.
6754         * tar.c (tarfs_analysis): Now correctly enters tar archives
6755         by the cd tar:/path/archive.tar/ and cd tar:archive.tar/ method.
6757         * vfs.c (mc_opendir, mc_chdir): Fixed a problem when there was
6758         an tar archive (or gzipped/compressed tar) inside of the tar archive
6760 Thu May 11 18:13:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6762         * configure.in: the subshell support and the vfs code are now the
6763         default build options, the user should specify --without-subshell
6764         and --without-vfs in case it wants to.
6766         * boxes.c (display_bits_box), wtools.c (quick_dialog): Now we use
6767         radio buttons to display the display bits.  Implemented the
6768         quick_radio routine to achieve this.  
6770         * screen.c (next_page_key), cmd.c (view_cmd): They both check for
6771         links to directories now to perform a chdir.
6773         * slint.c: Removed dependency on the local slang patch
6775         * main.c, user.c: Misc checks, we do not use opanel without
6776         checking for it's type first.
6778         * user.c (test_condition): Fixed another bug reported by Wim
6779         Osterholt: We check for the validity of the other panel type.
6781         * layout.c (set_display_type): Fix: if the panel has been resized
6782         artificially and we are switching to a panel type that does not
6783         make use of the long panel size, reduce the panel size, thanks to
6784         Wim Osterholt for pointing this bug.
6786 Thu May 11 22:31:10 1995  Jakub Jelinek  (root@jj)
6788         * changed 0 to UP_KEEPSEL in most update_panels calls in order
6789         to keep current selection in the other panel as stable as possible.
6791         * view.c (get_byte): fixed viewing on non-local vfs's (there was a
6792         read instead of an mc_read call)
6794         * view.c (init_growing_buffer): Fixed viewing of non-piped
6795         not mmaped files
6797         * view.c (display): Assured that we have always to show something if
6798         it is in the pipe
6800 Wed May 10 21:02:30 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6802         * tcputil.c (tcp_init, rpc_send, rpc_get), mcfs.c: We now check
6803         the status of the connection, the program should not block anymore
6804         if the server crashes or disconnects.
6806         mcfs.c (mcfs_get_host_and_username): Now parses correctly the user
6807         name (mc:remotehost:remoteuser/utils is a correct path for example).
6809 Tue May  9 11:45:10 1995  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6811         * mcserv.c (do_auth): If root, change the UID and the GID to those
6812         of the user logged in.  If the user logged in as anonymous or ftp,
6813         do a chroot to the directory of the ftp/anonymous account.
6815 Wed May 10 22:09:12 1995  Jakub Jelinek  (root@jj)
6817         * dir.c (set_zero_dir), main.c (do_cd): Currently we can cd
6818         into directories --x (we will see only ..), but we should be
6819         able to get there. Also, fixed a problem when the one of the parent
6820         is not readable (then Permission denied is displayed instead of the
6821         directory path). Only works in vfs. But - does somebody need not to
6822         use vfs? I think we should make it as default or the only
6823         possibility.
6825         * util.c (name_trunc): I know I'm not going along with the crowd
6826         when using non-printable characters in directory names, but this
6827         makes me happy. It doesn't scramble the screen any more :-)
6829         * view.c, vfs.c, local.c, tar.c, mcfs.c: Added mc_mmap and mc_munmap
6830         calls and converted viewing out of FILE f* calls, so that it works
6831         in vfs as well. mc_mmap call is defined only in localfs, but I'll
6832         extend it to tarfs soon.
6834         * widget.c: Fixed a problem in File Find - all input lines were
6835         passworded (*), the is_password was uninitialized.
6837 Mon May  8 13:29:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6839         * widget.c (update_input), wtools (quick_widget, input_dialog):
6840         Added support for password prompts.
6842         * mcserv.c (do_auth): Now we try to authenticate with pwdauth if
6843         available on the system, then we try the conventional validation
6844         method (this only works on systems without the shadow suite) and
6845         finally we try to login to a local ftp server.
6847         * view.c (view_labels): F3 is also a quit key, very usefull for
6848         browsing large amounts of information (F3 chdirs, F3, enters
6849         viewer, F3 quits viewer).
6851 Sun May  7 13:31:59 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6853         * mcserv.c (do_auth), mcfs.c (login_server): Added authentication,
6854         currently it only supports authentication by connecting to a local
6855         FTP server and trying to login.
6857         * main.c (quit_cmd): Fixed the quit bug when confirm_exit was 0.
6859 Sat May  6 14:31:26 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6861         * util.c (delete_hook): Fixed the delete_hook routine, now it
6862         may delete hooks on hook variables with more than one hook.
6864         (hook_present): Returns true if a function is on the hook list
6866         * layout.c (set_display_type): Load the currently selected file in
6867         the quick view panel, not /etc/motd
6869         * view.c: Fixed view initialization (quick view mode had
6870         problems).
6871         quick view now is updated on the idle time.
6873 Thu May  4 13:37:27 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6875         * main.c (do_execute): Console is now refreshed here, we do not
6876         rely on the client function calling do_refresh.
6878         * mcfs.c: Now functions check the return value of mcfs_get_path.
6880         * vfs.c: mcfs and local file system do not use the trailing slash
6881         any more.
6883 Tue May  2 17:48:28 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6885         * boxes.c (display_box): Now the current_mode is set before
6886         initializing the display box.
6888 Wed May  3 17:20:13 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
6890         * tar.c, vfs.c, main.c: Changes to the current directory handling,
6891         paths across virtual filesystems, extensive use of vfs_canon.
6893         * tar.c: Now uses real growing buffers - still locks on some
6894         large gzipped tar.gz's :-(
6896 Tue May  2 18:05:34 1995  Radek Doulik  <root@RoDo-station>
6898         * main.c (quit_cmd): fixed bug when confirm_exit is 0
6900         * achown.c (advanced_chown_callback): repaired cursor move
6902         * key.c (mi_getch): bug fix in while () - enables ^X key
6903         combinations for libc.5.* 
6905         * chmod.c, chown.c: new variables - shared by ch* commands,
6906         needed for correct redraw (try ^L)
6908 Tue May  2 00:01:05 1995  Jakub Jelinek  (jj@jj)
6910         * tar.c, tar.h, vfs.c, vfs.h, ...: Added tar and compressed tar
6911         support. Still buggy, read only, view doesn't work there...
6912         
6913         * ext.c: Added the %cd command, which can be called to change current
6914         mc's directory, like in
6915         \.tar$ %cd tar:%d/%f/
6917 Fri Apr 28 18:32:15 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6919         * dlg.c (slow_box), screen.c: Use the slow_terminal variable to
6920         avoid drawing the acs chars.
6922 Thu Apr 27 17:06:56 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6924         * screen.c, panel.h: searching and was_searching are now state
6925         variables of each panel.
6927         * view.c (get_line_at): Search optimization: gets the string only
6928         one time, not two times as it used to do.
6930         * setup.c (load_setup), screen.c (panel_destroy, panel_new):  Ugly
6931         hacks to let us use the profile mechanism to keep values of the
6932         panels between mode switches while not being an auto-save feature.
6934 Mon Apr 24 16:17:53 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6936         * widget.c (handle_char): Clear the quote variable after we have
6937         used it. 
6939 Tue Apr 25 20:31:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
6941         * ext.c (regex_command): We now take from the `file -L' command
6942         only output after the initial filename: and whitespace, 'cause
6943         I had problems with viewing files that contained gzip in its name.
6945         * file.c: made a hardlink cache, so that we retain hardlinks
6946         (if you have a hardlink to a file and that file was already copied,
6947         then the new file is just a hardlink to that file it was copied).
6948         Copying of special files (block, character, fifos and sockets) is
6949         now possible. Copy and move now handles always with absolute
6950         filenames (I think the vfs will need it absolutely) and the
6951         added cwd is stripped when displaying the source. When copying
6952         a symlink to a directory, it will be a symlink and not a directory.
6954         * find.c: Fixed the problem when no files were found in the search
6955         (you had to kill mc).
6957         * menu.c: Fixed a problem with movement keys in menus when compiled
6958         with the libc.so.5.x.x (ELF) on Linux.
6960         * local.c: Fixed some obvious bugs (local_write, local_open).
6962 Wed Apr 19 10:43:37 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6964         * vfs.c, local.c: started the vfs layer code, currently only the
6965         local case is handled.
6967         * dlg.c (dlg_try_hotkey): User Interface Change: Hotkeys are not
6968         sent anymore when the focus is on an input line, this fixes a long
6969         standing bug.  
6971         Support has been added to use hotkeys bounded to alt-<char> they
6972         are converted to char events on the try hotkey routine.
6974 Tue Apr 18 18:26:20 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
6976         * screen.c: Panels use a private search_buffer instead of a global
6977         one.
6979         * slint.c, myslang.h: Added the slang support, currently it runs
6980         only in color.
6982         * color.c: reorganized code, now the boldness of the attributes is
6983         not hard coded, there is a new set of bright colors.
6985 Wed Apr 19 00:39:10 1995  Jakub Jelinek (jelinek1@jfch.vc.cvut.cz)
6987         * complete.c (complete_engine): Fixed a bug that caused
6988         completions not to be shown at all on some places where it should
6989         be applied (namely when you had a space just on the current point).
6991         * cmd.c (view_cmd): Changed so that it uses ~/.mc.view and mc.view
6992         files to determine which program should be piped for which file.
6994         Format of the mc.view file is the same as of the mc.ext file. Both
6995         were extended now: They can include white lines, comments (#......),
6996         files can be matched using an exact match (when beginning with .
6997         like in .tar.gz), using an regexp match or shell pattern match
6998         (depends on setting shell_patterns=0/1 as the first line of the mc.*
6999         file) and using an regexp match on output of the `file -L %f'
7000         command (using the ?"pattern" syntax). In this case you can
7001         use embedded spaces (when quoted by \). Take care with the ^
7002         character in the pattern - a usual output of the file -L command
7003         starts with the full pathname, followed by :, space and then
7004         description of the content.
7005         Included one more preprocessed command - %view, optionally followed
7006         by {} with a list of view options separated by commas. Currently
7007         only ascii, hex, nroff and unformatted are supported. This command
7008         causes all the rest of the command (this command is replaced by
7009         nothing) is run and its standard output is piped into the internal
7010         viewer. If only %view command is given and nothing else, like in
7012         ?"executable" %view{hex}
7014         then the internal viewer is forced to load just the file %f and
7015         set the viewer attributes.
7017         * ext.c: Rewritten in order to handle changes described above.
7019         * view.c (view, view_init, do_view_init, init_growing_buffer):
7020         Changed arguments to these routines, there is no is_program any
7021         more, but two strings: command and filename. If command is NULL, it
7022         is like is_program=0 before. If command is not NULL, then depending
7023         on the Parsed/Raw option (the F8 option was renamed so) will pipe
7024         in command or display filename. In the status line on top filename
7025         is always shown and not command (no more nroff -... titles on
7026         the status field, just manpage.1).
7028 Fri Apr 14 14:32:25 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
7030         * main.c (setup_mc): We should not push a refresh handler anymore,
7031         it's handled by the dialog manager.
7033         * util.c (close_error_pipe): Fixed a long standing bug.  Need to
7034         check len for indexes that are > 0, otherwise we override the
7035         stack contents.  In this special case the variable that got
7036         overwritten is part of the $edi register variable, this had
7037         unexpected consequences.  The first documented symptom was
7038         detected by Erwin when quitting the view command on a runnable
7039         region. 
7041 Mon Apr 10 13:05:55 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
7043         * screen.c (panel_key): Fixed the problem with Alt-s adding an 's'
7044         to the search.
7046         KEY_LEFT and KEY_RIGHT events are only used if we have a need to
7047         do it same done on tree.c tree_key.
7049 Sun Apr  9 20:42:12 1995  Jakub Jelinek  <jj@jj.vc.cvut.cz>
7051         * cmd.c (view_other_cmd): Subshell support should compile now.
7053         * menu.c (menubar_paint_idx): Menu separators.
7055         * view.c (display, move_forward2, change_nroff): Added possibility
7056         to switch the nroff style formatting off (using the F9 key).
7058         * view.c (search, regexp_view_search, do_regexp_search): Searching
7059         should now work on growing buffers, regexp searches should be OK
7060         as well (and search for real regexps and not for shell patterns -
7061         formerly was a F6 search for a.e a search for ^a\.e (and nobody has
7062         expected it)).
7064         * command.c (do_cd_command): Fixed a problem with the cd command
7065         when no space was after cd characters (just enter).
7067 Tue Apr  4 17:38:24 1995  Miguel de Icaza  <miguel@athena.nuclecu.unam.mx>
7069         * key.c (get_event): The mouse is displayed after the refresh.
7071         * main.c (menu_cmd): F9/Shift-F9 works again.
7073 Tue Apr  4 16:50:46 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7075         * file.c (panel_operate): Fix by Ron Sommeling <sommel@sci.kun.nl>
7076         Actually use the setting of the confirm_delete variable.
7078 Sat Apr  1 19:18:52 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7080         * menu.c: Has been converted to a widget.  I have tried to
7081         keep the cursor in the selection place.  This should help people
7082         without colors.
7084         * main.c, cmd.c: Subshell support works again.
7086         * layout.c: The program should work now with the
7087         nice_rotating_dash option set.
7089 Mon Mar 27 13:14:25 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7091         * dlg.c (run_dlg): Hotkey is allways sent to the current widget if
7092         they have set the W_WANT_HOTKEY value.  It is not sent only if
7093         WIDGET_HOTKEY returns 1.
7095 Sat Mar 25 18:40:15 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7097         * tree.c: Converted to a widget.
7099 Fri Mar 24 20:16:52 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7101         * setup.c (load_setup): We do not expect any longer to have the
7102         variables sort_* and display type.
7104 Thu Mar 23 12:37:02 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7106         * layout.c (set_display_type): This function takes care of the
7107         views displayed in the screen.  It is responsible for creating and
7108         destroying the left and right panels.  This routine is the one to
7109         be changed for the multiple panels support.  
7111         * screen.c (panel_destroy): Save the setup just before shutting down.
7112         (panel_new): Load the setup at panel startup.
7114         * setup.c (panel_save_setup, panel_load_setup): Functions to load
7115         and save the setup.
7117         * boxes.c (display_init): Do not call the input_set_point routines
7118         before adding the widget to the proper place.
7120         * configure.in (LIBS): We do not use the writable-strings anymore.
7122 Mon Mar 27 14:48:12 1995  Jakub Jelinek  <jjel3210@beta.ms.mff.cuni.cz>
7124         * util.c (icase_search): Fixed a bug in searching algorithm.
7126         * util.c (canonicalize_pathname): This routine handled incorrectly
7127         ../../* and such things (this particular was squeezed to /).
7129         * view.c (get_byte): get_byte always returns -1 if we try to look
7130         past the buffer.
7132         * (display): Added _\b? sequence (underlined in ntroff) as red on
7133         blue, added highlighting of search results - FIXME: it has to work
7134         with regexps as well.
7136         * (search): Now we can search through binary files (containing some
7137         \0 stuff) as easy as in text files and we support result
7138         highlighting.
7140         * (block_search, hex_search): Fixed a bug in searching algorithm.
7142 Wed Mar 22 13:45:58 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7144         * main.c (repaint_screen): Now we call do_refresh ().
7146         * widget.c (input_new): Do not call update_input at program
7147         startup, wait for the kind WIDGET_DRAW message to arrive.
7149         * hotlist.c, chmod.c, chown.c, boxes.c, achown.c, wtools.c,
7150         option.c, layout.c: Converted them to use the new widget methods.
7152 Tue Mar 21 13:35:11 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7154         * dlg.c (add_widget): Modify widget position relative to the
7155         dialog origin.
7157         * win.c: Implemented the WButtonBar widget.  Changed the code to
7158         use this widget.
7160         * main.c (midnight_callback): DLG_UNHANDLED_KEY now takes care of
7161         the hotkeys.
7163 Mon Mar 20 10:28:00 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7165         * widget.c (input_callback): Return whenever the input char is
7166         processed. 
7168         * input.c (handle_char): Now returns if the character was handled.
7170         * widget.c (button_callback, radio_callback, check_callback,
7171         input_callback, listbox_callback): Respond to the WIDGET_CURSOR
7172         message.
7174         * dlg.c (dlg_redraw): After redrawing, send a message to let the
7175         widget put the cursor in a suitable place.  This is needed since
7176         the panel implementation forces the cursor to stay on the panel. 
7178         * cmd.c: moved most *_cmd functions from main to this file.
7180         * panel.h (selection): Now we should specify an argument (the panel).
7182 Sun Mar 19 14:48:47 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7184         * dlg.h: Removed unnecessary WIDGET_CHECK_HOTKEY.
7185         Widget: added options to the widget structure.
7187         * command.c: New file, implements the WCommand widget.  This is a
7188         widget based on WInput.  This widget does not accept the focus but
7189         accepts the unused keys messages.  
7191         * main.c: left_panel and right_panel are now Panel *.
7192         (view_cmd): We really meant do-cd, not action.
7194         (init_panels): Use the new syntax for panel creation.
7196 Sat Mar 18 19:21:24 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7198         * main.c (do_cd): Now it calls cd_try_to_select when the chdir was
7199         successfull. 
7201         * screen.c (ITEMS, select_item, unmark_files, panel_event,
7202         select_cmd, unselect_cmd, move_down, move_up, move_left,
7203         move_right, mark_file, move_home, move_end, next_page_key,
7204         prev_page_key, goto_top_file, goto_middle_file, goto_bottom_file,
7205         next_page, prev_page, start_search): Moved from main.c
7206         
7208         (panel_event): Cleaned up.
7210         renamed do_init_panel to panel_init
7211         renamed init_panel    to panel_set_size
7213         * panel.h (Panel structure):
7214         replaced: 
7215         view_type with list_type
7217         added:
7218         Widget structure to make it a widget.
7220         removed:
7221         x, y, cols, lines, xpos, ypos: these are redundant with the 
7222         widget element.
7223         half_cols, full_cols: now we compute the values directly
7224         is_status: Panel is only used as a FileListing Widget.
7225         
7226         (prototypes): Renamed panel functions to make them more uniform.
7228         * panel.c: Panel routines do not use a special window anymore,
7229         just stdscr (this is needed for the slang port).
7231         * dlg.c (dlg_broadcast_msg): Changed redraw order: this forces the
7232         current item to be the last one drawn.
7234 Fri Mar 17 13:38:41 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7236         * mc.1: Updated man page for completion.
7238         * complete.c: Last big completion changes.
7239         (command_completion_function): Command completion algorithms,
7240         currently supports bash reserved words and builtins only (and of
7241         course examining of $PATH).
7242         (completion_matches): We remove duplicate possibilities.
7243         (try_complete): Changed algorithm where to do which completion.
7244         (complete): Now we use the show_all_if_ambiguous variable to find
7245         out if we should popup possibilities for the first or for the
7246         second time M-Tab is pressed.
7247         
7248         * main.c (change_panel, do_cd): On these events we dismiss all the
7249         collected possibilities like we do if the user types any character
7250         on the input line.
7251         (do_nc): We allow command completion on the command line (of course
7252         ;-)).
7254 Wed Mar 15 20:48:13 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7256         * panel.h: the selection variable now is a macro that returns the
7257         current value of the selection instead of relying in a possibly
7258         inaccurate value (I already have seen this).
7260         * option.c: Fixed hotkeys.
7261         (init_configure): Fixed indexes.
7263         * mem.h (bcopy): Fixed horrible bug, should not use macros that
7264         much. 
7266         * main.c (view_cmd): Added quick hack to load man pages through
7267         the nroff program using the new growing buffers routines.
7269         * view.c (get_byte): Rewrote routine to use growing buffers.
7270         (init_growing_view): New function to open the view stream.
7271         (load_view_file): cleaned up error handling return values.
7272         (free_file): free the growing buffer memory blocks.
7274         * main.c (prev_page, next_page, prev_page_key, next_page_key): The
7275         PgUp, PgDn key + Control works by doing a chdir up or down, while
7276         the C-v and Alt-v keys moves by pages.
7278 Tue Mar 14 14:22:48 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7280         * view.c (view_status): Should not break even if s.st_size is 0.
7281         (view_init, do_view_init): now we can specify that the input comes
7282         from a program.
7284 Mon Mar 20 11:36:10 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7286        * main.c (select_item), screen.c: Some more orphans in the panels
7287        removed.
7289        * widget.c (label_callback): Mc displays correctly multi-lines
7290       labels (it didn't before).
7292        * wtools.c (input_dialog): Fixed the width problem in dialogs wider
7293        than 64...
7295 Mon Mar 13 13:15:59 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7297         * complete.c: Next step (probably one more is needed to get it
7298         somehow working with all the expected features, but not bug free).
7299         Now it does hostname completion, if the current word beginns with
7300         a @, username if ~, variable if $ and filename as before. It doesn't
7301         do command completion, checking of where to apply which completion
7302         is not in the state it should be and also you cannot choose whether
7303         the auto_query_if_ambiguous (in this version is the default bash's
7304         behaviour, so we first beep and for the second time show the
7305         possibilities. completion now shows a / after completing a directory
7306         or username.
7308 Thu Mar  9 21:25:43 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7310         * colors.c (init_colors): provide dialog_colors with proper
7311         values. 
7313         * dlg.c (create_dlg): New dialog creation function.  It allocates
7314         the window instead of letting the caller do the window allocation.
7316         * file.c wtools.c, boxes.c, chown.c, achown.c, option.c: 
7318         Switch to create_dlg instead of dlg_new.
7320         Do not use the window directly, use the window member of the
7321         Dlg_head structure.
7323         Use the coloring scheme dialog_colors instead of it's own copy per
7324         module. 
7326 Fri Mar 10 08:21:16 1995  Jakub Jelinek    (jelinek1@jfch)
7328         * view.c (display, move_forward2, move_backward2): Changed so it
7329         now correctly handles such things as the bold sequence split accross
7330         the lines in wrap_mode and so on. Cause even move_forward2 became
7331         very complex, I've changed in wrap_mode calls to move_backward2 to
7332         move_forward2 (after finding the previous \n), so there is only
7333         one place we have to change in the future when we want to change
7334         something in the scrolling :-)
7336 Wed Mar  8 18:26:25 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7338         * widget.c (listbox_add_item): Added duplicates handling.
7340         * wtools.c (new_chooser, run_chooser, destroy_chooser): Functions
7341         to write quick routines for selecting entries (possibly letting the
7342         user remove them).
7344         * widget.c (listbox_select_last): New function to remove the
7345         currently selected item.
7347 Wed Mar  8 11:12:19 1995  Janne Kukonlehto  (jtklehto@indy4)
7349         * ../doc/FILES: Rewritten to conform new directory structure.
7351         * global.h: Replaced `#if defined(ultrix)...' with `#ifndef
7352         HAVE_STRDUP'.
7354         * help.c (show), help.h: Supports bold characters now.
7356         * layout.c (make_box): A new function which outputs a box of
7357         requested size at requested location. (move_resize_panel): A new
7358         function to move and resize the current directory panel.
7360         * layout.h: Added move_resize_panel.
7362         * main.c (only_refresh_screen, only_touchwin, untouch_bar,
7363         repaint_screen): Replaced wrefresh with wnoutrefresh/doupdate pair
7364         in order to reduce blinking. Reordered update sequence to be more
7365         compatible with moved and resized panels. Other small changes.
7366         (outrefresh_screen): A new function which marks all the standard
7367         windows for update but doesn't update them yet. Used by
7368         move_resize_panel. Useful to reduce blinking. (OptMenu): Added
7369         `Move/resize panel'. (handle_args): Fixed a small bug which
7370         prevented `-U' option from working.
7372         * main.h: Added outrefresh_screen.
7374         * man2hlp.c (handle_command): Checks that heading levels are even.
7375         Outputs bold_on/bold_off commands in the HLP mode, too.
7377         * panel.h: Added the coordinates of the top left corner. Required
7378         by move_resize_panel.
7380         * screen.c (init_panel): Sets the coordinates of the top left
7381         corner.
7383         * util.c (is_printable): I think DEL character is never printable.
7385         * view.c (display): Now show sequences like
7386         character-backspace-character as boldface (like less does).
7387         (move_forward2): Handles correctly character-backspace-character
7388         sequences. FIXME: I could not figure out how to change
7389         move_backward2 to handle char-bspace-char sequences correctly.
7391 Tue Mar  7 22:12:13 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7393         * widget.c (listbox_key): No more orphans in listboxes when
7394         pressing End.
7396         * widget.c (listbox_get_current): It didn't work with the
7397         second parameter NULL (if we didn't want to get extra data).
7399         * setup.c, option.c, main.c (*cd_symlinks): Added flag to enable
7400         /disable following of logical directory structure made of symlinks
7401         (which I have added 3 days ago). Rearranged key assignment in the
7402         Configuration dialog, so that all keys work for the check boxes
7403         where they are capitalized.
7405         * input.c (is_in_input_map): Test function for the complete engine.
7407         * complete.c: Now it shows a listbox of all possible completions
7408         if there are more then one, you can type characters when this
7409         listbox is displayed and mc will try to complete as much as it can.
7410         You may select an entry and press Enter to insert it into the
7411         input line or you can press M-Tab again if you've typed some
7412         characters and want to see fewer possibilities. Still lacks
7413         other completions than filename.
7415         * boxes.c: Cosmetic changes to the Display mode dialog.
7417 Fri Mar  3 19:25:12 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7419         * boxes.c (select_format, display_callback): Added a list for the
7420         user formats while pressing C-c.
7422         * man2hlp.c (handle_command): Small change to remove the spaces
7423         before the section name.
7425 Mon Mar  6 08:38:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7427         * new files: complete.c, complete.h - First steps for the
7428         filename/command/username/variable/hostname completion in
7429         the input lines. At the moment only filename completion is
7430         supported.
7432         * input.[ch]: Incorporation of complete.[ch] into the project,
7433         complete function is assigned to the M-Tab keystroke.
7435 Sat Mar  4 21:19:32 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7437         * main.c (do_cd): cd should follow symlinks up to the location
7438         where you've entered them and not to the .. directory of the
7439         real directory symlinks are pointing to.
7441         * util.c (canonicalize_pathname): This routine makes previous
7442         change possible and despite of that can be usefull elsewhere
7443         as well.
7445 Tue Feb 28 09:39:20 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7447         * boxes.c (display_bits_box): Added the nice dialog box for
7448         choosing the number of display bits.
7450         * util.c (is_printable): Added the full 8 bit support as well as
7451         iso-8859-1.
7453         * main.c (next_page): Now also handles C-PgDn, this chdirs into
7454         the current directory.
7456         * boxes.c (quick_dialog): New routine to write simple dialog boxes
7457         with confirmation boxes, no more, no less.
7459         * util.c (ctrl_pressed): Thanks to Alessandro Rubini for providing
7460         this code.
7462         * main.c (do_cd_command): We can't write past the buffer (cmd [3]
7463         if cmd [2] is 0).
7465         (quit_cmd): Added check for confirmation before exiting.
7467         * configure.in, util.c: The proper thing to do is to check
7468         for strdup here and not for ultrix.
7470         * main.c (view_other_cmd): Changed call to mi_getch for xgetch,
7471         since now we have a do_update call in mi_getch.
7473 Wed Mar  1 20:03:17 1995  root  <root@RoDo-station>
7475         * achown.c: space now does nothing (in future maybe toggle),
7476         after '+', '-', '=' cursor moves to the next flag (owner)
7478 Thu Feb 23 07:37:56 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7480         * chmod.c, dir.c (stat_file, handle_dirent): Changed
7481         all file type tests to the S_IS* macros, because usage of the
7482         (x & S_IF*) == S_IF* caused misbehaviour, e.g. the block
7483         devices and sockets on linux were handled as directories and
7484         therefore sorting in the /dev directory looked a little bit
7485         strange.
7487         * input.c (input_set_prompt): Added a call to update_input,
7488         because otherwise when we changed from a longer to a shorter
7489         prompt, the rest of the old prompt remained on the screen.
7491         * input.c: Added KEY_HOME, KEY_A1, KEY_END and KEY_C1 as
7492         moving to the beginning / end of the input line. It doesn't
7493         do anything on the cmdline, because then we handle these
7494         special keys before, but of other input lines.
7496         * layout.c (init_layout, update_split, layout_callback):
7497         We have to initialize our internal _* variables and not
7498         to wait until someone presses a key / clicks mouse bottom,
7499         because then the first press / click has sometimes no
7500         result. Also I've changed Miguel's recent addition of
7501         redrawing numbers only if they changed, so that it works
7502         fine when you press C-l or check/uncheck Equal checkbox.
7504         * main.c (untouch_bar): Fixed so menu repaints fine even
7505         when having menubar_visible set.
7507         * main.c (init_labels): Having keybar_visible == 0 doesn't
7508         cause an segfault any more.
7510         * view.c (view_init, view): Setting dirty to max_dirt_limit + 1
7511         moved to the view_init function and should work fine (mc
7512         really always displays the view_win on start).
7514         * view.c (move_backward2, move_forward2): Rewritten so it
7515         should work well even when wrapping (e.g. before, when you were
7516         moving up in wrap mode, it moved sometimes several lines up,
7517         moving to the end didn't sometimes reach 100% etc.).
7519         * view.c (get_bottom_first): Added a new check so that the
7520         view's shown page always shows as many lines as possible
7521         (no more last one line on the screen if there are many in the
7522         
7523 Thu Feb 23 12:17:39 1995  Janne Kukonlehto  (jtklehto@paju)
7525         * file.c: Oops, I forgot to include <utime.h>.
7527         * find.c (find_parameters): The previous parameters are now
7528         remembered. (insert_file, do_search, find_callback, start_stop,
7529         find_file): Cosmetic changes. (do_search): Shows the name of
7530         directory being scanned.
7532         * main.c (compare_files): A new function to compare two files,
7533         used by thorough compare. (compare_dir, compare_dirs): Now there
7534         two compare methods: quick compare (the old method) and thorough
7535         compare (byte-by-byte compare).
7537         * mc.1 (Command Menu): Documented the two compare methods.
7539         * util.c (get_full_name): Now able to handle directory names which
7540         end to '/' (required by find file feature).
7542 Thu Feb  5 13:12:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7544         * main.c (move_down,prev_page,next_page): Code changed so that
7545         PageDn,Up work well and do not show only some entries if there is
7546         a lot of them.
7548 Wed Feb 22 16:18:08 1995  Janne Kukonlehto  (jtklehto@paju)
7550         * FILES: A new file to list the purpose of files included in the
7551         distribution. I hope wanna-be MC hackers will find it useful.
7553         * Makefile.in (DISTFILES): Added the FILES file.
7555         * file.c (copy_file_file): Code clean-up. Now preserves time
7556         stamps.
7558         * find.c (do_search): Optimized, now about ten times faster than
7559         before and only two times slower than GNU find.
7561         * panel.h, find.c, main.c, screen.c: In the Panel structure the
7562         dont_reload field is renamed to is_panelized.
7564         * main.c (reload_panelized): A new function to update contents of
7565         panelized view. (update_panels): Now calls the new
7566         reload_panelized function for panelized panels instead of skipping
7567         update. (enter): Now removes any initial and trailing whitespace
7568         in directory names of the cd command.
7570         * menu.c (run_menu): because F10 is a abort key nowadays there is
7571         no need to check for it again.
7573 Tue Feb 21 17:18:09 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7575         * main.c (handle_args), configure.in: Now you can specify if you
7576         want the subshell by default.
7578 Tue Feb 21 12:51:24 1995  Sinolits Vadim V. <vvs@nsrd.npi.msu.su>
7580         * file.c (copy_file_file): Avoid copying a file to itself.
7582 Tue Feb 21 12:39:06 1995  Janne Kukonlehto  (jtklehto@indy6)
7584         * find.c (find_file): Draw the nice dash when panelizing
7586 Sat Feb 18 14:09:12 1995  Janne Kukonlehto  (jtklehto@indy6)
7588         * subshell.c (read_subshell_prompt): You can't use a label without
7589         a statement. (pty_open_slave): Irix doesn't support ioctl
7590         (pty_slave, I_PUSH, "ttcompat").
7592         * user.c (expand_format): Removed an extra ';'.
7594 Fri Feb 17 13:56:45 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7596         * main.c (change_view): Call view_done if we are switching away
7597         from a quick view mode.
7599 Thu Feb 16 10:07:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7601         * dialog.c (input_event, input_dialog): Added mouse support
7602         for the input dialogs' edit lines, so the cursor will move
7603         to the place you press mouse on. Also added F10 key as the
7604         abort key.
7606         * dlg.c (dialog_handle_key): Added C-c and C-g as abort
7607         keys for the dialog (so it behaves exactly same as the input
7608         dialog).
7610        * main.c (edit_cmd): Fixed a bug that caused improper screen
7611         redrawing if you when searching in the panel pressed F4.
7613         * widget.c (input_event, listbox_select_pos, listbox_event):
7614         Added full mouse functionality for the input line and listbox
7615         widgets.
7617         * wtools.c (create_listbox_window): Changed colors of user menu
7618         and history command dialogs, so they're compatible with other
7619         dialogs in their look and feel (I found the previous colors
7620         extremely ugly).
7622 Fri Feb 17 13:04:44 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7624         * layout.c (update_split): We don't update the split information
7625         if it has not changed.
7627 Thu Feb 16 11:07:04 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7629         * main.c: We don't support advanced chmod/chown for 2.0.
7630         (view_other_cmd): Added a repaint screen.
7632 Thu Feb 16 16:12:04 1995  Janne Kukonlehto  (jtklehto@paju)
7634         * gindex.pl: A small typographical change in the index output.
7636         * user.c (expand_format): Removed a compilation warning.
7638 Thu Feb 16 19:56:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7640         * widget.c (button_event, radio_callback, radio_event, check_event,
7641         listbox_event): Last trial to make layout dialog box work with
7642         mouse. Whenever we send in these events any key to the widgets,
7643         we have to send then a DLG_POST_KEY message to the dialog, what
7644         is normally done when a real key is pressed.
7646         * layout.c (b2_left_cback, b2_right_cback): Removed ugly hack
7647         to update something what is not needed now cause we do it
7648         already in the *_event - see the above change.
7650 Wed Feb 15 22:13:21 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
7652         * layout.c (setup_event): Do not modify the events. Just push
7653         them. Since we have fixed the layout problem, this code is not
7654         needed anymore.
7656         * main.c (do_nc): Do not accept character -1.
7658         * input.c (insert_char): Do not accept character -1.
7660         * cons.saver.c (restore_console, save_console, detect_console):
7661         Changes to work with Linux >= 1.1.91.  Now they use /dev/vcsaN for
7662         accessing the memory associated with the virtual console N.
7664 Wed Feb 15 00:46:33 1995  Dugan O. Porter  (dugan@b011.eunet.es)
7666         * main.c (do_execute): Fixed the pause_after_run so the console
7667         contents still get saved even if pause_after_run == pause_never.
7669         * main.h: Removed the after_run_actions enum; it is not used in
7670         any .c files other than main.c, and besides it is inconsistent
7671         with the enum given in main.c itself...
7673         * main.c, main.h (toggle_pause_after_run): Removed as obsolete.
7675         * terms.c (do_exit_ca_mode): New function; the counterpart of
7676         do_enter_ca_mode().  Called in main.c.
7678         * main.c (view_other_cmd): Now calls do_exit_ca_mode(), and it
7679         isn't disabled any more just because OTHER_CURSES is defined.
7681         [Begin Not included]
7682         * subshell.c (pty_open_master, SVR4 version): Temporarily ignore
7683         SIGCHLD while calling grantpt() (which forks a pt_chmod process.)
7685         * main.c (main): Now we always install the SIGCHLD handler here,
7686         regardless of whether use_subshell is set or not.
7688         * subshell.c (init_subshell): No need to mess around with SIGUSR1
7689         any more; we never install the SIGCHLD handler here now.
7690         [End Not included]
7692         * util.c (my_system): Don't die horribly if the sigaction() calls
7693         to ignore SIGINT and SIGQUIT fail; run the command anyway.
7695         * cons.handler.c (handle_console): Close old pipe ends during
7696         CONSOLE_INIT, in case it is the second time we run cons.saver.
7698         * cons.saver.c (send_contents): Removed the `lastline' variable
7699         and all references to it.
7701 Tue Feb 14 18:16:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7703        * chown.c, achown.c (init_chown, init_chown_advanced): Fixed
7704        a bug that caused mouse events to be shifted down, so you
7705        had to click 2 resp. 5 lines above the widget. winpos and the value
7706        of the newwin must be kept in sync.
7708 Wed Feb 15 18:39:01 1995  Janne Kukonlehto  (jtklehto@paju)
7710         * file.c (panel_operate): Also a single tagged file should be left
7711         tagged if the operation failed.
7713         * gindex.pl: Now can handle hierarchical headings.
7715         * man2hlp.c: Better backslash quoting handling. Now can handle
7716         hierarchial headings. Fixed a problem with HTML links. Now can
7717         handle \& command in the beginning of line.
7719         * mc.1: Switched to hierarchial headings. Some reorganization.
7720         Documented the find file feature, the layout dialog and the file
7721         operations dialog.
7723         * menu.c (run_menu): The F10 key works again.
7725         * xnc.hlp (QueryBox): Small change in the wording.
7727 Tue Feb 14 19:13:41 1995  Miguel de Icaza  <miguel@sphinx>
7729         * Interesting: is_idle returns 0 if we used the mouse on an xterm.
7730         Because the mouse up has not been handled yet.  We should take
7731         this into account for the future.
7733         * view.c (view): Force refresh by setting an initial value to
7734         dirty of max_dirt_limit + 1.
7736         * mouse.c (click): Now click returns a MOU_ENDLOOP: this gives the
7737         view command a chance to refresh the screen.
7739         * main.c (menu_bar_event): When executing code from the menus, end
7740         the mouse loop.
7741         (do_nc): Added a wrefresh before the mi_getch call.  This puts the
7742         cursor in the correct position.
7743         (restore_console): Restore the console properly: if using the
7744         subshell support, add the prompt we have loaded, since it may not
7745         have been printed before we got the snapshot of the screen.
7747         * layout.c (layout_cmd): Instead of changing the layout on the
7748         fly, let the main loop take this decision: this solves the problem
7749         of the unpaired frames.
7751         * main.c (init_labels): Misc changes to make the layout changing
7752         code to work (add test to check if fkeys is set before
7753         refreshing). 
7755 Mon Feb 13 00:59:04 1995  Miguel de Icaza  <miguel@sphinx>
7757         * file.c (panel_operate): Now we return 0 if the panel_operate
7758         did not modify the fs, and 1 otherwise.
7760         * main.c (delete_cmd, copy_cmd, ren_cmd): update and repaint the
7761         screen only if panel_operate did something interesting on the disk.
7763 Mon Feb 13 22:54:12 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
7765         * dir.c (sort_*): Changed reverse sorting so if the mix_all_files
7766         options is not set, directories come always before other files.
7768 Tue Feb 14 02:47:59 1995  Janne Kukonlehto  <jtkl@jysky.oulu.fi>
7770         * dialog.h, wtools.c (query_dialog): Added a new flag
7771         WITH_HOTKEYS. Now it is possible to use hotkeys other than the
7772         first letters of the possible choices.
7774         * file.c: Added a new function query_recursive which asks
7775         confirmations for the recursive deletes. A part of its code
7776         originates from recursive_erase. (mask_rename): Got rid of a
7777         warning. (panel_operate): Code clean-up. Skipped files are no
7778         longer untagged. (show_bar): Should not overflow anymore.
7780         * layout.c (b2left_cback, b2right_cback, init_layout): An attempt
7781         to adjust panel widths now toggles the equal split off
7782         automatically. (remove_dash): Operates correctly even if menubar
7783         is visible.
7785         * man2hlp.c (handle_command): Typographic fix in the html index
7786         output.
7788         * screen.c (repaint_file): If the panel is split to two columns no
7789         longer colours the division bar when tagging files or drawing the
7790         selection bar. (display_mini_info): Handles singular and plural
7791         form of the `file' word correctly when outputting number of tagged
7792         files.
7794         * util.c (regexp_match): Optimized: compiles the pattern only if
7795         it has changed since the last time.
7797         * wtools.h: There exists no query_dialog_new function nowadays.
7799 Sun Feb 12 20:31:09 1995  Miguel de Icaza  <miguel@sphinx>
7801         * main.c (do_nc, main): Reordered the push_frames and panel
7802         creation so that the layout stuff can remove properly all the
7803         mouse events when switching modes (for disabling the key bar).
7805         * win.c: misc changes to add an option to specify whenever we want
7806         or not a fkey.
7808         * option.c (init_configure), main.c (do_execute): Implemented the
7809         3-type of pause_after_run.
7811         * key.c (mouse_getch): Removed pending variable; now ESC is a
7812         prefix key, not a prefix and a abort key.  There is a workaround:
7813         you can set the old_esc_mode in the ini file.
7815         * dialog.c, file.c, menu.c, tree.c, widget.c: C-c and C-g also
7816         abort actions.
7818         * screen.c (parse_display_format): Fixed bug that truncated the
7819         user format if it had an error.
7821 Sun Feb 12 12:31:15 1995  Janne Kukonlehto  (jtklehto@paju)
7823         * Makefile.in: Added regex.c to SRCS, regex.h to HDRS, regex.o to
7824         OBJS.
7826         * configure, configure.in: Added AC_ALLOCA check. Removed the
7827         search for the correct regular expression commands. The GNU regex
7828         library is used instead.
7830         * file.c (mask_rename): Dumped the old shell pattern parser. The
7831         GNU regex library is used instead.
7833         * mc.1 (File Menu, Mask Rename): Moved the description of the mask
7834         rename feature from the File Menu section to a new Mask Rename
7835         section. Documented the new support for regular expressions (shell
7836         patterns off).
7838         * regex.c, regex.h: New files. Copied from the GNU regex library
7839         version 0.12. 
7841         * util.c: Removed the #ifdef jungle to get the correct regular
7842         expressions code. Now uses the GNU regex library instead. Moved a
7843         part of the regexp function to a new convert_pattern function.
7845         * util.h: Added convert_pattern.
7847         * key.c (check_selects): Void function can't return value.
7848         (mouse_getch): The gpm_fd variable is not defined if the libgpm is
7849         not used.
7851         * user.c (expand_format): Why ';' was removed after "/* Fall
7852         through */"?
7854         * view.c: Renamed the quit variable to view_quit to avoid problems
7855         with the quit variable in the main.h.
7857 Sat Feb 11 13:31:33 1995  Miguel de Icaza  <miguel@sphinx>
7859         * main.c (main): Set an initial value for the prompt, since we are
7860         not loading it at subshell initialization.
7862         * key.c (check_selects, add_selects, channels_up, channels_down):
7863         Add a way to activate and deactivate the select channel checking.
7865         * configure.in (LIBS): Removed the -ltermcap
7867 Sat Feb 11 00:46:52 1995  Dugan O. Porter  (dugan@b011.eunet.es)
7869         * user.c (expand_format): Removed ';' after "/* Fall through */"
7871         * auto.c (do_exec_mount): Blocked SIGCHLD during the fork/wait,
7872         to avoid interference with our sigchld_handler() in main.c.
7874 Fri Feb 10 12:17:37 1995  Miguel de Icaza  <miguel@sphinx>
7876         * key.c (mouse_getch): Do not use max_fd anymore, use FD_SETSIZE.
7877         (try_channels): New function to check the wait channels on the
7878         work around version of getch.
7880         * widget.c (listbox_get_current): Don't return information if the
7881         listbox is empty.
7883         * main.c (reread_cmd): Many changes to remove a bunch of warnings.
7885         * widget.c: Added hotkey support to radio buttons.
7887 Sat Feb 11 21:56:03 1995  Jakub Jelinek   <jelinek1@jfch.vc.cvut.cz>
7889         * main.c (panel_event): fixed a bug on mouse dragging in a two
7890         column full sized panel, fixed proper changing of panels when
7891         dragging the mouse, fixed dragging when having panels split
7892         horizontally.
7894         * main.c (panel_event): Double clicking at the border (so not
7895         on any file) doesn't run the active file any more. This caused
7896         some unwanted actions when moving in the panel up and down.
7898         * main.c (paint_quick_view_panel): Blank Quick view panel cannot
7899         be active and current panel is changed automatically.
7901         * screen.c (repaint_file): When the user defined format is
7902         shorter than the actual panel width, there are no black gaps
7903         at the end any more.
7905         * screen.c, panel.h (parse_display_format): When you select
7906         different panel size in used defined format and in user defined
7907         mini-status format, the panel size of mini-status line is adapted
7908         to the panel size of the panel, so there are no black gaps any 
7909         more...
7911         * screen.c (paint_frame): Removed black gaps when titles are
7912         shorter and added trimming of titles if they're longer than
7913         the field length.
7915         * view.c (view_status): Modified for the cases when quick view
7916         panel width is extremely short.
7918         * view.c (view_event): Added unnecessary wrapping, 'cause panel
7919         event was changed.
7921         * mouse.c (mouse_handler, redo_mouse): Changed a hideous bug
7922         that mouse was generating unexpected event coordinates when
7923         auto repeating last event.
7925 Thu Feb  9 13:43:42 1995  Miguel de Icaza  <miguel@sphinx>
7927         * find.c (find_file): Remove the old directory contents before
7928         panelizing the entries.
7930         * chown.c (chown_cmd): Fixed stupid bug.
7932         * chmod.c (chmod_cmd): Fixed stupid bug.
7934         * file.c (panel_operate), main.c (do_mark_file, select_cmd,
7935         unselect_cmd): Use strcmp
7936         (,".."), not strncmp (,"..",2)
7938 Thu Feb  9 11:06:46 1995  Janne Kukonlehto  (jtklehto@paju)
7940         * chmod.c (chmod_mcd), chown.c (chown_cmd): The
7941         is_view_file_listing macro should take cpanel->view_type as
7942         parameter, not plain cpanel.
7944         * configure.in (--with-debug): Added definition of MCDEBUG (used
7945         by view.c).
7947         * file.c (copy_dir_dir, recursive_erase, erase_dir), main.c
7948         (mkdir_cmd): Replaced mkdir and rmdir with my_mkdir and my_rmdir.
7950         * find.c (find_file, do_find): Added a 'Panelize' button to put
7951         found files to the current directory panel (to make possible
7952         viewing, copying, deleting and so on). Press Ctrl-r to return to
7953         normal file listing after panelizing.
7955         * layout.c (destroy_panels): Oops, a pop_fkey call missing. Now
7956         ncurses doesn't seg-fault anymore if the MC catches WINCH signal.
7957         (change_screen_size): Added a noraw call.
7959         * main.c (cd_try_to_select): A new function which tries to select
7960         the old directory if we chdired to the parent directory.
7961         (parse_control_file, action, enter, maybe_cd, tree_cmd,
7962         quick_chdir, tree_leave): Now uses the cd_try_to_select function
7963         instead of try_to_select.
7965         * main.c (update_panels): Tries to avoid reloading after a
7966         panelize operation. (do_nc): The pop_fkey call isn't needed here
7967         anymore after I added it to destroy_panels.
7969         * mc.1 (Directory Tree): Cleared up the explanation of the F3
7970         (Forget) key. (FILES): Fixed the command to generate the .mc.tree
7971         file manually. The .mc.hotlist file isn't used anymore.
7973         * panel.h (Panel): Added a dont_reload flag to be used by panelize
7974         operation.
7976         * screen.c (do_init_panel): Now initializes the dont_reload flag.
7977         (panel_reload): If the current directory of the panel doesn't
7978         exist anymore, moves to the parent directory until a existing
7979         directory is found. Loads zero dir only if the root directory
7980         doesn't exist.
7982         * tree.c (tree_add_entry), tree.h: The tree_add_entry function is
7983         now global instead of static (used by the my_mkdir function).
7985         * util.c (get_full_name): Now handles root directory correctly.
7986         (get_absolute_name, my_mkdir, my_rmdir): New functions to replace
7987         mkdir and rmdir. These versions update the tree figure when
7988         directories are created or destroyed.
7990         * util.h: Added my_mkdir and my_rmdir.
7992         * view.c (load_byte): Tries recover from errors. Now aborts only
7993         if the MCDEBUG macro is defined. (view): The keybar of the
7994         internal viewer is now shown regardless of the value of the
7995         keybar_visible variable.
7997 Wed Feb  8 16:41:40 1995  Miguel de Icaza  <miguel@sphinx>
7999         * dialog.c: Made refresh_list public.
8001         * subshell.c (feed_subshell): Initialize the subshell_prompt
8002         variable; don't read the prompt anymore, let this work to main.
8004         * util.c (strip_ctrl_codes): Don't strip codes of a null pointer.
8006         * file.c (recursive_erase): Removed extra free.
8008         * main.c (copy_tagged): Work on the panel, *not* the current
8009         panel.
8010         (load_prompt): Refresh the window.
8011         (main): Added the select channel function (load_prompt).
8013         * screen.c (display_mini_info): Corrected bug just introduced
8014         yesterday.  The format should have a minus.
8016         * file.c (erase_dir): In order to let the hot key work on
8017         query_dialogs, the second character must be the hotkey.
8019         * input.c (assign_text): The current_max_len is the size of the
8020         string *including* the terminating 0.
8022 Thu Feb  9 15:44:20 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
8024         * main.c (panel_event): If mouse is pressed inside the quick
8025         view panel, it doesn't show garbage any more - instead mouse
8026         is there fully functional.
8028         * view.c (view_event, real_view_event): Full mouse support
8029         in both real view and quick view causes movement in all
8030         directions.
8032 Wed Feb  8 16:40:04 1995  Jakub Jelinek  <jelinek1@jfch.vc.cvut.cz>
8034         * menu.c (quit_all_event): Releasing mouse button outside of
8035         the menu causes the menu to hide - acts like expected from the
8036         pull down menu.
8039 Wed Feb  8 10:27:14 1995  Thomas Pundt <pundtt@math.uni-muenster.de>
8041         * view.c (half_up): Added view_update: this fixes a problem with
8042         some versions of ncurses.
8044 Tue Feb  7 16:20:33 1995  Miguel de Icaza  <miguel@sphinx>
8046         * subshell.c (read_subshell_prompt): Moved the code from
8047         feed_subshell here: code cleanup and reuse.
8049         made public the subshell_pty variable to let the main program use
8050         hooks. 
8052         * main.c: Disable advanced chown for release 2.0.
8053         (change_view): Call switch_to_info instead of info_cmd.
8055         * find.c (find_parameters): Starting directory is current dir, as
8056         Dugan suggested in the list.
8058         * chmod.c (chmod_cmd): Shouldn't operate in modes different than a
8059         file listing.
8061         * chown.c (chown_cmd): Shouldn't operate in modes different than a
8062         file listing.
8064         * key.c (delete_select_channel, add_select_channel, check_selects,
8065         add_selects): New function to add select channels to the program.
8067         * file.c (panel_operate): Fixed bug: the confirmation prompt
8068         should be computed for marked files > 1. 
8070 Wed Feb  8 02:23:52 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8072         * dir.c (do_reload_dir): New variable `tmp_len' used for an
8073         optimization of the directory-rescanning code, which is now
8074         about 30% faster  :-)
8076         * subshell.c: Made zsh work properly as a subshell of MC, and
8077         fixed up the subshell-type handling generally.
8079 Mon Feb  6 17:49:36 1995  Janne Kukonlehto  (jtklehto@paju)
8081         * boxes.c (displays): The button names are now easier to
8082         understand.
8084         * dir.c (do_load_dir, do_reload_dir), file.c (create_op_win,
8085         destroy_op_win), util.h, win.c: The create_dash and destroy_dash
8086         functions have been deleted.
8088         * layout.c (_check_split, layout_callback): Fixed two silly bugs
8089         in panel size limit checking. (create_panels, destroy_panels): The
8090         window for the rotating dash is created and destroyed here now.
8092         * win.c, layout.c, util.h: The rotate_dash function has been moved
8093         from the win.c file to the layout.c file. A new remove_dash
8094         function to remove dash when not needed anymore.
8096         * main.c (update_panels): Ctrl-r works in the tree view again.
8098         * main.c (change_panel): Can't change to quick view panel if the
8099         current file is a directory. (enter): Doesn't execute the command
8100         on the command line if there isn't a command line. Fixed the macro
8101         expansion bug (I hope). (view_cmd): Repaint the quick view panel
8102         after exiting from the real view. (copy_current_pathname,
8103         copy_other_pathname, copy_prog_name, copy_other_prog_name,
8104         copy_tagged): Don't put stuff on the command line if there is no
8105         command line. (do_nc): Remove the rotating dash on the each
8106         iteration of the main input loop.
8108         * mc.1 (Macro Substitution), user.c (expand_format): Implemented
8109         the %s macro.
8111 Sun Feb  5 15:12:45 1995  Miguel de Icaza  <miguel@sphinx>
8113         * main.c (menu_mouse_cmd, menu_cmd, menu_last_selected_cmd,
8114         menu_display_cmd): Changes to allow the user to open the menu
8115         place where he clicked the mouse.
8117         * util.c (my_statfs): Changes to let the code compile even if we
8118         don't have mount information.
8120         * main.c (do_link): Changed the order for symlinking
8122 Fri Feb  3 16:26:39 1995  Miguel de Icaza  <miguel@sphinx>
8124         * view.c (do_view_init): Removed hex_mode initialization.
8126         * win.c (create_dash): We don't want to keep the cursor in the
8127         corner. 
8129         * view.c (toggle_wrap_mode): If we toggle the wrap mode, we have
8130         to set the starting column to 0.
8132         * dir.c (do_reload_dir, do_load_dir): Do not rotate that often.
8134         * file.c (check_buttons): Use again xgetch instead of mouse_getch.
8136         * configure.in (LIBS): Fixed the problem of the configure
8137         program. 
8140 Fri Feb  3 17:09:04 1995  Janne Kukonlehto  (jtklehto@paju)
8142         * configure: A temporary fix to get it work. Someone should take a
8143         closer look at this and fix it from the configure.in, too.
8145         * cons.saver.c: Replaced an ugly hack with a less ugly hack.
8147         * dir.c (do_load_dir, do_reload_dir), file.c (check_buttons,
8148         create_op_win, destroy_op_win): Uses new rotating dash feature.
8150         * file.c (do_file_error, query_replace): The file operation main
8151         window is no longer refreshed if the user selected abort.
8152         (copy_dir_dir, recursive_erase): The abort feature should work
8153         better now.
8155         * key.c (mouse_getch): Now works without libgpm again.
8157         * main.h: The quit variable is volatile nowadays.
8159         * win.c, util.h (create_dash, destroy_dash, rotate_dash): New
8160         functions to show rotating dash during long operations.
8162 Thu Feb  2 15:18:10 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8164         * main.c: const-ified the status_using_* variables, to help with
8165         compile-time optimisation.  Not that these variables are exactly
8166         "heavily used" or anything...  ;-)
8168         (main): Moved the "handle_console (CONSOLE_INIT)" call before
8169         the init_sigchld(), so the waitpid()s in cons.handler.c don't
8170         interfere with our SIGCHLD handler.
8172         (view_other_cmd): Made it switch to the subshell (if enabled)
8173         regardless of whether screen dumps are possible or not.
8175 Fri Feb  3 17:09:04 1995  Janne Kukonlehto  (jtklehto@paju)
8177         * configure: A temporary fix to get it work. Someone should take a
8178         closer look at this and fix it from the configure.in, too.
8180         * cons.saver.c: Replaced an ugly hack with a less ugly hack.
8182         * dir.c (do_load_dir, do_reload_dir), file.c (check_buttons,
8183         create_op_win, destroy_op_win): Uses new rotating dash feature.
8185         * file.c (do_file_error, query_replace): The file operation main
8186         window is no longer refreshed if the user selected abort.
8187         (copy_dir_dir, recursive_erase): The abort feature should work
8188         better now.
8190         * key.c (mouse_getch): Now works without libgpm again.
8192         * main.h: The quit variable is volatile nowadays.
8194         * win.c, util.h (create_dash, destroy_dash, rotate_dash): New
8195         functions to show rotating dash during long operations.
8197 Thu Feb  2 13:33:40 1995  Miguel de Icaza  <miguel@sphinx>
8199         * key.c (mi_getch): Cleanup.  If we don't HAVE_LIBGPM, set
8200         gpm_flag to 0 in a define.
8202         * help.c (show): Since now we are not using a derived window, we
8203         have to check when we go out of place.
8205 Tue Jan 31 16:30:23 1995  Janne Kukonlehto  (jtklehto@paju)
8207         * file.c (erase_dir): Check for FILE_ABORT.
8209         * main.c (enter): Fixed the command line problem.
8211 Fri Feb  3 19:01:48 1995  Midnight commander developing  <rodo@earn>
8213         * achown.c: reworked, not working yet
8215 Fri Feb  3 10:48:43 1995  Midnight commander developing  <rodo@earn>
8217         * chown.c: cosmetic changes - now it doesn't waste so much
8218         space :-)
8220 Wed Feb  1 17:33:16 1995  Miguel de Icaza  <miguel@sphinx>
8222         * dlg.c (dlg_new): Changed: relative to frame set to 0, maybe this
8223         should be a parameter to dlg_new, we want a child window or not.
8224         This actually fixes the mouse disabled problem on the new file
8225         command windows.
8227         * subshell.c: Added use_subshell = 0 when no subshell support is
8228         present and removed it from subshell.h.  This is needed.  We
8229         can't use a const in a header file.
8231         * main.c (reread_cmd, update_panels): Update only the current
8232         panel (new flag: UP_ONLY_CURRENT).
8234         * layout.c (layout_callback): Fixed the bug I introduced
8235         previously on displaying the _output_lines variable.
8237         * main.c (done_panels): Free user_mini_status in both panels.
8239         * dir.c (alloc_dir_copy): Set initial values to dir_copy.list so
8240         that we only free those values that were actually allocated.
8241         Also, now we free those values that were allocated.
8243 Wed Feb  1 22:03:41 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8245         * subshell.c: Implemented the QUIETLY/VISIBLY argument to
8246         invoke_subshell.  Made yet another fix for System V (synchronizing
8247         with the child process once the latter has opened the slave pty
8248         successfully).  Removed all old references to mc_ctty.  Changed
8249         pty_open_slave to be more specific about problems encountered.
8250         Plus a few minor fixes and cleanups.
8252         * screen.c (string_file_type): Added (provisional) type codes for
8253         named pipes and block and character special files.
8255         * cons.saver.h, cons.saver.c, cons.handler.c: Changes so that
8256         show_console_contents can return a range of lines anywhere on the
8257         screen, not just at the bottom.  This is used by the subshell
8258         support, and will hopefully be useful later in other ways.
8260         * main.c: Made `quit' volatile because it can be changed by the
8261         SIGCHLD handler in subshell.c.  Call show_console_contents and
8262         invoke_subshell with the new arguments.  Trivial fixes.
8264         * layout.c (create_panels): Call show_console_contents with the
8265         new arguments.
8267 Sun Jan 29 03:01:31 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8269         * subshell.c (init_subshell): Removed the MCBASH variable feature
8270         as pointless; we always want to run with the usual bash now.
8272 Wed Feb  1 16:30:17 1995  Miguel de Icaza  <miguel@sphinx>
8274         * file.c (panel_operate): Free `temp' variable if it has been
8275         used. 
8276         (mask_rename): Added missing return types (return FILE_ABORT on
8277         the first two returns).
8279 Wed Feb  1 02:01:45 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8281         * subshell.c: Use the screen size calculated by ncurses rather
8282         than trying to calculate it again.  Also, removed a duplicated
8283         "#include <sys/ioctl.h>".
8285         * main.c (main): Moved the call to init_curses after the one to
8286         init_subshell.  (init_subshell needs the terminal to be in its
8287         original mode, and init_curses puts it in raw mode.)  But we still
8288         need `initscr' to be called before init_subshell, so I removed
8289         initscr from init_curses and call it just before init_subshell.
8290         Extremely ugly, I know; sorry.  Do it better if you like...
8292         * layout.c (init_curses): Removed the initscr() call (see above).
8294         (change_screen_size): Call initscr() just before init_curses().
8295         Call resize_subshell() (see below).
8297         * subshell.c (resize_subshell): New function which resizes the
8298         subshell's pseudo-tty according to the values of the ncurses
8299         variables LINES and COLS.
8301 Tue Jan 31 16:30:23 1995  Janne Kukonlehto  (jtklehto@paju)
8303         * Makefile.in, file.c, newfile.c: The old `file.c' file removed and
8304         the new `newfile.c' file renamed to `file.c'.
8306         * TODO, mc.1: Fixed my email address.
8308         * file.c (previously known as newfile.c): A lot of changes and
8309         fixes in all the functions.
8311         * file.h: Added two enumerations, create_op_win, destroy_op_win,
8312         refresh_op_win, mask_rename and panel_operate. Removed
8313         copy_file_dir, erase_file, recursive_erase, move_file,
8314         move_file_dir and new_file_ops.
8316         * main.c (enter): The command line supports the user menu macros
8317         now. This makes possible to execute the same command line to
8318         multiple sets of files (by tagging the files and getting the line
8319         from the history with M-p and M-n).
8321         * main.c (unmark_file): Now works in the tree view mode.
8322         (ok_to_copy, ok_to_copy_all): Not needed anymore. (copy_cmd,
8323         ren_cmd, delete_cmd): Now use the new file operations
8324         code. (do_mask_ren_cmd): Moved to file.c and renamed to
8325         mask_rename. (mask_ren_cmd): Now calls the mask_rename function.
8326         (new_file_ops_cmd, CmdMenu): The new_file_ops_cmd function is not
8327         need anymore.
8329         * tree.c (tree_copy, tree_move, rmdir_cmd): Now use the new file
8330         operations code.
8332         * util.c (get_full_name): Now strips the old path out of the
8333         filename.
8335 Mon Jan 30 16:53:26 1995  Miguel de Icaza  <miguel@sphinx>
8337         * main.c (main): sigchld_hanlder was only defined with subshell
8338         support.
8340         * configure.in (AC_NCURSES): This replaces the try_ncurses
8341         function, since some shells (Ultrix /bin/sh for example) don't
8342         understand function definitions.
8344         * main.c (do_nc): Setup must be saved before the destruction of
8345         the panels takes place.
8347         * profile.c (profile_clean_section): Fixed a bug that prevented
8348         the the last item in the section list to be saved.
8350         * setup.c: Added inode sort option
8352         * dir.c: Added inode sort option.
8354         * screen.c (string_inode): Added inode display.
8356 Mon Jan 30 14:37:30 1995  Janne Kukonlehto  (jtklehto@paju)
8358         * Makefile.in: Added newfile.c, fsusage.c and mountlist.c to SRCS.
8359         Added fsusage.h and mountlist.h to HDRS. Added newfile.o,
8360         fsusage.o and mountlist.o to OBJS. (mc.hlp, ync.hlp, mc.html):
8361         Added some missing $(srcdir)s.
8363         * configure.in, configure: Added a lot of tests from the GNU
8364         fileutils (needed by fsusage.c and mountlist.c). 
8366         * file.h: Added the prototype for the new_file_ops function.
8368         * fsusage.c, fsusage.h: New files to get the filesystem space
8369         usage. Copied from the GNU fileutils. Needed by the my_statfs
8370         function.
8372         * mountlist.c, mountlist.h: New files to get the list of mounted
8373         filesystems. Copied from the GNU fileutils. Needed by the
8374         my_statfs function.
8376         * main.c (parse_control_file): Now handles directories correctly
8377         when tagging or untagging. (unmark_file): Now global instead of
8378         static (needed by the new_file_ops function). (new_file_ops_cmd):
8379         New function to wrap calls to the new_file_ops function.
8380         (CmdMenu): Add the "New file operations" entry to the bottom of
8381         this menu.
8383         * main.c (paint_info_panel): Got rid of "#ifdef HAVE_STATFS". The
8384         my_statfs function uses GNU code now and it should work on all
8385         machines. The Linux and Ultrix filesystem type switch clauses
8386         aren't needed anymore (GNU code does a better job). (main): Added a
8387         call to the init_my_statfs function to initialize the list of the
8388         mounted filesystems.
8390         * menu.c (menu_handler, run_menu): The menu is now removed after
8391         the user has made his/her choice.
8393         * newfile.c: New file which will replace the file.c file in the
8394         future. Implements the new file operations.
8396         * util.c, util.h: Removed the stuff to define the WE_HAVE_STATFS
8397         macro. Removed the find_mountpoint and find_device functions.
8398         (init_my_statfs): A new function to read the list of mounted
8399         filesystems for the my_statfs function. (my_statfs): Dumped the
8400         old code. Now uses the mountlist read by the init_my_statfs
8401         function and the get_fs_usage function from the fsusage.c.
8402         Therefore it should work correctly on all machines now.
8404 Sun Jan 29 15:35:34 1995  Miguel de Icaza  <miguel@sphinx>
8406         * main.c (init_sigchld): Use the main program sigchld handler when
8407         no subshell support is requested.
8409         * ncurses.h, configure.in: Changes to detect ncurses 1.8.6 and
8410         newers. 
8412         * main.c (main): Moved the initialization code so that Dugan can
8413         do the rest.
8415 Sat Jan 28 13:30:40 1995  Miguel de Icaza  <miguel@sphinx>
8417         * main.c (history_cmd): Free the listbox.
8419         * chmod.c (chmod_toggle_select): Use the normal color.
8421         * input.c (assign_text): The current max lenght of the string is
8422         exactly the string lenght, not +1.
8424         * main.c (history_cmd): Removed the hot key on the listbox window.
8426         * configure.in (XCURSES): Added --with-sunos-curses
8428         * ncurses.h: Updated the file to run with SunOS 4.x curses
8430         * layout.c (init_layout): Changes to include the mini status field.
8432         * option.c: Removed the show mini status option from the config
8433         dialog and added the drop down menus instead.
8435         * util.c (my_system): Removed the prepare_environement routines
8436         since it didn't work with the subshell.
8438         * main.c (do_nc): Removed the LINES checking, this must be done by
8439         ncurses. 
8441 Fri Jan 27 13:49:57 1995  Miguel de Icaza  <miguel@sphinx>
8443         * main.c (tree_view_cmd): Added missing call to clean_dir.
8445         * dir.c (clean_dir): Sanity check.
8447         * main.c (change_panel): Added extra check to avoid showing a non
8448         existant entry if the view type is view_tree.
8450         * subshell.c (init_subshell): Get and set the window size only if
8451         the operating system has support for it.
8453         The Solaris Fix for subshell:
8455         (sigchld_handler): 
8456         Remove the loop around the pid = waitpid.  
8457         Add the WNOHANG option to the waitpid.
8458         Remove the abortion code if pid <= 0.
8460         (init_subshell): On Solaris, if you close the master pty on the
8461         child, it also closes the slave side, so I removed the close
8462         (subshell_pty).  I leaved nice comments in case we want to undo
8463         this behavior.
8465         End of The Solaris Fix.
8467         (get_window_size): Grabbed some code from GNU's shellutils.  We
8468         try first with stdout, then stdin, and finally with a user
8469         provided file descriptor (in this case, ctermid (0)).
8471         (init_subshell): Set the window size only if we could get the
8472         window size.
8474         * view.c (move_left, move_right): Even if wrap mode is set, we
8475         have to tell the upper layers that the key was handled.
8477         * main.c (paint_quick_view_panel): Replaced long condition for
8478         is_view_file_listing.
8480 Fri Jan 27 13:40:07 1995  Thomas Pundt (pundtt@math.uni-muenster.de)
8482         * main.c (paint_quick_view_panel): "fkeys" and "view_win" are not
8483         initialized, if QuickView is activated and other_panel has not
8484         selected a regular file. This causes mc to segfault, if you press
8485         F4, before a file is selected.  Added calls to view_init_windows
8486         (panel->win_file, fkeys).
8488         * view.c (load_view_file): Added missing strdups of string
8489         constants. 
8491         * view.c (do_view_init): If we are displaying an error message in
8492         the quick view panel, we also need to initialize the bytes_read
8493         variable, not only the s.st_size field.
8495         * view.c (view_init_windows): New function to setup the view_win
8496         and fkeys variables, called from main for the quick view stuff.
8498         * view.c (view_status): If filename is not set, then avoid the
8499         crash by printw "".
8501 Fri Jan 27 16:43:38 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8503         * main.c (sigchld_handler): Several corrections.  Fixed stupid
8504         mental typo of writing "handle_console" instead of "console_flag".
8506         * screen.c (parse_display_format): There was a division by the
8507         variable `field' which looped from 0 to (fields-1), provoking
8508         an FPE on the first iteration.  Replaced `field' by `fields',
8509         which I think is what was intended.
8511 Fri Jan 27 15:21:09 1995  Janne Kukonlehto  (jtklehto@paju)
8513         * cons.handler.c (show_console_contents): Oops, I forgot to clear
8514         the window.
8516         * layout.c (layout_callback, create_panels): Now there are minimum
8517         and maximum limit for the number of output lines.
8519         * main.c (sigchld_handler): Fixed a silly bug.
8521 Thu Jan 26 12:37:40 1995  Miguel de Icaza  <miguel@sphinx>
8523         * subshell.c: include sys/ioctl.h on 4.3 BSD systems for the
8524         TIOCGWINSZ constant.
8526         * main.c (ok_to_copy_all): Set the abort flag before returning.  I
8527         wonder how I could put the return before the assignment?
8529         * menu.c (query_dialog): We don't use menu's query_dialog anymore,
8530         now the query_dialog routine is the one written by Radek found in
8531         the wtools.c file.
8533         (run_bar): We don't use derwin any longer, we now require the
8534         parent to provide a suitable window to draw on.  Since this
8535         routine is only used by the main program menu, I wonder if we
8536         should just simple create this window here.
8538         * wtools.c (query_dialog): Compute correctly the number of columns
8539         needed for the query box.
8541         * main.c (menu_display_cmd): Create the window to be used in run
8542         bar.
8544         * dialog.c, dialog.h (create_dialog): Now dialogs only use one
8545         window, we don't use anymore the derwin call.  Getting rid of the
8546         derwin call will let us run with BSD curses (I hope).
8548         (input_dialog): Adjust the area of display to conform to the new
8549         changes. 
8551         (create_dialog): Adjust my_wputs.
8553         * tree.c (show_tree): Adjust the display routines.
8555         * help.c (show): Adjust the display routines.
8557         * configure.in: Renamed --with-aixcc option to --with-mmap. 
8559         * main.c (untouch_bar): Call only_refresh_screen.
8560         
8561         (only_refresh_screen): Now takes a boolean to determine if the
8562         panels are being refreshed.
8564         * help.c (interactive_display): Added missing call to
8565         clear_link_areas. 
8567         * layout.c (destroy_panels): Changed pop events for pop_frame.
8569 Thu Jan 26 12:56:04 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8571         * cons.handler.h: New file, to allow cons.handler.c to export
8572         the `cons_saver_pid' variable (which used to be called `child')
8574         * cons.handler.c, cons.saver.c, cons.saver.h: Changed type of
8575         console_flag from 'int' to 'signed char', so that the various
8576         write (cmd_output, &console_flag, 1) calls will work even on the
8577         big-endian machines to which Linux will one day be ported  ;-)
8579         * vfs.h: Added 'const' to prototypes where appropriate.
8581         * main.c (version): Polished the version message slightly.
8582         Corrected the new sigchld_handler function a little.
8584         * subshell.c: Improved the sigchld_handler function.
8586 Thu Jan 26 14:36:54 1995  Janne Kukonlehto  (jtklehto@paju)
8588         * Makefile.in: cons.saver depends on cons.saver.o.
8590         * boxes.c (display_callback): The 'm' key no longer jumps to user
8591         mini status input field.
8593         * cons.handler.c (show_console_contents): New function to show
8594         output with the help of cons.saver.
8596         * cons.saver.c (send_contents): New function to send the contents
8597         of the console screen to the parent process.
8599         * cons.saver.h: A new message CONSOLE_CONTENTS to request the
8600         contents of console screen. Added prototype for show_console_contents.
8602         * dlg.c (destroy_dlg): I finally fixed the mystic bug. The
8603         destroy_dlg function was starting the loop from the second item
8604         instead of the first item.
8606         * layout.c (bplus_cback *new*, bminus_cback *new*,
8607         layout_callback, init_layout, layout_cmd, create_panels,
8608         destroy_panels), layout.h, main.c (do_execute, repaint_screen,
8609         only_refresh_screen, refresh_screen), setup.c (layout): Now
8610         supports defining a output window. You need the new cons.saver for
8611         this (remember to type "make install.saver").
8613         * layout.c (init_curses *new*, create_panels, destroy_panels,
8614         change_screen_size), layout.h, main.c (main): Workarounds for
8615         ncurses bugs. The initscr function is called only when really needed.
8617         * main.c (select_item), screen.c (init_panel): Small bug fix
8618         related to the long view.
8620         * main.c (switch_to_info): No longer rejects second switch to the
8621         info mode (needed by layout stuff).
8623         * option.c (check_options): Removed the hotkey of the advanced
8624         chown toggle.
8626         * util.c (my_putenv): Removed the free command and added some
8627         warnings to prevent others from adding it back (sorry Miguel).
8629 Wed Jan 25 13:05:59 1995  Miguel de Icaza  <miguel@sphinx>
8631         * main.c (goto_bottom_file, goto_top_file, goto_middle_file,
8632         mark_file, copy_other_pathname,  copy_prog_name,
8633         copy_other_prog_name): Added checks so that they don't work when
8634         quick or info modes are selected.
8636         (try_to_select): Changed call to SELECT_ITEM for a call to
8637         select_item, this should keep the info and quick view modes in
8638         sync.  If the users experiment a terrible slow down, then this
8639         must be the reason.
8641         * view.c (check_left_right_keys): Only allow horizontal scrolling
8642         if the wrap mode is not toggled on.
8644         (do_view_init): Now, the error message from loading a file is
8645         displayed here.  It is only displayed in a message box if we are
8646         the real view and not the quick one.
8648         (load_view_file): Now we guarantee that data has always data.
8649         Thus on quick view, the keys will actually be checked correctly,
8650         and the only information displayed on the quick view panel will be
8651         the error message.
8653         (load_view_file): Added missing close.
8655         (view_update, move_forward2, move_backward2, move_to_top,
8656         move_to_bottom, move_right, move_left, goto_line, regexp_search,
8657         normal_search): if there is no data loaded, don't do anything
8659 Wed Jan 25 18:22:09 1995  Janne Kukonlehto  (jtklehto@paju)
8661         * boxes.c: display_callback, display_init, display_box), panel.h,
8662         screen.c (repaint_file, display_mini_info, do_init_panel), setup.c
8663         (panel_save, panel_load): Now it is possible to define user format
8664         for the mini status line, too.
8666         * dlg.c (destroy_dlg): Another workaround for the mystic bug to
8667         get the Electric Fence working. I hope someone fixes this bug soon.
8669         * file.c (move_file, move_dir_dir): Now show a message box so that
8670         the user knows we are moving files. The move_dir_dir is now more
8671         bullet proof.
8673         * layout.c: Replaced hardcoded values 20 and 5 with MINWIDTH and
8674         MINHEIGHT. MINWIDTH is now 10 instead of 20.
8676         * setup.c (save_setup): Swapped save_configure with save_layout.
8677         Let's see if this it has any effect.
8679         * view.c (free_file): Uses different method for checking errors.
8680         No broken pipes anymore. (load_view_file): Oops, the s.st_size was
8681         not initialized in case of compressed files.
8683         * view.c (load_view_file, view_labels, change_viewer *new*,
8684         create_windows): New Raw/Gunzip button: now the compressed files
8685         can be viewed both as raw data and as uncompressed data.
8687         * zip.c (get_small_endian_long): Now handles eof correctly.
8688         (is_gunzipable): Now reports only deflated or stored zip files as
8689         gunzipable.
8691 Tue Jan 24 16:34:13 1995  Miguel de Icaza  <miguel@sphinx>
8693         * layout.c (create_panels): Push a missing frame.
8695         * main.c (main): Remove unused events at program end.
8697         * util.c (my_putenv): Release the unused memory.
8699         * main.c (do_possible_cd): Now it paints the panel as all the
8700         other cd routines and selects the item.
8702         (maybe_cd): if it's the left key, then go up one directory.
8704 Tue Jan 24 12:32:14 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8706         * file.c (erase_dir): Slight changes to the confirmation box for
8707         recursively deleting directories.
8709         * main.c (main): Removed a repeated initialization of home_dir.
8711 Mon Jan 23 14:45:34 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8713         * subshell.c (init_subshell): Removed the `shell_name' variable
8714         and all references to it, and used `shell' from main.c instead.
8716         (init_subshell): Now we install the SIGCHLD handler here and
8717         leave it active all the time until MC exits, instead of enabling
8718         it only during execution of the subshell functions.  This seems
8719         to make MC hang less frequently, but unfortunately it will still
8720         hang if you try hard enough (by holding down C-o a lot).
8722 Sun Jan 22 20:48:57 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8724         * main.c (main): Warn user if we can't start up the subshell.
8725         Also, tentatively added putchar ('\r') at the end of main(),
8726         to make the user's shell write its prompt starting in column 0
8727         after MC has terminated.
8729         * subshell.c (sigchld_handler): Moved the message about using
8730         the old command execution method from here to main().
8732 Tue Jan 24 12:25:44 1995  Thomas Pundt <pundtt@math.uni-muenster.de>
8734         * view.c (create_windows): Moved the push_frame from: before the
8735         push_events to just after the wattron. The problem is, that not
8736         all mouse events are popped off the stack, because the new frame
8737         is set up too late.
8739 Tue Jan 24 11:35:01 1995  Janne Kukonlehto  (jtklehto@paju)
8741         * file.c (copy_file_file): Now copies symbolic links correctly (as
8742         defined by Dugan). (move_file): Dumped the code based on a system
8743         call and copied the code from mv.c in GNU fileutils-3.12.
8744         (move_file_dir): Dumped the old version and copied the code from
8745         copy_file_dir.
8747         * main.c: The init_entry function removed. (parse_control_file,
8748         action, enter, tree_leave): Small changes in the handling of cd
8749         command. (ok_to_copy): Now pressing ESC or F10 works
8750         correctly. (swap_cmd): Windows are moved instead of swapping. Now
8751         compatible with layout feature. (paint_info_panel): The code has
8752         been turned upside-down to support leaving out the lines which
8753         don't fit.
8755         * panel.h: The win_mini field wasn't used for anything.
8757         * view.c (do_view_init, view): The initialization of the start_col
8758         variable belongs to the do_view_init function. (display,
8759         move_right, move_left): Small fixes to the left/right movement.
8760         (view): Added a workaround for a NCurses bug.
8762 Mon Jan 23 19:00:15 1995  Miguel de Icaza  <miguel@sphinx>
8764         * mouse.c (mouse_push_event): Now, we return the event pointer,
8765         needed for changing the event parameters of the panels on a
8766         resize.
8768 Mon Jan 23 15:43:49 1995  Janne Kukonlehto  (jtklehto@paju)
8770         * dialog.c (input_dialog): The in variable was used after it was
8771         destroyed.
8773         * dlg.c (destroy_dlg): Added a workaround for the widget list bug.
8774         This is just a temporary fix. Let's hope the bug gets really fixed
8775         someday.
8777         * layout.c (create_panels, destroy_panels): Now create and destroy
8778         all the curses windows of the main screen. (flag_winch,
8779         change_screen_size): Now they work correctly.
8781         * main.c: The current_panel, other_panel, menubar_win,
8782         cmdline_win, fkeys and clean_screen variables are initialized to
8783         NULL in order to help catching the bugs. The cmdline, prompt and
8784         clean_screen variables are now global. The contents of init_entry
8785         function are moved to the create_panels function (maybe the whole
8786         function can now be removed). Part of the init_menu function moved
8787         to create_panels function. The init_labels function calls now the
8788         change_labels function. (do_nc, main): Some reorganization to get
8789         along with the more thorough behaviour of the create_panels and
8790         destroy_panels functions.
8792         * main.c (paint_quick_view_panel), view.c (display): Quick view no
8793         longer flashes when holding an arrow key down.
8795         * setup.c (load_setup): The call to the meta function moved to the
8796         main function.
8798         * util.c (close_error_pipe): Now it is possible to tell
8799         close_error_pipe to ignore the message in the pipe (needed by
8800         quick view).
8802         * view.c: Reorganized to use the same kind of folding as Dugan
8803         uses in the subshell.c. (free_file, get_byte, load_view_file,
8804         search, regexp_search, normal_search): Changes to support loading
8805         file in parts when mmap can't be used. (load_byte): New function
8806         to implement loading in parts. (do_view_init): Small bug fixes. 
8808 Sun Jan 22 12:10:03 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8810         * subshell.c (init_subshell): Introduced a new symbolic constant
8811         FORK_FAILURE, used as an exit code to indicate failure to start up
8812         the subshell, to that the sigchld handler can distinguish that
8813         case from when the user exits the subshell voluntarily.
8815         (feed_subshell): Never call `select' without checking that the
8816         subshell is alive is TRUE; this prevents MC from locking up so
8817         often.  Also, capture the subshell's prompt regardless of
8818         whether the `how' parameter is QUIETLY or VISIBLY.
8820         (sigchld_handler): Check the subshell's exit code to find out
8821         whether the user exited or we simply failed to fork the subshell.
8823         (pty_open_slave): Temporarily commented out the calls to chown()
8824         and chmod(), to fix the /dev/tty?? permissions problem.
8826 Sat Jan 21 14:15:29 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8828         * subshell.c (init_subshell): Replaced the multi-branched if
8829         statements with switches, to accommodate future subshell types.
8831 Thu Jan 19 11:27:02 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8833         * Makefile.in: Added cons.saver to the `all' target, and
8834         install.saver to the `install' target.  Plus minor cleanups.
8836 Sat Jan 14 08:41:07 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8838         * main.c (quit_cmd): Added a call to exit_subshell.
8840         * subshell.c (feed_subshell): Fixed a prompt-capturing bug, by
8841         moving the declaration of prompt_pos closer to its point of use.
8843         (feed_subshell): Added a nasty temporary hack to make MC wait for
8844         the subshell's prompt for an extra second the first time through,
8845         to allow time for the shell's init file to run.
8847 Fri Jan 13 12:17:43 1995  Dugan O. Porter  (dugan@b011.eunet.es)
8849         * main.c (suspend_cmd): The screen contents weren't being saved
8850         properly after returning to MC, because ncurses was re-drawing
8851         the screen instantly, before the call to handle_console.  Fixed
8852         by swapping out ncurses' SIGTSTP handler briefly.
8854         (view_other_cmd): Made MC update its prompt from the subshell's.
8856         * util.c: Made startup_handler global so it can be accessed from
8857         main.c.  It would perhaps be better to put everything to do with
8858         signals in a file "signals.c", and also re-organize MC's entire
8859         source file structure while we're at it.  Some other time...
8861         * main.c (pre_exec, post_exec): Removed the calls to
8862         handle_console, so that suspend_cmd can call pre_exec and
8863         post_exec without saving the screen contents, if it wants to.
8865 Sun Jan 22 18:11:58 1995  "Sinolits Vadim vvs@nsrd.npi.msu.su
8867         * view.c (move_left, move_right, check_left_right_keys): Added
8868         vertical scrolling.
8870 Thu Jan 19 11:06:59 1995  Miguel de Icaza  (miguel@roxanne)
8872         * layout.c (change_screen_size), main.c (do_nc): compile the
8873         window size change functions only if the system provides them.
8875 Thu Jan 19 14:57:14 1995  Janne Kukonlehto  (jtklehto@paju)
8877         * input.c (update_input): Now supports 8bit clean mode.
8879         * key.c (getch_with_delay): New function to work around System V
8880         Curses vt100 bug. (mi_getch): Now uses getch_with_delay.
8882 Wed Jan 18 13:40:14 1995  Janne Kukonlehto  (jtklehto@paju)
8884         * layout.c: The check_split function divided to two versions:
8885         _check_split and check_split. Now cancel button really cancels all
8886         the changes, not just some of them. Added support for horizontal
8887         splitting.
8889         * layout.c (flag_winch, change_screen_size), layout.h: New
8890         functions for handling of the WINCH signal. Now, how can we get
8891         curses to realize the change in the screen size?
8893         * main.c (do_nc): Now handles the WINCH signal.
8895         * main.c (select_item): Changes for horizontal splitting.
8897         * main.c (init_entry, repaint_screen, only_refresh_screen,
8898         refresh_screen, quick_view_key, init_menu): Changes to support
8899         menubar_visible, command_prompt and keybar_visible toggles.
8901         * main.c (enter, change_view): Small fixes.
8903         * screen.c (do_init_panel): Fixed the missing titles bug.
8905 Tue Jan 17 11:04:24 1995  Miguel de Icaza  (miguel@roxanne)
8907         * util.c (strcasecmp): Fix strcasecmp.
8909         * option.c (init_configure): The correct index is 10, not 9 after
8910         adding the new advanced chown option to the dialog box.
8912 Tue Jan 17 18:12:03 1995  Janne Kukonlehto  (jtklehto@paju)
8914         * Makefile.in: Added layout.c to SRCS, layout.h to HDRS and
8915         layout.o to OBJS.
8917         * hotlist.c: The sf_stat variable isn't needed.
8919         * hotlist.c (add2hotlist_cmd), hotlist.h, main.c (ctl_x_map): The
8920         hotkey for adding a directory to the hotlist is back!
8922         * layout.c: A new file for changing the panel widths and other
8923         things like that on the fly.
8925         * main.c (panel_event, menu_bar_event, change_view), panel.h: Now
8926         global instead of static (needed by layout.c).
8928         * main.c (init_panels, done_panels, do_nc): Window and mouse
8929         handling code moved to layout.c in the create_panels and
8930         destroy_panels functions. The do_init_panel function is now used
8931         instead of init_panel.
8933         * main.c (change_labels, repaint_screen, only_refresh_screen,
8934         refresh_screen, default_key, init_labels), view.c (view_refresh,
8935         create_windows, view), win.c (set_label_text): Command prompt and
8936         function key bar might not exist.
8938         * main.c (change_panel, paint_quick_view_panel, quick_view_cmd,
8939         change_view): Miscellaneous changes to make sure we are always in
8940         the right directory.
8942         * main.c (do_mark_file), screen.c (display_mini_info): No
8943         hardwired panel widths like "COLS/2-2" anymore.
8945         * main.c (paint_quick_view_panel), view.c (view_init, view_status,
8946         display, create_windows), view.h: Quick view has now a frame
8947         (sorry about this, Torben).
8949         * main.c (quick_view_key, tree_view_cmd), view.c (view):
8950         Miscellenous fixes.
8952         * option.c (check_options): Now static. Fixed the hotkey of
8953         advanced chown. (configure_box): Now the save button saves only
8954         the settings of this dialog. Use the save setup command to save
8955         the whole setup.
8957         * screen.c (do_init_panel, init_panel): The init_panel function
8958         now initializes only the things related to the size and positions
8959         of the panel. Other stuff moved to the new do_init_panel function.
8961         * setup.c, setup.h: New functions: save_layout, load_layout and
8962         save_configure. The configure and layout dialogs save now only
8963         their own settings. Use save setup command to save the whole
8964         setup. (save_setup, load_setup): Changes related to the addition of
8965         save_layout, load_layout and save_configure.
8967         * view.c (load_view_file, view_update, view_check_key): A lot of
8968         error messages and problems are skipped or ignored when in quick
8969         view mode. (do_view_init): hex_mode and wrap_mode are no longer
8970         reinitialized in the quick view mode.
8972         * win.c (wprint_bytesize): Outputs now always seven characters to
8973         make justifying easier.
8975 Mon Jan 16 19:22:27 1995  Miguel de Icaza  (miguel@roxanne)
8977         * util.c (tilde_expand): Small bug fix: strdup the home_dir.
8979 Sat Jan 14 13:46:10 1995  Janne Kukonlehto  <jtklehto@stekt10>
8981         * main.c (parse_control_file): Small changes in handling of the cd
8982         command.
8984         * main.c (change_labels, change_panel, key_f2_cmd, key_f3_cmd,
8985         key_f4_cmd, paint_quick_view_panel, quick_view_key, init_labels),
8986         screen.c (init_panel): Changes for the quick view mode.
8988         * main.c (key_f5_cmd, key_f6_cmd, key_f7_cmd, key_f8_cmd): New
8989         functions for the quick view mode.
8991         * view.c: Reorganized. A lot of changes to support quick view
8992         feature.
8994         * view.h: Added view_init, view_update, view_labels,
8995         toggle_wrap_mode, toggle_hex_mode, goto_line, regexp_search,
8996         normal_search and view_check_key to support quick view feature.
8998         * main.c (dummy): Deleted as unnecessary.
9000         * main.c (tree_leave), tree.c (tree_done, tree), tree.h: The
9001         tree_done function deleted as unnecessary.
9003         * subshell.c (init_subshell): Opening fifo as O_RDONLY or O_WRONLY
9004         causes deadlock. Now uses O_RDWR instead. Replaced getenv ("HOME")
9005         with the home_dir variable.
9007 Fri Jan 13 12:55:42 1995  Miguel de Icaza  <miguel@sphinx>
9009         * find.c (do_search): strcpy the string only if the returned value
9010         is not null. 
9012 Fri Jan 13 15:33:09 1995  Janne Kukonlehto  <jtklehto@stekt8>
9014         * find.c (find_parameters): Now you can use tree for specifying
9015         the start dir.
9017         * main.c (change_labels, key_f4_cmd), tree.c (toggle_nav_mode,
9018         win_init), tree.h: In tree mode the label of the F4 key is changed
9019         between "static" and "dynamic".
9021         * tree.c (set_navig_label): New function for changing the label of
9022         the F4 key in the tree mode.
9024         * mc.1 (Directory tree): Updated.
9026 Thu Jan 12 17:15:21 1995  Miguel de Icaza  <miguel@sphinx>
9028         * widget.c (input_callback): Ugly hack to avoid update_input clear
9029         the first field of the Input* structure when used for displaying
9030         the input line.
9032         * find.c (start_stop): Changed the moving dot for a nice rotating
9033         dash.  Should change this for a rotating fish.
9035         * widget.c (listbox_draw): When painting listboxes, display at
9036         most the size that would fit in the listbox (obvious problem with
9037         the find code).
9039         * find.c (do_find): Free the dirname and filename only if they
9040         were strduped.
9042         * widget.c (listbox_get_current): Set decent values even if the
9043         listbox is empty.
9045         * option.c (configure_box): Sync the profiles after saving the
9046         setup if the Save button was selected.
9048         * tree.c: renamed search_buffer to search_buffer_tree, in order to
9049         let the program link/compile under AIX with c6000.  BTW, Janne,
9050         could we share the search_buffer with main?
9052         * subshell.c, view.c, key.c, gpm-xterm.c, util.c: check for AIX,
9053         _AIX and __aix__ macros.
9055         * main.c (do_nc): Now, we sync the profiles, but save the setup
9056         only if requested.  The net result is that now we save the hotlist
9057         automagically even if the setup is not saved/changed.  This from a
9058         couple of comments from Janne and Dugan on the list.
9060         * setup.c (save_setup): Save setup doesn't sync the profiles.
9062         * subshell.c (init_subshell): Adapted Janne's patch of shell =
9063         getenv ("SHELL") to new Dugan's code.  Let's hope Dugan will send
9064         me the ChangeLog entries for his last subshell code.
9066 Thu Jan 12 14:00:29 1995  Janne Kukonlehto  <jtklehto@stekt8>
9068         * main.c (index_by_name, select_by_index, parse_control_file),
9069         util.c (my_putenv, my_putenv_expand, prepare_environment): New
9070         functions for the control file support.
9072         * main.c (do_execute), main.h, util.c (my_system), util.h: Changes
9073         for the control file support.
9075         * main.c (execute, handle_args), main.h, subshell.c
9076         (init_subshell), util.c (my_system): The value of shell variable
9077         is now calculated only once in one place instead of dozens of
9078         times and places.
9080         * main.c (ITEMS, panel_event, move_left, move_right,
9081         copy_current_pathname, copy_other_pathname, copy_prog_name,
9082         copy_other_prog_name, copy_tagged, copy_other_tagged), user.c
9083         (expand_format): Fixed bugs and problems caused by addition the
9084         quick view mode.
9086         * main.c (handle_args): Reports if the TERM variable is
9087         unset. (main): The error messages are no longer wiped out from the
9088         screen by cons.saver.
9090         * mc.1 (Executing operating system commands): Documented the
9091         control file feature.
9093         * tree.c (tree_rescan_cmd): Someone had changed it to use the
9094         get_current_wd function and forgot to test whether it works
9095         after such change. Now fixed.
9097         * util.c (load_file): Now more robust.
9099 Wed Jan 11 18:36:59 1995  Miguel de Icaza  <miguel@sphinx>
9101         * widget.c (listbox_get_current): New function for retrieving the
9102         data from the listbox.
9104         (button_set_text): New function to change the label of a button.
9106         (listbox_add_item): Now we return the value of the strduped string.
9108         * find.c: Many changes and fixes, the find feature is not yet ready.
9110         * widget.c (input_callback): Enter gives the focus to the next
9111         widget. 
9113         (listbox_select_last): Selects the last entry in the listbox.
9115 Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>
9117         * Makefile.in (mc.html): New target which produces html version of
9118         the manual page.
9120         * boxes.c (display_callback, display_init), main.c (select_item,
9121         change_panel, action, panel_event, move_left, move_right,
9122         paint_info_panel, switch_to_info, change_view,
9123         copy_other_pathname, copy_other_prog_name, copy_other_tagged,
9124         do_nc), panel.h, screen.c (display_mini_info, paint_dir,
9125         paint_panel, init_panel), setup.c (load_setup), user.c
9126         (expand_format, test_condition): Preliminary changes to support
9127         quick view mode.
9129         * main.c (paint_quick_view_panel, dummy, quick_view_key,
9130         quick_view_cmd): New functions for preliminary support for quick
9131         view mode.
9133         * ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
9134         user.h: Now supports local shell_patterns settings.
9136         * user.c (check_patterns): New function to support local
9137         shell_patterns settings.
9139         * main.c (ITEMS, panel_event): Now works correctly with user
9140         formats like "half 2 ..." and "full 2 ...".
9142         * main.c (panel_event): Now works correctly user formats like
9143         "full ...".
9145         * main.c (paint_info_panel): Unsignificant bug fixes.
9147         * man2hlp.c: Now can produce HTML format output in addition to HLP
9148         format.
9150         * mc.1: Fixes so that man2hlp can produce correct HTML
9151         output. (Extension File Edit, Menu File Edit): Updated to mention
9152         local shell_patterns setting. (Menu File Edit): Mentions now
9153         combined default and addition conditions. Cleared out the
9154         explanation of the calculation order of conditions. (SEE ALSO):
9155         Corrected the URL.
9157         * menu.c (get_motion): Now you can drop menu with the down key
9158         like in the Norton Commander.
9160         * user.c (user_menu_cmd): Now supports combined addition and
9161         default conditions.
9163 Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>
9165         * Makefile.in (mc.html): New target which produces html version of
9166         the manual page.
9168         * boxes.c (display_callback, display_init), main.c (select_item,
9169         change_panel, action, panel_event, move_left, move_right,
9170         paint_info_panel, switch_to_info, change_view,
9171         copy_other_pathname, copy_other_prog_name, copy_other_tagged,
9172         do_nc), panel.h, screen.c (display_mini_info, paint_dir,
9173         paint_panel, init_panel), setup.c (load_setup), user.c
9174         (expand_format, test_condition): Preliminary changes to support
9175         quick view mode.
9177         * main.c (paint_quick_view_panel, dummy, quick_view_key,
9178         quick_view_cmd): New functions for preliminary support for quick
9179         view mode.
9181         * ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
9182         user.h: Now supports local shell_patterns settings.
9184         * user.c (check_patterns): New function to support local
9185         shell_patterns settings.
9187         * main.c (ITEMS, panel_event): Now works correctly with user
9188         formats like "half 2 ..." and "full 2 ...".
9190         * main.c (panel_event): Now works correctly user formats like
9191         "full ...".
9193         * main.c (paint_info_panel): Unsignicant bug fixes.
9195         * man2hlp.c: Now can produce HTML format output in addition to HLP
9196         format.
9198         * mc.1: Fixes so that man2hlp can produce correct HTML
9199         output. (Extension File Edit, Menu File Edit): Updated to mention
9200         local shell_patterns setting. (Menu File Edit): Mentions now
9201         combined default and addition conditions. Cleared out the
9202         explanation of the calculation order of conditions. (SEE ALSO):
9203         Corrected the URL.
9205         * menu.c (get_motion): Now you can drop menu with the down key
9206         like in the Norton Commander.
9208         * user.c (user_menu_cmd): Now supports combined addition and
9209         default conditions.
9211 Wed Jan 11 15:08:12 1995  Janne Kukonlehto  <jtklehto@stekt8>
9213         * Makefile.in (mc.html): New target which produces html version of
9214         the manual page.
9216         * boxes.c (display_callback, display_init), main.c (select_item,
9217         change_panel, action, panel_event, move_left, move_right,
9218         paint_info_panel, switch_to_info, change_view,
9219         copy_other_pathname, copy_other_prog_name, copy_other_tagged,
9220         do_nc), panel.h, screen.c (display_mini_info, paint_dir,
9221         paint_panel, init_panel), setup.c (load_setup), user.c
9222         (expand_format, test_condition): Preliminary changes to support
9223         quick view mode.
9225         * main.c (paint_quick_view_panel, dummy, quick_view_key,
9226         quick_view_cmd): New functions for preliminary support for quick
9227         view mode.
9229         * ext.c (regex_command), mc.ext, mc.menu, user.c (user_menu_cmd),
9230         user.h: Now supports local shell_patterns settings.
9232         * user.c (check_patterns): New function to support local
9233         shell_patterns settings.
9235         * main.c (ITEMS, panel_event): Now works correctly with user
9236         formats like "half 2 ..." and "full 2 ...".
9238         * main.c (panel_event): Now works correctly user formats like
9239         "full ...".
9241         * main.c (paint_info_panel): Unsignicant bug fixes.
9243         * man2hlp.c: Now can produce HTML format output in addition to HLP
9244         format.
9246         * mc.1: Fixes so that man2hlp can produce correct HTML
9247         output. (Extension File Edit, Menu File Edit): Updated to mention
9248         local shell_patterns setting. (Menu File Edit): Mentions now
9249         combined default and addition conditions. Cleared out the
9250         explanation of the calculation order of conditions. (SEE ALSO):
9251         Corrected the URL.
9253         * menu.c (get_motion): Now you can drop menu with the down key
9254         like in the Norton Commander.
9256         * user.c (user_menu_cmd): Now supports combined addition and
9257         default conditions.
9259 Tue Jan 10 15:58:24 1995  Miguel de Icaza  <miguel@sphinx>
9261         * configure.in: Now detection of the regular expression functions
9262         is more efficient.  We now detect properly the HP-UX stuff.
9264 Mon Jan  9 15:39:58 1995  Miguel de Icaza  <miguel@sphinx>
9266         * widget.c (listbox_draw): If the listbox is empty, draw empty
9267         fields.
9269         * find.c: Continued work on the find command.
9271         * dlg.c (set_idle_proc, dlg_new): Support for calling the callback
9272         procedure on the idle time.
9274         * configure.in: Under HP-UX link with -lc and -lPW.
9276 Mon Jan  9 15:39:58 1995  Thomas Pundt <pundtt@math.uni-muenster.de>
9278         * util.c (basename): compile it only if it's not available in the
9279         system. 
9281 Mon Jan  9 16:50:51 1995  Janne Kukonlehto  <jtklehto@stekt8>
9283         * *.c, *.h: Checked spelling of all comments with ispell.
9285         * ChangeLog, NEWS: Minor corrections.
9287         * tree.c (show_tree, tree_event): Rewrote the mouse support. Now
9288         it is based on the new static tree_shown variable.
9290 Sun Jan  8 16:35:33 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
9292         * key.c, subshell.c: If being compiled under AIX, then include
9293         sys/select.h 
9295 Sat Jan  7 18:56:55 1995  Miguel de Icaza  <miguel@sphinx.nuclecu.unam.mx>
9297         * main.c (maybe_cd, move_left, move_right): Used to navigate
9298         with the arrow keys, like the Lynx program.  Need to turn the
9299         navigate_with_arrows setting in the .mc.ini file.
9301         * find.c (do_find): Complete rewrote of the find command.
9303         * ext.c (exec_extension): If the users aborts an input_dialog,
9304         then return value is 0.  It's ok for the user to accept an empty
9305         string. 
9307         Give an initial value to the prompt variable.
9309 Sun Jan  8 16:27:48 1995  Radek Doulik  <rodo@RoDo-Station>
9311         * main.c: toggle_adv_ch function to toggle advanced chmod/chown
9312         command, int adv_ch - bool variable
9314         * setup.c: added new option in .mc.ini file for advanced
9315         chmod/chown command
9317         * option.c: added new check button to switch between normal and
9318         advanced chmod/chown commands.
9320         * chown-advanced.c: new file for advanced chmod/chown command -
9321         note that this is only preview and now does nothing.
9323 Sat Jan  7 18:51:10 1995  Radek Doulik  <rodo@RoDo-Station>
9325         * chown.h, chown.c (init_chown): One more bug fixed. Use
9326         single_set variable to decide, why use only two buttons.
9328 Fri Jan  6 13:55:03 1995  Miguel de Icaza  <miguel@sphinx>
9330         * chmod.c (chmod_cmd): We have to destroy the complete dialog
9331         completely each time, since we keep running the dialog and it
9332         keeps pushing relevant data.  We may need to split the run_dlg
9333         stuff.
9335         * chown.c (chown_cmd): Same as chmod.c
9337         * dialog.c (push_refresh): Now the program should refresh the
9338         complete screen if the fast_refresh setting is set to 0, else it
9339         stands for the default behavior.
9341 Thu Jan  5 11:36:34 1995  Miguel de Icaza  <miguel@sphinx>
9343         * main.c (sort_cmd): When changing sort orders, and you ask for
9344         unsorted, it has to reload the directory in order for the list to
9345         be unsorted.  A shame all the complexity needed.
9347         (copy_cmd): If there is an error during the copy process, the copy
9348         is aborted.
9350         * screen.c (repaint_file): Now it's able to trunc the field name
9351         taking care of justification.
9353         * main.c (ok_to_copy): Free the file name if it was allocated from
9354         get_full_name.
9356         * file.c (erase_dir): Don't allow removal of "." or ".." directories.
9358         * main.c (do_nc): Returns status of initialization, so we call
9359         endwin only if the program ran successfully.
9361 Thu Jan  5 14:34:36 1995  Janne Kukonlehto  <jtklehto@stekt8>
9363         * ChangeLog: Run through ispell and other small fixes.
9365         * file.c (move_file), view.c (load_view_file): Now file moving and
9366         compressed file viewing works also with filenames like "*(#&$%@}?>".
9367         The only disallowed characters are "\000", "/" and "'".
9369         * hotlist.c: No need to include chmod.h.
9371         * main.c (do_mask_ren_cmd): Query for confirmation has now two new
9372         choices: All and Cancel. Esc and F10 work now as expected.
9374         * tree.c (tree_move_to_child): Directory is rescanned only if it
9375         has no known children (as requested by Dugan).
9377         * win.c (set_label_text): If screen has too few columns leaves out
9378         those labels which don't fit. Avoids printing in bottomright
9379         corner to get rid of strange side-effects. (define_label,
9380         define_label_quit): Code clean-up.
9382 Wed Jan  4 11:17:53 1995  Miguel de Icaza  <miguel@sphinx>
9384         * profile.c (profile_clean_section): Removes a section from the
9385         profile manager.
9387         * hotlist.c (save_hotlist, load_hotlist): Now the hotlist save and
9388         load functions load their information from the .mc.ini file
9389         instead of their own file.
9391         (done_hotlist): new shutdown function.  Clears all the memory used
9392         by the hotlist.
9394         * setup.c (load_setup): Moved the load_hotlist function here.
9396         (save_setup): Moved the save_hotlist function here.
9398         * profile.c (profile_init_iterator, profile_iterator_next):
9399         Iterator functions for the profile manager.
9401         * widget.c (listbox_draw): Use a different set of colors if the
9402         listbox is focused or not.
9404         (button_callback, button_new): Allow the user to specify a
9405         callback function for a button, in which case, we don't abort the
9406         execution of the dialog.
9408         (listbox_key): Report event as handled on both key up and key down.
9410         * hotlist.c (hotlist_callback): Moved the redraw code to the
9411         switch DLG_DRAW case.
9413         (init_hotlist): Changed to use the new color scheme.
9415 Wed Jan  4 16:24:14 1995  Janne Kukonlehto  <jtklehto@stekt8>
9417         * Makefile.in: Added hotlist.c to SRCS, hotlist.h to HDRS and
9418         hotlist.o to OBJS.
9420         * chmod.c: SGI also needs the umode_t define.
9422         * hotlist.c: New file which implements directory hotlist
9423         feature. Most of its code is copied from chown.c or moved from
9424         main.c.
9426         * hotlist.h: New file.
9428         * main.c: Now includes hotlist.h. (add2hotlist, load_hotlist,
9429         save_hotlist and add2hotlist_cmd): Moved to
9430         hotlist.c. (quick_chdir): Calls the new hotlist_cmd function
9431         instead of creating a listbox of its own. (CmdMenu): "Add to
9432         hotlist" removed from the Command menu. (ctl_x_map): Keyboard
9433         shortcut of add2hotlist_cmd removed.
9435         * ncurses.h: SGI is system-V, too.
9437 Tue Jan  3 16:26:04 1995  Miguel de Icaza  <miguel@sphinx>
9439         * screen.c (paint_frame): Trunc the header size to the computed size.
9441         * wtools.c (run_listbox): Fixed memory leak.  Free the Listbox
9442         structure.  The MAD system is a great tool.  Don't develop without
9443         it. 
9445         * color.c: New color entries for dnormal, dfocus, dhotfocus and
9446         dhotnormal. 
9448         * boxes.c (init_box_colors), chown.c, chmod.c: Use new color
9449         scheme for dialog boxes.
9451         * util.c (regexp_match): Uses regcomp if available in that system
9452         (HP-UX and Linux).
9454 Mon Jan  2 14:07:42 1995  Miguel de Icaza  <miguel@sphinx>
9456         * main.c (ren_cmd): If we detect an '*' or an '?' in the rename
9457         command, we invoke the mask rename command written by Janne. 
9459         (ok_to_copy_all): Now also let's the user abort with escape.
9461         (copy_cmd): Added support for aborting a copy.
9463         * file.c (copy_file_file): Changed exit address to ret3 when the
9464         dialog has been inserted.  This fixes another problem with pop
9465         events. 
9467 Sun Jan  1 19:27:05 1995  Miguel de Icaza  <miguel@sphinx>
9469         * subshell.c (invoke_subshell): Now takes two extra setable
9470         parameters: new_dir and msg.  new_dir is used to return the new
9471         working dir if it changed and msg is used to return an informative
9472         message back to the calling routine.
9474         * screen.c (parse_display_format): Added handling for left and
9475         right justification.
9477         (repaint_file): Added support for justification modes.
9479 Sat Dec 31 13:41:54 1994  Miguel de Icaza  <miguel@sphinx>
9481         * input.c (create_input): current_max_len must be set to the
9482         maximum of the field_length and the user provided initial text. 
9484         * menu.c (run_bar): Initialize abort variable.  
9486         * screen.c (init_panel): Assign user_format only if it doesn't
9487         have a value set, this should not happen. 
9489         * dialog.c (input_dialog): Frees the buffer if the input box was
9490         canceled. 
9492         * screen.c (repaint_file): On fields that are not the file name
9493         field "cut" the leftmost characters when limiting the string
9494         length. 
9496         (string_file_perm_octal): New mode: returns permissions mode in octal.
9498 Fri Dec 30 14:07:56 1994  Miguel de Icaza  <miguel@sphinx>
9500         * subshell.c (pty_open_master, pty_open_slave): New functions to
9501         open the slave and master sides of a pty.  They work on both BSD
9502         and SystemV machines.
9504         * main.c (filter_cmd): Fix: use the correct regexp on the filter
9505         function.
9507         * screen.c (string_marked): new display function "mark", returns
9508         an asterisk if the file is marked or a space if it's not.
9510         * terminfo/linux.ti: When compiling also generate the console
9511         terminfo. 
9513         * util.c (string_perm): Changed position and character string for
9514         sticky directories (was [0] -> i now is [9] -> t).
9516         * profile.c (is_loaded): Bug fixing: return load status and the
9517         section separately.
9519         (GetSetProfileChar): Added a missing return this caused the long
9520         initialization files problem.
9522         * key.c (is_abort_char, is_quit_char): New functions, not yet
9523         used.  Should be used to test for abort/escape conditions.
9525         * setup.c (load_setup): Do the setup even if there is no init file.
9527         * screen.c (parse_display_format): Don't let the display format
9528         use more space than the available.  Not very nice fix.
9530         (init_panel): Set a default user format.
9532         * boxes.c (display_callback): If the user uses the 'u' key, now we
9533         set the focus to the user format input field.
9535         * file.c (copy_dir_dir): Added missing closedir.
9537         (recursive_erase): Added missing destroy_dialog this should fix
9538         the mouse missing mouse pop event.
9540 Fri Dec 30 01:36:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9542         * util.c (strip_ctrl_codes): New function: removes the control
9543         sequences from its argument string.
9545         * main.c: Made some local variables and functions `static'.
9547         (do_nc, set_new_prompt): Call the new function `strip_ctrl_codes'
9548         to remove the control sequences from bash's prompt.
9550 Fri Dec 30 14:08:33 1994  Janne Kukonlehto  <jtklehto@stekt8>
9552         * cons.handler.c (handle_console): Checks that the cons.saver
9553         process is still running by sending cont signal everytime before
9554         communicating with it (as requested by Dugan). Added comments.
9556         * cons.saver.c: Code clean-up and comment adding. (tty_getsize):
9557         Simplified the code based on the fact that tty is console.
9559         * help.c (interactive_display), tree.c (tree): Doesn't seg-fault
9560         anymore if screen has less than 22 rows. Now the minimum limit for
9561         the screen size is the number of lines in File menu.
9563         * main.c (handle_args): Gives an error message instead of
9564         seg-faulting if the TERM variable is unset.
9566         * subshell.c (init_subshell): Now supports also tcsh and zsh
9567         shells in addition to bash. FIXME: The tcsh support leaves an
9568         extra fifo in the /tmp directory.
9570         * tree.c (show_tree): I hope it finally does the name truncation
9571         correctly. It should now work up to 32 levels of subdirectories.
9573 Thu Dec 29 15:38:00 1994  Miguel de Icaza  <miguel@sphinx>
9575         * boxes.c (sort_box): Added nice Cancel button to the sort order
9576         box. 
9578         * widget.c (input_event): Added precary mouse support for input
9579         lines. 
9581         * input.c (update_input): Better cursor movement 
9582         (input_set_point): New function that allows the user to set the
9583         point. 
9585         * panel.h (PANEL_ISVIEW): Added missing call new view to
9586         PANEL_ISVIEW, this caused the problem of not reloading the user
9587         display. 
9589         * screen.c (panel_reload): Added a missing return after
9590         tree_rescan_cmd and paint_panel.  Tree views don't need all the
9591         extra code
9593         * util.c (get_current_wd): system independent get wd function.
9595         * find.c, main.c, screen.c, tree.c: replace ifdef code for calling
9596         getwd/getcwd for a call to a new function in util.c
9598         * screen.c (paint_dir): Paint directory only if the panel is not a
9599         tree or info view.
9601         * util.c (name_trunc): Truncate correctly when the field is odd. 
9603         * view.c (do_view): Scroll by half pages with mouse clicks instead
9604         of one line at a time.
9606         * xterm.ti: added a base xterm-base class for both xterm and xterm
9607         color.  xterm now adds support for the sgr and sgr0 capabilities.
9608         This fixes the display problems with ncurses when changing
9609         attributes. 
9611         We still need to make this work with the Linux console.
9613         * setup.c, main.c (panel_event): mouse_move_pages, new setting
9614         that let's the user specify which kind of movement should be done
9615         when clicking on the top or the bottom of the panels.
9617 Thu Dec 29 03:08:01 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9619         * util.c (my_system): Restore the signal mask after finishing.
9621         * main.c (main): Simplified the print_last_wd handling slightly.
9623 Wed Dec 28 14:00:05 1994  Miguel de Icaza  <miguel@sphinx>
9625         * main.c (do_nc): Set the correct prompt even when we have
9626         subshell support and have it disabled.
9628         * screen.c (repaint_file): Small bug fix: use name trunc :-).
9630         * input.c (update_input): Display control chars as a dot.
9632 Wed Dec 28 13:47:13 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9634         * main.c (menu_edit_cmd): Fixed incorrect `count' argument to
9635         `query_dialog' (was 3, now 2).  This was corrupting the screen.
9637         * util.c (msglen): Fixed a bug which was causing all the message
9638         boxes to be one column too wide, by adding an `else' to the loop.
9640 Tue Dec 27 20:48:13 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9642         * subshell.c (invoke_subshell): restart the subshell if it is
9643         killed by a signal while performing the user's command.
9645         (feed_subshell): don't exit if we get an I/O error reading from
9646         the pseudoterminal; this error sometimes occurs just after the
9647         shell has died, before we get a chance to restart it.
9649         * main.c (do_execute, view_other_cmd): don't restart the subshell
9650         with `init_subshell' if `invoke_subshell' fails; this is now done
9651         in subshell.c instead.
9653 Mon Dec 26 12:47:40 1994  Miguel de Icaza  <miguel@sphinx>
9655         * setup.c (panel_save, panel_load): Load and save the user defined
9656         format. 
9658         * main.c: got rid of the long_cmd and brief_cmd.
9660         Changed the menus to use the new display_cmd for configuring the
9661         display instead of the old menuing code. 
9663         * screen.c (set_panel_format): New function: used to change the
9664         format display of a panel.
9666         * user.c, main.c, setup.c, screen.c, panel.h: Got rid of the
9667         obsolete VIEW_DISABLED constant and all its uses.
9669         * screen.c: Added new display type: space.
9671         * boxes.c: New file.  Contains misc dialog boxes to be used by the
9672         main program.
9674         * widget.c (input_callback): Handles the ESC and F10 keys, as well
9675         as the FOCUS and UNFOCUS commands.
9677         * chown.c (init_chown), option.c (init_configure), chmod.c
9678         (init_chmod): Use the centerwin routine.
9680         * win.h (centerwin): New wonderful macro to get centered windows.
9682 Sun Dec 25 15:26:05 1994  Miguel de Icaza  <miguel@sphinx>
9684         * auto.c, chmod.c, chown.c, dir.c, main.c, mouse.c, gpm-xterm.c,
9685         option.c, subshell.c, util.c, view.c: Fix to the header files to
9686         include unistd.h only if available.  
9688         It seems that sys/types.h is present even if unistd.h is not.
9689         Check this in all the ported architectures.
9691 Sat Dec 24 18:07:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9693         * subshell.c: Numerous changes to implement capturing of bash's
9694         prompt for use on the MC command line.
9696 Fri Dec 23 01:34:48 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9698         * main.c: Added hotkey entries on the File menu for Link, Symlink
9699         and Mask Rename, and on the Command menu for "Add to hotlist".
9701 Fri Dec 23 19:55:09 1994  Miguel de Icaza  <miguel@sphinx>
9703         * screen.c (parse_display_format, parse_panel_size): New functions
9704         to parse the user provided screen format.
9706 Thu Dec 22 16:25:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9708         * subshell.c (init_subshell): Removed the MC_PROMPT_COMMAND stuff,
9709         to be replaced by a cleaner, faster and better method of switching
9710         between MC and bash.
9712         * main.c (view_other_cmd): Made some changes to add support for
9713         the new way of switching to the shell and back.
9715         (execute): Changed similarly.  Now it refuses to run a command if
9716         the shell is already running something else.
9718 Thu Dec 22 12:31:56 1994  Miguel de Icaza  <miguel@sphinx>
9720         * cons.saver.c (main): Changed the call to setpgrp to setsid, this
9721         fixes the bug that killed both the child program and the
9722         cons.saver program.
9724         * util.c (my_system): Add handling for SIGCHLD signal.
9726 Wed Dec 21 13:21:37 1994  Miguel de Icaza  <miguel@sphinx>
9728         * option.c (configure_box): Small bug fix: now all the options are
9729         checked. 
9731         * main.c (do_nc): Small change to fix the program seg faulting on
9732         screens that are too small.
9734         * util.c (name_trunc): Expanded the buffer size.
9736         * main.c (do_search): Now we keep track of the search string in
9737         the tree view.
9739         * tree.c (search_tree): Now the function returns the status of the
9740         search so that the do_search routine tracks the current search
9741         string. 
9743 Thu Dec 22 00:21:46 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9745         * mc.bashrc: New file: a suggested "~/.mc.bashrc" for users.
9746         It is worth thinking about whether a global version of this
9747         file ($libdir/mc.bashrc) should be read also, or instead.
9749         * subshell.c (init_subshell): Set up an environment variable
9750         `MC_PROMPT_COMMAND', to store the value of `PROMPT_COMMAND' while
9751         the latter is not being used.
9753         * main.c (view_other_cmd): Modified so that, if the subshell is
9754         enabled, C-o will not only let us view the shell output but switch
9755         control to the shell altogether (using "unset PROMPT_COMMAND").
9757 Wed Dec 21 11:36:10 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9759         * subshell.c: Three small changes to help it compile under SunOS:
9760         included errno.h, removed the sig_atomic_t type, and changed the
9761         initialisation of the SIGCHLD signal action.
9763         (init_subshell): MC now uses an alternative ".mc.inputrc" if it
9764         exists, so that it is possible to have special `readline' options
9765         for MC's bash subshell.
9767         (invoke_subshell): Finally fixed the emacs corruption bug!  It was
9768         embarrassingly trivial: the tty needed to have OPOST mode disabled.
9770 Mon Dec 19 15:02:07 1994  Miguel de Icaza  <miguel@sphinx>
9772         * main.c (menu_edit_cmd): There are no longer local menus.
9773         (init_panels): Free the other_dir variable only if it has been
9774         allocated. 
9776         * util.c (my_statfs): Better statfs support.  We will only do the
9777         statfs call on systems we know how to handle.
9779 Mon Dec 19 16:52:06 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9781         * subshell.c: Sundry small changes.
9783         (feed_subshell): Changed return type to void.
9785         (invoke_subshell): Fixed CWD handling: now bash changes to MC's
9786         working directory, if necessary, before running the user command.
9788 Sun Dec 18 11:10:01 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9790         * main.c (view_cmd): Removed superfluous variable `command'.
9792         * util.c: Removed all the (now unnecessary) references to the
9793         subshell stuff.
9795         * subshell.h: Added a declaration for the new global variable
9796         `bash_prompt', which always contains bash's latest prompt when
9797         the functions `init_subshell' and `invoke_subshell' return.
9799         * main.c (do_execute): Fixed up the call to `invoke_subshell'.
9800         (action): Removed superfluous variable `newdir'.
9802         * main.h: Removed extern declaration of use_subshell because it is
9803         already declared in subshell.h.
9805 Sat Dec 17 16:06:51 1994  Miguel de Icaza  <miguel@sphinx>
9807         * setup.c (done_setup): New function that shutdowns the setup module.
9809         * terms.c: do_enter_ca_mode now enters putp's the enter_ca_mode to
9810         the screen.  Moved from main to avoid name space pollution, this
9811         should make the A/UX port work.
9813         * util.c: statfs structure definition moved from main.
9815         * main.c: Load correctly the directory structure. Moved the stat
9816         definition structures to util.c
9818         * mouse.c (mouse_log): New function used to debug the mouse event
9819         handling. 
9821         * mouse.h: New macros to debug the event/frame pushing popping
9822         mechanism. 
9824         * screen.c (init_panel): Sets the information panel correctly and
9825         load the stat information before displaying them. 
9827         (display_mini_info): Clean properly the display area when there
9828         are tagged files.
9830         * configure.in: Added check for statfs function.
9832         * main.c (do_nc): Shutdown properly the setup managing code.
9834 Fri Dec 16 16:53:05 1994  Miguel de Icaza  <miguel@sphinx>
9836         * dlg.c (destroy_dlg): Fixed memory leak in the dialog manager.
9838 Fri Dec 16 15:36:58 1994  Jon Stevens <root@dolphin.csudh.edu>
9840         * Ported to A/UX.  Added ifdefs for A/UX in some of the files.
9841         Detect A/UX when configuring.
9843 Fri Dec 16 15:36:58 1994  Miguel de Icaza  <miguel@sphinx>
9845         * dir.c, find.c: Use the proper defines to get the dirent file
9846         (change DIRENT -> HAVE_DIRENT_H and the like.
9848         * main.c (mask_ren_cmd): Fixed the rename mask command finally.
9850 Fri Dec 16 13:46:24 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9852         * main.c (main): Moved the `print_last_wd'-handling code to just
9853         before the call to init_subshell, to make "mc -P" work again.
9855         * subshell.c (sigchld_handler): Sets `quit' to the special value
9856         BASH_EXIT if the user has typed "exit" or "logout" in bash.
9858         * main.c (main, do_nc, enter): Made certain parts of the shutdown
9859         code conditional on having quit the program from bash, rather than
9860         by using F10, to make MC exit cleanly in this case.  (Done using
9861         the BASH_EXIT constant described above.)
9863         * subshell.c (feed_subshell): If you typed a command, pressed
9864         Enter and hit some keys instantly afterwards, they would corrupt
9865         the command.  Fixed this by making `feed_subshell' not read from
9866         the keyboard if called with the QUIETLY option.
9868 Thu Dec 15 15:42:29 1994  Miguel de Icaza  <miguel@sphinx>
9870         * main.c (do_execute): Was execute.  Now, allow for 2 classes of
9871         program execution: normal programs and commander programs.
9873         (load_hotlist): Freed hotlist loaded data.
9875         (do_search): Fixed bug: if we didn't find the file name, continue;
9877         (mask_ren_cmd): Compute the correct size for the destination
9878         string (sprintf).
9880         * util.c (my_system): Allow execution of programs without the
9881         shell (for the editor and view commands).
9883 Thu Dec 15 13:44:58 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9885         * subshell.c (sigchld_handler): New function and changes to allow
9886         us to react appropriately if the subshell is suspended or dies.
9888         (feed_subshell): This now takes an argument `how', which can be
9889         either QUIETLY or VISIBLY, to control whether the subshell's
9890         output goes to the screen.
9892 Wed Dec 14 15:20:01 1994  Miguel de Icaza  <miguel@sphinx>
9894         * main.c (do_search): Don't add to the search string if we can't
9895         find the current string.
9897         * screen.c (display_mini_info): Clean the win_file window before
9898         painting the %s bytes in %d files message.
9900         * main.c (view_other_cmd): Put the cursor at the right place after
9901         viewing the alternate screen.
9903         * chown.h, chown.c (chown_cmd): Changed return type from int to void.
9905         * chmod.h, chmod.c (chmod_cmd): Changed return type from int to
9906         void.
9908 Wed Dec 14 13:18:19 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9910         * Most source files: Trivial fixes to remove compiler warnings.
9912 Tue Dec 13 18:48:20 1994  Dugan O. Porter  (dugan@b011.eunet.es)
9914         * util.c (my_system): This function was temporarily blocking
9915         SIGCHLD.  I think this cannot have any effect (someone please
9916         correct me if I'm wrong), since MC defines no handler for SIGCHLD,
9917         and this signal is ignored by default.  So I removed the block,
9918         because subshell.c needs to do its own SIGCHLD handling.
9920 Mon Dec 12 22:28:23 1994  Dugan Porter <dugan@b011.eunet.es>
9922         * main.c: Some spelling corrections.
9924         (execute): Only load the user shell once.  Changes for working
9925         with the subshell stuff.
9927         * subshell.c, subshell.h: New files: used to implement the
9928         concurrent shell running with the Commander.
9930 Mon Dec 12 22:10:54 1994  Massimo Fontanelli <MC8737@mclink.it>
9932         * key.c, mem.h, tree.c: changes to allow compilation under AIX.
9934 Fri Dec  9 11:53:48 1994  Miguel de Icaza  <miguel@sphinx>
9936         * wtools.c (query_dialog_new): Moved function from dlg.c
9938         * wtools.c, wtools.h: renamed from listbox.c and listbox.h.  They
9939         now will contain utility functions based on the dialog manager.
9941         * help.c (interactive_display): Added support for going back on
9942         the help history with the mouse.
9944         * dlg.c (dlg_new): Correct the order in which the events are
9945         pushed.  This fixes a bug with out of dialog events being sent to
9946         previous mouse handlers.
9947         (destroy_dlg): Added extra pop_event.
9949 Thu Dec  8 20:08:55 1994  Miguel de Icaza  <miguel@sphinx>
9951         * main.c (do_nc): Redisplays the mini info when we have aborted a
9952         search. 
9954 Fri Dec  9 16:29:33 1994  Radek Doulik  <rodo@RoDo-Station>
9956         * chmod.c: bug fix - bad call of chmod_init
9958         * mc.1: chmod command documentation wrote.
9960 Wed Dec  7 21:40:04 1994  Radek Doulik  <rodo@RoDo-Station>
9962         * chown.c: continue working on this stuff, now we have first
9963         working version - I have found a bug in chmod, try to catch this bug 
9965 Wed Dec  7 20:43:17 1994  Miguel de Icaza  <miguel@sphinx>
9967         * widget.c (check_event, check_callback): Added mouse support to
9968         checkboxes. 
9969         (radio_event, radio_callback): Added mouse support to radio buttons.
9971 Wed Dec  7 20:23:52 1994  Massimo Fontanelli <MC8737@mclink.it>
9973         * find.c: Some changes to use static arrays instead of dynamically
9974         allocated arrays.  We will use this code while we fix the find
9975         command. 
9977         * mem.h: On AIX, use rindex.
9979         * gpm-xterm.c, key.c: On AIX, include sys/select.h
9981 Wed Dec  7 20:20:27 1994  Dugan Porter <dugan@b011.eunet.es>
9983         * tree.c: Made internal functions static.
9984         
9985         (tree_append_entry): New function, which is just like
9986         tree_add_entry except that the entry always goes onto the end of
9987         the list. 
9989          I left out the initial consistency check for tree_last->next
9990          being NULL; there seem to be no bugs left in tree.c so I hope
9991          it's not necessary (touch wood)!
9993          I left out the final check that the parent dir is in the list,
9994          because I assume that a directory is never saved in .mc.tree
9995          without its parent being saved also.
9997          Removed all references to the "dotdir" variable, which doesn't
9998          seem to be used for anything.
10000          I changed abort() so it doesn't take an argument
10002          I made a few functions static that aren't called by any other
10003          source files, and don't seem likely to be in the future (e.g.
10004          back_ptr), to reduce namespace pollution.  (In fact, the decls
10005          for these functions could be left out of tree.h as well...)
10007 Mon Dec  5 11:24:31 1994  Miguel de Icaza  <miguel@sphinx>
10009         * user.c (user_menu_cmd): Don't use the local directory menu file.
10011         * util.c (my_statfs): Moved the blocks2kilos and my_statfs from main.
10013 Sun Dec  4 17:11:24 1994  Miguel de Icaza  <miguel@sphinx>
10015         * main.c (execute): Cosmetic change: don't use a space between
10016         prompt and command.
10018         * widget.c (listbox_draw): Now the cursor tracks the selection on
10019         listbox widgets.
10021         * main.c (execute): Output the prompt and the command to be executed.
10023         * input.c (forward_word): Allow skipping over punctuation chars.
10024         
10025         * mc.1: updated documentation on key bindings.
10027         * user.c (user_menu_cmd): Get rid of the old menuing code.
10029         * chmod.c (chmod_cmd): Fixed a couple of function spelling errors
10030         :-).
10032 Sun Dec  4 10:28:46 1994  Radek Doulik  <rodo@RoDo-Station>
10034         * chmod.h: next_file, stat_file make available for chown.c
10036         * chmod.c: not alloc memory for sf_stat - use local variable staying
10037         on the stack make some functions static.
10039 Sat Dec  3 16:29:57 1994  Radek Doulik  <rodo@RoDo-Station>
10041         * new files: chown.h, chown.c - New ChOwn command for changing
10042         owner and group of file. This use new Listbox widget.
10044         * chmod.c: rewritten, implement new features supposed by Miguel,
10045         these are [ Set marked ] [ Clear marked ], 
10046         when only one file to proceed - only [ Set ] and [ Cancel ] displayed
10048 Sun Dec  4 16:29:22 1994  Miguel de Icaza  <miguel@sphinx>
10050         * main.c (do_nc): The prompt is set according to the EUID.
10051         (ext_cmd, menu_edit_cmd): Use the EUID instead of the UID.
10053 Sun Dec  4 16:20:21 1994  Thomas Pundt <pundtt@math.uni-muenster.de>
10055         * win.c (push_fkeys, pop_fkeys): push null mouse events so that we
10056         don't get the previous behavior from the mouse events when
10057         entering/leaving a new mode (This fixes this bug: View file, click
10058         on F9, you get the pull down menu from the inside of the viewer).
10060 Fri Dec  2 13:39:34 1994  Janne Kukonlehto  <jtklehto@stekt8>
10062         * Makefile.in: Added cons.handler.c to SRCS and cons.handler.o to
10063         OBJS.
10065         * TODO: Removed obsolete entries: regular expressions in extension
10066         file are now implemented and the cons.saver now supports Linux
10067         1.1.67. Fixed a typo.
10069         * cons.handler.c: A new file which includes the handle_console
10070         function from main.c. This should make it easier to include
10071         cons.saver functionality to other programs.
10073         * cons.saver.c: A title line change: Not MC specific anymore.
10075         * cons.saver.h: Added prototypes for the handle_console function
10076         and the console_flag variable in the cons.handler.c.
10078         * ext.c (regex_command): Now supports regular expressions in the
10079         extension file.
10081         * input.c (assign_text): Now global function instead of static
10082         (required by the history_cmd function in main.c).
10084         * main.c: Includes dlg.h, widget.h and listbox.h. New struct
10085         hotlist. The handle_console function moved to the new
10086         cons.handler.c file.
10088         (move_left, move_right): If the tree view is active the left and
10089         right move to parent and child directory even in the old
10090         navigation mode.
10092         (history_cmd): A new function which implements command history popup.
10094         (add2hotlist, load_hotlist, save_hotlist): New functions for the
10095         directory hotlist feature.
10097         (add2hotlist_cmd): A new function which adds current directory to
10098         the directory hotlist.
10100         (quick_chdir): Now shows a directory hotlist popup instead of
10101         builtin choices.
10103         (CmdMenu): Added "command History", "Add to hotlist" and
10104         "Directory hotlist".
10106         (copy_prog_name, copy_other_prog_name, copy_other_pathname):
10107         Better support for tree view mode.
10109         (do_nc): Now loads and saves the directory hotlist.
10111         * mc.1 (Directory Panels): Updated meaning of
10112         control-backslash. (Command Menu): Documented "Command history",
10113         "Add to hotlist" and "Directory hotlist". (Extension File Edit):
10114         Documented support for regular expressions. (Menu File Edit):
10115         Cleared up the explanation for <pattern> in the Default conditions
10116         part. (FILES): Added $HOME/.mc.tree and $HOME/.mc.hotlist.
10118         * setup.c: Now includes tree.h. (options): Added option
10119         tree_navigation_flag.
10121         * tree.c (move_to_child): Now rescans directory before moving to
10122         its child.
10124 Thu Dec  1 15:49:39 1994  Miguel de Icaza  <miguel@sphinx>
10126         * main.c (ext_cmd): If running as root, let the user edit the
10127         system wide extension file or the user file.
10129         * input.c: Support for M-C-Backspace
10131         * key.c (mi_getch): Support for M-C-h and M-Backspace
10133         * listbox.c (create_listbox_window): New argument: help context.
10135         * user.c (user_menu_cmd): Set the correct help context.
10137 Thu Dec  1 15:49:39 1994  Massimo Fontanelli <MC8737@mclink.it>
10139         * chmod.c: _AIX also needs the umode_t define.
10141 Thu Dec  1 15:30:09 1994  Dugan O. Porter  <dugan@b011.eunet.es>
10143         * dialog.c (create_dialog): Center correctly the dialog titles.
10145         * main.c (copy_cmd): Removed extra spaces from strings.
10147 Wed Nov 30 11:21:34 1994  Janne Kukonlehto  <jtklehto@stekt8>
10149         * cons.saver.c: The actual console saving and restoring code put
10150         to their own functions save_console and restore_console. Now uses
10151         ioctl TIOCLINUX subfunctions 8 and 9 if Linux version is >=
10152         1.1.67. Added some comments and more debugging output.
10154         * main.c (paint_info_panel): Uses the new is_idle function to skip
10155         painting if there is no time.
10157         * util.c, util.h: Added a new is_idle function. Most of its code
10158         is originates from view.c (do_view).
10160         * view.c: No need to include <sys/time.h> anymore. (goto_line):
10161         Now shows the current line number when asking the new line
10162         number. (do_view): Now uses the new is_idle function instead of
10163         the old select trickery. The automatic adjusting of the dirt_limit
10164         variable in pace of incoming keypresses is more precise now.
10166         * chmod.c: The umode_t type is not defined on Solaris.
10168 Tue Nov 29 15:54:13 1994  Miguel de Icaza  <miguel@sphinx>
10170         * color.c (init_colors): Start colors only if the user requested
10171         so (if use_colors instead of if hascolors).
10173         * user.c (user_menu_cmd): Removed test that didn't let us use more
10174         that LINES-6 menu entries.
10176         * terminfo/xterm.ti: The reset option on xterm_color uses the
10177         cancel escape sequence instead of setting an arbitrary color.
10179         * dlg.c (run_dlg): Many changes so that all dialog callback
10180         functions get the extra Dlg_head * parameter.
10182         * dialog.c (push_refresh, do_refresh): Refresh functions now can
10183         take an extra parameter that is passed when a refresh is required.
10184         Changed in all the refresh functions in the program.
10186         * dlg.c (dialog_handle_key): Added support for repainting the
10187         screen.
10189         (dlg_broadcast_msg): New function to send a message to all the widgets.
10191         * option.c (configure_callback): New: painting the widget is done
10192         in the dialog callback (Message DLG_DRAW).
10194         * dlg.c (dialog_handle_key), dlg.h: Added support for context
10195         sensitive help.
10197 Tue Nov 29 14:37:49 1994  Radek Doulik <rodo@earn.cvut.cz>
10199         * chmod.c: updated, attribute setting/clearing has changed.  No
10200         ChangeLog entries yet.
10202 Tue Nov 29 14:17:40 1994  Miguel de Icaza  <miguel@sphinx>
10204         * user.c (user_menu_cmd): Fix: select the default entry
10206         * main.c (main): Fix: other dir argument is now used instead of the
10207         value from the init file.
10209 Tue Nov 29 13:47:52 1994  Janne Kukonlehto  <jtklehto@stekt8>
10211         * mc.1: Updated: Save Setup is now under the Options menu, not the
10212         Commands menu. The old text of Options section moved to new
10213         Configuration section. The Undocumented Features section renamed
10214         to Special Settings section. All settings which can't be changed
10215         from the menus moved to the Special Settings section.
10217         * ChangeLog, INSTALL, INSTALL.FAST, NEWS, README, TODO, mc.1: Ran
10218         through ispell and corrected spelling errors (there was no errors
10219         in the INSTALL.FAST file). 
10221         * cons.saver.c (main): Now correctly loses the control terminal
10222         (by calling setpgrp). Added some comments.
10224         * screen.c (display_mini_info): No longer reports <readlink
10225         failed> if current directory is different than panel->cwd.
10227 Mon Nov 28 13:45:48 1994  Miguel de Icaza  <miguel@sphinx>
10229         * listbox.c (run_listbox): Do proper shutdown of window.
10231         * gc.c: deleted.
10233         * view.c (load_view_file): Use free instead of gc_free.
10235         * user.c (user_menu_cmd): Use free instead of gc_free.
10237         * tree.c (do_tree_check, load_tree, save_tree): Use free instead of gc_free.
10239         * setup.c (load_setup): don't uses free anymore.
10241         * main.c (action, enter, view_cmd, do_edit, ext_cmd,
10242         menu_edit_cmd): don't use gc_free, gc_free_now.
10244         * util.c (copy_strings): Don't use the gc_* functions any more,
10245         uses standard malloc.
10247         * file.c (recursive_erase, copy_dir_dir, move_file, move_dir_dir,
10248         erase_dir): don't use gc_free, gc_free_now.
10250         * configure.in (LDFLAGS): Fix: Do not set DEFS manually, use
10251         AC_DEFINE, this fixes the problem with selecting group of files in
10252         Solaris.
10254         * widget.c (listbox_callback): Return the handled/unhandled return
10255         code on WIDGET_KEY so we can finish the dialog.
10257         (listbox_select_entry): Return after finding the entry; advance
10258         the top selection only if the selected item is outside the visual
10259         area.
10261 Sun Nov 27 16:55:13 1994  Miguel de Icaza  <miguel@sphinx>
10263         * widget.c (listbox_callback, listbox_key, listbox_cdiff,
10264         listbox_append_item, listbox_add_item): Implemented the listbox
10265         widget.
10267         * listbox.c (create_listbox_window, run_listbox): Creates a
10268         listbox window, this function uses the dialog manager and the
10269         listbox widget.  run_listbox is used to run the simple listbox
10270         objects. 
10272         * user.c (user_menu_cmd): Now the menu uses copy_strings instead
10273         of the static buffer.
10275         (user_menu_cmd): Use the new listbox manager instead of the old
10276         menuing code. 
10278         * option.c: Made local variables static.
10280 Fri Nov 25 12:16:05 1994  Miguel de Icaza  <miguel@sphinx>
10282         * util.c (find_mountpoint, find_device): Moved from main.
10284         * ncurses.h (USE_BSD_CURSES): Changes to let the program compile
10285         without ncurses, this is not working yet.
10287         * configure.in (XCURSES): Allow for configuration of the program
10288         with bsd curses instead of ncurses, not very nice.
10290         * xcurses.c (x_getch): New function: used to implement the missing
10291         ungetch in the bsd curses.
10293         * key.c, main.c: use xgetch instead of getch.  with ncurses xgetch
10294         is defined as getch, with bsd curses xgetch is defined as x_getch.
10296         * main.c (my_statfs): Don't set the volname attribute, it no
10297         longer exists.
10299 Fri Nov 25 16:14:50 1994  Radek Doulik  <rodo@RoDo-Station>
10301         * dlg.c (dlg_one_up): remove send msg WIDGET_DRAW, I don't know
10302         why it was here, but it causes check buttons doesn't work properly
10304         * chmod.c: [Mark all] now works with no file selected 
10306 Thu Nov 24 13:18:42 1994  Miguel de Icaza  <miguel@sphinx>
10308         * main.c (view_cmd): If you have tagged files, and press F3 and
10309         have the new confirm_view_dir variable set, then you are asked for
10310         confirmation. 
10312 Thu Nov 24 13:39:34 1994  Janne Kukonlehto  <jtklehto@stekt8>
10314         * main.c (change_labels): F4 is now "Navig" in the tree mode. F5
10315         and F6 are no longer cleared.
10317         (move_left, move_right): Now support the new tree navigation mode.
10319         (key_f4_cmd): A new function. Toggles the navigation mode in the
10320         tree view mode and invokes the edit command otherwise. 
10322         (copy_cmd, ren_cmd): Now work also in the tree view mode.
10324         (init_labels): F4 corresponds to key_f4_cmd, not to edit_cmd.
10326         * main.h: Added declaration of the cmd_buf variable.
10328         * mc.1 (Directory Tree): Documented the new features: Navig, Copy
10329         and RenMov.
10331         * tree.c: A new global variable: tree_navigation_flag, which is
10332         used for toggling between the new navigation mode and the old
10333         navigation mode.
10335         (whereis): Now returns NULL if not found, not the closest
10336         match. Added some speed enhancements which are currently commented
10337         out because they don't work yet.
10339         (tree_add_entry): Added some speed enhancements which are
10340         currently commented out because they don't work yet. After adding
10341         an entry now tries to add the parent directory of the entry, too.
10343         (tree_remove_entry, start_tree_check, tree_chdir): Changes related
10344         to the new behaviour of the whereis function.
10346         (show_tree, tree_move_backward, tree_move_forward): Now support
10347         the new navigation mode.
10349         (tree_move_to_child, tree_move_to_parent): New functions.
10351         (tree_event): Mouse doesn't work in the new navigation mode yet.
10353         (toggle_nav_mode, tree_copy, copy_cmd, tree_move, move_cmd): New
10354         functions.
10356         (win_init): The F4, F5 and F6 keys work now.
10358         (tree): The left arrow moves to the parent directory and the right
10359         arrow moves to the child directory.
10361         * tree.h: Added tree_copy, tree_move, tree_move_to_parent,
10362         tree_move_to_child and tree_navigation_flag.
10364 Wed Nov 23 12:24:11 1994  Miguel de Icaza  <miguel@sphinx>
10366         * main.c (suspend_cmd): After coming back from suspend, redraw the
10367         screen.
10368         (do_nc): Understands the LINES variable.
10370 Wed Nov 23 14:51:16 1994  Janne Kukonlehto  <jtklehto@stekt8>
10372         * dlg.c: "#include <stdarg.h>" was still missing.
10374         * main.c (find_mountpoint, find_device): New
10375         functions. (my_statfs): Now uses the find_mountpoint and
10376         find_device functions. Now works to some degree also on machines
10377         which don't have statfs.
10379         (do_cd): Changed the condition under which the my_statfs function
10380         is called.
10382         (switch_to_info): The my_statfs function is now called always.
10384         (paint_info_panel): Some reorganization and changes.
10386         (do_search): The search can wrap now.
10388         (view_cmd): If trying to view a directory, now changes to the
10389         directory. Very handy if there is something on the command line and
10390         the enter key can't therefore be used.
10392         (delete_cmd): The confirm_delete option works now also in the tree
10393         view mode.
10395         (quick_chdir): Should now work in tree view mode. Not tested!
10397         * tree.c: Now includes the main.h file. (show_tree): Long
10398         directory names are now truncated. (search_tree): The search can
10399         wrap now. 
10401         (rmdir_cmd): The confirm_delete option works now. Added some
10402         chdir-tricks.
10404 Tue Nov 22 15:21:59 1994  Miguel de Icaza  <miguel@sphinx>
10406         * auto.c (do_exec_mount): Little bug fix.
10408         * dlg.c (query_dialog_new): Changed: use stdarg.h instead of
10409         varargs.h, va_start takes two parameters.
10411         * widget.c (button_callback, button_event (new)): Mouse support
10412         for button widgets.
10414         * dlg.c (dlg_one_up): New function: use by the widgets to select
10415         themselves before sending a message to themselves, since they use
10416         the h->current value to determine exactly who they are.  Must
10417         change this so that Dlg_Head is never sent to a Widget, now we
10418         have the parent field that can be used to refer to the owner of
10419         the dialogs.
10420         (add_widget): Now, each widget knows the pointer to his parent.
10422         * main.c (do_nc): Ok, now slow terminals are those that run under
10423         9600 bauds.
10425 Tue Nov 22 15:40:41 1994  Janne Kukonlehto  <jtklehto@stekt8>
10427         * dlg.c: Added missing "#include <varargs.h>". (query_dialog_new):
10428         The va_start macro only takes one parameter.
10430         * main.c (blocks2kilos): A new function. (my_statfs): The fs_stats
10431         variable is now static. The avail and total fields are now in
10432         kilobytes instead of bytes to avoid overflow. (paint_info_panel):
10433         The file name and the file system name are now passed through
10434         the name_trunc function. Sizes are passed through the
10435         wprint_bytesize function.
10437         * tree.c (tree_remove_entry, start_tree_check, do_tree_check,
10438         end_tree_check): The subdirectory check is correct now. For
10439         example, no longer thinks that /devices is a subdirectory of /dev.
10441         (show_tree): No longer segfaults when calculating the topsublevel
10442         variable if the tree is empty.
10444         (tree_forget_cmd): The old code replaced by a call to the
10445         tree_remove_entry function.
10447         * win.c (wprint_bytesize): A new function for printing file sizes
10448         etc.
10450         * win.h: Added wprint_bytesize.
10452 Mon Nov 21 17:01:40 1994  Miguel de Icaza  <miguel@sphinx>
10454         * option.c: Added new options 8bit clean and automount to the
10455         option configuration dialog
10457         * chmod.c (chmod_file): Small bug fix, init the c_file variable.
10459         * main.c (do_cd): Added missing initialization of dirs_marked.
10460         (unmark_file): Added missing cleaning of dirs_marked.
10462         * dialog.c (input_dialog): Fixed problem with lines bigger than
10463         the initial string.
10465         * util.c (my_system): If user doesn't have a default shell, run
10466         the shell specified in the SHELL environment variable.
10468         * main.c (execute): Added missing endpwend.
10470 Mon Nov 21 10:59:55 1994  Janne Kukonlehto  <jtklehto@stekt8>
10472         * file.c (recursive_erase): fixed bug, didn't call closedir.
10474         * main.c (reverse_selection): New function.
10476 Fri Nov 18 11:43:01 1994  Miguel de Icaza  <miguel@sphinx>
10478         * main.c (update_panels, repaint_screen, swap_cmd): Correct order
10479         of redraw: First update the other_panel and then the current_panel.
10481 Sat Nov 19 13:12:39 1994  Janne Kukonlehto  <jtklehto@stekt8>
10483         * INSTALL: Removed documentation for the --with-screen-restore
10484         option. Documented the 'make install.saver' command.
10486         * Makefile.in: Removed the prog_mode variable.
10488         * Configure.in: Removed the --with-screen-restore option as
10489         obsolete.
10491         * cons.saver.c (detect_console): Oops, I was checking the st_dev
10492         field instead of the st_rdev field. No wonder it didn't work on
10493         others' machines. (main): Some changes to help debugging.
10495         * input.c (destroy_input): Now also destroys the history.
10497         * mad.c (mad_alloc, mad_realloc): Now corrects the
10498         alignment. (mad_finalize): Outputs the memory leaks.
10500         * main.c (my_statfs, select_item, do_cd, paint_info_panel,
10501         switch_to_info): Now there is some information in the info panel.
10503         (handle_console): The standard error of the child is redirected to
10504         /dev/null.
10506         (done_panels, done_menu, do_nc): Clean up memory leaks.
10508         (action): Don't free NULL pointer.
10510         * mouse.c (init_mouse): Removed an extra push_frame.
10512         * profile.c (free_keys, free_sections, free_profile,
10513         free_profiles): Clean up memory leaks.
10515         * profile.h: Added free_profiles.
10517         * tree.c: Removed the base_dir variable as
10518         unnecessary. (destroy_tree): Cleans up memory leaks.
10520         * tree.h: Added destroy_tree.
10522         * ext.c (exec_extension), user.c (execute_menu_command): Oh no, I
10523         was using the dreadful goto command. Am I doomed now?
10525         * view.c (goto_line): Small fixes.
10527 Sat Nov 19 20:10:08 1994  Radek Doulik  <rodo@RoDo-Station>
10529         * chmod.c (chmod_callback): fix the problem with 'M' key -
10530         replaced with 'T' key
10532         * widget.c: fix in hotkey code for unify 'LwrCase'='UpCase'
10534         * dlg.h: added DIR_FORWARD, DIR_BACKWARD - for dialog directions,
10536         * dlg.c: allow change direction of circling the widget buffer
10537         in order as they was inserted or reversed order (default)
10539         (std_callback)  use it as default callback does nothing,        
10540         
10541         (query_dlg_new) prepared to replace query_dlg function with this new
10542         one using new dialog manager (after adding mouse support)
10544 Thu Nov 17 15:23:24 1994  Miguel de Icaza  <miguel@sphinx>
10546         * color.c (configure_colors), setup.c (load_setup): New colors per
10547         terminal 
10549 Thu Nov 17 15:01:40 1994  Janne Kukonlehto  <jtklehto@stekt8>
10551         * tree.c (do_tree_check): Fixed bug.
10553 Thu Nov 17 17:27:00 1994  Radek Doulik  <rodo@RoDo-Station>
10555         * widget.c widget.h: add hot key support to button 
10556         and check button, change in call button_new, check_new
10558         * dlg.c dlg.h: add dialog custom colors, support hot keys
10559         new WIDGET_HOTKEY message, change in call dlg_new
10561         * option.c chmod.c: updated to use custom colors and hot keys
10563 Thu Nov 17 13:18:28 1994  Janne Kukonlehto  <jtklehto@stekt8>
10565         * Makefile.in: Added mad.c to SRCS. Added mad.h to HDRS. Added
10566         mad.o to OBJS.
10568         * auto.c: Changed the title.
10570         * All the *.c files but the cons.saver.c and man2hlp.c file: Now
10571         include the mad.h file.
10573         * mad.c, mad.h: New files which implement the Memory Allocation
10574         Debugging system.
10576         * main.c (main): Now calls the mad_finalize function as the last
10577         thing before exit.
10579         * mc.1 (Menu File Edit): Now documents the 't' type. (Macro
10580         Substitution): Now documents the %u and %U macros. (AUTHORS):
10581         Fixed a small typing mistake.
10583         * mc.menu: Documented the 't' type and the %t, %T, %u and %U
10584         macros.
10586         * tree.c: (back_ptr, forw_ptr, show_tree): Now work better if the
10587         selected_ptr variable happens to be NULL (it is NULL only if
10588         the whole tree deleted with the 'forget' or 'delete' command).
10590         * user.c (expand_format): Now supports the %u and %U
10591         macros. (test_type): Now supports the 't' type.
10593         * util.c (xmalloc), util.h (xmalloc): The xmalloc function is
10594         compiled only if the MAD system is not used.
10596         * view.c (goto_line): A new function to go to the specified
10597         line. (init_view): Binds the goto_line function to the f5 key.
10599 Wed Nov 16 14:47:59 1994  Janne Kukonlehto  <jtklehto@stekt8>
10601         * dir.c (set_zero_dir): When assigning to the fname field, use
10602         strdup instead of a static constant.
10604 Wed Nov 16 09:52:36 1994  Miguel de Icaza  <miguel@sphinx>
10606         * util.c (tilde_expand): Doesn't use gc_alloc anymore.
10608         * dialog.c (input_expand_dialog): Adapted to use the new
10609         tilde_expand without using the gc.
10611         * find.c (find_dialog): Remember the last searched expression.
10613 Tue Nov 15 15:52:28 1994  Fred Leeflang <fredl@nebula.ow.org>
10615         * main.c: copying multiple files to an unexisting dest will now treat
10616         dest as a directory, create it for you and copy the files/dirs
10617         there. copying dirs/files to an unexisting dir now actually works.
10619 Tue Nov 15 11:40:42 1994  Janne Kukonlehto  <jtklehto@stekt8>
10621         * ext.c (exec_extension), user.c (execute_menu_command): Now
10622         support the %{...} macro.
10624         * input.h: Changed the definition of the XCTRL macro.
10626         * main.c (do_search, start_search, do_nc): Searches start from the
10627         current point, not from the beginning. Pressing C-s again searches
10628         the next match.
10630         (mask_ren_cmd): A new function which implements the mask rename.
10632         (compare_dir, compare_dirs): New functions which implement the
10633         Compare Directories command.
10635         (quick_chdir): A new function which implements the changing of
10636         the directory to the home or the root on the C-\ press.
10638         * mc.1 (Directory Panels): Documented the C-\ key. Mentioned that
10639         C-s can be used to search again. (File Menu): Documented the Mask
10640         Rename command. (Command Menu): Documented the Compare Directories
10641         command. Replaced "View other screen" with "Panels
10642         on/off". (Directory Tree): Removed some out of date
10643         remarks. (Macro Substitution): Documented the %{...} macro.
10645         * mc.menu: Changed the K-entry to use the %{...} macro.
10647         * tree.c (search_tree): The focus is now checked at the correct
10648         moment.
10650 Mon Nov 14 09:28:20 1994  Miguel de Icaza  <miguel@sphinx>
10652         * gpm-xterm.c: passed the source trough indent -pcs -kr
10654         * screen.c (string_file_type, string_file_permission,
10655         string_file_nlinks, string_file_owner, string_file_group,
10656         string_file_size, string_file_mtime, string_file_atime,
10657         string_file_ctime, string_file_name): New functions, to be used by
10658         the new user configurable screen display.
10660         * main.c (long_cmd): New behavior: allow user to have long panels
10661         mixed with normal panels, there is a little flicker produced by
10662         the new behavior but is not that bad.
10664         (init_panels): Update the panels in this order: opanel, cpanel, to
10665         remove some flicker.
10667         (only_refresh_screen): Refresh screen in this order: opanel,
10668         cpanel to avoid some flicker
10670         (untouch_bar): Changed the order of refresh.
10672         (execute): If running on the console (and cons.saver is running),
10673         then don't ask for a keystroke after executing a command.
10675         * user.c (menu_input_loop): Upper case letters and lower case
10676         letters are different
10678         * file.c (recursive_erase): Leave directory ".." alone.
10680 Mon Nov 14 14:36:12 1994  Janne Kukonlehto  <jtklehto@stekt8>
10682         * dialog.c (input_dialog), find.c (input_find, do_load_find_menu,
10683         find_dialog), main.c (copy_cmd), menu.c (get_motion), user.c
10684         (menu_input_loop): Now you can cancel with both ESC and F10. Use
10685         of F10 gets rid of the slight delay after an ESC press.
10687         * file.c (erase_file, erase_dir): Now the error messages tell what
10688         the MC was trying to erase. The recursive delete now works also on
10689         Solaris which uses error number EEXIST instead of ENOTEMPTY.
10691         * help.c: The quit variable is now file wide static instead of
10692         function wide auto. New functions: help_cmd, index_cmd,
10693         quit_cmd. (interactive_display): The function key labels now work
10694         with mouse.
10696         * main.c (change_labels): A new function to change the function
10697         key labels when changing to the tree view mode and
10698         back. (change_panel, tree_leave, tree_view_cmd): Now call the
10699         change_labels function.
10701         (panel_event): Now works more often when in the tree view mode.
10703         (key_f2_cmd, key_f3_cmd): New functions which select the correct
10704         action depending on whether the tree view mode is active.
10706         (delete_cmd): Now behaves better when deleting the directories in
10707         the tree view mode.
10709         (tree_cmd): Now behaves better when the tree view mode is active.
10711         (init_labels): The user_menu_cmd and view_cmd functions replaced
10712         with the key_f2_cmd and key_f3_cmd functions.
10714         * mc.1 (Directory Tree): Small changes in the wording. Now up to
10715         date with new features. (Menu File Edit): Now up to date with the
10716         new behaviour and features.
10718         * mc.menu: Now up to date with the new behaviour and features of
10719         the user menu condition feature.
10721         * screen.c (display_mini_info): Simplified the way how the search
10722         string is output.
10724         * tree.c: The tree_entry structure is now defined in the tree.h
10725         file. The top and selected variables deleted as unnecessary. New
10726         variables: topdiff and check_sublevel. The variables check_name
10727         and check_start are now static. New functions: back_ptr, forw_ptr,
10728         win_init, win_done.
10730         (tree_add_entry): Now return a pointer to the added entry. The
10731         mark field is cleared.
10733         (remove_entry): If removing the selected entry selects the next or
10734         previous entry so that there will always be an existing selected
10735         entry.
10737         (tree_remove_entry): Removes the whole subtree instead of just one
10738         directory.
10740         (start_tree_check, do_tree_check, end_tree_check): Now using the
10741         mark field. A lot of other miscellaneous changes. Should be working
10742         correctly now (no orphan directories anymore).
10744         (show_tree, tree_move_backward, tree_move_forward,
10745         tree_move_to_top, tree_move_to_bottom, tree_init, tree_event,
10746         search_tree): Now using the selected_ptr and topdiff variables
10747         instead of the old selected and top variables.
10749         (check_focus): Simplified.
10751         (tree_chdir): Now uses the whereis function.
10753         (help_cmd, tree_rescan_cmd, tree_mkdir_cmd, rmdir_cmd): Now using
10754         the win_init and win_done functions.
10756         (tree_forget_cmd): Now forgets the whole subtree instead of just
10757         one directory.
10759         (tree.c): Now using the win_init and win_done functions.
10761         tree.h: The tree_entry structure is now defined here. Added the
10762         mark field to the tree_entry structure. Added the tree_forget_cmd
10763         function.
10765         user.c: Divided the conditions to two subtypes: the default
10766         conditions and the addition conditions. The addition conditions
10767         behave like the old conditions. The default conditions can be used
10768         for specifying the default menu entry. See the manual page.
10770         * ChangeLog: Replaced the occurrences of the Finnish word 'Ups'
10771         with the corresponding English word 'Oops'.
10773 Sun Nov 13 09:53:30 1994  Radek Doulik  <rodo@RoDo-Station>
10775         * chmod.c (chmod_file): change getting owner and group name using
10776         functions in util.c, change length of printed strings
10778 Sat Nov 12 15:34:50 1994  Miguel de Icaza  <miguel@sphinx>
10780         * file.c (erase_dir): Fixed bug that was deleting directories even
10781         if the user selected the no option.
10783         * main.c (delete_cmd): Added recursive delete on tagged directories
10785         * file.c (recursive_erase): Use lstat instead of stat for checking
10786         the file information.
10788 Thu Nov 10 23:37:04 1994  Miguel de Icaza  <miguel@sphinx>
10790         * mouse.c (push_event): new parameter: options, currently accepts
10791         event_absolute and event_use_frame.
10793         * dialog.c, help.c, main.c, menu.c, tree.c, view.c: when calling
10794         push_event specify event_use_frame.
10796         * win.c (define_label, define_label_quit): use event_absolute to
10797         define the mouse bindings.
10799 Thu Nov 10 13:21:50 1994  Janne Kukonlehto  <jtklehto@stekt8>
10801         * dir.c (handle_dirent, do_load_dir, do_reload_dir): Added calls
10802         to the start_tree_check, do_tree_check and end_tree_check
10803         functions to achieve transparent tree update.
10805         * help.c (interactive_display): Now shows a function key bar of
10806         its own.
10808         * main.c (action): Now uses cpanel->cwd instead of a tree_selected
10809         call.
10811         (enter): Typing 'cd' commands on the command line now works also
10812         if the current panel is in the tree view mode.
10814         (delete_cmd): Now works in the tree view mode.
10816         (tree_cmd): Now works even if the tree view is already active,
10817         just doesn't change directory in such case.
10819         (tree_leave): A new function which is called when leaving the tree
10820         view mode. Tries to chdir to the last selected directory.
10822         (full_cmd, brief_cmd, info_cmd, long_cmd): Now using tree_leave
10823         instead of tree_done.
10825         (tree_view_cmd): Now uses tree_leave instead of tree_done. The
10826         tree_init call takes one parameter more. No need to initialize
10827         wtree variable yet. Clears the file entry list (calls
10828         set_zero_dir).
10830         (do_nc): Now uses the load_tree and save_tree functions to load
10831         the .mc.tree file on startup and save it on exit. Removed the old
10832         tree_init method of loading the tree.
10834         mc.1: The directory tree section is now up to date with the new
10835         features and behaviour.
10837         screen.c (display_mini_info): Added a missing wattrset. Now uses
10838         panel->cwd instead of the tree_selected call.
10840         (panel_reload): Works again in the tree view mode.
10842         tree.c: Uses now double linked list instead of single linked
10843         list. The tree_list variable renamed to tree_first. New static
10844         variables: tree_last, fkeys, check_name and check_start. The wtree
10845         variable is now static instead of global. Function removed as
10846         unnecessary: free_tree, read_tree, tree_selected. New functions:
10847         str_common, whereis, tree_add_entry, remove_entry,
10848         tree_remove_entry, start_tree_check, do_tree_check,
10849         end_tree_check, load_tree, save_tree, tree_chdir, help_cmd,
10850         tree_rescan_cmd, forget_cmd, tree_mkdir_cmd, rmdir_cmd, quit_cmd.
10852         (show_tree): Small meaningless code cleaning. If in the tree view
10853         mode copies the name of selected directory to the panel->cwd
10854         variable. If the panel is active chdirs there.
10856         (check_focus): Now behaves correctly even if there is less entries
10857         in the tree than there are lines in tree window.
10859         (tree_init): Takes one parameter more which tells amount of lines
10860         in the window. No longer uses the base directory system. Tries to
10861         select the current directory from the tree.
10863         (tree_done): Now does nothing.
10865         (tree): Now shows and uses a function key bar of its own. Changed
10866         behaviour of the control-r key.
10868         tree.h: Changed the definition tree_init. Removed read_tree and
10869         tree_selected. Added load_tree, save_tree, tree_chdir,
10870         tree_rescan_cmd, tree_add_entry, tree_remove_entry,
10871         start_tree_check, do_tree_check, end_tree_check. Removed
10872         tree_count and tree_lines.
10874         view.c (help_cmd): Oops, the name of the 'Internal file viewer'
10875         section has changed.
10877 Thu Nov 10 22:40:31 1994  Fred Leeflang <fredl@nebula.ow.org>
10879         * file.c (copy_dir_dir, move_dir_dir): new functions.
10881         * main.c (do_mark_file): allow directory marking.
10882         (copy_cmd): Implement directory copying.
10883         (ren_cmd): Implement directory moving.
10884         (select_cmd, unselect_cmd): Allow selection of directories, when
10885         there is a leading or trailing '/'.
10886         (screen.c, screen.h): Added dirs_marked variable to panel
10887         structure.
10889         * util.c (basename): new function: returns the base name of it's
10890         argument. 
10892 Thu Nov 10 21:21:26 1994  Miguel de Icaza  <miguel@sphinx>
10894         * main.c (copy_tagged): Disable cmdline updating when inserting
10895         all those file names.
10896         (do_edit): Use copy_strings.
10898         * input.c (input_disable_update, input_disable_update): New
10899         routines:  they let the client code disable the screen updating
10900         when inserting characters.  Used to speed up long insertions like
10901         the copy all tagged files command.
10902         (stuff): Disable updating when stuffing characters.
10904 Wed Nov  9 14:50:24 1994  Janne Kukonlehto  <jtklehto@stekt8>
10906         * cons.saver.c: Oops, forgot to initialize the action
10907         variable. Made it fail randomly.
10909         * cons.saver.h: Let's start commands from '1' instead of '\000' to
10910         make debugging easier.
10912         * main.c (do_nc): Now works also if the tree view has been
10913         specified in the setup file.
10915         * mc.1: Fixed a typing error in the .\"LINK" command in the
10916         Options section. Wrote the Directory Tree
10917         section.
10919         * tree.c (show_tree): Oops, forgot to initialize the x and y
10920         variables. Caused a deadlock when there was no entries in the tree
10921         and the tree view was active.
10923         (tree_selected): Now works correctly if the selected_ptr is
10924         NULL. No more segmentation faults.
10926 Tue Nov  8 21:26:18 1994  Miguel de Icaza  <miguel@sphinx>
10928         * user.c (execute_menu_command): Now it frees the returned pointer
10929         from expand_format
10930         (expand_format): Added support for the '%t' flag.  This represents
10931         all the tagged files.
10933         * ext.c (exec_extension): Now must free the returned pointer from
10934         expand_format. 
10936 Tue Nov  8 02:07:47 1994  Janne Kukonlehto  (jtklehto@stekt.oulu.fi)
10938         * Makefile.in: BINDIR now defined in the CPPFLAGS. Added
10939         cons.saver.h to the HDRS. Added cons.saver.c to the DISTFILES. No
10940         need for the prog_mode variable anymore. A new target:
10941         install.saver which installs the Linux console screen save/restore
10942         handler. The uninstall and clean targets now remove cons.saver.
10944         * cons.saver.c: A new file: Linux console screen save/restore
10945         handler. Most of the code was previously the child code in the
10946         main.c file, the handle_console function. See below what was
10947         removed from the main.c file.
10949         * cons.saver.h: A new file. Included by cons.saver.c and main.c.
10950         Defines the commands for cons.saver.
10952         * gindex.pl: If the length of a node name is zero output a newline
10953         on its place in the contents. This is used for dividing the help
10954         file into five parts.
10956         * help.c: A new static variable end_of_node which tells when the
10957         end of node is reached and shown. (move_forward): Refuses to move
10958         forward if the end_of_node variable is true. (show): Little
10959         meaningless code clean-up. Now sets the end_of_node variable.
10961         * main.c: Now includes the cons.saver.h file. The tty_getsize
10962         function removed. The tty_cursormove function removed.
10963         (handle_console): Console detection code removed. The child code
10964         removed. Now uses the cons.saver program for saving and restoring
10965         of the console screen. Security hole checks removed because the mc
10966         does not need to be setuid anymore. (main.c): Backward
10967         compatibility: gives up privileges in case someone installed the
10968         mc as setuid.
10970         * man2hlp.c (handle_command, handle_link, main): Now supports the
10971         new LINK2 link format.
10973         * mc.1: Reorganized and partially rewritten. Too many changes to
10974         list them all.
10976         * screen.c (reload_panel): No longer tries to reread tree. This
10977         will get rid of those long delays when tree view is active. Real
10978         fix will be introduced later.
10980         * xnc.hlp: The [Main] and [About] nodes combined into one [Main]
10981         node. The authors are now mentioned only in the mc.1 file which
10982         should help in keeping them up to date.
10984 Tue Nov  8 14:09:23 1994 Leon Raadshooven<L.A.RoosvRaadshooven@research.ptt.nl>
10986         * color.c: Code cleanup
10988 Tue Nov  8 13:12:12 1994  Mauricio Plaza  <mok@roxanne.nuclecu.unam.mx>
10990         * find.c (find_dialog): Choose the appropriate regexp depending on
10991         the easy_patterns setting.
10993 Tue Nov  8 12:50:10 1994  Torben Fjerdingstad <tfj@olivia.ping.dk>
10995         * mc.ext: It defaults to view the file with $PAGER.  I have set
10996         LESSCHARSET=latin1 to tell my $PAGER, NOT to display binary files
10997         without a warning. 
10999 Mon Nov  7 12:56:26 1994  Janne Kukonlehto  (jtklehto@stekt.oulu.fi)
11001         * Makefile.in (make install): Removed the 'if $(do_setuid) then'
11002         line which caused 'make install' to fail.
11004         * README: The sample menu file is mc.menu, not nc.ext.
11006         * help.c (move_forward2, move_backward2, move_forward,
11007         move_backward): The beginning of a line is just after newline, not
11008         just before it.
11010         (move_to_top, move_to_bottom): New functions which support moving
11011         to the top and bottom of a node. (null_fn): Deleted, no longer
11012         necessary.
11014         (follow_link): Added one space to the beginning of the error
11015         message.
11017         (select_next_link): No longer tries to be too clever for its own
11018         good.
11020         (show): Now uses 'switch - case' instead of 'if - else if - else
11021         if...'. Now supports alternate character set, output of the
11022         version number of the Midnight Commander and tab characters.
11024         (help_event): Now a click of the right mouse button moves to the
11025         previous node. A left click on the top or bottom frame line moves
11026         one pageful backward or forward.
11028         (interactive_display): The beginning of a line is just after
11029         newline, not just before it. Enlarged the mouse event area. Up and
11030         down arrows behave now like a mixture of old behaviour and the
11031         behaviour of the tab key (a bit like in Lynx). Old behaviour of up
11032         and down arrow is available by pressing C-p and C-n. Comment
11033         reorganization. Added 'n', 'p' and 'c' keys for moving to next,
11034         previous and contents node.
11036         * help.h: Defined codes for switching to the alternate character
11037         set, returning to the normal set and outputting of the version
11038         number. 
11040         * main.c (action.c): In the tree view: now it is able handle
11041         failure of the do_cd call correctly.
11043         (panel_event): When clicking above or below the directory listing
11044         now moves one pageful instead of one lineful.
11046         * mc.menu: Reorganized the comment lines to conform to the new
11047         comment feature. Documented the new comment feature and the new
11048         condition debug feature. Fixed a small bug in the condition
11049         preceding the 'X' entry.
11051         * tree.c: Added a lot of comments. 
11053         (show_tree): In the directory tree the mini-status line shows now
11054         the full name of directory if there is no search string. This is
11055         similar to the behaviour of the tree view feature.
11057         (check_focus): A new function which tries to keep the selected
11058         directory near the middle of the window.
11060         (tree_move_backward, tree_move_forward): Now using the check_focus
11061         function.
11063         (event_callback): Now moves one pageful backward or forward if the
11064         top or bottom frame line is clicked.
11066         (tree): Enlarged the mouse event area.
11068         * user.c: Two static variables debug_flag and debug_error for the
11069         implementation of debug output feature.
11071         (debug_out): A new function which takes care of all debug output
11072         handling.
11074         (test_type, test_condition, test_line): Now support the debug_out
11075         function.
11077         (test_condition): Fixed a small bug in the handling of the '!'
11078         operator.
11080         (user_menu_cmd): Now there can be real comments in the user menu.
11082         * xnc.hlp: Added a nice logo to the [Main] node. Full rewrite of
11083         the [Help] node. The 'General movement keys' link points to the
11084         new manual page which is not ready yet and therefore it is not
11085         working.
11087 Sun Nov  6 20:28:28 1994  Miguel de Icaza  <miguel@sphinx>
11089         * Makefile.in (install): Thanks to Janne who pointed out this
11090         buglet, now we can install the software again.
11092 Sun Nov  6 20:07:12 1994  Radek Doulik <rodo@earn.cvut.cz>
11094         * chmod.c, chmod.h: new files, implement the chmod command on a
11095         nice dialog box. Binded to the C-x c key.  We need to document
11096         this.  BTW, GNU indent -kr -pcs gives the approximate coding style
11097         of the commander.
11099 Sun Nov  6 17:45:59 1994  Miguel de Icaza  <miguel@sphinx>
11101         * main.c (menu_display_cmd, menu_cmd, menu_last_selected_cmd):
11102         Added support for recalling last used menu entry, Torben will be
11103         happy.
11104         (prev_page, next_page): Changed to have the 1.1 behavior again
11105         (when moving, if possible, keep the selection at the same relative
11106         distance from the top_file).
11108 Sat Nov  5 12:59:34 1994  Raadshooven <L.A.RoosvRaadshooven@research.ptt.nl>
11110         * main.c (main): Added support for loading colors from the Command
11111         line. 
11113 Fri Nov  4 14:20:13 1994  Miguel de Icaza  <miguel@sphinx>
11115         * key.c (mi_getch): New default: on ncurses-1.8.6 we need to
11116         untouch the window (stdscr), made the default.
11118         * util.c: 
11120 Fri Nov  4 14:16:08 1994  Janne Kukonlehto  <jtklehto@stekt.oulu.fi>
11122         * main.c (move_down, move_up, move_home, move_end, prev_page,
11123         next_page): Replaced the show_tree calls with paint_panel calls.
11125         (do_search): Now supports the tree view feature (meaning that the
11126         trees can now be searched).
11128         (start_search): Added a call to the display_mini_info function because
11129         it now behaves differently when searching.
11131         (panel_event): Now supports the tree view feature (meaning that the
11132         tree view feature has now mouse support).
11134         (tree_cmd): Now reports an error if one of the panels is in the tree
11135         view mode.
11137         (view_other_cmd): Changed error message to reflect the new name for
11138         the function.
11140         (tree_view_cmd): Only one of the panels can be in the tree view mode.
11141         Initialization of the tree_lines and tree_cols variables is no
11142         longer necessary.
11144         * main.h: Added the declarations of the searching and
11145         search_buffer variables so that the display_mini_info function in
11146         the screen.c file can use them.
11148         * panel.h: Added view_tree to the list of possible views.
11150         * screen.c: Now includes main.h.
11152         (display_mini_info): If the search mode is active the current search
11153         string is shown.
11155         (panel_reload): Now supports the tree view feature (meaning that
11156         ctrl-r works in the tree view mode).
11158         * tree.c: Added the submask field to the tree_entry
11159         structure. Deleted the tree_cols variable as unnecessary. Renamed
11160         the count variable to tree_count and made it global. Added the
11161         search_buffer variable. Made the done variable static instead of
11162         auto.
11164         (free_tree): The initialization of the top, selected, selected_ptr and
11165         tree_count variables is moved here.
11167         (read_tree): Now a global function. Added a call to the free_tree
11168         function to remove a possible old tree data and initialize some
11169         variables. The count/tree_count variable is no longer initialized
11170         here. Added the code for the submask field calculation.
11172         (show_tree): Now uses the submask field to decide whether a sub-branch
11173         is the last sub-branch of its parent-branch and what levels of
11174         parent-branches there are. This method creates the correct tree
11175         figure as long as there are no more than 32 levels of
11176         subdirectories (because of the submask field has only 32
11177         bits). Better support for working as a panel. Small cosmetic
11178         fixes. If working as a dialog now shows the current search string.
11180         (tree_init): The initialization of the top and selected variables
11181         moved away from here.
11183         (tree_event, event_callback): New functions which implement the mouse
11184         support.
11186         (search_tree): A new function which implements the tree search feature.
11188         (tree): The done variable moved away from here. Decreased the value of
11189         tree_lines from 18 to 16 so that there is room for the search box.
11190         The create_dialog call still allocates 18 lines. Added support for
11191         tree search feature. Added mouse support. The additional movement
11192         keys are longer allowed (because they are needed for the search
11193         feature). Changed the handling of the result variable. The 'r' key
11194         no longer rereads the tree (use ctrl-r instead).
11196         * tree.h: Added the declarations of the read_tree, tree_event and
11197         tree_count identifiers. Removed the tree_cols variable.
11199 Fri Nov  4 10:55:43 1994  Miguel de Icaza  <miguel@sphinx>
11201         * widget.c (check_new): Split the dialog manager in dialog manager
11202         and widget implementation functions.
11204         * color.c (init_colors): Major reworking.  Now, we allow to switch
11205         back and forth from color and bw mode.
11207 Fri Nov  4 10:04:19 1994  Raadshooven <L.A.RoosvRaadshooven@research.ptt.nl>
11209         * color.c: Added support to reconfigure colors via the
11210         MC_COLOR_TABLE environment variable.
11212 Fri Nov  4 08:55:37 1994  Miguel de Icaza  (miguel@roxanne)
11214         * file.c (erase_dir): Forced use of 'yes' to recursively delete a
11215         subdirectory. 
11217 Thu Nov  3 18:21:53 1994  Miguel de Icaza  <miguel@sphinx>
11219         * screen.c (display_mini_info): Prints the currently selected
11220         directory. 
11222         * main.c (tree_view_cmd): Little patch to allow 'Cancel' on the
11223         tree. 
11224         (select_item): Extra checking when using select_item
11226 Thu Nov  3 18:03:09 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11228         * Makefile.in: Added tree.c to the SRCS, tree.h to the HDRS and
11229         tree.o to the OBJS. 
11231         * main.c (change_panel, move_down, move_up, move_home, move_end,
11232         prev_page, next_page, action, full_cmd, brief_cmd, info_cmd,
11233         long_cmd, check_menu_panel, copy_other_prog_name,
11234         copy_other_pathname, copy_other_tagged): Changes to support the
11235         tree view feature. 
11237         * (tree_cmd, tree_view_cmd): New functions for the directory tree
11238         and tree view features.
11240         * panel.h: Added view_tree to the enumeration of view types.
11242         * screen.c (display_mini_info, show_dir, paint_panel): Changes to
11243         support the tree view feature
11245         * setup.c (view_types, load_setup): Changes to support the tree
11246         view feature.
11248         * tree.c, tree.h: New files which implement the directory tree and
11249         tree view features.
11251         * user.c (expand_format, test_condition): Changes to support the
11252         tree view feature.
11254 Wed Nov  2 18:32:12 1994  Miguel de Icaza  <miguel@sphinx>
11256         * dlg.c (input_new, input_callback, input_destroy): New widget,
11257         handles input lines when ran under the dialog manager.
11259         * find.c (add_list): Changed gc_free for gc_free_now.
11261         * main.c (move_selection): Initialized adjust.
11262         (do_re_sort): After setting selection, set the top_file field.
11263         Need to make sure I didn't forget any of this in the source code.
11265 Wed Nov  2 16:14:18 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11267         * INSTALL: Changed the wording to reflect current version of
11268         console screen save/restore support.
11270         * README: Changed the wording to reflect the new name and the
11271         xterm mouse support. Small spelling fixes. Fixed the location of
11272         the latest alpha version.
11274         * configure.in: A bug fix in the --with-screen-restore
11275         option. This bug caused 'make install' to fail.
11277         dlg.c, option.c: A name change from MouseLess Commander to
11278         Midnight Commander.
11280         * file.c (copy_file_file): A small bug fix (replaced a
11281         bracket-pair with a parentheses-pair). This bug was detected by
11282         Irix compiler. 
11284         * main.c (handle_console): Corrected race-condition bug by making
11285         the parent to wait until the child gets its job done. Also two
11286         other small bug fixes. 
11288         * main.c (do_search): Now compatible with eight bit mode (again).
11290         * mc.menu: Documented the syntax of the new user menu condition
11291         feature. Added some examples how to use it.
11293         * user.c (extract_arg, test_type, test_condition, test_line): New
11294         functions which implement user menu condition feature.
11295         (user_menu_cmd): Some changes to support the user menu
11296         condition feature.
11298         * util.c (is_printable): A small bug fix (replaced '>' with '>=').
11300         * util.h: Added '#include <sys/types.h>'. Doesn't compile on
11301         Ultrix without this.
11303 Wed Nov  2 15:57:07 1994  Radek Doulik <rodo@earn.cvut.cz>
11305         * option.c: Fixed problem with data type of check_options and
11306         XTRACT macro.
11307         (init_configure): Code cleanup, also destroys properly the new window.
11309         * view.c (do_view): Bug fix: delete the windows when leaving the
11310         module. 
11312 Wed Nov  2 15:20:26 1994  Fred Leeflang <fredl@nebula.ow.org>
11314         * file.c (recursive_erase): Implemented recursive directory delete.
11316 Mon Oct 31 21:42:15 1994  Miguel de Icaza  <miguel@sphinx>
11318         * dlg.h, dlg.c, option.c: Many structural changes to the dialog
11319         manager to allow easy integration of future widgets.
11321 Mon Oct 31 21:32:37 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11323         * view.c (display): Now supports eight bit clean mode.
11325         * input.c (handle_char): Now supports eight bit clean mode.
11327         * main.c (tty_getsize): The tty_defaults function deleted as
11328         unnecessary. 
11329         (handle_console): Small bug fixes and code clean-up.
11330         new variable: eight_bit_clean, to be used in future patches.
11331         (toggle_eight_bit): new function to support the eight bit clean
11332         mode. 
11334         * setup (load_setup): Set the eight bit handling in ncurses.
11336         * screen.c (display_mini_info): If the file is a symbolic link then
11337         destination of the link is shown.
11339         * key.c (mi_getch): Use the new macro ALT() for converting an ALT
11340         value. 
11342         * util.c (is_printable): A new function to detect whether a
11343         character is legal in current mode. In 7-bit mode characters 32 -
11344         126 are legal and in 8-bit mode characters 32 - 126 and 160 - 255
11345         are legal (conforming to the ISO-8859-1 / latin-1 standard).
11347 Sun Oct 30 20:39:58 1994  Alessandro Rubini <rubini@ipvvis.unipv.it>
11349         * gpm-xterm.c: New file, needed to cleanup the code in key.c,
11350         key.c has not been changed yet to take advantage of this yet.
11352 Sun Oct 30 20:38:44 1994  Radek Doulik <rodo@earn.cvut.cz>
11354         * option.c, dlg.c: New files: The new option configuration
11355         routines and the new dialog box manager.  Very nice.
11357 Sun Oct 30 18:21:00 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11359         * main.c (tty_defaults, tty_cursormove, handle_console): New
11360         functions for handling Linux console screen saving and
11361         restoring. Original idea and part of code from Unix Interactive
11362         Tools version 3.2b, file tty.c. NOTE: this code requires that the
11363         user is root or the mc is setuid root (because it is reading the
11364         console screen).  
11366         * main.c (pre_exec, post_exec, view_other_cmd, main):
11367         Modifications to use handle_console for screen saving and
11368         restoring. 
11370         * view.c (display): No longer tries to output DEL characters.
11372         * win.c (check_movement_keys): Added the 'g' and 'G' keys to the
11373         additional keys. They work like they do in 'less'. (This change
11374         requires my previous patch applied).
11376 Sat Oct 29 16:38:20 1994  Miguel de Icaza  <miguel@sphinx>
11378         * main.c (post_exec, execute, view_other_cmd): Change cbreak ()
11379         calls by raw () calls.
11381 Sat Oct 29 15:48:09 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11383         * win.c (check_movement_keys): Added handling of 'g' and 'G' keys
11384         (go top and go bottom keys).
11386 Sat Oct 29 15:31:08 1994  Alessandro Rubini <rubini@ipvvis.UNIPV.IT>
11388         * configure.in: Misc patches.
11390 Fri Oct 28 12:07:01 1994  Miguel de Icaza  <miguel@sphinx>
11392         * main.c (copy_cmd, ren_cmd, link_cmd, mkdir_cmd, delete_cmd): Use
11393         input_expand_dialog.
11395         * dialog.c (input_expand_dialog): New function: this calls
11396         tilde_expand on the information typed by the user.
11398 Fri Oct 28 11:36:15 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11400         * dir.c (handle_dirent): No longer filters links pointing to
11401         directories. This bug was accidentally introduced in alpha-27.
11403         * win.c, win.h (define_label, define_label_quit): Saves the
11404         callback function pointer in the fkey_table_list. 
11405         (push_fkey): The new_fkey function renamed to push_fkey. Now
11406         allocates a new fkey_table_list. 
11407         (pop_fkey): A new function. Deletes the fkey window and
11408         the old fkey_table_list.  
11409         (check_fkeys): A new function. Checks whether a key is a fkey and
11410         has a action defined in the fkey_table_list. 
11411         (check_movement_keys): A new function. Checks whether a 
11412         key is up, down, pgup, pgdn, home or end and calls the correct
11413         function. If the 'additional' flag is true checks also 'less' like
11414         keys 'b', space, 'u' and 'd'.
11416         * help.c (move_forward2, move_backward2, move_forward,
11417         move_backward, null_fn, interactive_display): Now uses the
11418         check_movement_keys function.
11420         * help.c (move_backward2): A small bug fix (replaced '>' with
11421         '>=').
11422         (follow_link): Now mouse can be used for scrolling backward and
11423         forward.  
11425         * main.c (init_labels, do_nc): Now uses the push_fkey, pop_fkey
11426         and check_fkeys functions.
11428         * setup.c (load_setup): Fixed a little memory allocation problem
11429         (the other_dir variable).
11431         * view.c (move_forward2, move_backward2, move_forward,
11432         move_backward, move_to_top, move_to_bottom, init_view, do_view):
11433         Now uses the push_fkey, pop_fkey, check_fkeys and
11434         check_movement_keys functions. 
11436         * view.c (init_view): A small bug fix in the definition of the AIX
11437         meaning of F8 and F9. 
11438         (one_line_up, one_line_down, do_view):  Little fixes in the
11439         support for scrolling text with mouse. 
11440         (load_view_file): Does not attempt to view a directory, a socket or
11441         a fifo.  
11443 Thu Oct 27 14:39:48 1994  Miguel de Icaza  <miguel@sphinx>
11445         * user.c (menu_input_loop): Allow more than 'a' through 'z'
11446         entries in the user menu.
11448         * auto.c (do_exec_mount): Added calls to open_error_pipe and
11449         close_error_pipe, don't close descriptor (2).
11451         * ext.c, file.c, help.c, main.c, user.c, view.c: Changed a lot of
11452         uses to sys_errlist[errno] to unix_error_string (errno).
11454 Thu Oct 27 14:21:30 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11456         * TODO: Now mentions the TERMINFO environment variable. Changed
11457         the location of the line "Use the mv code from GNU's mv". Deleted
11458         the entry about left and right moving the selection in brief mode
11459         (already implemented). 
11461         * dir.c (handle_dirent): New function. (do_load_dir,
11462         do_reload_dir): The common part of the code moved to the
11463         handle_dirent function to avoid code duplication.
11465         * dir.c (handle_dirent, sort_name, sort_ext, sort_time,
11466         sort_size), dir.h:  Links to directories are now sorted as
11467         directories. Links to files continue to be sorted as files. 
11469         * ext.c, file.c, help.c, main.c, user.c, view.c: Changed a lot of
11470         calls to the "message" function to include system error message
11471         sys_errlist[errno]. 
11473         * file.c (move_file): Now uses open_error_pipe/close_error_pipe to
11474         catch the error messages from /bin/mv command.
11476         * main (init_panels): If chdirs to the other_dir, now chdirs also
11477         back. This thing seemed to be accidentally deleted by someone from
11478         the alpha-26. 
11480         * util.c, util.h, view.c: The open_error_pipe, check_error_pipe
11481         and close_error_pipe functions moved from view.c to util.c. The
11482         prototypes now appear in the util.h. Modifications in
11483         close_error_pipe to make it possible to define whether a possible
11484         message in the error pipe should be printed as a warning message
11485         or a error message. 
11487         
11488 Wed Oct 26 17:21:19 1994  Miguel de Icaza  <miguel@sphinx>
11490         * configure.in: Now the gpm library is detected by the autoconf
11491         program.  If the lib is installed in a weird directory, then you
11492         use the --with-gpm-mouse=base-directory.
11494         * Changed the use_gpm constant for HAVE_LIBGPM.
11496         * util.c (copy_strings): new function. This one uses gc_alloc and
11497         returns the concatenation of all it's arguments.  The list must
11498         end with a 0.
11500         * ext.c (regex_command), file.c (move_file), find.c, main.c
11501         (action, view_cmd, ext_cmd, menu_edit_cmd), setup.c
11502         (save_setup, load_setup), view.c (load_view_file): Removed hard
11503         coded limits, use the new function copy_strings.
11505         * gc.c (gc_free_now): New function, frees the pointer at that
11506         point, also increased the number of handles.
11508         * main.c: Typo fix.
11510         * menu.c: allow F-10 to act like ESC.
11512 Wed Oct 26 17:13:15 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11514         * main.c (filter_cmd): Filter was acting on the current panel
11515         instead of the panel selected in the menus.
11516         (action): When executing commands in a panel, prepend a ./ to the
11517         command. 
11519 Wed Oct 26 17:09:59 1994  Alessandro Rubini <rubini@ipvvis.UNIPV.IT>
11521         * key.c (mi_getch): switch cleanup.
11523 Tue Oct 25 12:19:39 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11525         dir.c (do_load_dir, do_reload_dir): Directory "." is no longer
11526         shown in the directory panel. Added support for directory panel
11527         filter.
11529         dir.h: Added a filter parameter to the prototypes of do_load_dir
11530         and do_reload_dir.
11532         panel.h: Added the filter field to the struct Panel.
11534         find.c (select_and_change_panel): Added filter argument to the
11535         call of do_load_dir.
11537         screen.c (brief_frame): The titles of the directory panel in the
11538         brief mode are located correctly even if the width of the screen
11539         is not 80 columns. 
11540         (init_panel): The default filter is "*". 
11541         (panel_reload): Added filter argument to the call of
11542         do_reload_dir. 
11544         main.c (init_panels, do_cd): Added filter argument to the call of
11545         do_load_dir.
11546         (filter_cmd): New function to change the directory panel
11547         filter. 
11548         (swap_cmd): New function to swap the contents of the directory
11549         panels, keyboard shortcut is C-u. Changes in PanelMenu, RightMenu
11550         and CmdMenu to support the filter and swap commands. A name change
11551         of a menu entry: "View other screen(xterm)" -> "Panels
11552         on/off(xterm)". The width of the menu bar now matches the width of
11553         the screen.  
11555         help.c (start_link_area, end_link_area, clear_link_area,
11556         help_event): New functions which implement a mouse support. 
11558         (show, interactive_display): Now using the mouse support. 
11560         help.c (select_prev_link): No longer tries to recover if there is
11561         no previous link. Returns NULL in such cases. (show): If the
11562         selected link would not be visible the first or the last visible
11563         link is selected. 
11564         (interactive_display): Reworked the way the "tab" and "b" keys
11565         work. Now they step through the links on the screen, not the links
11566         on the node. 
11567         (interactive_display): Added support for the "left" and "right"
11568         keys. They work like they do in the Lynx. 
11570 Sun Oct 23 17:21:14 1994  Miguel de Icaza  <miguel@sphinx>
11572         * util.c (tilde_expand): Now, this time, it should work.
11574         * main.c (init_panels): Don't select the information window.
11576         * setup.c (load_setup): Only one of the panels may be in the
11577         information mode.
11579         * main.c: Now you can use C-x i to toggle the information window.
11581 Thu Oct 20 11:47:24 1994  Miguel de Icaza  <miguel@sphinx>
11583         * profile.c (sync_profiles): Made some function static.  Added
11584         prototypes to profile.h file.
11586         * profile.h: new file, prototypes to profile.c.  Added #include to
11587         the files that used the functions.
11589         * main.c (switch_to_info): New function: switches to information
11590         mode, and added the info option to the menus.
11592         * screen.c (paint_panel): Can paint normal panels and information
11593         panels.
11595         * util.c (tilde_expand): Hopefully, now the tilde expansion is fixed.
11597         * ncurses.h: Added detection for buggy ncurses when running on SGI
11598         machines with GNU CC.
11600 Tue Oct 18 12:23:06 1994  Miguel de Icaza  <miguel@sphinx>
11602         * configure.in: Actually do something when GCC is detected.  Copy
11603         the GNUmakefile from the source directory to the compilation
11604         directory. 
11606         * GNUmakefile: New file.  Used to include the dependencies.
11607         Developers should use GNU make, the rest of the people is ok with
11608         a standard make.
11610         * main.c (move_selection, move_left, move_right): When in Brief
11611         mode, the program now is able to move the selection to the left
11612         and right.  Only the keybindings KEY_LEFT and KEY_RIGHT use this
11613         option, the C-b and C-f still call the default_key handling
11614         mechanism.
11616 Tue Oct 18 10:32:22 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11618         * key.c (mi_getch): Solaris fix: if key received is kf0, convert
11619         that to kf10.
11620         
11621         * xterm.ti: fixed the op capability to the correct value and
11622         changed the definition from kf0 to kf10. 
11624 Mon Oct 17 18:41:33 1994  Miguel de Icaza  <miguel@sphinx>
11626         * util.c (tilde_expand): Finally, I fixed the tilde expansion, it
11627         was not that hard to fix.
11629         * user.c (execute_menu_command): Use strchr instead of
11630         search_string, this fixes a little bug introduced by the need of
11631         fmt before. 
11633         * xterm.ti, vt100.ti: new terminfo databases for vt100 and xterm.
11635 Mon Oct 17 17:44:11 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11637         * xterm-color: new file. NCurses terminfo database for color
11638         xterms.
11640         * man2hlp.c: new file. replaces man2hlp.pl (and the use of fmt).
11642         * main.c (view_other_cmd): Now displays an error box if curses
11643         does not support the alternate screen.
11645         * help.c: Now uses help.h. The constant definitions moved to
11646         help.h. Now uses the constants (why to define constants if they
11647         are not used?).
11649         * help.h: New file. Defines constants for help.c and man2hlp.c.
11651         * gindex.pl: Removed the ctrl-d workaround. Not needed because fmt
11652         is no longer used. Removed the main node from contents (it was
11653         added to contents by removal of ctrl-d workaround). Other new
11654         nodes in the contents (About, License and Help) left visible.
11656         * color.h, dialog.c (create_dialog), screen.c (show_dir): Color
11657         selection bug fixes. The code was assuming that the default color
11658         is white on black.  On color xterm it is black on white.
11660         * Makefile.in (ync.hlp): Uses man2hlp (compiled version of the
11661         man2hlp.c) instead of man2hlp.pl and fmt. Rebuilding the mc.hlp
11662         file works now on all machines, not just on Linux.
11664         * Makefile.in (DISTFILES): Replaced the man2hlp.pl file with
11665         man2hlp.c. Removed the second occurrence of xnc.hlp.
11667 Fri Oct 14 17:52:46 1994  Miguel de Icaza  <miguel@sphinx>
11669         * screen.c (panel_reload): If you can't chdir to a directory, load
11670         a dummy.
11672 Fri Oct 14 16:23:41 1994  Massimo Fontanelli <MC8737@mclink.it>
11674         * find.c (find_dialog): You can't stop if lines is equal to
11675         zero. This fixes one of the problems in the find file program.
11677  Fri Oct 14 13:53:16 1994  Miguel de Icaza  <miguel@sphinx>
11679         * util.c (regexp_match): Fixed small typo when HAVE_LIBGEN_H is
11680         defined. 
11682         * configure.in: Misc cleanup in the configuration process.
11683         Solaris should use the -lgen library to have regular expression
11684         support. 
11686 Fri Oct 14 13:32:02 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11688         * main.c (execute): The execute function didn't change the line
11689         after prompting which caused the output of next external command
11690         to start from the middle of line. The view_other_cmd function
11691         didn't flush the output after putp(enter_ca_mode) which made it
11692         look like two keypresses are needed to return to the mc screen.
11694         * key.c (mi_getch): I finally managed to nail down that gpm bug I
11695         have been complaining about.  The mi_getch function was reading
11696         gpm mouse even when shut_mouse had been called. It was a real hard
11697         one.  The existence of the mouse is now told by three
11698         variables. The use_mouse_p variable tells the type of mouse and
11699         the gpm_flag and xmouse_flag variables tell whether the mouse is
11700         currently active (init_mouse called) or not (shut_mouse
11701         called). Previously I was attempting to get along with only
11702         use_mouse_p.
11704 Fri Oct 14 10:58:34 1994  Miguel de Icaza  <miguel@sphinx>
11706         * help.c (select_prev_link, select_next_link): Bug fixes.
11707         (search_string_node): Don't return main if can't find a node.
11709         * view.c (regexp_searc, normal_search): Now, it should not do
11710         empty searches.
11711         (do_view):  Now, you can continue a search with the 'n' or C-s
11712         command. 
11714 Thu Oct 13 16:25:39 1994  Massimo Fontanelli <MC8737@mclink.it>
11716         * view.c (do_view): When running under AIX, keys F8 and F9 take
11717         you to the beginning and bottom.
11719 Thu Oct 13 12:26:23 1994  Miguel de Icaza  <miguel@sphinx>
11721         * help.c (interactive_display): If there are no next or previous
11722         links when that command is issued, don't go to the main node.
11724 Thu Oct 13 11:34:06 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11726         * dialog.h: removes the warning which comes during compilation.
11728         * help.c (search_string, move_backward, show,
11729         interactive_display): Two fixes for the bugs uncovered by the
11730         addition of '.\"LINK"' command: a newline in the link name bug fix
11731         and a multi-line spanning link background colour flash bug
11732         fix. Other changes: a backward scroll bug fix, a dialog name
11733         change from "Main" to "Help", a next-page bug fix and F1 now shows
11734         the help for the help viewer.
11736         * view.c (do_view): Backspace and delete now scroll a screenful
11737         backwards like they do in the internal help. 
11739         * Makefile.in: Added INSTALL.FAST to the DISTFILES.
11741         * xnc.hlp: Improved the documentation for the help viewer.
11743         * gindex.pl: The index is no longer sorted. Looks a bit better
11744         now. I think that the name "Contents" would be better than the
11745         current "Index".
11747         * mc.1, mc.hlp: A name change in header: nc -> mc. Description and
11748         Options moved out of the index to their own section. A lot of
11749         links added. Bug fixes and spelling corrections. The awfully long
11750         Keys section divided to five sections (Keys, Action Keys,
11751         Selection Keys, Command Line Keys and Input Line Keys). The
11752         existence of the menus documented (section Menu Bar).
11753         Miscellaneous additions.
11755         * man2hlp.pl: Added support for '.\"LINK"' command. Better support
11756         for roff commands ".nf" and ".fi".
11758         * NEWS: Spelling corrections.
11760         * INSTALL.FAST: The INSTALL file seems to be a bit long. I wrote a
11761         shorter version which only mentions the essential. It is still
11762         longer than one screenful but I think it is a step to the right
11763         direction. 
11765         * ChangeLog: Spelling corrections.
11767 Wed Oct 12 18:43:19 1994  Miguel de Icaza  <miguel@sphinx>
11769         * view.c (search), find.c (add_list), main.c (unselect_cmd,
11770         select_cmd): Use the new regexp_match argument
11772         * util.c (regexp_match): If matching files, and easy patterns are
11773         enabled, then add '^' at the beginning of the regular expression
11774         and a '$' at the end.
11776         * Added some missing includes to many files (malloc.h, unistd.h)
11778         * view.c (move_forward): Fixed bug in the internal viewer.
11779         Changed line == lines for line >= lines, since line could have
11780         been incremented twice: one caused by the wrapping and one because
11781         of the newline.
11782         (do_view): Added back scrolling with the DEL key.
11784 Tue Oct 11 11:12:53 1994  Miguel de Icaza  <miguel@sphinx>
11786         * find.c (find_dialog): Now, before returning, it properly
11787         destroys the dialog.
11789         * view.c (view): Call push_refresh only after the WINDOW * have
11790         been setup, and pop the refresh function only if the viewer did
11791         successfully run.
11793         * find.c (do_find), user.c: Use do_refresh instead of
11794         refresh_screen
11796         * dialog.c (push_refresh, pop_refresh, do_refresh): new screen
11797         refresh handler.
11799         * view.c (view): Use the new display refresh handler.
11801         * help.c (interactive_display): Now you can specify the node to be
11802         looked up.
11804         * main.c (version): Shows information about how was the program
11805         compiled. 
11807 Tue Oct 11 11:12:33 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11809         * key.c (mi_getch): This patch makes function keys work under
11810         Irix. It may also help on other machines which have incorrect
11811         termcap. However, it doesn't make F10 work under Solaris.
11813         * view.c: Some reorganization in view.c to support my forth-coming
11814         version of the buffering. It now uses longs instead of char
11815         pointers. "*from" has been replaced with "get_byte(from)". I
11816         submit these changes now so that others won't make incompatible
11817         changes before I get the buffering ready.
11819         Changed some stupid abbreviations to the long form: errpipe ->
11820         error_pipe, open_errpipe -> open_error_pipe, close_errpipe ->
11821         close_error_pipe, olderr -> old_error.
11823         Modifications in open_error_pipe and close_error_pipe and addition
11824         of check_error_pipe to support my forth-coming version of the
11825         buffering. 
11827         Moved the wrap toggle from F5 to the correct place F2. Disabled
11828         the AIX meanings of F1 and F2.  
11830         regexp_search() disabled in the hex mode (previously only the fkey
11831         label was removed).  Replaced the RxSearch hotkey F8 with F6 (the
11832         fkey labels already mentioned F6 as the hotkey).
11834         (help_cmd): Added a help command to the internal viewer. BUGS:
11835         doesn't open the help file from the correct place (is not context
11836         sensitive), flashes the main screen when exiting from the help.
11838         (move_forward): A bug fix in move_forward(). Now it correctly
11839         scrolls forward when in wrap mode.
11841         * mc.1: (Internal file viewer): Documented the active keys inside
11842         the internal file viewer.
11844         * main.c (view_other_cmd): Because view_other_cmd() now works only
11845         in xterm I removed libgpm bug workaround (perhaps I should get a
11846         bugless version of libgpm, I am having too many segmentation
11847         faults when using mc on the console). 
11849         (check_for_default): When editing the extension file or the menu
11850         file if the file doesn't exist the default file is copied for editing.
11852         (ext_cmd, menu_edit_cmd): Uses check_for_default.
11854         (version): A little change in version string informing about xterm
11855         mouse support.
11857 Mon Oct 10 21:10:46 1994  Miguel de Icaza  <miguel@sphinx>
11859         * key.c (mi_getch): Buggy SystemV curses now should be able to
11860         detect ESC+anything extra key sequences.
11862         * help.c: When going back in the history, it sets the selected
11863         link to the one that was followed.
11864         (select_prev_link): Now it's possible to go back in the hypertext
11865         viewer with the 'b' key.
11867         * configure.in: Added --with-old-tools configuration option.
11869 Sat Oct  8 12:45:22 1994  Miguel de Icaza  <miguel@sphinx>
11871         * view.c (display): The viewer now can wrap text.  It's still
11872         missing movement by lines that correctly deals with wrapped text.
11873         (move_forward): Moves ok when wrap mode is on.
11874         (move_backward): Moves ok when wrap mode is on.
11876 Fri Oct  7 19:58:42 1994  Miguel de Icaza  <miguel@sphinx>
11878         * menu.c (run_bar): Always repaint menu bar.
11880 Thu Oct  6 09:48:18 1994  Miguel de Icaza  <miguel@sphinx>
11882         * profile.c (load): Changed char c for int c.  That caused AIX and
11883         SGI machines to freeze when loading the profile.
11885         * setup.c: Added accidentally deleted entry for default_list_perm
11886         option. 
11888 Thu Oct  6 09:47:42 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11890         * menu.c (run_bar): Fixed wrong type cast for IRIX. 
11892         * auto.c: fixed typo.
11894 Wed Oct  5 11:37:38 1994  Miguel de Icaza  <miguel@sphinx>
11896         * key.c (mi_getch): Fixed small typo: use_mouse_p == XTERM_MOUSE
11898         * menu.c (top_menu_handle): Fixed the problems with the mouse.  No
11899         more flashing menus, and correctly select entries in the
11900         query_boxes.
11901         (run_bar): Added a missing line.
11903         * main.c (main): Removed the \ec hack before entering do_nc, it
11904         was a hack to a badly written termcap entry for the Linux console
11905         in my machine.
11907 Wed Oct  5 10:44:30 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11909         * zip.c (is_gunzipable): Clean up the code.
11911         * view.c (open_err_pipe, close_err_pipe): These functions are used
11912         for creating a pipe for capturing gzip error messages. If gzip
11913         encounters a error, the error message is now shown in a nice
11914         message box. Lot cleaner than the previous solution.
11915         (view): More fixes to gzip viewer.
11917         * main.c (view_other_cmd): The 'View other screen (xterm)' feature
11918         now shows an error box if current terminal is not xterm. It still
11919         doesn't work on Solaris xterm without real ncurses (well,
11920         documentation encourages people to use real ncurses, so it is not
11921         a bug, it is a feature).
11923 Tue Oct  4 11:37:06 1994  Miguel de Icaza  <miguel@sphinx>
11925         * configure.in (LIBS): Little fix: if ncurses is in /usr/include
11926         then add -lncurses.
11928         * menu.c (top_menu_handle): Fixed bug that prevented current
11929         selection on dialog boxes to be selected in bars.
11931         * key.c (xmouse_get_event): Added double click support under
11932         xterms (double_click_speed loaded in setup.c).
11934 Tue Oct  4 10:25:55 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11936         * zip.c (is_gunzipable): The code can now figure out the size of
11937         pkzipped file.
11939         If the file to viewed has PACK_MAGIC, LZH_MAGIC or compress magic
11940         the code guesses that the uncompressed size is four times the
11941         compressed size. If the uncompressed size is later found to be
11942         smaller extra memory is freed with realloc.
11944         * configure.in: When specifying --with-ncurses flag, add the
11945         -lncurses library option.  Added a missing fi to the script.
11947         * view.c (search): If search string is not found, inform the user.
11948         (load_view_file): Gzip support was showing uncompressed data only
11949         worth the compressed size of the file. I fixed it and did two
11950         other minor adjustments to the gzip support. I hope it will work
11951         correctly now.
11953 Mon Oct  3 17:21:46 1994  Miguel de Icaza  <miguel@sphinx>
11955         * main.c (do_cd): trim directory to cd.
11956         (do_cd): Use the new wonderful micro-garbage collector.  This
11957         should help to clean up the code in the future.  I promise to
11958         change the actual code with the time to use the garbage collector.
11959         (do_cd): New: tilde expansion on cd.
11961 Mon Oct  3 09:30:59 1994  Miguel de Icaza  (miguel@roxanne)
11963         * main.c (main): Friendly hack.
11965         * To configure the gpm mouse server, you need to specify
11966         --with-console-mouse.  Since now it always come with mouse support
11967         (since you may be running in an xterm, again, all that was made by
11968         Janne). 
11970         * mouse.c,main.c: changed use_mouse for use_gpm
11972 Mon Oct  3 09:23:04 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
11974         * win.c (define_label, define_label_quit): Now works on xterms.
11976         * menu.c: Removed ifdefs around use_mouse, now on xterms it works. 
11978         * mouse.h: Modifications to use mouse on xterms without having the
11979         gpm package installed.
11981         * main.c: use_mouse_p now holds the type of mouse handling that is
11982         done.
11983         (main): Detect xterm and cleanup the constants.
11985         * key.c (init_key): Changes for using mouse in xterms.
11986         (xmouse_get_event): New function to handle xterminals mouse
11987         events. 
11988         (mi_getch): Parse xterm escape sequences.
11990         * view.c (load_view_file): Now it doesn't discard the first byte
11991         of the uncompressed file. 
11992         * view.c: clean up.
11994         * mouse.c: Include fcntl.h instead of sys/fcntl.h
11995         (init_mouse): new code for xterm mouse handling.
11996         (shut_mouse): new code for xterm mouse handling.
11998 Sun Oct  2 18:52:05 1994  Miguel de Icaza  <miguel@sphinx>
12000         * setup.c (save_setup,load_setup): Cleaned up setup loading/saving.
12002         * zip.c (is_gunzipable): new function: determines if a file is
12003         prone to be gunziped.
12005         * view.c (hex_search): Added hex-search.
12006         (load_view_file): Now it's possible to display gziped files in the
12007         internal viewer.
12009         * dialog.c (run_dialog): Fixed bug: call (*refresh_fn)() instead
12010         of refresh_screen.  Should do it a stack of refresh functions.  To
12011         be fixed
12013 Sun Oct  2 13:46:45 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
12015         * main.c (view_other_cmd): Added code to view command output on
12016         xterms.  C-o is binded to this command.
12018 Fri Sep 30 18:52:53 1994  Miguel de Icaza  <miguel@sphinx>
12020         * view.c (toggle_hex_mode): Disable regular expression searching
12021         when given an hex pattern.
12023 Fri Sep 30 16:32:18 1994  Massimo Fontanelli <MC8737@mclink.it>
12025         * configure.in: when compiling in AIX, use -D_BSD
12027         * main.c (mkdir_cmd): Spelling correction.
12029         * view.c (view): Corrected: use variable version of max_dirt_limit
12030         instead of constant.
12032 Fri Sep 30 11:33:36 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
12034         * view.c (view): On systems with no mmap or with buggy mmap
12035         support, load the entire file into RAM and display it.
12037 Wed Sep 28 20:07:30 1994  Miguel de Icaza  <miguel@sphinx>
12039         * win.c (set_label_text): used for changing the values of the
12040         labels.
12042 Wed Sep 28 20:06:41 1994  Massimo Fontanelli <MC8737@mclink.it>
12044         * view.c (toggle_hex_mode): switch between Hex and Ascii labels
12046 Tue Sep 27 10:47:10 1994  Janne Kukonlehto <jtklehto@stekt.oulu.fi>
12048         * view.c (view, one_line_up, one_line_down): scrolling speed
12049         enhancements.
12051         * view.c (display, toggle_hex_mode, move_forward, move_backward,
12052         view): Added hex mode display of files.
12054 Fri Sep 23 13:29:54 1994  Miguel de Icaza  <miguel@sphinx>
12056         * main.c (mkdir_cmd): Fixed a little bug that didn't repaint
12057         correctly the screen in some conditions, the fix is to pass the
12058         name of the file to select to update_panels.
12060 Mon Sep 19 12:12:03 1994  Miguel de Icaza  (miguel@sphinx)
12062         * To show dates instead of permission, you need to manually add to
12063         the .mc.ini file the default_list_perm = 0 setting.
12065         * screen.c (repaint_file): More temporary support to show dates
12066         instead of permission.
12068         * setup.c (load_setup): Save the name of the profile in the global
12069         pointer profile_name.
12071         * main.c (umount_this_dir): Added C-x m and C-x u to manually
12072         mount and umount directories. C-x a Toggles auto_mount flag.
12074 Sat Sep 17 15:50:42 1994  Miguel de Icaza  (miguel@sphinx)
12076         * auto.c (try_auto_mount): New routines for
12077         auto-mounting/umounting directories.
12079         * main.c (do_cd): Changes to allow auto_mounting.
12081         * setup.c (load_setup): Changes to allow auto-mounting
12083         * configure.in: We don't use the config.h.in file anymore, only
12084         use the in the command line parameters.
12086 Fri Sep 16 17:38:18 1994  Miguel de Icaza  (miguel@sphinx)
12088         * ALPHA-2-0.15
12090         * configure.in: AC_AIX added
12092         * Replaced '\e' for ESC_CHAR, to allow compilation under AIX.
12094 Wed Sep 14 16:21:51 1994  Miguel de Icaza  (miguel@roxanne)
12096         * ALPHA-0.15
12098         * Changes in many files to support GNU autoconf
12100 Thu Sep  8 12:50:34 1994  Herman Horsten (horsten@wins.uia.ac.be)
12102         * Version 0.14
12104         * view.c (view): Don't display empty files.
12106 Wed Sep  7 19:08:31 1994  Miguel de Icaza  (miguel@sphinx)
12108         * main.c: Added Some extra C-x hot keys. The Alt-A Alt-a solution
12109         to copying paths was very complex to remember. 
12110         (copy_tagged): C-x s, copies the tagged files or the selected
12111         file to the command line.
12113 Tue Sep  6 15:58:49 1994  Miguel de Icaza  (miguel@sphinx)
12115         * util.c (unix_error_string): New unix_error_string function,
12116         stolen from a posting of Roland McGrath in the mach4 mailing list
12117         :-)
12119 Mon Sep  5 19:03:13 1994  Miguel de Icaza  (miguel@sphinx)
12121         * dir.h,dir.c,main.c,screen.c: Changes to allow unlimited
12122         directory size handling.
12124 Tue Aug 30 14:22:04 1994  Miguel de Icaza  (miguel@sphinx)
12126         * Release 0.13
12128         * main.c (ren_cmd): Changed the update_panels call, before it was
12129         called with (UP_OPTIMIZE, 0, 0), now it's with UP_KEEPSEL to let
12130         the bar stay near the original file was standing.
12131         (menu_edit_cmd): Added menu file edit to the program.
12133         * dir.c (do_load_dir): If there is no way to load a directory,
12134         load a dummy directory.
12136         * main.c: Added keybinding C-r to reread_cmd.
12137         (do_re_sort): Now when resorting a panel, the selected file is
12138         kept selected.
12140 Mon Aug 29 18:13:42 1994  Miguel de Icaza  (miguel@sphinx)
12142         * input.c (forward_word): Changed use of isalpha for isalnum in
12143         order to skip over numbers. 
12145         * main.c (delete_cmd): Check that the result from query_dialog is
12146         not escape (-1), since this deleted files when users pressed
12147         esc. Oops.
12149 Mon Aug 29 16:36:27 1994  Jean-Daniel Luiset (luiset@cih.hcuge.ch)
12151         * view.c (one_line_up,move_backward): Fix the backward scrolling.
12153         * view.c (view_status): Change the way the computation of the
12154         percentage to follow the Norton commander's (% from the beginning,
12155         start = 0).
12157         * view.c (view): Add KEY_HOME and KEY_END.
12159 Thu Aug 18 15:34:18 1994  Miguel de Icaza  (miguel@sphinx)
12161         * main.c (main): At setup, don't use the opanel and cpanel macros,
12162         they don't point to valid data yet (until init_panels is called).
12164 Thu Aug 18 12:55:12 1994  Miguel de Icaza  (miguel@roxanne)
12166         * Release 0.12
12168 Wed Aug 17 19:39:12 1994  Miguel de Icaza  (miguel@sphinx)
12170         * dir.c(do_reload_dir): Added missing call to closedir, in the
12171         Sparc it ran out of file handles.
12173 Mon Aug 15 13:54:34 1994  Miguel de Icaza  (miguel@sphinx)
12175         * key.c (mi_getch): When compiling under SVR4, untouchwin stdscr.
12177         * main.c (ren_cmd): Bug fix: when file were selected, it only
12178         searched from files [0..cpanel->marked] instead of
12179         [0..cpanel->count].
12181 Thu Aug 11 18:19:08 1994  Miguel de Icaza  (miguel@sphinx)
12183         * dir.c (d_namelen): Define to allow compilation under IRIX and
12184         Solaris 2. Thanks to Matthias Hammer
12185         hammer@kirk.fmr.maschinenbau.th-darmstadt.de for his comments.
12187 Wed Aug 10 12:42:57 1994  Miguel de Icaza  (miguel@sphinx)
12189         * Release 0.11
12191         * main.c: Changed hot-key for history.
12192         (do_cd): support cd -.
12194         * Makefile (dist): Moved mc.hlp dependency from install to dist.
12196         * main.c (goto_bottom_file, goto_top_file, goto_middle_file),
12197         functions to quickly select a file.
12198         (main): Now correctly chdirs to the first directory specified in
12199         the command line.
12201         * util.c (trim): Now, it correctly trims the directory names.
12203         * main.c (ok_to_copy): Fixed a very ugly bug in ok_to_copy. I was
12204         freeing the wrong pointer.
12206 Tue Aug  9 14:23:51 1994  Miguel de Icaza  (miguel@sphinx)
12208         * menu.c (get_motion): Allow the first character in a query to
12209         select the option.
12211         * setup.c (save_setup): Now, instead of setting the defaults in
12212         setup.c, use the values provided by the definition of the
12213         variables. 
12215         * key.c (mi_getch): Fixed the mouse event auto repeat timeout
12216         problem. 
12218         * menu.c (run_menu): Corrected bug that prevented option letters
12219         from being used for selection in the menus.
12221 Tue Aug  9 13:39:35 1994  Torben Fjerdingstad <tfj@olivia.ping.dk>
12223         * main.c (copy_cmd): use copy_file_file when copying to a file and
12224         not copy_file_dir.
12225         * main.c (main): Added missing "c" to getopt option.
12226         * main.c (execute): Added call to cbreak () to allow "any key to
12227         continue, and not just break".
12229 Mon Aug  1 14:13:07 1994  Miguel de Icaza  (miguel@sphinx)
12231         * Release 0.9
12233         * menu.c (send_yes_event): Send an enter when the right mouse
12234         button is pressed on menu_bars.
12236         * main.c (panel_event): Added inline mark_if_marking to allow
12237         marking when dragging the mouse.
12238         (mkdir_cmd): changed update_panels (..., UP_KEEPSEL...) for not
12239         trying to keep the selection. This fixed a bug when creating a
12240         subdirectory. 
12242         * screen.c (repaint_file): Added call to wrefresh to fix the bug
12243         in b&w mode.
12245 Fri Jul 29 12:03:23 1994  Miguel de Icaza  (miguel@sphinx)
12247         * mouse.c: (mouse_handler): Redraw correctly the mouse pointer. 
12249         * mc.1: Updates to the documentation.
12251         * main.c (action): If trying to execute a symlink, check that the
12252         file it points to is an executable.
12253         (main): Added option to negate Force Black and White.
12255         * dir.c (if_link_is_exe): New function, used to check if a symlink
12256         points to an executable.
12258         * screen.c (repaint_file): Instead of showing ctime, display
12259         mtime. Fix by Torben Fjerdingstad <tfj@olivia.ping.dk>.
12261 Thu Jul 28 17:13:07 1994  Miguel de Icaza  (miguel@sphinx)
12263         * file.c (copy_file_file): Added verbose operation for file
12264         copying.
12266         * main.c (do_nc): If connection baud rate is too slow, verbose
12267         mode is turned off.
12269         * file.c (copy_file_file): Add verbose messages when copying a
12270         file. 
12272         * main.c (main): Bug fix when specifying directories in the command
12273         line. 
12274         (delete_cmd): Fixed a bug in the newly introduced confirm delete.
12276         * file.c: New builtin copy command, taken from GNU's cp.
12278         * main.c (do_cd): If we cant open the specified directory
12279         (copy_cmd): Added confirmation when overwriting files.
12281         * dir.c (do_load_dir): Avoid segmentation fault if we can cd into
12282         a directory, but don't have read access.
12284 Wed Jul 27 17:07:58 1994  Miguel de Icaza  (miguel@sphinx)
12286         * main.c (pre_exec): Call shut_mouse before running a child
12287         process. This is to avoid getting unhandled events. Thanks to
12288         Alessandro Rubini.
12289         (post_exec): Call init_mouse after return.
12291         * Various changes to rename the MouseLess Commander from 'nc' to 'mc'.
12293         * mouse.c (mouse_handler): Removed the mouse cursor display, let
12294         the server do the work. 
12295         (init_mouse): Let the server handle GPM_MOVE|GPM_HARD. 
12296         use that in defaultMask. Enhancement by Alessandro Rubini
12297         (rubini@ipvvis.UNIPV.IT).
12299 Tue Jul 26 14:37:35 1994  Miguel de Icaza  (miguel@sphinx)
12301         * dialog.c (create_dialog): When creating a dialog, a new frame is
12302         pushed with the coordinates of the dialog.
12303         (destroy_dialog): Call pop_frame.
12305         * mouse.c (push_frame): Remember active mouse_events pointer.
12306         (pop_frame): Pop mouse_events until previous state is restored.
12308         * menu.c (run_bar): Now uses the frames to enter/leave subroutines.
12310         * view.c (view): Now uses the frames to enter/leave subroutines.
12312         * input.c (handle_char): Don't allow characters > 127 to be
12313         inserted in input lines.
12315         * help.c (interactive_display): When selecting a target outside
12316         the view windows, start the display at the point where the link
12317         was found.
12319         * menu.c (run_menu): Menu entry lengths are not limited to 20
12320         characters any more.
12321         (run_menu): Code cleanup and added mouse support.
12323         * user.c (menu_input_loop): Now uses my_getch.
12325 Mon Jul 25 16:14:49 1994  Miguel de Icaza  (miguel@sphinx)
12327         * main.c (delete_cmd): Added delete confirmation.
12329         * view.c (init_view): Added null_event handling.
12330         (search): Source code reorganization for mouse handling.
12332         * user.c, help.c: Display error message if unable to open file.
12334         * util.c (load_file): If there is a problem stat()ing or open()ing
12335         the file, return 0 and don't show any message.
12337         * main.c (action): Split enter () in enter () and action (). The
12338         later is to be called by the mouse handler.
12339         (panel_event): Added double click managing.
12340         (main): Added nice usage message
12342         * dialog.c (destroy_dialog): Changed name (was: done_dialog),
12343         null_event handling.
12345 Fri Jul 22 18:58:21 1994  Miguel de Icaza  (miguel@sphinx)
12347         * screen.c (display_mini_info): The mini info now shows the number
12348         in pretty format.
12350         * util.c (size_trunc_sep): Nice formating of numbers.
12352         * main.c (init_panels): Added events for the panels.
12353         (panel_event): Added function that handles mouse events.
12355         * key.c (mi_getch): Various changes to support the mouse. 
12357 Thu Jul 21 13:20:41 1994  Miguel de Icaza  (miguel@sphinx)
12359         * main.c (move_up, move_down): Call select_item always, as
12360         cpanel->selected must be properly set.
12361         (reverse_cmd): Now, it's possible to sort the file in inverse order.
12363 Tue Jul 19 15:03:29 1994  Miguel de Icaza  (miguel@sphinx)
12365         * main.c (long_cmd): Bug fixes to disable activating a panel that
12366         is disabled.
12368         * setup.c (options_load): Now per panel options are saved.
12370         * util.c (name_trunc): Added new truncate option. Now we use a ~
12371         in the middle of the name instead of a > at the end of the
12372         truncated name.
12374         * input.c (create_input): More Input line changes.
12376         * find.c (input_find): Adjustments to create_input.
12378 Mon Jul 18 17:02:46 1994  Miguel de Icaza  (miguel@sphinx)
12380         * dialog.c (my_wputs): Workaround ncurses wclreol when printing
12381         \n. Better visual effect.
12383         * screen.c (display_mini_info): When displaying the brief format,
12384         show in the mini info the details of the directory.
12386 Fri Jul 15 12:23:46 1994  Miguel de Icaza  (miguel@sphinx)
12388         * win.c (define_label): Added callback support.
12390         * main.c (init_labels): Added callbacks for mouse operations.
12392         * input.c: More code reorganization; new Alt-D and Alt-Backspace
12393         key handling.
12395 Thu Jul 14 19:37:18 1994  Miguel de Icaza  (miguel@sphinx)
12397         * main.c (toggle_fast_reload): Show the warning message when
12398         activating for the first time the Fast directory reload.
12400 Wed Jul 13 11:51:51 1994  Miguel de Icaza  (miguel@sphinx)
12402         * util.c (init_uid_gid_cache): New cache for get_group and
12403         get_name. This should speed up the Long directory listing.
12405         * input.c (delete_char): New function. Patch from Ralf G. R. Bergs
12406         <rabe@advw2.GM.FH-Koeln.DE>.
12407         (backward_word): Skip correctly over punctuation characters.
12409 Mon Jul 11 14:36:15 1994  Miguel de Icaza  (miguel@sphinx)
12411         * input.c: New command history in all input lines.
12413         * view.c (view_status): Display 100 percent with files with 0
12414         bytes size.
12416         * screen.c (repaint_file): Small cosmetic change that paints
12417         >UP--DIR< when the directory is "..".
12419         * input.c (handle_char): Use a keymap instead of the old switch in
12420         the input mechanism.
12421         (kill_save): Updated kill/yank mechanism.
12423         * main.c (start_search): Now it's again possible to search
12424         incrementally for a file name.
12425         (do_search): Now can go back in the search string.
12427 Wed Jul  6 14:43:12 1994  Miguel de Icaza  (miguel@sphinx)
12429         * help.c (interactive_display): Added entries for page-up,
12430         page-down. 
12432         * main.c (mkdir_cmd): Added missing call to select_item to
12433         reselect the just created directory.
12435 Mon Jul  4 12:52:34 1994  Miguel de Icaza  (miguel@sphinx)
12437         * Release 0.8
12439         * help.c: Changed node separator from '%' to ^D (octal 004).
12440         (interactive_display): When pressing enter on a node without
12441         links, go back to the previous link.
12443         * util.c (regexp_match): Removed buggy optimization for detecting
12444         same if the same pattern was being applied.
12446         * main.c (try_to_select): Added call to display_mini_info. 
12447         try_to_select may be called when the file does not exist anymore.
12449         * find.c (select_and_change_panel): When changing directories,
12450         reset the total byte count (cpanel->total).
12452         * main.c (do_cd): When changing directories, reset the total byte
12453         count (cpanel->total).
12455         * help.c (search_string_node): If start is 0, return the main node.
12457         * man2hlp.pl, gindex.pl: New programs to convert the man page to
12458         the help file format.
12460 Thu Jun 30 14:25:34 1994  Miguel de Icaza  (miguel@roxanne)
12462         * Changes all over the place to remove warnings from -Wall
12463         -Wno-implicit.
12465 Wed Jun 29 15:32:06 1994  Miguel de Icaza  (miguel@sphinx)
12467         * input.c (handle_char): Input lines now support M-b, M-f for word
12468         by word movement.
12470         * main.c (default_key, do_nc): Now file name searches are started with
12471         the Alt-S keysequence. Code cleanup.
12473         * input.h (ALT): New Macro for alt-keys
12475         * input.c (create_input, insert_char, update_input): All input
12476         lines are malloced. They realloc as needed, they scroll as needed.
12478         * find.c (input_find): Keep in sync with new Input line management.
12480         * main.c (ren_cmd, copy_cmd, mkdir_cmd, select_cmd, unselect_cmd):
12481         Fixed small bug. Keep in sync with the new Input line management.
12483         * dialog.c (input_dialog): Keep in sync with new Input line
12484         management.
12486         * main.c (do_nc): Use COLS-strlen(prompt) instead of COLS-2-...
12488         * input.c (create_input): Code cleanup.
12490         * main.c (main): The unknown option is already handled by getopt,
12491         just exit(1).
12493         * key.c (mi_getch): Bug fix: Added option to recognize ESC-Tab.
12495 Mon Jun 27 13:01:03 1994  Miguel de Icaza  (miguel@sphinx)
12497         * Release 0.7
12499         * screen.c (Xtry_to_select): New: now tries to select a file near
12500         the deleted file. The old behavior was really painful.
12502         * main.c (toggle_fast_reload): Added configuration option to use
12503         fast directory reload.
12504         (main): Abort execution if unknown option passed to the program.
12505         (execute): Replaced repaint_screen for refresh_screen. 
12506         (select_item): New macro to select a file without repainting the
12507         screen. 
12508         (try_to_select): Select without repainting the selection.
12510         * screen.c (panel_reload), main.c (save_cwds_stat): Now,
12511         optionally use the stat trick to do a fast reload of a directory.
12513         * profile.c: Added include sys/types.h
12514         (GetPrivateProfileInt): Extended the integer array size from 5 to
12515         6.
12517 Fri Jun 24 12:25:25 1994  Miguel de Icaza  (miguel@sphinx)
12519         * main.c (main): Call save_stop_handler ().
12520         (pre_exec): Call endwin ().
12521         (execute): call my_system, this should get rid of most of the
12522         problems related to complex commands spawned.
12523         (execute): removed call to repaint_screen.
12525         * util.c (my_system): Misc changes to replace the actual execute
12526         command sequence. This must fix also the annoying bug that
12527         repaints the screen.
12529         * ext.c (regex_command): Now it correctly recognizes all the
12530         extensions in the extension file.
12532         * main.c (mark_file): Fixed bug that didn't repaint the mini info
12533         in some conditions.
12535 Wed Jun 22 18:49:07 1994  Miguel de Icaza  (miguel@sphinx)
12537         * screen.c (panel_reload): Now it correctly clears the number of
12538         bytes in tagged files.
12540         * main.c (main): Added option -P that prints the ending working
12541         directory at program exit. It's still buggy.
12543         * dir.c: Now it's possible when sorting files to show files and
12544         directories together or separated (like the original nc).
12546         * main.c (mark_file): Fixed cosmetic bug that didn't clear the
12547         mini_info area correctly.
12549         * screen.c (repaint_file): Added support for showing dates instead
12550         of permissions in the panels. Still no way to activate it.
12552         * main.c (copy_other_prog_name): Added Meta-Tab key. It inserts
12553         the selected file name in the other panel into the input line.
12555 Tue Jun 21 19:25:26 1994  Miguel de Icaza  (miguel@sphinx)
12557         * help.c (interactive_display): Added history to the hypertext
12558         browser.
12560 Tue Jun 14 17:47:30 1994  Miguel de Icaza  (miguel@sphinx)
12562         * find.c: new version from Mauricio.
12564         * main.c (save_cwds_stat): removed the stat () trick optimization.
12566         * screen.c (panel_reload): removed the stat () trick optimization,
12567         it's not working in some cases, and I don't know how to fix it.
12569 Mon Jun 13 20:32:07 1994  Miguel de Icaza  (miguel@sphinx)
12571         * main.c (ext_cmd): Fixed bug that didn't pass home_dir to sprintf.
12572         (mkdir_cmd): Now it will select the directory just created.
12574         (do_edit,xmalloc): Thomas Roettgers fixes to a couple of bugs.
12576 Mon Jun 13 17:40:36 1994  Mauricio Plaza (mok@lya.fciencias.unam.mx)
12578         * find.c: Many bug fixes.
12580 Wed Jun  1 17:19:13 1994  Miguel de Icaza  (miguel@sphinx)
12582         * main.c: corrected entry for User Menu.
12584         * view.c (move_forward, move_backward): Corrected bug, fix by
12585         Torben Fjerdingstad <tfj@olivia.ping.dk>.
12587         * main.c: replaced condition marked > 1 by marked > 0. The code
12588         didn't check correctly when only one file was tagged and operated
12589         on the selection instead.
12591 Tue May 31 19:59:30 1994  Miguel de Icaza  (miguel@sphinx)
12593         * user.c (execute_menu_command): Fixed temporary file unlink bug.
12595         * ext.c (exec_extension): Fixed temporary file unlink bug.
12597         * main.c (ext_cmd): New extension file edit command.
12599         * user.c (expand_format): expansion of %f, %d, %F and %D in the
12600         user menu commands and in the extension dependent exec.
12602         * ext.c (regex_command): Execution of programs based on the
12603         filename extension implemented.
12605         * menu.c (run_menu): Fixed bug to select entries in the menus by
12606         letter. 
12608 Mon May 30 13:03:07 1994  Miguel de Icaza  (miguel@sphinx)
12610         * screen.c, main.c: various changes to optimize directory loading
12611         (suggested by Torben Fjerdingstad <tfj@olivia.ping.dk>). Now it's
12612         a pleasure to use the program even on /usr/local/bin.
12613         (long_frame): corrected cosmetic bug (COLS/2 -> COLS-2)
12615         * color.c: Added option to disable colors.
12617         * main.c (main): Now it's possible to specify an initial directory
12618         for both panels.
12620         (main): Added option to disable colors.
12622         (main): -V option added to report version number.
12624 Mon May 23 21:12:14 1994  Miguel de Icaza  (miguel@sphinx)
12626         * help.c, menu.c: added copyright
12628         * view.c (display): Don't display characters above 127.
12629         (init_view): Added clearok to view_win to clean the screen before
12630         updating view_win.
12632 Sun May 15 14:11:47 1994  Miguel de Icaza  (miguel@sphinx)
12634         * main.c: fixed bug that didn't set correctly select variable
12635         after calling try_to_select.
12637 Sat May 14 13:43:58 1994  Miguel de Icaza  (miguel@sphinx)
12639         * main.c: Added help and user menu to the File Menu.
12641         * dialog.c (refresh_fn): points to a variable to refresh the
12642         current screen.
12644         * util.c (icase_search): new routine based on search_string.
12646         * help.c (search_string): corrected typo (e now is *e).
12648 Thu May 12 16:40:45 1994  Miguel de Icaza  (miguel@sphinx)
12650         * main.c: Misc patches to interface the new internal viewer.
12652         * view.c: New internal viewer.
12654         * key.c (mi_getch): Added support for ESC->, ESC-<,
12655         ESC-Upper(letter). 
12657         * screen.c: many changes to support long display
12659         * main.c: misc changes for support for long display
12661         * main.c: Use panel_refresh instead of wrefresh (panel->win_file). 
12663         * main.c: Fixed bug that didn't correctly set the selection
12664         variable when using page/up/down/home/end keys.
12666 Wed May 11 15:52:49 1994  Miguel de Icaza  (miguel@sphinx)
12668         * help.c: corrected bug that crashed the program (trying to select
12669         a link on a node without links).
12671 Tue May 10 11:40:21 1994  Miguel de Icaza  (miguel@sphinx)
12673         * main.c (move_home): now it goes home no matter if top_file is 0.
12675 Mon May  9 11:01:09 1994  Miguel de Icaza  (miguel@sphinx)
12677         * main.c (suspend_cmd): Added suspend option.
12678         (enter): Allow "cd" and "cd " to chdir to $HOME
12679         (do_cd): Allow "cd" and "cd " to chdir to $HOME
12681 Sun May  8 13:42:41 1994  Miguel de Icaza  (miguel@sphinx)
12683         * main.c (execute): system now executes commands by calling the
12684         user's shell with -c command argument.
12686         * screen.c (try_to_select): Corrected bug introduced when fixing
12687         selection of root directory subdirectories.
12689         * user.c: New: user menus.
12691         * main.c: Corrected unselect key.
12693 Fri May  6 13:10:52 1994  Miguel de Icaza  (miguel@sphinx)
12695         * screen.c (try_to_select): Correctly try_to_select when going up
12696         to the root directory.
12698 Tue May  3 11:07:45 1994  Miguel de Icaza  (miguel@sphinx)
12700         * main.c (init_panels): Now it correctly changes the other_dir
12701         (update_panels): does a chdir to cpanel->cwd after updating
12702         the information.
12704         * screen.c (display_mini_info): Changed selection for
12705         panel->dir [panel->selected].fname since it showed wrong
12706         information in opanel.
12708         * main.c: (check_menu_panel): Corrected indexes to reflex the
12709         released features
12711         * main.c (copy_cmd): Now it unselects the copied files.
12713         * main.c, util.c: Added setup loading/saving.
12715         * util.c (regexp_match): modified code to handle the '?' meta
12716         command as a '.' in the regular expression.
12718         * input.c (handle_char): When pasting characters with c-y the
12719         buffer would overflow.
12721         * main.c (ren_cmd): fixed minor bug.
12723 Mon May  2 10:25:11 1994  Miguel de Icaza  (miguel@sphinx)
12725         * many changes to support variable screen widths/lengths.
12727         * color.h, menu.c: Fixed problem with menu colors on monochrome
12728         terminals. 
12730         * dir.c (do_reload_dir): Fixed bug that didn't retag correctly the
12731         files (next_free instead of count).
12733 Sun May  1 16:29:05 1994  Miguel de Icaza  (miguel@sphinx)
12735         * main.c (cmd_quit): Asks before quitting, clear screen when
12736         finishing the program.
12738         * menu.c (get_motion): Fixed bug for query box.
12740         * find.c (select_and_change_panel): Call select_item to update the
12741         content of the selection variable.
12743         (do_find): After running the find, restore nodelay to false.