Just a little correction at the it.po file.
[midnight-commander.git] / src / ChangeLog
blob68f722d3d39efce4305073919a57dba8f2862389
1 2003-03-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
3         * file.c (copy_file_file): Fix data corruption if mc_write()
4         does not write n_read bytes at once.
5         (move_file_file): Eliminate retry_src_lstat label.
7 2003-03-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
9         * view.c (get_line_at): Set prev properly for reverse search.
10         Don't remove final character in the last line without newline.
11         (search): During regexp search: handle properly '^'
12         in forward search and '$' in reverse search.
13         Based on the patch from Adam Byrtek <alpha@debian.org>.
15 2003-03-22  Andrew V. Samoilov  <sav@bcs.zp.ua>
17         * cons.handler.c (set_attr) [__FreeBSD__]: Fix compilation.
18         Reported by Dmitry Alexeyev <dmi_a@qnx.org.ru>.
20 2003-03-22  Adam Byrtek  <alpha@debian.org>
22         * command.c (enter): Check subshell state early and return if
23         inactive before clearing the command line.
24         * main.c (force_subshell_execution): Remove magic, unusable,
25         undocumented command line option "-r".
27         * subshell.c: Remove dead code (SYNC_PTY_SIDES).
28         (init_subshell_child): Remove dead code (initfile for TCSH).
29         (init_subshell): Use ZSH_VERSION environment variable to detect
30         ZSH.  Use -g option to zsh to hide entries beginning with space
31         from history.  Add space before ZSH precmd to hide it.
33 2003-03-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
35         * view.c (get_line_at): Return unreversed line for backward
36         search to restore backward regexp search feature.
37         (icase_search_p): Fix for the above.
38         Reported by Adam Byrtek <alpha@debian.org>
40 2003-03-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
42         * view.c (icase_search_p): Add backward search support.
43         (search): Likewise.
44         (block_search): Likewise.
45         (normal_search): Add "Backwards" button.
46         (get_line_at): Handle view->direction properly and return
47         reversed string if backward search required.
49 2003-03-14  Pavel Roskin  <proski@gnu.org>
51         * key.c (xterm_key_defines): Add more sequences for xterm, rxvt
52         and konsole.
54 2003-03-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
56         * key.c: Use fputs() instead of fprintf().
57         (func_XOpenDisplay) [HAVE_GMODULE]: Move to init_key_x11().
58         (get_modifier) [__QNXNTO__]: Use g_snprintf() instead of unsafe
59         sprintf().
61 2003-03-10  Pavel Roskin  <proski@gnu.org>
63         * key.c (correct_key_code): Convert unrecognized 0177, Ctrl-h
64         and Ctrl-d into Delete and Backspace.  Remove all references to
65         those keys in other files.
67         * key.c (get_modifier) [__QNXNTO__]: Remove incorrect check for
68         the existance of libph.so.1.
70 2003-03-10  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
72         * key.c (get_modifier): Add support for QNX Photon pterm.
74 2003-03-10  Pavel Roskin  <proski@gnu.org>
76         * utilunix.c (canonicalize_pathname): Clean rewrite from
77         scratch.  The old implementation had memory problems with "/.."
78         and didn't actually strip the leading "./" from path.  Remove
79         support for obsolete Qnet paths.
81 2003-03-05  Pavel Roskin  <proski@gnu.org>
83         * subshell.c (init_subshell_child): Set environment variable
84         MC_SID to the session number of the subshell.
85         (check_sid): Check that we are not running mc already in the
86         same session.
87         * main.c (main): Don't run do_nc() if shutdown was requested.
89 2003-03-05  Andrew V. Samoilov  <sav@bcs.zp.ua>
91         * cons.handler.c (set_attr) [__FreeBSD__]: Eliminate cmd array.
93 2003-03-05  Max Khon  <fjoe@iclub.nsu.ru>
95         * cons.handler.c (console_init) [__FreeBSD__]: Fix the amount of
96         allocated memory.
97         (console_save) [__FreeBSD__]: Doesn't exit on error, just return.
99 2003-03-05  Pavel Roskin  <proski@gnu.org>
101         * cons.handler.c (show_console_contents_freebsd): Rewrite
102         to use screen library (S-Lang or ncurses).  Direct output is
103         unreliable when the screen library is active.
105 2003-03-03  Pavel Roskin  <proski@gnu.org>
107         * profile.c (load): Fix reading keys immediately after comments.
109 2003-02-26  Pavel Roskin  <proski@gnu.org>
111         * cons.handler.c: Put checks for rxvt extensions in one place.
112         Simplify FreeBSD code.
114 2003-02-26  Max Khon  <fjoe@iclub.nsu.ru>
116         * cons.handler.c: Add implementation for FreeBSD 4.x and 5.x.
118 2003-02-26  Pavel Roskin  <proski@gnu.org>
120         * view.c (load_view_file): Make sure view->s.st_size is not
121         truncated when passed to g_malloc().
122         Reported by Philipp Thomas <pthomas@suse.de>
124 2003-02-23  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
126         * key.c (get_modifier): Add support for QNX Neutrino console.
128 2003-02-23  Pavel Roskin  <proski@gnu.org>
130         * key.c (init_key_x11): Don't try to use X11 if DISPLAY is not
131         set in the environment.
133 2003-02-22  Pavel Tsekov  <ptsekov@gmx.net>
135         * key.c: Add support for dynamic loading of libX11.
137 2003-02-21  Pavel Roskin  <proski@gnu.org>
139         * utilunix.c (destroy_groups): Revert last change, it doesn't
140         work with glib-1.2.x.
142 2003-02-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
144         * option.c (init_configure): Use OTHER_OPTIONS consistently.
145         By Mike Smithson <dooligan@intergate.ca>.
147 2003-02-18  Pavel Roskin  <proski@gnu.org>
149         * util.c (list_append_unique): Free removed links.
150         * utilunix.c (destroy_groups): Use g_tree_foreach() instead of
151         obsolete g_tree_traverse().
153         * util.c (list_append_unique): Traverse the list backwards.
154         Otherwise the list was lost when the current link was removed.
156         * widget.c (history_get): Set the history to the last item.
157         Reported by Adam Byrtek <alpha@debian.org>
159         * main.c (do_panel_cd): Record directory history for the panel
160         that changes the directory, not for the current panel.
162         * widget.c (history_get): Use list_append_unique() for backward
163         compatibility.
165         * main.c (directory_history_list): Allow history command even
166         with just one entry - it's more intuitive.
168         * util.c (list_append_unique): New function - add text to GList
169         and remove duplicates.
170         * main.c (directory_history_add): Use list_append_unique().
171         * widget.c (push_history): Likewise.
173         * panel.h: Convert directory history to GList.
174         * widget.h: Convert input history to GList.
175         Adjust all dependencies.
177 2003-02-11  Pavel Roskin  <proski@gnu.org>
179         * cmd.c (edit_cmd_new): Call editor with NULL argiment, not with
180         an empty string.  nvi won't save the file if invoked with an
181         empty argument.
182         (execute_with_vfs_arg): Don't call vfs_file_is_local() on NULL.
183         Reported by Adam Byrtek <alpha@debian.org>
185 2003-02-04  Pavel Roskin  <proski@gnu.org>
187         * cmd.c (get_random_hint): Add "force" argument to ignore
188         timeout.  Adjust all dependencies.
189         * main.c (load_hint): Likewise.
190         * layout.c (setup_panels): Force updating the hint bar.
191         Original patch by Adam Byrtek <alpha@debian.org>
193 2003-02-03  Pavel Roskin  <proski@gnu.org>
195         * slint.c (getch): If there is EOF on the input, exit
196         immediately, don't use quiet_quit_cmd().
197         Reported by Steven P. Ulrick <spu@faith4miracle.org>
199 2003-01-28  Pavel Roskin  <proski@gnu.org>
201         * util.c (name_quote): Don't quote ':', '~' and '@'.  Quote '#'
202         and '~' only if it's the first character.
204         * info.c (info_show_info): Cast nlink_t to int to avoid a
205         warning if nlink_t is short.
206         * screen.c (string_file_nlinks): Likewise.
208 2003-01-27  Arpi  <arpi@mplayerhq.hu>
210         * key.c (is_idle): Correct maximal file descriptor and return
211         value.
213 2003-01-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
215         * util.h (app_text): Remove declaration - it became static.
216         * util.c (get_compression_type): Cast magic to char * to
217         fix compilation on AIX.
218         * mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT1]:
219         Check for MOUNTED is defined to fix compilation on AIX.
220         Reported by Alexander Varakin <avarakin00@hotmail.com>.
222 2003-01-27  Pavel Roskin  <proski@gnu.org>
224         * main.c (update_xterm_title_path): Use is_printable().
226 2003-01-24  Pavel Roskin  <proski@gnu.org>
228         * slint.c (slang_reset_softkeys): Cast arguments from size_t to
229         int to avoid a warning on 64-bit systems.
231         * subshell.c (resize_tty) [!TIOCSWINSZ]: Warning fix.
233 2003-01-23  Pavel Roskin  <proski@gnu.org>
235         * slint.c (slang_init): Limit screen size to 255x255 because of
236         S-Lang limitations.
237         Reported by Tero Peippola <top@ees2.oulu.fi>
239 2003-01-22  Adam Byrtek  <alpha@debian.org>
241         * cmd.c (view_other_cmd): Update path in the xterm title after
242         command execution.
243         * main.c (do_execute): Likewise.
245 2003-01-22  Pavel Roskin  <proski@gnu.org>
247         * util.c (size_trunc): Remove "b" from the output - it's
248         redundant and wrong - the abbreviation for byte is "B".
249         Reported by Werner Lemberg <wl@gnu.org>
251 2003-01-20  Pavel Roskin  <proski@gnu.org>
253         * screen.c (string_file_type): Check for "regularity" before
254         checking for executable bit.
255         (file_compute_color): Likewise.
257         * dir.c (handle_dirent): Fix cleaning the stat buffer if
258         mc_lstat() fails.  Leave buf1->st_mode to be 0, so that the
259         entry is marked as a "non-regular file of unknown kind".
260         * screen.c (do_enter_on_file_entry): Try to change directory
261         when pressing Enter on a non-stat()able file.
263         * screen.c (string_file_type): Represent non-regular files of
264         unknown kind by '?'.
265         (file_compute_color): Use for them the same color as for stale
266         links.
268         * main.c: Change default value of full_eight_bits to 0 - it's
269         reported to be broken on many terminals.
271         * man2hlp.c (main): Initialize cnode->heading_level.
272         Bug report by Tribhuvan <loka@rcn.com>
274         * dir.c (sort_size): Avoid any arithmetic except comparison on
275         file sizes - they may not fit "int" that the function returns.
276         Original patch by Bulia Byak <bulia@dr.com>
278 2003-01-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
280         * profile.c (load): Handle corrupted section header.
281         Reported by skol@sbox.tugraz.at.
282         (GetPrivateProfileInt): Make intBuf and buf auto variables.
284 2003-01-20  Pavel Roskin  <proski@gnu.org>
286         * screen.c (do_search): Use case-insensitive search if and only
287         if the sort order is case-insensitive.
288         Suggested by Bulia Byak <bulia@dr.com>
290 2003-01-19  Pavel Roskin  <proski@gnu.org>
292         * dir.c (do_load_dir): Remove dotdot_found - handle_dirent()
293         doesn't process ".." now.  Don't add ".." to the "/" directory.
294         (do_reload_dir): Likewise.
295         Suggested by Bulia Byak <bulia@dr.com>
297         * dir.c (handle_dirent): If mc_lstat() fails, assume that the
298         entry is a directory.  This is useful for QNX Neutrino.
300 2003-01-15  Andrew V. Samoilov  <sav@bcs.zp.ua>
302         * man2hlp.c (fclose_check): Call ferror() and exit on file
303         error.
305         * man2hlp.c (main): Use fgets() return value in while loop
306         instead of feof() because end-of-file indicator can be false on
307         error.
309         * man2hlp.c (handle_command): Fix possible buffer overflow.
310         (handle_link): Likewise.
312 2002-12-27  Pavel Roskin  <proski@gnu.org>
314         * layout.c (setup_panels): Revert unnecessary part of the
315         previous patch.  Call load_hint() regardless of message_visible.
316         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
318         * key.c (correct_key_code): Don't call get_modifier() for normal
319         characters - they only should get modifiers from sequences
320         tables.  This fixes entering characters with AltGr.
321         Reported by David Martín <dmartina@excite.com>
323         * view.c (max_dirt_limit): Make global to match view.h.
324         * setup.c (options): Actually save max_dirt_limit, which is
325         documented as a "special setting".
327 2002-12-26  Pavel Roskin  <proski@gnu.org>
329         * key.c (get_modifier): Warning fix.
331         * file.c: Never access internals of ctx->rx directly.
332         * fileopctx.c (file_op_context_destroy): Use regfree() to free
333         ctx->rx.
334         Patch from Red Hat beta.
336         * layout.c (setup_panels): Clean the hint bar if it's enabled.
337         Bug reported by Adam Byrtek <alpha@debian.org>
339 2002-12-26  Adam Byrtek  <alpha@debian.org>
341         * main.c (update_xterm_title_path): New function, display
342         current path in the xterm window title.
343         (_do_panel_cd): Call update_xterm_title_path().
344         (done_mc): Remove final message for the titlebar.
345         * layout.c: Replace "Xterm hintbar" option with more generic
346         "Xterm window title".  Update all dependencies.
347         (setup_panels): Call update_xterm_title_path().
349 2002-12-26  Pavel Roskin  <proski@gnu.org>
351         * utilunix.c (mc_tmpdir): Check temporary directory more
352         carefully.  Report problems and ask user to acknowledge them.
354         * main.c (midnight_callback): Fix the last change, so that plain
355         Enter is not affected.
357 2002-12-25  Pavel Roskin  <proski@gnu.org>
359         * main.c (copy_prog_name): Make static.
360         (midnight_callback): Handle both Alt-Enter and Ctrl-Enter before
361         the widgets, because the input widget interprets them now.
362         (default_map): Remove Alt-Enter, it's handled elsewhere.
364         * key.c (correct_key_code): Convert Shift-Tab and Ctrl-Tab to
365         Back Tab (used in dialogs to jump to the previous widget).
367         * widget.c (input_callback): Insert Enter with a modifier as
368         literal Enter.  Useful when pasting multiline text.
370         * cmd.c (execute_with_vfs_arg): New function.  Work around
371         defects of VFS localcopy code.
372         (view_file_at_line): Use execute_with_vfs_arg().
373         (do_edit_at_line): Likewise.
375 2002-12-24  Pavel Roskin  <proski@gnu.org>
377         * key.c (is_idle): Check for input on input_fd and gpm_fd.
379         * main.c (init_xterm_support): Revert last change, it doesn't
380         free all S-Lang memory anyways, but creates portability issues.
382         * dlg.h: Add new event DLG_VALIDATE.
383         * dlg.c (frontend_run_dlg): Send DLG_VALIDATE.
384         (select_a_widget): Don't send DLG_ONE_DOWN, nobody uses it.
385         * find.c (find_parm_callback): New callback for the parameter
386         dialog.  Don't allow stopping the dialog if the regular
387         expression is invalid.
389 2002-12-23  Pavel Roskin  <proski@gnu.org>
391         * layout.c (init_curses) [HAVE_SLANG]: Don't call
392         SLtt_get_terminfo(), it's already called in slang_init().
393         * main.c (init_xterm_support): Free term_entry.
395         * subshell.c (subshell_switch_key): Make static const.
397         * key.c (correct_key_code): Strip or add modifier information
398         when necessary.  Recognize shift with function key N as function
399         key (N + 10).  Fix breakage from previous patch.
400         * key.h: Change XCTRL and ALT macros to use new definitions for
401         keyboard modifiers.
403 2002-12-21  Pavel Roskin  <proski@gnu.org>
405         * key.c (get_modifier): Make static.  Return the mc internal
406         representation, not the Linux console code.
407         (correct_key_code): Add the modifier, not strip it.
408         (ctrl_pressed): Remove.  Adjust all dependencies.
410         * key.h: Add definitions for the keyboard modifiers that can be
411         part of the key code.
412         * key.c (xterm_key_defines): Add some common key definitions
413         with modifiers for xterm and rxvt.
414         (correct_key_code): Strip and remember modifiers.
415         (get_modifier): Add support for saved modifiers.
417 2002-12-20  Pavel Roskin  <proski@gnu.org>
419         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 200ms.
420         If ESCDELAY is 0, ncurses 5.2 may stop recognizing escape
421         sequences under heavy CPU load.
423 2002-12-19  Pavel Roskin  <proski@gnu.org>
425         * screen.c (chdir_other_panel): Use do_panel_cd() on the
426         opposite panel instead of changing the current panel twice.
428         * main.c (make_panels_dirty): Preserve the cursor position.
430 2002-12-18  Tomas Styblo  <tripie@cpan.org>
432         * hotlist.c (update_path_name): Update the title even when
433         opening an empty group.
435 2002-12-16  Pavel Roskin  <proski@gnu.org>
437         * dir.c (do_load_dir): Add an error message if mc_opendir()
438         fails.
439         (do_reload_dir): Likewise.
440         * screen.c (do_enter_on_file_entry): Add an error message if
441         do_cd() fails.
443 2002-12-15  Pavel Roskin  <proski@gnu.org>
445         * view.c (do_view_init): Use non-blocking open() followed by
446         fstat() to avoid race conditions.  Unset O_NONBLOCK flag after
447         the open().
449         * cmd.c (mkdir_cmd): Don't try to create a directory with empty
450         name.
452         * global.h: Add replacement for O_NONBLOCK.
454 2002-12-11  Pavel Roskin  <proski@gnu.org>
456         * find.c (find_file): Skip entries without data when panelizing.
457         Found by Valgrind.
459         * eregex.h: Undefine __restrict_arr before redefining to avoid a
460         warning if it's defined.
462 2002-12-09  Pavel Roskin  <proski@gnu.org>
464         * util.c (load_file_position): Don't free filename.
466 2002-12-08  Pavel Roskin  <proski@gnu.org>
468         * util.c: Add functions for saving and loading file positions.
470 2002-12-07  Pavel Roskin  <proski@gnu.org>
472         * file.c (is_wildcarded): Move ...
473         * filegui.c: ... here.  Make static.
475 2002-12-01  Pavel Roskin  <proski@gnu.org>
477         * cmd.c (do_edit_at_line): Set line to 0 to allow the editor to
478         decide if the user cares about the initial line or not.
479         * main.c: Set edit_one_file_start_line to 0 initially.
481 2002-11-29  Pavel Roskin  <proski@gnu.org>
483         * setup.c: Add option_save_position to the options table.
485 2002-11-28  Pavel Roskin  <proski@gnu.org>
487         * tree.c: Make struct WTree opaque.  Remove "done" flag - it's
488         broken by design.
489         (tree_selected_name): New function, return name of the currently
490         selected entry.  Use it where WTree is opaque.
491         * boxes.c (tree_callback): Don't check for the "done" flag - it
492         causes closing the dialog on any key after mouse selection.
494         * user.h: Don't include edit/edit-widget.h.
495         * user.c: Include edit/edit-widget.h and edit/edit.h.
497         * slint.c (getch): Return -1, not SLANG_GETKEY_ERROR, otherwise
498         get_key_code() crashes when calling isalpha().
500         * color.c (mc_init_pair) [HAVE_SLANG]: Pass "default", not NULL
501         to SLtt_set_color() - it fixes transparency with the latest
502         versions of S-Lang.  Treat foreground like background.
504 2002-11-20  Pavel Roskin  <proski@gnu.org>
506         * main.c: Eliminate finish_program variable - mc can now exit
507         immediately.
509 2002-11-17  Pavel Roskin  <proski@gnu.org>
511         * screen.c (do_select): Mark panel as dirty.
513         * boxes.c (init_disp_bits_box): Make static.
515 2002-11-15  Pavel Roskin  <proski@gnu.org>
517         * main.c (main): Don't call subshell_get_console_attributes() if
518         the subshell is disabled from the command line.
520 2002-11-14  Pavel Roskin  <proski@gnu.org>
522         * myslang.h: Define getyx() macro.
523         * layout.c (print_vfs_message): Preserve cursor position.
525         * view.h: Make struct WView opaque, move non-interface parts ...
526         * view.c: ... here.
527         * layout.c: Use struct WView, not typedef WView.
529         * cmd.c: Clean up includes, don't rely on edit.h.
531         * dialog.c (struct Refresh): Make opaque.
532         * dialog.h: Move all stuff unrelated to dialog.c ...
533         * wtools.h: ... here.  Adjust all users.
535         * dialog.c (refresh_list): Make static.
536         * dialog.h: Add typedef refresh_fn.
538         * cmd.c (menu_edit_cmd): Make static, provide separate functions
539         without arguments to access it.
540         * menu.h: Make callfn function without arguments - we are not
541         using any arguments now.
543 2002-11-13  Pavel Roskin  <proski@gnu.org>
545         * man2hlp.c (persistent_fread): Return error for len <= 0.
546         (persistent_fwrite): Likewise.
547         (main): Check the result of the second ftell().
549         * cmd.h: Fully exclude WPanel from public interfaces of cmd.c.
550         * cmd.c: All commands operate on current panels.
551         (get_a_panel): Remove.
552         * screen.c: Change to use new functions.
554         * main.h: Don't check if panel.h was included.  Use forward
555         declaration of WPanel, change prototypes to use struct WPanel.
556         (midnight_callback): Make static.
558         * cmd.c (do_view_cmd): Don't take WPanel argument - always use
559         the current panel.
560         (view_cmd): Likewise.
561         (view_file_cmd): Likewise.
562         (view_simple_cmd): Likewise.
563         (filtered_view_cmd): Likewise.
564         (filtered_view_cmd_cpanel): Remove.
565         (view_panel_cmd): Likewise.
567 2002-11-12  Pavel Roskin  <proski@gnu.org>
569         * chmod.c (init_chmod): Make static.
570         * help.c (quit_cmd): Rename to help_quit_cmd().
571         (show): Rename to help_show().
572         * main.c (quit_cmd): Make static.  Return void, not int.
573         (sort_cmd): Make static.
575         * dlg.c (send_message_to): Remove, use send_message() instead.
576         (send_message): Make inline, remove Dlg_head argument.  Change
577         all callers.
579         * dlg.h: Remove Dlg_head argument from callback_fn - it's
580         excessive and can be trivially derived from the widget.
581         (default_proc): Remove Dlg_head argument.  Change all callers.
582         * widget.c (listbox_draw): Remove Dlg_head argument.
584         * dlg.h: Define dlg_cb_fn - dialog callback function.  Improve
585         typedefs for callbacks and use them everywhere.  Clean up some
586         unused defines.
587         * dlg.c: Adjust declarations for match.
589         * wtools.h: Eliminate the_widget filed in QuickWidget.
590         * wtools.c (quick_callback): Allocate widget table dynamically.
592         * dlg.c (widget_redraw): Remove.
593         * widget.c (find_buttonbar): Use find_widget_type().  Make
594         global.
595         (define_label): Remove paneletc argument.  Change all callers.
596         (define_label_data): Likewise.
597         (redraw_labels): Likewise.  Use find_buttonbar().
598         * view.c (view_adjust_size): Use find_buttonbar().
600         * menu.h: Remove "*" from the definition of the type "Menu"
601         for consistency with other types.  Change all dependencies.
602         (menubar_event): Make static.
604 2002-11-12  Andrew V. Samoilov  <kai@cmail.ru>
606         * view.c (get_line_at): Use g_strreverse() instead of
607         reverse_string().
608         * util.c (reverse_string): Remove.
609         (decompress_extension): Return const char *.
610         (strip_home_and_password): Make dir const.
611         * util.h: Fix declarations.
613 2002-11-11  Pavel Roskin  <proski@gnu.org>
615         * charsets.c (convert_to_display): Don't crash on empty read
616         only strings.
617         (convert_from_input): Likewise.
618         Reported by David Martin <dmartina@excite.com>
620         * screen.c (select_item): Don't show the file selection if the
621         panel is inactive.
622         (chdir_other_panel): Select the same file on the other panel.
624         * file.c (panel_operate): Warning fix.
625         * cmd.c (compare_dirs_cmd): Likewise.
626         * man2hlp.c: Warning fixes.  size_t can be unsigned.
628         * file.c (panel_get_file): Make static.
629         * filegui.h: Eliminate use of WANT_WIDGETS.
630         * setup.h: Likewise.
631         * menu.h: Declare struct WMenu.
632         * main.h: Don't include menu.h, use forward declaration.
634         * dlg.h: Move movefn definition ...
635         * win.h: ... where it's used.  Remove unused definitions.
636         * win.c: Remove unused code.
637         * key.h: Include mouse.h, don't rely on others doing it.
638         * widget.h: Include dlg.h.  Remove Tk-only fields.
639         * widget.c: Remove Tk-only fields.
641         * panel.h: Simplify interdependencies between headers.  Use
642         forward declarations for structures.
643         * widget.h: Declare struct WListbox.
644         * wtools.h: Use forward declaration for struct WListbox to avoid
645         dependency on widget.h.
647 2002-11-10  Pavel Roskin  <proski@gnu.org>
649         * panel.h: Remove all unused definitions.  Make format_e an
650         opaque structure by moving it ...
651         * screen.c: ... here.
653         * screen.c (display_mini_info): Make static.
654         (the_info_panel): Remove.
656         * screen.c (Xtry_to_select): Make static, rename to
657         do_try_to_select().
659         * screen.c (chdir_other_panel): Change behavior of Alt-O -
660         change the other panel to the current directory, put it to the
661         listing mode if needed.  Based on a patch from PLD Linux
662         Distribution.
664 2002-11-06  Pavel Roskin  <proski@gnu.org>
666         * myslang.h: Don't define ERR - it conflicts with sys/ucontext.h
667         in glibc 2.1.3.
668         * key.c: Use -1, not ERR.
670 2002-11-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
672         * boxes.c (configure_vfs): Ask whether passive connections
673         should be used.  Asked by Andrew W. Nosenko <awn@bcs.zp.ua>.
675 2002-11-01  Pavel Roskin  <proski@gnu.org>
677         * main.c (main): Use O_TRUNC when opening the file to write the
678         last working directory.  Fix segmentation fault when exiting
679         while on VFS.
680         * util.c (mc_mkstemps): Use O_TRUNC to open temporary files.
682 2002-10-31  Andrew V. Samoilov  <sav@bcs.zp.ua>
684         * view.c (normal_search) [HAVE_CHARSET]: Fix segmentation fault
685         on first search.  Writting to readonly "" is not good idea.
687 2002-10-31  Pavel Roskin  <proski@gnu.org>
689         * main.c (probably_finish_program): Eliminate.
690         (handle_args): Use exit code 1 only for errors, 0 for legitimate
691         options such as "--help".
693 2002-10-30  Pavel Roskin  <proski@gnu.org>
695         * main.c: Option -P takes an argument (output filename) now.
696         (main): Output the last directory to the specified file.  Don't
697         output "." if this information is unavailable.
699         * subshell.c (subshell_name_quote): Don't quote numbers and
700         letters if possible and safe.
702         * charset.h: Provide new inline functions convert_to_display_c()
703         and convert_from_input_c().
704         * view.c: Include charset.h unconditionally, use new conversion
705         functions that don't require ifdefs.
707         * charset.h [!HAVE_CHARSET]: Provide dummy macros for
708         convert_to_display and convert_from_input.  Eliminate uchar
709         definition, use unsigned char, adjust dependencies.
710         * charsets.c (convert_to_display): Tolerate NULL argument.
711         (convert_from_input): Likewise.
713         * ext.c (exec_extension): Don't create self-destructing scripts
714         for the viewer - remove those scripts manually after calling
715         view().  This fixes the problem with double F8 in the viewer on
716         parsed files.
717         Reported by David Martin <dmartina@excite.com>
719         * ext.c (exec_extension): Don't rely on working #! - explicitly
720         run /bin/sh on the temporary script.
722         * mouse.h: Use definitions for GPM_B_DOWN and GPM_B_UP
723         compatible with gpm-1.20.
724         Reported by David Martin <dmartina@excite.com>
726 2002-10-29  Pavel Roskin  <proski@gnu.org>
728         * panel.h: Use spaces, not commas, in the format - they are more
729         readable and easier to document.
730         * screen.c (panel_format): Likewise.
731         (mini_status_format): Likewise.
733 2002-10-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
735         * view.c (init_growing_view): Mark message for translation.
736         (normal_search) [HAVE_CHARSET]: Convert saved search string to
737         original codeset if input_dialog() returns empty string.
739 2002-10-24  Pavel Roskin  <proski@gnu.org>
741         * screen.c (mini_info_separator): Revert last patch.  The bug is
742         in Red Hat 8.0 S-Lang.
744         * screen.c (mini_info_separator): The separator was one
745         character too long.
746         (show_dir): Remove obsolete linux_unicode hack.
748         * dlg.c (init_dlg): Redraw screen after selecting the focused
749         widget, not before.  The bug affected file progress dialog with
750         verbose operation off.
751         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
753         * filegui.c (check_progress_buttons): Reinitialize ret_value to
754         avoid old values after events other than selecting a button.
755         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
757 2002-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
759         * man2hlp.c (handle_link): Treat link name after \& as regular
760         text.
761         Suggested by David Martin <dmartina@excite.com>
763 2002-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
765         * poptconfig.c (configLine): Cast the argument to functions for
766         character classification to unsigned or use unsigned char *.
767         (poptReadConfigFile): Likewise.
768         * popthelp.c (singleOptionHelp): Likewise.
769         * poptparse.c (poptParseArgvString): Likewise.
771         * main.c (show_change_notice): Make local variable in main().
772         (compatibility_move_mc_files): Merge with
773         do_compatibility_move() and return 1 if moving was done, 0
774         otherwise.  Move ~/.mc.tree to ~/.mc/Tree.
776         * file.c (copy_file_file): Reuse message from move_file_file().
777         (copy_dir_dir): Eliminate one more goto.
779 2002-10-22  Pavel Roskin  <proski@gnu.org>
781         * man2hlp.c (main): Remove unnecessary spaces in the table of
782         contents.
784         * setup.c: Remove dead code surrounded by
785         SAVE_CHANGES_OUTSIDE_OPTIONS_MENU.
786         * tree.c: Make tree_navigation_flag static.
788         * help.h: Remove unused characters.
789         * help.c (show): Remove handling of unused characters.
791 2002-10-22  Andrew V. Samoilov  <sav@bcs.zp.ua>
793         * popthelp.c (poptPrintHelp): Use POPT_ for "[OPTION...]",
794         this message is eliminated by poptSetOtherOptionHelp().
795         * popt.c (poptStrerror): Use _ instead of POPT_ for useful
796         messages.
798         * utilunix.c (mc_tmpdir): Make directory only if not exists.
799         Use strncpy() instead of g_snprintf() - there can be printf()
800         pattern(s) in the $TMPDIR.
802         * man2hlp.c (handle_link): Don't strip leading space(s) from
803         linkname.
805 2002-10-22  Pavel Roskin  <proski@gnu.org>
807         * myslang.h: Add a replacement for addch(), which expects a
808         wchar_t argument in patched S-Lang on Red Hat 8.0.
810 2002-10-21  Pavel Roskin  <proski@gnu.org>
812         * main.c (print_mc_usage): Remove unnecessary newline.
814         * main.c (print_mc_usage): Partly revert previous patch -
815         poptPrintHelp() has side effects and should not be called
816         inside fprintf(), which can be a macro.
818         * main.c (print_mc_usage): Use poptSetOtherOptionHelp()
819         From Andrew V. Samoilov <sav@bcs.zp.ua>
821         * learn.c (learn_check_key): Simplify logic.  Add a comment for
822         translators.
824         * file.h: Rename know_not_what_am_i_doing to safe_delete.
825         * file.c (real_query_recursive): Don't ask to enter "yes" - it's
826         ugly and requires changing input method in some locales.
828         * file.c (real_query_recursive): Default to empty string, not to
829         "no" when asking to enter "yes".  Add note for translators.
831         * cmd.c (do_view_cmd): When asking confirmation, correctly
832         interpret closing the dialog by escape.
834 2002-10-20  Pavel Roskin  <proski@gnu.org>
836         * utilunix.c (mc_tmpdir): Don't exit if the temporary directory
837         cannot be created - it should be possible to run mc on read-only
838         filesystems.  Try to chmod() the temporary directory.
840 2002-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
842         * man2hlp.c (handle_tp_ip): Implement .IP and .TP macroses
843         (without arguments).
844         (handle_command): Call handle_tp_ip().
845         (main): Handle label and body of .TP paragraph.
847 2002-10-17  Pavel Roskin  <proski@gnu.org>
849         * view.c (view_ok_to_quit): Use the same dialog as the editor.
851 2002-10-15  Andrew V. Samoilov  <sav@bcs.zp.ua>
853         * Makefile.am (man2hlp_LDADD): Set to $(GLIB_LIBS).
854         * man2hlp.c: Include <glib.h> and use g_snprintf()/g_vsnprintf()
855         instead of sprintf()/vsprintf().
857         * man2hlp.c: Report about stale links.
859 2002-10-13  Pavel Roskin  <proski@gnu.org>
861         * color.h: Remove Q_SELECTED_COLOR and Q_UNSELECTED_COLOR.
862         Rename BEST_COLOR to IF_COLOR.  Make error messages bold on b/w
863         terminals.  Don't highlight stale links on b/w terminals, since
864         they cannot be distinguished from marked files.
866         * main.c (print_color_usage): Update list of keywords for file
867         types.  Add a notice for translators.
869         * color.c: Rename stalledlink to stalelink.  Make the same
870         change elsewhere.
872 2002-10-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
874         * popt.h: Adjust poptHelpOptions[] and poptPrintHelp()
875         declarations.
877         * popthelp.c: Replace POPT_ with _ for visible strings.
878         (singleOptionHelp): Eliminate format array.
879         (poptHelpOptions): Make const.
880         (poptPrintHelp): Return width of left column.
882         * main.c (print_mc_usage): Use width from poptPrintHelp()
883         for "+number".
885 2002-10-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
887         * boxes.c (sel_charset_button): Use g_snprintf() instead of
888         sprintf().
889         * charsets.c (init_translation_table): Likewise.
891 2002-10-07  Pavel Roskin  <proski@gnu.org>
893         * view.c: Move call to view_update_bytes_per_line() from
894         view_init(), where the number of columns is unknown yet, to
895         view_callback() where it's already known.
896         (view_adjust_size): Make static.
898 2002-10-07  Miven Dooligan  <dooligan@intergate.ca>
900         * view.c (view_update_bytes_per_line): Don't use vertical bars
901         in the hex viewer is short of space.  Fix missing space between
902         addresses and hexdump when framed.
903         (display): Likewise.
905 2002-10-07  Pavel Roskin  <proski@gnu.org>
907         * selcodepage.c (select_charset): Use g_snprintf() instead
908         of non-portable snprintf().
910         * myslang.h [!HAVE_SYSTEM_SLANG]: Update location of slang.h.
912 2002-09-29  Pavel Roskin  <proski@gnu.org>
914         * ext.c (get_file_type_local): Return -1 for fatal errors.
915         (get_file_type_pipe): Likewise.
916         (regex_command): Likewise.  Adjust all callers.
917         From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
919         * dlg.c (frontend_run_dlg): Allow terminating the dialog from
920         the idle handler.
921         From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
922         Call change_screen_size() regardless of ncurses version, and let
923         that function decide what to do.
925 2002-09-28  Pavel Roskin  <proski@gnu.org>
927         * background.c (background_attention): Fix calling functions
928         with wrong arguments, which resulted in segmentation faults.
930 2002-09-27  Pavel Roskin  <proski@gnu.org>
932         * file.c (panel_operate): Replace fancy internationalized
933         message boxes for unknown file operations with abort().
935         * util.c (name_trunc): Remove unused code, unhelpful error
936         message and workaround for bugs in the callers.
938         * file.c (copy_file_file): Rename DST_* names to DEST_*, since
939         DST_NONE is used in FreeBSD libc.
940         Reported by Pavel Shirshov <pavelsh@mail.ru>
942 2002-09-26  Pavel Roskin  <proski@gnu.org>
944         * textconf.c: Don't translate filesystem names.
946         * main.h: Remove all references to icons.
947         * panel.h: Likewise.  Adjust all dependencies.
949         * hotlist.c (load_hotlist): Remove compatibility code with
950         hotlist files created by ancient versions of mc.
952         * command.c (do_cd_command): Reuse translated message.
954         * user.c (check_patterns): Ignore invalid shell_patterns and
955         let user see them in the menu.  The error message was too vague.
957 2002-09-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
959         * util.c (mc_mkstemps): Really return NULL in the filename in the
960         case of failure.  Reported by Andrew W. Nosenko <awn@bcs.zp.ua>.
962 2002-09-26  Pavel Roskin  <proski@gnu.org>
964         * ext.c (get_file_type_local): Make static.
965         (get_file_type_pipe): Likewise.
966         * util.c (check_patterns): Likewise.
968         * file.c (copy_file_file): Eliminate the complex scheme with
969         "resources".  Set src_desc, dest_desc to -1 initially and use
970         their values to see if they need to be closed.  Track status of
971         the destination file using a 3-state variable.
973         * file.c (copy_file_file): Fix event handling - check the result
974         of file_progress_show_bytes().
975         From Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
977 2002-09-25  Pavel Roskin  <proski@gnu.org>
979         * subshell.c (pty_open_master) [IS_AIX]: Open /dev/ptc, not
980         /dev/ptmx.  From Sergey Pavlukhin <psi@dmng.ru>
982 2002-09-24  Pavel Roskin  <proski@gnu.org>
984         * screen.c (string_file_nuid): Fix a warning with uClibc.
985         (string_file_ngid): Likewise.
987         * mountlist.c: Restore sys/param.h before sys/mount.h - it's
988         required on FreeBSD.
989         Reported by Pavel Shirshov <pavelsh@mail.ru>
991         * screen.c (panel_event): Implement support for mouse wheel.
993         * view.c (display): Fix wrapping of tabs.
994         Reported by Arpad Biro <biro_arpad@yahoo.com>
996 2002-09-23  Pavel Roskin  <proski@gnu.org>
998         * dlg.h: New message DLG_RESIZE.
999         * layout.c: Call DLG_RESIZE instead of resizing viewer and
1000         editor individually.
1001         * view.c (view): Install handler for DLG_RESIZE.  Make view_dlg
1002         a local variable.
1004         * view.c (view): Set view_dlg to NULL after it's destroyed.
1006         * color.h: Remove EDITOR_UNDERLINED_COLOR, it's unused.
1008         * global.h: Move fcntl.h inclusion here.  Define O_BINARY.
1009         * mountlist.c: Remove more includes already handled in global.h.
1011 2002-09-22  Pavel Roskin  <proski@gnu.org>
1013         * man2hlp.c (handle_alt_font): Implement .BR, .IR, .RB, .RI, .BI
1014         and .IB macros.
1015         (handle_command): Call handle_alt_font().
1017         * man2hlp.c: Take text width from help.h, not from the command
1018         line.
1019         * help.h: Declare HELP_TEXT_WIDTH.
1020         * help.c: Use HELP_TEXT_WIDTH.
1022         * help.h: Replace CHAR_BOLD_ON, CHAR_BOLD_OFF and CHAR_ITALIC_ON
1023         with  CHAR_FONT_BOLD, CHAR_FONT_NORMAL and CHAR_FONT_ITALIC
1024         respectively for better consistency.
1026         * util.c (is_printable): Disable "Full 8 bits output" on xterm,
1027         fall back to "ISO 8859-1" due to problems with gnome-terminal,
1028         which identifies itself as xterm.
1029         Reported by Miven Dooligan <dooligan@intergate.ca>
1031         * mouse.h: Put return codes from the mouse callback to an enum.
1032         Remove MOU_ENDLOOP and MOU_LOCK - they are interpreted like
1033         MOU_NORMAL.  Adjust all dependencies.
1034         * dlg.c: Use MOU_NORMAL instead of 0 for mouse_status.
1036 2002-09-21  Pavel Roskin  <proski@gnu.org>
1038         * main.c (process_args): Print only data directory and nothing
1039         else for the "-f" argument.
1040         (argument_table): Rename --libdir to --datadir, adjust its
1041         description.
1043         * Makefile.am: Rename LIBDIR to DATADIR, since it refers to
1044         pkgdatadir now.  Install cons.saver to pkglibdir, pass it to the
1045         compiler as LIBDIR.
1046         * cons.handler.c (handle_console): Use LIBDIR.
1047         * main.c (OS_Setup): Use DATADIR instead of LIBDIR.  Rename
1048         MC_LIBDIR to MC_DATADIR.
1050         * panelize.c: Remove unused variable panelize_title.
1052         * view.c (view_event): Add mouse wheel support.
1054 2002-09-20  Pavel Roskin  <proski@gnu.org>
1056         * mouse.h: Define events for the mouse wheel.
1057         * key.c (xmouse_get_event): Recognize mouse wheel events.
1059         * command.c: (command_insert): New function - insert quoted
1060         text into the command line.
1061         * main.c: Use command_insert() instead of stuff().  This ensures
1062         that the names in the command line are quoted.
1063         Reported by Arpad Biro <biro_arpad@yahoo.com>
1065         * command.c: Make `command' a standard WInput widget, just
1066         change its callback.  Eliminate input_w().  Adjust all
1067         dependencies.
1068         * widget.c (input_callback): Remove static attribute.
1070 2002-09-19  Pavel Roskin  <proski@gnu.org>
1072         * main.c (argument_table): Improve help for "+number" - it has
1073         to be re-translated anyway.
1075         * main.c (argument_table): Add missing descriptions.
1077         * main.c [NATIVE_WIN32]: Remove -S option, it's useless.
1079         * main.c (print_mc_usage): Use poptPrintHelp() instead of
1080         manually formatted help text.  Adjust callers to pass popt
1081         context.
1083         * poptint.h: Use i18n.h instead of most own replacement macros.
1085 2002-09-18  Pavel Roskin  <proski@gnu.org>
1087         * cmd.c (other_symlink_cmd): Remove, this function is
1088         undocumented and poorly implemented.
1089         * main.c: Remove call to other_symlink_cmd() on C-x C-l.
1091 2002-09-16  Pavel Roskin  <proski@gnu.org>
1093         * wtools.c (real_input_dialog_help): Trim spaces from the label
1094         text.  Align label with the input field.
1096         * cmd.c (do_link): Avoid using g_strconcat() on translatable
1097         strings.
1098         (other_symlink_cmd): Likewise.
1100 2002-09-13  Pavel Roskin  <proski@gnu.org>
1102         * main.c: Remove advanced_chfns variable.  Adjust all
1103         dependencies.
1105         * option.c: Make "Configure options" dialog more flexible,
1106         readjust layout.  Remove "advanced chown" option - it's unused.
1108 2002-09-13  Andrew V. Samoilov  <sav@bcs.zp.ua>
1110         * main.c (process_args) [WITH_SMBFS]: Call smbfs_set_debugf()
1111         for "-l" option.
1113 2002-09-13  Pavel Roskin  <proski@gnu.org>
1115         * main.c: Fully remove obsolete "-m" option.
1117 2002-09-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
1119         * main.c [WITH_SMBFS]: Include ../vfs/smbfs.h.
1120         (argument_table) [WITH_SMBFS]: Add -D, --debuglevel option for
1121         smbfs debug level.
1122         (process_args) [WITH_SMBFS]: Handle new -D option.
1123         (print_mc_usage) [WITH_SMBFS]: Describe -D, --debuglevel option.
1125 2002-09-11  Pavel Roskin  <proski@gnu.org>
1127         * subshell.c: Move tcsh_fifo to the file scope.  Use mc_tmpdir()
1128         to calculate tcsh_fifo.
1130         * utilunix.c (mc_tmpdir): New function that returns temporary
1131         directory for mc.
1132         * util.c (mc_mkstemps): Use mc_tmpdir().
1133         * main.c (main): Call mc_tmpdir().
1135 2002-09-10  Pavel Roskin  <proski@gnu.org>
1137         * util.c (trim): Handle short strings even better - don't use
1138         dots unless necessary.
1140         * main.c (load_prompt): Don't shorten the prompt if COLS is 8 or
1141         less.
1143         * screen.c (show_dir): Don't call trim() with negative length.
1144         * util.c (trim): Better handle short length.  Make sure that the
1145         destination is always 0-terminated.
1147 2002-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
1149         * screen.c (string_file_name): Fix possible off-by-one
1150         buffer overflow.
1151         (string_file_size): Avoid unsafe strcpy().
1152         (string_file_size_brief): Likewise.  Eliminate buffer array.
1154 2002-09-08  Pavel Roskin  <proski@gnu.org>
1156         * color.c: Move hascolors variable into init_colors().  Adjust
1157         all dependencies.
1159         * myslang.h: Remove definition of initscr(), it's unused.
1161         * tty.h [!HAVE_SLANG]: Remove all slang_* definitions.
1162         * main.c (main) [!HAVE_SLANG]: Don't call slang_shutdown().
1163         * myslang.h: Remove slang_done_screen(), it's unused.
1165 2002-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
1167         * key.c (get_event): Check gpm_fd only if gpm is actually used.
1168         * layout.c (done_screen): Move disable_mouse() call ...
1169         * main.c (done_mc): ... here.
1171 2002-09-08  Pavel Roskin  <proski@gnu.org>
1173         * view.c (init_growing_view): Avoid reporting the same error
1174         twice.  Reported by Moritz Barsnick <moritz@barsnick.net>
1176 2002-09-07  Pavel Roskin  <proski@gnu.org>
1178         * textconf.c: Don't use SLANG_TERMINFO, which is unused anywhere
1179         else.  Assume that terminfo is used if USE_TERMCAP is undefined.
1181 2002-09-06  Pavel Roskin  <proski@gnu.org>
1183         * subshell.c (subshell_name_quote): Return NULL if we are out of
1184         memory.  Use "echo -e" with zsh (Debian bug #150996).
1185         (do_subshell_chdir): Be prepared to get NULL from
1186         subshell_name_quote().
1188         * profile.c: Remove unused code.  Eliminate global variables.
1189         (is_loaded): Rename to find_loaded().  return matching profile.
1190         Adjust all dependencies.
1192         * fs.h: Only redefine S_IS* macros if they are undefined, and
1193         then define them to 0.  S_IF* constants should be avoided.
1194         * util.c: Whenever possible, use standard POSIX macros to test
1195         for the file type.
1196         Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
1198 2002-09-05  Pavel Roskin  <proski@gnu.org>
1200         * cmd.c (nice_cd): Fix conditions when this function is
1201         compiled.
1203         * fs.h: Replace S_IFFIFO with S_IFIFO, which is the right name.
1205         * fs.h: Correct S_IS* definitions to use S_IFMT.  Add fallback
1206         definitions for S_IFDOOR and S_ISDOOR.
1207         * screen.c (string_file_type): Remove unnesessary ifdefs, fs.h
1208         takes care of it.
1209         (file_compute_color): Add support for Solaris doors.
1210         * util.c (string_perm): Remove unnesessary ifdef.
1212         * man2hlp.c (handle_command): Make clear that unsupported
1213         command is a warning, not an error.  Avoid unsafe strcat().
1215         * view.c (view_mode_callback): Eliminate, use the default
1216         callback.
1218         * main.c (load_hint): Don't hardcode copyright years.  Use a
1219         translated message.
1221         * main.c (midnight_callback): Avoid calling the default DLG_DRAW
1222         handler.  From David Martin <dmartina@excite.com>
1224         * help.c (help_handle_key): Sanity check for broken help files.
1225         From David Martin <dmartina@excite.com>
1227 2002-09-03  Pavel Roskin  <proski@gnu.org>
1229         * global.h: Eliminate xgetch, update all dependencies.
1231         * boxes.c: Fix remaining old-style calls to create_dlg().
1232         * complete.c: Likewise.
1233         * main.c: Likewise.
1234         * view.c: Likewise.
1236         * wtools.c: Remove Chooser, its unused.
1238         * dlg.c: Fix the case when the dialog has no title.
1240         * wtools.c (real_input_dialog_help): Use a more reliable way
1241         to indicate password input.
1243         * boxes.c (display_widgets) [!HAVE_CHARSET]: Fix initialization.
1244         (vfs_smb_get_authinfo): Reuse another translated string.
1246         * wtools.h (QuickDialog): Eliminate the "class" field - it's not
1247         used and it can clash with C++ code.  Adjust all dependencies.
1249         * dlg.c (x_set_dialog_title): Completely eliminate.  Adjust all
1250         dependencies.
1252         * help.c (interactive_display): Fallback to node "[main]" if the
1253         requested node cannot be found.
1255         * help.c (help_index_cmd): Eliminate unneeded search for
1256         "[Help]", which always fails.  Fix crash if "[Contents]" cannot
1257         be found.  Reuse more generic error message.
1259         * filegui.c: Eliminate x_set_dialog_title().
1260         * hotlist.c: Likewise.
1261         * help.c: Likewise.
1262         (interactive_display): Default to node "[main]" if the given
1263         node is empty.
1265 2002-09-02  Pavel Roskin  <proski@gnu.org>
1267         * dlg.c (create_dlg): Take title instead of unused name as the
1268         8-th argument.
1269         (x_set_dialog_title): Free old title.  Mark this function
1270         obsolete.
1271         * achown.c: Use new create_dlg().
1272         (do_enter_key): Provide titles for popups.
1274         * dlg.c: Remove unused code, make functions static if possible.
1276         * chmod.c: Use common_dialog_repaint().
1277         * chown.c: Likewise.
1278         * layout.c: Likewise.
1279         * option.c: Likewise.
1281         * wtools.c (common_dialog_callback): Fold into ...
1282         * dlg.c (default_dlg_callback): ... this.  Don't redraw dialogs
1283         that don't have colors.  Adjust all dependencies.
1284         (std_callback): Elimitate.
1286         * panelize.c (panelize_refresh): Eliminate in favor of
1287         common_dialog_callback().
1289         * widget.c (history_callback): Eliminate in favor of
1290         common_dialog_callback().
1291         (show_hist): Set dialog title and flag DLG_COMPACT.
1293         * help.c (help_callback): Use common_dialog_callback().
1294         (interactive_display): Set dialog title.
1296         * wtools.c (listbox_callback): Eliminate in favor of
1297         common_dialog_callback().
1299         * wtools.c (dialog_repaint): Eliminate, nobody should be using
1300         non-standard colors.  Adjust all dependencies.
1301         (common_dialog_repaint): Fix return code.
1302         (query_callback): Eliminate, use common_dialog_callback()
1303         instead.
1305         * listmode.c (listmode_refresh): Use common_dialog_repaint().
1306         Eliminate all global variables.  Reformat the whole file.
1308         * boxes.c (init_disp_bits_box): Use common_dialog_callback().
1309         Return the new dialog.
1311         * boxes.c (display_callback): Use common_dialog_repaint().
1312         (display_init): Avoid using two different translations.
1314 2002-09-01  Pavel Roskin  <proski@gnu.org>
1316         * help.c (interactive_display): Don't reuse the old value of
1317         help_lines - LINES could have changed.  Scale height better for
1318         terminals with many lines - use 2/3 of the full screen.
1320         * man2hlp.c: Move handling of .SH and NODE to a separate
1321         function handle_node().  Don't output empty nodes except in the
1322         table of contents.
1324 2002-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
1326         * man2hlp.c (print_error): Print input filename.
1327         (handle_command): Handle .P, .LP, .IP and .br.
1328         Ignore comments and .TH (Title header).
1329         Report about unsupported commands.
1330         Handle .SM and .SB.
1332         * ext.c (regex_command): Use "%s" as text argument.
1333         * user.c (debug_out): Likewise.
1335         * win.c (key_name_conv_tab): Fix initialization.
1337 2002-08-31  Pavel Roskin  <proski@gnu.org>
1339         * help.c (show): Fix segfault on unterminated help files.
1340         From David Martin <dmartina@excite.com>
1342         * key.c (get_event): Reduce scope of select_set.  Don't check
1343         mouse_enabled all the time, instead break out of the loop if it
1344         becomes 0.
1346         * main.c (do_nc): Make midnight_colors[] local to do_nc().
1347         Initialize normal color - it's used by the tree.
1348         * boxes.c (tree_box): Use standard dialog_colors.
1349         * tree.c: Use NORMALC for normal entries.
1351         * view.c (view): Avoid passing an uninitialized color array to
1352         create_dlg() - pass NULL instead.
1354 2002-08-30  Pavel Roskin  <proski@gnu.org>
1356         * color.c: Define global array alarm_colors for the colors used
1357         in the dialogs that should be most visible (error messages,
1358         request to delete or overwrite).
1359         (load_dialog_colors): Initialize alarm_colors.
1360         * filegui.c: Use alarm_colors.
1361         * wtools.c: Likewise.
1362         * dlg.c (create_dlg): Make the color_set array constant.
1364         * wtools.c (common_dialog_repaint): Use colors specific to the
1365         current dialog, not fixed colors for "normal" dialogs.
1366         * filegui.c (replace_callback): Eliminate, use
1367         common_dialog_callback() instead.
1369         * filegui.c (file_op_context_create_ui): Use
1370         common_dialog_callback().  Set title to the operation name.
1371         (op_win_callback): Remove, it's unused.
1373 2002-08-27  Pavel Roskin  <proski@gnu.org>
1375         * view.c: Make static whatever possible.
1376         * view.h: Remove internal view routines.
1378 2002-08-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
1380         * selcodepage.c (select_charset): Use snprintf instead of sprintf.
1381         (do_select_codepage) [!HAVE_ICONV]: Remove.
1383 2002-08-27  Pavel Roskin  <proski@gnu.org>
1385         * charsets.c: Add disclaimer of warranty.
1386         * filenot.c: Likewise.
1387         * fileopctx.c: Likewise.
1388         * mfmt.c: Likewise.
1389         * selcodepage.c: Likewise.
1390         * text.c: Likewise.
1391         * textconf.c: Likewise.
1393         * man2hlp.c (main): Factor error checks in fopen() and fclose(),
1394         eliminate reuse of variables for different purposes, add more
1395         comments.  Correctly process "\&" escape.
1396         The last part is from David Martin <dmartina@excite.com>
1398 2002-08-26  Pavel Roskin  <proski@gnu.org>
1400         * main.c (init_xterm_support): Force xterm-style screen saving
1401         and no mouse on "cygwin" terminal.
1403 2002-08-25  Pavel Roskin  <proski@gnu.org>
1405         * man2hlp.c: Change default from the English string for TOPICS,
1406         to no heading.
1408         * man2hlp.c (handle_command): Remove quotes from TOPIC.
1410         * key.c (get_event): Check gpm_fd before using it in FD_SET.  If
1411         gpm_fd is -1 (gpm has died), disable mouse support.
1413         * key.c: Use the maximal file descriptor, not FD_SETSIZE in all
1414         calls to select().
1415         * subshell.c: Likewise.
1416         From Pavel Tsekov <ptsekov@gmx.net>
1418 2002-08-24  Pavel Roskin  <proski@gnu.org>
1420         * user.c (expand_format): Remove support for error file in the
1421         editor.
1422         * utilunix.c (close_error_pipe): Fix the condition when nothing
1423         needs to be dislayed.
1425         * dlg.c (x_set_dialog_title): Force uniform spacing.
1426         From Andrew Borodin <borodin@zarya-k.ru>
1428         * utilunix.c (check_error_pipe): Check error_pipe[0], not
1429         stdout.  From Pavel Tsekov <ptsekov@gmx.net>
1431         * achown.c (chown_refresh): Use common_dialog_repaint().
1433         * dlg.h (struct Dlg_head): Separate user flags and internal
1434         flags.  Make "direction" a user flag.  Adjust all dependencies.
1435         * dlg.c (run_dlg): Return ret_value.
1437 2002-08-23  Pavel Roskin  <proski@gnu.org>
1439         * text.c (default_edition_colors): Use more rxvt-friendly color
1440         for dhotnormal.
1442         * Makefile.am: Remove definition of CONFDIR, it's not used.
1444 2002-08-22  Pavel Roskin  <proski@gnu.org>
1446         * layout.c (print_vfs_message): Set normal color, don't use
1447         random current attributes.
1449         * dlg.h (struct Dlg_head): Eliminate "data" field, it duplicated
1450         functionality of "title".
1451         * wtools.c (query_callback): Use dialog_repaint().
1452         (quick_callback): Use common_dialog_repaint().
1454         * learn.c (learn_callback): Use common_dialog_repaint().
1455         * achown.c (chl_callback): Likewise.
1457         * dialog.h: Cleanup unused functions.
1458         * dialog.c: Cleanup unused headers.
1460         * dlg.h (struct Dlg_head): Fold fields "raw" and "has_menubar"
1461         into one field "flags".  Adjust all dependencies.  Add new flag
1462         DLG_COMPACT.
1463         * wtools.c (dialog_repaint): Draw frame without spaces if
1464         DLG_COMPACT flag is set.
1465         * complete.c (complete_engine): Set DLG_COMPACT.
1466         (query_callback): Use common_dialog_repaint().
1468         * keys.h: Remove, include ...
1469         * myslang.h: ... here.
1470         * Makefile.am: Remove keys.h.
1472         * dlg.h: Remove unused fields in struct Dlg_head.
1473         * dlg.c: Adjust for the above.
1475 2002-08-21  Pavel Roskin  <proski@gnu.org>
1477         * dlg.h: Remove unused fields in struct Widget.
1478         * dlg.c: Adjust for the above.
1479         * layout.c: Likewise.
1481         * cmd.c (info_cmd_no_menu): Toggle info screen.
1482         (quick_cmd_no_menu): Toggle quick view.
1484         * help.c (interactive_display): Always show button bar.
1486         * widget.c (buttonbar_callback): Fix a bug that prevented the
1487         last byte from being redrawn.
1488         Reported by David Martin <dmartina@excite.com>
1490         * layout.c (setup_panels): Make the button bar 0 lines high if
1491         it's invisible, so that mouse click on the history button works
1492         with invisible button bar.
1494         * widget.c: Make more functions static.
1496         * ext.c: (regex_check_type): Further split.  Restore caching
1497         broken in the previous commit.
1499         * ext.c (regex_command): Separate checking for "type/" into ...
1500         (regex_check_type): ... this.
1502         * global.h: Move include for rx.h and eregex.h here.
1504         * learn.c (learn_button): Don't allow Tab to be learned.
1506 2002-08-20  David Martin  <dmartina@excite.com>
1508         * menu.c (create_menu): Get help node as an argument.
1509         * main.c: Use new create_menu() interface.
1511 2002-08-20  Pavel Roskin  <proski@gnu.org>
1513         * man2hlp.c: Don't redirect stdout.  Check result of ftell.
1514         Drop support for invocation with 2 arguments.
1516 2002-08-19  Pavel Roskin  <proski@gnu.org>
1518         * cons.handler.c (handle_console): Use _exit(), not exit() in
1519         the child.
1521         * main.c (handle_args): Set POPT_CONTEXT_NO_EXEC flag for
1522         poptGetContext().
1523         * popt.c: Call abort() in execCommand() - we should not execute
1524         anything here.
1526         * util.h: Remove unused and dangerous flags for my_system():
1527         EXECUTE_TEMPFILE, EXECUTE_SETUID and EXECUTE_WAIT.
1528         * utilunix.c: Corresponding adjustments.
1529         * ext.c: Don't use EXECUTE_TEMPFILE, it has no effect.
1531         * subshell.c (synchronize): Workaround for Cygwin (should not be
1532         needed for the next version) - remove SIGCHLD blocking from
1533         old_mask.
1535         * dlg.h: Remove all unused flags for create_dlg().  Adjust all
1536         dependencies.
1538         * cmd.c (fishlink_cmd): Implement user interface for FiSH.
1539         * main.c: Add it to the menu.
1541         * help.c (help_follow_link): Made static.
1543 2002-08-18  Pavel Roskin  <proski@gnu.org>
1545         * subshell.c (synchronize): Discard all remaining data from
1546         stdin to the subshell.
1548         * subshell.c (exit_subshell) [AIX_TCSH_CODE_BELOW_IS_IT_FIXED]:
1549         Remove.  Nobody has fixed this code for years.
1551         * main.h [USE_INTERNAL_EDIT]: Don't include declarations from
1552         edit.h.
1553         * setup.c [USE_INTERNAL_EDIT]: Include edit.h.
1555         * boxes.h: Remove user_format.
1556         * boxes.c: Make more variables static, remove all extern
1557         declarations.
1558         * setup.c: Remove some extern declarations.
1560         * mountlist.h: Move some internals ...
1561         * mountlist.c: ... here.
1563         * main.c: Remove extremely unsafe and poorly designed support
1564         for /tmp/mc.$PID.control file.
1565         * util.c (my_putenv): Remove, it's unused now.
1567         * panel.h (struct format_e): Make string_fn return const char *.
1568         Adjust all dependencies.
1569         * screen.c (string_file_mtime): Return empty string for "..".
1570         (string_file_atime): Likewise.
1571         (string_file_ctime): Likewise.
1573         * view.c (display): Use enum for boldflag values.  Fix cursor
1574         highlighting for the ASCII part of the hex editor.
1576         * layout.c (init_curses) [!HAVE_SLANG]: Add support for
1577         stickchars - fill acs_map[] with ASCII approximations.
1578         * main.c [!HAVE_SLANG]: Enable --stickchars (-a) for ncurses.
1580 2002-08-16  Pavel Roskin  <proski@gnu.org>
1582         * setup.c: New variable global_profile_name to hold full name of
1583         mc.lib.
1584         (load_setup): Calculate global_profile_name.
1585         (done_setup): Free global_profile_name.
1586         (load_key_defs): Use global_profile_name.
1587         * treestore.c (should_skip_directory): Likewise.
1589         * man2hlp.c: Implement persistent fread and fwrite to make sure
1590         that all output is read and written.
1592 2002-08-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
1594         * help.c (show): Cast *paint_start to unsigned char to display
1595         Cyrillic with ncurses.
1596         [HAS_ACS_AS_PCCHARS] (acs2pc_table): Make const.
1598         * user.c (expand_format): Cast the argument to functions
1599         for character classification to unsigned int.
1600         (execute_menu_command): Likewise.
1602 2002-08-15  Pavel Roskin  <proski@gnu.org>
1604         * treestore.c (tree_store_remove_entry): Don't use ts.check_name
1605         and don't check it.
1607         * treestore.c: Remove unused code, reformat.
1608         * treestore.h: Remove unused declarations.
1610         * fs.h (compute_namelen): New inline function to take care of
1611         the d_namlen field if and only if it's needed.
1613         * screen.c (string_file_name): Replace non-printable characters
1614         with question marks.
1616         * subshell.c (read_subshell_prompt): Remove argument "how", it's
1617         never set to VISIBLY.  Adjust all dependencies.  Eliminate hack
1618         with "clear_now" - it causes invalid memory access and hides the
1619         real problem.
1620         * util.c (strip_ctrl_codes): Fix possible invalid memory access
1621         if the escape sequence ends unexpectedly.
1623 2002-08-14  Pavel Roskin  <proski@gnu.org>
1625         * dir.c (do_load_dir): Fix leaking of file descriptors - always
1626         call mc_closedir() before return.
1628         * main.c (do_execute) [!HAVE_SUBSHELL_SUPPORT]: Compile fix.
1630         * view.c (display): Use only declared color pairs to fix hex
1631         editor appearance with ncurses.  Eliminate some useless defines.
1633 2002-08-10  Pavel Roskin  <proski@gnu.org>
1635         * key.c (delete_select_channel): Avoid using freed memory.
1637 2002-08-09  Pavel Roskin  <proski@gnu.org>
1639         * ext.c (exec_extension): Eliminate unused argument.
1640         (regex_command): Remove support for user actions.  Return int.
1641         Adjust all dependencies.
1643         * ext.c (exec_extension): Make static.  Remove support for Drop,
1644         Title and Icon actions.  Adjust all dependencies.
1646         * main.c (sigchld_handler_no_subshell) [linux]: SIGTSTP is
1647         always defined on Linux.
1648         * subshell.c (sigchld_handler): No need to use SIGTSTP
1649         explicitly when we really care about SIGCONT.
1651         * ncurses.patch: Remove, it's obsolete.
1652         * Makefile.am: Remove ncurses.patch.
1654 2002-08-04  Pavel Roskin  <proski@gnu.org>
1656         * subshell.c: Assume that SIGTSTP and SIGCONT are always
1657         defined.  This is now checked in configure.  Otherwise
1658         synchronize() would hang until subshell exits.
1660 2002-08-01  Pavel Roskin  <proski@gnu.org>
1662         * charsets.c: Unconditionally enable finalization code that was
1663         only used with HAVE_MAD.
1664         * color.c: Likewise.
1665         * color.h: Likewise.
1666         * key.c: Likewise.
1667         * main.c: Likewise.
1668         * slint.c: Likewise.
1669         * subshell.c (exit_subshell): Free subshell_prompt.
1671         * mad.c: Remove.
1672         * mad.h: Likewise.
1673         * Makefile.am (SRCS): Remove mad.c and mad.h.
1674         * cmd.c: Remove references to MAD.
1675         * main.c: Likewise.
1676         * dlg.c: Use inline, not INLINE.
1677         * hotlist.c: Likewise.
1678         * menu.c: Likewise.
1679         * global.h: Don't include mad.h.
1681 2002-07-31  Andrew V. Samoilov  <kai@cmail.ru>
1683         * man2hlp.c (main): Don't use freed structure member.
1685         * ext.c (regex_command): Don't check same condition twice.
1686         (exec_extension): Comment out useless loop.
1687         * key.h (key_code_name_t): Typedef const.
1689 2002-07-30  Pavel Roskin  <proski@gnu.org>
1691         * man2hlp.c (main): Use only stream I/O.  Fix checks for error
1692         conditions.  Reformat the whole file.
1694         * man2hlp.c: Avoid the need to use gindex.pl.
1695         From Andrew V. Samoilov <sav@bcs.zp.ua>
1696         * Makefile.am: Use man2hlp directly.
1697         (EXTRA_DIST): Remove gindex.pl.
1698         * gindex.pl: Remove.
1700         * ext.c (regex_command): Additional check to prevent reading
1701         unallocated memory when matching "shell/".  Found by Valgrind.
1703 2002-07-29  Pavel Roskin  <proski@gnu.org>
1705         * setup.c: Eliminate all PORT* macros.
1706         * screen.c: Likewise.
1708         * subshell.c (feed_subshell): Reading 0 bytes in a channel with
1709         FD_ISSET being set is a sign of something being wrong - exit
1710         immediately.  Observed when mc is run under su in xterm and
1711         xterm is closed while the subshell is running.
1712         Reported by Vlad Harchev <hvv@hippo.ru>
1714         * color.h: Replace PORT_COLOR macro with BEST_COLOR, which uses
1715         MY_COLOR_PAIR.
1717         * util.c: Remove unused functions.
1718         * utilunix.c: Likewise.
1719         * util.h: Update to match.
1721         * cons.saver.c: Use SEEK_SET instead of 0 in lseek().
1722         * view.c: Likewise.
1724         * main.c (do_execute): Add newline after "Press any key to
1725         continue".
1727         * cons.saver.c: Eliminate some global variables.  Further
1728         cleanup.  Make sure that console_fd is always closed.
1730 2002-07-28  Pavel Roskin  <proski@gnu.org>
1732         * cons.saver.c: Remove support for Linux kernels before 2.0.
1733         Massive cleanup.
1734         (send_contents): Remove incorrect optimization - restore even
1735         empty lines because they may be touched by the viewer.
1736         From Denis Vlasenko <vda_unique@iname.com>
1738 2002-07-26  Pavel Roskin  <proski@gnu.org>
1740         * utilunix.c (canonicalize_pathname): Don't extend empty path
1741         to "." - it can corrupt memory.
1743         * cmd.c (copymove_cmd_with_default): Remove, it's unused.
1744         (copy_cmd_local): New function, copy within panel.
1745         (ren_cmd_local): New function, rename within panel.
1746         * cmd.h: Adjust to match.
1747         * screen.c (panel_keymap): Associate F15 with copy_cmd_local and
1748         F16 with ren_cmd_local.
1750         * view.c (display): Don't highlight characters as bold if the
1751         character before the backspace was different.
1752         From Roland Illig <roland.illig@gmx.de>
1754 2002-07-25  Andrew V. Samoilov  <kai@cmail.ru>
1756         * wtools.c (message): Fix possible buffer overflow.
1758         * slint.c [HAVE_MAD] (dealloc_color_pairs): Move ...
1759         * color.c [HAVE_MAD]: ... here and make accessible from
1760         other files to fix compilation.
1761         * color.h [HAVE_MAD]: Declare dealloc_color_pairs.
1763 2002-07-20  Pavel Roskin  <proski@gnu.org>
1765         * screen.c (panel_callback): Revert last change, it has bad side
1766         effects on the subshell.
1768 2002-07-19  Pavel Roskin  <proski@gnu.org>
1770         * dlg.c: Eliminate all useless x_* functions.
1771         * dlg.h: Likewise.
1772         * panel.h: Likewise.
1773         * textconf.h: Likewise.
1774         * view.c: Likewise.
1775         * view.h: Likewise.
1776         * widget.c: Likewise.
1777         * main.c: Remove panel_update_marks(). Move try_to_select() ...
1778         * screen.c: ... here.  Eliminate x_* functions.
1779         * main.h: Remove panel_update_marks().
1781         * screen.c (panel_callback): Only change directory on
1782         WIDGET_FOCUS if current_panel changes.
1784         * main.c (handle_args): Don't call mc_get_current_wd().
1786         * main.c (directory_history_list): Report error if cannot change
1787         directory.
1789 2002-07-16  Pavel Roskin  <proski@gnu.org>
1791         * main.c (do_execute): Don't ask to press any key when the shell
1792         is running a command - the user has already pressed Ctrl-O.
1794 2002-07-15  Pavel Roskin  <proski@gnu.org>
1796         * slint.c: Eliminate hardcoded color terminals.  Most users no
1797         longer need this hack, and those who do have color_terminals
1798         option in the config file.
1800 2002-07-14  Pavel Roskin  <proski@gnu.org>
1802         * color.c [USE_NCURSES]: Eliminate division by COLOR, it's 0 in
1803         black and white mode.
1805         * slint.c: Move functions for allocating color pairs ...
1806         * color.c: ... here.  Implement ncurses equivalents.  Rename
1807         init_pair() to mc_init_pair() and keep tack of max_index with
1808         ncurses.  Adjust all dependencies.
1810         * mem.h: Clean up obsolete definitions, incorporate into ...
1811         * global.h: ... this.
1812         * Makefile.am: Remove mem.h.
1814 2002-07-13  Pavel Roskin  <proski@gnu.org>
1816         * Makefile.am (AM_CPPFLAGS): Remove REGEX_MALLOC, it's now in
1817         configure.in.
1819         * tty.h: Use standard autoconf defines to determine which
1820         ncurses header to include.  Eliminate RENAMED_NCURSES.
1822 2002-07-10  Pavel Roskin  <proski@gnu.org>
1824         * utilunix.c: Cast argument for GUINT_TO_POINTER to int to fix
1825         warnings on Cygwin.
1827         * subshell.c: ioctl() doesn't set errno - don't use perror() to
1828         report failures.  Use fprintf() instead, ignore errors from
1829         TIOCSWINSZ.
1830         (resize_tty): New function - code common for resize_subshell()
1831         and init_subshell_child().
1833         * global.h: Include vfs.h.
1834         * boxes.c (configure_vfs): Ask whether .netrc should be used.
1835         From Thomas Zajic <zlatko@gmx.at>
1837 2002-07-03  Pavel Roskin  <proski@gnu.org>
1839         * file.c (do_transform_source): Cast the argument to functions
1840         for character classification to unsigned int.
1841         * main.c (handle_args): Likewise.
1842         * util.c (size_trunc_sep): Likewise.
1843         (skip_numbers): Likewise.
1845         * subshell.c (sigchld_handler): Remove subshell_pty from the
1846         channel list if the subshell has died.
1848 2002-07-03  Andrew V. Samoilov  <kai@cmail.ru>
1850         * mad.[ch] [__GNUC__] (mad_strconcat): Use macro varargs.
1851         (mad_strdup_printf): Likewise.
1852         (mad_strdup_vprintf): Likewise.
1853         * main.c [HAVE_MAD] (main): Release this_dir and other_dir.
1855 2002-07-03  Pavel Roskin  <proski@gnu.org>
1857         * main.c (stop_dialogs): New function to stop all dialogs.
1858         (quit_cmd_internal): Use stop_dialogs() instead of stopping
1859         midnight_dlg only.  This fixes exit from the shell invoked from
1860         the internal viewer or editor.
1862         * cmd.c (view_other_cmd): Shut down extra select channels before
1863         switching to the shell.  Restore them afterwards, but not if
1864         quit was requested.  Skip more code on quit.
1866 2002-07-02  Pavel Roskin  <proski@gnu.org>
1868         * util.c: Eliminate get_small_endian_long() and CHECK macro.
1870         * util.h: Rename compression types, add a type for uncompressed
1871         files.
1872         * util.c (is_gunzipable): Rename to ...
1873         (get_compression_type): this.  Don't check archive length, since
1874         it's unreliable if there is padding at the end of the file.
1875         Eliminate prehistoric Linux workaround.  All callers adjusted.
1877 2002-07-01  Andrew V. Samoilov  <kai@cmail.ru>
1879         * utilunix.c (close_error_pipe): Use "%s" in message () to
1880         prevent possible crash.
1881         (check_error_pipe): Likewise.
1883 2002-06-27  Pavel Roskin  <proski@gnu.org>
1885         * screen.c (do_enter_on_file_entry): Process associations before
1886         trying to execute the file.
1888 2002-06-20  Pavel Roskin  <proski@gnu.org>
1890         * dir.c (handle_dirent): Don't process ".." entries.
1891         (handle_path): Likewise.
1892         From Andrew V. Samoilov <kai@cmail.ru>
1894 2002-06-13  Oskar Liljeblad  <oskar@osk.mine.nu>
1896         * slint.c (has_colors): Don't reset SLtt_Use_Ansi_Colors to 0 if
1897         force_colors is not set.  This fixes color on unknown terminals.
1899 2002-06-13  Andrew V. Samoilov  <kai@cmail.ru>
1901         * user.c (expand_format): Fix '%b' proccessing.
1902         Handle '%k' as documented.
1904 2002-05-30  Andrew V. Samoilov  <kai@cmail.ru>
1906         * view.c (regexp_search): Don't call save_edit_changes
1907         if there are no changes.
1908         (save_edit_changes): Use messages from ../po/mc.pot.
1910         * mad.c (mad_tempnam): Commented out to make linker happy.
1911         * main.c [HAVE_MAD && !_OS_NT] (main): G_free mc_home.
1913 2002-05-27  Andrew V. Samoilov  <kai@cmail.ru>
1915         * view.c (save_edit_changes): Handle errors.
1916         (do_view_init): Don't open and check file type
1917         if _command is not null or _file is empty string.
1919 2002-05-22  Pavel Roskin  <proski@gnu.org>
1921         * Makefile.am: doc/mc.1 is in top_builddir, not in top_srcdir.
1923 2002-05-15  Andrew V. Samoilov  <kai@cmail.ru>
1925         * view.c (do_view_init): Close fd if it is unused.
1927 2002-05-14  Andrew V. Samoilov  <kai@cmail.ru>
1929         * Makefile.am (VFSLIB): Add ../vfs/samba/libsamba.a
1930         if USE_SAMBA_FS is true.
1932 2002-05-07  Pavel Roskin  <proski@gnu.org>
1934         * hotlist.c (hotlist_button_callback): Don't process B_REMOVE
1935         for VFS list - it would crash.
1936         From Andrey Panov <pav@metib.ru>
1938 2002-04-19  Andrew V. Samoilov  <kai@cmail.ru>
1940         * main.c [!WITH_MCFS] (PanelMenu): Eliminate mcfs related entry.
1941         (RightMenu): Likewise.
1942         * textconf.c (features): Likewise.
1943         * cmd.c (netlink_cmd) [!WITH_MCFS]: Eliminate.
1945 2002-04-03  Pavel Roskin  <proski@gnu.org>
1947         * Makefile: mc.hlp should be in MAINTAINERCLEANFILES, not in
1948         CLEANFILES, because "make clean" should not make the source
1949         directory useless on systems without Perl.
1951 2002-03-26  Andrew V. Samoilov  <kai@cmail.ru>
1953         * eregex.h [!USE_INCLUDED_REGEX]: Include <regex.h>.
1954         * regex.c: Compile only if USE_INCLUDED_REGEX is defined.
1956 2002-03-25  Andrew V. Samoilov  <kai@cmail.ru>
1958         * complete.c (insert_text): Fix buffer overflow.
1960         * cmd.[ch] [USE_INTERNAL_EDIT] (edit_syntax_cmd:) New dialog
1961         to edit Syntax Highlighting definitions file.
1962         * main.c (CmdMenu) [USE_INTERNAL_EDIT]: Add 'Syntax file edit'
1963         entry.
1964         (process_args): Print mc's library directory to stdout.
1966 2002-03-21  Andrew V. Samoilov  <kai@cmail.ru>
1968         * man2hlp.c (handle_command): Handle backslash quoting
1969         for .I and .B
1970         (handle_link): Strip .B and .I
1971         * gindex.pl: Use fifth argument as man2hlp location.
1973 2002-03-20  Andrew V. Samoilov  <kai@cmail.ru>
1975         * man2hlp.c (handle_command): Handle '.\"TOPICS' comment.
1976         Use it for translated 'Topics:' message.
1977         * gindex.pl: Use first line of man2hlp output as
1978         translated 'Topics:' message if fourth argument
1979         is empty string.
1980         * Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
1981         fourth argument.
1983         * textconf.c (version): Write to stdout.
1984         * main.c (print_mc_usage): Add "stream" parameter to specify
1985         file stream.
1986         (process_args): Use print_mc_usage() with stdout as stream.
1987         (handle_args): Use print_mc_usage() with stderr as stream.
1988         (print_color_usage): Write to stdout.
1990 2002-03-18  Pavel Roskin  <proski@gnu.org>
1992         * eregex.h: Update from glibc-2.2.5.
1993         * regex.c: Likewise.
1994         * find.c: Use eregex.h, not regex.h.
1995         * util.c: Likewise.
1996         * view.c: Likewise.
1997         From Alexander Varakin <avarakin00@hotmail.com>
1999         * find.c (find_parameters): Invert condition when find is case
2000         sensitive.
2002 2002-03-04  Andrew V. Samoilov  <kai@cmail.ru>
2004         * Makefile.am (mc.hlp.ru): Use mc.1 instead of mc.1.in.
2005         (mc.hlp): Likewise.
2007         * file.c (copy_file_file): Chmod destination only if
2008         ctx->preserve is on.  Eliminate gotos.
2010 2002-03-01  Andrew V. Samoilov  <kai@cmail.ru>
2012         * Makefile.am (mc.hlp.ru): New rule to compile translated
2013         help file.
2014         (mclib_DATA): Add mc.hlp.ru.
2015         (EXTRA_DIST): Likewise.
2017         * gindex.pl: Add optional 4th argument for translated
2018         Content section name.
2020 2002-02-28  Andrew V. Samoilov  <kai@cmail.ru>
2022         * mad.c: Make mem_areas dynamically growing.
2023         (mad_init): Allocate memory for mem_areas.
2024         (mad_alloc): Grow mem_areas if it is exhausted.
2026         * filegui.c (file_mask_dialog): Enable 'follow Links'
2027         and 'preserve Attributes' features in Move dialog.
2028         (file_bps_show): Translate messages.
2029         (file_eta_show): Likewise.
2031         * man2hlp.c (main): Don't crash if called without argument(s).
2032         Make buffer char pointer.
2033         (handle_command): Handle '.\"NODE' comment.  Use it for
2034         nodename in translated manual pages.
2036         * gindex.pl: Use [nodename] as user visible section name
2037         only if next line is empty.  Elsewhere use this nonempty line.
2039         * find.c (find_parameters): Compile content_pattern here.
2040         Inform user about malformed regular expression.
2041         (search_content): Use compiled regular expression.
2042         (do_find): Eliminate `done'.  Call regfree for compiled
2043         content_pattern.
2045 2002-02-24  Pavel Roskin  <proski@gnu.org>
2047         * chown.c (chown_cmd): Use size_trunc_len() to show the file
2048         size.  Eliminate c_fsize, which wasn't properly initialized.
2050 2002-02-22  Pavel Roskin  <proski@gnu.org>
2052         * man2hlp.c (string_len): Don't exclude characters with codes
2053         above 128 from the string length.
2055 2002-02-21  Andrew V. Samoilov  <kai@cmail.ru>
2057         * ext.c (exec_extension): Use "#! /bin/sh".
2059 2002-02-20  Pavel Roskin  <proski@gnu.org>
2061         * background.c (background_attention): Cast pointer to long
2062         instead of int because it's unsafe of 64-bit systems.
2063         * main.c (init_xterm_support): Likewise.
2065 2002-02-18  Pavel Roskin  <proski@gnu.org>
2067         * utilunix.c (canonicalize_pathname) [__QNX__]: Fix detection
2068         of Qnet names.  Disable support of Qnet names under QNX Netrino.
2069         Reported by Maurizio Rossi <MRossi@system-group.it>
2071         * global.h: Include unix.h under "classical" QNX.
2072         * subshell.c: Don't include unix.h.
2073         * utilunix.c: Likewise.
2075 2002-02-07  Andrew V. Samoilov  <kai@cmail.ru>
2077         * main.c (update_one_panel_widget): Call ftpfs_flushdir().
2079 2002-02-05  Pavel Roskin  <proski@gnu.org>
2081         * key.c [USE_NCURSES] (get_key_code): Ignore KEY_RESIZE.
2082         * layout.c [USE_NCURSES] (flag_winch): Don't call
2083         low_level_change_screen_size() from signal handler.
2084         From Thomas Dickey <dickey@herndon4.his.com>
2086         * screen.c (format_file): Add a new parameter (size of the
2087         output buffer) to prevent buffer overflow on very wide
2088         terminals.
2089         From Thomas Dickey <dickey@herndon4.his.com>
2091 2002-02-04  Andrew V. Samoilov  <kai@cmail.ru>
2093         * util.c [!HAVE_TRUNCATE] (truncate): Close fd if my_ftruncate
2094         fails.
2096         * util.c [HAVE_CHARSET] (is_printable): Eliminate printable.
2097         * setup.c [HAVE_CHARSET] (load_setup): Don't use
2098         init_printable_table.
2100         * charsets.h: Don't declare init_printable_table ().
2101         * charset.c (printable): Removed.
2102         (init_printable_table): Removed.
2104 2002-01-30  Andrew V. Samoilov  <kai@cmail.ru>
2106         * file.c (recursive_erase): Use mc_closedir() if mc_lstat()
2107         fails.  Eliminate goto.
2108         (erase_dir): Eliminate goto.
2109         (erase_dir_iff_empty): Likewise.
2111 2002-01-29  Andrew V. Samoilov  <kai@cmail.ru>
2113         * dir.c (handle_dirent): Use MSG_ERROR.
2114         * charsets.c (translate_character): Use ICONV_CONST.
2116 2002-01-22  Pavel Roskin  <proski@gnu.org>
2118         * screen.c: Don't try to paint anything if width is 0 or less.
2119         Reported by Pawel Sakowski <pawel@sakowski.eu.org>
2121         * screen.c: Make functions static whenever possible.  Remove
2122         unused functions.
2123         * panel.h: Remove corresponding declarations.
2125 2002-01-21  Pavel Roskin  <proski@gnu.org>
2127         * util.c: Move replacements for permission bits ...
2128         * fs.h: ... here.  Add more replacements.
2129         * global.h: Include direct.h only with MSVC.
2131         * main.c: Include "drive.h", not <drive.h>, do it after panel.h.
2132         Use _OS_NT as the condition for including drive.h.
2133         * screen.c: Use _OS_NT as the condition for including drive.h.
2135         * global.h [_OS_NT]: Include io.h, direct.h and windows.h.
2136         Don't redefine struct timeval.
2138         * fs.h [_MSC_VER]: Use dirent provided by glib.
2140         * global.h [!HAVE_SYS_TIME_H]: Provide a replacement for struct
2141         timeval.
2143         * findme.c: Respect HAVE_UNISTD_H.
2144         * popt.c: Likewise.
2146         * global.h: Fallback to sys/utime.h if utime.h is missing.
2148         * global.h: Provide fallbacks for getuid(), getgid(), geteuid()
2149         and getegid().
2150         * fs.h: Fully trust HAVE_DIRENT_H.
2151         * complete.c: Don't include dirent.h directly, fs.h takes care
2152         of it.
2153         * file.c: Likewise.
2154         * filegui.c: Likewise.
2155         * main.c: Likewise.
2156         * treestore.c: Likewise.
2158         * global.h [!__GNUC__]: Define __attribute__ with one argument.
2160 2002-01-20  Pavel Roskin  <proski@gnu.org>
2162         * screen.c (string_file_size): Translate "UP--DIR".
2163         (string_file_size_brief): Translate "SUB-DIR" and "SYMLINK".
2165         * dir.c (add_dotdot_to_list): Don't use costly stat() - just put
2166         realistic (i.e. bogus) data to the list.
2168         * screen.c (string_file_size): Don't display size of ".." - it
2169         may take too much time to calculate it on VFS.  Show "UP--DIR"
2170         instead.
2171         (string_file_size_brief): Remove ".." handling - it's now done
2172         in string_file_size().  Show "SUB-DIR" for links to directories,
2173         "SYMLINK" for other links.
2175 2002-01-17  Pavel Roskin  <proski@gnu.org>
2177         * cmd.c: Remove OS/2 specific code.
2178         * file.c: Likewise.
2179         * main.c: Likewise.
2181         * main.h: Remove dead declarations.
2182         * setup.c: Remove defunct extension alignment support.
2183         * util.c: Likewise.
2184         * util.h: Likewise.
2186         * main.c: Remove unused toggle_* functions.
2188         * dir.c: Show backups by default.
2190 2002-01-15  Andrew V. Samoilov  <kai@cmail.ru>
2192         * file.c (copy_dir_dir): Check the destination is a directory
2193         if it exists. Reported by Thomas <metaf4@pseudonym.org>.
2195 2002-01-09  Andrew V. Samoilov  <kai@cmail.ru>
2197         * util.c (string_perm) [S_IFDOOR]: Support Solaris doors.
2198         * screen.c (string_file_type) [S_IFDOOR]: Likewise.
2200 2001-12-21  Pavel Roskin  <proski@gnu.org>
2202         * hotlist.c (hotlist_callback): Recognize "delete" key.
2204         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang/slang-mc.h to
2205         simplify includes.
2206         [HAVE_SYSTEM_SLANG]: Use angle brackets for slang.h.
2208         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang-mc.h directly
2209         to avoid relying on symlinks.
2211 2001-12-18  Pavel Roskin  <proski@gnu.org>
2213         * utilunix.c (init_groups): Don't return prematurely if the
2214         primary group cannot be found (it can happen on Cygwin).
2216 2001-12-10  Pavel Roskin  <proski@gnu.org>
2218         * dir.c (do_reload_dir): Hash-table added.
2219         From Björn Eriksson <mdeans@algonet.se>
2221 2001-12-03  Pavel Roskin  <proski@gnu.org>
2223         * dir.c (do_reload_dir): Optimize the logic - count the marks
2224         and only match new entries against old entries if at least one
2225         mark has not been transferred.
2226         From Björn Eriksson <mdeans@algonet.se>
2228 2001-11-29  Pavel Roskin  <proski@gnu.org>
2230         * main.c (midnight_callback): Implement "auto menus".
2232         * layout.c: Make more variables static.
2234         * cons.saver.c: Define LINUX_CONS_SAVER_C so that some parts
2235         of cons.saver.h can be omitted.
2236         * cons.saver.h: Declare nothing but constants if
2237         LINUX_CONS_SAVER_C is defined.
2239 2001-11-14  Pavel Roskin  <proski@gnu.org>
2241         Fully eliminate all references to HAVE_X and HAVE_GNOME.
2243         * dir.c (do_sort): Correctly handle the case when there is no
2244         ".." entry (i.e. panelized mode).
2246 2001-11-14  Andrew V. Samoilov  <kai@cmail.ru>
2248         * view.c (do_view_init): Make sure _file is not
2249         an empty string before mc_stat and mc_open.
2250         Memory leak fixed.
2252 2001-11-14  Pavel Roskin  <proski@gnu.org>
2254         * panelize.c (do_external_panelize): Re-sort the panel according
2255         to the current settings.
2257         * find.c (do_find): Re-sort the panel according to the current
2258         settings when doing panelizing.
2260         * dir.c (sort_type_to_name): Remove, it's unused in the text
2261         edition.
2262         (sort_name_to_type): Likewise.
2263         * dir.h: Adjust to match.
2265         * mouse.c: Add default cases to fix warnings with gcc-2.96.
2267 2001-11-12  Pavel Roskin  <proski@gnu.org>
2269         * main.c: Remove support for subshell debugging.  Firstly, it
2270         was broken.  Secondly, every developer should be able to add
2271         this code when needed.  Finally, there is no need to expose the
2272         option to the user and translate it into 30 languages.
2273         * subshell.h: Remove debug_subshell.
2274         * subshell.c: Likewise.
2276 2001-11-12  Andrew V. Samoilov  <kai@cmail.ru>
2278         * mad.h: Enable glib support.
2280         * mad.[ch] (mad_get_current_dir): New function to use instead
2281         of g_get_current_dir.
2282         (mad_tempnam): Add file and line parameters.
2283         (mad_alloc0): Make file parameter const.
2284         (mad_realloc): Likewise.
2285         (mad_strdup): Likewise.
2286         (mad_strndup): Likewise.
2287         (mad_free): Likewise.
2288         (mad_finalize): Likewise.
2290 2001-11-07  Andrew V. Samoilov  <kai@cmail.ru>
2292         * cmd.c (guess_message_value): Make val static const array.
2293         (smblink_cmd) [!WITH_SMBFS]: Eliminated.
2295         * dlg.c (add_widget): Check for what is not NULL
2296         before everything else.
2298         * slint.c (slang_reset_softkeys): Make display static const
2299         array.  Use sizeof (display) - 1 instead of strlen display.
2300         (color_terminals): Make static const array.
2301         (key_table): Make const.
2303         (dealloc_color_pairs) [HAVE_MAD]: New function.  Release
2304         memory allocated in try_alloc_color_pair.
2305         (slang_shutdown) [HAVE_MAD]: Call dealloc_color_pairs.
2306         (try_alloc_color_pair): Move struct c outside function.
2308 2001-10-29  Andrew V. Samoilov  <kai@cmail.ru>
2310         * charsets.c (load_codepages_list): Use glib memory allocation
2311         functions.
2312         (free_codepages_list) [HAVE_MAD]: New function to release
2313         memory allocated in load_codepages_list.
2314         * charsets.h: Declare free_codepages_list.
2316         * main.c [HAVE_CHARSET]: Include charsets.h.
2317         (main) [HAVE_MAD && HAVE_CHARSET]: Call free_codepages_list.
2318         (program_name): Commented out.
2320 2001-10-26  Andrew V. Samoilov  <kai@cmail.ru>
2322         * key.c (push_char): Fix buffer length calculation.
2323         By David Kaelbling <drk@sgi.com>.
2324         http://bugzilla.gnome.org/show_bug.cgi?id=60932
2326         (define_sequence): Likewise.
2327         (key_define_t): Add const declaration.
2329 2001-10-22  Pavel Roskin  <proski@gnu.org>
2331         * main.h: Declare view_one_file and edit_one_file.
2333 2001-10-22  Andrew V. Samoilov  <kai@cmail.ru>
2335         * dialog.h: Include global.h.
2336         (message): Specify __attribute__.
2338 2001-10-20  Pavel Roskin  <proski@gnu.org>
2340         * main.h (print_vfs_message): Specify __attribute__.
2342 2001-10-19  Pavel Roskin  <proski@gnu.org>
2344         * global.h: Define __attribute__ to an empty string for non-gcc
2345         compilers so that it's safe to use.
2347 2001-10-18  Pavel Roskin  <proski@gnu.org>
2349         * view.c (init_growing_view): Revert last change, it was wrong.
2350         (view_hook): Don't check that the file is regular - it's now
2351         done in do_view_init().  This fixes update problem in quick view
2352         when moving cursor from a regular file to a directory.
2354         * view.c (do_view_init): Only accept regular files.  Use stat(),
2355         not fstat() because open() would hang on pipes.  Avoid opening
2356         the file twice.
2357         (init_growing_view): Take file descriptor, not the filename.
2358         (load_view_file): Likewise.
2360 2001-10-01  Pavel Roskin  <proski@gnu.org>
2362         * boxes.c (tree): Rename to tree_box() to avoid confusion.
2363         Adjust all callers and headers.
2364         * main.c (tree_box): Rename to tree_box_cmd().
2366         * tree.c (set_navig_label): Get argument "tree".
2367         (set_navig_label): Likewise.  Adjust all callers.  Don't cast
2368         function tree() to (Widget *) - it's wrong and dangerous.
2370         * widget.h: Use type "buttonbarfn" more consistently.
2371         * widget.c: Likewise.
2373         * setup.c [!USE_VFS]: Warning fix.
2374         * hotlist.c [!USE_VFS]: Likewise.
2376         * tree.c (tree_navigation_flag): Should not be static.
2378         * screen.c (panel_format_modified): Use more portable cast.
2380         * fileopctx.h: Define new type mc_stat_fn.
2381         * filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
2382         mc_stat_fn to prevent warnings without VFS support.
2383         * fileopctx.c (file_op_context_new): Likewise.
2385 2001-09-23  Andrew V. Samoilov  <kai@cmail.ru>
2387         * find.c: Include rx.h or regex.h
2388         (get_line_at): New function.  Returns malloc()ed null-terminated
2389         line from file file_fd.  Input is buffered in buf_size long
2390         buffer.
2391         (search_content): Don't use external egrep.
2392         Use get_line_at and regexp.
2394 2001-09-21  Pavel Roskin  <proski@gnu.org>
2396         * cmd.c: Change all "long" variables to "off_t" whenever they
2397         are used to store file sizes.
2398         * file.c: Likewise.
2399         * file.h: Likewise.
2400         * fileopctx.h: Likewise.
2401         * tree.c: Likewise.
2402         * filegui.c: Likewise.
2403         (show_bar): Take "double" arguments.  Normalize arguments of
2404         gauge_set_value() before converting them to "int".
2406 2001-09-17  Pavel Roskin  <proski@gnu.org>
2408         * mouse.h: Major cleanup and interface change.  init_mouse()
2409         should only be called once, disable_mouse() and enable_mouse()
2410         should be used later.  Distinguish between disabled and
2411         undetected mouse.  Remove debugging stuff.  Adjust all users.
2412         * mouse.c: Implementation of the above.
2413         * key.c: Don't use gpm_flag - check mouse_enabled instead.
2415 2001-09-15  Pavel Roskin  <proski@gnu.org>
2417         * view.c: Cleanup of preprocessor directives.
2418         * view.h: Likewise.
2419         * widget.c: Likewise.
2420         * widget.h: Likewise.
2422         * textconf.h: Get rid of all PORT_HAS_*.  Adjust all users.
2423         Continued eliminating GNOME code.
2425         * cmd.c: Clean up unused GNOME code and some ifdef's.
2426         * dlg.c: Likewise.
2427         * dlg.h: Likewise.
2428         * ext.c: Likewise.
2429         * setup.c: Likewise.
2431         * cmd.c (guess_message_value): Remove the argument.  Adjust all
2432         callers.
2434         * textconf.c (features): Remove "edition", minor fixes.
2435         (version): Don't report the current locale - it's meaningless,
2436         especially if ENABLE_NLS is not defined.
2438         * textconf.h: Remove status_using_ncurses - it's useless now.
2439         Adjust all users.  Call do_exit_ca_mode() and do_enter_ca_mode()
2440         even with ncurses.
2442         * main.c (init_xterm_support): Don't enable xterm_flag just
2443         because of "kmous" in terminfo.  Setiing this flag means much
2444         more than just mouse support.  Recognize terminals beginning
2445         with "rxvt" and set xterm_flag for them.
2447         * cmd.c (view_other_cmd): Don't check use_mouse_p before calling
2448         init_mouse() and shut_mouse(), since those functions decide
2449         themselves what to do.
2450         * layout.c (done_screen): Likewise.
2451         * main.c (setup_mc): Likewise.
2452         * text.c (edition_post_exec): Likewise.
2453         (edition_pre_exec): Likewise.
2455         * user.h: Fix location of the home editor menu.
2456         Reported by David Martin <dmartina@excite.es>
2458         * mouse.h: Export xmouse_seq.
2459         * mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
2460         xterm mouse sequence.
2461         * main.c (setup_post): Join with setup_mc().
2462         (init_xterm_support): New function.  Check mouse capability.
2463         (OS_Setup): Remove parts that are now in init_xterm_support().
2465 2001-09-14  Pavel Roskin  <proski@gnu.org>
2467         * key.c (get_event): Recognize KEY_MOUSE, not just MCKEY_MOUSE.
2468         * mouse.c: Don't use or emulate keyok(), since MC understands
2469         KEY_MOUSE now.
2471 2001-09-11  Pavel Roskin  <proski@gnu.org>
2473         * cmd.c (check_for_default): Make accessible from other files.
2474         * cmd.h: Declare check_for_default().
2476 2001-09-10  Pavel Roskin  <proski@gnu.org>
2478         * layout.c: Use HAVE_TERMIOS_H and HAVE_SYS_IOCTL_H more
2479         consistently.
2480         * mouse.c: Likewise.
2481         * subshell.c: Likewise.
2482         * win.c: Likewise.
2483         * util.c: Remove unused includes.
2485         * Makefile.am (mc_LDADD): Don't use LSLANG and LGPM, since they
2486         are now included into MCLIBS.
2488         * Makefile.am (mc_LDADD): Use INTLLIBS provided by gettext
2489         instead of LINTL.
2491 2001-09-09  Pavel Roskin  <proski@gnu.org>
2493         * hotlist.c (load_hotlist): If cannot open hotlist, don't assume
2494         that it needs to be migrated and don't warn the user.
2496 2001-09-08  Pavel Roskin  <proski@gnu.org>
2498         * Makefile.am: Fix definitions of CONFDIR and LOCALEDIR.
2500         * subshell.c: Move definitions of WEXITSTATUS and WIFEXITED
2501         below all includes so that they can be defined elsewhere.
2503 2001-09-07  Pavel Roskin  <proski@gnu.org>
2505         * myslang.h: Specify arguments to function-like macros or remove
2506         them if they are unused.
2508         * main.c: Remove old debugging code.  Remove external function
2509         declarations.
2510         (menu_bar_event): Remove, it's unused.
2511         * main.h: Declare get_mc_lib_dir() and force_ugly_line_drawing.
2512         * layout.c: Remove all external declarations.
2514         * main.c (main): Call save_stop_handler() - it was ifdef'd out
2515         by error.
2517         * main.c: Remove all GNOME code.
2519         * cmd.c: No need to define "MIDNIGHT" before including vfs.h.
2521         * user.h: Remove all dirty tricks with "MIDNIGHT" - they are not
2522         needed anymore.
2524         * global.h: Include io.h, pwd.h, grp.h and utime.h.  Adjust all
2525         sources not to include them and to include global.h at the right
2526         place.
2528         * global.h: Include all time-related system includes, since
2529         it's non-trivial (order, conflicts) and is better handled in one
2530         place.
2532 2001-09-06  Pavel Roskin  <proski@gnu.org>
2534         * fsusage.c: Include sys/param.h before sys/mount.h - it's
2535         required on some systems.
2536         * mountlist.c: Likewise.
2537         From Timur Bakeyev <mc@bat.ru>
2539 2001-09-04  Pavel Roskin  <proski@gnu.org>
2541         * Makefile.am: Don't use substituted values directly.  Define
2542         CHARSET_SRC unconditionally.  Join SRCS and HDRS.
2544 2001-09-03  Pavel Roskin  <proski@gnu.org>
2546         * widget.c (label_new): Don't calculate dimensions of multiline
2547         labels, since they cannot be changed and msglen() is already
2548         used when the dialog is created.
2550         * Makefile.in: Converted to ...
2551         * Makefile.am: ... this.
2553         * slint.c: Make more data and function static.
2554         * key.h: Remove declarations that are now static.
2555         * myslang.h: Likewise.
2557         * x.h: Remove.  Adjust all users.  Make sure that global.h is
2558         included instead.  Don't include sys/param.h unconditionally -
2559         rely on global.h taking care of it.
2560         * Makefile.in: Remove x.h.
2562         * color.c: Remove unused code.
2563         * color.h: Likewise.
2565 2001-09-02  Pavel Roskin  <proski@gnu.org>
2567         * key.c: Remove support for BUGGY_CURSES.
2569         * tty.h: Remove support for old curses and GNOME.
2570         * global.h: Likewise.
2572         * widget.c (label_new): Set initial width of the widget based on
2573         the initial text.
2575         * view.c (hex_search): Don't use sscanf() to search for quoted
2576         strings - use strchr instead.
2578 2001-08-31 23:14:21  Timur Bakeyev  <mc@bat.ru>
2580         * utilunix.c: init_groups(), destroy_groups(), get_user_permissions()
2581         rewritten to use GTree structure and functions. Add new static helper
2582         functions mc_gid_compare() and mc_gid_destroy().
2584         * util.h: Removed deprecated structure user_in_groups.
2586         * screen.c: Fixed typo in format report error string.
2588 2001-08-31 23:14:21  Timur Bakeyev  <mc@bat.ru>
2590         * utilunix.c: get_user_rights() renamed into get_user_permissions().
2591         delete_groups() renamed into destroy_groups().
2592         * util.h: Likewise.
2593         * screen.c: Likewise.
2594         * main.c: Likewise.
2596 2001-08-27  Pavel Roskin  <proski@gnu.org>
2598         * cmd.c (dirsizes_cmd): Don't cast st_size to long - use off_t
2599         instead, since off_t can be longer.
2600         Reported by Radovan Bukoci <rado@autoparts.sk>
2602 2001-08-30  David Martin  <dmartina@excite.es>
2604         * info.c (info_show_info): Use size_trunc_len() instead of
2605         print_bytesize().  Don't assume English word ordering.  Add
2606         singular message when single block.
2607         * win.c (print_bytesize): Remove.
2608         (sprint_bytesize): Remove.
2609         * win.h: Remove print_bytesize() and sprint_bytesize().
2611         * util.c (size_trunc_len): Add units parameter.  Change all
2612         callers.
2614         * util.c (size_trunc_len): Print size values with some (little)
2615         sense for tiny and even wee lengths (i.e. squeezed X terminals).
2617         * info.c (info_show_info): Move comment line just before
2618         translatable message so it's shown in .po files to alert
2619         translators.  The message (translated) is used to set the start
2620         column (so the available width) for some "truncatable" strings.
2622 2001-08-27  Pavel Roskin  <proski@gnu.org>
2624         * key.c (learn_key): Turn off keypad to disable intepreting keys
2625         by ncurses.
2626         Reported by Frederic L. W. Meunier <fredlwm@pervalidus.net>
2628 2001-08-26  Pavel Roskin  <proski@gnu.org>
2630         * xcurses.c: Remove.
2631         * Makefile.in: Remove all references to xcurses.c.
2633 2001-08-24  Pavel Roskin  <proski@gnu.org>
2635         * user.h: Include "../edit/edit-widget.h", not
2636         "../gtkedit/edit-widget.h".
2638         * subshell.c: Use standard Autoconf symbols to determine whether
2639         to include <stropts.h> and <grp.h>.
2641 2001-08-23  Pavel Roskin  <proski@gnu.org>
2643         * subshell.c (feed_subshell): Don't wait forever after the first
2644         select() call if fail_on_error is true.  This alleviates hang
2645         with zsh on QNX Neutrino.
2647 2001-08-21  Pavel Roskin  <proski@gnu.org>
2649         * view.h: Declare view_dlg.
2650         * main.h: Declare edit_dlg.
2651         * layout.c (change_screen_size): Remove external declarations
2652         inside the function.
2654 2001-08-20  Pavel Roskin  <proski@gnu.org>
2656         * view.c (load_view_file) [!HAVE_MMAP]: Warning fix.
2658 2001-08-19  Pavel Roskin  <proski@gnu.org>
2660         * main.c (mc_maybe_editor_or_viewer) [!USE_INTERNAL_EDIT]:
2661         Reenable to make "mc -v" possible.
2662         (do_nc): Call mc_maybe_editor_or_viewer() even if the editor
2663         is not compiled in.
2664         (argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
2666 2001-08-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
2668         * view.c (view_handle_key) [HAVE_CHARSET]: Remove unneeded
2669         statements.
2671 2001-08-19  Pavel Roskin  <proski@gnu.org>
2673         * screen.c [HAVE_X]: Disable unused code.
2675         * fs.h: Correctly include <sys/param.h>.
2676         * x.h: Include "global.h".  Move all contents ...
2677         * global.h: Here.
2679         * regex.c (regex_compile): Warning fix for ambiguous else.
2681 2001-08-18  Pavel Roskin  <proski@gnu.org>
2683         * key.c (xmouse_get_event): Filter out GPM_UP events that don't
2684         follow a GPM_DOWN event.  Filter out events with unknown button
2685         numbers, such as mouse wheel events.
2686         (get_event): Return EV_NONE if xmouse_get_event() decided to
2687         ignore the event.
2689         * main.c (init_sigchld): Disable subshell if SIGCHLD handler
2690         cannot be installed.
2692         * x.h: Instead of undefining MIX and MAX after <gnome.h> make
2693         sure that <sys/param.h> is included before <gnome.h>.
2695 2001-08-17  Pavel Roskin  <proski@gnu.org>
2697         * key.c (mc_bindings) [linux]: Remove old hack - recognizing
2698         "\e[2~" on all terminals.
2700 2001-08-16  Pavel Roskin  <proski@gnu.org>
2702         * charsets.c (load_codepages_list): Print a warning if
2703         mc.charset cannot be opened.
2704         * setup.c (load_setup) [HAVE_CHARSET]: Remove all popup messages
2705         because it's to early to use them - ncurses would crash.
2707 2001-08-15  Pavel Roskin  <proski@gnu.org>
2709         * util.c (strip_ctrl_codes): Rewrite using pointers.  Fix
2710         stripping sequences beginning with "\e[".  Check is_printable().
2712         * man2hlp.c: Remove HTML support.  Remove old link support.
2713         Warning fixes.
2714         (print_string): Handle backslashes in verbatim mode too.
2716         * main.c (setup_pre) [HAVE_CHARSET]: Fix compilation with
2717         ncurses.
2719         * textconf.c (features): Fix interpretation of
2720         HAVE_SYSTEM_SLANG.
2721         From David Martin <dmartina@excite.es>
2723 2001-08-14  Pavel Roskin  <proski@gnu.org>
2725         * key.h (define_sequence): Change declaration to return int.
2726         * key.c (define_sequence): Return 1 on success, 0 on error.
2727         * learn.c (learn_button): Don't accept sequence if
2728         define_sequence() has failed.
2730 2001-08-12  Pavel Roskin  <proski@gnu.org>
2732         * learn.c (learn_save): Fix memory leak.
2734         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Make static.
2736         * cmd.c (guess_message_value): Typo - replace "LC_MESSAGE" with
2737         "LC_MESSAGES".
2739         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Always use strcmp()
2740         for case sensitive sort.  For case insensitive sort use
2741         strcoll() if it's case insensitive for ASCII and g_strcasecmp()
2742         otherwise.
2744 2001-08-11  Pavel Roskin  <proski@gnu.org>
2746         * achown.c (chown_advanced_cmd): Remove dead code.
2747         * chown.c (chown_cmd): Likewise.
2748         * chmod.c (chmod_cmd): Likewise.
2750         * charsets.c (load_codepages_list): Use concat_dir_and_file().
2752         * mad.h: Disable glib support - it doesn't work properly.
2754 2001-08-07  Pavel Roskin  <proski@gnu.org>
2756         * view.c: Warning fixes. Include "cmd.h". Rename help_cmd()
2757         to view_help_cmd().
2758         (view_handle_key) [HAVE_X]: Disable '!' and Ctrl-O.
2760         * main.c (do_execute): Don't show prompt if the command is empty
2761         and the subshell is not running.
2762         * view.c (view_handle_key): Add support for Ctrl-O in the viewer.
2763         Suggested by Walery Studennikov <despair@sama.ru>
2765 2001-08-06  Pavel Roskin  <proski@gnu.org>
2767         * boxes.c (display_init): Associate correct help topic.
2768         (sort_box): Likewise.
2769         (set_panel_filter): Likewise.
2770         * option.c (init_configure): Likewise.
2771         * menu.c (menubar_handle_key): Show help dependent on the active
2772         menu.
2774 2001-08-06  Andrew V. Samoilov  <kai@cmail.ru>
2776         * mad.c (mad_strdup): Return NULL if NULL is passed.
2778         * view.c (block_search): Return the position where the block was
2779         found as declared in comment.
2780         (hex_search): Don't increase pos, block_search returns now right
2781         position.
2783 2001-08-03  Andrew V. Samoilov  <kai@cmail.ru>
2785         * mad.[ch] (mad_check): Declare file parameter const.
2786         (mad_alloc): Likewise. Don't truncate it.
2787         (mad_abort): Declare message and file parameters const.
2789 2001-08-03  Pavel Roskin  <proski@gnu.org>
2791         * file.c: Warning fix.  Include global.h before other local
2792         includes.
2793         * filegui.c: Likewise.
2794         (fmd_init_i18n) [!ENABLE_NLS]: Completely disable.
2795         * i18n.h [!ENABLE_NLS]: Warning fix.
2796         * learn.c (init_learn): Move do_refresh() call immediately
2797         before cleate_dlg().  Warning fix.
2799 2001-07-31  Pavel Roskin  <proski@gnu.org>
2801         * Makefile.in: "install" now depends on "all".
2802         Reported by Walery Studennikov <despair@sama.ru>
2804 2001-07-31  Andrew V. Samoilov  <kai@cmail.ru>
2806         * util.c [!HAVE_X] (is_printable): Don't duplicate declarations from
2807         main.h.
2808         (load_file): Use fopen and fstat to prevent race conditions.
2809         (size_trunc): Make suffix const array.
2810         (strip_password): Make prefixes const array.
2811         (file_date): Make fmt auto variable.
2812         * color.c (color_table): Make constant array.
2813         * widget.[ch] (label_new): Make text parameter const.
2814         * menu.c (create_menu): Don't localize name, it is always done.
2815         * find.c (find_parameters): Fix hotkeys duplication.
2816         * complete.c (command_completion_function): Don't stop $PATH
2817         processing on empty entry. Interpret it as current directory.
2819 2001-07-31  Pavel Roskin  <proski@gnu.org>
2821         * charsets.c: Warning fixes.
2822         * charsets.h: Likewise.
2823         * selcodepage.c: Likewise.
2824         * selcodepage.h: Likewise.
2826         * Makefile.in: Move most logic around gindex.pl into gindex.pl.
2827         Don't use maintainer-only rules since mc.hlp won't be removed
2828         now if perl is missing or gindex.pl fails.
2829         * gindex.pl: Run man2hlp internally.  Use files given as
2830         arguments instead of stdin and stdout.
2832 2001-07-30  Pavel Roskin  <proski@gnu.org>
2834         * mad.c: Don't use g_calloc - it's missing in glib 1.2.x.
2835         * mad.h: Likewise.  Use mad_alloc0() to emulate calloc().
2837         * view.h: Simplify, respect WANT_WIDGETS setting.
2839 2001-07-28  Pavel Roskin  <proski@gnu.org>
2841         * view.c (view_ok_to_quit): Make global - it's needed for GMC.
2842         * view.h: Declare view_ok_to_quit().
2844 2001-07-27  Pavel Roskin  <proski@gnu.org>
2846         * util.c [!USE_VFS] (get_current_wd): Resurrect, this time using
2847         g_get_current_dir().
2849         * background.h: Remove WITH_BACKGROUND, it's now in extraconf.h.
2850         * background.c: Use WITH_BACKGROUND instead of USE_NETCODE.
2852         * util.c (mc_mkstemps): Don't prepend $TMPDIR if prefix contains
2853         path separator.
2855 2001-07-26  Pavel Roskin  <proski@gnu.org>
2857         * cmd.c (do_link): Append filename to the default symlink
2858         target.  Don't add path separator if there is no listing on
2859         the other panel.  Avoid using fixed size buffers.
2860         From Max Schedriviy <max@tavrida.net>
2862         * main.c [HAVE_X]: Disable eight_bit_clean and full_eight_bits.
2863         * util.c (is_printable) [HAVE_X]: Simplify.
2865 2001-07-25  Pavel Roskin  <proski@gnu.org>
2867         * cmd.c (do_link): Simplify.  Don't silently exit if the source
2868         file is not regular - let user see the error if any.
2870 2001-07-24  Pavel Roskin  <proski@gnu.org>
2872         * achown.c (ch_perm): Make constant array.
2873         (chown_info_update): Use set_perm_by_flags(), not set_perm().
2874         (set_perm): Remove.
2876         * achown.c: Make all global variables static.  Fix help.
2877         * complete.c: Likewise.
2878         * chmod.c: Make all global variables static.
2879         * chown.c: Likewise.
2880         * chmod.h: Remove all variables.
2882 2001-07-23  Pavel Roskin  <proski@gnu.org>
2884         * user.c: Eliminate static variable s_editwidget.  Pass
2885         edit_widget as argument.  All callers changed.
2886         (expand_format): Fix expansion of %n and %b for the editor.
2887         * util.c: Remove dead code.
2889         * setup.c (load_keys_from_section): Give terminal-specific
2890         settings preference over settings from [terminal:general].
2892 2001-07-22  Pavel Roskin  <proski@gnu.org>
2894         * setup.c (load_keys_from_section): Give ~/.mc/ini preference
2895         over mc.lib.
2897 2001-07-20  Pavel Roskin  <proski@gnu.org>
2899         * dlg.c: Remove dependency on definitions in gconf.h.
2901         * widget.c (input_callback) [HAVE_X]: Disable Ctrl-q - it
2902         doesn't work.
2904         * file.c (panel_get_file): Use g_assert_not_reached().
2905         * key.c (xgetch_second): Make static.
2907 2001-07-19  Pavel Roskin  <proski@gnu.org>
2909         * user.c (check_format_view): Match "unform" instead of
2910         "unformated" because some users may spell this word correctly.
2912 2001-07-17  Pavel Roskin  <proski@gnu.org>
2914         * util.c (get_current_wd): Remove.  It's obsoleted by
2915         g_get_current_dir() from glib.
2917         * ext.c (exec_extension): Add the `rm' command to the end of
2918         temporary scripts so that they erase themselves.
2920         * util.c (mc_mkstemps): Always use "unsigned long" for enthropy,
2921         since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
2922         checking for "long long" is not worth the trouble.
2923         Reported by David Martin <dmartina@excite.es>
2925 2001-07-16  Pavel Roskin  <proski@gnu.org>
2927         * utilunix.c (mc_doublepopen): Use _exit() instead of exit()
2928         and don't close any unrelated file descriptors.  Explicitly
2929         close inhandle.
2931 2001-07-15  Pavel Roskin  <proski@gnu.org>
2933         * mad.h: Include stdio.h to prevent redefining mad_tempnam().
2934         * main.c [HAVE_X && HAVE_MAD]: Don't call done_key().
2936         * dlg.h: Remove declarations of non-existent functions.
2937         [HAVE_X]: Disable color constants - they shouldn't be used.
2939         * boxes.c [WITH_SMBFS] (vfs_smb_get_authinfo): Copied from
2940         vfs/smbfs.c, function authinfo_get_authinfo_from_user().
2942         * cmd.c [HAVE_X]: Disable source routing dialog and panel
2943         comparison.
2944         * main.c (ctl_x_map): Simplify preprocessor directives.
2946 2001-07-14  Pavel Roskin  <proski@gnu.org>
2948         * screen.c (panel_keymap) [HAVE_X]: Disable Alt-H - it's not
2949         implemented properly for GNOME.
2950         * main.c (directory_history_list) [HAVE_X]: Disable.
2952         * panelize.c [HAVE_X]: Disable unused code.
2954         * main.c [HAVE_X]: Disable Ctrl-X sequences.
2956         * find.c: Remove code unused in the text edition.
2958         * main.c [HAVE_X]: Eliminate setup_post() and partly done_mc().
2960         * utilunix.c (uid_cache): Make static.
2961         (gid_cache): Likewise.
2962         (init_uid_gid_cache): Remove.
2963         * main.c (setup_post): Don't call init_uid_gid_cache().
2965         * main.c (default_map) [HAVE_X]: Disable Alt-T.
2966         * cmd.c [HAVE_X]: Eliminate set_basic_panel_listing_to() and
2967         toggle_listing_cmd().
2969 2001-07-13  Pavel Roskin  <proski@gnu.org>
2971         * utilunix.c (canonicalize_pathname): Don't handle PATH_SEP
2972         after backslash in a special way.
2974 2001-07-12  Pavel Roskin  <proski@gnu.org>
2976         * subshell.c (init_subshell): Run "set echo_style=both" at
2977         startup to ensure that echo in tcsh understands octal numbers.
2978         Reported by Francis Kwok <francis.kwok@alcatel.com>
2980         * Makefile.in (OURLIBS): Merge with ...
2981         (LIBS): ... this. Add @LIBICONV@.
2982         Reported by Libor Motyèka <l_motycka@ortex.cz>
2984         * subshell.c (subshell_name_quote): New function. Quote all
2985         characters as octals, use command substitution.
2986         (do_subshell_chdir): Use subshell_name_quote(). Don't change
2987         terminal settings when the quoted path is sent to the shell -
2988         it's now safe.
2990 2001-07-12  Andrew V. Samoilov  <kai@cmail.ru>
2992         * main.c: Eliminate iconify_on_exec.
2993         [!HAVE_GNOME]: Eliminate nowindows, nodesktop, twopanel,
2994         display_linksdir and cmdline_geometry.
2995         (sigchld_handler_no_subshell): Comment fixes.
2996         (midnight_callback): Likewise.
2997         (print_mc_usage): Use fputs, not fprintf.
2998         (print_color_usage): Likewise.
2999         (argument_table): Assign 'r' with force_subshell_execution and 'U'
3000         with use_subshell.
3001         (process_args): Don't deal with 'r', 'U' and 'X' options.
3002         (setup_mc) [HAVE_GNOME]: Eliminate more code.
3004         setup.c (options):  Eliminate iconify_on_exec.
3006 2001-07-10  Andrew V. Samoilov  <kai@cmail.ru>
3008         * view.c (hex_search): Release buffer after use.
3010 2001-07-09  Pavel Roskin  <proski@gnu.org>
3012         * view.c (hex_search): Reimplement parser using sscanf. Add
3013         support for decimal and octal numbers. Add error reporting.
3014         Allocate buffer dynamically.
3016         * hotlist.c: Add comments to avoid confusion between
3017         done_hotlist() and hotlist_done().
3018         (hotlist_done): Set l_hotlist to NULL.
3019         (add2hotlist): Load hotlist if it's neither loaded nor loading.
3020         This fixes Ctrl-x h. Fix compiler warning.
3022         * hotlist.c: Make more variables and functions static.
3024 2001-07-08  Pavel Roskin  <proski@gnu.org>
3026         * ext.c (exec_extension) [HAVE_X]: Free file_name. Add comment
3027         explaining why it cannot be unlinked there.
3029 2001-07-06  Pavel Roskin  <proski@gnu.org>
3031         * ext.c (exec_extension): Unlink temporary file earlier if it's
3032         not going to be used.
3033         [OLD_CODE]: Remove.
3035         * Makefile.in: Use additional quotes to preserve @prefix@ when
3036         Makefile is generated.
3038         * Makefile.in: Don't use SEDCMD2, use sed.
3040         * cons.saver.c: New variable console_minor. Eliminate variables
3041         len and vcs_name.
3042         (check_file): Set console_minor to the minor device number of
3043         the console. Disallow /dev/tty0.
3044         (detect_console): Don't parse tty_name, instead make sure that
3045         it corresponds to console_minor. Check console first. Fallback
3046         to /dev/vcc/a* if /dev/vcsa* cannot be opened.
3047         (save_console): Use console_minor.
3048         (restore_console): Likewise.
3050         * cons.saver.c (check_file): Eliminate using text messages to
3051         indicate errors. Improve debug messages.
3052         (detect_console): Likewise.
3053         (main): Adjust call to detect_console.
3055         * main.c (sigchld_handler_no_subshell): Don't restart cons.saver
3056         if it died.
3057         * subshell.c (sigchld_handler): Likewise.
3059 2001-07-05  Pavel Roskin  <proski@gnu.org>
3061         * main.c (midnight_callback): Don't handle any events except
3062         Ctrl-x combinations on DLG_KEY event if the menu is active.
3064         * main.c (load_prompt): Don't change prompt if midnight_dlg is
3065         not the current dialog.
3067 2001-06-28  Pavel Roskin  <proski@gnu.org>
3069         * util.c (size_trunc_len): New function - print file size to
3070         a buffer of limited length.
3071         * util.h: Declare size_trunc_len().
3072         * screen.c (string_file_size): Use size_trunc_len().
3074 2001-06-26  Pavel Roskin  <proski@gnu.org>
3076         * xslint.c: Remove.
3077         * Makefile.in (SRCS): Remove xslint.c.
3079 2001-06-25  Pavel Roskin  <proski@gnu.org>
3081         * key.c (ctrl_pressed): Don't limit functionality to Linux.
3082         * screen.c (prev_page_key): Don't require console_flag to be set
3083         to use ctrl_pressed(), only require that HAVE_X is undefined.
3084         (next_page_key): Likewise.
3085         * widget.c (key_left): Don't limit functionality to Linux.
3086         (key_right): Likewise.
3088         * main.h: Use "ifdef HAVE_GNOME", not "if HAVE_GNOME". Fix the
3089         order of conditionals and put comments on endifs.
3091 2001-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
3093         * view.c [HAVE_CHARSET]: Include selcodepage.h.
3094         (view_new): Use g_new0.
3095         (ruler): Make static.
3097         * complete.c (filename_completion_function): Clean it up.
3098         (command_completion_function): Make words, bash_reserved and
3099         bash_builtins const, use concat_dir_and_file.
3100         (fetch_hosts): Fix typo, style fixes.
3102 2001-06-23  Pavel Roskin  <proski@gnu.org>
3104         * mem.h: Undefine bcopy(), bcmp() and bzero() before redefining
3105         them.
3107 2001-06-22  Pavel Roskin  <proski@gnu.org>
3109         * ext.c (exec_extension) [HAVE_X]: Disable console handling.
3111         * cons.handler.c: Reorganize includes. Fix warnings on BSD.
3112         * rxvt.c (rxvt_extensions): Make static.
3113         * main.c (sigchld_handler_no_subshell) [!__linux__]: Don't try
3114         to restart cons.saver.
3115         * subshell.c (sigchld_handler) [!__linux__]: Likewise.
3117         * fsusage.c: Use HAVE_INFOMOUNT.
3118         * mountlist.c: Likewise. Fix condition when mount_list is
3119         declared.
3120         (fstype_to_string): Rename mount_list to mlist to avoid
3121         confusion with the file-scoped static variable.
3123         * cmd.c [HAVE_X]: Disable more code. Reorder includes.
3125 2001-06-20  Pavel Roskin  <proski@gnu.org>
3127         * main.c: Remove MenuBarEmpty. From Andrew V. Samoilov.
3129         * wtools.c [HAVE_X]: Disable quick dialog routines.
3131         * setup.c (save_setup) [HAVE_X]: Don't save the [Dirs] section.
3132         (load_setup) [HAVE_X]: Don't load the [Dirs] section.
3133         * main.c [HAVE_X]: Disable other_dir and boot_current_is_left.
3134         Adjust all users.
3136 2001-06-19  Pavel Roskin  <proski@gnu.org>
3138         * background.h: Correct condition when WITH_BACKGROUND is
3139         defined.
3140         * fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
3141         for old QNX and use it instead of __QNX__.
3142         * mountlist.c: Likewise.
3143         * keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
3144         of __QNX__.
3146 2001-06-18  Pavel Roskin  <proski@gnu.org>
3148         * main.c [HAVE_X]: Disable change_panel(),
3149         copy_current_readlink() and copy_other_readlink().
3150         Don't do anything with cmdline and command_prompt.
3151         * screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
3152         and chdir_to_readlink(). Adjust all callers.
3153         (panel_key) [HAVE_X]: Don't use command_prompt - always
3154         start search on alphanumeric keys.
3155         * setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
3156         layout. Adjust all dependencies.
3158         * utilunix.c (init_my_statfs): Move this ...
3159         * util.c (my_statfs): ... and this ...
3160         * mountlist.c: ... here.
3161         * util.h: Move mountlist-related declarations ...
3162         * mountlist.h: ... here.
3163         * info.c: Include mountlist.h.
3165 2001-06-17  David Martin  <dmartina@excite.es>
3167         * hotlist.c (init_movelist): Don't assume English word ordering
3168         in the title.
3170 2001-06-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
3172         * wtools.c (message): Possible buffer overflow fixed.
3173         (query_callback) [HAVE_X]: Disable more code.
3174         (listbox_refresh) [!HAVE_X]: Became a macro.
3175         * hotlist.c (init_i18n_stuff): Mark cancel_but for translation.
3177         * tree.c (tree_copy, tree_move): Possible memory leaking fixed.
3178         (tree_keymap): Constified.
3180 2001-06-15  Pavel Roskin  <proski@gnu.org>
3182         * panelize.c: Define DIR_H_INCLUDE_HANDLE_DIRENT earlier, since
3183         the GNOME edition includes dir.h from other headers.
3185         * background.c: Include "x.h".
3186         * panelize.c: Likewise.
3187         * treestore.c: Likewise.
3188         * user.c: Likewise.
3189         * util.c: Likewise.
3190         * command.c: Reorder includes. Include "x.h".
3191         * complete.c: Likewise.
3192         * find.c: Likewise.
3193         * user.h: Declare user_menu_cmd() unconditionally.
3194         * i18n.h [GAVE_GNOME]: Remove code that is now in x.h.
3196         * tty.h [HAVE_X]: Define beep() to gdk_beep().
3198 2001-06-14  Pavel Roskin  <proski@gnu.org>
3200         * xtty.h: Remove, move contents ...
3201         * tty.h: ... here.
3202         [HAVE_X]: Define attrset(), mc_refresh(), enable_interrupt_key()
3203         and disable_interrupt_key(). Don't declare mc_refresh().
3204         * view.c: Use braces around widget_move() since it's empty in
3205         the GNOME edition.
3206         * xslint.c: Eliminate attrset() and mc_refresh().
3207         * Makefile.in: Remove xtty.h.
3209         * cons.handler.c (handle_console): Remove useless default.
3210         * ext.c (regex_command): Initialize include_target_len.
3211         * find.c [HAVE_GNOME]: Eliminate untyped declarations.
3212         * fsusage.c: Remove untyped declaration of statfs().
3213         [_AIX && _I386]: Rename statfs to aix_statfs and move
3214         it before get_fs_usage(). Define statfs to aix_statfs.
3216         * achown.c: Eliminate untyped declarations.
3217         * boxes.c: Likewise.
3218         * cons.saver.c: Likewise.
3219         * hotlist.c: Likewise.
3220         * panelize.c: Likewise.
3221         * rxvt.c: Likewise.
3222         * main.c: Likewise. Make undeclared functions static.
3223         * treestore.c: Make undeclared functions static.
3224         * view.c: Likewise.
3225         * widget.c: Likewise.
3227         * main.h: Fix prototype of exec_shell.
3228         * tree.c: Make all functions static when possible.
3229         * tree.h: Changes for the above.
3231         * text.c [HAVE_X]: Remove useless #error.
3232         * cons.saver.c: Indent #error to hide it from old compilers.
3234 2001-06-13  Pavel Roskin  <proski@gnu.org>
3236         * screen.c (display_mini_info): Avoid nested i18n calls.
3237         (parse_panel_size): Warning fix.
3238         * user.c [HAVE_X]: Warning fix.
3239         (check_format_var): Avoid nested i18n calls. Improve messages.
3241         * screen.c (user_file_menu_cmd) [HAVE_X]: Disable.
3242         (panel_callback) [HAVE_X]: Don't define labels, they are unused.
3243         * user.c [HAVE_X]: Disable all user menu code.
3245         * color.c (color_table): Make static. Only use in text edition.
3246         * xtty.h: Remove unused definitions.
3248         * slint.c (slang_init): Check screen dimensions and exit if they
3249         are abnormal. This may happen due to a S-Lang bug when the TERM
3250         is set to a value not listed in termcap or terminfo.
3252 2001-06-12  Pavel Roskin  <proski@gnu.org>
3254         * boxes.c [HAVE_CHARSET]: Localize more strings. Lay out the
3255         encoding dialog using the translated title length. Remove
3256         useless preprocessor directives.
3257         From David Martin <dmartina@excite.es>
3259 2001-06-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
3261         * dlg.[ch] (x_set_dialog_title): title constified.
3262         (create_dlg): Use g_new0 instead of g_new.
3264         * selcodepage.c (do_select_codepage): Fix compilation.
3266 2001-06-09  Pavel Roskin  <proski@gnu.org>
3268         * util.c (load_mc_home_file): New function. Load file from
3269         mc_home, but try localized version of that file first.
3270         * util.h: Declare load_mc_home_file().
3271         * help.c (interactive_display): Use load_mc_home_file(). If the
3272         first argument is NULL assume mc.hlp.
3273         * dlg.c (dialog_handle_key): Use interactive_display() without
3274         specifying the help file.
3275         * tree.c (tree_copy): Likewise.
3276         * cmd.c (help_cmd): Likewise.
3277         (get_random_hint): Use load_mc_home_file().
3278         From Andrew V. Samoilov.
3280 2001-06-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
3282         * charsets.h: Define CHARSETS_INDEX without leading LIBDIR.
3284         * charsets.c (translate_character): Warning fix.
3285         (init_translation_table): Don't deal with printable.
3286         This one is initialized by init_printable_table ().
3287         (load_codepages_list): Use CHARSETS_INDEX.
3289         * selcodepage.c (do_select_codepage): Messages marked for i18n.
3290         * setup.c (load_setup): Eliminate errbuf. Fix error message.
3292 2001-06-07  Pavel Roskin  <proski@gnu.org>
3294         * setup.c (load_setup): Call init_printable_table() and
3295         init_translation_table() regardless of other failures.
3297         * charsets.c (get_codepage_index): Warning fix.
3298         (init_printable_table): New function.
3299         * charsets.h: Declare init_printable_table().
3300         * setup.c (load_setup): Uncomment init_printable_table().
3302         * cons.saver.c: Make all functions except main() static.
3303         * mfmt.c (omain): Remove, it's unused.
3305 2001-06-06  Pavel Roskin  <proski@gnu.org>
3307         * main.c (done_mc) [HAVE_X]: Don't use xterm_flag.
3308         (midnight_callback) [HAVE_X]: Don't handle any keys except
3309         Ctrl-x sequences.
3310         Remove useless preprocessor conditionals.
3311         * win.c [HAVE_X]: Disable unused functions.
3313         * file.c: Add comments after every endif.
3314         [HAVE_GNOME] [!WITH_BACKGROUND]: Fix compilation.
3316 2001-06-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
3318         * main.c [HAVE_CHARSET]: Remove source_codepage and display_codepage.
3319         They are declared in selcodepage.c.
3320         * setup.c [USE_VFS]: Remove declarations for variables which are
3321         declared in vfs/ftpfs.c.
3322         (load_setup) [HAVE_CHARSET]: init_printable_table commented
3323         out to enable compilation. Error strings tagged for translation.
3324         (init_setup): Optimized.
3325         * boxes.c (sel_charset_button): Eliminate C++ comment.
3326         (new_display_codepage): Made static.
3327         (display_bits_box): Use "%s" for plain string in message.
3329 2001-06-05  Pavel Roskin  <proski@gnu.org>
3331         * boxes.c [HAVE_CHARSET]: New charset selection dialog.
3332         * main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
3333         full_eight_bits. Use source_codepage and display_codepage to
3334         deduce the terminal 8-bitness.
3335         * main.h [HAVE_CHARSET]: Change to match main.c.
3336         * setup.c [HAVE_CHARSET]: Implement saving and loading charset
3337         settings.
3338         * util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
3339         * view.c [HAVE_CHARSET]: Implement charset support.
3340         From Walery Studennikov <hqsoftware@mail.ru>.
3342         * selcodepage.c (do_select_codepage): New function.
3343         * selcodepage.h: Declare it.
3344         From Walery Studennikov <hqsoftware@mail.ru>.
3346         * mfmt.c (omain): Warning fix.
3348         * key.c [HAVE_TEXTMODE_X11_SUPPORT]: Rename `display' to
3349         `x11_display' and `w' to `x11_window'. Make them static.
3350         (init_textmode_x11_support): Include into init_key().
3351         (done_textmode_x11_support): Include into done_key().
3352         (k_dispose): Make static.
3353         (s_dispose): Likewise.
3354         * key.h: Remove init_textmode_x11_support() and
3355         done_textmode_x11_support().
3356         * main.c: Don't call init_textmode_x11_support() and
3357         done_textmode_x11_support().
3359         * achown.c: Make global variables static if possible. Remove now
3360         useless preprocessor directives, since this file is now used in
3361         the text edition only.
3362         * boxes.c: Remove useless ifdefs.
3363         [USE_VFS]: Don't undef USE_NETCODE - it's done in extraconf.h.
3364         * cmd.c [USE_VFS]: Don't undef USE_NETCODE.
3365         * chmod.c: Remove useless ifdefs.
3366         * filegui.c: Likewise.
3367         * hotlist.c: Likewise.
3368         * info.c: Likewise.
3369         * layout.c: Likewise.
3370         * listmode.c: Likewise.
3371         * option.c: Likewise.
3372         * subshell.c: Likewise.
3373         * help.c: Remove useless ifdefs. Make global variables static if
3374         possible.
3375         * key.c: Likewise.
3376         * learn.c: Likewise.
3378 2001-06-04  Andrew V. Samoilov  <sav@bcs.zp.ua>
3380         * charsets.c (load_codepages_list): Lines in mc.charset beginning
3381         with a # are comments. Use "default character_set_name" in mc.charset
3382         to set default codepage for your system.
3383         (xstrncpy): Eliminate.
3385 2001-06-04  Pavel Roskin  <proski@gnu.org>
3387         * cmd.c (edit_symlink_cmd) [!HAVE_GNOME]: Warn if the current
3388         selection is not a symbolic link.
3390 2001-06-02  Pavel Roskin  <proski@gnu.org>
3392         * cmd.c (free_vfs_now) [HAVE_GNOME]: Eliminate.
3393         (reselect_vfs) [HAVE_GNOME]: Likewise.
3394         * main.c (ctl_x_map) [HAVE_GNOME]: Disable add2hotlist_cmd.
3395         (done_mc) [HAVE_X]: Don't call save_hotlist().
3396         * setup.c (save_setup) [HAVE_X]: Likewise.
3397         (done_setup) [HAVE_X]: Don't call done_hotlist().
3399 2001-06-01  Pavel Roskin  <proski@gnu.org>
3401         * hotlist.c [HAVE_X]: Don't use ctrl_pressed().
3402         * widget.c [HAVE_X]: Likewise.
3403         * main.c [HAVE_X]: Likewise. Don't call init_key() and
3404         init_key_input_fd().
3405         * setup.c [HAVE_X]: Remove some variables that make no sence
3406         for the GNOME edition. Eliminate save_panel_types().
3407         * view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
3409         * view.c [HAVE_X]: Define is_idle() to 1. Warning fix.
3411         * file.c (copy_file_file): Initialize src_uid, src_gid, src_mode
3412         and file_size to avoid a warning.
3414 2001-05-31  Pavel Roskin  <proski@gnu.org>
3416         * charsets.c: Include config.h before everything else.
3417         * selcodepage.c: Likewise.
3419         * textconf.c (features): Use longer strings to avoid enforcing
3420         english word ordering on the translations. Capitalize sentences.
3421         From Walery Studennikov: Indicate charset support.
3422         (version): Use fputs, not fprintf.
3424         * Makefile.in: Add charsets.c, charsets.h, selcodepage.c and
3425         selcodepage.h. Compile them if the charset support is enabled.
3426         Distribute them always.
3428 2001-05-30  Pavel Roskin  <proski@gnu.org>
3430         * charsets.c: New file for charset conversion support.
3431         From Walery Studennikov.
3432         * charsets.h: Likewise.
3433         * selcodepage.c: Likewise.
3434         * selcodepage.h: Likewise.
3436         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 0 if
3437         possible to prevent ncurses from waiting after escape.
3439 2001-05-29  Pavel Roskin  <proski@gnu.org>
3441         * cmd.c (quick_cd_cmd) [HAVE_GNOME]: Disable.
3442         * main.c (sort_cmd) [HAVE_GNOME]: Likewise.
3443         (ctl_x_map) [HAVE_GNOME]: Disable "Ctrl-x j" - background jobs.
3445         * color.c (init_colors) [HAVE_SLANG]: Use "default" instead of
3446         NULL as color names - this works even if COLORFGBG is unset.
3447         Don't check HAS_DIRECT_COLOR_ACCESS - it's now meaningless.
3449         * color.h: Define DEFAULT_COLOR_INDEX and DEFAULT_COLOR in the
3450         same way regardless of HAVE_SLANG.
3451         * color.c (init_colors) [USE_NCURSES]: Initialize the default
3452         color pair.
3454         * subshell.c (pty_open_master) [!HAVE_SCO && HAVE_GRANTPT]:
3455         Don't try to close a file that wasn't opened.
3457         * xslint.c: Remove slang_init() and FIXME in the comment.
3458         * main.c (main) [!HAVE_SLANG]: Don't call slang_init().
3460 2001-05-28  Pavel Roskin  <proski@gnu.org>
3462         * myslang.h: Use HAVE_SLANG_SLANG_H instead of non-standard
3463         SLANG_H_INSIDE_SLANG_DIR.
3465         * xslint.c: Remove unused functions.
3467         * color.c (init_colors) [HAVE_SLANG]: Use SLtt_set_color() to
3468         associate the default colors with DEFAULT_COLOR_INDEX. The old
3469         code would unset alternative charset without making S-Lang aware
3470         of it.
3471         Thanks to John E. Davis <davis@space.mit.edu>
3472         * widget.c (update_input) [HAVE_SLANG]: Revert last change - it
3473         is not needed now.
3475 2001-05-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
3477         * main.c: Correct some comments after #endif
3478         (shell): Remove comment and #ifdef around shell variable.
3479         (process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
3480         between one #ifdef ... #endif pair.
3481         (process_args): smbfs_set_debug () takes a debug level as argument,
3482         commented out.
3484 2001-05-27  Pavel Roskin  <proski@gnu.org>
3486         * main.c (OS_Setup) [!HAVE_X]: Exit immediately if TERM
3487         environment variable is unset or empty.
3489 2001-05-25  Pavel Roskin  <proski@gnu.org>
3491         * cmd.c: Clean up useless preprocessor directives.
3492         (symlink_cmd): Warning fix.
3493         * dlg.c (dialog_handle_key) [HAVE_X]: Disable suspend on Ctrl-z.
3494         * main.c (do_suspend_cmd) [HAVE_GNOME]: Remove.
3495         (suspend_cmd) [HAVE_GNOME]: Likewise.
3497 2001-05-24  Pavel Roskin  <proski@gnu.org>
3499         * widget.c (update_input) [HAVE_SLANG]: Work around a bug in
3500         SLang 1.x - set charset to alternative when printing spaces.
3502 2001-05-22  Pavel Roskin  <proski@gnu.org>
3504         * ext.c (exec_extension): Use g_free() on the result of
3505         mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
3506         needed anymore.
3507         * user.c (execute_menu_command): Likewise.
3508         * util.c (mc_mkstemps): Return NULL in the filename in the case
3509         of failure. Remove support for NULL as the first argument.
3510         From Andrew V. Samoilov.
3512 2001-05-21  Pavel Roskin  <proski@gnu.org>
3514         * ext.c (exec_extension): Use mc_mkstemps().
3515         * user.c (execute_menu_command): Use mc_mkstemps().
3516         * util.c (mc_mkstemps): New function - safely create and
3517         open temporary file. Return the handle and the name.
3518         * util.h: Declarations for init_tmpdir() and mc_mkstemps().
3519         Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
3521 2001-05-18  Pavel Roskin  <proski@gnu.org>
3523         * TODO: Remove Tk-related entries.
3524         * boxes.c [HAVE_TK]: Remove. Don't need INPUT_INDEX anymore.
3525         * screen.c [HAVE_TK]: Remove.
3526         (panel_event): Made static.
3527         * chmod.c [HAVE_TK]: Remove.
3528         * cmd.c [HAVE_TK]: Likewise.
3529         * help.c [HAVE_TK]: Likewise.
3530         * hotlist.c [HAVE_TK]: Likewise.
3531         * info.c [HAVE_TK]: Likewise.
3532         * view.c [HAVE_TK]: Likewise.
3533         * view.h [HAVE_TK]: Likewise.
3534         * widget.c [HAVE_TK]: Likewise.
3535         * wtools.c [HAVE_TK]: Likewise.
3537         * TODO: Remove XView-related entries.
3538         * menu.h [HAVE_XVIEW]: Remove all XView-related code.
3540 2001-05-17  Pavel Roskin  <proski@gnu.org>
3542         * subshell.c (pty_open_master) [HAVE_SCO]: Fix ambigous `else'.
3543         [!HAVE_SCO && !HAVE_GRANTPT]: Likewise.
3545 2001-05-16  Pavel Roskin  <proski@gnu.org>
3547         * subshell.c: Define _GNU_SOURCE to enable prototypes for
3548         allocating pseudo-terminals on GNU systems.
3550         * subshell.c (init_subshell_child): New function to initialize
3551         child process and run subshell. Code moved from ...
3552         (init_subshell): ... here.
3554         * subshell.c (init_subshell): Don't close pty_slave if is wasn't
3555         open. Initialize it with -1.
3557 2001-05-14  Pavel Roskin  <proski@gnu.org>
3559         * main.c [HAVE_GNOME]: Disable more code.
3560         * cmd.c [HAVE_GNOME]: Likewise.
3562         * background.h: Omit definitions that require FileOpContext if
3563         fileopctx.h has not been included yet.
3565         * background.c (real_message_2s): Declare arguments "const" when
3566         possible.
3567         (real_message_3s): Likewise.
3568         * wtools.c (message): Likewise.
3569         * background.h: Change declarations to match.
3570         * dialog.h: Likewise.
3572         * boxes.c [HAVE_GNOME]: Disable unused code.
3573         * find.c [HAVE_GNOME]: Likewise.
3574         * complete.c [HAVE_GNOME]: Likewise.
3575         * main.c [HAVE_GNOME]: Likewise.
3577         * screen.c (adjust_top_file): Enable only if it's used, i.e.
3578         when PORT_HAS_PAINT_FRAME in undefined.
3579         * wtools.c (listbox_refresh): Disable for HAVE_X, define to
3580         an empty macro instead.
3581         (listbox_callback): Call listbox_refresh() regardless of HAVE_X.
3582         (create_listbox_window): Likewise.
3584         * fsusage.c: Include stdlib.h for abort().
3585         * tree.c (tree_mkdir_cmd): Disable tree_mkdir_cmd() since it's
3586         not used.
3587         * widget.c: Declare x_radio_toggle() with arguments.
3589         * util.h: Remove declarations of some functions defined in
3590         background.c.
3592 2001-05-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
3594         * background.c (real_message_1s, message_1s): third parameter is
3595           used by message () as printf pattern, so "%s" has to be added
3596           if plain string must be shown but printf conversion
3597           specification(s) may be there.
3598         * view.c (do_view_init): ditto
3599         * user.c (debug_out): ditto
3600         * utilunux.c (close_error_pipe, check_error_pipe): ditto
3602         * background.[ch], vfs/util-alone.c (message_1s): third parameter
3603           constified
3605 2001-04-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
3607         * find.c (search_content): Redo recent change without infinite loop ;-),
3608         egrep_path hardcoded to "egrep" as it is done in locate_egrep ()
3610         (locate_egrep): commented out
3612         (rotating_dash) [!HAVE_X]: moved into do_search to prevent warning
3614 2001-04-26  Pavel Roskin  <proski@gnu.org>
3616         * find.c (search_content): Undo a recent change that caused an
3617         infinite loop.
3619 2001-04-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
3621         * view.c (get_line_at): previous newline is right condition
3622         for regexp '^' pattern also, fixed
3624         (search) [HAVE_GNOME]: gnome_message_box_new doesn't expand printf
3625         pattern, so g_strdup_printf used
3627         * find.c (find_parameters): don't use stat structure if mc_stat failed
3629 2001-04-17  Pavel Roskin  <proski@gnu.org>
3631         * subshell.c (init_raw_mode): New function, separated from ...
3632         (invoke_subshell): ... this.
3633         (init_subshell): Initialize raw_mode here instead of delayng it
3634         until invoke_subshell(). Otherwise the current mode may have
3635         been changed by edition_pre_exec(), which caused Ctrl-O to be
3636         ignored on FreeBSD if a command has been run before switching
3637         to the subshell.
3639 2001-04-06  Pavel Roskin  <proski@gnu.org>
3641         * chmod.c (stat_file): Allow chmod and chown on special files.
3643         * cons.handler.c: Include "global.h" for exit().
3645         * Makefile.in: Add dependencies between mc and static libraries
3646         in the source tree.
3648 2001-04-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
3650         * find.c (find_parameters): Add a checkbox for case insensitive
3651         content search.
3652         (search_content): Pass `-i' to egrep for case insensitive
3653         search.
3655 2001-03-30  Andrew V. Samoilov  <sav@bcs.zp.ua>
3657         * panel.h, screen.c (panel_new): panel_name constified to do gcc
3658         some more happy when gmc is compiled
3660 2001-03-18  Miguel de Icaza  <miguel@ximian.com>
3662         * widget.c (forward_word, backward_word): Revert Timur's patch
3663         from last year which made the behaviour for advancing words not
3664         match the one in Emacs.
3666 2001-03-02  Pavel Roskin  <proski@gnu.org>
3668         * key.c (mi_getch): Discard non-events (EV_NONE), but not
3669         keycode 0 (Ctrl-@).
3671 2001-02-26  Pavel Roskin  <proski@gnu.org>
3673         * cmd.c (edit_cmd) [HAVE_GNOME]: Use gmc_edit(). Don't use
3674         regex_command().
3675         (ext_cmd) [HAVE_GNOME]: Don't compile for GNOME.
3676         * ext.c (regex_command) [HAVE_GNOME]: Likewise.
3677         * ext.h [HAVE_GNOME]: Don't define MC_USER_EXT and MC_LIB_EXT.
3679         * main.c (main): Don't call edit_init_file() - the editor should
3680         care about its files itself.
3682 2001-02-09  Pavel Roskin  <proski@gnu.org>
3684         * main.c (main): Fix compilation error when configured without
3685         subshell support.
3687 2001-02-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
3689         * main.c (main): Do not fork subshell for mcedit/mcview.
3691 2001-01-27  Pavel Roskin  <proski@gnu.org>
3693         * cons.handler.c (handle_console): Check the result of ttyname().
3695         * main.c (handle_args): Exit if no arguments are given to mcview.
3696         [HAVE_GNOME]: Don't examine argv[0] - it's done separately.
3698         * dir.c: Respect HAVE_STRCOLL. Added a comment about strcoll().
3700 2001-01-26  Pablo Saratxaga  <pablo@mandrakesoft.com>
3702         * file.c: moved a comment one line down so it becomes visible on the
3703         translators' po files. Also added gettext:no-c-format comments for
3704         a few strings with % in them that are not C format printf codes.
3706 2001-01-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
3708         * subshell.c (do_subshell_chdir): temporary patch to prevent command
3709         execution for directory names containing 0x03 (intr) 0x14.
3710         See http://www.securityfocus.com/vdb/?id=2016 for details.
3711         Subshell still can't chdir to such directories :(
3713         * subshell.[ch] (do_subshell_chdir): directory constified
3715 2001-01-17  Pavel Roskin  <proski@gnu.org>
3717         * Makefile.in: Respect LDFLAGS when linking cons.saver.
3719 2000-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
3721         * view.c: Fixed long existed bugs in internal viewer. When search is
3722         doing in binary file it ignore skipped zero(es), so cursor is before
3723         searched expression and next search find the same string. Also regexp
3724         search could return wrong results for '^ ?' expressions.
3726         (get_line_at): skipped: new parameter for number of skipped zero(es)
3728         (search): new features of get_line_at used.
3730 2000-11-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
3732         * cons.saver.c (check_file): close fd on error. There was a bug, which
3733         allowed luser to write '\0' char to any symlinkable file in Linux
3734         system which don't ensure that fd's 0, 1, and 2 are open on startup
3735         of a SUID/SGID binary.
3736         Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.
3738 2000-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
3740         * layout.c (print_vfs_message): format string vulnerability fixed
3742 2000-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
3744         * main.c (CmdMenu): don't include edit_user_menu_cmd ()
3745         if USE_INTERNAL_EDIT is not defined
3746         (main): call edit_init_file () if USE_INTERNAL_EDIT is defined only
3747         (listmode_cmd): messages are localized
3749 2000-11-02  Pavel Roskin  <proski@gnu.org>
3751         * layout.c [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Declare
3752         low_level_change_screen_size().
3753         (flag_winch) [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Call
3754         low_level_change_screen_size(). From Andrew V. Samoilov.
3756 2000-10-04  Pavel Roskin  <proski@gnu.org>
3758         * user.c (expand_format): Fixed processing of "%s".
3760 2000-09-30  Pavel Roskin  <proski@gnu.org>
3762         * Makefile.in: Added an explicit rule for man2hlp.
3764 2000-09-26  Pavel Roskin  <proski@gnu.org>
3766         * listmode.c, listmode.h, main.c: Consistently using define
3767         LISTMODE_EDITOR to enable the experimental listmode editor.
3768         * main.c: Don't allow two adjacent separators in the Command
3769         menu.
3771 2000-09-22  Pavel Roskin  <proski@gnu.org>
3773         * fixhlp.c: Removed.
3774         * Makefile.in: Removed all references to fixhlp.c
3776 2000-09-14  Pavel Roskin  <proski@gnu.org>
3778         * features.h: Joined with textconf.h to avoid name clash with
3779         GNU Libc.
3780         * features.c: Renamed to ...
3781         * textconf.c: ... this
3782         * Makefile.in, cmd.c, main.c, text.c: necessary adjustments
3784         * Makefile.in: Don't make softlinks to the libraries
3786 2000-09-13  Pavel Roskin  <proski@gnu.org>
3788         * Makefile.in: Only rebuild mc.hlp in the maintainer mode.
3790 2000-09-01  Pavel Roskin  <proski@gnu.org>
3792         * fixhlp.c: fixed compile errors and warnings
3794 2000-08-30  Pavel Roskin  <proski@gnu.org>
3796         * dirhist.c, dirhist.h: removed
3798         * features.h, keys.h, textconf.h, x.h: added protection against
3799         multiple inclusion
3801 2000-08-23  Pavel Roskin  <proski@gnu.org>
3803         * features.c: include <sys/param.h> to avoid a warning
3805         * main.c [HAVE_X]: print_mc_usage() and print_color_usage()
3806         removed.
3807         version() moved to ...
3808         * features.inc: ... here, renamed to features.c
3809         * main.h: status_using_ncurses moved to ...
3810         * features.h: ... here
3811         * cmd.c, text.c: include "features.h"
3812         * cmd.h: include "panel.h"
3813         * Makefile.in: changed to use features.h and features.c
3815 2000-08-22  Pavel Roskin  <proski@gnu.org>
3817         * main.c [HAVE_GNOME]: disable chmod and chown - they were
3818         broken and obsoleted by the "Properties" dialog
3820         * cmd.c [HAVE_X]: Removed dependency on status_using_ncurses
3822         * man2hlp.c: Removed undocumented feature - when converting
3823         to HTML some output would go to index.html instead of stdout
3825 2000-08-16  Pavel Roskin  <proski@gnu.org>
3827         * gindex.pl: Enable warnings. Existing warnings fixed.
3829         * Makefile.in: mc.hlp now depends on man2hlp.c instead of
3830         man2hlp - this avoids some rebuilds of mc.hlp
3832 2000-08-15  Pavel Roskin  <proski@gnu.org>
3834         * mc.hlp: removed. It's a derived file
3835         * Makefile.in: Fixed dependencies for $(srcdir)/mc.hlp
3836         Build $(srcdir)/mc.hlp but allow a failure (e.g. no perl)
3838 2000-08-11  Frederic L. W. Meunier  <fredlwm@pervalidus.net>
3840         * Makefile.in: Don't compile mfmt, compile mcmfmt directly.
3842 2000-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
3844         * hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
3845         tkn_length nullified after tkn_buf is freed to prevent crashes.
3847         (new_hotlist): became a macro
3849         * background.c (real_message_[123]s): title is really prepended
3850         by "Background process:" string now if mode == Background
3852         (background_attention): resstr NULLified to prevent warning
3854 2000-06-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
3856         * screen.c (display_mini_info): two different patterns are
3857         used now: for one file and for other cases
3859 2000-06-16  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
3861         * cons_saver: support linux with devfs, patch by pavenis@lanet.lv
3863 2000-06-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
3865         * panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
3866         parameters and WPanel.total field became double, thus, total size
3867         of selected files/directories is shown in the mini status correctly
3868         when it exceeds 2 GB.
3870 2000-05-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
3872         * slint.c (init_pair): segfault fixed when mcedit -b called
3874         * user.c (check_format_var): error messages are localized
3876         (expand_format, user_menu_cmd): memory leaking for %e and %k macro
3877         fixed; segfault fixed when %m macro is used outside user_menu_cmd ()
3879         * ext.c (regex_command): memory leaking fixed when user extension
3880         file is absent
3882         (exec_extension): error message for changed mc.ext file format
3883         are localized -- does we really must be worry about mc 3.0 ?
3885         * widget.c (history_put): counter is initialized again
3887 2000-05-11  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3889         * src/user.c: fix segfault when Shift-F4, Shift-F1, so when menu
3890         content condition y, macro %y
3892 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3894         * src/user.c: Add macro %k it is block file name
3895         Add macro %e it is error file name
3896         Add macro %i it is cursor column indent of spaces, only for edit
3897         Add macro %y, it is syntax of current file in editor, only for edit
3898         Add condition y, it is syntax pattern of current file in edit
3899         Add macro %x it is extension of current file
3900         Add macro %m it is current menu filename
3902 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3904         * gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
3905         Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
3906         edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
3907         (the message of David H. Martin <dmartina@usa.net>)
3909 2000-05-05  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3911         * src/user.c:   Add condition (x filename) into mc.menu .
3912                         for "Open next a free console" and like.
3914 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3916         * src/user.c: fix segfault in chunk_alloc of glibc, when into condition
3917         of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
3919 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3921         * gtkedit/edit.c:
3922         Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
3923         * gtkedit/editmenu.c:        home: ~/.cedit.menu, local: .cedit.menu
3924         Marked block is access now from an user edit menu
3925         Access ~/.cedit/cooledit.block for insert to cursor place from
3926         user edit menu.
3927         Created system cedit.menu
3929 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
3931         * gtkedit/editdraw.c:
3932         Improved a status string of cool editor for best understand,
3933         and to add char,hex view.
3935 2000-04-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
3937         * widget.c: (history_put): profile is free()d if chmod failed,
3938           (input_map): added const qualifier
3939         * utilunix.c, util.h: (tilde_expand): added const qualifier
3940         * cmd.c: (nice_cd): i18n update,
3941           (source_routing): typo fixed, source is free()d after use
3942         * screen.c: i18n changes, (panel_keymap): added const qualifier
3943         * view.[ch]: (view, view_init, do_view_init): added const qualifier
3945 2000-04-15  Timur Bakeyev  <mc@bat.ru>
3947         * dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
3948         directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
3949         as it is in POSIX.
3951 2000-04-15  Timur Bakeyev  <mc@bat.ru>
3953         * dlg.c: Commited at last patch, that fixes screwed up right panel in
3954         a long format. Occasionaly, all my colors problems also gone. All thanks
3955         to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
3956         problem, blames to me and Federico :)
3958 2000-04-12  Timur Bakeyev  <mc@bat.ru>
3960         * widget.c ([forward|backward]_word): Changed one more time - now it
3961         skips alpnums and THEN spaces+punct. That gives almost the same re-
3962         sults, but twice quicker. Hope, this will be accepted.
3964 2000-04-06  Timur Bakeyev  <mc@bat.ru>
3966         * widget.c ([forward|backward]_word): Changed logic of moving - now,
3967         it skips only spaces+punct OR alnum. Reason to do it so - deleting lines
3968         like "lynx http://www.gnome.org", where "lynx http:" part was erased
3969         in one operation. That's nasty, IMHO. Made this a separate commit, so,
3970         if it seriously breaks compatability it's easy to revert it. Still hope,
3971         nobody'll do that.
3973 2000-04-06  Timur Bakeyev  <mc@bat.ru>
3975         * file.c, widget.[ch]: Fixed long existing problems with filenames
3976         and input widgets, then char is greater than 128. They were processed
3977         incorrectly. As usual, char != unsigned char problem.
3979 2000-03-03  Björn Eriksson  <mdeans@algonet.se>
3981         * Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.
3983         * mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
3984         problems when later g_free()ed.
3986         * Added mad_strndup().
3988         * Repeated code collected in mad_fatal_error().
3990         * The gcc-extension/C99-standard variable argument macros (adding
3991         __FILE__, __LINE__ before ', ...') would be nice.
3993         * Alloc_idx_hint and code added, the mad code was way too slow for my
3994         poor computer. A hash-table would be nice.
3996         * (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
3997         undefined at the top of mad.c, so mad_alloc must be used.
3999 2000-02-23  Norbert Warmuth  <nwarmuth@privat.circular.de>
4001         * main.c (parse_control_file): add missing right parentheses
4003         * boxes.c: fix incorrect initialization of array of structure (gcc
4004         version 2.96 20000131 chokes on it).
4006 2000-02-18  Paul Sheer  <psheer@obsidian.co.za>
4008         * gtkedit/*.[ch], edit.c et al: updates to reflect
4009         cooledit-3.13.0. See CVS commits and cooledit ChangeLog
4010         for details.
4012 2000-02-10  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4014         * setup.c (load_setup): remove duplicate loading of anonymous
4015         passwd by do_load_string(), it is doing by
4016         ftpfs_init_passwd. (Patch by sav@bcs.zp.ua)
4018 2000-02-04 "David H.Martin" <dmartina@usa.net>
4020         * src/widget.c (input_new): Change NULL to empty strings and avoid
4021           crashing when string functions are called.
4022         * src/boxes.c (configure_vfs): Remove local change to empty string.
4023         * src/setup.c (load setup): Load anonymous password
4025 2000-02-03 Andrew V. Samoilov  <sav@bcs.zp.ua>
4027         * setup.c (load_setup): call ftpfs_init_passwd to avoid segfault
4029 2000-01-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
4031         * main.c (parse_control_file): add extra secutity checks for
4032          control file. It cannot be group/world writable;
4033         (ctl_x_map, default_map, argument_table): added const qualifier.
4035         * fixed segfault in print_mc_usage
4037 2000-01-24  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4039         * cmd.c (nice_cd): disabled ability to go to home.
4041 2000-01-02  viro@math.psu.edu
4043         * src/subshell.c: Reason: in feed_subshell() we are trying to read
4044         from shell pty, check for retval==-1 && errno != EIO. In that case
4045         we flame and exit. Otherwise we are trying to write what we've
4046         read. Good luck doing it if we got errno==EIO, which is _normal_
4047         for situation when shell just died. Resulting write(1,foo,~0U) is
4048         somewhat excessively, erm, verbose.
4050 1999-12-21  Pavel Roskin  <pavel_roskin@geocities.com>
4052         * src/main.c, src/view.c: #warning's replaced with FIXME's.
4053         They were not for users, but for developers
4055 1999-11-11  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4057         * main.c, cmd.c: add possibility to free VFS now
4059 1999-11-03  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4061         * layout.c: always display status line. It contains vital
4062         information for ftpfs
4064 1999-03-19  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4066         * profile.c (str_translate_newline_dup): someone likes to pass
4067         NULL's around. Warn instead of segfault.
4069 1999-11-02  Miguel de Icaza  <miguel@gnu.org>
4071         * main.c (OS_Setup): Do not warn if TERM is not set for the GNOME edition.
4073 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
4075         * dlg.c (dlg_broadcast_msg_to): Sigh.  Put in a GrossHack(tm) to
4076         unfocus what will be a WInput when a panel is initialized.
4078 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
4080         * dlg.c (init_dlg): Walk the list of widgets only if it exists.
4081         (dlg_broadcast_msg_to): Use safer list-walking code for if someone
4082         inserts a widget inside the message broadcast.
4084 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
4086         The following is a patch from Volker Braun
4087         <volker.braun@physik.hu-berlin.de> to fix column resizing in the
4088         file panels.
4090         * setup.c (options): Declare the column width option values.
4091         (save_configure): Save the default user format.
4092         (load_setup): Load the default user format.
4094         * panel.h (WPanel): Added a field for the column widths.
4096 1999-09-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
4098         * user.c (check_patterns): char* is used instead of char [] in sizeof
4100         * util.c (string_perm): prefix named pipes by 'p' and not by `s'
4102 1999-09-19  Norbert Warmuth  <nwarmuth@privat.circular.de>
4104         * mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
4105         to mad.[ch]
4107         * option.c: Include files reordered in order to make it compile with
4108         --with-debug
4110         * mad.c (mad_init): New function. Initialize debug FILE pointer to
4111         stderr (moved to a function because not on every system stderr is
4112         a constant).
4113         (mad_set_debug): added const qualifier
4115         * main.c (main): call mad_init
4117 1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>
4119         * widget.[ch] (input_new): added const qualifier
4121         * util.c (wipe_password): Check for NULL.
4123 1999-09-13  Federico Mena Quintero  <federico@redhat.com>
4125         * treestore.c: Removed tree_store_destroy(), renamed
4126         tree_store_init() to tree_store_get().
4128         * tree.c (tree_destroy): Do not destroy the tree store.
4129         (tree_new): Get the tree store, do not initialize it.
4131         * treestore.c (tree_store_init): Do not set the linked list
4132         pointers to NULL.
4134         * panel.h (WPanel): Added a new field that indicates whether the
4135         user is dragging something over the tree.
4137 1999-08-31  Federico Mena Quintero  <federico@redhat.com>
4139         * main.c: In the GNOME version, we want cd_symlinks to be FALSE.
4140         The VFS should never have to look at this variable, but alas, it
4141         does.  BUGFIX:  Red Hat Bugzilla #2344.
4143         * setup.c: Disable cd_symlinks in the GNOME version.
4145 1999-08-30  Norbert Warmuth  <nwarmuth@privat.circular.de>
4147         * main.c (print_mc_usage): Print the bug reporting address.
4148         (main): Put prompt in a new line at termination.
4150 1999-08-27  Federico Mena Quintero  <federico@redhat.com>
4152         * ext.c (quote_block): How did this ever work?  People, if you
4153         realloc() things, don't keep pointers to stuff inside the original
4154         block.
4156         * screen.c (do_enter_on_file_entry): Pass in the full name to
4157         if_link_is_exe().
4159         * dir.[ch] (if_link_is_exe): Take in the full name, not the directory
4160         and the file entry.
4162 1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>
4164         * cmd.c (guess_message_value): New function. Determine locale used
4165         for messages
4167         (get_random_hint): use guess_message_value
4169 1999-08-15  David Martin  <dmartina@usa.net>
4171         * boxes.c: (symlink_dialog): Move dialog misaligned elements
4173         * cmd.c (get_random_hint): Look for localized hint files
4175 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4177         * ext.c: Added missing include file.
4179 1999-08-08  David Martin  <dmartina@usa.net>
4181         * menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
4182         get the right size even when NLS is disabled.
4184 1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
4186         * screen.c (string_file_[amc]time): These three functions use
4187         file_date which returns a pointer to a static buffer. In the
4188         Gnome edition this buffer has to be coppied to a static buffer
4189         which isn't used in the other two functions (Fix Bug #1766).
4191         * util.c, util.h: Moved some constants to util.h
4193 1999-08-04  Norbert Warmuth  <nwarmuth@privat.circular.de>
4195         * widget.c (push_history): Add SMB Link to the list of input dialogs
4196         where urls are input without vfs prefix.
4198         Translate the titles of these input dialogs only once.
4200         Removed Gnome specific code because the Gnome edition doesn't use
4201         the input history any more.
4203         * util.c (strip_password): Add /#smb: to the list of urls which might
4204         be input with password.
4206 1999-08-03  Norbert Warmuth  <nwarmuth@privat.circular.de>
4208         * poptalloca.h: New file with definitions for alloca. Note: alloca
4209         is defined as malloc on systems which fail to support alloca. Don't
4210         include this file if you frequently use alloca.
4212         * findme.c, popt*.c: include poptalloca.h
4214         * Makefile.in: added poptalloca.h
4216         * menu.c (create_menu): set minimum menu width to 20 characters as
4217         it used to be (this was part of davids patches but I haven't
4218         applied it, yet).
4220 1999-08-01  David Martin  <dmartina@usa.net>
4222         * menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
4223         Discount '&' for hotkeys when checking menu widths to avoid the
4224         extra blank space.
4225         Moved this accounting from the drawing to the creating function.
4227         * widget.c: Translate History box tittle.
4229 1999-07-21  Norbert Warmuth  <nwarmuth@privat.circular.de>
4231         * popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c: updated
4232         to the version found in the popt module
4234         * features.inc: added report information for smbfs
4236 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
4238         * file.c (move_dir_dir): Give an error when an attempt is made to
4239         move an empty directory into itself.
4241 1999-06-24  smil@linuxfan.com
4243         * view.c (view_update_bytes_per_line, display): show correctly the
4244         offset of the file (full 8 digit), display offset in bold colour
4246         (view_labels): use goto_addr instead of goto_line in hex mode
4248         (goto_addr): New function. Goto offset address in hex mode.
4250         * view.h: use unsigned long for hexedit cursor position in file
4252 1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>
4254         * menu.c (menubar_execute): Now needs an additional do_refresh in order
4255         to make layout changes visible.
4257 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
4259         * file.c (move_dir_dir): Give an error when an attempt is made to
4260         move an empty directory into itself.
4262 1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>
4264         * cmd.c (quick_view_cmd): Change panel when the file we want to
4265         view isn't in the current panel (prevents a "file not found"
4266         error).
4268         * menu.c (menubar_execute): De-activate the menubar previous to
4269         invoking the callback. This is needed to make change_panel in
4270         quick_view_cmd work (the activated menubar doesn't allow unfocus,
4271         i.e. dlg_one_down|up don't change anything).
4273         * view.c (do_view_init): improved error handling w.r.t quick view
4274         (mc used to dump core when the file to view couldn't be opened).
4276 1999-06-22  David Martin  <dmartina@usa.net>
4278         * view.c (display): added view_gotoxy's in order to make the gnome
4279         edition operational in hex mode.
4281 Fri Jun 18 11:29:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4283         * user.c (user_menu_cmd): Allow national characters as hotkeys.
4284         Don't dump core when the menu file contains only empty lines
4286         * view.c (search, block_search): Use the correct column for the
4287         percent display while searching.
4289 1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4291         * complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
4292         the completion/query engine.  Make the Gnome version just beep
4293         instead.  We do not have the completion/query engine for Gtk.
4295 1999-06-09  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4297         * cmd.c (configure_panel_listing): no more code duplication
4299         * screen.c (panel_new): no more code duplication
4300         (set_panel_formats): warn user when he gives bogus format, move
4301         checks into set_panel_formats
4303 1999-06-01  Akira Higuchi  <a-higuti@math.sci.hokudai.ac.jp>
4305         * util.c (is_printable): in GNOME all characters are printable.
4307 1999-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4309         * main.c (handle_args): Handle --desktop-linksdir without using X
4311 1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4313         * treestore.c (should_skip_directory): Add fix from Wayne Roberts
4314         to actually acknowledge the settings of mc.global.
4316 1999-05-24  Brandon S. Allbery  <allbery@ece.cmu.edu>
4318         * subshell.c (pty_open_master): Added missing comma.p
4320 Mon May 17 07:37:12 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4322         * subshell.c (pty_open_master): use getpt () if available to open
4323         the master side of the pty. getpt () is a glibc extension and is
4324         needed when glibc 2.1.x is used with a (linux) kernel without unix98
4325         style ptys (if there is no /dev/ptmx getpt falls back to bsd style
4326         ptys).
4328         * filegui.c (check_progress_buttons): Don't update the Gpm mouse
4329         cursor when we check for events. It causes a flickering cursor on a
4330         different virtual console.
4332 1999-05-12  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
4334         * cons.saver.c (main): change cons.saver so it can be run without
4335         root privileges. It is well possible to run cons.saver with
4336         privileges only to /dev/vcsa: create new user and make vcsa's
4337         owned by that user instead of root.
4339         Distribution maintainers please take this text as idea of what you
4340         should do to make your system more secure.
4342 1999-05-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4344         * cmd.c (view_file_at_line): gmc_view never fails, so we handle
4345         that now.
4347 1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4349         * chmod.c (chmod_cmd): Missing _ in _().
4350         (chmod_cmd): Added braces around nested if/else.
4352         * widget.c (is_in_input_map): Added braces around nested if/else.
4353         (listbox_remove_current): Likewise.
4355         * subshell.c (read_subshell_prompt): Likewise.
4357         * view.c (view_status): Likewise.
4359 Tue Apr 27 20:31:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4361         * util.c (strip_home_and_password): Don't split the path in the
4362         middle of a directory, e.g. "/home/bofh" will not be translated to
4363         "~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
4365 1999-04-25  Sergei Ivanov  <svivanov@pdmi.ras.ru>
4367         * find.c: The origin of the bug is in the function do_search (file
4368         find.c).  It limits the number of subdirectories to scan by the
4369         number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
4370         st_nlink is always 1, so it should be the second case.
4372         But before doing stat, do_search does opendir. And opendir on tar
4373         vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
4374         in the stat data! So mc_stat called after mc_opendir on tar vfs
4375         returns st_nlink==2 instead of 1. This is interpreted as if the
4376         directory had no subdirs, thus subdirs are not searched in.
4378         Changing the order of calls to mc_stat and mc_opendir fixes the
4379         problem.
4381 1999-03-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4383         * setup.c (save_setup): Only save this if there is a current panel
4385 Wed Apr 21 21:47:15 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4387         * ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
4388         like the latter when compiled with -mthreads).
4390         * user.c (execute_menu_command): ditto.
4392 Wed Apr 21 20:40:38 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4394         * Makefile.in: use MCCFLAGS and MCLIBS
4396 Wed Apr 21 20:19:45 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4398         * key.c (get_modifier): Query the state of the modifier keys when
4399         running inside a terminal emulation under X11.
4401         * key.c (init_textmode_x11_support, done_textmode_x11_support): new
4402         functions, only used in the text edition. Connect to and disconnect
4403         from the X Server when DISPLAY is set.
4405         * key.h: added prototypes for the new functions
4407         * main.c (main): call (init|done)_textmode_x11_support
4409 Sat Apr 17 13:04:19 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4411         * view.c (do_view_init): Enable viewing of files with negative
4412         st_size (This reverts parts of a patch I commited recently. Miguel
4413         provided a better fix for this issue).
4415 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4417         * view.c (regexp_search): Use unsigned longs for all of the
4418         offsets here.  Fixes crash reported on bugtraq.
4420 1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4422         * treestore.c (tree_store_save_to): Moved the functionality from
4423         tree_store_save() to here.
4424         (tree_store_save): Save the tree in the default location in an
4425         atomic fashion.
4426         (tree_store_load_from): Moved the functionality from
4427         tree_store_load() to here.
4428         (tree_store_load): Load the tree from the default location.
4430         * treestore.h (MC_TREE_TMP): Added a #define for the temporary
4431         name we'll use when saving the tree.  Moved the #defines from
4432         tree.h over to here.
4434         * main.c (main): Use tree_store_load() and tree_store_save().
4435         Removed the mc_tree_store_load/save() versions.
4437         * tree.c (load_tree): Use tree_store_load().
4438         (save_tree): Use tree_store_save().
4440 Fri Apr 16 07:51:42 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4442         * wtools.c (message): Use g_vsnprintf instead of vsprintf.
4444 Fri Apr 16 07:50:59 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4446         * view.c (do_view_init): Don't view files with negative file size.
4447         Added some error checking (I'm not sure whether this is needed).
4449 1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4451         * panel.h (WPanel): Added a drag_tree_row field to the WPanel
4452         structure.  This is used to keep track of the highlighted row in
4453         the tree for drag and drop.  Also, added drag_tree_timeout_id to
4454         hold the node expand timeout.  Also, added drag_tree_fe to hold
4455         the file_entry for the currently highlighted row in the tree.
4457 1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4459         * utilunix.c (my_system): Set up default signal handlers for childs.
4461 Tue Apr 13 07:14:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4463         * slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
4464         at the code that's only the case when we read EOF from stdin.
4466         This fixes the problem where MC consumes a lot of cpu time while
4467         reading EOF from stdin in a tight loop. This situation arises when the
4468         terminal line/connection drops without MC being sent SIGHUP.
4470 Tue Apr 13 07:13:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4472         * slint.c (SLang_input_pending2): don't store SLANG_GETKEY_ERROR (int)
4473         in the input buffer (char).
4475 1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>
4477         * main.c (_do_panel_cd): If we are using GNOME, and the panel is a
4478         desktop panel, open up a new panel for the contents.
4480 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4482         * tree.c (tree_start_search): Renamed from start_search() to avoid
4483         collisions with screen.c:start_search().
4485         * panel.h: Added prototype for start_search().
4487 1999-04-09  Rosanna Yuen  <rwsy@mit.edu>
4489         * screen.c (do_enter_on_file_entry): split GNOME version and
4490         non-gnome version.
4491         (parse_display_format): listen to the warning.
4493 1999-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4495         * treestore.c (tree_store_load): Do not load non-local file
4496         systems
4497         (tree_store_save): Do not save non-local file systems
4499 1999-04-07  Jonathan Blandford  <jrb@redhat.com>
4501         * screen.c (do_enter_on_file_entry): added a consistent behaviour
4502         for GNOME stuff.
4504 1999-04-06  David Martin  <dmartina@usa.net>
4506         * info.c (text out of box and locale layout).
4508         * util.c: If gmc uses strftime() why mc doesn't?
4510         * view.c: a) Tune status line so it does fit in a Quick View Panel
4511         b) Let Hex View resize cleanly. I think it's fixed for panel
4512         re-split and SIGWINCH signal in xterm. gmc still fails. There was
4513         a tiny risk of division by zero when pressing F4 in a very small
4514         box. True hard work... Must try and check it.
4516 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4518         * main.c (main): Call mc_tree_store_save() when the program
4519         terminates.
4521 1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4523         * find.c (setup_gui): Do not scroll horizontally.  Why does the
4524         CList behave like this?
4526         * setup.c: Save desktop information.
4528 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4530         * cons.saver.c (main): dup2() may be interrupted; take this into
4531         account.  Do we need to fcntl() stderr, or is it enough to close()
4532         it before recreating it?
4534 1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4536         * dlg.c (dlg_run_done): Do not call the callback of a NULL current
4537         widget.
4539         * setup.h: Added missing prototype for setup_init().
4541         * filegui.c (check_progress_buttons): Added a missing return
4542         value.
4544         * dlg.c (remove_widget): Added a missing return value.
4546         * main.c: Removed the global directory_list variable.
4547         Removed the main_corba_register_server() function.
4549         * main.h: Removed the global run_desktop variable.
4551         * panel.h: Now the panel structure has a unique numerical ID used
4552         for session management.
4554         * screen.c (panel_new): Maintain a unique ID for each panel.
4556         * main.c (maybe_display_linksdir): Handle display of the desktop
4557         init dir here.
4558         (main): Call gnome_check_super_user().
4559         (init_corba_with_args): Call corba_init_server().
4561         * main.c (init_corba_with_args): Do CORBA initialization here.  Also
4562         removed the global force_activation option.
4564 1999-03-29  Jonathan Blandford  <jrb@redhat.com>
4566         * main.c (main): updated message.
4568 Sun Mar 28 23:52:08 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4570         * util.c (is_printable): Character 155 is non printable even when
4571         full eight bit output is enabled (on the linux console 155 is
4572         interpreted as "ESC [").
4574 1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4576         Patch courtesy of John Bley (jbb6@acpub.duke.edu):
4578         * background.c (do_background): Use pid_t instead of int.
4580         * subshell.c (sigchld_handler): Likewise.
4582 1999-03-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4584         * Makefile.in: Use mcsrclibdir where appropriate.
4586 1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4588         * treestore.c (process_special_dirs): Free memory here.
4590         Fix test: Skip only "." and "..", before it could skip "?.".
4592 1999-03-22  David Martin  <dmartina@mailexcite.com>
4594         * wtools.c (real_input_dialog_help): Do a strncmp with the lenght
4595         of th same translated "Password:" string.
4597 Mon Mar 22 02:05:28 1999  Timur Bakeyev  <mc@bat.ru>
4599         * screen.c (file_entry_color): Dropped. Code went to file_compute_color.
4601         * screen (format_file): Add check, that avoids reported error, when
4602         long file list -> quick view -> brief file list gives core dump.
4604 1999-03-19  Jonathan Blandford  <jrb@redhat.com>
4606         * main.c (main): We don't want to restart if we hit cancel.
4608         * file.c (panel_operate): Ugly hack for GNOME.  We only treat the
4609         copy as if it were many files, and skip the only_one branch.
4611 1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4613         * utilunix.c (close_error_pipe): Inform parent of the return value
4614         of any command here.  This allows the desktop to launch a terminal
4615         only if it succeeded in mounting the directory.
4617 Thu Mar 18 16:09:09 1999  Timur Bakeyev  <mc@bat.ru>
4619         * panel.h, screen.c: Add an ability to center justify fields in the
4620         panel, in addition to left and right justification. Just for fun.
4621         Try =name in user format.
4623         * util.c (name_quote): Quote "~@^|;:". Hope, that's all :)
4625 1999-03-17  Jonathan Blandford  <jrb@redhat.com>
4627         * main.c (main): Put in a warning when run as root.
4629 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4631         * boxes.c (symlink_dialog): Put this inside an "#ifndef
4632         HAVE_GNOME" since we now provide a nicer version of the dialog.
4634         * wtools.c (real_input_dialog_help): Removed un-needed #ifdef.
4636         * cmd.c (edit_symlink_cmd): Generate the title of the dialog after
4637         we have computed the source filename.
4638         (edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
4639         for better internationalization.
4641         * wtools.c: Removed unused function input_dialog_help_2().
4642         (real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
4643         because now the Gnome version implements its own pretty dialog.
4645 1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4647         * dlg.c (dlg_select_nth_widget): Handle the case where h->current
4648         points to NULL.
4650 1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4652         * file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
4653         Since we use the resulting buf.st_size to update the progress, we
4654         need the size of unresolved links.  This also makes it consistent
4655         with screen.c:do_file_mark().
4657         * screen.c (select_item): Return immediately if this is a desktop
4658         panel.
4660 1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4662         * subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have
4663         grantpt() but they do lack SysV streams.  Handle this.  Noticed by
4664         Jakub Jelinek
4666 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4668         * util.h: Added prototype for g_readlink().  Miggie boy should add
4669         prototypes when he adds public functions.
4671 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4673         * utilunix.c (g_readlink): Fixed two bugs spotted by Morten
4674         Wellinder.  Boy, Morten has such a good eye!
4676 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4678         * file.c (erase_dir): Erase metadata for directories as well.
4679         (erase_dir_iff_empty): Likewise.
4680         (copy_file_file): Delete/copy the metadata even for
4681         char/block/sock/fifo files.  Same thing for when copying symlinks.
4682         (copy_dir_dir): Delete/copy the metadata.
4683         (move_dir_dir): Delete/move the metadata.
4684         (recursive_erase): Delete the metadata.
4686 1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4688         * file.c (real_query_recursive): Removed an unused variable.
4690 1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4692         * utilunix.c (g_readlink): New function.  Wraps all the nonsense
4693         of readlink into a nice routine.
4695         * filegui.c: Support ui->ctx to be NULL, as file.c will set this
4696         to NULL for background operations.
4698         * background.c (do_background): Handle EINTR in dup2.
4700 Wed Mar 10 22:21:19 1999  David Martin  <dmartina@usa.net>
4702         * util.c (my_putenv): char* was used to store the length of a string
4704         * info.c (info_show_info): cast st_dev and st_ino when passing
4705         to printw.
4707 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4709         * file.c (panel_operate): Always create the ctx->ui.  Federico,
4710         can you see if this change is correct from your point of view?
4712         * cmd.c (edit_symlink_cmd): Small fix to improve the messages
4713         printed.
4715 Tue Mar  2 22:54:50 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4717         * util.c (name_quote): Quote '<' and '>'.
4719 Tue Mar  2 22:28:39 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4721         * main.c (panel_clean_dir): New function: reset all counters of a
4722         WPanel and clean directory list.
4724         * various places: Use panel_clean_dir instead of clean_dir whenever
4725         a WPanel is available. This solves the problem reported by Enrico
4726         Scholz (screen refresh while panel reload with an old/now invalid
4727         panel->count).
4729 Mon Mar  1 00:18:48 1999  Timur Bakeyev  <mc@bat.ru>
4731         * mad.c: Tempnam() returns malloced buffer, so, free() it, not g_free().
4733 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4735         * view.c (view_percent, view_update): Take an extra argument:
4736         update_gui, which controls whether we want to update the displayed
4737         region in the GUI version.
4739 1999-02-25  Jonathan Blandford  <jrb@redhat.com>
4741         * cmd.c (symlink_cmd): little change to handle the case when a
4742         desktop panel is passed in.
4744 1999-02-25  Owen Taylor  <otaylor@redhat.com>
4746         * fileopctx.h file.c: Moved recursive delete query
4747         dialog into gdialogs.c for GNOME.
4749 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4751         * file.c: Moved FileCopyMode here (thanks to Wolfgang Scherer for
4752         pointing this out) and made it a typedef.
4754         * treestore.c (process_special_dirs): New function.
4755         (should_skip_directory): Load the settings from the global
4756         special.dirs file and from the
4758         * util.c: Test for glibc/linux and if so, do not use getwd, but
4759         getcwd as on this system it is better than popen ("pwd").
4761 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4763         * setup.c: Declare extern int tree_panel_visible for the GNOME
4764         version.
4766 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4768         * dir.c (if_link_is_exe): Made this function take in a directory
4769         argument as well -- the sought file may not be in the cwd, and
4770         file entries do not carry the directory the file refers to.
4772         * screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
4773         if_link_is_exe().
4775 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4777         * treestore.c (tree_store_rescan): Add code to skip scanning
4778         specially slow directories (/afs, /coda, /...).  It is of course,
4779         configurable.
4781         * setup.c: Export the profile_name setup routine.
4783 Tue Feb 16 21:21:32 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4785         * popt.c: Compilation fix: on systems without setreuid use setuid.
4787 Tue Feb 16 21:18:08 1999  David Martin  <dmartina@usa.net>
4789         * achown.c: Make buttons fit in the (new) translated
4790         Advanced Chown dialog.
4792 1999-02-16  Alexaander Savelyev  <fano@ham.kiev.ua>
4794         * subshell.c (exit_subshell): Use the size of the buffer, not
4795         sizeof of the pointer to the buffer.
4797 Sun Feb 14 02:59:09 1999  Timur Bakeyev  <mc@bat.ru>
4799         * utilunix.c (my_system): Fix the order of preferenses, as setuid
4800         more desirable on BSD systems. Terminate execl[p]() with NULL, as
4801         this is formally correct.
4803 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4805         * dir.c (do_load_dir): Added missing calls to tree_store_end_check.
4807         * find.c (add_to_list): Pass the data pointer as well.
4809 Fri Feb 12 06:36:58 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4811         * utilunix.c (my_system): Compilation fix: on systems without
4812         setreuid use setuid.
4814 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4816         * panel.h (WPanel): Removed unused field "corbadat".
4818 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4820         * screen.c: Make delete key delete files.
4822         * dir.c (do_reload_dir): Add a couple of missing calls to tree_store_end_check.
4824 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4826         * main.h: Added prototype for main_corba_register_server().
4828 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4830         * view.c (search): Provide GNOME specific code for the search progress
4832         * treestore.c: Add a new hook system to hint a tree freeze/thaw.
4834         * setup.c: In the GNOME version, we do not show the dot files by default.
4836 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4838         * file.c (copy_file_file): Add support for the GNOME metadata here.
4839         (move_file_file): Add support for the GNOME metadata here.
4841 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4843         * treestore.c   (tree_store_add_entry): Use g_new0 to allocate the tree_entry.
4845         (tree_store_notify_add): Close, but no cigar.  The
4846         bug was deeper:  This list keeps names, not tree_entries.
4848 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4850         * treestore.c (tree_store_notify_add): A tree_store_add_fn wants a
4851         string, not a tree_entry, so pass a string to it.
4853 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4855         * treestore.c: Revert all of the stack changes.  Now the treestore
4856         is again non-re-entrant.  Being re-entrat was only covering up for
4857         bugs in other places.
4859         Now we postpone notifications for additions at
4860         tree_store_end_check, not before.
4862 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4864         * treestore.c (tree_store_remove_entry): Removed unused code for
4865         base_sublevel computation.
4867 Sun Feb  7 06:11:48 1999  Timur Bakeyev  <mc@bat.ru>
4869         * Makefile.in: Change calls to xmkdir to mkinstalldirs - this is more
4870         GNU-like :)
4872         * xmkdir removed - we have mkinstalldirs.
4874 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4876         * cmd.c (view_other_cmd): Do not use \r in translatable strings.
4878 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4880         * widget.c (push_history): Only do check the history headings if
4881         the widget has a history entry bound to it.
4883 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4885         * treestore.c (tree_store_start_check, tree_store_mark_checked,
4886         tree_store_end_check): Use a stack for check_name.  There are far
4887         too many instances that might call the end_check.
4889 Wed Feb  3 23:55:54 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4891         * widget.c (history_put): set the access rights correctly when
4892         the history file is created initially. Don't save the history
4893         if we can't set the access rights.
4895 1999-02-01  Jonathan Blandford  <jrb@redhat.com>
4897         * setup.c: save we_can_afford_the_speed
4899 Wed Feb  3 22:27:04 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4901         * util.c (strip_password): Extented to find the url in the first
4902         parameter. The second parameter tells whether it should search the
4903         url (indicated by known prefixes) in the first parameter or whether
4904         the first parameter is a url without a prefix ("ftp://", "/#ftp:",
4905         "/#mc:").
4907         * main.c (directory_history_add): Strip the password (if any) from
4908         the freshly added value.
4910         * widget.c (push_history): ditto. There's a ugly special casing
4911         necessary for the network and ftp link dialogs (urls are entered
4912         with out prefix).
4914         * widget.c (history_put): Restrict read and write access to the
4915         history file to the owner (Just in case I forgot to strip passwords
4916         somewhere).
4918 Mon Feb  1 00:43:15 1999  Timur Bakeyev  <mc@bat.ru>
4920         * screen.c (to_buffer): Code of the function rewritten, as a side
4921         effect added J_CENTER (who needs this?). Also, justification flags
4922         got twins with _FIT suffix, which tries to fit name in the field with-
4923         out truncation (uses name_trunc()). This unifies behaviour of CList
4924         variants and text-bases widgets.
4926         * screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
4927         group]() - not necessary, to_buffer() doing this work.
4929 Sun Jan 31 19:49:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
4931         * hotlist.c (add_new_entry_input, add_new_group_input): Make the
4932         quick_widget arrays static and various changes needed because they
4933         are now static. add_widgets_i18n recalculates button positions
4934         which get lost when the quick_widget arrays are non static.
4936         * screen.c (to_buffer): nul terminate string when using strncpy
4938         * setup.c: Save and restore new option ftpfs_first_cd_then_ls.
4940 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4942         * file.c (panel_operate_generate_prompt): Removed the cmd_buf
4943         argument, since it is a global variable anyway (this function is
4944         only called once from file.c, and the global cmd_buf was being
4945         passed in).
4946         (panel_operate): Do not pass cmd_buf to
4947         panel_operate_generate_prompt().
4948         Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.
4950 1999-01-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4952         * achown.c (XTRACT): Add missing call to _().
4954 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
4956         * panel.h: Fixup #includes.
4958 1999-01-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4960         * cons.saver.c: Removed glib from the suid app
4962 Wed Jan 27 03:17:44 1999  Timur Bakeyev  <mc@bat.ru>
4964         * Converted memory managment to Glib. Now we use g_new()/g_malloc()/
4965         g_strdup()/g_free() routings. Also, copy_strings() replaced by
4966         g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
4967         g_snprintf().
4969         * Some sequences of malloc()/sprintf() changed to g_strdup_printf().
4971         * mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
4972         a missing #undef for tempnam, which caused dead loop. Add several new
4973         functions to emulate GLib memory managment.
4975         *main.c, mad.[ch]: Add a new switch  "-M", which allows to redirect MAD
4976         messages to the file.
4978         * util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
4979         and strdup() - we have g_ equivalences. Remove get_full_name() - it is
4980         similar to concat_dir_and_file(). Some other tricks with g_* functions.
4982         * global.h: Modified, extended. Now it is main memory mangment include -
4983         i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
4984         "util.h" and "mad.h" done there. This elimanates problem with proper or-
4985         der of #include's.
4987         * All around the source - changed order of #include's, most of them gone
4988         to global.h (see above), minor changes, like "0" -> NULL in string func-
4989         tions.
4991 1999-01-25  Alexander Savelyev  <fano@vcom.kiev.ua>
4993         * ext.c (exec_extension): Always use /bin/sh.  Not the user
4994         shell.
4996 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
4998         * treestore.c (tree_store_remove_entry_remove_hook): Missing
4999         function.  To remove a notification hook.
5000         (tree_store_notify_add, tree_store_add_entry_add_hook,
5001         tree_store_remove_entry_add_hook): New functions to notify of
5002         additions to the treestore.
5004         * tree.c (tree_destroy): Remove the callback hook when we go
5005         away.
5007 1999-01-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5009         * option.c (init_configure): One line patch from Alexander
5010         Savelyev to transalate all strings.
5012 1999-01-18  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
5014         * file.c: Killed operation_names: they seemed same to op_names to
5015         me, and compilation failed on them (initializer element is not a
5016         constant). Maybe miguel tagged too many strings for localization?
5017         :-).
5019         * ext.c: we use /tmp in "creative" way: creating there file and
5020         then executing it. I do not see how it is needed. Marked with FIXME.
5022 Thu Jan 21 01:11:24 1999  Timur Bakeyev  <mc@bat.ru>
5024         * mad.[ch], util.[ch]: commit changes, that allow coexist (temporary)
5025         GLib'ed VFS and not still converted MC itself.
5027 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5029         * treestore.c (tree_store_start_check): Use mc_stat(), not stat().
5030         (tree_store_rescan): Use mc_lstat(), not lstat().
5032 Tue Jan 19 05:28:04 1999  Timur Bakeyev  <mc@bat.ru>
5034         * ext.c, filenot.c, main.c, screen.c, treestore.c: add missed #include's
5035         and moved glib.h so, it follows "fs.h", but preceed "util.h" and "mad.h".
5036         There were conflicts during compilation with MAD and GLibed vfs.
5038 Mon Jan 18 21:23:29 1999 Paul Sheer  <psheer@obsidian.co.za>
5040         * cmd.c: update_panels (UP_OPTIMIZE, UP_KEEPSEL); instead
5041         of reread after editing a file.
5043 1999-01-18  Arturo Espinosa  <arturo@nuclecu.unam.mx>
5045         * file.c: Use N_ instead of _ for some of miguel's last tags.
5047 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5049         * file.c: Tag some more strings for localization.
5051 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5053         * cmd.c (mkdir_cmd): Please, check your pointer usage.
5055 Thu Jan 14 13:18:58 1999  Timur Bakeyev  <mc@bat.ru>
5057         * screen.c (string_file_[owner|group]): Workaround the fact, that some
5058         systems have user and group names greater than 8 symbols. Now we trun-
5059         cate them.
5061 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5063         * treestore.c (tree_store_load): Use g_return_val_if_fail(), not
5064         g_return_if_fail().
5065         (tree_store_rescan): Added parentheses to clarify || and &&.
5067         * tree.c (tree_add_entry): Removed unused variable.
5069         * treestore.h: Added prototype for tree_store_start_check_cwd().
5071 1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5073         * view.c (search): Missing condition.
5075         * treestore.c (tree_store_opendir): Simplistic fix.  This is not
5076         quite correct.
5078 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5080         * panelize.h: Added prototype for do_external_panelize().
5082         * screen.c (move_selection): Unused variable fixes for HAVE_X.
5084         * boxes.c (configure_vfs): Removed an unused variable.
5086 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
5088         * cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
5089         absolute directories.
5091 Tue Jan 12 13:40:46 1999  Timur Bakeyev  <mc@bat.ru>
5093         * gtkedit(syntax.c): Fixed a typo in Pascal syntax.
5095 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5097         * treestore.c (tree_store_save): Add signature for version 2.0 of
5098         the file format.
5100 1999-01-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5102         * file.c (do_file_error): Made static.
5103         (query_recursive): Have cases for background/foreground operation.
5104         (do_file_error): Likewise.
5106         * background.c: Removed the bg_ctx global, since now all the
5107         contexts are carried around by the functions that actually need
5108         them.
5110         * fileopctx.h (FileOpContext): Moved the op_preserve field to here.
5112         * filegui.c (file_mask_dialog): Removed the ui assertion, since
5113         now the op_preserve field is kept in the main context structure.
5115 1999-01-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5117         * util.c: Provide workarounds for Linux kernel bug.
5119 Sun Jan 10 02:18:33 1999  Timur Bakeyev  <mc@bat.ru>
5121         * screen.c(string_file_size): Fixed (incorrect?) printing of device num-
5122         bers. Major should never be greater 255.
5124 1999-01-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5126         * dir.c (handle_dirent): Use the tree_store now.
5127         (handle_path): ditto.
5128         (do_load_dir): ditto.
5129         (do_load_dir): ditto.
5130         (do_reload_dir): ditto.
5131         (do_reload_dir): ditto.
5133         * treestore.c (tree_store_save): New file
5134         (encode): New routine used to encode pathnames in a safe way that
5135         are saved to the mc/.tree file.
5136         (decode): New routine, used to decode the pathnames we encoded in
5137         the step above.  Aint love grand?
5139         * tree.c (load_tree): Kill dead code.
5141         Moved all of the tree store information into a new file:
5142         treestore.  To be reused by the Gnome code.
5144 1999-01-08  Ilya Zakharevich  <ilya@math.ohio-state.edu>
5146         * popt.c: OS/2 and Windows NT portability fix.
5148 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5150         * file.c (panel_operate_flags): Only show this dialog box if it is
5151         a copy or move operation
5153 1999-01-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5155         * background.c (do_background): Make it a bit saner.  Now we store
5156         a per-child-process FileOpContext structure.
5158         * fileopctx.h: New file with declarations for the file operation
5159         context structure.
5161         * fileopctx.c (file_op_context_new): New function to create a file
5162         operation context with the default file mask values.
5163         (file_op_context_destroy): New function to destroy a file
5164         operation context and its associated UI, if appropriate.
5166         * filegui.h: Use complete prototype for fmd_init_i18n().
5168         * filegui.c (FileOpContextUI): New structure that describes the UI
5169         and internal data for file operation contexts in the text mode
5170         version.
5171         (file_op_context_create_ui): Renamed from create_op_win() and
5172         made it use a context instead of global variables.
5173         (file_op_context_destroy_ui): Likewise, renamed from
5174         destroy_op_win().
5175         (fmd_widgets): Removed an #ifdef HAVE_XVIEW bit and moved the
5176         initialization of the result pointers to file_mask_dialog(), as we
5177         need to use the pointers to the fields inside the file op context now.
5178         Made all the functions use a file operation context.
5179         (file_mask_dialog): Always call fmd_init_i18n(); it will take care
5180         of idempotence by itself.
5181         (fmd_init_i18n): Now the code that makes sure this function is
5182         only called once is here.
5184         * cmd.c (check_for_default): Make it use a file operation context.
5185         * tree.c (tree_copy): Likewise.
5186         (tree_move): Likewise.
5187         (tree_rmdir_cmd): Likewise.
5189         * file.c: Removed file_progress_replace_progress and
5190         file_progress_replace_filename -- they are only used in filegui.c
5191         as part of the UI for the file operation context.
5192         (panel_operate_generate_prompt): Made static.
5193         (panel_operate_generate_prompt): Always call fmd_init_i18n(); it
5194         will take care of idempotence by itself.
5195         (panel_operate): Removed the panel_operate_def() function, and
5196         made panel_operate() take an extra "ask_user" argument.
5197         (query_recursive): Made static.
5199         * background.c (background_attention): Made static.
5200         (register_task_running): Made static.
5201         (do_background): Now takes a file operation context as an
5202         argument.  It stores the pid of the child there.
5204         * Makefile.in: Added fileopctx.[ch].
5206 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5208         * widget.c (listbox_new): Assing l->height.
5210 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5212         * main.c (update_one_panel_widget): GNOME version does the panel
5213         update here (this is an optimization, as we do not want do_refresh
5214         to do anything.
5216         * dialog.c (do_refresh): Remove this optimization as it was
5217         disabling the repainting of the screen contents.
5219         * hotlist.c (done_hotlist): The hotlist might not be loaded
5220         anymore.
5222 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5224         * widget.c (listbox_new): Under GNOME, height of the listbox might
5225         be less than zero (due to LINES/COLS being set to zero there).  So
5226         for bow, set the height to 1.  This needs to be propery computed
5227         in x_create_listbox.
5229         * main.c (main): Do not load the hotlist here anymore.   We
5230         auto-load it on the setup(?).
5232 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5234         * main.c (main): Removed old, unused code.
5235         (setup_panels_and_run_mc): Register the corba server here, not
5236         before, as the program is not ready to accept any commands yet.
5238         * screen.c (panel_set_sort_order): New routine to set the sorting
5239         mode.
5240         (panel_re_sort): New routine to force a resort on a panel.
5242         * main.c (sort_cmd): Use the new routines.
5244 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5246         * cmd.c (check_for_default): Make this compile.
5248 Tue Dec 29 22:25:34 1998  Timur Bakeyev  <mc@bat.ru>
5250         * mountlist.c: Compress all xBSD systems to one line and add check
5251         for MOUNT_UFS - it seems, that 4.4BSD and 4.4BSD2 systems different-
5252         ly handles FS names. (currently affects BSDI and FreeBSD)
5254 Tue Dec 29 16:34:02 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5256         * file.c (progress_update_one): Ignore files in subdirectories
5257         when panel totals haven't been computed.
5259         (erase_dir, erase_file): update progress bar (i.e. make it work
5260         for OP_DELETE).
5262         (panel_operate_flags): Don't compute panel totals for OP_MOVE.
5263         When moving files on the same filesystem computing totals might
5264         last much longer than the actual move operation.
5266         (various places): adpations for the above changes.
5268 Mon Dec 28 22:15:43 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5270         * slint.c (try_alloc_color_pair): Changed hardcoded values into
5271         defines.
5273 Mon Dec 28 20:22:59 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5275         * color.c, text.c: Added color "stalledlink" which is used for
5276         stalled symbolic links. Formerly "viewunderline" was used for
5277         this (IMO bad because function and name didn't match).
5278         According to the man page the color keyword for executable files
5279         is `executable' and not `execute' -- changed.
5281         * color.c, color.h: When using SLang some color indexes are not
5282         freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
5283         Solved by adding holes in color_map.
5285         * find.c (do_search): fixed possible memory leak
5287 Sat Dec 26 09:53:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5289         * layout.c: include sys/ioctl.h to get definition of TIOCGWINSZ
5290         (fixes problem with screen resize).
5292 Fri Dec 25 20:19:57 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5294         * file.c (panel_operate_flags): Don't change file progress count and
5295         size twice for every file.
5297         (panel_compute_totals): Initialize return values to zero before
5298         calculating anything.
5300         (panel_operate_def, panel_operate): return a value
5302 Thu Dec 24 19:00:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5304         * screen.c (recalculate_panel_summary): new function which recalculates
5305         the summary information for the mini-status.
5307         * screen.c (panel_reload): use recalculate_panel_summary
5309         * screen.c (do_file_mark): Honour that dirsizes computed is now a
5310         per entry flag.
5312 Thu Dec 24 18:53:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5314         * option.c: Added Compute Totals to the configuration dialog.
5316         * file.c (compute_dir_size): made non static
5318         (panel_operate_flags): Don't compute directory sizes if verbose
5319         operation are off.
5321 Thu Dec 24 18:42:52 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5323         * cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
5324         by Miguel, i.e. get rid of du. Now the dirsizes_cmd honours a
5325         selection and computes sizes only for marked directories. Possible
5326         improvement: add a dialog (or C-C?) to abort computation.
5328         * dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
5329         flag a per file flag.
5331         * dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
5332         WPanel structure.
5334         * features.inc: Deleted DUSUM information
5336         * mc.hlp: remade because of changes in doc/mc.1.in
5338 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
5340         * file.c: add a HAVE_GNOME only function
5342 Mon Dec 21 22:39:35 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5344         * mountlist.c: Define xBSD on FreeBSD.
5346         * main.c (parse_an_arg): New function, popt callback. Option
5347         parsing in gmc was broken. The gnome*_init_with_popt_table free
5348         the option tables and gmc tried to use the option tables later.
5350         * main.c (handle_args): In the Gnome edition don't parse the
5351         options a second time.
5353         * boxes.c (configure_vfs), setup.c: Deleted obsolete options.
5354         tar.gz files are now always unzipped to a temporary file on disk.
5356 Mon Dec 21 14:28:55 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5358         * filenot.c (my_mkdir_rec): Someone broke this completely by deleting
5359         a line. Funny things happen if you use an already freed pointer.
5360         Improved error handling: try to make directories recursivly until
5361         mkdir succeeds or fails with errno != ENOENT. Now you will get the
5362         correct error message when you don't have permission to create a
5363         directory.
5365         * mountlist.c: Deleted function prototypes for strdup and strstr,
5366         they might conflict with definitions in the system header files.
5368 Wed Dec 16 14:41:15 1998  Paul Sheer  <psheer@obsidian.co.za>
5370         * gtkedit.c, editwidget.c: gnome selection now works with the
5371         editor.
5373 Wed Dec 16 06:27:00 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5375         * screen.c (Xtry_to_select): Don't select a similar file when
5376         "name" can't be found in the panel (when deleting files the
5377         selection jumpped from the deleted "file" to a directory which
5378         started with the same character as "file", annoying).
5379         Strip known vfs suffixes from "name" before trying to select
5380         (I think Timur made this suggestion a few months ago). Know the
5381         vfs is mature enough to do this.
5383 1998-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5385         * dir.c (link_isdir): Remove unused variable.
5387 Sun Dec 13 18:35:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5389         * screen.c (panel_reload): Don't set panel->selected to zero here,
5390         keep it's value if possible or set it to panel->count - 1 (I disliked
5391         the jumping cursor when deleting files).
5393 1998-12-11  Michael Fulbright  <msf@majestic.labs.redhat.com>
5395         * file.c (panel_operate_generate_prompt): Changes the text
5396         for GNOME dialogs.  --jrb
5398 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5400         * main.c (try_to_select): We do not need to select the item
5401         manually in this case, as the X code will do this for us.
5403 Fri Dec 11 00:05:50 1998 Paul Sheer  <psheer@obsidian.co.za>
5405         * syntax.c, slint.c, color.c, color.h: editor now has its
5406         own color configuration so you can set editor background
5407         colors with MC_COLOR_TABLE.
5409 1998-12-10 Paul Sheer  <psheer@obsidian.co.za>
5411         * syntax.c: perl syntax highlighting. syntax highlighting
5412         bug fizes for python and sh.
5414         * edit.c: new method of finding line offsets from line
5415         number (for cooledit for python stuff).
5417 Mon Nov 30 21:10:30 1998  Pavel Machek  <pavel@bug.ucw.cz>
5419         * file.c (copy_file_file): minor code beatifulling: replace goto's
5420         with while loops (it is both shorter and nicer :-)
5421         (panel_operate): hopefully done WANT_STALE_DATA right. We really
5422         should kill ftpfs_hint_reread hack soon.
5424         * cmd.c (dirsizes_cmd): report error if you are on non-local
5425         filesystem. (As oposed to silently failing.)
5427 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5429         * screen.c (panel_reload): Set panel->selected to zero here, this
5430         will at least guarantee that we do not try to fetch anything
5431         outside of bounds.
5433         * main.c: The bar2 is gone as well.
5435 Tue Dec  8 19:19:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5437         * cmd.c (dirsizes_cmd): Fixed possible buffer overflow
5439 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5441         * screen.c (do_enter): Return the value from this.
5443 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5445         * dir.c (link_isdir): Fetch the information from
5446         file->f.link_to_dir, since we already have it.
5448         * dir.h (file_entry): Removed the `cache' field in this structure,
5449         as it was only used for the deprecated Xview version.
5450         Also, removed the `exists' field, as it was not being used anywhere.
5452         * dir.c: Removed all occurrences of file_entry->cache.
5454         * find.c: Removed all occurrences of file_entry->cache.
5456         * panelize.c: Removed all occurrences of file_entry->cache.
5458         * screen.c (do_enter_on_file_entry): New public function that
5459         implements the functionality in do_enter(), but based on a file
5460         entry rather than on a panel.
5461         (do_enter): Use do_enter_on_file_entry() with the selection of the
5462         panel as an argument.
5464 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5466         * cmd.c, tree.c: Updated to the new file.c api.
5468         * file.c: (copy_file_file, copy_dir_dir, move_file_file,
5469         move_dir_dir): Updated to work with the new updating stuff.
5471         * setup.c: New configuration option to compute the totals to be
5472         transfered.
5474         * file.c (compute_dir_size, panel_compute_totals): New routines to
5475         compute the total ammount of information that is going to be
5476         transfered.
5478 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5480         * ext.h: GNOME edition uses a different set of .ext files.
5482         * lib/mc-gnome.ext.in: New file with GNOME-specific bindings.
5484 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5486         * GNORBA integration.  We now produce two binaries: gmc and
5487         corba-gmc (that way, I dont interfere with other's work).
5489         * Added prototypes, made private functions static, clean up
5490         various silly warnings.
5492         * main.c (main): Removed crufty init_sigfatal code.
5494         * cmd.c (do_link): More slang dependecies are fixed for the X
5495         ports.
5497         * keys.h (enum): Moved key definitions here.
5499         * tty.h: MOve towards slang freedom for the GNOME port.
5501 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
5503         * file.c (panel_operate_generate_prompt): moved from filegui.c
5505 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5507         * panel.h (WPanel): Added the missing tree/pane/view_table fields
5508         to the Gnome part of the structure.
5510 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5512         * cons.saver.c (main): Make sure stderr is always valid.
5513         (main): Also check that stderr_fd is not -1.
5515 Wed Nov 25 22:16:19 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5517         * cmd.c (dirsizes_cmd): Quote characters with a special meaning
5518         when passing it to du.
5520 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5522         * dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
5523         (dlg_key_event): Return 1 if handled the tab key.
5525         * filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().
5527 Sun Nov 22 22:30:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5529         * autogen.sh: replaced "cat *.m4" with a call to aclocal. Concatenate
5530         mc-aclocal.m4 and gettext.m4 to acinclude.m4. The other way round
5531         would have been to add three more m4 files to the replaced cat line
5532         (including cond.m4 from automake-1.3b).
5534         Fixed OBJ_DIR handling.
5536 Sun Nov 15 00:37:58 1998  Pavel Machek  <pavel@bug.ucw.cz>
5538         * mad.c (mad_tempnam): needed wrapper for tempnam added
5540 1998-11-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5542         * dlg.c (destroy_dlg): Do not refresh.
5544         * filegui.c: New file.  We keep all of the user interface code for
5545         the text edition in this file now.  This should be a per-GUI port
5546         file.
5548 1998-11-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5550         * panel.h (WPanel): Instead of the "#ifdef GNOME" mess in the
5551         WPanel structure, we now have a single opaque pointer to UI data,
5552         called port_ui.  GUI stuff specific to each port should be here.
5553         This is a work in progress.
5555 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5557         * setup.c: Removed the icons_snap_to_grid and
5558         want_transparent_{icons,text} options.
5560 Thu Nov  5 12:10:10 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
5562         * file.c (panel_operate): check for null pointer before passing it
5563         to mc_setctl
5565 Wed Nov  4 17:51:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5567         * src/findme.h: added from popt-1.2 by RedHat
5569         * src/Makefile.in: appropriate changes to use new popt
5571 Sun Nov  1 20:59:05 1998  Pavel Machek  <pavel@bug.ucw.cz>
5573         * file.c (erase_file): translated goto into while loop (it is both
5574         shorter AND cleaner)
5576         * subshell.c (feed_subshell): do NOT print anything if we get
5577         errors/eofs from read(subshell) - this fixes (or at least hides)
5578         nasty bug where typing "exit" on mc prompt prints lots of garbage
5579         and falls into infinite loop. Someone with better knowledge should
5580         read feed_subshell(), and make it handle errors properly. (Why do
5581         we ignore EIO for example?)
5583 Sun Oct 18 22:56:17 1998  Pavel Machek  <pavel@bug.ucw.cz>
5585         * view.c: we now rely on sfs to do file decompressing for us. That
5586         has advantage of displaying #ugz at first line, so user knows what
5587         we are doing behind his back
5589         * view.c: fix indentation, fallback to read whole file if mmap fails.
5591 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
5593         * setup.c: #ifdef'ed out stuff in the menus that will get changed
5594         as I rewrite the desktop part.
5596 1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5598         * layout.c (print_vfs_message): Use g_snprintf instead of
5599         vnsprintf.
5602 1998-10-30  Sung-Hyun Nam  <namsh@lgic.co.kr>
5604         * color.c, slint.c: support transparent background if user use
5605         'default' keyword for background color.
5607 Mon Oct 26 00:31:53 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5609         * configure.in, Make.common.in: Split CPPFLAGS into CPPFLAGS and
5610         MCCPPFLAGS. The last one contains references to variables which are
5611         not available in every Makefile.in (namely intl/Makefile.in). Without
5612         the split `-I ' was passed to the compiler (the compiler on DU 4.0
5613         interprets -I as "don't search include files in /usr/include").
5615 Thu Oct 22 20:41:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5617         *  configure.in (subshell): Don't define inline to be empty
5618         when compiling with non-gcc compiler. AC_C_INLINE (invoked in
5619         AM_GETTEXT_GNU) already defines inline if necessary.
5621 Thu Oct 22 20:41:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5623         * panelize.c (do_external_panelize): Not zeroing some fields
5624         in cpanel led sometimes to segfaults.
5626 Thu Oct 22 20:31:17 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5628         * lib/mc.ext.in: *.jar and *.JAR treated like *.zip and *.ZIP
5630 Fri Oct 16 12:10:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
5632         * cmd.c (quick_chdir_cmd): you must check for return code of
5633         do_cd(). (Fixed error for here, but more such bugs are present in
5634         src/ tree. Or maybe move error checking into do_cd?)
5636         * command.c: warn user if he is pressing enter while on non-local
5637         filesystem. (Prev. behaviour was fail silently to do anything,
5638         which is _bad_.)
5640 Mon Oct 12 22:47:53 1998  Pavel Machek  <pavel@bug.ucw.cz>
5642         * file.c (copy_file_file): MCCTL_SETREMOTECOPY is no longer used
5644         * file.c (copy_file_file): do_reget is now correctly done using
5645         open()/lseek() pair
5647 Wed Oct  7 22:20:37 1998  Pavel Machek  <pavel@bug.ucw.cz>
5649         * file.c: Ask user if (s)he wants to delete incomplete file
5651 Sun Oct 11 20:21:20 1998  Peter Kleiweg  <kleiweg@let.rug.nl>
5653         * mfmt.c (main): When there are an even number of empty lines
5654         between messages, all goes well, but when the number of empty
5655         lines between messages is odd, the program fails.
5657 Sun Oct 11 20:11:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5659         * setup.c: Option ftpfs_use_unix_list_options was saved from
5660         and restored to the wrong variable (ftpfs_use_passive_connections).
5662 Mon Oct  5 21:33:14 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5664         * screen.c (parse_display_format): Don't dereference NULL pointer
5665         when format string is an empty string.
5667 Mon Oct  5 19:59:56 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5669         * main.c (translate_url_to_new_syntax): Translate ftp:// to an
5670         absolute path instead of a relative path (fix to "hotlist" bug
5671         reported by Andrej). This means we drop the "return to last dir"
5672         feature for ftpfs (when leaving ftpfs with ".." returns to the
5673         directory visited before entering the ftpfs).
5675 Sat Oct  3 00:54:23 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5677         * gtkedit/Makefile.in (EDITOBJS): removed one wrong \\ (line
5678         continuation)
5680 Thu Oct  1 18:43:34 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5682         * file.c: Commented out search for egrep because execvp() does
5683         it itself
5685         * utilunix.c: vfs_uid should not be used if VFS is disabled
5687 Tue Sep 29 17:53:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
5689         * main.c: removed stupid reference to {sfs,extfs}_which
5691         * screen.c: fixed higlighting to go for longest match if it does
5692         not find exact match. This is so that it works well with vfs (and
5693         needs _NO_ knowledge about vfs layer).
5695 Tue Sep 29 14:02:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
5697         * layout.c (print_vfs_message): fixed buffer overrun by
5698         vsnprintf. Unfortunately I have no clue how to do this portably.
5700 Tue Sep 29 11:42:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5702         * setup.c: Corrected code which prevents using icon view by
5703         ports which don't support it
5705 Mon Sep 28 21:55:13 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
5707         * find.c: Changed hotkey of the continue-button (both Chdir and
5708         Continue used `C').
5710         * Makefile.in: search config.status in builddir and not in rootdir,
5711         i.e. make it compile for builddir != srcdir
5713 Wed Sep 23 14:06:44 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
5715         * src/file.c: Made file.c use new O_LINEAR mode (so copying from
5716         ftp works nicely, again)
5718 Fri Sep 18 14:15:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5720         * src/mad.c: All messages are sent to stderr and terminate with \r\n
5722         * src/hotlist.c: Harmless memory leak fixed
5724         * xv/Makefile.in, xv/xvmain.c, xv/xvscreen.c: Minor fixes to
5725         make compilation of the XV port possible (currently without
5726         viewer).
5728 Thu Sep 17 07:32:23 1998  Norbert Warmuth  <k3190@fh-sw.de>
5730         * Makefile.in: After creating symlinks invoke another instance of
5731         make to build libvfs.a. Otherwise make will not know how to build
5732         the object files if symlinks have been created.
5733         Added target cleansourcelinks (invoked with make distclean).
5735 Tue Sep 15 22:41:24 1998  Paul Sheer  <psheer@obsidian.co.za>
5737         * edit.c, editwidget.c, gtkedit.c: fixed segfault when trying to
5738         edit a non-file under gmc.
5740 Tue Sep 15 21:52:00 1998  Norbert Warmuth  <k3190@fh-sw.de>
5742         * mc.hlp, doc/mc.1.in, doc/mc.sgml: updated my EMail address
5744 Tue Sep 15 20:51:42 1998  Norbert Warmuth  <k3190@fh-sw.de>
5746         * setup.c: save and restore new global variable/option
5747         ftp_use_unix_list_options
5749 Tue Sep 15 01:02:34 1998   Paul Sheer  <psheer@obsidian.co.za>
5751         * gtkedit: Directory added. This directory contains all the editor
5752         code modified to work with gnome. Mcedit now works properly under
5753         gnome with a slightly reduced set of features.
5755         * gscreen.c gscreen.h screen.c: Modified to respond to F4 on a file
5756         and start the new gtkedit internal editor.
5758 1998-09-14  Norbert Warmuth  <k3190@fh-sw.de>
5760         * file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
5761         <zx80@demo.ru> (losing files when moving directories cross filesystem
5762         boundaries): make sure erase_list is emptied always not only when we
5763         deleted files.
5765 Sat Sep 12 02:59:43 1998  Timur Bakeyev  <mc@bat.ru>
5767         * screen.c: Xtry_to_select() Remove extfs hack to the main.c. Change
5768         for() cycle to the x_basename() call (Thanks to Pavel Roskin).
5769         Add (key_callback) do_enter() to prevent warnings.
5771         * main.c: Rename cd_try_to_select() to the get_parent_dir_name(). Now
5772         it process VFS postfixes too. Reduced number of loops against prev hack.
5774 Fri Sep 11 15:27:59 1998  Pavel Machek  <pavel@ucw.cz>
5776         * screen.c: make cd .. from extfs file highlight it
5778 Tue Sep  8 13:10:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5780         * autogen.sh: Don't destroy aclocal.m4 if "macros" directory
5781         is missing
5783         * layout.c: Use stdout instead of stderr in set_hintbar()
5785 Mon Aug 31 12:40:29 1998  Pavel Machek  <pavel@ucw.cz>
5787         * cmd.c: added view_file_cmd which asks user which file to view -
5788         _very_ usefull with vfs (now you can browse web with mc: try
5789         /#url:http:||atrey.karlin.mff.cuni.cz|~pavel#uhtml)
5791 Thu Aug 27 19:52:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5793         * Make.common.in: Don't define VERSION anymore
5795         * configure.in: this is the right place for VERSION definition
5797         * acconfig.h: does not include file "VERSION" anymore
5799         * config.h.in: rebuilt by autoheader
5801         * VERSION: removed from CVS and added to .cvsignore since it
5802         is rebuilt every time as configure is run
5804 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
5806         * mad.h: Include stdlib.h/malloc.h first, to prevent prototypes
5807         from being clobbered by the subsequent macro defines.
5809 Wed Aug 12 15:56:46 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5811         * edit.h: added "../" before some includes to avoid unnecessary
5812         "-I" options for the PC port makefiles.
5814 Sun Aug  9 22:39:12 1998  Janne Kukonlehto  <jtklehto@paju.oulu.fi>
5816         * mad.h (calloc): Added parentheses around the arguments as
5817         suggested by Steef Boerrigter <sxmboer@sci.kun.nl>.
5819 Fri Jul 31 09:04:35 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5821         * syntax.c: makefile* will be highlighted as Makefile*
5823 1998-07-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5825         * main.c (translated_mc_chdir): Quick hack to make the old
5826         url-like pathnames to be used on the command line.
5828 1998-06-22  T.E.Dickey  <dickey@clark.net>
5830         * keyxdef.c: Fix for compiling with ncurses.
5832 Fri Jul 24 00:44:37 1998  Tom Tromey  <tromey@cygnus.com>
5834         * mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
5835         * autogen.sh: Include linger.m4 in aclocal.m4.
5836         * Makefile.in (GNOME_M4_FILES): Include linger.m4.
5838 Thu Jul 23 22:44:16 1998  Tom Tromey  <tromey@cygnus.com>
5840         * Makefile.in (aclocal.m4): Depend on all source files.  Include
5841         gnome-vfs.m4 and gnome-undelfs.m4.
5842         (GNOME_M4_FILES): New macro.
5843         * autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
5844         aclocal.m4.
5845         * configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
5846         macros instead of in-line checks.  Create vfs/Makefile from
5847         vfs/Make-mc.in.
5849 Thu Jul 23 19:49:12 1998  Pavel Roskin  <pavel_roskin@geocities.com>
5851         * hotlist.c: corrected layout of the warning which appears
5852         if ~/.mc doesn't exist. Appropriate changes in translations.
5854 Wed Jul 15 00:41:01 1998    Paul Sheer  <psheer@obsidian.co.za>
5856         * edit.c, editwidget.c,            * syntax.c: Syntax
5857         editdraw.c, editmenu, editcmd.c:   highlighting for Pascal
5858         Added column text highlighting     added.
5859         and block movements.
5861 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
5863         * main.c (main): 'session_management_setup' will be called after
5864         'gnome_init'.
5866 Wed Jun 18   Pavel Machek  <pavel@ucw.cz>
5868         * i18n.h: we do not want i18n in case of compiling standalone
5869         libvfs.so.
5871 Fri Jun  5 23:34:20 1998  Timur I. Bakeyev  <timur@comtat.kazan.ru>
5873         * screen.c (file_entry_color): take care about BSD core dumps
5874         which have names program.core instead of core
5876 Mon Jun  1 15:41:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
5878         * main.c (translate_url_to_new_syntax): translate the common
5879         ftp url syntax to the syntax used by the new vfs code.
5881         (_do_panel_cd): First translate the path if necessary. This makes
5882         it possible to enter ftp://host on the commandline and in the
5883         directory hotlist. We might need to move the translation code
5884         to the vfs layer if there are other places where we want to enter
5885         ftp://host.
5887 Mon Jun  1 12:33:08 1998  Alexander V. Lukyanov  <lav@yars.free.net>
5889         * configure.in: allowed to use `configure --with-included-gettext'
5890         on systems (like solaris) that have their own libintl
5892 1998-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5894         * complete.c (filename_completion_function): Use the vfs routines
5895         for name completion.
5897 1998-05-31  Jakub Jelinek  <jj@ultra.linux.cz>
5899         * complete.c (complete_engine): Fix completions.
5901 Sun May 31 10:23:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
5903         * key.c (define_sequence): If a sequence clashes the last
5904         definition made will be used. This makes it possible to override
5905         wrong definitions in terminfo/termcap database with learn keys (or
5906         the appropriate entries in mc.lib and ~/.mc/ini).
5908         * widget.c (show_hist): Don't display the listbox partly
5909         off screen (the left panel's history started in column - 2).
5911         * keyxdef.c: include tty.h instead of myslang.h as suggested by
5912         Tamasi Gyorgy <gt_cosy@usa.net>
5914 Fri May 29 15:41:19 1998  Alexander V. Lukyanov  <lav@yars.free.net>
5916         * widget.c (update_input): this patch allows entering 8-bit
5917         characters in input fields without screwing attributes. (the
5918         same old sign extension...)
5920 Wed May 27 22:23:48 1998  Ed Cogburn  <ecogburn@greene.xtn.net>
5922         * lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
5923         program from ncurses 4.2 doesn't like the xterm.ti file that comes
5924         with mc.
5926 Wed May 27 15:29:01 1998  Alexander V. Lukyanov  <lav@yars.free.net>
5928         * key.c (get_key_code): characters with high bit set were input
5929         as 0x80 char when use_8th_bit_as_meta was set
5931 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5933         * ext.h (MC_USER_EXT): New name for the per-user extension file
5934         (this needs redoing to concatenate this + the system stuff instead
5935         of the overwrite stuff we have now).  Now it is called the ~/.mc/ext-n
5937 Mon May 25 23:32:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
5939         * editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
5940         to make it compile with ncurses. Syntax highlighting in the
5941         internal editor is already disabled when SLang isn't used.
5943 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
5945         * widget.c (port_region_marked_for_delete): New per-port
5946         piece of code:  Provides a way for good selection killing.
5948 Sun May 24 02:45:03 1998  Norbert Warmuth  <k3190@fh-sw.de>
5950         * utilunix.c, util.h (errno_dir_not_empty): deleted
5952 Sat May 23 22:29:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
5954         * file.c (check_dir_is_empty): New function which takes a path and
5955         returns -1 on error, 1 if there are no entries besides "." and
5956         ".."  in the directory path points to, 0 else. This function
5957         actually opens and reads the directory and doesn't do tricks we
5958         used to do with rmdir.
5960         * file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
5961         to detect non empty directories. The old code tried to remove the
5962         directory and decided on errno whether the failure of rmdir was
5963         caused by a non empty directory or whether there was a different
5964         error.
5965         Unfortunatly not every filesystem sets errno to EDIRNOTEMPTY if
5966         you try to delete a non empty directory. Namely the linux user
5967         space nfs server sets errno to EIO, Suns nfs server sets it to
5968         EEXIST and the AIX nfs server sets it to ??? (Steve reported
5969         problems on AIX so I guess AIX sets errno to a value we currently
5970         don't check).
5972 1998-maj-18  Tamasi Gyorgy (gt_cosy@usa.net)
5974         * lib/mc.menu: 'Z' on 'tar.Z' and 'tar.z' files: '%f' -> '$1'.
5976         * lib/mc.ext.in.qnx.diff, lib/mc.menu.qnx.diff (QNX): modified
5977         'mc.ext.in' (tar -t: output to stderr); modified 'mc.menu' (tar is
5978         not GNU tar: doesn't know '-z'); support for '*.tar.F':
5979         'freeze'-compressed tar files [No automatic configure/install
5980         implemented: patches must be applied before running 'configure'
5981         (mc.ext.in.qnx.diff: this patch can be not only QNX-specific...)]
5983         * lib/Makefile.in: 'mc.ext.in.qnx.diff' and 'mc.menu.qnx.diff' added
5984         to DISTLIB.
5986         * slang/sldisply.c:
5988           SLTT_TRANSP_ACS_PATCH dependant code:
5990           The problem: some terminals (QNX/qansi*, SCO OS5/ansi [?]) map the
5991           whole upper half of the ASCII table to the lower half, when
5992           alt-char-set is activated with the smacs/as string-sequence. This
5993           means, that if 0 <= ch < 128 written to the terminal, it will be
5994           translated to (ch+128) automatically by the terminal: so not only
5995           the line-drawing characters can be written, when the alt-char-set
5996           is activated. It implicitly means, that space, NL, CR, etc.
5997           characters (exactly: anything besides the "standard" line drawing
5998           characters) can not be written directly to the terminal, when the
5999           alt-char-set is activated, because writing these characters
6000           doesn't cause an implicit/temporary switching-back to the standard
6001           char-set!
6003           The original code in SLang assumes that space, NL, CR, etc. can be
6004           printed when alt-char-set is activated. If SLTT_TRANSP_ACS_PATCH
6005           is defined, the modified code will not use this assumption.
6006           [Remark: the patch-code is not the most exact solution, but
6007           works...]
6009           QNX_QANSI_SLANG_COMPAT_ACS_PATCH dependant code:
6011           A more OS/terminal-specific solution for the problem mentioned
6012           above (->SLTT_TRANSP_ACS_PATCH).
6014           If QNX_QANSI_SLANG_COMPAT_ACS is defined, the default smacs/sa,
6015           rmacs/ae, acsc/ac [and sgr/sa, if it would be used!] command
6016           sequences will be replaced internally with the "old style"
6017           (pre-QNX 4.23) sequences in case of QNX/qansi terminals. Using
6018           these optional command sequences the terminal remains compatible
6019           with the original SLang code (without using the workaround-code
6020           enabled by defining SLTT_TRANSP_ACS_PATCH).
6022           Remark:
6024           Currently SLTT_TRANSP_ACS_PATCH is not auto-configured by
6025           'configure'. (Must be manually defined...)
6027           There is some (QNX-specific) auto-configuration hand-coded in the
6028           source:
6030             #ifdef SLTT_TRANSP_ACS_PATCH
6031             # if defined(__QNX__) && defined(QNX_QANSI_SLANG_COMPAT_ACS)
6032             #  undef SLTT_TRANSP_ACS_PATCH
6033             # endif
6034             #else
6035             # if defined(__QNX__) && !defined(QNX_QANSI_SLANG_COMPAT_ACS)
6036             #  define QNX_QANSI_SLANG_COMPAT_ACS 1
6037             # endif
6038             #endif
6040         * slang/slutty.c: "newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);"
6041         ECHO(0x08) is a c_lflag bit, it means PARMRK(0x08) in c_iflag. (!?!)
6043         * src/file.c: 'do_reget' can be extern if (USE_VFS && USE_NETCODE),
6044         not if (USE_VFS).
6046         * src/find.c (search_content()): Variable 'i' "must be" 'int', not
6047         'char'. ["i == -1": (buggy?) WCC 10.6 doesn't convert automatically
6048         (int)(-1) to (char)(-1) (GCC does), so "comparison result always 0"
6049         warning produced. It is cleaner to define 'i' as 'int', than cast
6050         '-1' to 'char', because 'read()' returns 'int'.]
6052         * src/key.c (init_key()): Call load_xtra_key_defines() and clear
6053         'use_8th_bit_as_meta' by default under QNX, if a 'qnx*' terminal
6054         detected. (A saved config file (mc.ini) can override it later...)
6056         * src/key.h: Declare load_xtra_key_defines().
6058         * src/keyxdef.c: Provides a method to define some platform-specific
6059         additional key mappings. (e.g. QNX terminals can handle most of
6060         META-? combinations as ALT-?...) ('keyxdef.c' currently not listed
6061         in doc/FILES...)
6063         * src/layout.c: TIOCGWINSZ must be available (so <sys/ioctl.h> (?)
6064         included), because window-resizing code doesn't work, if not defined.
6066         * src/main.c: 'print_usage()' is reserved name in the QNX run-time
6067         library, so 'print_usage()' renamed to 'print_mc_usage()'
6069         * src/mouse.c (QNX): ncurses 1.9.8a ported to QNX doesn't provide the
6070         'SP' pointer as a global symbol in the library, so the keyok()
6071         emulation currently can not be used under QNX (4.24 & Watcom C 10.6
6072         release version).
6074         * src/slint.c (QNX): 'qansi*' terminals added to the color_terminals[]
6075         list.
6077         * src/subshell.c, src/utilunix.c (QNX): include <unix.h> to get
6078         prototype for exec*()!!! [See README.QNX/Section 1.4 about the
6079         dangerous "No prototype for <function>" warnings emitted by Watcom C,
6080         if <function> is a 'printf()'-style function having variable number
6081         of arguments and you compile your source with the default register
6082         calling convention!!!]
6084         * Makefile.in: 'keyxdef' module added to SRCS and OBJS.
6086         * <mc-root>/README.QNX: QNX-specific notes.
6088         * <mc-root>/configure (line 3369), <mc-root>/configure.in (line 88):
6089         'test x$CCOPTS = x;' modified to 'test "x$CCOPTS" = x;'
6091         * <mc-root>/Makefile.in: README.QNX added to DISTMAIN.
6093 Thu May 21 00:09:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
6095         * menu.c (menubar_event): Don't set menubar->selected to the
6096         invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt
6098         * menu.c (menubar_drop_compute): removed the check for inrange
6099         items which isn't necessary any longer.
6101 Wed May 20 16:27:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
6103         * widget.c (history_put): input line history was defunct because
6104         there was an #ifndef where an #ifdef should be.
6105         Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
6106         history code is included even when this define is undefined.
6108 1998-05-19  Tamasi Gyorgy  <gt_cosy@usa.net>
6110         * src/*: Until I get a better ChangeLog:  Tamasi's port of the
6111         code to QNX.
6113 1998-05-19  Alexander Lukyanov  <lav@yars.free.net>
6115         * Makefile.in: Distirbution fix so that people are not forced to
6116         install gettext.
6118 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6120         * ext.c: Memory leak fixed.
6122 Mon May 18 22:24:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
6123         * lib/mc.ini.in: s/reges/regex/
6125         * main.c (process_args): return void, the return value was only
6126         used once but wrong (-h displayed help twice).
6127         (handle_args): -h: don't display help twice
6128         (print_usage): Don't print program name and version, that's
6129         already done by version(0).
6131         * menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
6132         terminals (hotkeys were not displayed at all).
6134 1998-05-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6136         * menu.c (menubar_drop_compute): Check for inrange items.
6138 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6140         * color.c (init_colors): Provide X-only version of color
6141         initialization.
6143 Thu May 14 01:56:11 1998  Norbert Warmuth  <k3190@fh-sw.de>
6145         * configure.in: Don't add -lintl to LIBS when included gettext is
6146         used (further checks for libraries would fail because libintl.a
6147         isn't build, yet). Instead use and substitute LINTL.
6149         * Makefile.in (OURLIBS): add @LINTL@
6151 Tue May 12 17:45:49 1998  <psheer@obsidian.co.za>
6153         * syntax.c: yet more minor modifications.
6155 1998-05-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6157         * main.c: New default: auto-save setup.
6159         * screen.c (move_right, move_left): Add support for icon-view movement.
6161 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6163         * setup.c (panel_load_setup): On non-icon editions, fall back to
6164         list_full
6166 Sun May 10 13:27:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
6168         * widget.c (handle_char): Don't try to to delete default text in
6169         input widget more than once. Right after MC's start copy_filename
6170         (ESC Enter) failed because a flag wasn't cleared while characters
6171         were stuffed into the commandline (Andrej reported this bug).
6173         * main.c (copy_readlink): usr mc_readlink instead of readlink
6175         * file.c: Changed default for the copy/move option "dive into
6176         subdir if exists" to off (note: this was only possible after the
6177         change in setup.c).
6179         (copy_dir_dir): Activated the previously uncommented code which
6180         implements "Dive into subdirs". Even when there's no case where we
6181         actually would like that behaviour it is a documented feature.
6182         Though I don't wanted to change the default behavour. Hence the
6183         option change.
6185         (file_mask_defaults): set dive_into_subdirs
6187         (file_mask_dialog): Fix for debian Bug #20727: Move operation with
6188         "[ ] Dive into subdir if exists" and destination filename not
6189         wildcarded. If destination is an existing directory then files
6190         will be moved into this directory. If destination is not an
6191         existing directory then src file will be renamed (one file
6192         selected) or an error will be displayed (more than one file
6193         selected).
6195         (file_mask_dialog): made the option "Using shell patterns" local
6196         to the current copy/move operation, i.e. this option is always
6197         initialized with the global options's value. Previously it affected
6198         the global Options/Configuration/shell Patterns.
6199         Another possiblilty would be to make the global option a default
6200         option on startup and keep changes in the copy/move dialog
6201         (without saving these changes with save setup).
6203         * setup.c: Don't save and load options which can be changed
6204         outside the options menu. For example I don't like that
6205         preserve_uid_gid and dive_into_subdirs from the copy/move dialog
6206         are saved and restored (strange, what about the other options from
6207         this dialog?).
6208         It would be much cleaner to make these option read-only. This way
6209         one could edit ~/.mc/ini to provide default option setting on
6210         startup and "Save setup" wouldn't have side effects outside the
6211         option's menu.
6213 Sun May 10 13:24:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
6215         * doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
6216         for dive into subdirs.
6218 Sun May 10 13:21:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
6220         * edit/syntax.c: Disable debug messages on stderr.
6222         * edit/edit.h: Added missing _()
6224 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6226         * layout.c (flag_winch): Propagate the window change to the slave
6227         pty even when not running our event loop.  The resize_subshell
6228         routine is thread safe.
6230         * dlg.c (update_cursor, dlg_broadcast_msg_to): Do not send
6231         messages if no widgets are on the Dlg_head, this happens now with
6232         the gmc code, as we can have all of the windows shut down.
6234 Wed May  6 13:46:37 1998 Paul Sheer  <psheer@obsidian.co.za>
6236         * syntax.c: more bug fixes.
6238 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6240         * view.c (view_quit_cmd): Use dlg_stop.
6242         * main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
6243         key press events.  Drop the usage of mi_getch to acomplish this
6244         task.
6245         (midnight_callback): Deal with the current map depending on the
6246         c-x state.
6248 Mon May  4 10:21:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
6250         * background.c (message_1s1d): the unprocessed string with %d was
6251         passed to message_1s; fixed small memory leak
6253         * widget.c (button_callback): WIDGET_CURSOR: make cursor position
6254         dependend from button type (fixes the off by one bug in advanced
6255         changeown).
6257         * file.c (copy_file_file): Schedule deletion of short target file
6258         only when we created or truncated the target file and not already
6259         when we decided to overwrite an existing file.
6261 1998-05-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6263         * boxes.c (task_cb): Use kill, not INT, as we are catching INT in
6264         the program.
6266 Sat May  2 14:07:05 1998 Paul Sheer  <psheer@obsidian.co.za>
6268         * setup.c: ALT('H') now shows a directory history - that
6269         ESC SHIFT-h   or   ALT-SHIFT-h
6271 Fri May  1 17:45:58 1998 Paul Sheer  <psheer@obsidian.co.za>
6273         * syntax.c: initial support for LaTeX 2.09 files added,
6275         * syntax.c: some minor bug fixes. and reorganisation
6276         of context and keyword priorities.
6278 Fri May  1 11:24:21 1998  Paul Sheer  <psheer@obsidian.co.za>
6280         * syntax.c: syntax highlighting segfaults when editing a binary
6281         file - now fixed.
6283 Thu Apr 30 12:23:50 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6285         * src/file.c: lot of i18n of file Copy/Move/Delete operations. Maintainers
6286         of message catalogs please notice introduced op_names1 and formats for
6287         file operations.
6289         * src/boxes.c: i18n of background jobs control and quick cd
6290         dialog boxes.
6292         * src/menu.c (menubar_arrange): resizing of menubar upon changes of
6293         window size is now controlled by preprocessor symbol RESIZABLE_MENUBAR
6294         (now it's off by default, as requested in mailing list). If it is off,
6295         menubar items are separated with fixed number of spaces (3).
6297         * src/layout.c, edit/editwidget.c: calls to menubar_arrange ifdef'ed
6300 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6302         * main.c (parse_an_arg): GNOME edition keeps track of various
6303         --geometry and various directories passed.
6305 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6307         * main.c (update_panels): Great API simplification.  update_panels
6308         only cares about the contents of the current panel, every other
6309         panel keeps the current selection (this was the behaviour
6310         anyways).
6312         update_panels can be provided in a per-port fashion as well.
6314 Wed Apr 29 03:06:09 1998  Paul Sheer  <psheer@obsidian.co.za>
6316         * syntax.c: some optimisations, as well as support for
6317         syntax highlighting of Makefiles and ChangeLog files.
6318         Fixed some syntax highlighting bugs. All C and C++
6319         keywords added.
6321 Tue Apr 28 06:11:08 1998  Norbert Warmuth  <k3190@fh-sw.de>
6323         * view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
6324         of bottom_first (we mustn't use an already calculated and cached
6325         value because it is invalid for the new mode and the End key would
6326         not move to the end of the file).
6328         * configure.in: Renamed the option `--with-our-slang' to
6329         `--with-included-slang' (this one looks better because we also
6330         have an `--with-included-gettext').
6331         Make the option `--with-ext2undel' recognice a given path.
6333         * cmd.c (view_file_at_line): In plain view (F13) set the default
6334         magic flag to zero in order to view the file content unprocessed
6335         (esp. don't uncompress files if they are compressed). The
6336         view_simple_cmd got broken when the default magic flag in view.c
6337         was changed from 0 to 1.
6339         * view.c (do_view_init, goto_line): Set wrap mode temporary off
6340         to make goto line number work, i.e. `line number' now always means
6341         line number in file and not line number on screen (in wrap mode
6342         one long line wrapped once is displayed in two lines on the screen).
6343         That's important when the viewer is invoked from the find file
6344         dialog to display even in wrap mode approxiamtly the part of the
6345         file where we found the content we searched for.
6347         (move_forward2): In wrap mode lines were sometimes counted wrong
6348         causing cursor up to move more than one line.
6350         (move_backward2): Fixed the movement in wrap mode.
6352         (change_viewer): Always re-init viewer when we have a filename,
6353         i. e. if the viewer is invoked with simple_view_cmd then we can switch
6354         with the F8 key between unprocessed file content und uncompressed
6355         file content.
6356         (view_init): re-init view also when magic flag was altered
6358 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6360         * screen.c (is_a_panel): Added a routine to determine if a widget
6361         is a panel.
6363 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6365         * screen.c (file_entry_color): Check if fe->fname has something.
6367 Sun Apr 26 00:21:12 1998  Norbert Warmuth  <k3190@fh-sw.de>
6369         * slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
6370         to make it link against SLang >=1.0.
6371         I reviewed the diffs to the part of SLang we use and there are no
6372         further changes to MC necessary (one function's return value
6373         changed it's meaning but we don't use this return value).
6375         * configure.in: Undone the change which prevented linkage against
6376         SLang >=1.0
6378 Sat Apr 25 13:41:43 1998  Paul Sheer  <psheer@obsidian.co.za>
6380         * edit.h, syntax.h: some optimisations to improve syntax
6381         highlighting speed.
6383 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6385         * color.h: Move the CTYPE definition
6387 Fri Apr 24 16:43:25 1998  Paul Sheer  <psheer@obsidian.co.za>
6389         * main.h, setup.c: editor_syntax_highlighting option added
6390         for ini file.
6392 Fri Apr 24 14:54:06 1998  Paul Sheer  <psheer@obsidian.co.za>
6394         * syntax.c: added. this files reads ~/.cedit/mcsyntax and
6395         processes generic rules for syntax highlighting of different
6396         file types. Syntax highlighting does not store an attribute byte
6397         for each byte of the edit buffer. Rather, it calculates colours
6398         on the fly, with an optimised algorithm, as the text is being
6399         rendered.
6401         * edit.c, edit.h, editwidget.c, editdraw.c: changes to facilitate
6402         syntax highlighting.
6404         * editoptions.c: dialog box updated with a syntax highlighting
6405         checkbox.
6407         * slint.c: new function alloc_color_pair(). This allocates a new
6408         color index. init_pair() itself now records the last colour index
6409         so that colours can be added on to the end of the colour list
6410         with alloc_color_pair().
6412         * slint.c: new function try_alloc_color_pair() returns a new index
6413         for a color with named fg and bg. Checks if that named colour
6414         already exists before setting a new index.
6416 1998-04-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6418         * user.c (execute_menu_command): Create temporary file exclusively
6419         as well.
6421         * main.c (do_execute), utilunix.c (my_system), gutil.c, ext.c:
6422         Changed the way we execute programs.  Now a new set of flags exist
6423         that indicates how the execution is done.  In ports that execute
6424         by sending the process to background, when executing temporary
6425         files, we have to remove the files after the child process has
6426         finished executing the code not after the calling do_execute.
6428         * ext.c (exec_extension): Create temporary file exclusively.
6430 Mon Apr 20 01:32:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
6432         * configure.in: Don't try to link MC against SLang >= 1.0. I will
6433         remove this restriction when I'm sure that it's save to use the new
6434         version (the documentation to SLang mentions some changes of
6435         return values).
6437 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6439         * file.h: Added prototype for copy_dir_dir.
6441         * file.c (real_do_file_error): use the proper flags, this is not a
6442         D_INSERT dialog box, for what it is worth.  Important bug fix.
6444         * utilunix.c (get_owner): Declare.
6446         * widget.h: Added various missing prototypes for the X edition.
6447         * view.h: Added various missing prototypes for the X edition.
6448         * widget.c (x_radio_toggle): New per-port variable: PORT_HAS_RADIO_TOGGLE
6450 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6452         * screen.c (GT): Assign two spaces for the minimum size of the
6453         "type" field for the GNOME edition.  This gives some extra space
6454         for the icon that gets displayed.
6456         * dlg.c (remove_widget): New function:  used to remove a widget
6457         from an existing Dlg_head;
6458         (destroy_widget): Destroy a specific Widget.
6459         (add_widgetl): Extended to deal with the fact that a running
6460         Dlg_head can become empty.
6462         * panelize.c (l_call): Update the input line every time the user
6463         selects the entry with the mouse (pretty common in the gnome
6464         edition).
6466         * hotlist.c (add_new_group_input): Removed an extra field that was
6467         causing problems.
6469         * find.c (find_parameters): Tree button is gone for gnome until we
6470         get the tree function working on gnome.
6472         * cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
6473         dialog box to inform the user about the saved setup.
6475 1998-04-15  Pavel Machek  <pavel@elf.ucw.cz>
6477         * cmd.c: Report failed chdir attempts.
6479 Wed Apr 15 10:48:41 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6481         * src/hotlist.c: changes to hotlist boxes i18n.
6483         * src/panelize.c: changes to panelize boxes i18n.
6485         * src/wtools.c (query_dialog): Take care about possible '&' in
6486         button names while calculating window sizes and button positions.
6488 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6490         * screen.c (string_file_nlinks): The buffer was too small and we
6491         were overwriting parts of it.
6493         * subshell.c (do_subshell_chdir): Memory leak fix.
6495         * find.c (do_search): Do not use undefined order of evaluation.
6497         * user.c: Do not use undefined order of evaluation.
6499         * dlg.c (init_dlg): Do init the default return value.
6501 Sun Apr 12 03:09:17 1998  Norbert Warmuth  <k3190@fh-sw.de>
6503         * cmd.c (view_other_cmd): #ifdef'd application_keypad_mode and
6504         numeric_keypad_mode (don't include it in non text editions)
6506 Sun Apr 12 02:48:26 1998  Norbert Warmuth  <k3190@fh-sw.de>
6508         * xv/xvscreen.c: removed duplicate (conflicting) definition
6509         of do_enter()
6511 Sun Apr 12 02:24:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
6513         * text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
6514         the keypad mode when we don't use the alternate plus minus. Pavel
6515         forgot an if-clause when he replaced the escape sequences (or
6516         another point of view: I forgot one if-clause at different place).
6518 Fri Apr 10 17:35:23 1998  Philippe De Muyter  <phdm@macqel.be>
6520         * configure.in (AC_NCURSES): When checking for library location,
6521         put -L option before -l option, not after.
6523 Fri Apr 10 10:35:06 1998  Norbert Warmuth  <k3190@fh-sw.de>
6525         * file.c (file_mask_dialog): When the shell patterns option was
6526         off source_mask was freed twice.
6528 1998-04-10  Marc Ewing  <marc@redhat.com>
6530         * panel.h: added up_b
6532 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6534         * widget.c (update_input): Set the used flag early in update_input
6535         to allow X widget to catch the right value
6537         * screen.c (do_enter): Return the status for the operation.
6539         * main.c (main): Sigh.  This was hard. I added support for argp.
6540         Right now we support both argp for the GNOME edition and popt for
6541         the other editions.  I will remove popt support in the future and
6542         only keep argp.
6544         * dlg.c (add_widgetl): Adding widgets to an already running dialog
6545         had some flaws.  Fix this.
6547 Wed Apr  8 11:15:29 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6549         * src/find.c: changes to find_parameters/find_file i18n.
6551         * src/widget.c: new function introduced, button_scan_hotkey();
6552         button_new() and button_set_text() fixed to use mentioned function.
6554         * src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
6555         ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
6556         call to isalpha() in the way proposed by Norbert).
6558         * src/boxes.c: changes to display box i18n
6560         * src/learn.c: changes to learn key dialog i18n
6562 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6564         * main.c (update_one_panel_widget): New routine: Updates a panel
6565         based on the widget, not the index.  Used by the GUI versions.
6567         * find.c (find_file): Cancel idle tasks before we destroy the find
6568         dialog.
6570         * dlg.c (destroy_dlg): Call x_destroy_dlg_start, a new hook that
6571         is invoked to allow the frontend code to prepare for dialog
6572         destruction.  Only the Gnome edition is using this: it uses this
6573         to hide the dialog and avoid flickering.
6575         * main.c: dtterm also has mouse support.
6577 1998-04-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6579         * wtools.c (quick_callback): Process DLG_KEY events on X.
6581         * utilunix.c (max_open_files): new routine;  Used to figure out
6582         the number of available file descriptors.
6584 Sat Apr  4 00:16:49 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6586         * src/layout.c: changes to layout dialog box i18n
6588         * src/option.c: changes to configure box i18n
6590         * src/cmd.c: added N_() macro for machine_str
6592         * src/wtools.c (real_input_dialog_help): ok/cancel buttons are places
6593         symmetrically spaced relatively to center of the box. It produces
6594         nicer appearance with i18n (IMO :)
6596         * src/boxes.c (confirm_box): i18n stuff added.
6598 Mon Apr  6 07:48:22 1998  Pavel Roskin  <pavel_roskin@geocities.com>
6600         * Makefile.in: "make dist" works with bash 1.x again
6602 Fri Apr  3 05:23:20 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6604         * configure.in: ALL_LINGUAS test added, to allow specify list
6605         of languages to be installed by setting env variable before
6606         configure. If it is empty, it defaults to full list.
6608         * src/menu.h menu_entry.{hot_pos, is_dupped} dropped
6610         * src/menu.c: consistency fixes: pull-down menu items are now
6611         accessible either with arrow keys or with hotkeys, denoted with &
6612         (and highlighted). (key combinations, placed to the right of items
6613         intended to be used from outside the menus). Freeing menu entries
6614         removed as it no longer needed
6616         * src/main.c, edit/editmenu.c: menubar init code is changed to conform
6617         above fixes.
6619         * edit/edit.h: use of "Cancel" in error_dialogs replaced with
6620         "Dismiss", to avoid collisions in translation of "Cancel" in other
6621         places with this case.
6623         * src/boxes.c: select_format() and it's support removed, as it is
6624         obsoleted by input line history feature. display_init()/display_callback
6625         fixed to suite i18n changes. sort_box() - alike.
6627         * src/option.c: pause_options added &'s and gettext calls to expand
6628         statically assigned values.
6630         * src/widget.c: (radio_callback) hotkey recognition is changed to
6631         &-notation, rather than simple uppercase.
6633         * src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
6634         call to isalpha(), this fixes errorneous exit from input line, when
6635         button hotkey is 8-bit NLS char.
6637 Fri Apr  3 12:23:28 1998  Norbert Warmuth  <k3190@fh-sw.de>
6639         * TODO: Removed obsolete entries: Similar entries in tree view
6640         are displayed correct; user specific files has been moved
6641         to ~/.mc/
6642         Added: Check what to do with menubar_arrange/destroy_menu stubs
6643         in tk/tkmenu.c; the interal editor (not portet yet) adds entries
6644         to the wrong menubar
6646 Wed Apr  1 00:15:30 1998  Norbert Warmuth  <k3190@fh-sw.de>
6648         * key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
6649         functions which encapsulate two hardcoded escape sequences from main.c.
6651         * main.c (main): Use the two new functions from key.c
6653         * main.c, screen.c: Moved all file selection keys from the default
6654         keymap to the keymap for panels in listing mode.
6655         Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
6656         (functions in panel_keymap get a WPanel * as first parameter,
6657         i.e. the indirection with cpanel isn't necessary).
6659         * main.c (midnight_callback): Keys '*' and '-' were not treated
6660         when only_leading_plus_minus==0;
6661         Optimized the if-clauses a little bit (i.e. removed duplicate
6662         checks). More optimation is possible but it would make the whole
6663         stuff completly unreadable.
6665         * key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
6666         will be translated to +, - and * only if the option
6667         alternate_plus_minus is turned off.
6669         * learn.c (learn_keys): Turn alternate_plus_minus temporarily on
6670         to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
6671         correct_key_code/make sure keypad is in application mode (makes it
6672         possible to learn this keys).
6674         * cmd.c (reverse_selection_cmd_panel): New function (renamed from
6675         reverse_selection_cmd, takes a WPanel * as parameter, references to
6676         cpanel changed to panel/the passed parameter).
6677         reverse_selection_cmd now simply calls this function with cpanel.
6678         This pair was missing among the *_selection_cmd* functions.
6680         * cmd.h: Added function prototypes.
6682 1998-03-31  Paul Sheer  <psheer@obsidian.co.za>
6684         * cmd.c (nice_cd): Forgot to invoke the history registration in
6685         one spot.
6687 1998-03-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6689         * menu.c (destroy_menu): Implement destroy_menu for all of the
6690         ports as a routine that frees the menu entries if
6691         internationalization has been enabled.
6693         * wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
6695 Sun Mar 29 23:02:09 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6697         * src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
6698         internationalized version of menu use externally defined hotkeys
6699         (denoted with preceding &). create_menu() fixed to load intl text of
6700         the entries. Some fixes around menu.c to enable usage of reloaded
6701         hotkeys.
6703         * main.c, editmenu.c: menu initialization code fixed to conform new
6704         menu structure. editmenu init code includes N_(..) now.
6706         * menu.c, layout.c, editwidget.c: bar menu items displacement is made
6707         dynamically upon initialization and window size changes. Mouse event
6708         processing is fixed accordingly.
6710 Sat Mar 28 13:18:36 1998 Alex Tkachenko  <alex@bcs.zp.ua>
6712         * src/screen.c: (repaint_file) last patches to format_file() in the
6713         same file broke appearance of panels in brief mode -- fixed.
6715 Mon Mar 30 20:02:49 1998  Paul Sheer  <psheer@obsidian.co.za>
6717         * main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
6718         main.h and others?: Directory history added. The previous
6719         directory history code was removed. The directory history now
6720         loads and saves using the same routines as the input widget. The
6721         keys meta-y, and meta-u are used to go backward and forward
6722         through the history. The buttons to the right and left of the
6723         current directory display on the panel can be used as well. The
6724         v button brings up a history, but no key is assigned to this.
6725         Discussion as to correct color and shape of these buttons is
6726         open. show_hist() in widget.c is made generic to be called for
6727         any widget. Help pages still needed to be added for the
6728         directory history.
6730 Wed Mar 25 19:05:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
6732         * view.c (view_done): Set monitor off before deleting the view
6733         file dialog.
6735         * subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
6736         tcsh. It preventes command and filename substitution (e.g. for
6737         a directory named "[word] words")
6739 Mon Mar 23 18:06:10 1998  Norbert Warmuth  <k3190@fh-sw.de>
6741         * main.c: Deleted some old and unused code
6743 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6745         * All over the src/ directory: Internationalization changes.
6747         * background.c: Avoid buffer over-runs and reduce number of
6748         internationalization strings.
6750 Mon Mar 23 14:04:07 1998  Philippe De Muyter  <phdm@macqel.be>
6752         * configure.in (nlink_t): Check it using AC_CHECK_TYPE.
6753         * acconfig.h (nlink_t): New define slot.
6755 Mon Mar 23 08:17:55 1998  Pavel Roskin  <pavel_roskin@geocities.com>
6757         * src/main.c: mcedit can be named mce or mcedit.exe - only
6758         3 first letters are significant. The same for mcview.
6759         Console is always saved in do_execute() if it was saved there.
6761         * src/util.h: STRNOMP introduced (strncmp on unix and strnicmp
6762         on OS2_NT)
6764         * slang/slgetkey.c: SLang_getkey() and SLang_input_pending()
6765         enabled for OS2_NT
6767         * myslang.h: using fast one_vline() and one_hline() for OS2_NT
6769 Mon Mar 23 00:47:51 1998  Norbert Warmuth  <k3190@fh-sw.de>
6771         * autogen.sh: added support for builddir != srcdir
6773         * doc/Makefile.in: The manual pages are generated files and
6774         located in the builddir and not in the srcdir.
6776         * find.c (find_file): Use the same hotkey for the panelize button
6777         as we use with the external panelize command.
6779 Fri Mar 20 17:51:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
6781         * myslang.h: --with-ncurses didn't compile: renamed
6782         KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
6784         * dlg.c (dlg_key_event): likewise
6786 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6788         * screen.c: Remove KEY_DC forever.  This should have never been
6789         here.
6791 Wed Mar 18 22:08:34 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6793         * achown.c (do_enter_key): call endgrent, endpwent.
6795         * chown.c (init_chown): call endgrent, endpwent.
6797 Tue Mar 17 23:58:40 1998  Pavel Machek  <pavel@elf.ucw.cz>
6799         * src/file.c: Fix for the case where the disk gets full.
6801 Tue Mar 16 18:35:53 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
6803         * src/hotlist.c default values for dialogs which add entries to hotlist
6804         are now set to the current directory.
6806 Tue Mar 10 14:42:01 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
6808         * vfs/extfs.c, lib/mc.ext, vfs/extfs/extfs.ini, vfs/extfs/cpio.in
6809         Added support for cpio extfs including compressed and gziped
6810         cpio archives. compress and gzip handled separately because I saw
6811         a lot of systems which have compress, but don't have gzip.
6813 Sat Feb 21 16:46:49 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
6815         * src/subshell.c: failed to grantpt on SVR4 due to zero-initialized
6816         subshell_pid. sigaction handler for SIGCHLD does waitpid(subshell_pid,
6817         ...) and when subshell_pid == 0 it steals the zombie from grantpt(3)
6818         which does fork/exec/waitpid for suid program to set the permissions on
6819         pty. It's enough to initialize it to 1 or -2.
6821 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6823         * util.c (convert_pattern): Now the internal buffer is malloc()ed
6824         instead of being static.  This is required for long patterns.
6825         (regexp_match): Free the pattern after calling convert_pattern().
6827         * file.c (file_mask_dialog): Free the source_mask after calling
6828         convert_pattern().
6830 Mon Mar 16 13:03:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
6832         * cmd.c: Internal edit is used by default. vi may be
6833         confusing for some users.
6835         * tree.c: tree_rmdir_cmd() should not return any value,
6836         because it is not analyzed for errors.
6838         * main.c: NT code: use O_BINARY instead of _O_BINARY
6840         * util.c: DO not test for arguments that do not make sense under
6841         Windows NT.
6843         * file.c: utime.h always included for Windows NT port.
6845         * view.c: Events are flushed only if the ports supports it.
6847 Mon Mar 16 12:30:39 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
6849         * hotlist.c: Defaults on the hotlist add-current and new-entry is
6850         the current directory.
6852 Sat Mar 14 17:30:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6854         * file.c (panel_operate): Why was the flags in query_dialog set to
6855         D_INSERT is a big mistery.  Should be fixed now.
6857 Fri Mar 13 18:10:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6859         * dlg.c (dlg_stop): New routine used to finish dialog boxes.
6861         * cmd.c (set_panel_filter_to): Implementation split.  To be used
6862         by GNOME.
6864         * widget.c (input_new): GNOME-entry widget is inspired in the
6865         WInput + the history patches from Paul.  Use the GNOME-entry
6866         history, as this makes it easier to deal with the filter button on
6867         the panel.
6869         * setup.c (save_panel_types): Do not use if running on the gnome
6870         edition.   This need a lot of fixing for making this work with
6871         gnome and session management.
6873         * main.c (do_nc): DO not call setup_panels_and_run_mc as
6874         create_panels in gnome edition does all this.
6876         (setup_mc):  Skip part of the setup.
6878         (do_execute): Do not Execute any of the pause code after
6879         run for gnome.
6881 Wed Mar 12 17:46:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
6883         * screen.c (chdir_other_panel, chdir_to_readlink): Use passed
6884         panel instead of cpanel (removed mixed use of panel and cpanel).
6886         * main.c, screen.c: Deleted F13 from the default keymap, added F13
6887         and F14 to the panel's keymap (the keymap for panels in listing
6888         mode). These two keys are only useful for panels in listing mode.
6889         It seems there are even more candidates for such a move. Especially
6890         select_cmd and unselect_cmd which appeared recently for the GNOME
6891         edition in screen.c act unexpected for panels in tree-mode.
6893         * cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
6895         (edit_cmd_new): No need to get a panel because it is not used.
6897         * panelize.c: Changed hotkey of the Panelize button (Alt-p is
6898         already used by the input line history). I wonder if I should
6899         change it in the find dialog, too (just to have a unique hotkey
6900         for the panelize button).
6902 Wed Mar 11 19:02:48 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6904         * view.c: Lots of changes:  Split the X11 code from the main view
6905         program.  This is needed to cleanly support the addition of the
6906         Gnome version of the file viewer;
6908         New names for old functions (just a view_ prefix):
6909         view_add_character, view_add_string, view_gotoyx, view_set_color,
6910         view_display_clean.  Now all of them take a WView argument (which
6911         is ignored in the macro for the text edition).  This is to support
6912         multiple open views at once.
6914         * boxes.c (symlink_dialog): Enable ok/cancel buttons for the Gnome edition.
6916         * cmd.c (link_cmd, symlink_cmd): Provide the filename to operate
6917         on.
6919 Tue Mar 10 20:41:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6921         * cmd.c (unselect_cmd_panel, select_cmd_panel): To avoid races on
6922         the X11 version, these routines now take a panel argument at
6923         invocation time.
6925         * widget.c (radio_callback): Call x_radio_focus for FOCUS/UNFOCUS
6926         events.
6927         (button_callback): Fallback to default_msg on WIDGET_FOCUS
6928         messages.
6930 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6932         * xslint.c (getch): Added missing "return".
6934         * utilunix.c (init_groups): Added parentheses around
6935         assignment/truth value.
6937         * boxes.c: #include <stdlib.h>
6939         * screen.c (string_inode): Cast fe->buf.st_ino to long to be
6940         consistent with sprintf format.
6942         * main.c (handle_args): Added parentheses around assignment/truth value.
6944 Sat Mar  7 14:33:38 1998  Pavel Roskin  <pavel_roskin@geocities.com>
6946         * src/complete.c: obsolete hack for OS/2 and NT removed.
6947         Completion works for NT now (not very good)
6949         * src/main.c: HOME variable is respected by NT and OS/2
6950         versions. If it is missing, we use LIBDIR on OS2_NT and "/"
6951         on Unix.
6953         * src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
6954         doesn't conflict with definitions for ALT and CTRL, but it is
6955         SDK-compatible.
6957         * vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
6958         2 arguments
6960         * vfs/tcputil.c, vfs/utilvfs.c: signal.h was includes twice.
6962         * vfs/Makefile.in: undelfs.h is not used and should disapper
6964         * slang/slos2tty.c: new file, copied from SLang-0.99.38,
6965         needed for OS/2 port
6967         * slang/Makefile.in: added slos2tty.c
6969         * vfs/extfs/README: annoying spell errors corrected
6971         * src/main.c: --termcap disabled for OS2_NT because it doesn't
6972         (and cannot) work. ARCH_FLAGS is not needed anymore.
6974         * src/text.c: most includes removed. Added a warning is someone
6975         compiles this file with HAVE_X. Improved color scheme for
6976         consoles with 16 background colors (e.g. OS/2). Hack for OS/2
6977         removed.
6979         * src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
6980         to util.h. It may be useful to use them for filenames' completion
6981         on OS2_NT
6983 Fri Mar  6 19:29:54 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6985         * find.c: Simplify header files: use the fs.h include file.
6987         (use x_flush_events).
6989         * screen.c (string_file_name): In GNOME, the CList widget does the
6990         filename truncation, so we do not do it here.
6992         (panel_new): Initialize all of the wpanel contents to zero.  This
6993         will is required by the GNOME X ports (to figure out if a field
6994         has been inited or not).
6996 Thu Mar  5 10:28:40 1998  Norbert Warmuth  <k3190@fh-sw.de>
6998         * popt.c (poptParseArgvString): make it compile with the native
6999         compiler on AIX 4.1.3
7001 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7003         * cmd.c: Added #include "x.h"
7005 Wed Mar  4 14:49:55 1998  Norbert Warmuth  <k3190@fh-sw.de>
7007         * doc/mc.1.in, mc.hlp: updated (these files haven't been updated
7008         at the last change to mc.sgml)
7010         * doc/mc.sgml: spelling error corrected
7012         * Makefile.in: renamed all references of mc.1 to mc.1.in
7014         * find.c (locate_egrep): Don't use an absolute path if egrep isn't
7015         found at the usual places. Then execvp will search the directories
7016         passed in the environment PATH variable (a little bit slower but
7017         better than a defunct find content).
7019         * tree.c: removed the include file I mistakenly added with my
7020         last patch.
7022 Tue Mar  3 20:00:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7024         * file.c (get_file): Take a panel argument.  I am pretty sure that
7025         this is broken for the case where we are copying from a WTree.
7027         (panel_operate): take a panel argument instead of defaulting to
7028         cpanel.
7030 Mon Mar  2 15:54:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7032         * dlg.c (create_dlg): Set running to 0 on creation;
7033         (add_widgetl): do widget initialization if the dialog is already
7034         running when this dialog box is created.
7036 Mon Mar  2 12:11:37 1998  Norbert Warmuth  <k3190@fh-sw.de>
7038         * vfs/ftpfs.c (changetype): Removed the hack which always forced
7039         sending the command "TYPE I" when changing to binary transfer mode
7040         was requested even when MC thought the connection was already in
7041         binary mode (bucket->isbinary == 1). The correct fix is now in
7042         login_server.
7044         * vfs/ftpfs.c (login_server): Set the transfer mode stored in
7045         the bucket to UNKNOWN (the bucket might be reused and the old
7046         transfer mode isn't valid any longer).
7048         * screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
7049         which isn't delivered to widgets by the dialog manager; always
7050         return 1 when key was handled; removed the function keys from the
7051         panel's keymap (the function keys are always handled by the
7052         buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
7053         work even when quick search was started); characters between 32 and
7054         255 start quick search if there is no commandline (no C-s necessary
7055         to start search).
7057         * tree.c (tree_key): likewise
7059 Tue Feb 24 18:37:36 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
7061         * subshell.c: Set subshell_pid to 1 on startup
7063 Fri Feb 13 19:59:39 1998  Alexander Savelyev  <fano@VCom.kiev.ua>
7065         * screen.c: KEY_DC is also handled by delete_cmd.
7067         * vfs/ftpfs.c (chdir): sending the CWD command is not necessary
7068         (imho).
7070         (ftpfs_connection_close): Do not use WAIT_REPLY, closes
7071         connections faster.
7073         (open_data_connection): implement the reget command.
7075         * boxes.c: bigger VFS dialog box.
7077         * file.c (init_replace): Add support for copying files only if the
7078         size differs, and support for regetting ftp files.
7080 Wed Feb 11 20:08:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
7082         * user.c (execute_menu_command): Extented the syntax of %-macros
7083         used in the user menu in order to switch quoting on (default) and
7084         off, e.g. %0f means don't quote the expanded macro, %f and %1f mean
7085         quote the expanded macro.
7088 Fri Jan 30 16:43:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7090         * dlg.c (create_dlg): Now we pass the flags parameter to the
7091         create_dialog routine.
7093         * tkmain.c (xtoolkit_create_dialog): Check for the grided value
7095 Fri Jan 23 07:28:54 1998  Peter Daum  <gator@cs.tu-berlin.de>
7097         * extfs.c (open_extfs_archive): Pass the filename to the list
7098         command.
7100         * extfs/mailfs: New file system for browsing mail files (support
7101         for compressed mail fiels as well).
7103 Fri Jan 23 07:19:18 1998  Pavel Roskin  <pavel_roskin@geocities.com>
7105         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
7106         system. Obsolete #ifdef's removed.
7108         * edit/editwidget.c: ansi standard violation removed
7110         * nt/Makefile.NT: default SLang directory is now ../slang. Most
7111         of SLang sources are no more compiled for MC.
7113         * nt/drive.h: new file. Copied from os2/drive.h with minor changes
7115         * nt/ket.nt.c: new way for handling conflicting SHIFT_PRESSED
7116         definitions. get_event can work without blocking. Copy, move
7117         and delete operations work normally.
7119         * nt/slint.nt.c: SLang_getkey2 and Slang_input_pending2 are
7120         copied from src/slint.c
7122         * nt/sys/param.h: annoying warnings temporaly suppressed.
7124         * slang/slvideo.c, slang/slw32tty.c: new files. They contain
7125         changes by Alexander Dong.
7127         * src/myslang.h: definitions for acsii symbols removed, since
7128         they are available in slang.h. Double lines are not used anymore.
7130         * src/panelize.c: sys/wait.h is included only if HAVE_SYS_WAIT_H
7131         is defined
7133         * nt/Makefile.NT: text.c is added
7135         * nt/Makefile.VC4: "-debug" switch for linker is not used for
7136         release version
7138         * src/screen.c (show_dir): double lines are no more used by NT and
7139         OS/2 ports.
7141         * src/wtools.c (real_input_dialog_help): layout of input dialog for
7142         XView port is corrected
7144         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
7145         system. Obsolete #ifdef's removed.
7147         * edit/editwidget.c: ansi standard violation removed
7149 Wed Jan 21 14:01:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7151         * ext.c (regex_command): reverted the patch that changed tests for
7152         *p == ' ' || *p == '\t' to isspace().  isspace() is true for tabs,
7153         newlines, carriage-returns and vertical tabs as well.  Which is
7154         not what we want.
7156 Wed Jan 21 11:58:39 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
7158         * ftpfs.c (retrieve_dir): Avoid compiler warning by testing
7159         explicitly the value.
7161         screen.c (format_file): color not initialized when we met
7162         empty_line.
7164 Wed Jan 21 11:28:21 1998  Alex Tkachenko  <alex@bcs.zp.ua>
7166         * cmd.c, utilunix.c: cosmetic changes to reduce compiler warnings
7168         * utilunix.c (my_system): small fix for SCO zombies moved here;
7169         now it returns WEXITSTATUS(status) instead of status itself. While
7170         missing it may not hurt on i.e., linux, on SCO it gives incorrect
7171         value.
7173         * vfs/extfs.c system() calls replaced with my_system() call; this
7174         allows a greater degree of control - fixes SCO system() return value
7175         processing. Notice: plain replacement system() with WEXITSTATUS(system)
7176         does not produce correct behavior (don't ask me why).
7178         * panelize.c (do_external_panelize): similar fixes for pclose()
7179         return value on SCO.
7181         view.c (load_view_file): inverted value of viewer_magic_flag to
7182         put viewer decompression state in accordance with F8 label text.
7183         Also default_nroff_flag is initialized to be 1; thus enabling all
7184         filter processing by default easies mc usage for novice users.
7186 Sun Jan 18 13:47:37 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
7188         * main.c
7189         * panel.h, tkscreen.h : error when compile dlg.c
7190         * tkconf.h : paint_frame
7191         * screen.c : to include paint_frame
7192         * tkmain.c : I just copied clr_scr() from the text.c
7194 Fri Jan 16 16:19:59 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7196         * screen.c (format_file): Do not invoke the file_compute_color
7197         routine for empty lines.
7199         * gmain.c: Color scheme for Gnome
7201         * gscreen.c: Color setup now allocated the GdkColor *.
7203         * color.c: Moved the default color setting to a per-port
7204         location (text.c for the text mode edition);  new color
7205         configuration: core;  Fixed the case where the color spec was
7206         buggy and we kept on a infinite loop;
7208 Fri Jan 16 13:47:13 1998  Pavel Roskin  <pavel_roskin@geocities.com>
7210         * nt/drive.nt.c, nt/chmod.nt.c: Updated button_new and check_new
7211         calls
7213 Fri Jan 16 12:47:39 1998  Norbert Warmuth  <k3190@fh-sw.de>
7215         * vfs/ftpfs.c (command): Don't log passwords when the dialog between
7216         server and client is logged to a file (mc -l logfile).
7218         * vfs/ftpfs.c (resolve_symlink, retrieve_dir): When a directory
7219         contains spaces send two commands ("CWD path" and  "LIST .") instead of
7220         one command ("LIST path") in order to get directory listings.