* user.c (expand_format): Remove support for error file in the
[midnight-commander.git] / src / ChangeLog
blobb37c7f1fd2585163f7ba9d977c2e08ae600793b6
1 2002-08-24  Pavel Roskin  <proski@gnu.org>
3         * user.c (expand_format): Remove support for error file in the
4         editor.
5         * utilunix.c (close_error_pipe): Fix the condition when nothing
6         needs to be dislayed.
8         * dlg.c (x_set_dialog_title): Force uniform spacing.
9         From Andrew Borodin <borodin@zarya-k.ru>
11         * utilunix.c (check_error_pipe): Check error_pipe[0], not
12         stdout.  From Pavel Tsekov <ptsekov@gmx.net>
14         * achown.c (chown_refresh): Use common_dialog_repaint().
16         * dlg.h (struct Dlg_head): Separate user flags and internal
17         flags.  Make "direction" a user flag.  Adjust all dependencies.
18         * dlg.c (run_dlg): Return ret_value.
20 2002-08-23  Pavel Roskin  <proski@gnu.org>
22         * text.c (default_edition_colors): Use more rxvt-friendly color
23         for dhotnormal.
25         * Makefile.am: Remove definition of CONFDIR, it's not used.
27 2002-08-22  Pavel Roskin  <proski@gnu.org>
29         * layout.c (print_vfs_message): Set normal color, don't use
30         random current attributes.
32         * dlg.h (struct Dlg_head): Eliminate "data" field, it duplicated
33         functionality of "title".
34         * wtools.c (query_callback): Use dialog_repaint().
35         (quick_callback): Use common_dialog_repaint().
37         * learn.c (learn_callback): Use common_dialog_repaint().
38         * achown.c (chl_callback): Likewise.
40         * dialog.h: Cleanup unused functions.
41         * dialog.c: Cleanup unused headers.
43         * dlg.h (struct Dlg_head): Fold fields "raw" and "has_menubar"
44         into one field "flags".  Adjust all dependencies.  Add new flag
45         DLG_COMPACT.
46         * wtools.c (dialog_repaint): Draw frame without spaces if
47         DLG_COMPACT flag is set.
48         * complete.c (complete_engine): Set DLG_COMPACT.
49         (query_callback): Use common_dialog_repaint().
51         * keys.h: Remove, include ...
52         * myslang.h: ... here.
53         * Makefile.am: Remove keys.h.
55         * dlg.h: Remove unused fields in struct Dlg_head.
56         * dlg.c: Adjust for the above.
58 2002-08-21  Pavel Roskin  <proski@gnu.org>
60         * dlg.h: Remove unused fields in struct Widget.
61         * dlg.c: Adjust for the above.
62         * layout.c: Likewise.
64         * cmd.c (info_cmd_no_menu): Toggle info screen.
65         (quick_cmd_no_menu): Toggle quick view.
67         * help.c (interactive_display): Always show button bar.
69         * widget.c (buttonbar_callback): Fix a bug that prevented the
70         last byte from being redrawn.
71         Reported by David Martin <dmartina@excite.com>
73         * layout.c (setup_panels): Make the button bar 0 lines high if
74         it's invisible, so that mouse click on the history button works
75         with invisible button bar.
77         * widget.c: Make more functions static.
79         * ext.c: (regex_check_type): Further split.  Restore caching
80         broken in the previous commit.
82         * ext.c (regex_command): Separate checking for "type/" into ...
83         (regex_check_type): ... this.
85         * global.h: Move include for rx.h and eregex.h here.
87         * learn.c (learn_button): Don't allow Tab to be learned.
89 2002-08-20  David Martin  <dmartina@excite.com>
91         * menu.c (create_menu): Get help node as an argument.
92         * main.c: Use new create_menu() interface.
94 2002-08-20  Pavel Roskin  <proski@gnu.org>
96         * man2hlp.c: Don't redirect stdout.  Check result of ftell.
97         Drop support for invocation with 2 arguments.
99 2002-08-19  Pavel Roskin  <proski@gnu.org>
101         * cons.handler.c (handle_console): Use _exit(), not exit() in
102         the child.
104         * main.c (handle_args): Set POPT_CONTEXT_NO_EXEC flag for
105         poptGetContext().
106         * popt.c: Call abort() in execCommand() - we should not execute
107         anything here.
109         * util.h: Remove unused and dangerous flags for my_system():
110         EXECUTE_TEMPFILE, EXECUTE_SETUID and EXECUTE_WAIT.
111         * utilunix.c: Corresponding adjustments.
112         * ext.c: Don't use EXECUTE_TEMPFILE, it has no effect.
114         * subshell.c (synchronize): Workaround for Cygwin (should not be
115         needed for the next version) - remove SIGCHLD blocking from
116         old_mask.
118         * dlg.h: Remove all unused flags for create_dlg().  Adjust all
119         dependencies.
121         * cmd.c (fishlink_cmd): Implement user interface for FiSH.
122         * main.c: Add it to the menu.
124         * help.c (help_follow_link): Made static.
126 2002-08-18  Pavel Roskin  <proski@gnu.org>
128         * subshell.c (synchronize): Discard all remaining data from
129         stdin to the subshell.
131         * subshell.c (exit_subshell) [AIX_TCSH_CODE_BELOW_IS_IT_FIXED]:
132         Remove.  Nobody has fixed this code for years.
134         * main.h [USE_INTERNAL_EDIT]: Don't include declarations from
135         edit.h.
136         * setup.c [USE_INTERNAL_EDIT]: Include edit.h.
138         * boxes.h: Remove user_format.
139         * boxes.c: Make more variables static, remove all extern
140         declarations.
141         * setup.c: Remove some extern declarations.
143         * mountlist.h: Move some internals ...
144         * mountlist.c: ... here.
146         * main.c: Remove extremely unsafe and poorly designed support
147         for /tmp/mc.$PID.control file.
148         * util.c (my_putenv): Remove, it's unused now.
150         * panel.h (struct format_e): Make string_fn return const char *.
151         Adjust all dependencies.
152         * screen.c (string_file_mtime): Return empty string for "..".
153         (string_file_atime): Likewise.
154         (string_file_ctime): Likewise.
156         * view.c (display): Use enum for boldflag values.  Fix cursor
157         highlighting for the ASCII part of the hex editor.
159         * layout.c (init_curses) [!HAVE_SLANG]: Add support for
160         stickchars - fill acs_map[] with ASCII approximations.
161         * main.c [!HAVE_SLANG]: Enable --stickchars (-a) for ncurses.
163 2002-08-16  Pavel Roskin  <proski@gnu.org>
165         * setup.c: New variable global_profile_name to hold full name of
166         mc.lib.
167         (load_setup): Calculate global_profile_name.
168         (done_setup): Free global_profile_name.
169         (load_key_defs): Use global_profile_name.
170         * treestore.c (should_skip_directory): Likewise.
172         * man2hlp.c: Implement persistent fread and fwrite to make sure
173         that all output is read and written.
175 2002-08-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
177         * help.c (show): Cast *paint_start to unsigned char to display
178         Cyrillic with ncurses.
179         [HAS_ACS_AS_PCCHARS] (acs2pc_table): Make const.
181         * user.c (expand_format): Cast the argument to functions
182         for character classification to unsigned int.
183         (execute_menu_command): Likewise.
185 2002-08-15  Pavel Roskin  <proski@gnu.org>
187         * treestore.c (tree_store_remove_entry): Don't use ts.check_name
188         and don't check it.
190         * treestore.c: Remove unused code, reformat.
191         * treestore.h: Remove unused declarations.
193         * fs.h (compute_namelen): New inline function to take care of
194         the d_namlen field if and only if it's needed.
196         * screen.c (string_file_name): Replace non-printable characters
197         with question marks.
199         * subshell.c (read_subshell_prompt): Remove argument "how", it's
200         never set to VISIBLY.  Adjust all dependencies.  Eliminate hack
201         with "clear_now" - it causes invalid memory access and hides the
202         real problem.
203         * util.c (strip_ctrl_codes): Fix possible invalid memory access
204         if the escape sequence ends unexpectedly.
206 2002-08-14  Pavel Roskin  <proski@gnu.org>
208         * dir.c (do_load_dir): Fix leaking of file descriptors - always
209         call mc_closedir() before return.
211         * main.c (do_execute) [!HAVE_SUBSHELL_SUPPORT]: Compile fix.
213         * view.c (display): Use only declared color pairs to fix hex
214         editor appearance with ncurses.  Eliminate some useless defines.
216 2002-08-10  Pavel Roskin  <proski@gnu.org>
218         * key.c (delete_select_channel): Avoid using freed memory.
220 2002-08-09  Pavel Roskin  <proski@gnu.org>
222         * ext.c (exec_extension): Eliminate unused argument.
223         (regex_command): Remove support for user actions.  Return int.
224         Adjust all dependencies.
226         * ext.c (exec_extension): Make static.  Remove support for Drop,
227         Title and Icon actions.  Adjust all dependencies.
229         * main.c (sigchld_handler_no_subshell) [linux]: SIGTSTP is
230         always defined on Linux.
231         * subshell.c (sigchld_handler): No need to use SIGTSTP
232         explicitly when we really care about SIGCONT.
234         * ncurses.patch: Remove, it's obsolete.
235         * Makefile.am: Remove ncurses.patch.
237 2002-08-04  Pavel Roskin  <proski@gnu.org>
239         * subshell.c: Assume that SIGTSTP and SIGCONT are always
240         defined.  This is now checked in configure.  Otherwise
241         synchronize() would hang until subshell exits.
243 2002-08-01  Pavel Roskin  <proski@gnu.org>
245         * charsets.c: Unconditionally enable finalization code that was
246         only used with HAVE_MAD.
247         * color.c: Likewise.
248         * color.h: Likewise.
249         * key.c: Likewise.
250         * main.c: Likewise.
251         * slint.c: Likewise.
252         * subshell.c (exit_subshell): Free subshell_prompt.
254         * mad.c: Remove.
255         * mad.h: Likewise.
256         * Makefile.am (SRCS): Remove mad.c and mad.h.
257         * cmd.c: Remove references to MAD.
258         * main.c: Likewise.
259         * dlg.c: Use inline, not INLINE.
260         * hotlist.c: Likewise.
261         * menu.c: Likewise.
262         * global.h: Don't include mad.h.
264 2002-07-31  Andrew V. Samoilov  <kai@cmail.ru>
266         * man2hlp.c (main): Don't use freed structure member.
268         * ext.c (regex_command): Don't check same condition twice.
269         (exec_extension): Comment out useless loop.
270         * key.h (key_code_name_t): Typedef const.
272 2002-07-30  Pavel Roskin  <proski@gnu.org>
274         * man2hlp.c (main): Use only stream I/O.  Fix checks for error
275         conditions.  Reformat the whole file.
277         * man2hlp.c: Avoid the need to use gindex.pl.
278         From Andrew V. Samoilov <sav@bcs.zp.ua>
279         * Makefile.am: Use man2hlp directly.
280         (EXTRA_DIST): Remove gindex.pl.
281         * gindex.pl: Remove.
283         * ext.c (regex_command): Additional check to prevent reading
284         unallocated memory when matching "shell/".  Found by Valgrind.
286 2002-07-29  Pavel Roskin  <proski@gnu.org>
288         * setup.c: Eliminate all PORT* macros.
289         * screen.c: Likewise.
291         * subshell.c (feed_subshell): Reading 0 bytes in a channel with
292         FD_ISSET being set is a sign of something being wrong - exit
293         immediately.  Observed when mc is run under su in xterm and
294         xterm is closed while the subshell is running.
295         Reported by Vlad Harchev <hvv@hippo.ru>
297         * color.h: Replace PORT_COLOR macro with BEST_COLOR, which uses
298         MY_COLOR_PAIR.
300         * util.c: Remove unused functions.
301         * utilunix.c: Likewise.
302         * util.h: Update to match.
304         * cons.saver.c: Use SEEK_SET instead of 0 in lseek().
305         * view.c: Likewise.
307         * main.c (do_execute): Add newline after "Press any key to
308         continue".
310         * cons.saver.c: Eliminate some global variables.  Further
311         cleanup.  Make sure that console_fd is always closed.
313 2002-07-28  Pavel Roskin  <proski@gnu.org>
315         * cons.saver.c: Remove support for Linux kernels before 2.0.
316         Massive cleanup.
317         (send_contents): Remove incorrect optimization - restore even
318         empty lines because they may be touched by the viewer.
319         From Denis Vlasenko <vda_unique@iname.com>
321 2002-07-26  Pavel Roskin  <proski@gnu.org>
323         * utilunix.c (canonicalize_pathname): Don't extend empty path
324         to "." - it can corrupt memory.
326         * cmd.c (copymove_cmd_with_default): Remove, it's unused.
327         (copy_cmd_local): New function, copy within panel.
328         (ren_cmd_local): New function, rename within panel.
329         * cmd.h: Adjust to match.
330         * screen.c (panel_keymap): Associate F15 with copy_cmd_local and
331         F16 with ren_cmd_local.
333         * view.c (display): Don't highlight characters as bold if the
334         character before the backspace was different.
335         From Roland Illig <roland.illig@gmx.de>
337 2002-07-25  Andrew V. Samoilov  <kai@cmail.ru>
339         * wtools.c (message): Fix possible buffer overflow.
341         * slint.c [HAVE_MAD] (dealloc_color_pairs): Move ...
342         * color.c [HAVE_MAD]: ... here and make accessible from
343         other files to fix compilation.
344         * color.h [HAVE_MAD]: Declare dealloc_color_pairs.
346 2002-07-20  Pavel Roskin  <proski@gnu.org>
348         * screen.c (panel_callback): Revert last change, it has bad side
349         effects on the subshell.
351 2002-07-19  Pavel Roskin  <proski@gnu.org>
353         * dlg.c: Eliminate all useless x_* functions.
354         * dlg.h: Likewise.
355         * panel.h: Likewise.
356         * textconf.h: Likewise.
357         * view.c: Likewise.
358         * view.h: Likewise.
359         * widget.c: Likewise.
360         * main.c: Remove panel_update_marks(). Move try_to_select() ...
361         * screen.c: ... here.  Eliminate x_* functions.
362         * main.h: Remove panel_update_marks().
364         * screen.c (panel_callback): Only change directory on
365         WIDGET_FOCUS if current_panel changes.
367         * main.c (handle_args): Don't call mc_get_current_wd().
369         * main.c (directory_history_list): Report error if cannot change
370         directory.
372 2002-07-16  Pavel Roskin  <proski@gnu.org>
374         * main.c (do_execute): Don't ask to press any key when the shell
375         is running a command - the user has already pressed Ctrl-O.
377 2002-07-15  Pavel Roskin  <proski@gnu.org>
379         * slint.c: Eliminate hardcoded color terminals.  Most users no
380         longer need this hack, and those who do have color_terminals
381         option in the config file.
383 2002-07-14  Pavel Roskin  <proski@gnu.org>
385         * color.c [USE_NCURSES]: Eliminate division by COLOR, it's 0 in
386         black and white mode.
388         * slint.c: Move functions for allocating color pairs ...
389         * color.c: ... here.  Implement ncurses equivalents.  Rename
390         init_pair() to mc_init_pair() and keep tack of max_index with
391         ncurses.  Adjust all dependencies.
393         * mem.h: Clean up obsolete definitions, incorporate into ...
394         * global.h: ... this.
395         * Makefile.am: Remove mem.h.
397 2002-07-13  Pavel Roskin  <proski@gnu.org>
399         * Makefile.am (AM_CPPFLAGS): Remove REGEX_MALLOC, it's now in
400         configure.in.
402         * tty.h: Use standard autoconf defines to determine which
403         ncurses header to include.  Eliminate RENAMED_NCURSES.
405 2002-07-10  Pavel Roskin  <proski@gnu.org>
407         * utilunix.c: Cast argument for GUINT_TO_POINTER to int to fix
408         warnings on Cygwin.
410         * subshell.c: ioctl() doesn't set errno - don't use perror() to
411         report failures.  Use fprintf() instead, ignore errors from
412         TIOCSWINSZ.
413         (resize_tty): New function - code common for resize_subshell()
414         and init_subshell_child().
416         * global.h: Include vfs.h.
417         * boxes.c (configure_vfs): Ask whether .netrc should be used.
418         From Thomas Zajic <zlatko@gmx.at>
420 2002-07-03  Pavel Roskin  <proski@gnu.org>
422         * file.c (do_transform_source): Cast the argument to functions
423         for character classification to unsigned int.
424         * main.c (handle_args): Likewise.
425         * util.c (size_trunc_sep): Likewise.
426         (skip_numbers): Likewise.
428         * subshell.c (sigchld_handler): Remove subshell_pty from the
429         channel list if the subshell has died.
431 2002-07-03  Andrew V. Samoilov  <kai@cmail.ru>
433         * mad.[ch] [__GNUC__] (mad_strconcat): Use macro varargs.
434         (mad_strdup_printf): Likewise.
435         (mad_strdup_vprintf): Likewise.
436         * main.c [HAVE_MAD] (main): Release this_dir and other_dir.
438 2002-07-03  Pavel Roskin  <proski@gnu.org>
440         * main.c (stop_dialogs): New function to stop all dialogs.
441         (quit_cmd_internal): Use stop_dialogs() instead of stopping
442         midnight_dlg only.  This fixes exit from the shell invoked from
443         the internal viewer or editor.
445         * cmd.c (view_other_cmd): Shut down extra select channels before
446         switching to the shell.  Restore them afterwards, but not if
447         quit was requested.  Skip more code on quit.
449 2002-07-02  Pavel Roskin  <proski@gnu.org>
451         * util.c: Eliminate get_small_endian_long() and CHECK macro.
453         * util.h: Rename compression types, add a type for uncompressed
454         files.
455         * util.c (is_gunzipable): Rename to ...
456         (get_compression_type): this.  Don't check archive length, since
457         it's unreliable if there is padding at the end of the file.
458         Eliminate prehistoric Linux workaround.  All callers adjusted.
460 2002-07-01  Andrew V. Samoilov  <kai@cmail.ru>
462         * utilunix.c (close_error_pipe): Use "%s" in message () to
463         prevent possible crash.
464         (check_error_pipe): Likewise.
466 2002-06-27  Pavel Roskin  <proski@gnu.org>
468         * screen.c (do_enter_on_file_entry): Process associations before
469         trying to execute the file.
471 2002-06-20  Pavel Roskin  <proski@gnu.org>
473         * dir.c (handle_dirent): Don't process ".." entries.
474         (handle_path): Likewise.
475         From Andrew V. Samoilov <kai@cmail.ru>
477 2002-06-13  Oskar Liljeblad  <oskar@osk.mine.nu>
479         * slint.c (has_colors): Don't reset SLtt_Use_Ansi_Colors to 0 if
480         force_colors is not set.  This fixes color on unknown terminals.
482 2002-06-13  Andrew V. Samoilov  <kai@cmail.ru>
484         * user.c (expand_format): Fix '%b' proccessing.
485         Handle '%k' as documented.
487 2002-05-30  Andrew V. Samoilov  <kai@cmail.ru>
489         * view.c (regexp_search): Don't call save_edit_changes
490         if there are no changes.
491         (save_edit_changes): Use messages from ../po/mc.pot.
493         * mad.c (mad_tempnam): Commented out to make linker happy.
494         * main.c [HAVE_MAD && !_OS_NT] (main): G_free mc_home.
496 2002-05-27  Andrew V. Samoilov  <kai@cmail.ru>
498         * view.c (save_edit_changes): Handle errors.
499         (do_view_init): Don't open and check file type
500         if _command is not null or _file is empty string.
502 2002-05-22  Pavel Roskin  <proski@gnu.org>
504         * Makefile.am: doc/mc.1 is in top_builddir, not in top_srcdir.
506 2002-05-15  Andrew V. Samoilov  <kai@cmail.ru>
508         * view.c (do_view_init): Close fd if it is unused.
510 2002-05-14  Andrew V. Samoilov  <kai@cmail.ru>
512         * Makefile.am (VFSLIB): Add ../vfs/samba/libsamba.a
513         if USE_SAMBA_FS is true.
515 2002-05-07  Pavel Roskin  <proski@gnu.org>
517         * hotlist.c (hotlist_button_callback): Don't process B_REMOVE
518         for VFS list - it would crash.
519         From Andrey Panov <pav@metib.ru>
521 2002-04-19  Andrew V. Samoilov  <kai@cmail.ru>
523         * main.c [!WITH_MCFS] (PanelMenu): Eliminate mcfs related entry.
524         (RightMenu): Likewise.
525         * textconf.c (features): Likewise.
526         * cmd.c (netlink_cmd) [!WITH_MCFS]: Eliminate.
528 2002-04-03  Pavel Roskin  <proski@gnu.org>
530         * Makefile: mc.hlp should be in MAINTAINERCLEANFILES, not in
531         CLEANFILES, because "make clean" should not make the source
532         directory useless on systems without Perl.
534 2002-03-26  Andrew V. Samoilov  <kai@cmail.ru>
536         * eregex.h [!USE_INCLUDED_REGEX]: Include <regex.h>.
537         * regex.c: Compile only if USE_INCLUDED_REGEX is defined.
539 2002-03-25  Andrew V. Samoilov  <kai@cmail.ru>
541         * complete.c (insert_text): Fix buffer overflow.
543         * cmd.[ch] [USE_INTERNAL_EDIT] (edit_syntax_cmd:) New dialog
544         to edit Syntax Highlighting definitions file.
545         * main.c (CmdMenu) [USE_INTERNAL_EDIT]: Add 'Syntax file edit'
546         entry.
547         (process_args): Print mc's library directory to stdout.
549 2002-03-21  Andrew V. Samoilov  <kai@cmail.ru>
551         * man2hlp.c (handle_command): Handle backslash quoting
552         for .I and .B
553         (handle_link): Strip .B and .I
554         * gindex.pl: Use fifth argument as man2hlp location.
556 2002-03-20  Andrew V. Samoilov  <kai@cmail.ru>
558         * man2hlp.c (handle_command): Handle '.\"TOPICS' comment.
559         Use it for translated 'Topics:' message.
560         * gindex.pl: Use first line of man2hlp output as
561         translated 'Topics:' message if fourth argument
562         is empty string.
563         * Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
564         fourth argument.
566         * textconf.c (version): Write to stdout.
567         * main.c (print_mc_usage): Add "stream" parameter to specify
568         file stream.
569         (process_args): Use print_mc_usage() with stdout as stream.
570         (handle_args): Use print_mc_usage() with stderr as stream.
571         (print_color_usage): Write to stdout.
573 2002-03-18  Pavel Roskin  <proski@gnu.org>
575         * eregex.h: Update from glibc-2.2.5.
576         * regex.c: Likewise.
577         * find.c: Use eregex.h, not regex.h.
578         * util.c: Likewise.
579         * view.c: Likewise.
580         From Alexander Varakin <avarakin00@hotmail.com>
582         * find.c (find_parameters): Invert condition when find is case
583         sensitive.
585 2002-03-04  Andrew V. Samoilov  <kai@cmail.ru>
587         * Makefile.am (mc.hlp.ru): Use mc.1 instead of mc.1.in.
588         (mc.hlp): Likewise.
590         * file.c (copy_file_file): Chmod destination only if
591         ctx->preserve is on.  Eliminate gotos.
593 2002-03-01  Andrew V. Samoilov  <kai@cmail.ru>
595         * Makefile.am (mc.hlp.ru): New rule to compile translated
596         help file.
597         (mclib_DATA): Add mc.hlp.ru.
598         (EXTRA_DIST): Likewise.
600         * gindex.pl: Add optional 4th argument for translated
601         Content section name.
603 2002-02-28  Andrew V. Samoilov  <kai@cmail.ru>
605         * mad.c: Make mem_areas dynamically growing.
606         (mad_init): Allocate memory for mem_areas.
607         (mad_alloc): Grow mem_areas if it is exhausted.
609         * filegui.c (file_mask_dialog): Enable 'follow Links'
610         and 'preserve Attributes' features in Move dialog.
611         (file_bps_show): Translate messages.
612         (file_eta_show): Likewise.
614         * man2hlp.c (main): Don't crash if called without argument(s).
615         Make buffer char pointer.
616         (handle_command): Handle '.\"NODE' comment.  Use it for
617         nodename in translated manual pages.
619         * gindex.pl: Use [nodename] as user visible section name
620         only if next line is empty.  Elsewhere use this nonempty line.
622         * find.c (find_parameters): Compile content_pattern here.
623         Inform user about malformed regular expression.
624         (search_content): Use compiled regular expression.
625         (do_find): Eliminate `done'.  Call regfree for compiled
626         content_pattern.
628 2002-02-24  Pavel Roskin  <proski@gnu.org>
630         * chown.c (chown_cmd): Use size_trunc_len() to show the file
631         size.  Eliminate c_fsize, which wasn't properly initialized.
633 2002-02-22  Pavel Roskin  <proski@gnu.org>
635         * man2hlp.c (string_len): Don't exclude characters with codes
636         above 128 from the string length.
638 2002-02-21  Andrew V. Samoilov  <kai@cmail.ru>
640         * ext.c (exec_extension): Use "#! /bin/sh".
642 2002-02-20  Pavel Roskin  <proski@gnu.org>
644         * background.c (background_attention): Cast pointer to long
645         instead of int because it's unsafe of 64-bit systems.
646         * main.c (init_xterm_support): Likewise.
648 2002-02-18  Pavel Roskin  <proski@gnu.org>
650         * utilunix.c (canonicalize_pathname) [__QNX__]: Fix detection
651         of Qnet names.  Disable support of Qnet names under QNX Netrino.
652         Reported by Maurizio Rossi <MRossi@system-group.it>
654         * global.h: Include unix.h under "classical" QNX.
655         * subshell.c: Don't include unix.h.
656         * utilunix.c: Likewise.
658 2002-02-07  Andrew V. Samoilov  <kai@cmail.ru>
660         * main.c (update_one_panel_widget): Call ftpfs_flushdir().
662 2002-02-05  Pavel Roskin  <proski@gnu.org>
664         * key.c [USE_NCURSES] (get_key_code): Ignore KEY_RESIZE.
665         * layout.c [USE_NCURSES] (flag_winch): Don't call
666         low_level_change_screen_size() from signal handler.
667         From Thomas Dickey <dickey@herndon4.his.com>
669         * screen.c (format_file): Add a new parameter (size of the
670         output buffer) to prevent buffer overflow on very wide
671         terminals.
672         From Thomas Dickey <dickey@herndon4.his.com>
674 2002-02-04  Andrew V. Samoilov  <kai@cmail.ru>
676         * util.c [!HAVE_TRUNCATE] (truncate): Close fd if my_ftruncate
677         fails.
679         * util.c [HAVE_CHARSET] (is_printable): Eliminate printable.
680         * setup.c [HAVE_CHARSET] (load_setup): Don't use
681         init_printable_table.
683         * charsets.h: Don't declare init_printable_table ().
684         * charset.c (printable): Removed.
685         (init_printable_table): Removed.
687 2002-01-30  Andrew V. Samoilov  <kai@cmail.ru>
689         * file.c (recursive_erase): Use mc_closedir() if mc_lstat()
690         fails.  Eliminate goto.
691         (erase_dir): Eliminate goto.
692         (erase_dir_iff_empty): Likewise.
694 2002-01-29  Andrew V. Samoilov  <kai@cmail.ru>
696         * dir.c (handle_dirent): Use MSG_ERROR.
697         * charsets.c (translate_character): Use ICONV_CONST.
699 2002-01-22  Pavel Roskin  <proski@gnu.org>
701         * screen.c: Don't try to paint anything if width is 0 or less.
702         Reported by Pawel Sakowski <pawel@sakowski.eu.org>
704         * screen.c: Make functions static whenever possible.  Remove
705         unused functions.
706         * panel.h: Remove corresponding declarations.
708 2002-01-21  Pavel Roskin  <proski@gnu.org>
710         * util.c: Move replacements for permission bits ...
711         * fs.h: ... here.  Add more replacements.
712         * global.h: Include direct.h only with MSVC.
714         * main.c: Include "drive.h", not <drive.h>, do it after panel.h.
715         Use _OS_NT as the condition for including drive.h.
716         * screen.c: Use _OS_NT as the condition for including drive.h.
718         * global.h [_OS_NT]: Include io.h, direct.h and windows.h.
719         Don't redefine struct timeval.
721         * fs.h [_MSC_VER]: Use dirent provided by glib.
723         * global.h [!HAVE_SYS_TIME_H]: Provide a replacement for struct
724         timeval.
726         * findme.c: Respect HAVE_UNISTD_H.
727         * popt.c: Likewise.
729         * global.h: Fallback to sys/utime.h if utime.h is missing.
731         * global.h: Provide fallbacks for getuid(), getgid(), geteuid()
732         and getegid().
733         * fs.h: Fully trust HAVE_DIRENT_H.
734         * complete.c: Don't include dirent.h directly, fs.h takes care
735         of it.
736         * file.c: Likewise.
737         * filegui.c: Likewise.
738         * main.c: Likewise.
739         * treestore.c: Likewise.
741         * global.h [!__GNUC__]: Define __attribute__ with one argument.
743 2002-01-20  Pavel Roskin  <proski@gnu.org>
745         * screen.c (string_file_size): Translate "UP--DIR".
746         (string_file_size_brief): Translate "SUB-DIR" and "SYMLINK".
748         * dir.c (add_dotdot_to_list): Don't use costly stat() - just put
749         realistic (i.e. bogus) data to the list.
751         * screen.c (string_file_size): Don't display size of ".." - it
752         may take too much time to calculate it on VFS.  Show "UP--DIR"
753         instead.
754         (string_file_size_brief): Remove ".." handling - it's now done
755         in string_file_size().  Show "SUB-DIR" for links to directories,
756         "SYMLINK" for other links.
758 2002-01-17  Pavel Roskin  <proski@gnu.org>
760         * cmd.c: Remove OS/2 specific code.
761         * file.c: Likewise.
762         * main.c: Likewise.
764         * main.h: Remove dead declarations.
765         * setup.c: Remove defunct extension alignment support.
766         * util.c: Likewise.
767         * util.h: Likewise.
769         * main.c: Remove unused toggle_* functions.
771         * dir.c: Show backups by default.
773 2002-01-15  Andrew V. Samoilov  <kai@cmail.ru>
775         * file.c (copy_dir_dir): Check the destination is a directory
776         if it exists. Reported by Thomas <metaf4@pseudonym.org>.
778 2002-01-09  Andrew V. Samoilov  <kai@cmail.ru>
780         * util.c (string_perm) [S_IFDOOR]: Support Solaris doors.
781         * screen.c (string_file_type) [S_IFDOOR]: Likewise.
783 2001-12-21  Pavel Roskin  <proski@gnu.org>
785         * hotlist.c (hotlist_callback): Recognize "delete" key.
787         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang/slang-mc.h to
788         simplify includes.
789         [HAVE_SYSTEM_SLANG]: Use angle brackets for slang.h.
791         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang-mc.h directly
792         to avoid relying on symlinks.
794 2001-12-18  Pavel Roskin  <proski@gnu.org>
796         * utilunix.c (init_groups): Don't return prematurely if the
797         primary group cannot be found (it can happen on Cygwin).
799 2001-12-10  Pavel Roskin  <proski@gnu.org>
801         * dir.c (do_reload_dir): Hash-table added.
802         From Björn Eriksson <mdeans@algonet.se>
804 2001-12-03  Pavel Roskin  <proski@gnu.org>
806         * dir.c (do_reload_dir): Optimize the logic - count the marks
807         and only match new entries against old entries if at least one
808         mark has not been transferred.
809         From Björn Eriksson <mdeans@algonet.se>
811 2001-11-29  Pavel Roskin  <proski@gnu.org>
813         * main.c (midnight_callback): Implement "auto menus".
815         * layout.c: Make more variables static.
817         * cons.saver.c: Define LINUX_CONS_SAVER_C so that some parts
818         of cons.saver.h can be omitted.
819         * cons.saver.h: Declare nothing but constants if
820         LINUX_CONS_SAVER_C is defined.
822 2001-11-14  Pavel Roskin  <proski@gnu.org>
824         Fully eliminate all references to HAVE_X and HAVE_GNOME.
826         * dir.c (do_sort): Correctly handle the case when there is no
827         ".." entry (i.e. panelized mode).
829 2001-11-14  Andrew V. Samoilov  <kai@cmail.ru>
831         * view.c (do_view_init): Make sure _file is not
832         an empty string before mc_stat and mc_open.
833         Memory leak fixed.
835 2001-11-14  Pavel Roskin  <proski@gnu.org>
837         * panelize.c (do_external_panelize): Re-sort the panel according
838         to the current settings.
840         * find.c (do_find): Re-sort the panel according to the current
841         settings when doing panelizing.
843         * dir.c (sort_type_to_name): Remove, it's unused in the text
844         edition.
845         (sort_name_to_type): Likewise.
846         * dir.h: Adjust to match.
848         * mouse.c: Add default cases to fix warnings with gcc-2.96.
850 2001-11-12  Pavel Roskin  <proski@gnu.org>
852         * main.c: Remove support for subshell debugging.  Firstly, it
853         was broken.  Secondly, every developer should be able to add
854         this code when needed.  Finally, there is no need to expose the
855         option to the user and translate it into 30 languages.
856         * subshell.h: Remove debug_subshell.
857         * subshell.c: Likewise.
859 2001-11-12  Andrew V. Samoilov  <kai@cmail.ru>
861         * mad.h: Enable glib support.
863         * mad.[ch] (mad_get_current_dir): New function to use instead
864         of g_get_current_dir.
865         (mad_tempnam): Add file and line parameters.
866         (mad_alloc0): Make file parameter const.
867         (mad_realloc): Likewise.
868         (mad_strdup): Likewise.
869         (mad_strndup): Likewise.
870         (mad_free): Likewise.
871         (mad_finalize): Likewise.
873 2001-11-07  Andrew V. Samoilov  <kai@cmail.ru>
875         * cmd.c (guess_message_value): Make val static const array.
876         (smblink_cmd) [!WITH_SAMBA]: Eliminated.
878         * dlg.c (add_widget): Check for what is not NULL
879         before everything else.
881         * slint.c (slang_reset_softkeys): Make display static const
882         array.  Use sizeof (display) - 1 instead of strlen display.
883         (color_terminals): Make static const array.
884         (key_table): Make const.
886         (dealloc_color_pairs) [HAVE_MAD]: New function.  Release
887         memory allocated in try_alloc_color_pair.
888         (slang_shutdown) [HAVE_MAD]: Call dealloc_color_pairs.
889         (try_alloc_color_pair): Move struct c outside function.
891 2001-10-29  Andrew V. Samoilov  <kai@cmail.ru>
893         * charsets.c (load_codepages_list): Use glib memory allocation
894         functions.
895         (free_codepages_list) [HAVE_MAD]: New function to release
896         memory allocated in load_codepages_list.
897         * charsets.h: Declare free_codepages_list.
899         * main.c [HAVE_CHARSET]: Include charsets.h.
900         (main) [HAVE_MAD && HAVE_CHARSET]: Call free_codepages_list.
901         (program_name): Commented out.
903 2001-10-26  Andrew V. Samoilov  <kai@cmail.ru>
905         * key.c (push_char): Fix buffer length calculation.
906         By David Kaelbling <drk@sgi.com>.
907         http://bugzilla.gnome.org/show_bug.cgi?id=60932
909         (define_sequence): Likewise.
910         (key_define_t): Add const declaration.
912 2001-10-22  Pavel Roskin  <proski@gnu.org>
914         * main.h: Declare view_one_file and edit_one_file.
916 2001-10-22  Andrew V. Samoilov  <kai@cmail.ru>
918         * dialog.h: Include global.h.
919         (message): Specify __attribute__.
921 2001-10-20  Pavel Roskin  <proski@gnu.org>
923         * main.h (print_vfs_message): Specify __attribute__.
925 2001-10-19  Pavel Roskin  <proski@gnu.org>
927         * global.h: Define __attribute__ to an empty string for non-gcc
928         compilers so that it's safe to use.
930 2001-10-18  Pavel Roskin  <proski@gnu.org>
932         * view.c (init_growing_view): Revert last change, it was wrong.
933         (view_hook): Don't check that the file is regular - it's now
934         done in do_view_init().  This fixes update problem in quick view
935         when moving cursor from a regular file to a directory.
937         * view.c (do_view_init): Only accept regular files.  Use stat(),
938         not fstat() because open() would hang on pipes.  Avoid opening
939         the file twice.
940         (init_growing_view): Take file descriptor, not the filename.
941         (load_view_file): Likewise.
943 2001-10-01  Pavel Roskin  <proski@gnu.org>
945         * boxes.c (tree): Rename to tree_box() to avoid confusion.
946         Adjust all callers and headers.
947         * main.c (tree_box): Rename to tree_box_cmd().
949         * tree.c (set_navig_label): Get argument "tree".
950         (set_navig_label): Likewise.  Adjust all callers.  Don't cast
951         function tree() to (Widget *) - it's wrong and dangerous.
953         * widget.h: Use type "buttonbarfn" more consistently.
954         * widget.c: Likewise.
956         * setup.c [!USE_VFS]: Warning fix.
957         * hotlist.c [!USE_VFS]: Likewise.
959         * tree.c (tree_navigation_flag): Should not be static.
961         * screen.c (panel_format_modified): Use more portable cast.
963         * fileopctx.h: Define new type mc_stat_fn.
964         * filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
965         mc_stat_fn to prevent warnings without VFS support.
966         * fileopctx.c (file_op_context_new): Likewise.
968 2001-09-23  Andrew V. Samoilov  <kai@cmail.ru>
970         * find.c: Include rx.h or regex.h
971         (get_line_at): New function.  Returns malloc()ed null-terminated
972         line from file file_fd.  Input is buffered in buf_size long
973         buffer.
974         (search_content): Don't use external egrep.
975         Use get_line_at and regexp.
977 2001-09-21  Pavel Roskin  <proski@gnu.org>
979         * cmd.c: Change all "long" variables to "off_t" whenever they
980         are used to store file sizes.
981         * file.c: Likewise.
982         * file.h: Likewise.
983         * fileopctx.h: Likewise.
984         * tree.c: Likewise.
985         * filegui.c: Likewise.
986         (show_bar): Take "double" arguments.  Normalize arguments of
987         gauge_set_value() before converting them to "int".
989 2001-09-17  Pavel Roskin  <proski@gnu.org>
991         * mouse.h: Major cleanup and interface change.  init_mouse()
992         should only be called once, disable_mouse() and enable_mouse()
993         should be used later.  Distinguish between disabled and
994         undetected mouse.  Remove debugging stuff.  Adjust all users.
995         * mouse.c: Implementation of the above.
996         * key.c: Don't use gpm_flag - check mouse_enabled instead.
998 2001-09-15  Pavel Roskin  <proski@gnu.org>
1000         * view.c: Cleanup of preprocessor directives.
1001         * view.h: Likewise.
1002         * widget.c: Likewise.
1003         * widget.h: Likewise.
1005         * textconf.h: Get rid of all PORT_HAS_*.  Adjust all users.
1006         Continued eliminating GNOME code.
1008         * cmd.c: Clean up unused GNOME code and some ifdef's.
1009         * dlg.c: Likewise.
1010         * dlg.h: Likewise.
1011         * ext.c: Likewise.
1012         * setup.c: Likewise.
1014         * cmd.c (guess_message_value): Remove the argument.  Adjust all
1015         callers.
1017         * textconf.c (features): Remove "edition", minor fixes.
1018         (version): Don't report the current locale - it's meaningless,
1019         especially if ENABLE_NLS is not defined.
1021         * textconf.h: Remove status_using_ncurses - it's useless now.
1022         Adjust all users.  Call do_exit_ca_mode() and do_enter_ca_mode()
1023         even with ncurses.
1025         * main.c (init_xterm_support): Don't enable xterm_flag just
1026         because of "kmous" in terminfo.  Setiing this flag means much
1027         more than just mouse support.  Recognize terminals beginning
1028         with "rxvt" and set xterm_flag for them.
1030         * cmd.c (view_other_cmd): Don't check use_mouse_p before calling
1031         init_mouse() and shut_mouse(), since those functions decide
1032         themselves what to do.
1033         * layout.c (done_screen): Likewise.
1034         * main.c (setup_mc): Likewise.
1035         * text.c (edition_post_exec): Likewise.
1036         (edition_pre_exec): Likewise.
1038         * user.h: Fix location of the home editor menu.
1039         Reported by David Martin <dmartina@excite.es>
1041         * mouse.h: Export xmouse_seq.
1042         * mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
1043         xterm mouse sequence.
1044         * main.c (setup_post): Join with setup_mc().
1045         (init_xterm_support): New function.  Check mouse capability.
1046         (OS_Setup): Remove parts that are now in init_xterm_support().
1048 2001-09-14  Pavel Roskin  <proski@gnu.org>
1050         * key.c (get_event): Recognize KEY_MOUSE, not just MCKEY_MOUSE.
1051         * mouse.c: Don't use or emulate keyok(), since MC understands
1052         KEY_MOUSE now.
1054 2001-09-11  Pavel Roskin  <proski@gnu.org>
1056         * cmd.c (check_for_default): Make accessible from other files.
1057         * cmd.h: Declare check_for_default().
1059 2001-09-10  Pavel Roskin  <proski@gnu.org>
1061         * layout.c: Use HAVE_TERMIOS_H and HAVE_SYS_IOCTL_H more
1062         consistently.
1063         * mouse.c: Likewise.
1064         * subshell.c: Likewise.
1065         * win.c: Likewise.
1066         * util.c: Remove unused includes.
1068         * Makefile.am (mc_LDADD): Don't use LSLANG and LGPM, since they
1069         are now included into MCLIBS.
1071         * Makefile.am (mc_LDADD): Use INTLLIBS provided by gettext
1072         instead of LINTL.
1074 2001-09-09  Pavel Roskin  <proski@gnu.org>
1076         * hotlist.c (load_hotlist): If cannot open hotlist, don't assume
1077         that it needs to be migrated and don't warn the user.
1079 2001-09-08  Pavel Roskin  <proski@gnu.org>
1081         * Makefile.am: Fix definitions of CONFDIR and LOCALEDIR.
1083         * subshell.c: Move definitions of WEXITSTATUS and WIFEXITED
1084         below all includes so that they can be defined elsewhere.
1086 2001-09-07  Pavel Roskin  <proski@gnu.org>
1088         * myslang.h: Specify arguments to function-like macros or remove
1089         them if they are unused.
1091         * main.c: Remove old debugging code.  Remove external function
1092         declarations.
1093         (menu_bar_event): Remove, it's unused.
1094         * main.h: Declare get_mc_lib_dir() and force_ugly_line_drawing.
1095         * layout.c: Remove all external declarations.
1097         * main.c (main): Call save_stop_handler() - it was ifdef'd out
1098         by error.
1100         * main.c: Remove all GNOME code.
1102         * cmd.c: No need to define "MIDNIGHT" before including vfs.h.
1104         * user.h: Remove all dirty tricks with "MIDNIGHT" - they are not
1105         needed anymore.
1107         * global.h: Include io.h, pwd.h, grp.h and utime.h.  Adjust all
1108         sources not to include them and to include global.h at the right
1109         place.
1111         * global.h: Include all time-related system includes, since
1112         it's non-trivial (order, conflicts) and is better handled in one
1113         place.
1115 2001-09-06  Pavel Roskin  <proski@gnu.org>
1117         * fsusage.c: Include sys/param.h before sys/mount.h - it's
1118         required on some systems.
1119         * mountlist.c: Likewise.
1120         From Timur Bakeyev <mc@bat.ru>
1122 2001-09-04  Pavel Roskin  <proski@gnu.org>
1124         * Makefile.am: Don't use substituted values directly.  Define
1125         CHARSET_SRC unconditionally.  Join SRCS and HDRS.
1127 2001-09-03  Pavel Roskin  <proski@gnu.org>
1129         * widget.c (label_new): Don't calculate dimensions of multiline
1130         labels, since they cannot be changed and msglen() is already
1131         used when the dialog is created.
1133         * Makefile.in: Converted to ...
1134         * Makefile.am: ... this.
1136         * slint.c: Make more data and function static.
1137         * key.h: Remove declarations that are now static.
1138         * myslang.h: Likewise.
1140         * x.h: Remove.  Adjust all users.  Make sure that global.h is
1141         included instead.  Don't include sys/param.h unconditionally -
1142         rely on global.h taking care of it.
1143         * Makefile.in: Remove x.h.
1145         * color.c: Remove unused code.
1146         * color.h: Likewise.
1148 2001-09-02  Pavel Roskin  <proski@gnu.org>
1150         * key.c: Remove support for BUGGY_CURSES.
1152         * tty.h: Remove support for old curses and GNOME.
1153         * global.h: Likewise.
1155         * widget.c (label_new): Set initial width of the widget based on
1156         the initial text.
1158         * view.c (hex_search): Don't use sscanf() to search for quoted
1159         strings - use strchr instead.
1161 2001-08-31 23:14:21  Timur Bakeyev  <mc@bat.ru>
1163         * utilunix.c: init_groups(), destroy_groups(), get_user_permissions()
1164         rewritten to use GTree structure and functions. Add new static helper
1165         functions mc_gid_compare() and mc_gid_destroy().
1167         * util.h: Removed deprecated structure user_in_groups.
1169         * screen.c: Fixed typo in format report error string.
1171 2001-08-31 23:14:21  Timur Bakeyev  <mc@bat.ru>
1173         * utilunix.c: get_user_rights() renamed into get_user_permissions().
1174         delete_groups() renamed into destroy_groups().
1175         * util.h: Likewise.
1176         * screen.c: Likewise.
1177         * main.c: Likewise.
1179 2001-08-27  Pavel Roskin  <proski@gnu.org>
1181         * cmd.c (dirsizes_cmd): Don't cast st_size to long - use off_t
1182         instead, since off_t can be longer.
1183         Reported by Radovan Bukoci <rado@autoparts.sk>
1185 2001-08-30  David Martin  <dmartina@excite.es>
1187         * info.c (info_show_info): Use size_trunc_len() instead of
1188         print_bytesize().  Don't assume English word ordering.  Add
1189         singular message when single block.
1190         * win.c (print_bytesize): Remove.
1191         (sprint_bytesize): Remove.
1192         * win.h: Remove print_bytesize() and sprint_bytesize().
1194         * util.c (size_trunc_len): Add units parameter.  Change all
1195         callers.
1197         * util.c (size_trunc_len): Print size values with some (little)
1198         sense for tiny and even wee lengths (i.e. squeezed X terminals).
1200         * info.c (info_show_info): Move comment line just before
1201         translatable message so it's shown in .po files to alert
1202         translators.  The message (translated) is used to set the start
1203         column (so the available width) for some "truncatable" strings.
1205 2001-08-27  Pavel Roskin  <proski@gnu.org>
1207         * key.c (learn_key): Turn off keypad to disable intepreting keys
1208         by ncurses.
1209         Reported by Frederic L. W. Meunier <fredlwm@pervalidus.net>
1211 2001-08-26  Pavel Roskin  <proski@gnu.org>
1213         * xcurses.c: Remove.
1214         * Makefile.in: Remove all references to xcurses.c.
1216 2001-08-24  Pavel Roskin  <proski@gnu.org>
1218         * user.h: Include "../edit/edit-widget.h", not
1219         "../gtkedit/edit-widget.h".
1221         * subshell.c: Use standard Autoconf symbols to determine whether
1222         to include <stropts.h> and <grp.h>.
1224 2001-08-23  Pavel Roskin  <proski@gnu.org>
1226         * subshell.c (feed_subshell): Don't wait forever after the first
1227         select() call if fail_on_error is true.  This alleviates hang
1228         with zsh on QNX Neutrino.
1230 2001-08-21  Pavel Roskin  <proski@gnu.org>
1232         * view.h: Declare view_dlg.
1233         * main.h: Declare edit_dlg.
1234         * layout.c (change_screen_size): Remove external declarations
1235         inside the function.
1237 2001-08-20  Pavel Roskin  <proski@gnu.org>
1239         * view.c (load_view_file) [!HAVE_MMAP]: Warning fix.
1241 2001-08-19  Pavel Roskin  <proski@gnu.org>
1243         * main.c (mc_maybe_editor_or_viewer) [!USE_INTERNAL_EDIT]:
1244         Reenable to make "mc -v" possible.
1245         (do_nc): Call mc_maybe_editor_or_viewer() even if the editor
1246         is not compiled in.
1247         (argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
1249 2001-08-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
1251         * view.c (view_handle_key) [HAVE_CHARSET]: Remove unneeded
1252         statements.
1254 2001-08-19  Pavel Roskin  <proski@gnu.org>
1256         * screen.c [HAVE_X]: Disable unused code.
1258         * fs.h: Correctly include <sys/param.h>.
1259         * x.h: Include "global.h".  Move all contents ...
1260         * global.h: Here.
1262         * regex.c (regex_compile): Warning fix for ambiguous else.
1264 2001-08-18  Pavel Roskin  <proski@gnu.org>
1266         * key.c (xmouse_get_event): Filter out GPM_UP events that don't
1267         follow a GPM_DOWN event.  Filter out events with unknown button
1268         numbers, such as mouse wheel events.
1269         (get_event): Return EV_NONE if xmouse_get_event() decided to
1270         ignore the event.
1272         * main.c (init_sigchld): Disable subshell if SIGCHLD handler
1273         cannot be installed.
1275         * x.h: Instead of undefining MIX and MAX after <gnome.h> make
1276         sure that <sys/param.h> is included before <gnome.h>.
1278 2001-08-17  Pavel Roskin  <proski@gnu.org>
1280         * key.c (mc_bindings) [linux]: Remove old hack - recognizing
1281         "\e[2~" on all terminals.
1283 2001-08-16  Pavel Roskin  <proski@gnu.org>
1285         * charsets.c (load_codepages_list): Print a warning if
1286         mc.charset cannot be opened.
1287         * setup.c (load_setup) [HAVE_CHARSET]: Remove all popup messages
1288         because it's to early to use them - ncurses would crash.
1290 2001-08-15  Pavel Roskin  <proski@gnu.org>
1292         * util.c (strip_ctrl_codes): Rewrite using pointers.  Fix
1293         stripping sequences beginning with "\e[".  Check is_printable().
1295         * man2hlp.c: Remove HTML support.  Remove old link support.
1296         Warning fixes.
1297         (print_string): Handle backslashes in verbatim mode too.
1299         * main.c (setup_pre) [HAVE_CHARSET]: Fix compilation with
1300         ncurses.
1302         * textconf.c (features): Fix interpretation of
1303         HAVE_SYSTEM_SLANG.
1304         From David Martin <dmartina@excite.es>
1306 2001-08-14  Pavel Roskin  <proski@gnu.org>
1308         * key.h (define_sequence): Change declaration to return int.
1309         * key.c (define_sequence): Return 1 on success, 0 on error.
1310         * learn.c (learn_button): Don't accept sequence if
1311         define_sequence() has failed.
1313 2001-08-12  Pavel Roskin  <proski@gnu.org>
1315         * learn.c (learn_save): Fix memory leak.
1317         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Make static.
1319         * cmd.c (guess_message_value): Typo - replace "LC_MESSAGE" with
1320         "LC_MESSAGES".
1322         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Always use strcmp()
1323         for case sensitive sort.  For case insensitive sort use
1324         strcoll() if it's case insensitive for ASCII and g_strcasecmp()
1325         otherwise.
1327 2001-08-11  Pavel Roskin  <proski@gnu.org>
1329         * achown.c (chown_advanced_cmd): Remove dead code.
1330         * chown.c (chown_cmd): Likewise.
1331         * chmod.c (chmod_cmd): Likewise.
1333         * charsets.c (load_codepages_list): Use concat_dir_and_file().
1335         * mad.h: Disable glib support - it doesn't work properly.
1337 2001-08-07  Pavel Roskin  <proski@gnu.org>
1339         * view.c: Warning fixes. Include "cmd.h". Rename help_cmd()
1340         to view_help_cmd().
1341         (view_handle_key) [HAVE_X]: Disable '!' and Ctrl-O.
1343         * main.c (do_execute): Don't show prompt if the command is empty
1344         and the subshell is not running.
1345         * view.c (view_handle_key): Add support for Ctrl-O in the viewer.
1346         Suggested by Walery Studennikov <despair@sama.ru>
1348 2001-08-06  Pavel Roskin  <proski@gnu.org>
1350         * boxes.c (display_init): Associate correct help topic.
1351         (sort_box): Likewise.
1352         (set_panel_filter): Likewise.
1353         * option.c (init_configure): Likewise.
1354         * menu.c (menubar_handle_key): Show help dependent on the active
1355         menu.
1357 2001-08-06  Andrew V. Samoilov  <kai@cmail.ru>
1359         * mad.c (mad_strdup): Return NULL if NULL is passed.
1361         * view.c (block_search): Return the position where the block was
1362         found as declared in comment.
1363         (hex_search): Don't increase pos, block_search returns now right
1364         position.
1366 2001-08-03  Andrew V. Samoilov  <kai@cmail.ru>
1368         * mad.[ch] (mad_check): Declare file parameter const.
1369         (mad_alloc): Likewise. Don't truncate it.
1370         (mad_abort): Declare message and file parameters const.
1372 2001-08-03  Pavel Roskin  <proski@gnu.org>
1374         * file.c: Warning fix.  Include global.h before other local
1375         includes.
1376         * filegui.c: Likewise.
1377         (fmd_init_i18n) [!ENABLE_NLS]: Completely disable.
1378         * i18n.h [!ENABLE_NLS]: Warning fix.
1379         * learn.c (init_learn): Move do_refresh() call immediately
1380         before cleate_dlg().  Warning fix.
1382 2001-07-31  Pavel Roskin  <proski@gnu.org>
1384         * Makefile.in: "install" now depends on "all".
1385         Reported by Walery Studennikov <despair@sama.ru>
1387 2001-07-31  Andrew V. Samoilov  <kai@cmail.ru>
1389         * util.c [!HAVE_X] (is_printable): Don't duplicate declarations from
1390         main.h.
1391         (load_file): Use fopen and fstat to prevent race conditions.
1392         (size_trunc): Make suffix const array.
1393         (strip_password): Make prefixes const array.
1394         (file_date): Make fmt auto variable.
1395         * color.c (color_table): Make constant array.
1396         * widget.[ch] (label_new): Make text parameter const.
1397         * menu.c (create_menu): Don't localize name, it is always done.
1398         * find.c (find_parameters): Fix hotkeys duplication.
1399         * complete.c (command_completion_function): Don't stop $PATH
1400         processing on empty entry. Interpret it as current directory.
1402 2001-07-31  Pavel Roskin  <proski@gnu.org>
1404         * charsets.c: Warning fixes.
1405         * charsets.h: Likewise.
1406         * selcodepage.c: Likewise.
1407         * selcodepage.h: Likewise.
1409         * Makefile.in: Move most logic around gindex.pl into gindex.pl.
1410         Don't use maintainer-only rules since mc.hlp won't be removed
1411         now if perl is missing or gindex.pl fails.
1412         * gindex.pl: Run man2hlp internally.  Use files given as
1413         arguments instead of stdin and stdout.
1415 2001-07-30  Pavel Roskin  <proski@gnu.org>
1417         * mad.c: Don't use g_calloc - it's missing in glib 1.2.x.
1418         * mad.h: Likewise.  Use mad_alloc0() to emulate calloc().
1420         * view.h: Simplify, respect WANT_WIDGETS setting.
1422 2001-07-28  Pavel Roskin  <proski@gnu.org>
1424         * view.c (view_ok_to_quit): Make global - it's needed for GMC.
1425         * view.h: Declare view_ok_to_quit().
1427 2001-07-27  Pavel Roskin  <proski@gnu.org>
1429         * util.c [!USE_VFS] (get_current_wd): Resurrect, this time using
1430         g_get_current_dir().
1432         * background.h: Remove WITH_BACKGROUND, it's now in extraconf.h.
1433         * background.c: Use WITH_BACKGROUND instead of USE_NETCODE.
1435         * util.c (mc_mkstemps): Don't prepend $TMPDIR if prefix contains
1436         path separator.
1438 2001-07-26  Pavel Roskin  <proski@gnu.org>
1440         * cmd.c (do_link): Append filename to the default symlink
1441         target.  Don't add path separator if there is no listing on
1442         the other panel.  Avoid using fixed size buffers.
1443         From Max Schedriviy <max@tavrida.net>
1445         * main.c [HAVE_X]: Disable eight_bit_clean and full_eight_bits.
1446         * util.c (is_printable) [HAVE_X]: Simplify.
1448 2001-07-25  Pavel Roskin  <proski@gnu.org>
1450         * cmd.c (do_link): Simplify.  Don't silently exit if the source
1451         file is not regular - let user see the error if any.
1453 2001-07-24  Pavel Roskin  <proski@gnu.org>
1455         * achown.c (ch_perm): Make constant array.
1456         (chown_info_update): Use set_perm_by_flags(), not set_perm().
1457         (set_perm): Remove.
1459         * achown.c: Make all global variables static.  Fix help.
1460         * complete.c: Likewise.
1461         * chmod.c: Make all global variables static.
1462         * chown.c: Likewise.
1463         * chmod.h: Remove all variables.
1465 2001-07-23  Pavel Roskin  <proski@gnu.org>
1467         * user.c: Eliminate static variable s_editwidget.  Pass
1468         edit_widget as argument.  All callers changed.
1469         (expand_format): Fix expansion of %n and %b for the editor.
1470         * util.c: Remove dead code.
1472         * setup.c (load_keys_from_section): Give terminal-specific
1473         settings preference over settings from [terminal:general].
1475 2001-07-22  Pavel Roskin  <proski@gnu.org>
1477         * setup.c (load_keys_from_section): Give ~/.mc/ini preference
1478         over mc.lib.
1480 2001-07-20  Pavel Roskin  <proski@gnu.org>
1482         * dlg.c: Remove dependency on definitions in gconf.h.
1484         * widget.c (input_callback) [HAVE_X]: Disable Ctrl-q - it
1485         doesn't work.
1487         * file.c (panel_get_file): Use g_assert_not_reached().
1488         * key.c (xgetch_second): Make static.
1490 2001-07-19  Pavel Roskin  <proski@gnu.org>
1492         * user.c (check_format_view): Match "unform" instead of
1493         "unformated" because some users may spell this word correctly.
1495 2001-07-17  Pavel Roskin  <proski@gnu.org>
1497         * util.c (get_current_wd): Remove.  It's obsoleted by
1498         g_get_current_dir() from glib.
1500         * ext.c (exec_extension): Add the `rm' command to the end of
1501         temporary scripts so that they erase themselves.
1503         * util.c (mc_mkstemps): Always use "unsigned long" for enthropy,
1504         since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
1505         checking for "long long" is not worth the trouble.
1506         Reported by David Martin <dmartina@excite.es>
1508 2001-07-16  Pavel Roskin  <proski@gnu.org>
1510         * utilunix.c (mc_doublepopen): Use _exit() instead of exit()
1511         and don't close any unrelated file descriptors.  Explicitly
1512         close inhandle.
1514 2001-07-15  Pavel Roskin  <proski@gnu.org>
1516         * mad.h: Include stdio.h to prevent redefining mad_tempnam().
1517         * main.c [HAVE_X && HAVE_MAD]: Don't call done_key().
1519         * dlg.h: Remove declarations of non-existent functions.
1520         [HAVE_X]: Disable color constants - they shouldn't be used.
1522         * boxes.c [WITH_SMBFS] (vfs_smb_get_authinfo): Copied from
1523         vfs/smbfs.c, function authinfo_get_authinfo_from_user().
1525         * cmd.c [HAVE_X]: Disable source routing dialog and panel
1526         comparison.
1527         * main.c (ctl_x_map): Simplify preprocessor directives.
1529 2001-07-14  Pavel Roskin  <proski@gnu.org>
1531         * screen.c (panel_keymap) [HAVE_X]: Disable Alt-H - it's not
1532         implemented properly for GNOME.
1533         * main.c (directory_history_list) [HAVE_X]: Disable.
1535         * panelize.c [HAVE_X]: Disable unused code.
1537         * main.c [HAVE_X]: Disable Ctrl-X sequences.
1539         * find.c: Remove code unused in the text edition.
1541         * main.c [HAVE_X]: Eliminate setup_post() and partly done_mc().
1543         * utilunix.c (uid_cache): Make static.
1544         (gid_cache): Likewise.
1545         (init_uid_gid_cache): Remove.
1546         * main.c (setup_post): Don't call init_uid_gid_cache().
1548         * main.c (default_map) [HAVE_X]: Disable Alt-T.
1549         * cmd.c [HAVE_X]: Eliminate set_basic_panel_listing_to() and
1550         toggle_listing_cmd().
1552 2001-07-13  Pavel Roskin  <proski@gnu.org>
1554         * utilunix.c (canonicalize_pathname): Don't handle PATH_SEP
1555         after backslash in a special way.
1557 2001-07-12  Pavel Roskin  <proski@gnu.org>
1559         * subshell.c (init_subshell): Run "set echo_style=both" at
1560         startup to ensure that echo in tcsh understands octal numbers.
1561         Reported by Francis Kwok <francis.kwok@alcatel.com>
1563         * Makefile.in (OURLIBS): Merge with ...
1564         (LIBS): ... this. Add @LIBICONV@.
1565         Reported by Libor Motyèka <l_motycka@ortex.cz>
1567         * subshell.c (subshell_name_quote): New function. Quote all
1568         characters as octals, use command substitution.
1569         (do_subshell_chdir): Use subshell_name_quote(). Don't change
1570         terminal settings when the quoted path is sent to the shell -
1571         it's now safe.
1573 2001-07-12  Andrew V. Samoilov  <kai@cmail.ru>
1575         * main.c: Eliminate iconify_on_exec.
1576         [!HAVE_GNOME]: Eliminate nowindows, nodesktop, twopanel,
1577         display_linksdir and cmdline_geometry.
1578         (sigchld_handler_no_subshell): Comment fixes.
1579         (midnight_callback): Likewise.
1580         (print_mc_usage): Use fputs, not fprintf.
1581         (print_color_usage): Likewise.
1582         (argument_table): Assign 'r' with force_subshell_execution and 'U'
1583         with use_subshell.
1584         (process_args): Don't deal with 'r', 'U' and 'X' options.
1585         (setup_mc) [HAVE_GNOME]: Eliminate more code.
1587         setup.c (options):  Eliminate iconify_on_exec.
1589 2001-07-10  Andrew V. Samoilov  <kai@cmail.ru>
1591         * view.c (hex_search): Release buffer after use.
1593 2001-07-09  Pavel Roskin  <proski@gnu.org>
1595         * view.c (hex_search): Reimplement parser using sscanf. Add
1596         support for decimal and octal numbers. Add error reporting.
1597         Allocate buffer dynamically.
1599         * hotlist.c: Add comments to avoid confusion between
1600         done_hotlist() and hotlist_done().
1601         (hotlist_done): Set l_hotlist to NULL.
1602         (add2hotlist): Load hotlist if it's neither loaded nor loading.
1603         This fixes Ctrl-x h. Fix compiler warning.
1605         * hotlist.c: Make more variables and functions static.
1607 2001-07-08  Pavel Roskin  <proski@gnu.org>
1609         * ext.c (exec_extension) [HAVE_X]: Free file_name. Add comment
1610         explaining why it cannot be unlinked there.
1612 2001-07-06  Pavel Roskin  <proski@gnu.org>
1614         * ext.c (exec_extension): Unlink temporary file earlier if it's
1615         not going to be used.
1616         [OLD_CODE]: Remove.
1618         * Makefile.in: Use additional quotes to preserve @prefix@ when
1619         Makefile is generated.
1621         * Makefile.in: Don't use SEDCMD2, use sed.
1623         * cons.saver.c: New variable console_minor. Eliminate variables
1624         len and vcs_name.
1625         (check_file): Set console_minor to the minor device number of
1626         the console. Disallow /dev/tty0.
1627         (detect_console): Don't parse tty_name, instead make sure that
1628         it corresponds to console_minor. Check console first. Fallback
1629         to /dev/vcc/a* if /dev/vcsa* cannot be opened.
1630         (save_console): Use console_minor.
1631         (restore_console): Likewise.
1633         * cons.saver.c (check_file): Eliminate using text messages to
1634         indicate errors. Improve debug messages.
1635         (detect_console): Likewise.
1636         (main): Adjust call to detect_console.
1638         * main.c (sigchld_handler_no_subshell): Don't restart cons.saver
1639         if it died.
1640         * subshell.c (sigchld_handler): Likewise.
1642 2001-07-05  Pavel Roskin  <proski@gnu.org>
1644         * main.c (midnight_callback): Don't handle any events except
1645         Ctrl-x combinations on DLG_KEY event if the menu is active.
1647         * main.c (load_prompt): Don't change prompt if midnight_dlg is
1648         not the current dialog.
1650 2001-06-28  Pavel Roskin  <proski@gnu.org>
1652         * util.c (size_trunc_len): New function - print file size to
1653         a buffer of limited length.
1654         * util.h: Declare size_trunc_len().
1655         * screen.c (string_file_size): Use size_trunc_len().
1657 2001-06-26  Pavel Roskin  <proski@gnu.org>
1659         * xslint.c: Remove.
1660         * Makefile.in (SRCS): Remove xslint.c.
1662 2001-06-25  Pavel Roskin  <proski@gnu.org>
1664         * key.c (ctrl_pressed): Don't limit functionality to Linux.
1665         * screen.c (prev_page_key): Don't require console_flag to be set
1666         to use ctrl_pressed(), only require that HAVE_X is undefined.
1667         (next_page_key): Likewise.
1668         * widget.c (key_left): Don't limit functionality to Linux.
1669         (key_right): Likewise.
1671         * main.h: Use "ifdef HAVE_GNOME", not "if HAVE_GNOME". Fix the
1672         order of conditionals and put comments on endifs.
1674 2001-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
1676         * view.c [HAVE_CHARSET]: Include selcodepage.h.
1677         (view_new): Use g_new0.
1678         (ruler): Make static.
1680         * complete.c (filename_completion_function): Clean it up.
1681         (command_completion_function): Make words, bash_reserved and
1682         bash_builtins const, use concat_dir_and_file.
1683         (fetch_hosts): Fix typo, style fixes.
1685 2001-06-23  Pavel Roskin  <proski@gnu.org>
1687         * mem.h: Undefine bcopy(), bcmp() and bzero() before redefining
1688         them.
1690 2001-06-22  Pavel Roskin  <proski@gnu.org>
1692         * ext.c (exec_extension) [HAVE_X]: Disable console handling.
1694         * cons.handler.c: Reorganize includes. Fix warnings on BSD.
1695         * rxvt.c (rxvt_extensions): Make static.
1696         * main.c (sigchld_handler_no_subshell) [!__linux__]: Don't try
1697         to restart cons.saver.
1698         * subshell.c (sigchld_handler) [!__linux__]: Likewise.
1700         * fsusage.c: Use HAVE_INFOMOUNT.
1701         * mountlist.c: Likewise. Fix condition when mount_list is
1702         declared.
1703         (fstype_to_string): Rename mount_list to mlist to avoid
1704         confusion with the file-scoped static variable.
1706         * cmd.c [HAVE_X]: Disable more code. Reorder includes.
1708 2001-06-20  Pavel Roskin  <proski@gnu.org>
1710         * main.c: Remove MenuBarEmpty. From Andrew V. Samoilov.
1712         * wtools.c [HAVE_X]: Disable quick dialog routines.
1714         * setup.c (save_setup) [HAVE_X]: Don't save the [Dirs] section.
1715         (load_setup) [HAVE_X]: Don't load the [Dirs] section.
1716         * main.c [HAVE_X]: Disable other_dir and boot_current_is_left.
1717         Adjust all users.
1719 2001-06-19  Pavel Roskin  <proski@gnu.org>
1721         * background.h: Correct condition when WITH_BACKGROUND is
1722         defined.
1723         * fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
1724         for old QNX and use it instead of __QNX__.
1725         * mountlist.c: Likewise.
1726         * keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
1727         of __QNX__.
1729 2001-06-18  Pavel Roskin  <proski@gnu.org>
1731         * main.c [HAVE_X]: Disable change_panel(),
1732         copy_current_readlink() and copy_other_readlink().
1733         Don't do anything with cmdline and command_prompt.
1734         * screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
1735         and chdir_to_readlink(). Adjust all callers.
1736         (panel_key) [HAVE_X]: Don't use command_prompt - always
1737         start search on alphanumeric keys.
1738         * setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
1739         layout. Adjust all dependencies.
1741         * utilunix.c (init_my_statfs): Move this ...
1742         * util.c (my_statfs): ... and this ...
1743         * mountlist.c: ... here.
1744         * util.h: Move mountlist-related declarations ...
1745         * mountlist.h: ... here.
1746         * info.c: Include mountlist.h.
1748 2001-06-17  David Martin  <dmartina@excite.es>
1750         * hotlist.c (init_movelist): Don't assume English word ordering
1751         in the title.
1753 2001-06-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
1755         * wtools.c (message): Possible buffer overflow fixed.
1756         (query_callback) [HAVE_X]: Disable more code.
1757         (listbox_refresh) [!HAVE_X]: Became a macro.
1758         * hotlist.c (init_i18n_stuff): Mark cancel_but for translation.
1760         * tree.c (tree_copy, tree_move): Possible memory leaking fixed.
1761         (tree_keymap): Constified.
1763 2001-06-15  Pavel Roskin  <proski@gnu.org>
1765         * panelize.c: Define DIR_H_INCLUDE_HANDLE_DIRENT earlier, since
1766         the GNOME edition includes dir.h from other headers.
1768         * background.c: Include "x.h".
1769         * panelize.c: Likewise.
1770         * treestore.c: Likewise.
1771         * user.c: Likewise.
1772         * util.c: Likewise.
1773         * command.c: Reorder includes. Include "x.h".
1774         * complete.c: Likewise.
1775         * find.c: Likewise.
1776         * user.h: Declare user_menu_cmd() unconditionally.
1777         * i18n.h [GAVE_GNOME]: Remove code that is now in x.h.
1779         * tty.h [HAVE_X]: Define beep() to gdk_beep().
1781 2001-06-14  Pavel Roskin  <proski@gnu.org>
1783         * xtty.h: Remove, move contents ...
1784         * tty.h: ... here.
1785         [HAVE_X]: Define attrset(), mc_refresh(), enable_interrupt_key()
1786         and disable_interrupt_key(). Don't declare mc_refresh().
1787         * view.c: Use braces around widget_move() since it's empty in
1788         the GNOME edition.
1789         * xslint.c: Eliminate attrset() and mc_refresh().
1790         * Makefile.in: Remove xtty.h.
1792         * cons.handler.c (handle_console): Remove useless default.
1793         * ext.c (regex_command): Initialize include_target_len.
1794         * find.c [HAVE_GNOME]: Eliminate untyped declarations.
1795         * fsusage.c: Remove untyped declaration of statfs().
1796         [_AIX && _I386]: Rename statfs to aix_statfs and move
1797         it before get_fs_usage(). Define statfs to aix_statfs.
1799         * achown.c: Eliminate untyped declarations.
1800         * boxes.c: Likewise.
1801         * cons.saver.c: Likewise.
1802         * hotlist.c: Likewise.
1803         * panelize.c: Likewise.
1804         * rxvt.c: Likewise.
1805         * main.c: Likewise. Make undeclared functions static.
1806         * treestore.c: Make undeclared functions static.
1807         * view.c: Likewise.
1808         * widget.c: Likewise.
1810         * main.h: Fix prototype of exec_shell.
1811         * tree.c: Make all functions static when possible.
1812         * tree.h: Changes for the above.
1814         * text.c [HAVE_X]: Remove useless #error.
1815         * cons.saver.c: Indent #error to hide it from old compilers.
1817 2001-06-13  Pavel Roskin  <proski@gnu.org>
1819         * screen.c (display_mini_info): Avoid nested i18n calls.
1820         (parse_panel_size): Warning fix.
1821         * user.c [HAVE_X]: Warning fix.
1822         (check_format_var): Avoid nested i18n calls. Improve messages.
1824         * screen.c (user_file_menu_cmd) [HAVE_X]: Disable.
1825         (panel_callback) [HAVE_X]: Don't define labels, they are unused.
1826         * user.c [HAVE_X]: Disable all user menu code.
1828         * color.c (color_table): Make static. Only use in text edition.
1829         * xtty.h: Remove unused definitions.
1831         * slint.c (slang_init): Check screen dimensions and exit if they
1832         are abnormal. This may happen due to a S-Lang bug when the TERM
1833         is set to a value not listed in termcap or terminfo.
1835 2001-06-12  Pavel Roskin  <proski@gnu.org>
1837         * boxes.c [HAVE_CHARSET]: Localize more strings. Lay out the
1838         encoding dialog using the translated title length. Remove
1839         useless preprocessor directives.
1840         From David Martin <dmartina@excite.es>
1842 2001-06-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
1844         * dlg.[ch] (x_set_dialog_title): title constified.
1845         (create_dlg): Use g_new0 instead of g_new.
1847         * selcodepage.c (do_select_codepage): Fix compilation.
1849 2001-06-09  Pavel Roskin  <proski@gnu.org>
1851         * util.c (load_mc_home_file): New function. Load file from
1852         mc_home, but try localized version of that file first.
1853         * util.h: Declare load_mc_home_file().
1854         * help.c (interactive_display): Use load_mc_home_file(). If the
1855         first argument is NULL assume mc.hlp.
1856         * dlg.c (dialog_handle_key): Use interactive_display() without
1857         specifying the help file.
1858         * tree.c (tree_copy): Likewise.
1859         * cmd.c (help_cmd): Likewise.
1860         (get_random_hint): Use load_mc_home_file().
1861         From Andrew V. Samoilov.
1863 2001-06-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
1865         * charsets.h: Define CHARSETS_INDEX without leading LIBDIR.
1867         * charsets.c (translate_character): Warning fix.
1868         (init_translation_table): Don't deal with printable.
1869         This one is initialized by init_printable_table ().
1870         (load_codepages_list): Use CHARSETS_INDEX.
1872         * selcodepage.c (do_select_codepage): Messages marked for i18n.
1873         * setup.c (load_setup): Eliminate errbuf. Fix error message.
1875 2001-06-07  Pavel Roskin  <proski@gnu.org>
1877         * setup.c (load_setup): Call init_printable_table() and
1878         init_translation_table() regardless of other failures.
1880         * charsets.c (get_codepage_index): Warning fix.
1881         (init_printable_table): New function.
1882         * charsets.h: Declare init_printable_table().
1883         * setup.c (load_setup): Uncomment init_printable_table().
1885         * cons.saver.c: Make all functions except main() static.
1886         * mfmt.c (omain): Remove, it's unused.
1888 2001-06-06  Pavel Roskin  <proski@gnu.org>
1890         * main.c (done_mc) [HAVE_X]: Don't use xterm_flag.
1891         (midnight_callback) [HAVE_X]: Don't handle any keys except
1892         Ctrl-x sequences.
1893         Remove useless preprocessor conditionals.
1894         * win.c [HAVE_X]: Disable unused functions.
1896         * file.c: Add comments after every endif.
1897         [HAVE_GNOME] [!WITH_BACKGROUND]: Fix compilation.
1899 2001-06-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
1901         * main.c [HAVE_CHARSET]: Remove source_codepage and display_codepage.
1902         They are declared in selcodepage.c.
1903         * setup.c [USE_VFS]: Remove declarations for variables which are
1904         declared in vfs/ftpfs.c.
1905         (load_setup) [HAVE_CHARSET]: init_printable_table commented
1906         out to enable compilation. Error strings tagged for translation.
1907         (init_setup): Optimized.
1908         * boxes.c (sel_charset_button): Eliminate C++ comment.
1909         (new_display_codepage): Made static.
1910         (display_bits_box): Use "%s" for plain string in message.
1912 2001-06-05  Pavel Roskin  <proski@gnu.org>
1914         * boxes.c [HAVE_CHARSET]: New charset selection dialog.
1915         * main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
1916         full_eight_bits. Use source_codepage and display_codepage to
1917         deduce the terminal 8-bitness.
1918         * main.h [HAVE_CHARSET]: Change to match main.c.
1919         * setup.c [HAVE_CHARSET]: Implement saving and loading charset
1920         settings.
1921         * util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
1922         * view.c [HAVE_CHARSET]: Implement charset support.
1923         From Walery Studennikov <hqsoftware@mail.ru>.
1925         * selcodepage.c (do_select_codepage): New function.
1926         * selcodepage.h: Declare it.
1927         From Walery Studennikov <hqsoftware@mail.ru>.
1929         * mfmt.c (omain): Warning fix.
1931         * key.c [HAVE_TEXTMODE_X11_SUPPORT]: Rename `display' to
1932         `x11_display' and `w' to `x11_window'. Make them static.
1933         (init_textmode_x11_support): Include into init_key().
1934         (done_textmode_x11_support): Include into done_key().
1935         (k_dispose): Make static.
1936         (s_dispose): Likewise.
1937         * key.h: Remove init_textmode_x11_support() and
1938         done_textmode_x11_support().
1939         * main.c: Don't call init_textmode_x11_support() and
1940         done_textmode_x11_support().
1942         * achown.c: Make global variables static if possible. Remove now
1943         useless preprocessor directives, since this file is now used in
1944         the text edition only.
1945         * boxes.c: Remove useless ifdefs.
1946         [USE_VFS]: Don't undef USE_NETCODE - it's done in extraconf.h.
1947         * cmd.c [USE_VFS]: Don't undef USE_NETCODE.
1948         * chmod.c: Remove useless ifdefs.
1949         * filegui.c: Likewise.
1950         * hotlist.c: Likewise.
1951         * info.c: Likewise.
1952         * layout.c: Likewise.
1953         * listmode.c: Likewise.
1954         * option.c: Likewise.
1955         * subshell.c: Likewise.
1956         * help.c: Remove useless ifdefs. Make global variables static if
1957         possible.
1958         * key.c: Likewise.
1959         * learn.c: Likewise.
1961 2001-06-04  Andrew V. Samoilov  <sav@bcs.zp.ua>
1963         * charsets.c (load_codepages_list): Lines in mc.charset beginning
1964         with a # are comments. Use "default character_set_name" in mc.charset
1965         to set default codepage for your system.
1966         (xstrncpy): Eliminate.
1968 2001-06-04  Pavel Roskin  <proski@gnu.org>
1970         * cmd.c (edit_symlink_cmd) [!HAVE_GNOME]: Warn if the current
1971         selection is not a symbolic link.
1973 2001-06-02  Pavel Roskin  <proski@gnu.org>
1975         * cmd.c (free_vfs_now) [HAVE_GNOME]: Eliminate.
1976         (reselect_vfs) [HAVE_GNOME]: Likewise.
1977         * main.c (ctl_x_map) [HAVE_GNOME]: Disable add2hotlist_cmd.
1978         (done_mc) [HAVE_X]: Don't call save_hotlist().
1979         * setup.c (save_setup) [HAVE_X]: Likewise.
1980         (done_setup) [HAVE_X]: Don't call done_hotlist().
1982 2001-06-01  Pavel Roskin  <proski@gnu.org>
1984         * hotlist.c [HAVE_X]: Don't use ctrl_pressed().
1985         * widget.c [HAVE_X]: Likewise.
1986         * main.c [HAVE_X]: Likewise. Don't call init_key() and
1987         init_key_input_fd().
1988         * setup.c [HAVE_X]: Remove some variables that make no sence
1989         for the GNOME edition. Eliminate save_panel_types().
1990         * view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
1992         * view.c [HAVE_X]: Define is_idle() to 1. Warning fix.
1994         * file.c (copy_file_file): Initialize src_uid, src_gid, src_mode
1995         and file_size to avoid a warning.
1997 2001-05-31  Pavel Roskin  <proski@gnu.org>
1999         * charsets.c: Include config.h before everything else.
2000         * selcodepage.c: Likewise.
2002         * textconf.c (features): Use longer strings to avoid enforcing
2003         english word ordering on the translations. Capitalize sentences.
2004         From Walery Studennikov: Indicate charset support.
2005         (version): Use fputs, not fprintf.
2007         * Makefile.in: Add charsets.c, charsets.h, selcodepage.c and
2008         selcodepage.h. Compile them if the charset support is enabled.
2009         Distribute them always.
2011 2001-05-30  Pavel Roskin  <proski@gnu.org>
2013         * charsets.c: New file for charset conversion support.
2014         From Walery Studennikov.
2015         * charsets.h: Likewise.
2016         * selcodepage.c: Likewise.
2017         * selcodepage.h: Likewise.
2019         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 0 if
2020         possible to prevent ncurses from waiting after escape.
2022 2001-05-29  Pavel Roskin  <proski@gnu.org>
2024         * cmd.c (quick_cd_cmd) [HAVE_GNOME]: Disable.
2025         * main.c (sort_cmd) [HAVE_GNOME]: Likewise.
2026         (ctl_x_map) [HAVE_GNOME]: Disable "Ctrl-x j" - background jobs.
2028         * color.c (init_colors) [HAVE_SLANG]: Use "default" instead of
2029         NULL as color names - this works even if COLORFGBG is unset.
2030         Don't check HAS_DIRECT_COLOR_ACCESS - it's now meaningless.
2032         * color.h: Define DEFAULT_COLOR_INDEX and DEFAULT_COLOR in the
2033         same way regardless of HAVE_SLANG.
2034         * color.c (init_colors) [USE_NCURSES]: Initialize the default
2035         color pair.
2037         * subshell.c (pty_open_master) [!HAVE_SCO && HAVE_GRANTPT]:
2038         Don't try to close a file that wasn't opened.
2040         * xslint.c: Remove slang_init() and FIXME in the comment.
2041         * main.c (main) [!HAVE_SLANG]: Don't call slang_init().
2043 2001-05-28  Pavel Roskin  <proski@gnu.org>
2045         * myslang.h: Use HAVE_SLANG_SLANG_H instead of non-standard
2046         SLANG_H_INSIDE_SLANG_DIR.
2048         * xslint.c: Remove unused functions.
2050         * color.c (init_colors) [HAVE_SLANG]: Use SLtt_set_color() to
2051         associate the default colors with DEFAULT_COLOR_INDEX. The old
2052         code would unset alternative charset without making S-Lang aware
2053         of it.
2054         Thanks to John E. Davis <davis@space.mit.edu>
2055         * widget.c (update_input) [HAVE_SLANG]: Revert last change - it
2056         is not needed now.
2058 2001-05-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
2060         * main.c: Correct some comments after #endif
2061         (shell): Remove comment and #ifdef around shell variable.
2062         (process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
2063         between one #ifdef ... #endif pair.
2064         (process_args): smbfs_set_debug () takes a debug level as argument,
2065         commented out.
2067 2001-05-27  Pavel Roskin  <proski@gnu.org>
2069         * main.c (OS_Setup) [!HAVE_X]: Exit immediately if TERM
2070         environment variable is unset or empty.
2072 2001-05-25  Pavel Roskin  <proski@gnu.org>
2074         * cmd.c: Clean up useless preprocessor directives.
2075         (symlink_cmd): Warning fix.
2076         * dlg.c (dialog_handle_key) [HAVE_X]: Disable suspend on Ctrl-z.
2077         * main.c (do_suspend_cmd) [HAVE_GNOME]: Remove.
2078         (suspend_cmd) [HAVE_GNOME]: Likewise.
2080 2001-05-24  Pavel Roskin  <proski@gnu.org>
2082         * widget.c (update_input) [HAVE_SLANG]: Work around a bug in
2083         SLang 1.x - set charset to alternative when printing spaces.
2085 2001-05-22  Pavel Roskin  <proski@gnu.org>
2087         * ext.c (exec_extension): Use g_free() on the result of
2088         mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
2089         needed anymore.
2090         * user.c (execute_menu_command): Likewise.
2091         * util.c (mc_mkstemps): Return NULL in the filename in the case
2092         of failure. Remove support for NULL as the first argument.
2093         From Andrew V. Samoilov.
2095 2001-05-21  Pavel Roskin  <proski@gnu.org>
2097         * ext.c (exec_extension): Use mc_mkstemps().
2098         * user.c (execute_menu_command): Use mc_mkstemps().
2099         * util.c (mc_mkstemps): New function - safely create and
2100         open temporary file. Return the handle and the name.
2101         * util.h: Declarations for init_tmpdir() and mc_mkstemps().
2102         Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
2104 2001-05-18  Pavel Roskin  <proski@gnu.org>
2106         * TODO: Remove Tk-related entries.
2107         * boxes.c [HAVE_TK]: Remove. Don't need INPUT_INDEX anymore.
2108         * screen.c [HAVE_TK]: Remove.
2109         (panel_event): Made static.
2110         * chmod.c [HAVE_TK]: Remove.
2111         * cmd.c [HAVE_TK]: Likewise.
2112         * help.c [HAVE_TK]: Likewise.
2113         * hotlist.c [HAVE_TK]: Likewise.
2114         * info.c [HAVE_TK]: Likewise.
2115         * view.c [HAVE_TK]: Likewise.
2116         * view.h [HAVE_TK]: Likewise.
2117         * widget.c [HAVE_TK]: Likewise.
2118         * wtools.c [HAVE_TK]: Likewise.
2120         * TODO: Remove XView-related entries.
2121         * menu.h [HAVE_XVIEW]: Remove all XView-related code.
2123 2001-05-17  Pavel Roskin  <proski@gnu.org>
2125         * subshell.c (pty_open_master) [HAVE_SCO]: Fix ambigous `else'.
2126         [!HAVE_SCO && !HAVE_GRANTPT]: Likewise.
2128 2001-05-16  Pavel Roskin  <proski@gnu.org>
2130         * subshell.c: Define _GNU_SOURCE to enable prototypes for
2131         allocating pseudo-terminals on GNU systems.
2133         * subshell.c (init_subshell_child): New function to initialize
2134         child process and run subshell. Code moved from ...
2135         (init_subshell): ... here.
2137         * subshell.c (init_subshell): Don't close pty_slave if is wasn't
2138         open. Initialize it with -1.
2140 2001-05-14  Pavel Roskin  <proski@gnu.org>
2142         * main.c [HAVE_GNOME]: Disable more code.
2143         * cmd.c [HAVE_GNOME]: Likewise.
2145         * background.h: Omit definitions that require FileOpContext if
2146         fileopctx.h has not been included yet.
2148         * background.c (real_message_2s): Declare arguments "const" when
2149         possible.
2150         (real_message_3s): Likewise.
2151         * wtools.c (message): Likewise.
2152         * background.h: Change declarations to match.
2153         * dialog.h: Likewise.
2155         * boxes.c [HAVE_GNOME]: Disable unused code.
2156         * find.c [HAVE_GNOME]: Likewise.
2157         * complete.c [HAVE_GNOME]: Likewise.
2158         * main.c [HAVE_GNOME]: Likewise.
2160         * screen.c (adjust_top_file): Enable only if it's used, i.e.
2161         when PORT_HAS_PAINT_FRAME in undefined.
2162         * wtools.c (listbox_refresh): Disable for HAVE_X, define to
2163         an empty macro instead.
2164         (listbox_callback): Call listbox_refresh() regardless of HAVE_X.
2165         (create_listbox_window): Likewise.
2167         * fsusage.c: Include stdlib.h for abort().
2168         * tree.c (tree_mkdir_cmd): Disable tree_mkdir_cmd() since it's
2169         not used.
2170         * widget.c: Declare x_radio_toggle() with arguments.
2172         * util.h: Remove declarations of some functions defined in
2173         background.c.
2175 2001-05-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
2177         * background.c (real_message_1s, message_1s): third parameter is
2178           used by message () as printf pattern, so "%s" has to be added
2179           if plain string must be shown but printf conversion
2180           specification(s) may be there.
2181         * view.c (do_view_init): ditto
2182         * user.c (debug_out): ditto
2183         * utilunux.c (close_error_pipe, check_error_pipe): ditto
2185         * background.[ch], vfs/util-alone.c (message_1s): third parameter
2186           constified
2188 2001-04-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
2190         * find.c (search_content): Redo recent change without infinite loop ;-),
2191         egrep_path hardcoded to "egrep" as it is done in locate_egrep ()
2193         (locate_egrep): commented out
2195         (rotating_dash) [!HAVE_X]: moved into do_search to prevent warning
2197 2001-04-26  Pavel Roskin  <proski@gnu.org>
2199         * find.c (search_content): Undo a recent change that caused an
2200         infinite loop.
2202 2001-04-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
2204         * view.c (get_line_at): previous newline is right condition
2205         for regexp '^' pattern also, fixed
2207         (search) [HAVE_GNOME]: gnome_message_box_new doesn't expand printf
2208         pattern, so g_strdup_printf used
2210         * find.c (find_parameters): don't use stat structure if mc_stat failed
2212 2001-04-17  Pavel Roskin  <proski@gnu.org>
2214         * subshell.c (init_raw_mode): New function, separated from ...
2215         (invoke_subshell): ... this.
2216         (init_subshell): Initialize raw_mode here instead of delayng it
2217         until invoke_subshell(). Otherwise the current mode may have
2218         been changed by edition_pre_exec(), which caused Ctrl-O to be
2219         ignored on FreeBSD if a command has been run before switching
2220         to the subshell.
2222 2001-04-06  Pavel Roskin  <proski@gnu.org>
2224         * chmod.c (stat_file): Allow chmod and chown on special files.
2226         * cons.handler.c: Include "global.h" for exit().
2228         * Makefile.in: Add dependencies between mc and static libraries
2229         in the source tree.
2231 2001-04-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
2233         * find.c (find_parameters): Add a checkbox for case insensitive
2234         content search.
2235         (search_content): Pass `-i' to egrep for case insensitive
2236         search.
2238 2001-03-30  Andrew V. Samoilov  <sav@bcs.zp.ua>
2240         * panel.h, screen.c (panel_new): panel_name constified to do gcc
2241         some more happy when gmc is compiled
2243 2001-03-18  Miguel de Icaza  <miguel@ximian.com>
2245         * widget.c (forward_word, backward_word): Revert Timur's patch
2246         from last year which made the behaviour for advancing words not
2247         match the one in Emacs.
2249 2001-03-02  Pavel Roskin  <proski@gnu.org>
2251         * key.c (mi_getch): Discard non-events (EV_NONE), but not
2252         keycode 0 (Ctrl-@).
2254 2001-02-26  Pavel Roskin  <proski@gnu.org>
2256         * cmd.c (edit_cmd) [HAVE_GNOME]: Use gmc_edit(). Don't use
2257         regex_command().
2258         (ext_cmd) [HAVE_GNOME]: Don't compile for GNOME.
2259         * ext.c (regex_command) [HAVE_GNOME]: Likewise.
2260         * ext.h [HAVE_GNOME]: Don't define MC_USER_EXT and MC_LIB_EXT.
2262         * main.c (main): Don't call edit_init_file() - the editor should
2263         care about its files itself.
2265 2001-02-09  Pavel Roskin  <proski@gnu.org>
2267         * main.c (main): Fix compilation error when configured without
2268         subshell support.
2270 2001-02-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
2272         * main.c (main): Do not fork subshell for mcedit/mcview.
2274 2001-01-27  Pavel Roskin  <proski@gnu.org>
2276         * cons.handler.c (handle_console): Check the result of ttyname().
2278         * main.c (handle_args): Exit if no arguments are given to mcview.
2279         [HAVE_GNOME]: Don't examine argv[0] - it's done separately.
2281         * dir.c: Respect HAVE_STRCOLL. Added a comment about strcoll().
2283 2001-01-26  Pablo Saratxaga  <pablo@mandrakesoft.com>
2285         * file.c: moved a comment one line down so it becomes visible on the
2286         translators' po files. Also added gettext:no-c-format comments for
2287         a few strings with % in them that are not C format printf codes.
2289 2001-01-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
2291         * subshell.c (do_subshell_chdir): temporary patch to prevent command
2292         execution for directory names containing 0x03 (intr) 0x14.
2293         See http://www.securityfocus.com/vdb/?id=2016 for details.
2294         Subshell still can't chdir to such directories :(
2296         * subshell.[ch] (do_subshell_chdir): directory constified
2298 2001-01-17  Pavel Roskin  <proski@gnu.org>
2300         * Makefile.in: Respect LDFLAGS when linking cons.saver.
2302 2000-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
2304         * view.c: Fixed long existed bugs in internal viewer. When search is
2305         doing in binary file it ignore skipped zero(es), so cursor is before
2306         searched expression and next search find the same string. Also regexp
2307         search could return wrong results for '^ ?' expressions.
2309         (get_line_at): skipped: new parameter for number of skipped zero(es)
2311         (search): new features of get_line_at used.
2313 2000-11-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
2315         * cons.saver.c (check_file): close fd on error. There was a bug, which
2316         allowed luser to write '\0' char to any symlinkable file in Linux
2317         system which don't ensure that fd's 0, 1, and 2 are open on startup
2318         of a SUID/SGID binary.
2319         Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.
2321 2000-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
2323         * layout.c (print_vfs_message): format string vulnerability fixed
2325 2000-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
2327         * main.c (CmdMenu): don't include edit_user_menu_cmd ()
2328         if USE_INTERNAL_EDIT is not defined
2329         (main): call edit_init_file () if USE_INTERNAL_EDIT is defined only
2330         (listmode_cmd): messages are localized
2332 2000-11-02  Pavel Roskin  <proski@gnu.org>
2334         * layout.c [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Declare
2335         low_level_change_screen_size().
2336         (flag_winch) [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Call
2337         low_level_change_screen_size(). From Andrew V. Samoilov.
2339 2000-10-04  Pavel Roskin  <proski@gnu.org>
2341         * user.c (expand_format): Fixed processing of "%s".
2343 2000-09-30  Pavel Roskin  <proski@gnu.org>
2345         * Makefile.in: Added an explicit rule for man2hlp.
2347 2000-09-26  Pavel Roskin  <proski@gnu.org>
2349         * listmode.c, listmode.h, main.c: Consistently using define
2350         LISTMODE_EDITOR to enable the experimental listmode editor.
2351         * main.c: Don't allow two adjacent separators in the Command
2352         menu.
2354 2000-09-22  Pavel Roskin  <proski@gnu.org>
2356         * fixhlp.c: Removed.
2357         * Makefile.in: Removed all references to fixhlp.c
2359 2000-09-14  Pavel Roskin  <proski@gnu.org>
2361         * features.h: Joined with textconf.h to avoid name clash with
2362         GNU Libc.
2363         * features.c: Renamed to ...
2364         * textconf.c: ... this
2365         * Makefile.in, cmd.c, main.c, text.c: necessary adjustments
2367         * Makefile.in: Don't make softlinks to the libraries
2369 2000-09-13  Pavel Roskin  <proski@gnu.org>
2371         * Makefile.in: Only rebuild mc.hlp in the maintainer mode.
2373 2000-09-01  Pavel Roskin  <proski@gnu.org>
2375         * fixhlp.c: fixed compile errors and warnings
2377 2000-08-30  Pavel Roskin  <proski@gnu.org>
2379         * dirhist.c, dirhist.h: removed
2381         * features.h, keys.h, textconf.h, x.h: added protection against
2382         multiple inclusion
2384 2000-08-23  Pavel Roskin  <proski@gnu.org>
2386         * features.c: include <sys/param.h> to avoid a warning
2388         * main.c [HAVE_X]: print_mc_usage() and print_color_usage()
2389         removed.
2390         version() moved to ...
2391         * features.inc: ... here, renamed to features.c
2392         * main.h: status_using_ncurses moved to ...
2393         * features.h: ... here
2394         * cmd.c, text.c: include "features.h"
2395         * cmd.h: include "panel.h"
2396         * Makefile.in: changed to use features.h and features.c
2398 2000-08-22  Pavel Roskin  <proski@gnu.org>
2400         * main.c [HAVE_GNOME]: disable chmod and chown - they were
2401         broken and obsoleted by the "Properties" dialog
2403         * cmd.c [HAVE_X]: Removed dependency on status_using_ncurses
2405         * man2hlp.c: Removed undocumented feature - when converting
2406         to HTML some output would go to index.html instead of stdout
2408 2000-08-16  Pavel Roskin  <proski@gnu.org>
2410         * gindex.pl: Enable warnings. Existing warnings fixed.
2412         * Makefile.in: mc.hlp now depends on man2hlp.c instead of
2413         man2hlp - this avoids some rebuilds of mc.hlp
2415 2000-08-15  Pavel Roskin  <proski@gnu.org>
2417         * mc.hlp: removed. It's a derived file
2418         * Makefile.in: Fixed dependencies for $(srcdir)/mc.hlp
2419         Build $(srcdir)/mc.hlp but allow a failure (e.g. no perl)
2421 2000-08-11  Frederic L. W. Meunier  <fredlwm@pervalidus.net>
2423         * Makefile.in: Don't compile mfmt, compile mcmfmt directly.
2425 2000-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
2427         * hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
2428         tkn_length nullified after tkn_buf is freed to prevent crashes.
2430         (new_hotlist): became a macro
2432         * background.c (real_message_[123]s): title is really prepended
2433         by "Background process:" string now if mode == Background
2435         (background_attention): resstr NULLified to prevent warning
2437 2000-06-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
2439         * screen.c (display_mini_info): two different patterns are
2440         used now: for one file and for other cases
2442 2000-06-16  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2444         * cons_saver: support linux with devfs, patch by pavenis@lanet.lv
2446 2000-06-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
2448         * panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
2449         parameters and WPanel.total field became double, thus, total size
2450         of selected files/directories is shown in the mini status correctly
2451         when it exceeds 2 GB.
2453 2000-05-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
2455         * slint.c (init_pair): segfault fixed when mcedit -b called
2457         * user.c (check_format_var): error messages are localized
2459         (expand_format, user_menu_cmd): memory leaking for %e and %k macro
2460         fixed; segfault fixed when %m macro is used outside user_menu_cmd ()
2462         * ext.c (regex_command): memory leaking fixed when user extension
2463         file is absent
2465         (exec_extension): error message for changed mc.ext file format
2466         are localized -- does we really must be worry about mc 3.0 ?
2468         * widget.c (history_put): counter is initialized again
2470 2000-05-11  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2472         * src/user.c: fix segfault when Shift-F4, Shift-F1, so when menu
2473         content condition y, macro %y
2475 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2477         * src/user.c: Add macro %k it is block file name
2478         Add macro %e it is error file name
2479         Add macro %i it is cursor column indent of spaces, only for edit
2480         Add macro %y, it is syntax of current file in editor, only for edit
2481         Add condition y, it is syntax pattern of current file in edit
2482         Add macro %x it is extension of current file
2483         Add macro %m it is current menu filename
2485 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2487         * gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
2488         Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
2489         edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
2490         (the message of David H. Martin <dmartina@usa.net>)
2492 2000-05-05  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2494         * src/user.c:   Add condition (x filename) into mc.menu .
2495                         for "Open next a free console" and like.
2497 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2499         * src/user.c: fix segfault in chunk_alloc of glibc, when into condition
2500         of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
2502 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2504         * gtkedit/edit.c:
2505         Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
2506         * gtkedit/editmenu.c:        home: ~/.cedit.menu, local: .cedit.menu
2507         Marked block is access now from an user edit menu
2508         Access ~/.cedit/cooledit.block for insert to cursor place from
2509         user edit menu.
2510         Created system cedit.menu
2512 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
2514         * gtkedit/editdraw.c:
2515         Improved a status string of cool editor for best understand,
2516         and to add char,hex view.
2518 2000-04-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
2520         * widget.c: (history_put): profile is free()d if chmod failed,
2521           (input_map): added const qualifier
2522         * utilunix.c, util.h: (tilde_expand): added const qualifier
2523         * cmd.c: (nice_cd): i18n update,
2524           (source_routing): typo fixed, source is free()d after use
2525         * screen.c: i18n changes, (panel_keymap): added const qualifier
2526         * view.[ch]: (view, view_init, do_view_init): added const qualifier
2528 2000-04-15  Timur Bakeyev  <mc@bat.ru>
2530         * dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
2531         directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
2532         as it is in POSIX.
2534 2000-04-15  Timur Bakeyev  <mc@bat.ru>
2536         * dlg.c: Commited at last patch, that fixes screwed up right panel in
2537         a long format. Occasionaly, all my colors problems also gone. All thanks
2538         to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
2539         problem, blames to me and Federico :)
2541 2000-04-12  Timur Bakeyev  <mc@bat.ru>
2543         * widget.c ([forward|backward]_word): Changed one more time - now it
2544         skips alpnums and THEN spaces+punct. That gives almost the same re-
2545         sults, but twice quicker. Hope, this will be accepted.
2547 2000-04-06  Timur Bakeyev  <mc@bat.ru>
2549         * widget.c ([forward|backward]_word): Changed logic of moving - now,
2550         it skips only spaces+punct OR alnum. Reason to do it so - deleting lines
2551         like "lynx http://www.gnome.org", where "lynx http:" part was erased
2552         in one operation. That's nasty, IMHO. Made this a separate commit, so,
2553         if it seriously breaks compatability it's easy to revert it. Still hope,
2554         nobody'll do that.
2556 2000-04-06  Timur Bakeyev  <mc@bat.ru>
2558         * file.c, widget.[ch]: Fixed long existing problems with filenames
2559         and input widgets, then char is greater than 128. They were processed
2560         incorrectly. As usual, char != unsigned char problem.
2562 2000-03-03  Björn Eriksson  <mdeans@algonet.se>
2564         * Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.
2566         * mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
2567         problems when later g_free()ed.
2569         * Added mad_strndup().
2571         * Repeated code collected in mad_fatal_error().
2573         * The gcc-extension/C99-standard variable argument macros (adding
2574         __FILE__, __LINE__ before ', ...') would be nice.
2576         * Alloc_idx_hint and code added, the mad code was way too slow for my
2577         poor computer. A hash-table would be nice.
2579         * (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
2580         undefined at the top of mad.c, so mad_alloc must be used.
2582 2000-02-23  Norbert Warmuth  <nwarmuth@privat.circular.de>
2584         * main.c (parse_control_file): add missing right parentheses
2586         * boxes.c: fix incorrect initialization of array of structure (gcc
2587         version 2.96 20000131 chokes on it).
2589 2000-02-18  Paul Sheer  <psheer@obsidian.co.za>
2591         * gtkedit/*.[ch], edit.c et al: updates to reflect
2592         cooledit-3.13.0. See CVS commits and cooledit ChangeLog
2593         for details.
2595 2000-02-10  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2597         * setup.c (load_setup): remove duplicate loading of anonymous
2598         passwd by do_load_string(), it is doing by
2599         ftpfs_init_passwd. (Patch by sav@bcs.zp.ua)
2601 2000-02-04 "David H.Martin" <dmartina@usa.net>
2603         * src/widget.c (input_new): Change NULL to empty strings and avoid
2604           crashing when string functions are called.
2605         * src/boxes.c (configure_vfs): Remove local change to empty string.
2606         * src/setup.c (load setup): Load anonymous password
2608 2000-02-03 Andrew V. Samoilov  <sav@bcs.zp.ua>
2610         * setup.c (load_setup): call ftpfs_init_passwd to avoid segfault
2612 2000-01-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
2614         * main.c (parse_control_file): add extra secutity checks for
2615          control file. It cannot be group/world writable;
2616         (ctl_x_map, default_map, argument_table): added const qualifier.
2618         * fixed segfault in print_mc_usage
2620 2000-01-24  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2622         * cmd.c (nice_cd): disabled ability to go to home.
2624 2000-01-02  viro@math.psu.edu
2626         * src/subshell.c: Reason: in feed_subshell() we are trying to read
2627         from shell pty,check for retval==-1 && errno != EIO. In that case
2628         we flame and exit. Otherwise we are trying to write what we've
2629         read. Good luck doing it if we got errno==EIO, which is _normal_
2630         for situation when shell just died. Resulting write(1,foo,~0U) is
2631         somewhat excessively, erm, verbose.
2633 1999-12-21  Pavel Roskin  <pavel_roskin@geocities.com>
2635         * src/main.c, src/view.c: #warning's replaced with FIXME's.
2636         They were not for users, but for developers
2638 1999-11-11  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2640         * main.c, cmd.c: add possibility to free VFS now
2642 1999-11-03  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2644         * layout.c: always display status line. It contains vital
2645         information for ftpfs
2647 1999-03-19  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2649         * profile.c (str_translate_newline_dup): someone likes to pass
2650         NULL's around. Warn instead of segfault.
2652 1999-11-02  Miguel de Icaza  <miguel@gnu.org>
2654         * main.c (OS_Setup): Do not warn if TERM is not set for the GNOME edition.
2656 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
2658         * dlg.c (dlg_broadcast_msg_to): Sigh.  Put in a GrossHack(tm) to
2659         unfocus what will be a WInput when a panel is initialized.
2661 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
2663         * dlg.c (init_dlg): Walk the list of widgets only if it exists.
2664         (dlg_broadcast_msg_to): Use safer list-walking code for if someone
2665         inserts a widget inside the message broadcast.
2667 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
2669         The following is a patch from Volker Braun
2670         <volker.braun@physik.hu-berlin.de> to fix column resizing in the
2671         file panels.
2673         * setup.c (options): Declare the column width option values.
2674         (save_configure): Save the default user format.
2675         (load_setup): Load the default user format.
2677         * panel.h (WPanel): Added a field for the column widths.
2679 1999-09-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
2681         * user.c (check_patterns): char* is used instead of char [] in sizeof
2683         * util.c (string_perm): prefix named pipes by 'p' and not by `s'
2685 1999-09-19  Norbert Warmuth  <nwarmuth@privat.circular.de>
2687         * mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
2688         to mad.[ch]
2690         * option.c: Include files reordered in order to make it compile with
2691         --with-debug
2693         * mad.c (mad_init): New function. Initialize debug FILE pointer to
2694         stderr (moved to a function because not on every system stderr is
2695         a constant).
2696         (mad_set_debug): added const qualifier
2698         * main.c (main): call mad_init
2700 1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>
2702         * widget.[ch] (input_new): added const qualifier
2704         * util.c (wipe_password): Check for NULL.
2706 1999-09-13  Federico Mena Quintero  <federico@redhat.com>
2708         * treestore.c: Removed tree_store_destroy(), renamed
2709         tree_store_init() to tree_store_get().
2711         * tree.c (tree_destroy): Do not destroy the tree store.
2712         (tree_new): Get the tree store, do not initialize it.
2714         * treestore.c (tree_store_init): Do not set the linked list
2715         pointers to NULL.
2717         * panel.h (WPanel): Added a new field that indicates whether the
2718         user is dragging something over the tree.
2720 1999-08-31  Federico Mena Quintero  <federico@redhat.com>
2722         * main.c: In the GNOME version, we want cd_symlinks to be FALSE.
2723         The VFS should never have to look at this variable, but alas, it
2724         does.  BUGFIX:  Red Hat Bugzilla #2344.
2726         * setup.c: Disable cd_symlinks in the GNOME version.
2728 1999-08-30  Norbert Warmuth  <nwarmuth@privat.circular.de>
2730         * main.c (print_mc_usage): Print the bug reporting address.
2731         (main): Put prompt in a new line at termination.
2733 1999-08-27  Federico Mena Quintero  <federico@redhat.com>
2735         * ext.c (quote_block): How did this ever work?  People, if you
2736         realloc() things, don't keep pointers to stuff inside the original
2737         block.
2739         * screen.c (do_enter_on_file_entry): Pass in the full name to
2740         if_link_is_exe().
2742         * dir.[ch] (if_link_is_exe): Take in the full name, not the directory
2743         and the file entry.
2745 1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>
2747         * cmd.c (guess_message_value): New function. Determine locale used
2748         for messages
2750         (get_random_hint): use guess_message_value
2752 1999-08-15  David Martin  <dmartina@usa.net>
2754         * boxes.c: (symlink_dialog): Move dialog misaligned elements
2756         * cmd.c (get_random_hint): Look for localized hint files
2758 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2760         * ext.c: Added missing include file.
2762 1999-08-08  David Martin  <dmartina@usa.net>
2764         * menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
2765         get the right size even when NLS is disabled.
2767 1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
2769         * screen.c (string_file_[amc]time): These three functions use
2770         file_date which returns a pointer to a static buffer. In the
2771         Gnome edition this buffer has to be coppied to a static buffer
2772         which isn't used in the other two functions (Fix Bug #1766).
2774         * util.c, util.h: Moved some constants to util.h
2776 1999-08-04  Norbert Warmuth  <nwarmuth@privat.circular.de>
2778         * widget.c (push_history): Add SMB Link to the list of input dialogs
2779         where urls are input without vfs prefix.
2781         Translate the titles of these input dialogs only once.
2783         Removed Gnome specific code because the Gnome edition doesn't use
2784         the input history any more.
2786         * util.c (strip_password): Add /#smb: to the list of urls which might
2787         be input with password.
2789 1999-08-03  Norbert Warmuth  <nwarmuth@privat.circular.de>
2791         * poptalloca.h: New file with definitions for alloca. Note: alloca
2792         is defined as malloc on systems which fail to support alloca. Don't
2793         include this file if you frequently use alloca.
2795         * findme.c, popt*.c: include poptalloca.h
2797         * Makefile.in: added poptalloca.h
2799         * menu.c (create_menu): set minimum menu width to 20 characters as
2800         it used to be (this was part of davids patches but I haven't
2801         applied it, yet).
2803 1999-08-01  David Martin  <dmartina@usa.net>
2805         * menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
2806         Discount '&' for hotkeys when checking menu widths to avoid the
2807         extra blank space.
2808         Moved this accounting from the drawing to the creating function.
2810         * widget.c: Translate History box tittle.
2812 1999-07-21  Norbert Warmuth  <nwarmuth@privat.circular.de>
2814         * popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c: updated
2815         to the version found in the popt module
2817         * features.inc: added report information for smbfs
2819 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
2821         * file.c (move_dir_dir): Give an error when an attempt is made to
2822         move an empty directory into itself.
2824 1999-06-24  smil@linuxfan.com
2826         * view.c (view_update_bytes_per_line, display): show correctly the
2827         offset of the file (full 8 digit), display offset in bold colour
2829         (view_labels): use goto_addr instead of goto_line in hex mode
2831         (goto_addr): New function. Goto offset address in hex mode.
2833         * view.h: use unsigned long for hexedit cursor position in file
2835 1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>
2837         * menu.c (menubar_execute): Now needs an additional do_refresh in order
2838         to make layout changes visible.
2840 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
2842         * file.c (move_dir_dir): Give an error when an attempt is made to
2843         move an empty directory into itself.
2845 1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>
2847         * cmd.c (quick_view_cmd): Change panel when the file we want to
2848         view isn't in the current panel (prevents a "file not found"
2849         error).
2851         * menu.c (menubar_execute): De-activate the menubar previous to
2852         invoking the callback. This is needed to make change_panel in
2853         quick_view_cmd work (the activated menubar doesn't allow unfocus,
2854         i.e. dlg_one_down|up don't change anything).
2856         * view.c (do_view_init): improved error handling w.r.t quick view
2857         (mc used to dump core when the file to view couldn't be opened).
2859 1999-06-22  David Martin  <dmartina@usa.net>
2861         * view.c (display): added view_gotoxy's in order to make the gnome
2862         edition operational in hex mode.
2864 Fri Jun 18 11:29:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2866         * user.c (user_menu_cmd): Allow national characters as hotkeys.
2867         Don't dump core when the menu file contains only empty lines
2869         * view.c (search, block_search): Use the correct column for the
2870         percent display while searching.
2872 1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2874         * complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
2875         the completion/query engine.  Make the Gnome version just beep
2876         instead.  We do not have the completion/query engine for Gtk.
2878 1999-06-09  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2880         * cmd.c (configure_panel_listing): no more code duplication
2882         * screen.c (panel_new): no more code duplication
2883         (set_panel_formats): warn user when he gives bogus format, move
2884         checks into set_panel_formats
2886 1999-06-01  Akira Higuchi  <a-higuti@math.sci.hokudai.ac.jp>
2888         * util.c (is_printable): in GNOME all characters are printable.
2890 1999-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2892         * main.c (handle_args): Handle --desktop-linksdir without using X
2894 1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2896         * treestore.c (should_skip_directory): Add fix from Wayne Roberts
2897         to actually acknowledge the settings of mc.global.
2899 1999-05-24  Brandon S. Allbery  <allbery@ece.cmu.edu>
2901         * subshell.c (pty_open_master): Added missing comma.p
2903 Mon May 17 07:37:12 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2905         * subshell.c (pty_open_master): use getpt () if available to open
2906         the master side of the pty. getpt () is a glibc extension and is
2907         needed when glibc 2.1.x is used with a (linux) kernel without unix98
2908         style ptys (if there is no /dev/ptmx getpt falls back to bsd style
2909         ptys).
2911         * filegui.c (check_progress_buttons): Don't update the Gpm mouse
2912         cursor when we check for events. It causes a flickering cursor on a
2913         different virtual console.
2915 1999-05-12  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
2917         * cons.saver.c (main): change cons.saver so it can be run without
2918         root privileges. It is well possible to run cons.saver with
2919         privileges only to /dev/vcsa: create new user and make vcsa's
2920         owned by that user instead of root.
2922         Distribution maintainers please take this text as idea of what you
2923         should do to make your system more secure.
2925 1999-05-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2927         * cmd.c (view_file_at_line): gmc_view never fails, so we handle
2928         that now.
2930 1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
2932         * chmod.c (chmod_cmd): Missing _ in _().
2933         (chmod_cmd): Added braces around nested if/else.
2935         * widget.c (is_in_input_map): Added braces around nested if/else.
2936         (listbox_remove_current): Likewise.
2938         * subshell.c (read_subshell_prompt): Likewise.
2940         * view.c (view_status): Likewise.
2942 Tue Apr 27 20:31:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2944         * util.c (strip_home_and_password): Don't split the path in the
2945         middle of a directory, e.g. "/home/bofh" will not be translated to
2946         "~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
2948 1999-04-25  Sergei Ivanov  <svivanov@pdmi.ras.ru>
2950         * find.c: The origin of the bug is in the function do_search (file
2951         find.c).  It limits the number of subdirectories to scan by the
2952         number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
2953         st_nlink is always 1, so it should be the second case.
2955         But before doing stat, do_search does opendir. And opendir on tar
2956         vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
2957         in the stat data! So mc_stat called after mc_opendir on tar vfs
2958         returns st_nlink==2 instead of 1. This is interpreted as if the
2959         directory had no subdirs, thus subdirs are not searched in.
2961         Changing the order of calls to mc_stat and mc_opendir fixes the
2962         problem.
2964 1999-03-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
2966         * setup.c (save_setup): Only save this if there is a current panel
2968 Wed Apr 21 21:47:15 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2970         * ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
2971         like the latter when compiled with -mthreads).
2973         * user.c (execute_menu_command): ditto.
2975 Wed Apr 21 20:40:38 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2977         * Makefile.in: use MCCFLAGS and MCLIBS
2979 Wed Apr 21 20:19:45 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2981         * key.c (get_modifier): Query the state of the modifier keys when
2982         running inside a terminal emulation under X11.
2984         * key.c (init_textmode_x11_support, done_textmode_x11_support): new
2985         functions, only used in the text edition. Connect to and disconnect
2986         from the X Server when DISPLAY is set.
2988         * key.h: added prototypes for the new functions
2990         * main.c (main): call (init|done)_textmode_x11_support
2992 Sat Apr 17 13:04:19 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
2994         * view.c (do_view_init): Enable viewing of files with negative
2995         st_size (This reverts parts of a patch I commited recently. Miguel
2996         provided a better fix for this issue).
2998 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3000         * view.c (regexp_search): Use unsigned longs for all of the
3001         offsets here.  Fixes crash reported on bugtraq.
3003 1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3005         * treestore.c (tree_store_save_to): Moved the functionality from
3006         tree_store_save() to here.
3007         (tree_store_save): Save the tree in the default location in an
3008         atomic fashion.
3009         (tree_store_load_from): Moved the functionality from
3010         tree_store_load() to here.
3011         (tree_store_load): Load the tree from the default location.
3013         * treestore.h (MC_TREE_TMP): Added a #define for the temporary
3014         name we'll use when saving the tree.  Moved the #defines from
3015         tree.h over to here.
3017         * main.c (main): Use tree_store_load() and tree_store_save().
3018         Removed the mc_tree_store_load/save() versions.
3020         * tree.c (load_tree): Use tree_store_load().
3021         (save_tree): Use tree_store_save().
3023 Fri Apr 16 07:51:42 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3025         * wtools.c (message): Use g_vsnprintf instead of vsprintf.
3027 Fri Apr 16 07:50:59 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3029         * view.c (do_view_init): Don't view files with negative file size.
3030         Added some error checking (I'm not sure whether this is needed).
3032 1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3034         * panel.h (WPanel): Added a drag_tree_row field to the WPanel
3035         structure.  This is used to keep track of the highlighted row in
3036         the tree for drag and drop.  Also, added drag_tree_timeout_id to
3037         hold the node expand timeout.  Also, added drag_tree_fe to hold
3038         the file_entry for the currently highlighted row in the tree.
3040 1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3042         * utilunix.c (my_system): Set up default signal handlers for childs.
3044 Tue Apr 13 07:14:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3046         * slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
3047         at the code that's only the case when we read EOF from stdin.
3049         This fixes the problem where MC consumes a lot of cpu time while
3050         reading EOF from stdin in a tight loop. This situation arises when the
3051         terminal line/connection drops without MC being sent SIGHUP.
3053 Tue Apr 13 07:13:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3055         * slint.c (SLang_input_pending2): don't store SLANG_GETKEY_ERROR (int)
3056         in the input buffer (char).
3058 1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>
3060         * main.c (_do_panel_cd): If we are using GNOME, and the panel is a
3061         desktop panel, open up a new panel for the contents.
3063 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3065         * tree.c (tree_start_search): Renamed from start_search() to avoid
3066         collisions with screen.c:start_search().
3068         * panel.h: Added prototype for start_search().
3070 1999-04-09  Rosanna Yuen  <rwsy@mit.edu>
3072         * screen.c (do_enter_on_file_entry): split GNOME version and
3073         non-gnome version.
3074         (parse_display_format): listen to the warning.
3076 1999-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3078         * treestore.c (tree_store_load): Do not load non-local file
3079         systems
3080         (tree_store_save): Do not save non-local file systems
3082 1999-04-07  Jonathan Blandford  <jrb@redhat.com>
3084         * screen.c (do_enter_on_file_entry): added a consistent behaviour
3085         for GNOME stuff.
3087 1999-04-06  David Martin  <dmartina@usa.net>
3089         * info.c (text out of box and locale layout).
3091         * util.c: If gmc uses strftime() why mc doesn't?
3093         * view.c: a) Tune status line so it does fit in a Quick View Panel
3094         b) Let Hex View resize cleanly. I think it's fixed for panel
3095         re-split and SIGWINCH signal in xterm. gmc still fails. There was
3096         a tiny risk of division by zero when pressing F4 in a very small
3097         box. True hard work... Must try and check it.
3099 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3101         * main.c (main): Call mc_tree_store_save() when the program
3102         terminates.
3104 1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3106         * find.c (setup_gui): Do not scroll horizontally.  Why does the
3107         CList behave like this?
3109         * setup.c: Save desktop information.
3111 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3113         * cons.saver.c (main): dup2() may be interrupted; take this into
3114         account.  Do we need to fcntl() stderr, or is it enough to close()
3115         it before recreating it?
3117 1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3119         * dlg.c (dlg_run_done): Do not call the callback of a NULL current
3120         widget.
3122         * setup.h: Added missing prototype for setup_init().
3124         * filegui.c (check_progress_buttons): Added a missing return
3125         value.
3127         * dlg.c (remove_widget): Added a missing return value.
3129         * main.c: Removed the global directory_list variable.
3130         Removed the main_corba_register_server() function.
3132         * main.h: Removed the global run_desktop variable.
3134         * panel.h: Now the panel structure has a unique numerical ID used
3135         for session management.
3137         * screen.c (panel_new): Maintain a unique ID for each panel.
3139         * main.c (maybe_display_linksdir): Handle display of the desktop
3140         init dir here.
3141         (main): Call gnome_check_super_user().
3142         (init_corba_with_args): Call corba_init_server().
3144         * main.c (init_corba_with_args): Do CORBA initialization here.  Also
3145         removed the global force_activation option.
3147 1999-03-29  Jonathan Blandford  <jrb@redhat.com>
3149         * main.c (main): updated message.
3151 Sun Mar 28 23:52:08 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3153         * util.c (is_printable): Character 155 is non printable even when
3154         full eight bit output is enabled (on the linux console 155 is
3155         interpreted as "ESC [").
3157 1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3159         Patch courtesy of John Bley (jbb6@acpub.duke.edu):
3161         * background.c (do_background): Use pid_t instead of int.
3163         * subshell.c (sigchld_handler): Likewise.
3165 1999-03-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3167         * Makefile.in: Use mcsrclibdir where appropriate.
3169 1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3171         * treestore.c (process_special_dirs): Free memory here.
3173         Fix test: Skip only "." and "..", before it could skip "?.".
3175 1999-03-22  David Martin  <dmartina@mailexcite.com>
3177         * wtools.c (real_input_dialog_help): Do a strncmp with the lenght
3178         of th same translated "Password:" string.
3180 Mon Mar 22 02:05:28 1999  Timur Bakeyev  <mc@bat.ru>
3182         * screen.c (file_entry_color): Dropped. Code went to file_compute_color.
3184         * screen (format_file): Add check, that avoids reported error, when
3185         long file list -> quick view -> brief file list gives core dump.
3187 1999-03-19  Jonathan Blandford  <jrb@redhat.com>
3189         * main.c (main): We don't want to restart if we hit cancel.
3191         * file.c (panel_operate): Ugly hack for GNOME.  We only treat the
3192         copy as if it were many files, and skip the only_one branch.
3194 1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3196         * utilunix.c (close_error_pipe): Inform parent of the return value
3197         of any command here.  This allows the desktop to launch a terminal
3198         only if it succeeded in mounting the directory.
3200 Thu Mar 18 16:09:09 1999  Timur Bakeyev  <mc@bat.ru>
3202         * panel.h, screen.c: Add an ability to center justify fields in the
3203         panel, in addition to left and right justification. Just for fun.
3204         Try =name in user format.
3206         * util.c (name_quote): Quote "~@^|;:". Hope, that's all :)
3208 1999-03-17  Jonathan Blandford  <jrb@redhat.com>
3210         * main.c (main): Put in a warning when run as root.
3212 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3214         * boxes.c (symlink_dialog): Put this inside an "#ifndef
3215         HAVE_GNOME" since we now provide a nicer version of the dialog.
3217         * wtools.c (real_input_dialog_help): Removed un-needed #ifdef.
3219         * cmd.c (edit_symlink_cmd): Generate the title of the dialog after
3220         we have computed the source filename.
3221         (edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
3222         for better internationalization.
3224         * wtools.c: Removed unused function input_dialog_help_2().
3225         (real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
3226         because now the Gnome version implements its own pretty dialog.
3228 1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3230         * dlg.c (dlg_select_nth_widget): Handle the case where h->current
3231         points to NULL.
3233 1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3235         * file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
3236         Since we use the resulting buf.st_size to update the progress, we
3237         need the size of unresolved links.  This also makes it consistent
3238         with screen.c:do_file_mark().
3240         * screen.c (select_item): Return immediately if this is a desktop
3241         panel.
3243 1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3245         * subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have
3246         grantpt() but they do lack SysV streams.  Handle this.  Noticed by
3247         Jakub Jelinek
3249 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3251         * util.h: Added prototype for g_readlink().  Miggie boy should add
3252         prototypes when he adds public functions.
3254 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3256         * utilunix.c (g_readlink): Fixed two bugs spotted by Morten
3257         Wellinder.  Boy, Morten has such a good eye!
3259 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3261         * file.c (erase_dir): Erase metadata for directories as well.
3262         (erase_dir_iff_empty): Likewise.
3263         (copy_file_file): Delete/copy the metadata even for
3264         char/block/sock/fifo files.  Same thing for when copying symlinks.
3265         (copy_dir_dir): Delete/copy the metadata.
3266         (move_dir_dir): Delete/move the metadata.
3267         (recursive_erase): Delete the metadata.
3269 1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3271         * file.c (real_query_recursive): Removed an unused variable.
3273 1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3275         * utilunix.c (g_readlink): New function.  Wraps all the nonsense
3276         of readlink into a nice routine.
3278         * filegui.c: Support ui->ctx to be NULL, as file.c will set this
3279         to NULL for background operations.
3281         * background.c (do_background): Handle EINTR in dup2.
3283 Wed Mar 10 22:21:19 1999  David Martin  <dmartina@usa.net>
3285         * util.c (my_putenv): char* was used to store the length of a string
3287         * info.c (info_show_info): cast st_dev and st_ino when passing
3288         to printw.
3290 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3292         * file.c (panel_operate): Always create the ctx->ui.  Federico,
3293         can you see if this change is correct from your point of view?
3295         * cmd.c (edit_symlink_cmd): Small fix to improve the messages
3296         printed.
3298 Tue Mar  2 22:54:50 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3300         * util.c (name_quote): Quote '<' and '>'.
3302 Tue Mar  2 22:28:39 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3304         * main.c (panel_clean_dir): New function: reset all counters of a
3305         WPanel and clean directory list.
3307         * various places: Use panel_clean_dir instead of clean_dir whenever
3308         a WPanel is available. This solves the problem reported by Enrico
3309         Scholz (screen refresh while panel reload with an old/now invalid
3310         panel->count).
3312 Mon Mar  1 00:18:48 1999  Timur Bakeyev  <mc@bat.ru>
3314         * mad.c: Tempnam() returns malloced buffer, so, free() it, not g_free().
3316 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3318         * view.c (view_percent, view_update): Take an extra argument:
3319         update_gui, which controls whether we want to update the displayed
3320         region in the GUI version.
3322 1999-02-25  Jonathan Blandford  <jrb@redhat.com>
3324         * cmd.c (symlink_cmd): little change to handle the case when a
3325         desktop panel is passed in.
3327 1999-02-25  Owen Taylor  <otaylor@redhat.com>
3329         * fileopctx.h file.c: Moved recursive delete query
3330         dialog into gdialogs.c for GNOME.
3332 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3334         * file.c: Moved FileCopyMode here (thanks to Wolfgang Scherer for
3335         pointing this out) and made it a typedef.
3337         * treestore.c (process_special_dirs): New function.
3338         (should_skip_directory): Load the settings from the global
3339         special.dirs file and from the
3341         * util.c: Test for glibc/linux and if so, do not use getwd, but
3342         getcwd as on this system it is better than popen ("pwd").
3344 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3346         * setup.c: Declare extern int tree_panel_visible for the GNOME
3347         version.
3349 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3351         * dir.c (if_link_is_exe): Made this function take in a directory
3352         argument as well -- the sought file may not be in the cwd, and
3353         file entries do not carry the directory the file refers to.
3355         * screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
3356         if_link_is_exe().
3358 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3360         * treestore.c (tree_store_rescan): Add code to skip scanning
3361         specially slow directories (/afs, /coda, /...).  It is of course,
3362         configurable.
3364         * setup.c: Export the profile_name setup routine.
3366 Tue Feb 16 21:21:32 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3368         * popt.c: Compilation fix: on systems without setreuid use setuid.
3370 Tue Feb 16 21:18:08 1999  David Martin  <dmartina@usa.net>
3372         * achown.c: Make buttons fit in the (new) translated
3373         Advanced Chown dialog.
3375 1999-02-16  Alexaander Savelyev  <fano@ham.kiev.ua>
3377         * subshell.c (exit_subshell): Use the size of the buffer, not
3378         sizeof of the pointer to the buffer.
3380 Sun Feb 14 02:59:09 1999  Timur Bakeyev  <mc@bat.ru>
3382         * utilunix.c (my_system): Fix the order of preferenses, as setuid
3383         more desirable on BSD systems. Terminate execl[p]() with NULL, as
3384         this is formally correct.
3386 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3388         * dir.c (do_load_dir): Added missing calls to tree_store_end_check.
3390         * find.c (add_to_list): Pass the data pointer as well.
3392 Fri Feb 12 06:36:58 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3394         * utilunix.c (my_system): Compilation fix: on systems without
3395         setreuid use setuid.
3397 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3399         * panel.h (WPanel): Removed unused field "corbadat".
3401 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3403         * screen.c: Make delete key delete files.
3405         * dir.c (do_reload_dir): Add a couple of missing calls to tree_store_end_check.
3407 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3409         * main.h: Added prototype for main_corba_register_server().
3411 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3413         * view.c (search): Provide GNOME specific code for the search progress
3415         * treestore.c: Add a new hook system to hint a tree freeze/thaw.
3417         * setup.c: In the GNOME version, we do not show the dot files by default.
3419 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3421         * file.c (copy_file_file): Add support for the GNOME metadata here.
3422         (move_file_file): Add support for the GNOME metadata here.
3424 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3426         * treestore.c   (tree_store_add_entry): Use g_new0 to allocate the tree_entry.
3428         (tree_store_notify_add): Close, but no cigar.  The
3429         bug was deeper:  This list keeps names, not tree_entries.
3431 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3433         * treestore.c (tree_store_notify_add): A tree_store_add_fn wants a
3434         string, not a tree_entry, so pass a string to it.
3436 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3438         * treestore.c: Revert all of the stack changes.  Now the treestore
3439         is again non-re-entrant.  Being re-entrat was only covering up for
3440         bugs in other places.
3442         Now we postpone notifications for additions at
3443         tree_store_end_check, not before.
3445 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3447         * treestore.c (tree_store_remove_entry): Removed unused code for
3448         base_sublevel computation.
3450 Sun Feb  7 06:11:48 1999  Timur Bakeyev  <mc@bat.ru>
3452         * Makefile.in: Change calls to xmkdir to mkinstalldirs - this is more
3453         GNU-like :)
3455         * xmkdir removed - we have mkinstalldirs.
3457 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3459         * cmd.c (view_other_cmd): Do not use \r in translatable strings.
3461 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3463         * widget.c (push_history): Only do check the history headings if
3464         the widget has a history entry bound to it.
3466 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3468         * treestore.c (tree_store_start_check, tree_store_mark_checked,
3469         tree_store_end_check): Use a stack for check_name.  There are far
3470         too many instances that might call the end_check.
3472 Wed Feb  3 23:55:54 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3474         * widget.c (history_put): set the access rights correctly when
3475         the history file is created initially. Don't save the history
3476         if we can't set the access rights.
3478 1999-02-01  Jonathan Blandford  <jrb@redhat.com>
3480         * setup.c: save we_can_afford_the_speed
3482 Wed Feb  3 22:27:04 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3484         * util.c (strip_password): Extented to find the url in the first
3485         parameter. The second parameter tells whether it should search the
3486         url (indicated by known prefixes) in the first parameter or whether
3487         the first parameter is a url without a prefix ("ftp://", "/#ftp:",
3488         "/#mc:").
3490         * main.c (directory_history_add): Strip the password (if any) from
3491         the freshly added value.
3493         * widget.c (push_history): ditto. There's a ugly special casing
3494         necessary for the network and ftp link dialogs (urls are entered
3495         with out prefix).
3497         * widget.c (history_put): Restrict read and write access to the
3498         history file to the owner (Just in case I forgot to strip passwords
3499         somewhere).
3501 Mon Feb  1 00:43:15 1999  Timur Bakeyev  <mc@bat.ru>
3503         * screen.c (to_buffer): Code of the function rewritten, as a side
3504         effect added J_CENTER (who needs this?). Also, justification flags
3505         got twins with _FIT suffix, which tries to fit name in the field with-
3506         out truncation (uses name_trunc()). This unifies behaviour of CList
3507         variants and text-bases widgets.
3509         * screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
3510         group]() - not necessary, to_buffer() doing this work.
3512 Sun Jan 31 19:49:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
3514         * hotlist.c (add_new_entry_input, add_new_group_input): Make the
3515         quick_widget arrays static and various changes needed because they
3516         are now static. add_widgets_i18n recalculates button positions
3517         which get lost when the quick_widget arrays are non static.
3519         * screen.c (to_buffer): nul terminate string when using strncpy
3521         * setup.c: Save and restore new option ftpfs_first_cd_then_ls.
3523 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3525         * file.c (panel_operate_generate_prompt): Removed the cmd_buf
3526         argument, since it is a global variable anyway (this function is
3527         only called once from file.c, and the global cmd_buf was being
3528         passed in).
3529         (panel_operate): Do not pass cmd_buf to
3530         panel_operate_generate_prompt().
3531         Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.
3533 1999-01-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3535         * achown.c (XTRACT): Add missing call to _().
3537 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3539         * panel.h: Fixup #includes.
3541 1999-01-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3543         * cons.saver.c: Removed glib from the suid app
3545 Wed Jan 27 03:17:44 1999  Timur Bakeyev  <mc@bat.ru>
3547         * Converted memory managment to Glib. Now we use g_new()/g_malloc()/
3548         g_strdup()/g_free() routings. Also, copy_strings() replaced by
3549         g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
3550         g_snprintf().
3552         * Some sequences of malloc()/sprintf() changed to g_strdup_printf().
3554         * mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
3555         a missing #undef for tempnam, which caused dead loop. Add several new
3556         functions to emulate GLib memory managment.
3558         *main.c, mad.[ch]: Add a new switch  "-M", which allows to redirect MAD
3559         messages to the file.
3561         * util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
3562         and strdup() - we have g_ equivalences. Remove get_full_name() - it is
3563         similar to concat_dir_and_file(). Some other tricks with g_* functions.
3565         * global.h: Modified, extended. Now it is main memory mangment include -
3566         i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
3567         "util.h" and "mad.h" done there. This elimanates problem with proper or-
3568         der of #include's.
3570         * All around the source - changed order of #include's, most of them gone
3571         to global.h (see above), minor changes, like "0" -> NULL in string func-
3572         tions.
3574 1999-01-25  Alexander Savelyev  <fano@vcom.kiev.ua>
3576         * ext.c (exec_extension): Always use /bin/sh.  Not the user
3577         shell.
3579 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3581         * treestore.c (tree_store_remove_entry_remove_hook): Missing
3582         function.  To remove a notification hook.
3583         (tree_store_notify_add, tree_store_add_entry_add_hook,
3584         tree_store_remove_entry_add_hook): New functions to notify of
3585         additions to the treestore.
3587         * tree.c (tree_destroy): Remove the callback hook when we go
3588         away.
3590 1999-01-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3592         * option.c (init_configure): One line patch from Alexander
3593         Savelyev to transalate all strings.
3595 1999-01-18  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
3597         * file.c: Killed operation_names: they seemed same to op_names to
3598         me, and compilation failed on them (initializer element is not a
3599         constant). Maybe miguel tagged too many strings for localization?
3600         :-).
3602         * ext.c: we use /tmp in "creative" way: creating there file and
3603         then executing it. I do not see how it is needed. Marked with FIXME.
3605 Thu Jan 21 01:11:24 1999  Timur Bakeyev  <mc@bat.ru>
3607         * mad.[ch], util.[ch]: commit changes, that allow coexist (temporary)
3608         GLib'ed VFS and not still converted MC itself.
3610 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3612         * treestore.c (tree_store_start_check): Use mc_stat(), not stat().
3613         (tree_store_rescan): Use mc_lstat(), not lstat().
3615 Tue Jan 19 05:28:04 1999  Timur Bakeyev  <mc@bat.ru>
3617         * ext.c, filenot.c, main.c, screen.c, treestore.c: add missed #include's
3618         and moved glib.h so, it follows "fs.h", but preceed "util.h" and "mad.h".
3619         There were conflicts during compilation with MAD and GLibed vfs.
3621 Mon Jan 18 21:23:29 1999 Paul Sheer  <psheer@obsidian.co.za>
3623         * cmd.c: update_panels (UP_OPTIMIZE, UP_KEEPSEL); instead
3624         of reread after editing a file.
3626 1999-01-18  Arturo Espinosa  <arturo@nuclecu.unam.mx>
3628         * file.c: Use N_ instead of _ for some of miguel's last tags.
3630 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3632         * file.c: Tag some more strings for localization.
3634 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3636         * cmd.c (mkdir_cmd): Please, check your pointer usage.
3638 Thu Jan 14 13:18:58 1999  Timur Bakeyev  <mc@bat.ru>
3640         * screen.c (string_file_[owner|group]): Workaround the fact, that some
3641         systems have user and group names greater than 8 symbols. Now we trun-
3642         cate them.
3644 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3646         * treestore.c (tree_store_load): Use g_return_val_if_fail(), not
3647         g_return_if_fail().
3648         (tree_store_rescan): Added parentheses to clarify || and &&.
3650         * tree.c (tree_add_entry): Removed unused variable.
3652         * treestore.h: Added prototype for tree_store_start_check_cwd().
3654 1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3656         * view.c (search): Missing condition.
3658         * treestore.c (tree_store_opendir): Simplistic fix.  This is not
3659         quite correct.
3661 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3663         * panelize.h: Added prototype for do_external_panelize().
3665         * screen.c (move_selection): Unused variable fixes for HAVE_X.
3667         * boxes.c (configure_vfs): Removed an unused variable.
3669 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
3671         * cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
3672         absolute directories.
3674 Tue Jan 12 13:40:46 1999  Timur Bakeyev  <mc@bat.ru>
3676         * gtkedit(syntax.c): Fixed a typo in Pascal syntax.
3678 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3680         * treestore.c (tree_store_save): Add signature for version 2.0 of
3681         the file format.
3683 1999-01-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3685         * file.c (do_file_error): Made static.
3686         (query_recursive): Have cases for background/foreground operation.
3687         (do_file_error): Likewise.
3689         * background.c: Removed the bg_ctx global, since now all the
3690         contexts are carried around by the functions that actually need
3691         them.
3693         * fileopctx.h (FileOpContext): Moved the op_preserve field to here.
3695         * filegui.c (file_mask_dialog): Removed the ui assertion, since
3696         now the op_preserve field is kept in the main context structure.
3698 1999-01-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3700         * util.c: Provide workarounds for Linux kernel bug.
3702 Sun Jan 10 02:18:33 1999  Timur Bakeyev  <mc@bat.ru>
3704         * screen.c(string_file_size): Fixed (incorrect?) printing of device num-
3705         bers. Major should never be greater 255.
3707 1999-01-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3709         * dir.c (handle_dirent): Use the tree_store now.
3710         (handle_path): ditto.
3711         (do_load_dir): ditto.
3712         (do_load_dir): ditto.
3713         (do_reload_dir): ditto.
3714         (do_reload_dir): ditto.
3716         * treestore.c (tree_store_save): New file
3717         (encode): New routine used to encode pathnames in a safe way that
3718         are saved to the mc/.tree file.
3719         (decode): New routine, used to decode the pathnames we encoded in
3720         the step above.  Aint love grand?
3722         * tree.c (load_tree): Kill dead code.
3724         Moved all of the tree store information into a new file:
3725         treestore.  To be reused by the Gnome code.
3727 1999-01-08  Ilya Zakharevich  <ilya@math.ohio-state.edu>
3729         * popt.c: OS/2 and Windows NT portability fix.
3731 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3733         * file.c (panel_operate_flags): Only show this dialog box if it is
3734         a copy or move operation
3736 1999-01-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
3738         * background.c (do_background): Make it a bit saner.  Now we store
3739         a per-child-process FileOpContext structure.
3741         * fileopctx.h: New file with declarations for the file operation
3742         context structure.
3744         * fileopctx.c (file_op_context_new): New function to create a file
3745         operation context with the default file mask values.
3746         (file_op_context_destroy): New function to destroy a file
3747         operation context and its associated UI, if appropriate.
3749         * filegui.h: Use complete prototype for fmd_init_i18n().
3751         * filegui.c (FileOpContextUI): New structure that describes the UI
3752         and internal data for file operation contexts in the text mode
3753         version.
3754         (file_op_context_create_ui): Renamed from create_op_win() and
3755         made it use a context instead of global variables.
3756         (file_op_context_destroy_ui): Likewise, renamed from
3757         destroy_op_win().
3758         (fmd_widgets): Removed an #ifdef HAVE_XVIEW bit and moved the
3759         initialization of the result pointers to file_mask_dialog(), as we
3760         need to use the pointers to the fields inside the file op context now.
3761         Made all the functions use a file operation context.
3762         (file_mask_dialog): Always call fmd_init_i18n(); it will take care
3763         of idempotence by itself.
3764         (fmd_init_i18n): Now the code that makes sure this function is
3765         only called once is here.
3767         * cmd.c (check_for_default): Make it use a file operation context.
3768         * tree.c (tree_copy): Likewise.
3769         (tree_move): Likewise.
3770         (tree_rmdir_cmd): Likewise.
3772         * file.c: Removed file_progress_replace_progress and
3773         file_progress_replace_filename -- they are only used in filegui.c
3774         as part of the UI for the file operation context.
3775         (panel_operate_generate_prompt): Made static.
3776         (panel_operate_generate_prompt): Always call fmd_init_i18n(); it
3777         will take care of idempotence by itself.
3778         (panel_operate): Removed the panel_operate_def() function, and
3779         made panel_operate() take an extra "ask_user" argument.
3780         (query_recursive): Made static.
3782         * background.c (background_attention): Made static.
3783         (register_task_running): Made static.
3784         (do_background): Now takes a file operation context as an
3785         argument.  It stores the pid of the child there.
3787         * Makefile.in: Added fileopctx.[ch].
3789 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3791         * widget.c (listbox_new): Assing l->height.
3793 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3795         * main.c (update_one_panel_widget): GNOME version does the panel
3796         update here (this is an optimization, as we do not want do_refresh
3797         to do anything.
3799         * dialog.c (do_refresh): Remove this optimization as it was
3800         disabling the repainting of the screen contents.
3802         * hotlist.c (done_hotlist): The hotlist might not be loaded
3803         anymore.
3805 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3807         * widget.c (listbox_new): Under GNOME, height of the listbox might
3808         be less than zero (due to LINES/COLS being set to zero there).  So
3809         for bow, set the height to 1.  This needs to be propery computed
3810         in x_create_listbox.
3812         * main.c (main): Do not load the hotlist here anymore.   We
3813         auto-load it on the setup(?).
3815 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3817         * main.c (main): Removed old, unused code.
3818         (setup_panels_and_run_mc): Register the corba server here, not
3819         before, as the program is not ready to accept any commands yet.
3821         * screen.c (panel_set_sort_order): New routine to set the sorting
3822         mode.
3823         (panel_re_sort): New routine to force a resort on a panel.
3825         * main.c (sort_cmd): Use the new routines.
3827 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3829         * cmd.c (check_for_default): Make this compile.
3831 Tue Dec 29 22:25:34 1998  Timur Bakeyev  <mc@bat.ru>
3833         * mountlist.c: Compress all xBSD systems to one line and add check
3834         for MOUNT_UFS - it seems, that 4.4BSD and 4.4BSD2 systems different-
3835         ly handles FS names. (currently affects BSDI and FreeBSD)
3837 Tue Dec 29 16:34:02 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3839         * file.c (progress_update_one): Ignore files in subdirectories
3840         when panel totals haven't been computed.
3842         (erase_dir, erase_file): update progress bar (i.e. make it work
3843         for OP_DELETE).
3845         (panel_operate_flags): Don't compute panel totals for OP_MOVE.
3846         When moving files on the same filesystem computing totals might
3847         last much longer than the actual move operation.
3849         (various places): adpations for the above changes.
3851 Mon Dec 28 22:15:43 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3853         * slint.c (try_alloc_color_pair): Changed hardcoded values into
3854         defines.
3856 Mon Dec 28 20:22:59 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3858         * color.c, text.c: Added color "stalledlink" which is used for
3859         stalled symbolic links. Formerly "viewunderline" was used for
3860         this (IMO bad because function and name didn't match).
3861         According to the man page the color keyword for executable files
3862         is `executable' and not `execute' -- changed.
3864         * color.c, color.h: When using SLang some color indexes are not
3865         freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
3866         Solved by adding holes in color_map.
3868         * find.c (do_search): fixed possible memory leak
3870 Sat Dec 26 09:53:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3872         * layout.c: include sys/ioctl.h to get definition of TIOCGWINSZ
3873         (fixes problem with screen resize).
3875 Fri Dec 25 20:19:57 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3877         * file.c (panel_operate_flags): Don't change file progress count and
3878         size twice for every file.
3880         (panel_compute_totals): Initialize return values to zero before
3881         calculating anything.
3883         (panel_operate_def, panel_operate): return a value
3885 Thu Dec 24 19:00:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3887         * screen.c (recalculate_panel_summary): new function which recalculates
3888         the summary information for the mini-status.
3890         * screen.c (panel_reload): use recalculate_panel_summary
3892         * screen.c (do_file_mark): Honour that dirsizes computed is now a
3893         per entry flag.
3895 Thu Dec 24 18:53:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3897         * option.c: Added Compute Totals to the configuration dialog.
3899         * file.c (compute_dir_size): made non static
3901         (panel_operate_flags): Don't compute directory sizes if verbose
3902         operation are off.
3904 Thu Dec 24 18:42:52 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3906         * cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
3907         by Miguel, i.e. get rid of du. Now the dirsizes_cmd honours a
3908         selection and computes sizes only for marked directories. Possible
3909         improvement: add a dialog (or C-C?) to abort computation.
3911         * dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
3912         flag a per file flag.
3914         * dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
3915         WPanel structure.
3917         * features.inc: Deleted DUSUM information
3919         * mc.hlp: remade because of changes in doc/mc.1.in
3921 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
3923         * file.c: add a HAVE_GNOME only function
3925 Mon Dec 21 22:39:35 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3927         * mountlist.c: Define xBSD on FreeBSD.
3929         * main.c (parse_an_arg): New function, popt callback. Option
3930         parsing in gmc was broken. The gnome*_init_with_popt_table free
3931         the option tables and gmc tried to use the option tables later.
3933         * main.c (handle_args): In the Gnome edition don't parse the
3934         options a second time.
3936         * boxes.c (configure_vfs), setup.c: Deleted obsolete options.
3937         tar.gz files are now always unzipped to a temporary file on disk.
3939 Mon Dec 21 14:28:55 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3941         * filenot.c (my_mkdir_rec): Someone broke this completely by deleting
3942         a line. Funny things happen if you use an already freed pointer.
3943         Improved error handling: try to make directories recursivly until
3944         mkdir succeeds or fails with errno != ENOENT. Now you will get the
3945         correct error message when you don't have permission to create a
3946         directory.
3948         * mountlist.c: Deleted function prototypes for strdup and strstr,
3949         they might conflict with definitions in the system header files.
3951 Wed Dec 16 14:41:15 1998  Paul Sheer  <psheer@obsidian.co.za>
3953         * gtkedit.c, editwidget.c: gnome selection now works with the
3954         editor.
3956 Wed Dec 16 06:27:00 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3958         * screen.c (Xtry_to_select): Don't select a similar file when
3959         "name" can't be found in the panel (when deleting files the
3960         selection jumpped from the deleted "file" to a directory which
3961         started with the same character as "file", annoying).
3962         Strip known vfs suffixes from "name" before trying to select
3963         (I think Timur made this suggestion a few months ago). Know the
3964         vfs is mature enough to do this.
3966 1998-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3968         * dir.c (link_isdir): Remove unused variable.
3970 Sun Dec 13 18:35:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
3972         * screen.c (panel_reload): Don't set panel->selected to zero here,
3973         keep it's value if possible or set it to panel->count - 1 (I disliked
3974         the jumping cursor when deleting files).
3976 1998-12-11  Michael Fulbright  <msf@majestic.labs.redhat.com>
3978         * file.c (panel_operate_generate_prompt): Changes the text
3979         for GNOME dialogs.  --jrb
3981 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
3983         * main.c (try_to_select): We do not need to select the item
3984         manually in this case, as the X code will do this for us.
3986 Fri Dec 11 00:05:50 1998 Paul Sheer  <psheer@obsidian.co.za>
3988         * syntax.c, slint.c, color.c, color.h: editor now has its
3989         own color configuration so you can set editor background
3990         colors with MC_COLOR_TABLE.
3992 1998-12-10 Paul Sheer  <psheer@obsidian.co.za>
3994         * syntax.c: perl syntax highlighting. syntax highlighting
3995         bug fizes for python and sh.
3997         * edit.c: new method of finding line offsets from line
3998         number (for cooledit for python stuff).
4000 Mon Nov 30 21:10:30 1998  Pavel Machek  <pavel@bug.ucw.cz>
4002         * file.c (copy_file_file): minor code beatifulling: replace goto's
4003         with while loops (it is both shorter and nicer :-)
4004         (panel_operate): hopefully done WANT_STALE_DATA right. We really
4005         should kill ftpfs_hint_reread hack soon.
4007         * cmd.c (dirsizes_cmd): report error if you are on non-local
4008         filesystem. (As oposed to silently failing.)
4010 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4012         * screen.c (panel_reload): Set panel->selected to zero here, this
4013         will at least guarantee that we do not try to fetch anything
4014         outside of bounds.
4016         * main.c: The bar2 is gone as well.
4018 Tue Dec  8 19:19:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4020         * cmd.c (dirsizes_cmd): Fixed possible buffer overflow
4022 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4024         * screen.c (do_enter): Return the value from this.
4026 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4028         * dir.c (link_isdir): Fetch the information from
4029         file->f.link_to_dir, since we already have it.
4031         * dir.h (file_entry): Removed the `cache' field in this structure,
4032         as it was only used for the deprecated Xview version.
4033         Also, removed the `exists' field, as it was not being used anywhere.
4035         * dir.c: Removed all occurrences of file_entry->cache.
4037         * find.c: Removed all occurrences of file_entry->cache.
4039         * panelize.c: Removed all occurrences of file_entry->cache.
4041         * screen.c (do_enter_on_file_entry): New public function that
4042         implements the functionality in do_enter(), but based on a file
4043         entry rather than on a panel.
4044         (do_enter): Use do_enter_on_file_entry() with the selection of the
4045         panel as an argument.
4047 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4049         * cmd.c, tree.c: Updated to the new file.c api.
4051         * file.c: (copy_file_file, copy_dir_dir, move_file_file,
4052         move_dir_dir): Updated to work with the new updating stuff.
4054         * setup.c: New configuration option to compute the totals to be
4055         transfered.
4057         * file.c (compute_dir_size, panel_compute_totals): New routines to
4058         compute the total ammount of information that is going to be
4059         transfered.
4061 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4063         * ext.h: GNOME edition uses a different set of .ext files.
4065         * lib/mc-gnome.ext.in: New file with GNOME-specific bindings.
4067 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4069         * GNORBA integration.  We now produce two binaries: gmc and
4070         corba-gmc (that way, I dont interfere with other's work).
4072         * Added prototypes, made private functions static, clean up
4073         various silly warnings.
4075         * main.c (main): Removed crufty init_sigfatal code.
4077         * cmd.c (do_link): More slang dependecies are fixed for the X
4078         ports.
4080         * keys.h (enum): Moved key definitions here.
4082         * tty.h: MOve towards slang freedom for the GNOME port.
4084 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
4086         * file.c (panel_operate_generate_prompt): moved from filegui.c
4088 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4090         * panel.h (WPanel): Added the missing tree/pane/view_table fields
4091         to the Gnome part of the structure.
4093 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4095         * cons.saver.c (main): Make sure stderr is always valid.
4096         (main): Also check that stderr_fd is not -1.
4098 Wed Nov 25 22:16:19 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4100         * cmd.c (dirsizes_cmd): Quote characters with a special meaning
4101         when passing it to du.
4103 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4105         * dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
4106         (dlg_key_event): Return 1 if handled the tab key.
4108         * filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().
4110 Sun Nov 22 22:30:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4112         * autogen.sh: replaced "cat *.m4" with a call to aclocal. Concatenate
4113         mc-aclocal.m4 and gettext.m4 to acinclude.m4. The other way round
4114         would have been to add three more m4 files to the replaced cat line
4115         (including cond.m4 from automake-1.3b).
4117         Fixed OBJ_DIR handling.
4119 Sun Nov 15 00:37:58 1998  Pavel Machek  <pavel@bug.ucw.cz>
4121         * mad.c (mad_tempnam): needed wrapper for tempnam added
4123 1998-11-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4125         * dlg.c (destroy_dlg): Do not refresh.
4127         * filegui.c: New file.  We keep all of the user interface code for
4128         the text edition in this file now.  This should be a per-GUI port
4129         file.
4131 1998-11-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4133         * panel.h (WPanel): Instead of the "#ifdef GNOME" mess in the
4134         WPanel structure, we now have a single opaque pointer to UI data,
4135         called port_ui.  GUI stuff specific to each port should be here.
4136         This is a work in progress.
4138 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4140         * setup.c: Removed the icons_snap_to_grid and
4141         want_transparent_{icons,text} options.
4143 Thu Nov  5 12:10:10 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
4145         * file.c (panel_operate): check for null pointer before passing it
4146         to mc_setctl
4148 Wed Nov  4 17:51:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4150         * src/findme.h: added from popt-1.2 by RedHat
4152         * src/Makefile.in: appropriate changes to use new popt
4154 Sun Nov  1 20:59:05 1998  Pavel Machek  <pavel@bug.ucw.cz>
4156         * file.c (erase_file): translated goto into while loop (it is both
4157         shorter AND cleaner)
4159         * subshell.c (feed_subshell): do NOT print anything if we get
4160         errors/eofs from read(subshell) - this fixes (or at least hides)
4161         nasty bug where typing "exit" on mc prompt prints lots of garbage
4162         and falls into infinite loop. Someone with better knowledge should
4163         read feed_subshell(), and make it handle errors properly. (Why do
4164         we ignore EIO for example?)
4166 Sun Oct 18 22:56:17 1998  Pavel Machek  <pavel@bug.ucw.cz>
4168         * view.c: we now rely on sfs to do file decompressing for us. That
4169         has advantage of displaying #ugz at first line, so user knows what
4170         we are doing behind his back
4172         * view.c: fix indentation, fallback to read whole file if mmap fails.
4174 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4176         * setup.c: #ifdef'ed out stuff in the menus that will get changed
4177         as I rewrite the desktop part.
4179 1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4181         * layout.c (print_vfs_message): Use g_snprintf instead of
4182         vnsprintf.
4185 1998-10-30  Sung-Hyun Nam  <namsh@lgic.co.kr>
4187         * color.c, slint.c: support transparent background if user use
4188         'default' keyword for background color.
4190 Mon Oct 26 00:31:53 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4192         * configure.in, Make.common.in: Split CPPFLAGS into CPPFLAGS and
4193         MCCPPFLAGS. The last one contains references to variables which are
4194         not available in every Makefile.in (namely intl/Makefile.in). Without
4195         the split `-I ' was passed to the compiler (the compiler on DU 4.0
4196         interprets -I as "don't search include files in /usr/include").
4198 Thu Oct 22 20:41:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4200         *  configure.in (subshell): Don't define inline to be empty
4201         when compiling with non-gcc compiler. AC_C_INLINE (invoked in
4202         AM_GETTEXT_GNU) already defines inline if necessary.
4204 Thu Oct 22 20:41:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4206         * panelize.c (do_external_panelize): Not zeroing some fields
4207         in cpanel led sometimes to segfaults.
4209 Thu Oct 22 20:31:17 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4211         * lib/mc.ext.in: *.jar and *.JAR treated like *.zip and *.ZIP
4213 Fri Oct 16 12:10:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
4215         * cmd.c (quick_chdir_cmd): you must check for return code of
4216         do_cd(). (Fixed error for here, but more such bugs are present in
4217         src/ tree. Or maybe move error checking into do_cd?)
4219         * command.c: warn user if he is pressing enter while on non-local
4220         filesystem. (Prev. behaviour was fail silently to do anything,
4221         which is _bad_.)
4223 Mon Oct 12 22:47:53 1998  Pavel Machek  <pavel@bug.ucw.cz>
4225         * file.c (copy_file_file): MCCTL_SETREMOTECOPY is no longer used
4227         * file.c (copy_file_file): do_reget is now correctly done using
4228         open()/lseek() pair
4230 Wed Oct  7 22:20:37 1998  Pavel Machek  <pavel@bug.ucw.cz>
4232         * file.c: Ask user if (s)he wants to delete incomplete file
4234 Sun Oct 11 20:21:20 1998  Peter Kleiweg  <kleiweg@let.rug.nl>
4236         * mfmt.c (main): When there are an even number of empty lines
4237         between messages, all goes well, but when the number of empty
4238         lines between messages is odd, the program fails.
4240 Sun Oct 11 20:11:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4242         * setup.c: Option ftpfs_use_unix_list_options was saved from
4243         and restored to the wrong variable (ftpfs_use_passive_connections).
4245 Mon Oct  5 21:33:14 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4247         * screen.c (parse_display_format): Don't dereference NULL pointer
4248         when format string is an empty string.
4250 Mon Oct  5 19:59:56 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4252         * main.c (translate_url_to_new_syntax): Translate ftp:// to an
4253         absolute path instead of a relative path (fix to "hotlist" bug
4254         reported by Andrej). This means we drop the "return to last dir"
4255         feature for ftpfs (when leaving ftpfs with ".." returns to the
4256         directory visited before entering the ftpfs).
4258 Sat Oct  3 00:54:23 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4260         * gtkedit/Makefile.in (EDITOBJS): removed one wrong \\ (line
4261         continuation)
4263 Thu Oct  1 18:43:34 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4265         * file.c: Commented out search for egrep because execvp() does
4266         it itself
4268         * utilunix.c: vfs_uid should not be used if VFS is disabled
4270 Tue Sep 29 17:53:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
4272         * main.c: removed stupid reference to {sfs,extfs}_which
4274         * screen.c: fixed higlighting to go for longest match if it does
4275         not find exact match. This is so that it works well with vfs (and
4276         needs _NO_ knowledge about vfs layer).
4278 Tue Sep 29 14:02:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
4280         * layout.c (print_vfs_message): fixed buffer overrun by
4281         vsnprintf. Unfortunately I have no clue how to do this portably.
4283 Tue Sep 29 11:42:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4285         * setup.c: Corrected code which prevents using icon view by
4286         ports which don't support it
4288 Mon Sep 28 21:55:13 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
4290         * find.c: Changed hotkey of the continue-button (both Chdir and
4291         Continue used `C').
4293         * Makefile.in: search config.status in builddir and not in rootdir,
4294         i.e. make it compile for builddir != srcdir
4296 Wed Sep 23 14:06:44 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
4298         * src/file.c: Made file.c use new O_LINEAR mode (so copying from
4299         ftp works nicely, again)
4301 Fri Sep 18 14:15:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4303         * src/mad.c: All messages are sent to stderr and terminate with \r\n
4305         * src/hotlist.c: Harmless memory leak fixed
4307         * xv/Makefile.in, xv/xvmain.c, xv/xvscreen.c: Minor fixes to
4308         make compilation of the XV port possible (currently without
4309         viewer).
4311 Thu Sep 17 07:32:23 1998  Norbert Warmuth  <k3190@fh-sw.de>
4313         * Makefile.in: After creating symlinks invoke another instance of
4314         make to build libvfs.a. Otherwise make will not know how to build
4315         the object files if symlinks have been created.
4316         Added target cleansourcelinks (invoked with make distclean).
4318 Tue Sep 15 22:41:24 1998  Paul Sheer  <psheer@obsidian.co.za>
4320         * edit.c, editwidget.c, gtkedit.c: fixed segfault when trying to
4321         edit a non-file under gmc.
4323 Tue Sep 15 21:52:00 1998  Norbert Warmuth  <k3190@fh-sw.de>
4325         * mc.hlp, doc/mc.1.in, doc/mc.sgml: updated my EMail address
4327 Tue Sep 15 20:51:42 1998  Norbert Warmuth  <k3190@fh-sw.de>
4329         * setup.c: save and restore new global variable/option
4330         ftp_use_unix_list_options
4332 Tue Sep 15 01:02:34 1998   Paul Sheer  <psheer@obsidian.co.za>
4334         * gtkedit: Directory added. This directory contains all the editor
4335         code modified to work with gnome. Mcedit now works properly under
4336         gnome with a slightly reduced set of features.
4338         * gscreen.c gscreen.h screen.c: Modified to respond to F4 on a file
4339         and start the new gtkedit internal editor.
4341 1998-09-14  Norbert Warmuth  <k3190@fh-sw.de>
4343         * file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
4344         <zx80@demo.ru> (losing files when moving directories cross filesystem
4345         boundaries): make sure erase_list is emptied always not only when we
4346         deleted files.
4348 Sat Sep 12 02:59:43 1998  Timur Bakeyev  <mc@bat.ru>
4350         * screen.c: Xtry_to_select() Remove extfs hack to the main.c. Change
4351         for() cycle to the x_basename() call (Thanks to Pavel Roskin).
4352         Add (key_callback) do_enter() to prevent warnings.
4354         * main.c: Rename cd_try_to_select() to the get_parent_dir_name(). Now
4355         it process VFS postfixes too. Reduced number of loops against prev hack.
4357 Fri Sep 11 15:27:59 1998  Pavel Machek  <pavel@ucw.cz>
4359         * screen.c: make cd .. from extfs file highlight it
4361 Tue Sep  8 13:10:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4363         * autogen.sh: Don't destroy aclocal.m4 if "macros" directory
4364         is missing
4366         * layout.c: Use stdout instead of stderr in set_hintbar()
4368 Mon Aug 31 12:40:29 1998  Pavel Machek  <pavel@ucw.cz>
4370         * cmd.c: added view_file_cmd which asks user which file to view -
4371         _very_ usefull with vfs (now you can browse web with mc: try
4372         /#url:http:||atrey.karlin.mff.cuni.cz|~pavel#uhtml)
4374 Thu Aug 27 19:52:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4376         * Make.common.in: Don't define VERSION anymore
4378         * configure.in: this is the right place for VERSION definition
4380         * acconfig.h: does not include file "VERSION" anymore
4382         * config.h.in: rebuilt by autoheader
4384         * VERSION: removed from CVS and added to .cvsignore since it
4385         is rebuilt every time as configure is run
4387 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
4389         * mad.h: Include stdlib.h/malloc.h first, to prevent prototypes
4390         from being clobbered by the subsequent macro defines.
4392 Wed Aug 12 15:56:46 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4394         * edit.h: added "../" before some includes to avoid unnecessary
4395         "-I" options for the PC port makefiles.
4397 Sun Aug  9 22:39:12 1998  Janne Kukonlehto  <jtklehto@paju.oulu.fi>
4399         * mad.h (calloc): Added parentheses around the arguments as
4400         suggested by Steef Boerrigter <sxmboer@sci.kun.nl>.
4402 Fri Jul 31 09:04:35 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4404         * syntax.c: makefile* will be highlighted as Makefile*
4406 1998-07-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4408         * main.c (translated_mc_chdir): Quick hack to make the old
4409         url-like pathnames to be used on the command line.
4411 1998-06-22  T.E.Dickey  <dickey@clark.net>
4413         * keyxdef.c: Fix for compiling with ncurses.
4415 Fri Jul 24 00:44:37 1998  Tom Tromey  <tromey@cygnus.com>
4417         * mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
4418         * autogen.sh: Include linger.m4 in aclocal.m4.
4419         * Makefile.in (GNOME_M4_FILES): Include linger.m4.
4421 Thu Jul 23 22:44:16 1998  Tom Tromey  <tromey@cygnus.com>
4423         * Makefile.in (aclocal.m4): Depend on all source files.  Include
4424         gnome-vfs.m4 and gnome-undelfs.m4.
4425         (GNOME_M4_FILES): New macro.
4426         * autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
4427         aclocal.m4.
4428         * configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
4429         macros instead of in-line checks.  Create vfs/Makefile from
4430         vfs/Make-mc.in.
4432 Thu Jul 23 19:49:12 1998  Pavel Roskin  <pavel_roskin@geocities.com>
4434         * hotlist.c: corrected layout of the warning which appears
4435         if ~/.mc doesn't exist. Appropriate changes in translations.
4437 Wed Jul 15 00:41:01 1998    Paul Sheer  <psheer@obsidian.co.za>
4439         * edit.c, editwidget.c,            * syntax.c: Syntax
4440         editdraw.c, editmenu, editcmd.c:   highlighting for Pascal
4441         Added column text highlighting     added.
4442         and block movements.
4444 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
4446         * main.c (main): 'session_management_setup' will be called after
4447         'gnome_init'.
4449 Wed Jun 18   Pavel Machek  <pavel@ucw.cz>
4451         * i18n.h: we do not want i18n in case of compiling standalone
4452         libvfs.so.
4454 Fri Jun  5 23:34:20 1998  Timur I. Bakeyev  <timur@comtat.kazan.ru>
4456         * screen.c (file_entry_color): take care about BSD core dumps
4457         which have names program.core instead of core
4459 Mon Jun  1 15:41:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
4461         * main.c (translate_url_to_new_syntax): translate the common
4462         ftp url syntax to the syntax used by the new vfs code.
4464         (_do_panel_cd): First translate the path if necessary. This makes
4465         it possible to enter ftp://host on the commandline and in the
4466         directory hotlist. We might need to move the translation code
4467         to the vfs layer if there are other places where we want to enter
4468         ftp://host.
4470 Mon Jun  1 12:33:08 1998  Alexander V. Lukyanov  <lav@yars.free.net>
4472         * configure.in: allowed to use `configure --with-included-gettext'
4473         on systems (like solaris) that have their own libintl
4475 1998-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4477         * complete.c (filename_completion_function): Use the vfs routines
4478         for name completion.
4480 1998-05-31  Jakub Jelinek  <jj@ultra.linux.cz>
4482         * complete.c (complete_engine): Fix completions.
4484 Sun May 31 10:23:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
4486         * key.c (define_sequence): If a sequence clashes the last
4487         definition made will be used. This makes it possible to override
4488         wrong definitions in terminfo/termcap database with learn keys (or
4489         the appropriate entries in mc.lib and ~/.mc/ini).
4491         * widget.c (show_hist): Don't display the listbox partly
4492         off screen (the left panel's history started in column - 2).
4494         * keyxdef.c: include tty.h instead of myslang.h as suggested by
4495         Tamasi Gyorgy <gt_cosy@usa.net>
4497 Fri May 29 15:41:19 1998  Alexander V. Lukyanov  <lav@yars.free.net>
4499         * widget.c (update_input): this patch allows entering 8-bit
4500         characters in input fields without screwing attributes. (the
4501         same old sign extension...)
4503 Wed May 27 22:23:48 1998  Ed Cogburn  <ecogburn@greene.xtn.net>
4505         * lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
4506         program from ncurses 4.2 doesn't like the xterm.ti file that comes
4507         with mc.
4509 Wed May 27 15:29:01 1998  Alexander V. Lukyanov  <lav@yars.free.net>
4511         * key.c (get_key_code): characters with high bit set were input
4512         as 0x80 char when use_8th_bit_as_meta was set
4514 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4516         * ext.h (MC_USER_EXT): New name for the per-user extension file
4517         (this needs redoing to concatenate this + the system stuff instead
4518         of the overwrite stuff we have now).  Now it is called the ~/.mc/ext-n
4520 Mon May 25 23:32:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
4522         * editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
4523         to make it compile with ncurses. Syntax highlighting in the
4524         internal editor is already disabled when SLang isn't used.
4526 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4528         * widget.c (port_region_marked_for_delete): New per-port
4529         piece of code:  Provides a way for good selection killing.
4531 Sun May 24 02:45:03 1998  Norbert Warmuth  <k3190@fh-sw.de>
4533         * utilunix.c, util.h (errno_dir_not_empty): deleted
4535 Sat May 23 22:29:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
4537         * file.c (check_dir_is_empty): New function which takes a path and
4538         returns -1 on error, 1 if there are no entries besides "." and
4539         ".."  in the directory path points to, 0 else. This function
4540         actually opens and reads the directory and doesn't do tricks we
4541         used to do with rmdir.
4543         * file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
4544         to detect non empty directories. The old code tried to remove the
4545         directory and decided on errno whether the failure of rmdir was
4546         caused by a non empty directory or whether there was a different
4547         error.
4548         Unfortunatly not every filesystem sets errno to EDIRNOTEMPTY if
4549         you try to delete a non empty directory. Namely the linux user
4550         space nfs server sets errno to EIO, Suns nfs server sets it to
4551         EEXIST and the AIX nfs server sets it to ??? (Steve reported
4552         problems on AIX so I guess AIX sets errno to a value we currently
4553         don't check).
4555 1998-maj-18  Tamasi Gyorgy (gt_cosy@usa.net)
4557         * lib/mc.menu: 'Z' on 'tar.Z' and 'tar.z' files: '%f' -> '$1'.
4559         * lib/mc.ext.in.qnx.diff, lib/mc.menu.qnx.diff (QNX): modified
4560         'mc.ext.in' (tar -t: output to stderr); modified 'mc.menu' (tar is
4561         not GNU tar: doesn't know '-z'); support for '*.tar.F':
4562         'freeze'-compressed tar files [No automatic configure/install
4563         implemented: patches must be applied before running 'configure'
4564         (mc.ext.in.qnx.diff: this patch can be not only QNX-specific...)]
4566         * lib/Makefile.in: 'mc.ext.in.qnx.diff' and 'mc.menu.qnx.diff' added
4567         to DISTLIB.
4569         * slang/sldisply.c:
4571           SLTT_TRANSP_ACS_PATCH dependant code:
4573           The problem: some terminals (QNX/qansi*, SCO OS5/ansi [?]) map the
4574           whole upper half of the ASCII table to the lower half, when
4575           alt-char-set is activated with the smacs/as string-sequence. This
4576           means, that if 0 <= ch < 128 written to the terminal, it will be
4577           translated to (ch+128) automatically by the terminal: so not only
4578           the line-drawing characters can be written, when the alt-char-set
4579           is activated. It implicitly means, that space, NL, CR, etc.
4580           characters (exactly: anything besides the "standard" line drawing
4581           characters) can not be written directly to the terminal, when the
4582           alt-char-set is activated, because writing these characters
4583           doesn't cause an implicit/temporary switching-back to the standard
4584           char-set!
4586           The original code in SLang assumes that space, NL, CR, etc. can be
4587           printed when alt-char-set is activated. If SLTT_TRANSP_ACS_PATCH
4588           is defined, the modified code will not use this assumption.
4589           [Remark: the patch-code is not the most exact solution, but
4590           works...]
4592           QNX_QANSI_SLANG_COMPAT_ACS_PATCH dependant code:
4594           A more OS/terminal-specific solution for the problem mentioned
4595           above (->SLTT_TRANSP_ACS_PATCH).
4597           If QNX_QANSI_SLANG_COMPAT_ACS is defined, the default smacs/sa,
4598           rmacs/ae, acsc/ac [and sgr/sa, if it would be used!] command
4599           sequences will be replaced internally with the "old style"
4600           (pre-QNX 4.23) sequences in case of QNX/qansi terminals. Using
4601           these optional command sequences the terminal remains compatible
4602           with the original SLang code (without using the workaround-code
4603           enabled by defining SLTT_TRANSP_ACS_PATCH).
4605           Remark:
4607           Currently SLTT_TRANSP_ACS_PATCH is not auto-configured by
4608           'configure'. (Must be manually defined...)
4610           There is some (QNX-specific) auto-configuration hand-coded in the
4611           source:
4613             #ifdef SLTT_TRANSP_ACS_PATCH
4614             # if defined(__QNX__) && defined(QNX_QANSI_SLANG_COMPAT_ACS)
4615             #  undef SLTT_TRANSP_ACS_PATCH
4616             # endif
4617             #else
4618             # if defined(__QNX__) && !defined(QNX_QANSI_SLANG_COMPAT_ACS)
4619             #  define QNX_QANSI_SLANG_COMPAT_ACS 1
4620             # endif
4621             #endif
4623         * slang/slutty.c: "newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);"
4624         ECHO(0x08) is a c_lflag bit, it means PARMRK(0x08) in c_iflag. (!?!)
4626         * src/file.c: 'do_reget' can be extern if (USE_VFS && USE_NETCODE),
4627         not if (USE_VFS).
4629         * src/find.c (search_content()): Variable 'i' "must be" 'int', not
4630         'char'. ["i == -1": (buggy?) WCC 10.6 doesn't convert automatically
4631         (int)(-1) to (char)(-1) (GCC does), so "comparison result always 0"
4632         warning produced. It is cleaner to define 'i' as 'int', than cast
4633         '-1' to 'char', because 'read()' returns 'int'.]
4635         * src/key.c (init_key()): Call load_xtra_key_defines() and clear
4636         'use_8th_bit_as_meta' by default under QNX, if a 'qnx*' terminal
4637         detected. (A saved config file (mc.ini) can override it later...)
4639         * src/key.h: Declare load_xtra_key_defines().
4641         * src/keyxdef.c: Provides a method to define some platform-specific
4642         additional key mappings. (e.g. QNX terminals can handle most of
4643         META-? combinations as ALT-?...) ('keyxdef.c' currently not listed
4644         in doc/FILES...)
4646         * src/layout.c: TIOCGWINSZ must be available (so <sys/ioctl.h> (?)
4647         included), because window-resizing code doesn't work, if not defined.
4649         * src/main.c: 'print_usage()' is reserved name in the QNX run-time
4650         library, so 'print_usage()' renamed to 'print_mc_usage()'
4652         * src/mouse.c (QNX): ncurses 1.9.8a ported to QNX doesn't provide the
4653         'SP' pointer as a global symbol in the library, so the keyok()
4654         emulation currently can not be used under QNX (4.24 & Watcom C 10.6
4655         release version).
4657         * src/slint.c (QNX): 'qansi*' terminals added to the color_terminals[]
4658         list.
4660         * src/subshell.c, src/utilunix.c (QNX): include <unix.h> to get
4661         prototype for exec*()!!! [See README.QNX/Section 1.4 about the
4662         dangerous "No prototype for <function>" warnings emitted by Watcom C,
4663         if <function> is a 'printf()'-style function having variable number
4664         of arguments and you compile your source with the default register
4665         calling convention!!!]
4667         * Makefile.in: 'keyxdef' module added to SRCS and OBJS.
4669         * <mc-root>/README.QNX: QNX-specific notes.
4671         * <mc-root>/configure (line 3369), <mc-root>/configure.in (line 88):
4672         'test x$CCOPTS = x;' modified to 'test "x$CCOPTS" = x;'
4674         * <mc-root>/Makefile.in: README.QNX added to DISTMAIN.
4676 Thu May 21 00:09:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
4678         * menu.c (menubar_event): Don't set menubar->selected to the
4679         invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt
4681         * menu.c (menubar_drop_compute): removed the check for inrange
4682         items which isn't necessary any longer.
4684 Wed May 20 16:27:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
4686         * widget.c (history_put): input line history was defunct because
4687         there was an #ifndef where an #ifdef should be.
4688         Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
4689         history code is included even when this define is undefined.
4691 1998-05-19  Tamasi Gyorgy  <gt_cosy@usa.net>
4693         * src/*: Until I get a better ChangeLog:  Tamasi's port of the
4694         code to QNX.
4696 1998-05-19  Alexander Lukyanov  <lav@yars.free.net>
4698         * Makefile.in: Distirbution fix so that people are not forced to
4699         install gettext.
4701 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4703         * ext.c: Memory leak fixed.
4705 Mon May 18 22:24:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
4706         * lib/mc.ini.in: s/reges/regex/
4708         * main.c (process_args): return void, the return value was only
4709         used once but wrong (-h displayed help twice).
4710         (handle_args): -h: don't display help twice
4711         (print_usage): Don't print program name and version, that's
4712         already done by version(0).
4714         * menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
4715         terminals (hotkeys were not displayed at all).
4717 1998-05-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4719         * menu.c (menubar_drop_compute): Check for inrange items.
4721 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4723         * color.c (init_colors): Provide X-only version of color
4724         initialization.
4726 Thu May 14 01:56:11 1998  Norbert Warmuth  <k3190@fh-sw.de>
4728         * configure.in: Don't add -lintl to LIBS when included gettext is
4729         used (further checks for libraries would fail because libintl.a
4730         isn't build, yet). Instead use and substitute LINTL.
4732         * Makefile.in (OURLIBS): add @LINTL@
4734 Tue May 12 17:45:49 1998  <psheer@obsidian.co.za>
4736         * syntax.c: yet more minor modifications.
4738 1998-05-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4740         * main.c: New default: auto-save setup.
4742         * screen.c (move_right, move_left): Add support for icon-view movement.
4744 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4746         * setup.c (panel_load_setup): On non-icon editions, fall back to
4747         list_full
4749 Sun May 10 13:27:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
4751         * widget.c (handle_char): Don't try to to delete default text in
4752         input widget more than once. Right after MC's start copy_filename
4753         (ESC Enter) failed because a flag wasn't cleared while characters
4754         were stuffed into the commandline (Andrej reported this bug).
4756         * main.c (copy_readlink): usr mc_readlink instead of readlink
4758         * file.c: Changed default for the copy/move option "dive into
4759         subdir if exists" to off (note: this was only possible after the
4760         change in setup.c).
4762         (copy_dir_dir): Activated the previously uncommented code which
4763         implements "Dive into subdirs". Even when there's no case where we
4764         actually would like that behaviour it is a documented feature.
4765         Though I don't wanted to change the default behavour. Hence the
4766         option change.
4768         (file_mask_defaults): set dive_into_subdirs
4770         (file_mask_dialog): Fix for debian Bug #20727: Move operation with
4771         "[ ] Dive into subdir if exists" and destination filename not
4772         wildcarded. If destination is an existing directory then files
4773         will be moved into this directory. If destination is not an
4774         existing directory then src file will be renamed (one file
4775         selected) or an error will be displayed (more than one file
4776         selected).
4778         (file_mask_dialog): made the option "Using shell patterns" local
4779         to the current copy/move operation, i.e. this option is always
4780         initialized with the global options's value. Previously it affected
4781         the global Options/Configuration/shell Patterns.
4782         Another possiblilty would be to make the global option a default
4783         option on startup and keep changes in the copy/move dialog
4784         (without saving these changes with save setup).
4786         * setup.c: Don't save and load options which can be changed
4787         outside the options menu. For example I don't like that
4788         preserve_uid_gid and dive_into_subdirs from the copy/move dialog
4789         are saved and restored (strange, what about the other options from
4790         this dialog?).
4791         It would be much cleaner to make these option read-only. This way
4792         one could edit ~/.mc/ini to provide default option setting on
4793         startup and "Save setup" wouldn't have side effects outside the
4794         option's menu.
4796 Sun May 10 13:24:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
4798         * doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
4799         for dive into subdirs.
4801 Sun May 10 13:21:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
4803         * edit/syntax.c: Disable debug messages on stderr.
4805         * edit/edit.h: Added missing _()
4807 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4809         * layout.c (flag_winch): Propagate the window change to the slave
4810         pty even when not running our event loop.  The resize_subshell
4811         routine is thread safe.
4813         * dlg.c (update_cursor, dlg_broadcast_msg_to): Do not send
4814         messages if no widgets are on the Dlg_head, this happens now with
4815         the gmc code, as we can have all of the windows shut down.
4817 Wed May  6 13:46:37 1998 Paul Sheer  <psheer@obsidian.co.za>
4819         * syntax.c: more bug fixes.
4821 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4823         * view.c (view_quit_cmd): Use dlg_stop.
4825         * main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
4826         key press events.  Drop the usage of mi_getch to acomplish this
4827         task.
4828         (midnight_callback): Deal with the current map depending on the
4829         c-x state.
4831 Mon May  4 10:21:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
4833         * background.c (message_1s1d): the unprocessed string with %d was
4834         passed to message_1s; fixed small memory leak
4836         * widget.c (button_callback): WIDGET_CURSOR: make cursor position
4837         dependend from button type (fixes the off by one bug in advanced
4838         changeown).
4840         * file.c (copy_file_file): Schedule deletion of short target file
4841         only when we created or truncated the target file and not already
4842         when we decided to overwrite an existing file.
4844 1998-05-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4846         * boxes.c (task_cb): Use kill, not INT, as we are catching INT in
4847         the program.
4849 Sat May  2 14:07:05 1998 Paul Sheer  <psheer@obsidian.co.za>
4851         * setup.c: ALT('H') now shows a directory history - that
4852         ESC SHIFT-h   or   ALT-SHIFT-h
4854 Fri May  1 17:45:58 1998 Paul Sheer  <psheer@obsidian.co.za>
4856         * syntax.c: initial support for LaTeX 2.09 files added,
4858         * syntax.c: some minor bug fixes. and reorganisation
4859         of context and keyword priorities.
4861 Fri May  1 11:24:21 1998  Paul Sheer  <psheer@obsidian.co.za>
4863         * syntax.c: syntax highlighting segfaults when editing a binary
4864         file - now fixed.
4866 Thu Apr 30 12:23:50 1998 Alex Tkachenko  <alex@bcs.zp.ua>
4868         * src/file.c: lot of i18n of file Copy/Move/Delete operations. Maintainers
4869         of message catalogs please notice introduced op_names1 and formats for
4870         file operations.
4872         * src/boxes.c: i18n of background jobs control and quick cd
4873         dialog boxes.
4875         * src/menu.c (menubar_arrange): resizing of menubar upon changes of
4876         window size is now controlled by preprocessor symbol RESIZABLE_MENUBAR
4877         (now it's off by default, as requested in mailing list). If it is off,
4878         menubar items are separated with fixed number of spaces (3).
4880         * src/layout.c, edit/editwidget.c: calls to menubar_arrange ifdef'ed
4883 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4885         * main.c (parse_an_arg): GNOME edition keeps track of various
4886         --geometry and various directories passed.
4888 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4890         * main.c (update_panels): Great API simplification.  update_panels
4891         only cares about the contents of the current panel, every other
4892         panel keeps the current selection (this was the behaviour
4893         anyways).
4895         update_panels can be provided in a per-port fashion as well.
4897 Wed Apr 29 03:06:09 1998  Paul Sheer  <psheer@obsidian.co.za>
4899         * syntax.c: some optimisations, as well as support for
4900         syntax highlighting of Makefiles and ChangeLog files.
4901         Fixed some syntax highlighting bugs. All C and C++
4902         keywords added.
4904 Tue Apr 28 06:11:08 1998  Norbert Warmuth  <k3190@fh-sw.de>
4906         * view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
4907         of bottom_first (we mustn't use an already calculated and cached
4908         value because it is invalid for the new mode and the End key would
4909         not move to the end of the file).
4911         * configure.in: Renamed the option `--with-our-slang' to
4912         `--with-included-slang' (this one looks better because we also
4913         have an `--with-included-gettext').
4914         Make the option `--with-ext2undel' recognice a given path.
4916         * cmd.c (view_file_at_line): In plain view (F13) set the default
4917         magic flag to zero in order to view the file content unprocessed
4918         (esp. don't uncompress files if they are compressed). The
4919         view_simple_cmd got broken when the default magic flag in view.c
4920         was changed from 0 to 1.
4922         * view.c (do_view_init, goto_line): Set wrap mode temporary off
4923         to make goto line number work, i.e. `line number' now always means
4924         line number in file and not line number on screen (in wrap mode
4925         one long line wrapped once is displayed in two lines on the screen).
4926         That's important when the viewer is invoked from the find file
4927         dialog to display even in wrap mode approxiamtly the part of the
4928         file where we found the content we searched for.
4930         (move_forward2): In wrap mode lines were sometimes counted wrong
4931         causing cursor up to move more than one line.
4933         (move_backward2): Fixed the movement in wrap mode.
4935         (change_viewer): Always re-init viewer when we have a filename,
4936         i. e. if the viewer is invoked with simple_view_cmd then we can switch
4937         with the F8 key between unprocessed file content und uncompressed
4938         file content.
4939         (view_init): re-init view also when magic flag was altered
4941 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4943         * screen.c (is_a_panel): Added a routine to determine if a widget
4944         is a panel.
4946 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4948         * screen.c (file_entry_color): Check if fe->fname has something.
4950 Sun Apr 26 00:21:12 1998  Norbert Warmuth  <k3190@fh-sw.de>
4952         * slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
4953         to make it link against SLang >=1.0.
4954         I reviewed the diffs to the part of SLang we use and there are no
4955         further changes to MC necessary (one function's return value
4956         changed it's meaning but we don't use this return value).
4958         * configure.in: Undone the change which prevented linkage against
4959         SLang >=1.0
4961 Sat Apr 25 13:41:43 1998  Paul Sheer  <psheer@obsidian.co.za>
4963         * edit.h, syntax.h: some optimisations to improve syntax
4964         highlighting speed.
4966 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4968         * color.h: Move the CTYPE definition
4970 Fri Apr 24 16:43:25 1998  Paul Sheer  <psheer@obsidian.co.za>
4972         * main.h, setup.c: editor_syntax_highlighting option added
4973         for ini file.
4975 Fri Apr 24 14:54:06 1998  Paul Sheer  <psheer@obsidian.co.za>
4977         * syntax.c: added. this files reads ~/.cedit/mcsyntax and
4978         processes generic rules for syntax highlighting of different
4979         file types. Syntax highlighting does not store an attribute byte
4980         for each byte of the edit buffer. Rather, it calculates colours
4981         on the fly, with an optimised algorithm, as the text is being
4982         rendered.
4984         * edit.c, edit.h, editwidget.c, editdraw.c: changes to facilitate
4985         syntax highlighting.
4987         * editoptions.c: dialog box updated with a syntax highlighting
4988         checkbox.
4990         * slint.c: new function alloc_color_pair(). This allocates a new
4991         color index. init_pair() itself now records the last colour index
4992         so that colours can be added on to the end of the colour list
4993         with alloc_color_pair().
4995         * slint.c: new function try_alloc_color_pair() returns a new index
4996         for a color with named fg and bg. Checks if that named colour
4997         already exists before setting a new index.
4999 1998-04-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5001         * user.c (execute_menu_command): Create temporary file exclusively
5002         as well.
5004         * main.c (do_execute), utilunix.c (my_system), gutil.c, ext.c:
5005         Changed the way we execute programs.  Now a new set of flags exist
5006         that indicates how the execution is done.  In ports that execute
5007         by sending the process to background, when executing temporary
5008         files, we have to remove the files after the child process has
5009         finished executing the code not after the calling do_execute.
5011         * ext.c (exec_extension): Create temporary file exclusively.
5013 Mon Apr 20 01:32:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
5015         * configure.in: Don't try to link MC against SLang >= 1.0. I will
5016         remove this restriction when I'm sure that it's save to use the new
5017         version (the documentation to SLang mentions some changes of
5018         return values).
5020 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5022         * file.h: Added prototype for copy_dir_dir.
5024         * file.c (real_do_file_error): use the proper flags, this is not a
5025         D_INSERT dialog box, for what it is worth.  Important bug fix.
5027         * utilunix.c (get_owner): Declare.
5029         * widget.h: Added various missing prototypes for the X edition.
5030         * view.h: Added various missing prototypes for the X edition.
5031         * widget.c (x_radio_toggle): New per-port variable: PORT_HAS_RADIO_TOGGLE
5033 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5035         * screen.c (GT): Assign two spaces for the minimum size of the
5036         "type" field for the GNOME edition.  This gives some extra space
5037         for the icon that gets displayed.
5039         * dlg.c (remove_widget): New function:  used to remove a widget
5040         from an existing Dlg_head;
5041         (destroy_widget): Destroy a specific Widget.
5042         (add_widgetl): Extended to deal with the fact that a running
5043         Dlg_head can become empty.
5045         * panelize.c (l_call): Update the input line every time the user
5046         selects the entry with the mouse (pretty common in the gnome
5047         edition).
5049         * hotlist.c (add_new_group_input): Removed an extra field that was
5050         causing problems.
5052         * find.c (find_parameters): Tree button is gone for gnome until we
5053         get the tree function working on gnome.
5055         * cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
5056         dialog box to inform the user about the saved setup.
5058 1998-04-15  Pavel Machek  <pavel@elf.ucw.cz>
5060         * cmd.c: Report failed chdir attempts.
5062 Wed Apr 15 10:48:41 1998 Alex Tkachenko  <alex@bcs.zp.ua>
5064         * src/hotlist.c: changes to hotlist boxes i18n.
5066         * src/panelize.c: changes to panelize boxes i18n.
5068         * src/wtools.c (query_dialog): Take care about possible '&' in
5069         button names while calculating window sizes and button positions.
5071 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5073         * screen.c (string_file_nlinks): The buffer was too small and we
5074         were overwriting parts of it.
5076         * subshell.c (do_subshell_chdir): Memory leak fix.
5078         * find.c (do_search): Do not use undefined order of evaluation.
5080         * user.c: Do not use undefined order of evaluation.
5082         * dlg.c (init_dlg): Do init the default return value.
5084 Sun Apr 12 03:09:17 1998  Norbert Warmuth  <k3190@fh-sw.de>
5086         * cmd.c (view_other_cmd): #ifdef'd application_keypad_mode and
5087         numeric_keypad_mode (don't include it in non text editions)
5089 Sun Apr 12 02:48:26 1998  Norbert Warmuth  <k3190@fh-sw.de>
5091         * xv/xvscreen.c: removed duplicate (conflicting) definition
5092         of do_enter()
5094 Sun Apr 12 02:24:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
5096         * text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
5097         the keypad mode when we don't use the alternate plus minus. Pavel
5098         forgot an if-clause when he replaced the escape sequences (or
5099         another point of view: I forgot one if-clause at different place).
5101 Fri Apr 10 17:35:23 1998  Philippe De Muyter  <phdm@macqel.be>
5103         * configure.in (AC_NCURSES): When checking for library location,
5104         put -L option before -l option, not after.
5106 Fri Apr 10 10:35:06 1998  Norbert Warmuth  <k3190@fh-sw.de>
5108         * file.c (file_mask_dialog): When the shell patterns option was
5109         off source_mask was freed twice.
5111 1998-04-10  Marc Ewing  <marc@redhat.com>
5113         * panel.h: added up_b
5115 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5117         * widget.c (update_input): Set the used flag early in update_input
5118         to allow X widget to catch the right value
5120         * screen.c (do_enter): Return the status for the operation.
5122         * main.c (main): Sigh.  This was hard. I added support for argp.
5123         Right now we support both argp for the GNOME edition and popt for
5124         the other editions.  I will remove popt support in the future and
5125         only keep argp.
5127         * dlg.c (add_widgetl): Adding widgets to an already running dialog
5128         had some flaws.  Fix this.
5130 Wed Apr  8 11:15:29 1998 Alex Tkachenko  <alex@bcs.zp.ua>
5132         * src/find.c: changes to find_parameters/find_file i18n.
5134         * src/widget.c: new function introduced, button_scan_hotkey();
5135         button_new() and button_set_text() fixed to use mentioned function.
5137         * src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
5138         ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
5139         call to isalpha() in the way proposed by Norbert).
5141         * src/boxes.c: changes to display box i18n
5143         * src/learn.c: changes to learn key dialog i18n
5145 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5147         * main.c (update_one_panel_widget): New routine: Updates a panel
5148         based on the widget, not the index.  Used by the GUI versions.
5150         * find.c (find_file): Cancel idle tasks before we destroy the find
5151         dialog.
5153         * dlg.c (destroy_dlg): Call x_destroy_dlg_start, a new hook that
5154         is invoked to allow the frontend code to prepare for dialog
5155         destruction.  Only the Gnome edition is using this: it uses this
5156         to hide the dialog and avoid flickering.
5158         * main.c: dtterm also has mouse support.
5160 1998-04-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5162         * wtools.c (quick_callback): Process DLG_KEY events on X.
5164         * utilunix.c (max_open_files): new routine;  Used to figure out
5165         the number of available file descriptors.
5167 Sat Apr  4 00:16:49 1998 Alex Tkachenko  <alex@bcs.zp.ua>
5169         * src/layout.c: changes to layout dialog box i18n
5171         * src/option.c: changes to configure box i18n
5173         * src/cmd.c: added N_() macro for machine_str
5175         * src/wtools.c (real_input_dialog_help): ok/cancel buttons are places
5176         symmetrically spaced relatively to center of the box. It produces
5177         nicer appearance with i18n (IMO :)
5179         * src/boxes.c (confirm_box): i18n stuff added.
5181 Mon Apr  6 07:48:22 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5183         * Makefile.in: "make dist" works with bash 1.x again
5185 Fri Apr  3 05:23:20 1998 Alex Tkachenko  <alex@bcs.zp.ua>
5187         * configure.in: ALL_LINGUAS test added, to allow specify list
5188         of languages to be installed by setting env variable before
5189         configure. If it is empty, it defaults to full list.
5191         * src/menu.h menu_entry.{hot_pos, is_dupped} dropped
5193         * src/menu.c: consistency fixes: pull-down menu items are now
5194         accessible either with arrow keys or with hotkeys, denoted with &
5195         (and highlighted). (key combinations, placed to the right of items
5196         intended to be used from outside the menus). Freeing menu entries
5197         removed as it no longer needed
5199         * src/main.c, edit/editmenu.c: menubar init code is changed to conform
5200         above fixes.
5202         * edit/edit.h: use of "Cancel" in error_dialogs replaced with
5203         "Dismiss", to avoid collisions in translation of "Cancel" in other
5204         places with this case.
5206         * src/boxes.c: select_format() and it's support removed, as it is
5207         obsoleted by input line history feature. display_init()/display_callback
5208         fixed to suite i18n changes. sort_box() - alike.
5210         * src/option.c: pause_options added &'s and gettext calls to expand
5211         statically assigned values.
5213         * src/widget.c: (radio_callback) hotkey recognition is changed to
5214         &-notation, rather than simple uppercase.
5216         * src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
5217         call to isalpha(), this fixes errorneous exit from input line, when
5218         button hotkey is 8-bit NLS char.
5220 Fri Apr  3 12:23:28 1998  Norbert Warmuth  <k3190@fh-sw.de>
5222         * TODO: Removed obsolete entries: Similar entries in tree view
5223         are displayed correct; user specific files has been moved
5224         to ~/.mc/
5225         Added: Check what to do with menubar_arrange/destroy_menu stubs
5226         in tk/tkmenu.c; the interal editor (not portet yet) adds entries
5227         to the wrong menubar
5229 Wed Apr  1 00:15:30 1998  Norbert Warmuth  <k3190@fh-sw.de>
5231         * key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
5232         functions which encapsulate two hardcoded escape sequences from main.c.
5234         * main.c (main): Use the two new functions from key.c
5236         * main.c, screen.c: Moved all file selection keys from the default
5237         keymap to the keymap for panels in listing mode.
5238         Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
5239         (functions in panel_keymap get a WPanel * as first parameter,
5240         i.e. the indirection with cpanel isn't necessary).
5242         * main.c (midnight_callback): Keys '*' and '-' were not treated
5243         when only_leading_plus_minus==0;
5244         Optimized the if-clauses a little bit (i.e. removed duplicate
5245         checks). More optimation is possible but it would make the whole
5246         stuff completly unreadable.
5248         * key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
5249         will be translated to +, - and * only if the option
5250         alternate_plus_minus is turned off.
5252         * learn.c (learn_keys): Turn alternate_plus_minus temporarily on
5253         to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
5254         correct_key_code/make sure keypad is in application mode (makes it
5255         possible to learn this keys).
5257         * cmd.c (reverse_selection_cmd_panel): New function (renamed from
5258         reverse_selection_cmd, takes a WPanel * as parameter, references to
5259         cpanel changed to panel/the passed parameter).
5260         reverse_selection_cmd now simply calls this function with cpanel.
5261         This pair was missing among the *_selection_cmd* functions.
5263         * cmd.h: Added function prototypes.
5265 1998-03-31  Paul Sheer  <psheer@obsidian.co.za>
5267         * cmd.c (nice_cd): Forgot to invoke the history registration in
5268         one spot.
5270 1998-03-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5272         * menu.c (destroy_menu): Implement destroy_menu for all of the
5273         ports as a routine that frees the menu entries if
5274         internationalization has been enabled.
5276         * wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
5278 Sun Mar 29 23:02:09 1998 Alex Tkachenko  <alex@bcs.zp.ua>
5280         * src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
5281         internationalized version of menu use externally defined hotkeys
5282         (denoted with preceding &). create_menu() fixed to load intl text of
5283         the entries. Some fixes around menu.c to enable usage of reloaded
5284         hotkeys.
5286         * main.c, editmenu.c: menu initialization code fixed to conform new
5287         menu structure. editmenu init code includes N_(..) now.
5289         * menu.c, layout.c, editwidget.c: bar menu items displacement is made
5290         dynamically upon initialization and window size changes. Mouse event
5291         processing is fixed accordingly.
5293 Sat Mar 28 13:18:36 1998 Alex Tkachenko  <alex@bcs.zp.ua>
5295         * src/screen.c: (repaint_file) last patches to format_file() in the
5296         same file broke appearance of panels in brief mode -- fixed.
5298 Mon Mar 30 20:02:49 1998  Paul Sheer  <psheer@obsidian.co.za>
5300         * main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
5301         main.h and others?: Directory history added. The previous
5302         directory history code was removed. The directory history now
5303         loads and saves using the same routines as the input widget. The
5304         keys meta-y, and meta-u are used to go backward and forward
5305         through the history. The buttons to the right and left of the
5306         current directory display on the panel can be used as well. The
5307         v button brings up a history, but no key is assigned to this.
5308         Discussion as to correct color and shape of these buttons is
5309         open. show_hist() in widget.c is made generic to be called for
5310         any widget. Help pages still needed to be added for the
5311         directory history.
5313 Wed Mar 25 19:05:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
5315         * view.c (view_done): Set monitor off before deleting the view
5316         file dialog.
5318         * subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
5319         tcsh. It preventes command and filename substitution (e.g. for
5320         a directory named "[word] words")
5322 Mon Mar 23 18:06:10 1998  Norbert Warmuth  <k3190@fh-sw.de>
5324         * main.c: Deleted some old and unused code
5326 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5328         * All over the src/ directory: Internationalization changes.
5330         * background.c: Avoid buffer over-runs and reduce number of
5331         internationalization strings.
5333 Mon Mar 23 14:04:07 1998  Philippe De Muyter  <phdm@macqel.be>
5335         * configure.in (nlink_t): Check it using AC_CHECK_TYPE.
5336         * acconfig.h (nlink_t): New define slot.
5338 Mon Mar 23 08:17:55 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5340         * src/main.c: mcedit can be named mce or mcedit.exe - only
5341         3 first letters are significant. The same for mcview.
5342         Console is always saved in do_execute() if it was saved there.
5344         * src/util.h: STRNOMP introduced (strncmp on unix and strnicmp
5345         on OS2_NT)
5347         * slang/slgetkey.c: SLang_getkey() and SLang_input_pending()
5348         enabled for OS2_NT
5350         * myslang.h: using fast one_vline() and one_hline() for OS2_NT
5352 Mon Mar 23 00:47:51 1998  Norbert Warmuth  <k3190@fh-sw.de>
5354         * autogen.sh: added support for builddir != srcdir
5356         * doc/Makefile.in: The manual pages are generated files and
5357         located in the builddir and not in the srcdir.
5359         * find.c (find_file): Use the same hotkey for the panelize button
5360         as we use with the external panelize command.
5362 Fri Mar 20 17:51:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
5364         * myslang.h: --with-ncurses didn't compile: renamed
5365         KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
5367         * dlg.c (dlg_key_event): likewise
5369 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5371         * screen.c: Remove KEY_DC forever.  This should have never been
5372         here.
5374 Wed Mar 18 22:08:34 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5376         * achown.c (do_enter_key): call endgrent, endpwent.
5378         * chown.c (init_chown): call endgrent, endpwent.
5380 Tue Mar 17 23:58:40 1998  Pavel Machek  <pavel@elf.ucw.cz>
5382         * src/file.c: Fix for the case where the disk gets full.
5384 Tue Mar 16 18:35:53 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
5386         * src/hotlist.c default values for dialogs which add entries to hotlist
5387         are now set to the current directory.
5389 Tue Mar 10 14:42:01 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
5391         * vfs/extfs.c, lib/mc.ext, vfs/extfs/extfs.ini, vfs/extfs/cpio.in
5392         Added support for cpio extfs including compressed and gziped
5393         cpio archives. compress and gzip handled separately because I saw
5394         a lot of systems which have compress, but don't have gzip.
5396 Sat Feb 21 16:46:49 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
5398         * src/subshell.c: failed to grantpt on SVR4 due to zero-initialized
5399         subshell_pid. sigaction handler for SIGCHLD does waitpid(subshell_pid,
5400         ...) and when subshell_pid == 0 it steals the zombie from grantpt(3)
5401         which does fork/exec/waitpid for suid program to set the permissions on
5402         pty. It's enough to initialize it to 1 or -2.
5404 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5406         * util.c (convert_pattern): Now the internal buffer is malloc()ed
5407         instead of being static.  This is required for long patterns.
5408         (regexp_match): Free the pattern after calling convert_pattern().
5410         * file.c (file_mask_dialog): Free the source_mask after calling
5411         convert_pattern().
5413 Mon Mar 16 13:03:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5415         * cmd.c: Internal edit is used by default. vi may be
5416         confusing for some users.
5418         * tree.c: tree_rmdir_cmd() should not return any value,
5419         because it is not analyzed for errors.
5421         * main.c: NT code: use O_BINARY instead of _O_BINARY
5423         * util.c: DO not test for arguments that do not make sense under
5424         Windows NT.
5426         * file.c: utime.h always included for Windows NT port.
5428         * view.c: Events are flushed only if the ports supports it.
5430 Mon Mar 16 12:30:39 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
5432         * hotlist.c: Defaults on the hotlist add-current and new-entry is
5433         the current directory.
5435 Sat Mar 14 17:30:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5437         * file.c (panel_operate): Why was the flags in query_dialog set to
5438         D_INSERT is a big mistery.  Should be fixed now.
5440 Fri Mar 13 18:10:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5442         * dlg.c (dlg_stop): New routine used to finish dialog boxes.
5444         * cmd.c (set_panel_filter_to): Implementation split.  To be used
5445         by GNOME.
5447         * widget.c (input_new): GNOME-entry widget is inspired in the
5448         WInput + the history patches from Paul.  Use the GNOME-entry
5449         history, as this makes it easier to deal with the filter button on
5450         the panel.
5452         * setup.c (save_panel_types): Do not use if running on the gnome
5453         edition.   This need a lot of fixing for making this work with
5454         gnome and session management.
5456         * main.c (do_nc): DO not call setup_panels_and_run_mc as
5457         create_panels in gnome edition does all this.
5459         (setup_mc):  Skip part of the setup.
5461         (do_execute): Do not Execute any of the pause code after
5462         run for gnome.
5464 Wed Mar 12 17:46:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
5466         * screen.c (chdir_other_panel, chdir_to_readlink): Use passed
5467         panel instead of cpanel (removed mixed use of panel and cpanel).
5469         * main.c, screen.c: Deleted F13 from the default keymap, added F13
5470         and F14 to the panel's keymap (the keymap for panels in listing
5471         mode). These two keys are only useful for panels in listing mode.
5472         It seems there are even more candidates for such a move. Especially
5473         select_cmd and unselect_cmd which appeared recently for the GNOME
5474         edition in screen.c act unexpected for panels in tree-mode.
5476         * cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
5478         (edit_cmd_new): No need to get a panel because it is not used.
5480         * panelize.c: Changed hotkey of the Panelize button (Alt-p is
5481         already used by the input line history). I wonder if I should
5482         change it in the find dialog, too (just to have a unique hotkey
5483         for the panelize button).
5485 Wed Mar 11 19:02:48 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5487         * view.c: Lots of changes:  Split the X11 code from the main view
5488         program.  This is needed to cleanly support the addition of the
5489         Gnome version of the file viewer;
5491         New names for old functions (just a view_ prefix):
5492         view_add_character, view_add_string, view_gotoyx, view_set_color,
5493         view_display_clean.  Now all of them take a WView argument (which
5494         is ignored in the macro for the text edition).  This is to support
5495         multiple open views at once.
5497         * boxes.c (symlink_dialog): Enable ok/cancel buttons for the Gnome edition.
5499         * cmd.c (link_cmd, symlink_cmd): Provide the filename to operate
5500         on.
5502 Tue Mar 10 20:41:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5504         * cmd.c (unselect_cmd_panel, select_cmd_panel): To avoid races on
5505         the X11 version, these routines now take a panel argument at
5506         invocation time.
5508         * widget.c (radio_callback): Call x_radio_focus for FOCUS/UNFOCUS
5509         events.
5510         (button_callback): Fallback to default_msg on WIDGET_FOCUS
5511         messages.
5513 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5515         * xslint.c (getch): Added missing "return".
5517         * utilunix.c (init_groups): Added parentheses around
5518         assignment/truth value.
5520         * boxes.c: #include <stdlib.h>
5522         * screen.c (string_inode): Cast fe->buf.st_ino to long to be
5523         consistent with sprintf format.
5525         * main.c (handle_args): Added parentheses around assignment/truth value.
5527 Sat Mar  7 14:33:38 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5529         * src/complete.c: obsolete hack for OS/2 and NT removed.
5530         Completion works for NT now (not very good)
5532         * src/main.c: HOME variable is respected by NT and OS/2
5533         versions. If it is missing, we use LIBDIR on OS2_NT and "/"
5534         on Unix.
5536         * src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
5537         doesn't conflict with definitions for ALT and CTRL, but it is
5538         SDK-compatible.
5540         * vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
5541         2 arguments
5543         * vfs/tcputil,c, vfs/utilvfs.c: signal.h was includes twice.
5545         * vfs/Makefile.in: undelfs.h is not used and should disapper
5547         * slang/slos2tty.c: new file, copied from SLang-0.99.38,
5548         needed for OS/2 port
5550         * slang/Makefile.in: added slos2tty.c
5552         * vfs/extfs/README: annoying spell errors corrected
5554         * src/main.c: --termcap disabled for OS2_NT because it doesn't
5555         (and cannot) work. ARCH_FLAGS is not needed anymore.
5557         * src/text.c: most includes removed. Added a warning is someone
5558         compiles this file with HAVE_X. Improved color scheme for
5559         consoles with 16 background colors (e.g. OS/2). Hack for OS/2
5560         removed.
5562         * src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
5563         to util.h. It may be useful to use them for filenames' completion
5564         on OS2_NT
5566 Fri Mar  6 19:29:54 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5568         * find.c: Simplify header files: use the fs.h include file.
5570         (use x_flush_events).
5572         * screen.c (string_file_name): In GNOME, the CList widget does the
5573         filename truncation, so we do not do it here.
5575         (panel_new): Initialize all of the wpanel contents to zero.  This
5576         will is required by the GNOME X ports (to figure out if a field
5577         has been inited or not).
5579 Thu Mar  5 10:28:40 1998  Norbert Warmuth  <k3190@fh-sw.de>
5581         * popt.c (poptParseArgvString): make it compile with the native
5582         compiler on AIX 4.1.3
5584 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5586         * cmd.c: Added #include "x.h"
5588 Wed Mar  4 14:49:55 1998  Norbert Warmuth  <k3190@fh-sw.de>
5590         * doc/mc.1.in, mc.hlp: updated (these files haven't been updated
5591         at the last change to mc.sgml)
5593         * doc/mc.sgml: spelling error corrected
5595         * Makefile.in: renamed all references of mc.1 to mc.1.in
5597         * find.c (locate_egrep): Don't use an absolute path if egrep isn't
5598         found at the usual places. Then execvp will search the directories
5599         passed in the environment PATH variable (a little bit slower but
5600         better than a defunct find content).
5602         * tree.c: removed the include file I mistakenly added with my
5603         last patch.
5605 Tue Mar  3 20:00:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5607         * file.c (get_file): Take a panel argument.  I am pretty sure that
5608         this is broken for the case where we are copying from a WTree.
5610         (panel_operate): take a panel argument instead of defaulting to
5611         cpanel.
5613 Mon Mar  2 15:54:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5615         * dlg.c (create_dlg): Set running to 0 on creation;
5616         (add_widgetl): do widget initialization if the dialog is already
5617         running when this dialog box is created.
5619 Mon Mar  2 12:11:37 1998  Norbert Warmuth  <k3190@fh-sw.de>
5621         * vfs/ftpfs.c (changetype): Removed the hack which always forced
5622         sending the command "TYPE I" when changing to binary transfer mode
5623         was requested even when MC thought the connection was already in
5624         binary mode (bucket->isbinary == 1). The correct fix is now in
5625         login_server.
5627         * vfs/ftpfs.c (login_server): Set the transfer mode stored in
5628         the bucket to UNKNOWN (the bucket might be reused and the old
5629         transfer mode isn't valid any longer).
5631         * screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
5632         which isn't delivered to widgets by the dialog manager; always
5633         return 1 when key was handled; removed the function keys from the
5634         panel's keymap (the function keys are always handled by the
5635         buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
5636         work even when quick search was started); characters between 32 and
5637         255 start quick search if there is no commandline (no C-s necessary
5638         to start search).
5640         * tree.c (tree_key): likewise
5642 Tue Feb 24 18:37:36 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
5644         * subshell.c: Set subshell_pid to 1 on startup
5646 Fri Feb 13 19:59:39 1998  Alexander Savelyev  <fano@VCom.kiev.ua>
5648         * screen.c: KEY_DC is also handled by delete_cmd.
5650         * vfs/ftpfs.c (chdir): sending the CWD command is not necessary
5651         (imho).
5653         (ftpfs_connection_close): Do not use WAIT_REPLY, closes
5654         connections faster.
5656         (open_data_connection): implement the reget command.
5658         * boxes.c: bigger VFS dialog box.
5660         * file.c (init_replace): Add support for copying files only if the
5661         size differs, and support for regetting ftp files.
5663 Wed Feb 11 20:08:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
5665         * user.c (execute_menu_command): Extented the syntax of %-macros
5666         used in the user menu in order to switch quoting on (default) and
5667         off, e.g. %0f means don't quote the expanded macro, %f and %1f mean
5668         quote the expanded macro.
5671 Fri Jan 30 16:43:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5673         * dlg.c (create_dlg): Now we pass the flags parameter to the
5674         create_dialog routine.
5676         * tkmain.c (xtoolkit_create_dialog): Check for the grided value
5678 Fri Jan 23 07:28:54 1998  Peter Daum  <gator@cs.tu-berlin.de>
5680         * extfs.c (open_extfs_archive): Pass the filename to the list
5681         command.
5683         * extfs/mailfs: New file system for browsing mail files (support
5684         for compressed mail fiels as well).
5686 Fri Jan 23 07:19:18 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5688         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
5689         system. Obsolete #ifdef's removed.
5691         * edit/editwidget.c: ansi standard violation removed
5693         * nt/Makefile.NT: default SLang directory is now ../slang. Most
5694         of SLang sources are no more compiled for MC.
5696         * nt/drive.h: new file. Copied from os2/drive.h with minor changes
5698         * nt/ket.nt.c: new way for handling conflicting SHIFT_PRESSED
5699         definitions. get_event can work without blocking. Copy, move
5700         and delete operations work normally.
5702         * nt/slint.nt.c: SLang_getkey2 and Slang_input_pending2 are
5703         copied from src/slint.c
5705         * nt/sys/param.h: annoying warnings temporaly suppressed.
5707         * slang/slvideo.c, slang/slw32tty.c: new files. They contain
5708         changes by Alexander Dong.
5710         * src/myslang.h: definitions for acsii symbols removed, since
5711         they are available in slang.h. Double lines are not used anymore.
5713         * src/panelize.c: sys/wait.h is included only if HAVE_SYS_WAIT_H
5714         is defined
5716         * nt/Makefile.NT: text.c is added
5718         * nt/Makefile.VC4: "-debug" switch for linker is not used for
5719         release version
5721         * src/screen.c (show_dir): double lines are no more used by NT and
5722         OS/2 ports.
5724         * src/wtools.c (real_input_dialog_help): layout of input dialog for
5725         XView port is corrected
5727         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
5728         system. Obsolete #ifdef's removed.
5730         * edit/editwidget.c: ansi standard violation removed
5732 Wed Jan 21 14:01:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5734         * ext.c (regex_command): reverted the patch that changed tests for
5735         *p == ' ' || *p == '\t' to isspace().  isspace() is true for tabs,
5736         newlines, carriage-returns and vertical tabs as well.  Which is
5737         not what we want.
5739 Wed Jan 21 11:58:39 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
5741         * ftpfs.c (retrieve_dir): Avoid compiler warning by testing
5742         explicitly the value.
5744         screen.c (format_file): color not initialized when we met
5745         empty_line.
5747 Wed Jan 21 11:28:21 1998  Alex Tkachenko  <alex@bcs.zp.ua>
5749         * cmd.c, utilunix.c: cosmetic changes to reduce compiler warnings
5751         * utilunix.c (my_system): small fix for SCO zombies moved here;
5752         now it returns WEXITSTATUS(status) instead of status itself. While
5753         missing it may not hurt on i.e., linux, on SCO it gives incorrect
5754         value.
5756         * vfs/extfs.c system() calls replaced with my_system() call; this
5757         allows a greater degree of control - fixes SCO system() return value
5758         processing. Notice: plain replacement system() with WEXITSTATUS(system)
5759         does not produce correct behavior (don't ask me why).
5761         * panelize.c (do_external_panelize): similar fixes for pclose()
5762         return value on SCO.
5764         view.c (load_view_file): inverted value of viewer_magic_flag to
5765         put viewer decompression state in accordance with F8 label text.
5766         Also default_nroff_flag is initialized to be 1; thus enabling all
5767         filter processing by default easies mc usage for novice users.
5769 Sun Jan 18 13:47:37 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
5771         * main.c
5772         * panel.h, tkscreen.h : error when compile dlg.c
5773         * tkconf.h : paint_frame
5774         * screen.c : to include paint_frame
5775         * tkmain.c : I just copied clr_scr() from the text.c
5777 Fri Jan 16 16:19:59 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5779         * screen.c (format_file): Do not invoke the file_compute_color
5780         routine for empty lines.
5782         * gmain.c: Color scheme for Gnome
5784         * gscreen.c: Color setup now allocated the GdkColor *.
5786         * color.c: Moved the default color setting to a per-port
5787         location (text.c for the text mode edition);  new color
5788         configuration: core;  Fixed the case where the color spec was
5789         buggy and we kept on a infinite loop;
5791 Fri Jan 16 13:47:13 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5793         * nt/drive.nt.c, nt/chmod.nt.c: Updated button_new and check_new
5794         calls
5796 Fri Jan 16 12:47:39 1998  Norbert Warmuth  <k3190@fh-sw.de>
5798         * vfs/ftpfs.c (command): Don't log passwords when the dialog between
5799         server and client is logged to a file (mc -l logfile).
5801         * vfs/ftpfs.c (resolve_symlink, retrieve_dir): When a directory
5802         contains spaces send two commands ("CWD path" and  "LIST .") instead of
5803         one command ("LIST path") in order to get directory listings.