Not only comment it out but removing it
[midnight-commander.git] / src / ChangeLog
blob5653ea633b8365684063cbbd0c3e21c4a6ee3189
1 2009-01-05  Slava Zanko   
2         * main.c (main): remove compatibility_move_mc_files stuff.
4 2008-12-19  Roland Illig  <roland.illig@gmx.de>
6         * x11conn.c (x11_available): If the X11 shared library cannot be
7         found (maybe because there is neither an .la file nor a .so
8         symlink), try libX11.so.6 explicitly. Fixes Bug #24505.
10 2008-12-18  Roland Illig  <roland.illig@gmx.de>
12         * main.c (main): It is now possible to invoke mcedit with
13         filename:lineno[:], so that copy and paste of file locations
14         can be done quickly.
16 2008-12-02  Roland Illig  <roland.illig@gmx.de>
18         * tty.c (tty_tgetstr): Fixed a crash because of an uninitialized
19         variable.
21 2007-11-02  Pavel Tsekov  <ptsekov@gmx.net>
23         * cmd.c (save_setup_cmd): Remove redundant g_strconcat() call.
24         * hotlist.c (load_hotlist): Likewise.
26 2007-10-15  Pavel Tsekov  <ptsekov@gmx.net>
28         * myslang.h [HAS_ACS_AS_PCCHARS]: Remove all code ifdef-ed
29         HAS_ACS_AS_PCCHARS - it's unused.
30         * help.c [HAS_ACS_AS_PCCHARS]: Likewise.
31         * layout.c (init_curses) [HAS_ACS_AS_PCCHARS]: Remove redundant code.
33 2007-09-24  David Sterba  <dave@jikos.cz>
35         * widget.h: Define new mode for listbox insertion.
36         * widget.c (listbox_append_item): Implement LISTBOX_APPEND_SORTED
37         by insertsort.
38         * chown.c (init_chown): Use LISTBOX_APPEND_SORTED for user and
39         group list.
40         * achown.c (do_enter_key): Likewise.
42 2007-09-19  Pavel Tsekov  <ptsekov@gmx.net>
44         * cmd.c (menu_edit_cmd): Rename a button label from "Home"
45         to "User".
47 2007-09-19  Pavel Tsekov  <ptsekov@gmx.net>
49         * widget.c (listbox_new): Remove redundant initialization of
50         WListbox fields.
52 2007-09-17  Maxim Britov  <maxim@office.modum.by>
54         * util.c (file_date): Do not ignore the return value 
55         of localtime (). Gentoo bug #184296.
57 2007-09-14  Pavel Tsekov  <ptsekov@gmx.net>
59         * find.c (find_parameters): Fix hotkey duplication.
61 2007-09-11  Pavel Tsekov  <ptsekov@gmx.net>
63         * subshell.c (write_all): Do not use void pointer arithmetic.
65 2007-09-11  Pavel Tsekov  <ptsekov@gmx.net>
67         * mountlist.c: Fix a warning issued by gcc.
69 2007-08-27  Oswald Buddenhagen  <ossi@kde.org>
71         * color.h: Add a new color pair.
72         * color.c: Likewise.
74 2007-08-24  Pavel Tsekov  <ptsekov@gmx.net>
76         * screen.c (show_dir): Surrond the current directory with spaces.
78 2007-08-24  Pavel Tsekov  <ptsekov@gmx.net>
80         * screen.c (show_dir): Remove unneeded code.
82 2007-08-23  Pavel Tsekov  <ptsekov@gmx.net>
84         * filegui.c (rd_widgets) [_LARGE_FILES]: Use format string
85         capable of supporting 64 bit file sizes.
87 2007-08-23  Pavel Tsekov  <ptsekov@gmx.net>
89         * mountlist.c (fstype_to_string): Define only when
90         `MOUNTED_GETMNTINFO' or `MOUNTED_VMOUNT' is defined.
92 2007-05-02  Pavel Tsekov  <ptsekov@gmx.net>
94         * cmd.c (dirsizes_cmd): Re-sort the panel when done.
96 2007-03-23  Pavel Tsekov  <ptsekov@gmx.net>
98         * subshell.c (subshell_name_quote): Use the `printf' utility
99         instead of `echo' to quote the directory name.
101 2007-03-08  Pavel Tsekov  <ptsekov@gmx.net>
103         * subshell.c (sigchld_handler) [__EMX__]: Remove unneeded code.
105 2007-03-01  Pavel Tsekov  <ptsekov@gmx.net>
107         * subshell.c (subshell_pty_slave): New global variable.
108         (init_subshell): Do not close the pseudo-terminal slave - 
109         store it in `subshell_pty_slave' for later use.
110         (init_subshell_child): Do not open the pseudo-terminal slave
111         in the child. It is inherited from the parent now.
112         Use `subshell_pty_slave' as the file descriptor of the
113         opened pseudo-terminal slave.
114         Rearrange the code a bit.
115         (synchronize): Discard all data from the pseudo-terminal
116         slave input queue.
118 2007-02-22  Pavel Tsekov  <ptsekov@gmx.net>
120         * file.c (copy_file_file): chmod() the target file no matter whether
121         "preserve attributes" is checked or not, since the destination is
122         initially created with mode 0600.
124 2007-02-22  Pavel Tsekov  <ptsekov@gmx.net>
126         * utilunix.c (mc_tmpdir): Do not accept relative path in TMPDIR. Use
127         a hardcoded value instead.
129 2007-02-02  Pavel Roskin  <proski@gnu.org>
131         * mountlist.c: Fix misuse of HAVE_STRUCT_STATFS_F_FSTYPENAME.
133 2007-01-20  Pavel Tsekov  <ptsekov@gmx.net>
135         * help.c: Document the newline following the node header.
136         Teach all code dealing with nodes that the actual node data
137         starts right after the first newline following the node
138         header. Thanks to Grigory Trenin <gtrenin@gmail.com> .
140 2007-01-14  Pavel Tsekov  <ptsekov@gmx.net>
142         * dir.c (sort_time): Default to sort_name() if the
143         arguments are equal.
144         (sort_ctime): Likewise.
145         (sort_atime): Likewise.
146         (sort_size): Likewise.
148 2007-01-14  Pavel Tsekov  <ptsekov@gmx.net>
150         * dir.h (sort_type): Remove function declaration.
151         (sort_links): Likewise.
152         (sort_nuid): Likewise.
153         (sort_ngid): Likewise.
154         (sort_owner): Likewise.
155         (sort_group): Likewise.
156         * dir.c (sort_type): Remove function definition.
157         (sort_links): Likewise.
158         (sort_nuid): Likewise.
159         (sort_ngid): Likewise.
160         (sort_owner): Likewise.
161         (sort_group): Likewise.
162         (sort_orders): Reflect the changes above.
163         * screen.c (formats): Remove references to sort_type(), sort_links(),
164         sort_nuid(), sort_ngid(), sort_owner() and sort_group().
166 2007-01-02  Pavel Tsekov  <ptsekov@gmx.net>
168         * utilunix.c (mc_tmpdir): Call mc_mkstemps() with an absolute
169         path to prevent stack overflows due to circular dependecy.
171 2006-12-30  Grigory Trenin  <gtrenin@gmail.com>
173         * help.c (startpoint): Remove global variable and all references
174         to it.
175         (select_prev_link): Remove the first argument.
176         Keep searching until a link is found or end of node delimiter is
177         reached.
178         (help_handle_key): Reflect the changes above.
179         Remove an unneeded check.
181 2006-12-30  Pavel Tsekov  <ptsekov@gmx.net>
183         * view.c (view_file_load_data): Do not to attempt to  seek
184         beyond the end of file. Patch by Andrzej Zaborowski.
185         (view_moveto_addr_cmd): Display a warning message if the
186         user specified an invalid offset.
188 2006-12-21  Pavel Tsekov  <ptsekov@gmx.net>
190         * fsusage.c: Remove references to HAVE_INFOMOUNT.
192 2006-12-21  Pavel Tsekov  <ptsekov@gmx.net>
194         * fsusage.h: Update from gnulib.
195         * fsusage.c: Likewise.
197 2006-12-21  Pavel Tsekov  <ptsekov@gmx.net>
199         * fsusage.h: Resurrect.
200         * fsusage.c: Likewise.
202 2006-12-10  Pavel Tsekov  <ptsekov@gmx.net>
204         * view.c (regexp_search): Keep the search string in a global
205         variable so that it can be reused when viewing another file.
206         Do not use the same variable to hold the search string for
207         both the "Search" and "Regexp Search" functions.
208         (view_normal_search_cmd): Likewise.
210 2006-11-27  Leonard den Ottolander  <leonard den ottolander nl>
212         * subshell.c (subshell_name_quote): Bash < 2.05b (3-digit octals in
213         echo_e_cmd) no longer supported.
215 2006-11-08  Egmont Koblinger  <egmont@uhulinux.hu>
217         * key.c (get_event): Eliminate timeouts on window resize event.
218         * layout.c (change_screen_size): Set winch_flag to 0 on entrance not
219         exit of function.
221 2006-09-25  Pavel Tsekov  <ptsekov@gmx.net>
223         * layout.c (layout_do_change): Remove global variable.
224         (layout_cmd): Reflect the changes above.
225         (layout_change): Ditto.
227 2006-09-18  Pavel Tsekov  <ptsekov@gmx.net>
229         * main.c (xtoolkit_panel_setup): Remove - it is a noop.
230         (setup_panels_and_run_mc): Eliminate references to
231         `xtoolkit_panel_setup'.
233 2006-09-18  Pavel Tsekov  <ptsekov@gmx.net>
235         * key.c (get_key_code): Do not blindly strip the eight bit of the
236         key code when the 'use_8th_bit_as_meta' flag is set. Only key codes
237         in the range 128 - 255 should be stripped, the rest must be left
238         intact.
240 2006-09-14  Pavel Tsekov  <ptsekov@gmx.net>
242         * wtools.c (fg_input_dialog_help) [ENABLE_NLS]: Translate the
243         "Ok" and "Cancel" buttons here.
244         Mark the QuickDialog as translated so that quick_dialog() won't
245         try translate it again.
247 2006-09-07  Pavel Tsekov  <ptsekov@gmx.net>
249         * mountlist.c: Sync with gnulib.
250         All uses of HAVE_F_FSTYPENAME replaced by
251         HAVE_STRUCT_STATFS_F_FSTYPENAME.
252         [MOUNTED_GETMNTINFO2] Include sys/statvfs.h.
253         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
255 2006-09-07  Pavel Tsekov  <ptsekov@gmx.net>
257         * mountlist.c: Revert a failed attempt to properly detect and use
258         getmntinfo() returning its result in struct statvfs.
260 2006-08-12  Leonard den Ottolander  <leonard den ottolander nl>
262         * key.c (check_selects): Get rid of the now redundant else.
264 2006-08-12  Leonard den Ottolander  <leonard den ottolander nl>
266         * key.c (check_selects): Initialize retry to FALSE every time we enter
267         the do/while loop (bug introduced when incorrectly rewriting the
268         backward goto used by the original submitter).
270 2006-08-11  Mikulas Patocka  <mikulas@artax.karlin.mff.cuni.cz>
272         * key.c (check_selects): Fix possible crash on reference to select list
273         element removed in callback.
275 2006-08-09  Denis Vlasenko  <vda.linux@googlemail.com>
277         * key.c: Make escape key timeout user configurable via the
278         environment variable KEYBOARD_KEY_TIMEOUT_US (in microseconds).
280 2006-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
282         * hotlist.c (update_path_name): Fix gcc4 warning.
284 2006-06-26  Oswald Buddenhagen  <ossi@kde.org>
286         * hotlist.c (remove_from_hotlist): Fix erronous check of the return
287         value of query_dialog().
289 2006-08-03  Roland Illig  <roland.illig@gmx.de>
291         * view.c: Added correct handling of Mac line endings.
293 2006-06-26  Pavel Tsekov  <ptsekov@gmx.net>
295         * vfsdummy.h [!USE_VFS] (mc_getlocalcopy): Implement.
297 2006-06-17  Pavel Tsekov  <ptsekov@gmx.net>
299         * mountlist.c (fstype_to_string): Update the code to match its
300         coreutils counterpart.
301         Guard the use of MOUNT_UFS and MOUNT_NFS with appropriate
302         ifdefs as the rest of the code does.
304 2006-06-17  Pavel Tsekov  <ptsekov@gmx.net>
306         * mountlist.c (HAVE_F_FSTYPENAME): Define when getmntinfo() is
307         used and the struct which it fills has a field named f_fstypename.
308         (read_filesystem_list) [MOUNTED_GETMNTINFO]: Use
309         MOUNTED_GETMNTINFO_STATVFS to determine the type of the first
310         argument to getmntinfo().
312 2006-06-11  Leonard den Ottolander  <leonard den ottolander nl>
314         * dir.c (sort_orders): Substitute duplicate hotkey 'C' in sort order
315         dialog.
317 2006-06-07  Pavel Tsekov  <ptsekov@gmx.net>
319         * mountlist.c: Revert last commit.
321 2006-05-29  Pavel Tsekov  <ptsekov@gmx.net>
323         * widget.c (disable_update): Remove redundant static variable.
324         (handle_char): Reflect the changes above.
326 2006-05-23  Hampa Hug  <hampa@hampa.ch>
328         * file.c (move_file_file): Do not collect progress information
329         when moving via copy/erase - copy_file_file() does that.
330         Collect progress information when moving via rename ().
332 2006-05-23  Pavel Tsekov  <ptsekov@gmx.net>
334         * tty.c (tty_tgetstr) [HAVE_SLANG]: str_unconst() the argument
335         passed to SLtt_tgetstr().
337 2006-05-23  Pavel Tsekov  <ptsekov@gmx.net>
339         * file.c (move_dir_dir): Remove Win32 specific code.
341 2006-05-21  Roland Illig  <roland.illig@gmx.de>
343         * mountlist.c: Fixed so that it builds on NetBSD 3.0.
345 2006-05-15  Pavel Tsekov  <ptsekov@gmx.net>
347         * tty.h [USE_NCURSES]: Pull in term.h if WANT_TERM_H is defined.
348         (tty_tgetstr): Declare new function.
349         * tty.c [USE_NCURSES]: Request the inclusion of term.h.
350         (tty_tgetstr): Define new function
351         * main.c (init_xterm_support): Use tty_tgetstr().
353 2006-05-10  Pavel Tsekov  <ptsekov@gmx.net>
355         * user.c: Do not include subshell.h .
357 2006-05-08  Pavel Tsekov  <ptsekov@gmx.net>
359         * subshell.c (resize_subshell): Do not try to resize the subshell tty
360         if the subshell is not running.
362 2006-04-13  Leonard den Ottolander  <leonard den ottolander nl>
364         * cons.handler.c (handle_console_linux): Remove redundant close() calls
365         before _exit().
367 2006-03-29  Pavel Tsekov  <ptsekov@gmx.net>
369         * file.c (copy_file_file): When a hardlink is created successfully
370         report success (FILE_CONT) to the caller. Fixes debian bug #301537.
372 2006-03-06  Pavel Tsekov  <ptsekov@gmx.net>
374         * mouse.h (Mouse_Type): Add new enumerated values to describe
375         the xterm mouse reporting modes offered by various xterm-like
376         terminals.
377         * mouse.c: Adjust the code to reflect the changes above.
378         Send the proper terminal control codes when xterm normal mouse
379         tracking is requested.
380         * main.c (init_xterm_support): Try to fine-tune the mouse tracking
381         mode based on the terminal type.
383 2006-02-28  Pavel Tsekov  <ptsekov@gmx.net>
385         * widget.h (struct WRadio): Remove unused field
386         `upper_letter_is_hotkey'.
387         (radio_new): Remove the last argument from the function
388         declaration - it is unused.
389         * widget.c (radio_new): Remove the last argument from the
390         function declaration - it is unused.
391         * boxes.c: Adjust all callers to reflect the changes above.
392         * layout.c: Likewise.
393         * listmode.c: Likewise.
394         * option.c: Likewise.
395         * wtools.c: Likewise.
397 2006-02-28  Pavel Tsekov  <ptsekov@gmx.net>
399         * boxes.c (configure_vfs) [!USE_NETCODE]: Fix off-by-one error.
401 2006-02-24  Pavel Tsekov  <ptsekov@gmx.net>
403         * subshell.c (synchronize): Do not discard user input if the panels
404         are off.
406 2006-02-23  Pavel Tsekov  <ptsekov@gmx.net>
408         * setup.c [USE_NETCODE]: Include fish.h .
409         (int_options) [USE_NETCODE]: Add support for user configurable
410         expiration timeout of FISH directory cache entries.
412 2006-02-21  Pavel Tsekov  <ptsekov@gmx.net>
414         *  cons.saver.c [HAVE_CONFIG_H]: Include config.h .
416 2006-02-14  David Martin  <dmartina@excite.com>
418         * hotlist.c (remove_from_hotlist): Fix l18n macro N_() to _().
420 2006-02-09  Pavel Tsekov  <ptsekov@gmx.net>
422         * wtools.c (quick_dialog_skip): Do not set `lines' and `cols'
423         members of the newly created dialog explicitly - create_dlg()
424         does this.
426 2006-02-08  Pavel Tsekov  <ptsekov@gmx.net>
428         * screen.c (panel_callback): Reset the `dirty' flag after the
429         panel has been repainted on focus.
431 2006-02-06  Pavel Tsekov  <ptsekov@gmx.net>
433         * widget.c (buttonbar_set_label): Fix `comparison of distinct
434         pointer types lacks a cast' gcc warning.
436 2006-02-05  Pavel Tsekov  <ptsekov@gmx.net>
438         * hotlist.c (hotlist_has_dot_dot): Define new global
439         variable.
440         (add_dotdot_to_list): Define new function.
441         (HotListType): Add HL_TYPE_DOTDOT.
442         (update_path_name): Handle HL_TYPE_DOTDOT entries the same way as
443         HL_TYPE_ENTRY entries.
444         (fill_listbox): Likewise.
445         (hotlist_button_callback): Go up one level when enter is pressed on
446         an entry of type HL_TYPE_DOTDOT.
447         (add2hotlist): Always attach a HL_TYPE_DOTDOT to each new
448         HL_TYPE_GROUP entry.
449         Make sure that the HL_TYPE_DOTDOT entry is the first one in the
450         list.
451         (remove_from_hotlist): Do not remove HL_TYPE_DOTDOT entries.
452         (hot_save_group): Do nothing for HL_TYPE_DOTDOT entries.
454 2006-02-05  Arpad Gereoffy (A'rpi)  <arpi@mplayerhq.hu>
456         * key.c (xterm_key_defines): Add sequences for iTerm.
458 2006-02-04  Roland Illig  <roland.illig@gmx.de>
460         * find.c: Added make_fullname() to avoid code duplication.
461         * cmd.c (mkdir_cmd): Fixed a memory leak. Instead of the
462         absolute path of the created directory, the input is passed to
463         update_panels().
464         * Makefile.am: ecs-test needs $(INTLLIBS).
465         * main.c (init_xterm_support): Eterm can handle mouse events, too.
466         * user.c: Adjusted the use of EDIT_DIR, since it has no leading
467         PATH_SEP_STR anymore.
469 2006-02-03  Roland Illig  <roland.illig@gmx.de>
471         * widget.c: Added assertions to prevent bugs like the one from
472         view.c(view_labels) from hiding that long.
473         * view.c: s/attrset/tty_setcolor/g
474         * wtools.h: Replaced the printf-like attribute with __printf__,
475         since GNU gettext defines a macro printf on some systems.
476         * find.c: After the "panelize" command, always select the first
477         file from the panel, not.
478         * util.h (str_unconst): This function is never needed to be
479         inlined.
480         * find.c (find_do_view_edit): Only strip the leading "./" from a
481         directory name if the rest is not empty.
483 2006-02-03  Pavel Tsekov  <ptsekov@gmx.net>
485         * view.c (view_labels): Use `buttonbar_clear_label' to make a
486         buttonbar button inactive.
488 2006-02-03  Roland Illig  <roland.illig@gmx.de>
490         * tty.h (tty_setcolor): Added.
491         * tty.c (tty_setcolor): Likewise.
493 2006-02-03  Pavel Tsekov  <ptsekov@gmx.net>
495         * dir.c (do_sort): Remove unused variable.
497 2006-01-31  Roland Illig  <roland.illig@gmx.de>
499         * view.c (view_display_hex): Prevented any screen overflow in
500         hex display mode. The number of bytes per line in hex mode is
501         always a multiple of four -- this makes the computation easier.
503 2006-01-30  Pavel Roskin  <proski@gnu.org>
505         * Makefile.am: Rename LIBDIR to SAVERDIR to avoid confusion.
506         Change its value to match the installation path of cons.saver.
507         * cons.handler.c: Adjust for the above.
509 2006-01-30  Pavel Tsekov  <ptsekov@gmx.net>
511         * boxes.c: Do not set the field `histname' of `QuickWidget'
512         unless the widget is of type `quick_input'.
513         * filegui.c: Likewise.
514         * hotlist.c: Likewise.
516 2006-01-30  Roland Illig  <roland.illig@gmx.de>
518         * view.c (view_display_hex): Bug fix: The list iterator from the
519         bytes that have been changed in the hex editor must be advanced
520         even if the cursor is currently on a changed byte.
522 2006-01-29  Pavel Tsekov  <ptsekov@gmx.net>
524         * file.h (safe_delete): Move declaration of `safe_delete'
525         * main.h: ... here.
526         (confirm_directory_hotlist_delete): Declare new global variable.
527         * file.c (safe_delete): Move definition of `safe_delete'
528         * main.c: ... here.
529         (confirm_directory_hotlist_delete): Define new global variable.
530         * hotlist.c (remove_from_hotlist): Based on a user configurable
531         setting, request confirmation when removing directory hotlist
532         entries. The confirmation dialog honours the `Safe delete'
533         setting.
534         Reorder the buttons in the hotlist group removal confirmation
535         dialog so that it becomes consistent with other confirmation
536         boxes.
537         * setup.c (int_options): Add support for user configurable
538         confirmation of directory hotlist entries removal.
539         * boxes.c (conf_widgets): Likewise.
540         (confirm_box): Likewise.
541         (my_directory_hotlist_delete): New module variable.
543 2006-01-29  Pavel Tsekov  <ptsekov@gmx.net>
545         * dir.c (do_sort): Do not try to reorder the entries so
546         that ".." becomes the first entry.
547         (do_load_dir): When filling the list of directory entries
548         make sure that ".." occupies the first element.
549         (do_reload_dir): Likewise.
551 2006-01-29  Julian Mehnle  <julian@mehnle.net>
553         * cmd.c: When invoking external viewer, probe VIEWER environment
554         variable first, then PAGER, then fall back to "view".
556 2006-01-28  Roland Illig  <roland.illig@gmx.de>
558         * cmd.c (toggle_listing_cmd): Included the brief listing mode in
559         the list of listing modes that can be switched through using
560         Alt-t. Patch provided in #10557. Fixes #10557.
562 2006-01-27  Roland Illig  <roland.illig@gmx.de>
564         * Makefile.am: cons.saver is installed in $(pkglibexecdir), not
565         in $(pkglibdir), to conform to the usual directory hierarchy
566         standards. Fixes #2796.
568         * Makefile.am, logging.h, logging.c: Added a new logging module
569         to allow easy tracing of function calls and other events. It is
570         only intended for debugging.
572 2006-01-24  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
574         * file.c (copy_file_file): In 'Reget' mode take into account
575         the partially retrieved data when drawing the progress bar.
577 2006-01-23  Egmont Koblinger  <egmont@uhulinux.hu>
579         * subshell.c: restart write() calls interrupted by sigchld which lead
580         to some bytes being swallowed from the subshell's output.
582 2006-01-07  Roland Illig  <roland.illig@gmx.de>
584         * view.c: Replaced calls to printw() with tty_printf() to get
585         rid of the str_unconst() function.
587 2005-11-10  Pavel Roskin  <proski@gnu.org>
589         * global.h [!ENABLE_NLS]: Provide replacement for ngettext.
590         * screen.c (display_mini_info): Cast panel->total to unsigned
591         long before passing it to ngettext() to avoid warnings.
593 2005-11-02  Pavel Roskin  <proski@gnu.org>
595         * glibcompat.c: Move Q_ back ...
596         * util.c: ... here.  Q_ is not defined by just including glib.h.
597         The glib implementation doesn't strip prefix from translations,
598         so it's not suitable for us.  Finally, it makes man2hlp depend
599         on libintl.
600         Reported by Leonard den Ottolander <leonard den ottolander nl>
602 2005-11-02  Egmont Koblinger  <egmont@uhulinux.hu>
604         * main.c (directory_history_add): Fix invalid directory preselection on
605         cd.
607 2005-10-08  Pavel Roskin  <proski@gnu.org>
609         * man2hlp.c (main): Fix using 0 instead of NULL.
611         * widget.c (listbox_fwd): Eliminate forward inline declaration.
613 2005-10-04  Jindrich Novy  <jnovy@redhat.com>
615         * view.c (search): Fix backward regex search off by one.
617 2005-10-04  Pavel Roskin  <proski@gnu.org>
619         * util.c (gettext_ui): Rename to Q_() for glib compatibility,
620         move ...
621         * glibcompat.c: ... here.  Adjust all callers.
623 2005-10-03  Pavel Roskin  <proski@gnu.org>
625         * screen.c (display_mini_info): Use ngettext().
627 2005-09-28  Pavel Tsekov  <ptsekov@gmx.net>
629         * key.c (xmouse_get_event): Catch GPM_DRAG event.
630         * mouse.c (enable_mouse, disable_mouse): Update printed escape
631         sequence.
633 2005-09-17  Pavel Tsekov  <ptsekov@gmx.net>
635         * execute.c (do_execute): Flush stdout after printing the
636         command to be executed.
638 2005-09-17  Leonard den Ottolander  <leonard den ottolander nl>
640         * util.c: Indentation cleanup (function result types on
641         different lines then function names).
643 2005-09-17  Jindrich Novy  <jnovy@redhat.com>
645         * file.c (make_symlink): Fix off by one in symlink creation.
647 2005-09-17  Jindrich Novy  <jnovy@redhat.com>
649         * util.c (diff_two_paths): Abort when second symlink can't be
650         resolved (fixes segfault).
652 2005-09-07  Roland Illig  <roland.illig@gmx.de>
654         * setup.c: Renamed options[] to int_options[].
655         * util.h: Added get_config_string() and set_config_string(),
656         which are analogous to get_int() and set_int().
657         * util.c: Likewise.
658         * setup.c: Replaced the editor_option_backup_ext_int hack with a
659         string configuration variable, which allows the backup extension
660         to have more than just four characters. Added generic support
661         for string options.
663 2005-09-06  Roland Illig  <roland.illig@gmx.de>
665         * cmd.c: Added single_dirsize_cmd(), which computes the size of
666         the currently selected panel entry and moves down. Suggested by
667         ForestCreature on mc-devel.
668         * cmd.h: Likewise.
669         * main.c (midnight_callback): Ctrl-space calculates the size of
670         the currently selected directory entry. This is mostly useful for
671         directories.
673 2005-09-05  Roland Illig  <roland.illig@gmx.de>
675         * info.c: Switched from printw() to tty_printf() to avoid gcc
676         warnings. st_ctime is not the creation time, but the status
677         change time.
678         * achown.c: Likewise.
679         * layout.c: Likewise.
680         * menu.c: Likewise.
681         * screen.c: Likewise.
682         * main.h: Added const qualifier to the global prompt variable.
683         * main.c: Likewise.
684         * slint.c: Moved printwstr() to ../edit/editdraw.c.
685         * tty.h: Likewise.
686         * tty.c: Don't use SLsmg_write_char, because Redhat provides a
687         different API to that function when the preprocessor symbol UTF8
688         is defined.
690 2005-09-04  Roland Illig  <roland.illig@gmx.de>
692         * main.h: Removed unused variables acs_hline and acs_vline.
693         * tty.h: Added tty_printf().
694         * tty.c: Likewise.
695         * widget.c: Reduced the number of gcc warnings by using
696         tty_printf() instead of printw().
698 2005-09-01  Roland Illig  <roland.illig@gmx.de>
700         * view.c (view_fix_cursor_position): Renamed to
701         view_scroll_to_cursor.
702         * treestore.c (str_common): Don't require the arguments to be
703         different.
705 2005-08-29  Roland Illig  <roland.illig@gmx.de>
707         * slint.c: The handling of user interrupts has been moved to ...
708         * tty.c: ... this newly created file, which contains a simple,
709         not yet complete interface to the terminal library. It should be
710         used instead of depending directly on ncurses or SLang features.
711         * tty.h: Added the new function prototypes from tty.c and some
712         legacy definitions.
713         * view.c: Converted to use the new tty functions.
714         * myslang.h: Partly switched to the new tty functions.
716 2005-08-28  Roland Illig  <roland.illig@gmx.de>
718         * view.c (view_hexedit_save_changes): Added an assertion that
719         view->filename be not NULL.
720         * view.c (view_toggle_magic_mode): Check if filename != NULL
721         before dereferencing the pointer.
722         * view.c (view_change_nroff_mode_cmd): Renamed to
723         view_toggle_nroff_mode_cmd.
724         * view.c (view_new): Separated the mode toggling functions from
725         updating the display. The non-updating functions are called on
726         initialization.
728 2005-08-27  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
730         * view.c (view_normal_search_cmd): Initialize exp to avoid
731         freeing of uninitialized pointer on cancel.
733 2005-08-25  Pavel Tsekov  <ptsekov@gmx.net>
735         * key.c (xmouse_get_event): Disable double-click tracking for
736         mouse wheel events.
738 2005-08-22  Roland Illig  <roland.illig@gmx.de>
740         * view.c (struct WView): Renamed dpy_topleft to dpy_start, as it
741         does not always represent the top-left corner of the screen.
742         Replaced dpy_complete with dpy_end, the offset of the first byte
743         after the displayed region.
744         * view.c (view_display_status): In normal display mode (that is:
745         not search progress), calculate the percentage based on dpy_end
746         instead of dpy_start. This avoids a sudden break to 100 % when
747         approaching the end of file.
748         * view.c (view_moveto_top): Simplified the code.
750 2005-08-21  Roland Illig  <roland.illig@gmx.de>
752         * view.h: Rewrote it. All functions are preceded by a describing
753         comment and the "extern" keyword.
754         * fileloc.h: Newly added this file, which provides a place where
755         all names of user specific configuration files are listed.
756         * view.c (view_done): Reordered the statements in the
757         destructor and added paragraph comments.
758         * view.c (free_change_list): Renamed to
759         view_hexedit_free_change_list.
760         * view.c: The search string is managed by the WView, not as
761         static variable in some functions.
763 2005-08-19  Roland Illig  <roland.illig@gmx.de>
765         * view.c: Added section headers. The functions are still
766         somewhat unordered. Renamed some functions to fit into the
767         view_*_cmd naming convention.
769 2005-08-18  Andrzej Zaborowski  <balrogg@gmail.com>
771         * screen.c (string_file_name): Increased the buffer size to
772         MC_MAXPATHLEN + 1 bytes to avoid filename truncation.
774 2005-08-18  Roland Illig  <roland.illig@gmx.de>
776         * view.c (view_move_up): Don't scroll up if it is not necessary.
777         This fixes an inconsistency noted by Andrej Zebrowski on
778         mc-devel.
779         * view.c (view_move_down): Do nothing if we're already at the
780         end of the file. This makes the cursor movement more consistent
781         with the behavior of the <End> key.
782         * view.c (regexp_search_cmd): Moved the code to save the changes
783         of the hex editor out of this function, as it has nothing to do
784         with regexp searching.
785         * view.c (view_display_hex): Completely rewritten. Now the code
786         distinguishes several phases (state selection, color selection,
787         printing) and does not mix them wildly, as the previous code
788         did.
789         * view.c (view_display_text): Removed the (almost) unused
790         variable boldflag.
791         * view.c (struct WView): Renamed found_len to search_length.
793 2005-08-16  Roland Illig  <roland.illig@gmx.de>
795         * view.c (view_percent): Fixed coordinate computation.
796         * view.c (view_place_cursor): Made the call to widget_move()
797         look like the other calls.
798         * view.c (view_init_growbuf): Mark the first page full instead
799         of empty. This saves one condition in view_growbuf_read_until().
801 2005-08-15  Roland Illig  <roland.illig@gmx.de>
803         * view.c (view_growbuf_read_until): When using mc_read, recover
804         from interrupted system calls.
805         * view.c (toggle_hex_mode): Now the hex cursor is always visible
806         after switching to hex mode.
807         * view.c (view_ccache_lookup): Rewrote the calculation of the
808         cache entry. Also don't put entries in the cache when the
809         current byte is '\r'.
810         * view.c (view_ccache_dump): Extended the output by the offset
811         of the next line.
812         * dialog.h (struct Dlg_head): Changed the bit fields of length one
813         from signed int to unsigned int.
814         * wtools.h: Replaced 0 with LISTBOX_APPEND_AT_END.
815         * achown.c: Likewise.
816         * view.c (view_toggle_ruler): Don't mix enums with ints.
817         * complete.c (fetch_hosts): Removed unused variable.
818         * complete.c: Don't mix enums with ints.
819         * tree.c: Likewise.
820         * screen.c (use_display_format): Removed unused variable.
821         * widget.c: Don't mix enums with ints.
823 2005-08-15  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
825         * view.c: Made the search function interruptible.
827 2005-08-06  Roland Illig  <roland.illig@gmx.de>
829         * textconf.c: Include ecs_char in the list of type
830         characteristics that are printed.
831         * view.c (view_growbuf_read_until): On short reads, try to read
832         one more byte to check whether we're already at the end of file.
833         This makes the ">=" disappear earlier.
835 2005-08-05  Pavel Tsekov  <ptsekov@gmx.net>
837         * menu.c (menubar_draw): Use hline() instead of addch() to clear
838         the menubar widget area.
840 2005-07-31  Roland Illig  <roland.illig@gmx.de>
842         * view.c: Removed global variable have_fast_cpu. It is not used
843         anymore.
844         * view.h: Renamed view to mc_internal_viewer. This avoids
845         hundreds of shadowed names in view.c.
847 2005-07-31  Roland Illig  <roland.illig@gmx.de>
849         * user.c (execute_menu_command): Allow execution on no-exec
850         filesystems. This fixes Savannah Bug #13832.
852 2005-07-31  Roland Illig  <roland.illig@gmx.de>
854         * Makefile.am: Added support for extended character sets.
855         * ecs.h: Support for extended character sets.
856         * ecs.c: Likewise.
857         * ecs-test.c: Testsuite for ecs.c.
859 2005-07-27  Adam Byrtek  <alpha@debian.org>
861         * utilunix.c (mc_tmpdir): Check that tmpdir is correctly initialized.
863 2005-07-24  Leonard den Ottolander  <leonard den ottolander nl>
865         * wtools.h: #include "widget.h" and remove redundant declarations
866         of Dlg_head and WListbox;
868 2005-07-23  Roland Illig  <roland.illig@gmx.de>
870         * util.c (save_file_position): Only save the position if not
871         at the beginning of the file (1;0).
872         * view.c: When saving and loading the file position, use the
873         full pathname instead of the one passed as argument.
875 2005-07-22  Roland Illig  <roland.illig@gmx.de>
877         * charsets.c: Fixed wrong comparison of the result of iconv().
879 2005-07-22  Roland Illig  <roland.illig@gmx.de>
881         * utilunix.c: Replaced the use of getgrouplist() with
882         getgroups(), which is more appropriate and does not contain a
883         buffer overflow in most recent glibc versions (upto 2.3.2).
884         Simplified the code. Removed init_groups() and destroy_groups().
885         They are unnecessary.
886         * main.c: init_groups() and destroy_groups() have disappeared,
887         so don't call them.
889 2005-07-22  Roland Illig  <roland.illig@gmx.de>
891         * ext.c: Fixed a typo which has been noted by Arpad Biro.
892         * help.c: Fixed an invalid memory access, which has been noted
893         by Vitja Makarov. And fixed a bug that had been introduced by
894         me, when replacing Dlg_head * with void *.
895         * help.c: Fixed shadowing warnings from gcc.
897 2005-07-20  Roland Illig  <roland.illig@gmx.de>
899         * key.c: When the command line option -x is given, enable
900         additional key sequences that are typical for xterms.
901         * main.c: First parse command line arguments, then initialize
902         key sequences.
904 2005-07-20  Roland Illig  <roland.illig@gmx.de>
906         * util.c: Added gettext_ui(), which translates a string and
907         strips everything before the first '|' character. This function
908         is used to translate special elements of the user interface,
909         like ButtonBar labels.
910         * util.h: Likewise.
911         * view.c: Using the new gettext_ui() function.
913 2005-07-17  Roland Illig  <roland.illig@gmx.de>
915         * util.c: Added ascii_alpha_to_cntrl(), which converts 'x' to
916         ^X. Useful for entering control characters literally.
917         * util.h: Likewise.
918         * widget.c: Use that function after C-q.
920 2005-07-17  Roland Illig  <roland.illig@gmx.de>
922         * view.c: The viewer can remember the last file position and
923         restore it, like the editor. This fixes Savannah bug #13734.
924         * view.h: Likewise.
925         * setup.c: Likewise.
927 2005-07-14  Roland Illig  <roland.illig@gmx.de>
929         * util.c (get_compression_type): Use an enumeration instead of
930         an int for the return type.
931         * util.h: Likewise.
933 2005-07-13  Roland Illig  <roland.illig@gmx.de>
935         * view.c: Always call display() before close_error_pipe() to make
936         sure the screen looks nice.
937         http://mail.gnome.org/archives/mc-devel/2005-July/msg00194.html
939 2005-07-12  Roland Illig  <roland.illig@gmx.de>
941         * view.c: Added some paragraph comments. Changed some literal
942         expressions (e.g. 0 => '\0', 0 => NULL). Fixed indentation.
943         * view.c (view_hexedit_save_changes): Use the VFS file functions
944         instead of the native ones. This makes it possible to edit
945         remote files using the hex editor.
947 2005-07-11  Roland Illig  <roland.illig@gmx.de>
949         * view.c (view_update_bytes_per_line): Use a local variable to
950         do the computation. Update view->bytes_per_line only once, after
951         all computations have finished.
953 2005-07-09  Pavel Tsekov  <ptsekov@gmx.net>
955         * info.c (info_show_info): Properly calculate the length of the
956         line drawn by hline().
958 2005-07-07  Roland Illig  <roland.illig@gmx.de>
960         * view.c (view_ccache_find): Replaced the linear search with a
961         binary search. This speeds up the viewer by a factor of 25 for
962         large files (> 100 MB).
964 2005-07-07  Roland Illig  <roland.illig@gmx.de>
966         * dialog.h: Replaced object-like macros with implicit references
967         to an identifier ``h'' with function-like macros. Adjusted all
968         users.
969         * dialog.c: Likewise.
970         * find.c: Likewise.
971         * tree.c: Likewise.
972         * widget.c: Likewise.
973         * widget.c (widget_selectcolor): New function that selects a
974         color among DLG_{HOT_,}{FOCUS,NORMAL}C.
976 2005-07-07  Roland Illig  <roland.illig@gmx.de>
978         * view.c (view_compute_areas): Fixed a bug noted by Pavel
979         Tsekov. The coordinates are now relative to the Widget, as they
980         should be.
981         * view.c (view_status): Renamed to view_display_status().
982         * view.c: view_display_status() is called inside display().
983         * view.c (view_update_bytes_per_line): Fixed integer overflow
984         bug.
985         * view.c (view_compute_areas, view_percent, view_display_status,
986         view_display_ruler): Fixed screen overflow bugs.
987         * view.c (view_display_text): Fixed handling of tabulators.
989 2005-07-06  Roland Illig  <roland.illig@gmx.de>
991         * view.c: Changed some variables from int to screen_dimen.
992         Instead of relying on each of the view_display_* functions to
993         compute the correct coordinates they are managed using the new
994         function view_compute_areas(). In the view_display_* functions,
995         all calculations are done 0-based; before, the calculation had
996         involved the relative position of the area. Removed "static"
997         variables from view_status(). Simplified view_display_clean().
999 2005-07-06  Pavel Tsekov  <ptsekov@gmx.net>
1001         * complete.c: Fix autocompletion for single possible path when
1002         "complete show all" is set.
1004 2005-07-05  Roland Illig  <roland.illig@gmx.de>
1006         * achown.c: Changed all references to umode_t into mode_t.
1007         * chmod.c: Likewise.
1008         * file.c: Likewise.
1009         * view.c (view_load): Don't try to use fcntl() with VFS file
1010         handles. That cannot work.
1011         * textconf.c: mc --version prints the size of commonly used data
1012         types.
1014 2005-07-03  Roland Illig  <roland.illig@gmx.de>
1016         * textconf.c: mc --version prints the number of bits of off_t.
1018 2005-07-01  Roland Illig  <roland.illig@gmx.de>
1020         * view.c (view_fix_cursor_position): Fixed a division-by-zero
1021         bug, which had been reported by Dirk Jagdmann and Pavel Tsekov.
1022         Pavel also tracked down the bug.
1024 2005-06-30  Roland Illig  <roland.illig@gmx.de>
1026         * view.c (view_growbuf_load_until): Check the datasource in the
1027         right place. (get_byte_growing_buffer): Removed an unnecessary
1028         assertion. (view_file_load_data): Make sure the right datasource
1029         is selected. (view_set_byte): This function is only expected to
1030         be called when datasource == DS_FILE. Removed unused code.
1031         * global.h: Don't use MC_ENABLE_DEBUGGING_CODE to decide whether
1032         to enable or disable assertions. Just use the default value.
1034 2005-06-28  Roland Illig  <roland.illig@gmx.de>
1036         * view.c: Simplified error handling when loading files.
1037         * view.c (normal_search): Replaced with normal_search_cmd().
1038         (do_regexp_search): Removed unnecessary type cast.
1039         (do_normal_search): Likewise.
1040         * view.c (display): Changed return type to void.
1041         * view.c (display): Splitted up into view_display_hex() and
1042         view_display_text().
1043         * ext.c (get_file_type_local): Redirect error messages from
1044         file(1) to /dev/null.
1046 2005-06-27  Roland Illig  <roland.illig@gmx.de>
1048         * view.c: Massive speed-ups by reordering statements and declaring
1049         functions as inline.
1050         * view.c: Renamed view_quit to want_to_quit and changed its type
1051         to gboolean.
1052         * view.c: Eliminated the need for function pointer casts.
1054 2005-06-22  Pavel Tsekov  <ptsekov@gmx.net>
1056         * main.h: Export edit_one_file.
1057         * main.c (setup_dummy_mc): Remove dummy dir_list and remove argument.
1058         * main.c (mc_maybe_editor_or_viewer): Fix a double free and restructure
1059         according to fixes to setup_dummy_mc().
1060         * dir.c (expand_format): Use edit_widget->filename as fname when
1061         invoked as mcedit.
1063 2005-06-21  Pavel Roskin  <proski@gnu.org>
1065         * view.c (view_percent): Remove unused variable.
1067 2005-06-14  Roland Illig  <roland.illig@gmx.de>
1069         * achown.c (advanced_chown_callback): Swapped the arguments of a
1070         recursive function call -- the types didn't match.
1071         * widget.h (buttonbar_clear_label): Added.
1072         * widget.c: Likewise.
1073         * help.c: Use buttonbar_clear_label().
1074         * tree.c: Likewise.
1075         * widget.c: Added code to handle multiple types of functions for
1076         commands.
1077         * widget.h: Likewise.
1078         * widget.h (struct WButtonBar): Moved into widget.c.
1079         * widget.c (struct WButtonBar): Moved from widget.h.
1080         * boxes.c: Don't dereference WButtonBar.
1081         * help.c: Likewise.
1082         * layout.c: Likewise.
1083         * view.c: Likewise.
1084         * view.c: Fixed an integer wraparound bug.
1085         * view.c (view_get_filesize_with_exact): Removed. The replacement
1086         function is view_may_still_grow(), which does not overlap with
1087         view_get_filesize().
1089 2005-06-08  Roland Illig  <roland.illig@gmx.de>
1091         * util.h (free_after): Moved to vfs/smbfs.c, as this is the only
1092         place where it is used. This is necessary because the SunPro
1093         compiler creates external references even for functions that are
1094         only referred to in unused inline functions.
1096 2005-06-07  Leonard den Ottolander  <leonard den ottolander nl>
1098         * main.c (midnight_callback): Also match tabs as empty command.
1100 2005-06-07  Jindrich Novy  <jnovy@redhat.com>
1102         * command.c (command_callback): Fixed gcc warning about
1103         incompatible pointer types.
1105 2005-06-07  Pavel Tsekov  <ptsekov@gmx.net>
1107         * subshell.c (exit_subshell): Do not blindly perform cleanup.
1109 2005-06-07  Roland Illig  <roland.illig@gmx.de>
1111         * view.c (view_ccache_lookup): Replaced the min_nroff_column
1112         variable with a state chart, which makes the code clearer and
1113         fixes a bug in translating line/column pairs into offsets.
1114         * view.c (view_move_up): In text wrap mode, don't display parts
1115         of lines that only consist of the (invisible) newline character.
1116         * view.c (view_move_down): Likewise.
1118 2005-05-31  David Martin  <dmartina@excite.com>
1120         * info.c: Localize label.
1122 2005-05-29  Leonard den Ottolander  <leonard * den ottolander nl>
1124         * boxes.c: Added checkbox to VFS dialog to allow passive FTP
1125         over a proxy.
1127 2005-05-29  Jindrich Novy  <jnovy@redhat.com>
1129         * main.c (midnight_callback): Fix blocking of panel cd-ing when
1130         there are only spaces on the command line.
1132 2005-05-26  Roland Illig  <roland.illig@gmx.de>
1134         * view.c: Completely rewrote the cursor movement code. Now all
1135         cursor movement functions are based on two functions that
1136         translate file offsets into line/column pairs and vice versa.
1137         This change made it possible that the line/column is displayed
1138         in the status line. The beginning-of-line and end-of-line
1139         functions now work in text mode, too. Switching from non-wrap to
1140         wrap mode does not cause the whole file to be loaded.
1142 2005-05-24  Roland Illig  <roland.illig@gmx.de>
1144         * widget.c: Fixed all but one casts on function pointers.
1145         * widget.h: Fixed prototype of input_callback().
1147 2005-05-23  Roland Illig  <roland.illig@gmx.de>
1149         * help.c: Fixed the use of check_movement_keys(). This had been
1150         really ugly code, involving casts on incompatible functions.
1151         * command.c: Removed casts on function pointer types.
1152         * util.h: Added const-preserving version of strstr().
1153         * util.c: Likewise.
1154         * find.c: Removed a function cast by using the wrapper function
1155         cstrstr().
1156         * filegui.c: Removed unnecessary function casts.
1157         * fileopctx.c: Likewise.
1158         * help.c: Removed function casts.
1159         * info.c: Removed function casts.
1160         * main.h: Changed the type of quiet_quit_cmd() from int to void.
1161         * main.c: Likewise. Removed function cast.
1162         * menu.c: Removed function casts.
1163         * screen.c: Removed function casts.
1164         * tree.c: Removed function casts and provided wrappers where
1165         necessary.
1167 2005-05-22  Pavel Roskin  <proski@gnu.org>
1169         * view.c: Better fix for the gcc 4.0.0 warnings.  Fix callees
1170         rather than callers.
1172 2005-05-21  Roland Illig  <roland.illig@gmx.de>
1174         * view.c: Made the F2 key action much simpler---now it just
1175         toggles between hexview and hexedit mode. Switching between text
1176         and hex mode can be done with <tab>, as before.
1177         * view.c: Renamed dpy_text_start to dpy_topleft, as it does not
1178         only apply to text mode. Renamed dpy_text_start_col to
1179         dpy_text_column. Renamed edit_cursor to hex_cursor, as it is
1180         used in hexview mode, too.
1181         * view.c (view_labels): Simplified the code that decides whether
1182         the user can switch to hexedit mode.
1183         * win.h: Removed a const qualifier from the type movefn, as these
1184         functions typically modify their object.
1185         * win.c: Likewise.
1187 2005-05-20  Pavel Roskin  <proski@gnu.org>
1189         * find.c: Fix warnings reported by gcc 4.0.0.
1190         * mountlist.c: Likewise.
1191         * screen.c: Likewise.
1192         * view.c: Likewise.
1194         * dialog.c (dlg_select_widget): Remove first argument, it's
1195         redundant.  Adjust all callers.
1196         (dlg_replace_widget): Likewise.
1198 2005-05-11  Roland Illig  <roland.illig@gmx.de>
1200         * charsets.c (translate_character): Fixed checking of the return
1201         value of iconv().
1203 2005-05-10  Pavel Roskin  <proski@gnu.org>
1205         * .c: Sanitize all calls to functions from ctype.h.  Fix gcc 4.0
1206         warnings.
1208         * file.c: Remove unneeded WANT_WIDGETS.
1209         * layout.c: Likewise.
1210         * setup.c: Likewise.
1211         * view.c: Likewise.
1213 2005-05-10  Roland Illig  <roland.illig@gmx.de>
1215         * find.c (find_parameters): Moved around and reordered dialog
1216         items to make their meaning clearer.
1218 2005-04-03  Pavel Roskin  <proski@gnu.org>
1220         * screen.c (try_to_select): Don't call display_mini_info(), it
1221         will be called later because select_item sets panel->dirty.
1222         This fixes the mini status appearing first after Ctrl-O.
1224 2005-04-27  Roland Illig  <roland.illig@gmx.de>
1226         * view.c: Changed use of view->text_wrap_mode to reflect its
1227         type, being gboolean. That is, only use boolean operators and
1228         TRUE/FALSE for assignment. Bug reported by Jindrich Makovicka.
1230 2005-04-26  Roland Illig  <roland.illig@gmx.de>
1232         * view.c: Added some calls to str_unconst() to get rid of the
1233         GCC warnings.
1234         * global.h: Define NDEBUG (used by assert() depending on
1235         MC_ENABLE_DEBUGGING_CODE).
1237 2005-04-25  Roland Illig  <roland.illig@gmx.de>
1239         * view.c (view_move_forward2): Fixed a bug related to the return
1240         value, which had made the down and page-down keys no-ops.
1241         * view.c (init_growing_view): Renamed to
1242         view_load_command_output(). Removed dead code. Removed unused
1243         parameter.
1244         * view.c (offset_type): Adjusted the PRI[dX] constants to be
1245         like the ISO C99 PRI* constants.
1246         * view.c (struct WView): Replaced view->last with
1247         view->dpy_complete. The former variable's name didn't match its
1248         value.
1250 2005-04-22  Roland Illig  <roland.illig@gmx.de>
1252         * view.c (view_move_forward2): Fixed a bug discovered by
1253         Jindrich Makovicka. The return value did not take into account
1254         the value of the `upto' parameter.
1255         * view.c (view_move_forward2): Added more assertions. Rewrote
1256         condition for breaking out of the loop when upto == 0.
1257         * view.c (display): Fixed operator precedence with ?: in hex
1258         display.
1260 2005-04-19  Roland Illig  <roland.illig@gmx.de>
1262         * view.c (view_file_load_data): Removed the requirement for
1263         ds_file_datasize to be a power of two.
1264         * view.c (struct WView): Renamed nib_shift to hexedit_lownibble.
1265         Replaced 0 literals with FALSE.
1266         * view.c (view_free_growing_buffer): Renamed to
1267         view_growbuf_free(). Simplified the code.
1268         * view.c (view_move_forward2): Early return if get_byte() returns
1269         -1.
1270         * view.c: Replaced const_cast with str_unconst.
1271         * view.c (display): Extracted the code for drawing the ruler into
1272         its own function, view_display_ruler(). Rewrote it.
1274 2005-04-18  Roland Illig  <roland.illig@gmx.de>
1276         * view.c (struct WView): Moved the growing buffer variables
1277         between the data source and the display section.
1278         * view.c (save_edit_changes): Renamed to
1279         view_hexedit_save_changes().
1281 2005-04-17  Roland Illig  <roland.illig@gmx.de>
1283         * view.c (save_edit_changes): Completely rewritten to be robust
1284         on errors. All changed bytes that could not be saved are kept
1285         in the change list, so that the user can try to save them later.
1286         * view.c (view_set_byte): Added for save_edit_changes().
1287         * view.c (display): view_place_cursor() is called after displaying
1288         in hex mode.
1289         * view.c (save_edit_changes): Changed return type to gboolean.
1290         * view.c (view_ok_to_quit): Changed return type to gboolean.
1291         Adjusted returned values.
1292         * view.c (view_load): Changed return type to gboolean. Adjusted
1293         returned values.
1294         * view.c (view): Rewrote the code a little bit.
1295         * view.h (view): Rewrote the comment.
1296         * view.c: Eliminated some ?: operators.
1297         * view.c: Corrected some typos and indentation.
1298         * view.c: Added four functions view_get_top(), view_get_left(),
1299         view_get_bottom(), view_get_right() to mark the bounds of the
1300         rectangle that can be used for displaying data. Expressed
1301         view_get_datalines() and view_get_datacolumns() in terms of
1302         these four functions.
1303         * view.c (display): Simplified the ruler drawing code.
1304         * view.c (display): Renamed width and height to right and bottom.
1305         The values of the variables aren't really the width and height
1306         of anything.
1307         * view.c (display): Renamed frame_shift to left or top, whatever
1308         is more appropriate.
1309         * view.c (view_set_datasource_string): Removed call to
1310         view_close_datasource() for consistency with the other
1311         view_set_datasource_*() functions. Adjusted the callers.
1313 2005-04-16  Roland Illig  <roland.illig@gmx.de>
1315         * view.c (struct WView): Renamed have_frame to dpy_frame_size.
1316         * view.c (view_is_in_panel): Added.
1317         * view.c (view_percent): Removed the last parameter, as it has
1318         always the same value.
1319         * view.c: Code cleanup.
1320         * view.c (struct WView): Removed start_col. Added
1321         dpy_text_start_col, which has a similar function like start_col,
1322         but does not have negative values. Added bounds checking for
1323         dpy_text_start_col. Code cleanup, as usual.
1324         * view.c (struct WView): Renamed start_display to dpy_text_start.
1325         Fixed one invalid use of bit arithmetics (line 1819).
1326         * view.c: Added the `byte' type as an alias for unsigned char.
1327         Converted some datasources to using byte as the base type.
1328         Removed the superfluous type conversions.
1329         * view.c (vwidth, vheight): Replaced these two macros with their
1330         expansion. They looked like variables, which was irritating.
1331         * view.c (view_get_datacolumns): Added. Replaced equivalent
1332         expressions to call this function.
1333         * view.c (display): Removed the call to the empty macros
1334         view_freeze() and view_thaw(). Deleted these macros, as they
1335         are otherwise unused.
1336         * view.c (enqueue_change): Made the algorithm independent of the
1337         memory layout (especially the order) of the fields in struct
1338         hexedit_change_node. Rewrote it.
1339         * view.c (free_change_list): Don't use view->change_list as
1340         scratch variable.
1342 2005-04-14  Roland Illig  <roland.illig@gmx.de>
1344         * util.h (str_unconst): Added a conditional INLINE_STR_UNCONST
1345         that makes str_unconst() an inline function.
1347 2005-04-14  Roland Illig  <roland.illig@gmx.de>
1349         * view.c (struct WView): Removed the view_active field. It was
1350         practically equivalent to view->datasource != DS_NONE.
1351         * view.c (do_view_init): Renamed to view_load().
1352         * view.c (view_new): Every field of the WView is initialized
1353         explicitly.
1354         * view.c: Removed the "file monitor" feature (tail -f). It has
1355         not been working since at least mc-4.6.0.
1356         * view.c (struct WView): Removed the "first" field, as it was
1357         always 0.
1358         * view.c (struct WView): Renamed hexedit_text to hexview_in_text.
1359         * view.c (struct WView): Changed the type of hex_mode to gboolean.
1360         Fixed one non-boolean operation in toggle_wrap_mode().
1361         * view.c (struct WView): Renamed viewer_nroff_flag to
1362         text_nroff_mode.
1363         * view.c (struct WView): Moved hexedit_mode into the "Editor
1364         modes" section.
1365         * view.c (struct WView): Renamed viewer_magic_flag to magic_mode.
1366         * view.c (struct WView): Renamed wrap_mode to text_wrap_mode, as
1367         it only applies to the text viewer.
1368         * view.c (struct WView): Renamed growing_buffer to growbuf_in_use,
1369         blocks to growbuf_blocks, block_ptr to growbuf_blockptr.
1370         * view.c (struct WView): Renamed ds_file_size to ds_file_filesize,
1371         to avoid confusion with ds_file_datasize.
1372         * layout.c: Followed the renaming of view_init() to view_load().
1373         * view.h: Likewise.
1375 2005-04-13  Roland Illig  <roland.illig@gmx.de>
1377         * util.h (str_unconst): Provide a replacement for the const_cast
1378         macro from global.h.
1379         * util.c (str_unconst): Likewise.
1381         * view.c (struct WView): Removed the last_byte field, because it
1382         got too complex maintaining it together with the new datasource
1383         framework. The function view_get_filesize() now takes its place.
1384         Corrected the type of the growing buffer to unsigned char. Added
1385         a field growbuf_finished to indicate when all data has been read.
1386         * view.c (view_move_cursor_to_eol): Renamed to
1387         view_hexview_move_to_eol().
1388         * view.c (view_get_filesize): Added.
1389         * view.c (view_get_filesize_with_exact): Added.
1390         * view.c (get_byte_indexed): get_byte with bounds checking.
1391         * view.c (view_growbuf_read_until): Closes the datasource after
1392         reading has finished.
1393         * view.c (view_percent): The percentage is only shown when its
1394         exact value can be computed.
1395         * view.c (view_status): The [grow] field has been removed from
1396         the status line. Instead, the filesize is reported as ">= n"
1397         bytes.
1398         * view.c (count_backspaces): Added a bounds check.
1399         * view.c (display): Using get_byte_indexed instead of get_byte.
1400         * view.c (move_forward2): Renamed to view_move_forward2 because
1401         of the equally-named function in src/help.c.
1402         * view.c (get_bottom_first): Added bounds checking.
1403         * view.c (move_right): Simplified the code.
1404         * view.c (goto_addr): Fixed an off-by-one error.
1405         * view.c (view_close_datasource): For the growing buffer cases,
1406         check if the datasource has already been closed before.
1407         * view.c (view_handle_editkey): Simplified the code.
1408         * view.c (get_byte_growing_buffer): Added bounds checking.
1410 2005-04-07  Roland Illig  <roland.illig@gmx.de>
1412         * view.c: Removed mmap(2) support. Now regular files are
1413         accessed using mc_read(). Added a framework for datasources.
1414         Introduced assertions. Removed some variables (e.g. view->data)
1415         that were used for many things simultaneously.
1417 2005-04-07  Roland Illig  <roland.illig@gmx.de>
1419         * dialog.h: Removed a comma at the end of an enumeration, because
1420         ANSI does not permit it.
1422 2005-04-06  Roland Illig  <roland.illig@gmx.de>
1424         * x11conn.c (x_io_error_handler): Close the X11 connection when
1425         a protocol error occurs. Otherwise the X11 connection is held
1426         open, which may keep ssh from closing the connection.
1428 2005-03-28  Pavel Roskin  <proski@gnu.org>
1430         * screen.c (chdir_other_panel): When used on a file entry, move
1431         selection on the inactive panel to select the entry for the
1432         current directory on the active panel.
1434 2005-03-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
1436         * keyxdef.c: Constify struct qnx_key_define_s typedef.
1438 2005-03-25  Mike Gorchak  <mike@malva.ua>
1440         * key.c (get_modifier): Fixed dynamic loading of the Photon
1441         library for shift keys, only current version of libph used now.
1442         (qansi_key_defines): Swapped Gray '-' and '+' codes definitions,
1443         due to fixed bugs in the QNX6's console driver.
1445 2005-03-23  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1447         * util.c (load_file_position): Fix mcedit position save bug. Read a
1448         number after ';'.
1450         From Christian Hamar  <krics@linuxforum.hu>
1452 2005-03-21  Pavel Roskin  <proski@gnu.org>
1454         * key.c (init_key): Load xterm_key_defines for terminals with
1455         names starting with "rxvt".
1457 2005-03-19  Pavel Roskin  <proski@gnu.org>
1459         * slint.c: Don't use private S-Lang functions if they are
1460         unavailable.
1462 2005-03-17  Pavel Roskin  <proski@gnu.org>
1464         * screen.c (chdir_other_panel): Prevent changing current
1465         directory.  Remove incorrect comment.
1467         * achown.c (update_permissions): Partly revert recent changes
1468         because they cause infinite recursion.
1470 2005-03-10  Roland Illig  <roland.illig@gmx.de>
1472         * x11conn.c: Separated X11 connection handling from key.c. Added
1473         error handling for X11 errors and connection errors.
1474         * x11conn.h: The interface for x11conn.h.
1475         * key.c: Now using the x11conn code.
1476         * Makefile.am: Added x11conn.{h,c}.
1478 2005-02-26  Miguel de Icaza  <miguel@novell.com>
1480         * screen.c (chdir_other_panel): Restored original functionality.
1482         (sync_other_panel): This is now bound to the key Alt-i, and is the
1483         functionality that was lost.
1485 2005-01-29  Miguel de Icaza  <miguel@novell.com>
1487         * utilunix.c (init_groups): Added support for getgrouplist().
1488         Patch from Stefan Gohmann <gohmann@univention.de>.
1490 2005-02-23  Roland Illig  <roland.illig@gmx.de>
1492         * tty.h: Moved the function printwstr() to slint.c, because the
1493         SunPro compiler does not eliminate unused inline functions.
1494         * slint.c: printwstr() has been moved to here.
1495         * unixcompat.h: Only include <sys/sysmacros.h> if we're on AIX,
1496         as Solaris defines the macros twice---once in <sys/mkdev.h>,
1497         and once in <sys/sysmacros.h>.
1499 2005-02-23  Roland Illig  <roland.illig@gmx.de>
1501         * screen.c: Changed the return type of ilog10() to unsigned int
1502         and adjusted some variables in format_device_number().
1504 2005-02-22  Roland Illig  <roland.illig@gmx.de>
1506         * unixcompat.h: Added missing parenthesis to the minor() macro.
1508 2005-02-12  Roland Illig  <roland.illig@gmx.de>
1510         * info.c (info_show_info): Casted st_mode to unsigned to avoid
1511         compiler warning on Solaris 9 (st_mode is unsigned long there).
1513 2005-02-12  Jindrich Novy  <jnovy@redhat.com>
1515         * vfs.c (vfs_translate_url): Add support for smb://, sh://,
1516         ssh:// and mc:// filesystem requests. Introduced separate table
1517         for vfs aliases.
1518         * util.c (strip_password): Modifications to take the aliases into
1519         account while eliminating passwords.
1521         The original patch was extended by Roland Illig.
1523 2005-02-12  Roland Illig  <roland.illig@gmx.de>
1525         * screen.c: Reverted my changes from 2005-02-08 (except the
1526         maybe_cd() calls) to not confuse the upcoming UTF-8 patches.
1528 2005-02-12  Andrew V. Samoilov  <sav@bcs.zp.ua>
1530         * glibcompat.c: Add g_strlcat() declaration for glib 1.2.x
1532 2005-02-11  Roland Illig  <roland.illig@gmx.de>
1534         * screen.c (string_file_name): Fixed the displaying of long file
1535         names. The bug had been introduced by me on 2005-02-08.
1536         * screen.c (string_file_nlinks): Likewise.
1538 2005-02-08  Roland Illig  <roland.illig@gmx.de>
1540         * dialog.c: Marked unused parameters. Now dlg_broadcast_msg_to()
1541         does what the comment above it says.
1542         * main.c (maybe_cd): Removed unused parameter.
1543         * main.h: Likewise.
1544         * screen.c: Marked unused parameters. Updated use of maybe_cd().
1545         * cons.handler.c: Marked unused parameters.
1546         * dir.c: Likewise.
1547         * find.c: Likewise.
1548         * help.c: Likewise.
1549         * layout.c: Likewise.
1550         * mountlist.c: Likewise.
1551         * popt.c: Likewise.
1552         * poptconfig.c: Likewise.
1553         * popthelp.c: Likewise.
1554         * regex.c: Likewise.
1555         * subshell.c: Likewise.
1556         * tree.c: Likewise.
1557         * util.c: Likewise.
1558         * utilunix.c: Likewise.
1559         * widget.c: Likewise.
1560         * wtools.c: Likewise.
1562 2005-02-08  Roland Illig  <roland.illig@gmx.de>
1564         * screen.c (string_file_*): Don't use static buffers.
1565         * screen.c (format_file): Provide a buffer for the string_file_*()
1566         functions.
1568 2005-02-08  Roland Illig  <roland.illig@gmx.de>
1570         * widget.h: Renamed define_label() to buttonbar_set_label(). Renamed
1571         define_label_data to buttonbar_set_label_data. Renamed
1572         redraw_labels() to buttonbar_redraw().
1573         * widget.c: Likewise.
1574         * help.c, main.c, screen.c, tree.v, view.c: Likewise.
1575         * util.h: Added macro str_cmp to allow syntactically nice string
1576         comparison.
1578 2005-02-08  Roland Illig  <roland.illig@gmx.de>
1580         * *.c: Reordered header inclusion.
1582 2005-02-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
1584         * ext.c (regex_command): Eliminate g_string_*().
1586 2005-02-08  Roland Illig  <roland.illig@gmx.de>
1588         * dialog.h: Moved and reformatted #definitions.
1589         * execute.h: Likewise.
1590         * mouse.h: Likewise.
1591         * widget.h: Moved constants to the appropriate places (just
1592         before the variable they will be used with).
1593         * widget.c: HISTORY_FILE_NAME was not needed in widget.h,
1594         so it has been made private to this file.
1596 2005-02-07  Roland Illig  <roland.illig@gmx.de>
1598         * unixcompat.h: Emit warnings for the fallback case of the
1599         major/minor/makedev macros.
1601 2005-02-07  Roland Illig  <roland.illig@gmx.de>
1603         * view.c: Changed type of view->blocks from int to size_t.
1604         * view.c: Removed unused parameters from local functions.
1605         * view.c: Reordered #include files.
1607 2005-02-07  Roland Illig  <roland.illig@gmx.de>
1609         * ext.c: Improved message formatting.
1611 2005-02-06  Roland Illig  <roland.illig@gmx.de>
1613         * widget.h: Added a new function button_get_text.
1614         * widget.c: Likewise.
1616 2005-02-06  Roland Illig  <roland.illig@gmx.de>
1618         * achown.c (get_ownership): Simplified the code. Now it is
1619         more independent of the WButton internals.
1620         * achown.c (get_ownership): Renamed to update_ownership.
1621         * achown.c (update_permissions): Update the permission widgets
1622         without accessing WButton->text directly.
1623         * achown.c (print_flags): Use update_permissions.
1624         * achown.c (chown_info_update): Likewise.
1626 2005-02-05  Roland Illig  <roland.illig@gmx.de>
1628         * util.h (msglen): Converted from a function to a procedure.
1629         * util.c (msglen): Changed variable names and did a speedup.
1630         * hotlist.c (add_new_entry_input): Using new msglen function.
1631         * hotlist.c (add_new_group_input): Likewise.
1632         * wtools.c (query_dialog): Likewise.
1633         * wtools.c (fg_input_dialog_help): Likewise.
1635 2005-02-02  Andrew V. Samoilov  <sav@bcs.zp.ua>
1637         * find.c: Implement non-recursive 'Find file' feature.
1638         Original patch by Andrew Borodin <aborodin@vmail.ru> .
1640         * utilunix.c (mc_realpath) [USE_SYSTEM_REALPATH]: Use realpath().
1642 2005-02-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
1644         * utilunix.c (init_groups): Use glib memory allocation functions.
1646 2005-01-31  Roland Illig  <roland.illig@gmx.de>
1648         * view.c: Eliminated two global variables and put them into the
1649         WView structure.
1651 2005-01-29  Miguel de Icaza  <miguel@novell.com>
1653         * utilunix.c (init_groups) [HAVE_GETGROUPLIST]: Use getgrouplist().
1654         Original patch by Stefan Gohmann <gohmann@univention.de>
1656 2005-01-17  Roland Illig  <roland.illig@gmx.de>
1658         * info.c (info_show_info): Enabled display of the device number,
1659         for the case that the column in the directory listing is too
1660         short. This had been disabled since 1994, for no obvious reason
1661         and without any comment.
1662         * screen.c (format_device_number): Added. Converts a device number
1663         into a bounded string.
1664         * screen.c (string_file_size): Support for larger device numbers
1665         (and for non-Linux systems).
1667 2005-01-26  Roland Illig  <roland.illig@gmx.de>
1669         * tty.h (printwstr): Added a function to print a string
1670         left-aligned in a bounded box.
1671         * unixcompat.h (major/minor): Added support for AIX.
1672         * unixcompat.h: Added makedev macro.
1674 2005-01-25  Roland Illig  <roland.illig@gmx.de>
1676         * unixcompat.h: Provides macros and functions that are missing in
1677         some Unix variants.
1678         * Makefile.am: Added unixcompat.h.
1680 2005-01-25  Roland Illig  <roland.illig@gmx.de>
1682         * dialog.h (widget_msg_t): Added WIDGET_RESIZED to inform widgets
1683         that they had been resized.
1684         * dialog.c (widget_set_size): Send a WIDGET_RESIZED message after
1685         setting the size.
1686         * layout.c (panel_do_cols): Don't explicitly update the
1687         bytes_per_line of a hexview WView.
1688         * view.h (view_update_bytes_per_line): Removed from the interface
1689         to WView.
1690         * view.c (view_update_bytes_per_line): Declared as `static'.
1691         * view.c (view_callback): Call update_bytes_per_line when the
1692         WView is initialized and whenever a WIDGET_RESIZED message is
1693         received.
1695 2005-01-19  Jindrich Novy  <jnovy@redhat.com>
1697         * main.c (_do_panel_cd): Delete leading spaces from URL
1698         before vfs_translate_url() call.
1700 2005-01-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
1702         * subshell.c (subshell_name_quote): Eliminate sprintf(d, "%c", ...).
1703         (do_subshell_chdir): Eliminate strlcpy() and optimize.
1705 2005-01-14  Pavel Shirshov  <me@pavelsh.pp.ru>
1707         * subshell.c (do_subshell_chdir): Use mc_realpath() to fix tcsh's
1708         problem with symlink.
1709         * utilunix.c: Add function mc_realpath(). Is the BSD version of
1710         realpath(3).
1711         * util.h: Add mc_realpath() declaration.
1713 2004-12-13  Andrew V. Samoilov  <sav@bcs.zp.ua>
1715         * find.c (find_parameters): Use translated string.
1717 2004-12-10  Andrew V. Samoilov  <sav@bcs.zp.ua>
1719         * command.c (enter): Speed up and simplify.
1721 2004-12-08  Pavel Shirshov  <me@pavelsh.pp.ru>
1723         * subshell.c (init_subshell_child): Don't g_strdup() constant string
1724         in putenv() calls.
1726 2004-12-03  Roland Illig  <roland.illig@gmx.de>
1728         * *.h: Renamed multiple inclusion guards that started with a
1729         double underscore. Added #includes for dependent files.
1730         * popt.c: Likewise.
1731         * popthelp.c: Likewise.
1732         * tree.c: Moved a macro from tree.h to here, as it is useless
1733         outside tree.c.
1734         * view.c: Removed unused macro.
1736 2004-12-02  Roland Illig  <roland.illig@gmx.de>
1738         * view.c (struct WView): Renamed some variables to reflect the
1739         actual use. (view_growbuf_read_until): Moved the growing buffer
1740         handling out of get_byte.
1741         * view.c: Cleaned up the code. Added error handling for the
1742         growing buffer case.
1743         * util.c (extension): Simplified the code.
1744         * util.c (cstrcasestr): Added a function to search for a
1745         substring ignoring case.
1746         * util.h: Added cstrcasestr.
1747         * find.c: Added plaintext search mode.
1749 2004-12-02  Andrew V. Samoilov  <sav@bcs.zp.ua>
1751         * file.c (make_symlink): Constify r.
1753 2004-12-02  Leonard den Ottolander  <leonard * den ottolander nl>
1755         * file.c (copy_dir_dir): Code cleanup (removal of unnecessary goto,
1756         redundant comment, indentation).
1758 2004-12-02  Jindrich Novy  <jnovy@redhat.com>
1760         * filegui.c (init_replace): Use off_t instead of int for file
1761         sizes. Use proper format string parameter for size.
1763 2004-11-30  Pavel Tsekov  <ptsekov@gmx.net>
1765         * widget.c (listbox_drawscroll): Fix declaration of `slow_terminal'.
1766         (listbox_new): Likewise.
1768 2004-11-29  Pavel Tsekov  <ptsekov@gmx.net>
1770         * main.c (midnight_callback): Make the the keystrokes the invoke
1771         select_cmd(), unselect_cmd() and reverse_selection_cmd () work
1772         even if the command prompt is turned off.
1774         This bug was reported by Alex Yosifov.
1776 2004-11-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
1778         * execute.c (shell_execute): Optimize memory usage.
1779         * ext.c (regex_check_type): Likewise.
1781 2004-11-02  Pavel Tsekov  <ptsekov@gmx.net>
1783         * help.c (help_event): Fix offset of event area for mouse click.
1785 2004-11-19  Roland Illig  <roland.illig@gmx.de>
1787         * Makefile.am: Excluded pipethough.3 from the distribution
1788         as it is currently unused.
1790 2004-11-18  Pavel Shirshov  <me@pavelsh.pp.ru>
1792         * user.c (execute_menu_command): Revert last changes. Execute
1793         shell_execute() with flag EXECUTE_HIDE to prevent recording
1794         in ~/.bash_history.
1795         * execute.h: Add EXECUTE_HIDE flag. It's used to prefix the command
1796         with a space.
1797         * execute.c (shell_execute): Prefix the command with a space, if define
1798         EXECUTE_HIDE flag.
1800 2004-11-17  Roland Illig  <roland.illig@gmx.de>
1802         * screen.c (do_search): Ignore the backspace key on empty
1803         quick-search.
1805         From Egmont Koblinger <egmont * uhulinux hu>
1807 2004-11-15  Leonard den Ottolander  <leonard * den ottolander nl>
1809         * file.c: Code cleanup (mostly indentation).
1810         * user.c (execute_menu_command): Prefix the command with a space
1811         to prevent recording in ~/.bash_history.
1813 2004-11-12  Pavel Shirshov  <me@pavelsh.pp.ru>
1815         * user.c (expand_format): Return % with followed character if it
1816         without special meaning.
1818 2004-11-11  Roland Illig  <roland.illig@gmx.de>
1820         * popthelp.c (showHelpIntro): The basename of argv[0] starts after
1821         the last slash in argv[0], not after the first.
1823         From Egmont Koblinger <egmont * uhulinux hu>
1825 2004-11-10  Roland Illig  <roland.illig@gmx.de>
1827         * Makefile.am: Excluded pipethough.{c,h} from the distribution
1828         as they are currently unused.
1830 2004-11-10  Andrew V. Samoilov  <sav@bcs.zp.ua>
1832         * hotlist.c (unlink_entry): Add missed brackets.
1833         (add_new_entry_cmd): Fix memory leaks and double free()s.
1834         (add2hotlist_cmd): Eliminate static label_string.
1835         * regex.c: Define HAVE_WCTYPE_H to 0 if not defined to fix compilation.
1837 2004-11-09  Pavel Shirshov  <me@pavelsh.pp.ru>
1839         * util.c (strip_password): Fix bug - don't delete path from url.
1841 2004-11-09  Jindrich Novy  <jnovy@redhat.com>
1843         * filegui.c (file_mask_dialog): Fix memory leak.
1844         * hotlist.c (add_new_entry_cmd): Filter out a possible password
1845         dialogs.
1846         (add2hotlist_cmd): Likewise.
1848 2004-11-07  Leonard den Ottolander  <leonard * den ottolander nl>
1850         * slint.c (slang_init): Allow upto 512 lines and cols if the
1851         SLang library can handle it.
1853 2004-11-07  Roland Illig  <roland.illig@gmx.de>
1855         * key.c (use_8th_bit_as_meta): Use 8bit input as default.
1857         From Vladimir Nadvornik <nadvornik * suse cz>
1859 2004-11-04  Mike Gorchak  <mike@malva.ua>
1861         * dir.c (file_type_to_num): Added initial support for the Special Named
1862         Files. They are displayed as block devices, but with '#' prefix in it's
1863         names. Needed on QNX Neutrino.
1864         * file.c (copy_file_file): Likewise.
1865         * fs.h: Likewise.
1866         * screen.c (string_file_type): Likewise.
1867         (file_compute_color): Likewise.
1868         * util.c (string_perm): Likewise.
1870         * pipethrough.c: Added sys/select.h if found according to config.h.
1872 2004-11-04  Jindrich Novy  <jnovy@redhat.com>
1874         * screen.c (show_dir): A small fix to avoid a crash in show_dir() with
1875         a panel of more than 200 columns.
1877 2004-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
1879         * file.c (make_symlink): Use g_strlcpy() instead of strcpy().
1881 2004-11-03  Jindrich Novy  <jnovy@redhat.com>
1883         * subshell.c (do_subshell_chdir): Filter out a possible password from
1884         warning dialog.
1886         * command.c (do_cd_command): Likewise.
1888         * screen.c (panel_callback): Likewise.
1890         * util.c (path_trunc): Add function. path_trunc() is the same as
1891         name_trunc(), but it deletes possible password from path for security
1892         reasons.
1894         * util.h: Add functions path_trunc().
1896         * filegui.c (file_progress_show_target): Filter out a possible password
1897         from dialog.
1898         (file_progress_show_deleting): Likewise.
1899         (file_mask_dialog): Likewise.
1901         * file.c (move_file_file): Likewise.
1902         (move_dir_dir): Likewise.
1903         (file_error): Likewise.
1904         (files_error): Likewise.
1905         (real_query_recursive): Likewise.
1907         * hotlist.c (add2hotlist): Typo fix.
1909 2004-11-02  Pavel Tsekov  <ptsekov@gmx.net>
1911         * dialog.c (do_select_widget): Walk the whole widgets list looking
1912         for a widget accepting the focus.
1914 2004-11-01  Roland Illig  <roland.illig@gmx.de>
1916         * utilunix.c (mc_tmpdir): Use putenv(3) instead of setenv(3) if
1917         the latter is not available. Needed for Solaris.
1919 2004-10-29  Pavel Tsekov  <ptsekov@gmx.net>
1921         * complete.c (completion_matches): Fix duplicate completion matches
1922         if there are more than two matches available.
1924 2004-10-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
1926         * cmd.c (select_unselect_cmd): Collect repeated code from
1927         (un)?select_cmd here.  Fix rare off-by-one and memory leak if
1928         empty pattern passed.
1930         (select_cmd): Use select_unselect_cmd().
1931         (unselect_cmd): Likewise.
1933 2004-10-23  Roland Illig  <roland.illig@gmx.de>
1935         * complete.c (environ): Don't declare environ on Cygwin.
1936         * utilunix.c (mc_tmpdir): Convert uid to unsigned long for
1937         pathname of the temporary directory.
1939         From Pavel Tsekov <ptsekov gmx net>.
1941 2004-10-23  Roland Illig  <roland.illig@gmx.de>
1943         * regex.c (regerror): Never use the __memcpy function, as it
1944         breaks the build on Cygwin.
1946 2004-10-22  Roland Illig  <roland.illig@gmx.de>
1948         * regex.c: Fix the C preprocessor feature tests. They produced
1949         warnings before.
1950         * view.c (display): Fixed bug that displayed an empty file in
1951         hexview mode with growing buffers.
1953 2004-10-22  Pavel Shirshov  <me@pavelsh.pp.ru>
1955         * main.c (print_color_usage): Update list of keywords for global,
1956         menu and help.
1958 2004-10-21  Roland Illig  <roland.illig@gmx.de>
1960         * cons.saver.c (die): Declare as "static" to avoid gcc warning.
1961         (send_contents): Likewise.
1963 2004-10-20  Jakub Jelinek  <jakub@redhat.com>
1965         * user.c (user_menu_cmd): Fix error. test_line() doesn't handle
1966         consecutive '+'s and '='s correctly. Pass a line starting with
1967         a single '+' or '=' instead.
1969 2004-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
1971         * hotlist.c (add_new_entry_cmd): Fix memory leaks.
1973 2004-10-16  Roland Illig  <roland.illig@gmx.de>
1975         * file.c (do_file_error): Add const qualifier. (query_recursive):
1976         Likewise. (query_replace): Likewise.
1977         * view.c: Rename EOF_offset to INVALID_OFFSET, as it is mostly
1978         used to mark an invalid cache.
1980 2004-10-13  Jindrich Novy  <jnovy@redhat.com>
1982         * util.c (strip_password): Add "/#sh:".
1984 2004-10-12  Andrew V. Samoilov  <sav@bcs.zp.ua>
1986         * myslang.h: Check USE_INCLUDED_SLANG properly.
1988 2004-10-11  Roland Illig  <roland.illig@gmx.de>
1990         * utilunix.c (close_error_pipe): Fixed possible invalid memory access
1991         (three lines below).
1993 2004-10-11  Leonard den Ottolander  <leonard * den ottolander nl>
1995         * file.c (copy_dir_dir): Small text fix.
1997 2004-10-06  Alexander Savelyev  <i@fano.com.ua>
1999         * fileopctx.h (struct FileOpContext): Use off_t for offset.
2001 2004-10-05  Miroslav Rudisin  <miero+gnu@atrey.karlin.mff.cuni.cz>
2003         * util.c(strip_password): Add support for '@' in username.
2005 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
2007         * cons.saver.c: Partly rewritten cons.saver.c.
2009 2004-09-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
2011         * util.c (convert_controls): Fix possible buffer overflow
2012         for ".*^" strings.
2014 2004-09-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
2016         * complete.c [__linux__ && !__USE_GNU]: Fix compilation on Red Hat 7.3
2017         * util.c (convert_controls): Fix compilation.
2019 2004-09-26  Roland Illig  <roland.illig@gmx.de>
2021         * pipethrough.c: #include <string.h> to compile on Solaris.
2022         * util.h (convert_controls): Adjusted the comment to what the
2023         function really does.
2025 2004-09-26  Mike Gorchak  <mike@malva.ua>
2027         * key.c (qansi_key_defines[]): Add support for qansi-m terminals.
2028         Needed on QNX Neutrino. (correct_key_code): Likewise.
2030 2004-09-25  Roland Illig  <roland.illig@gmx.de>
2032         * pipethrough.c: Added pipethrough, a function to execute child
2033         processes in a simple way.
2034         * pipethrough.h: The interface for the function.
2035         * pipethrough.3: The manpage (will be installed in maintainer-mode).
2036         * Makefile.am: Added the files to SRCS.
2038 2004-09-25  Roland Illig  <roland.illig@gmx.de>
2040         * view.c (display): Recognize "+\bo" as a list item in nroff mode.
2041         Display "_\b_" correctly in both colors.
2043         * view.c (hex_search): Added const qualifier.
2044         * boxes.c (display_unit): Likewise.
2045         * command.c (examine_cd): Likewise. Additionally used g_strdup to
2046         not accidentally modify an environment variable.
2047         * complete.c (command_completion_function): Likewise.
2048         (filename_completion_function): Likewise. (try_complete): Likewise.
2049         (variable_completion_function): Likewise.
2050         * file.c (check_hardlinks): Likewise.
2051         * find.c (find_do_view_edit): Likewise. (find_file): Likewise.
2052         * global.h (home_dir): Likewise.
2053         * main.c (get_parent_dir_name): Likewise. (init_xterm_support):
2054         Likewise. (OS_Setup): Likewise.
2055         * menu.c (create_menu): Likewise.
2056         * mountlist.c (xatoi): Likewise. (read_filesystem_list): Likewise.
2057         * poptconfig.c (poptReadDefaultConfig): Likewise.
2058         * popthelp.c (showHelpIntro): Likewise.
2059         * rxvt.c (look_for_rxvt_extensions): Likewise.
2060         * slint.c (has_colors): Likewise.
2061         * subshell.c (check_sid): Likewise.
2062         * user.c (check_format_var): Likewise.
2063         * widget.c (radio_callback): Likewise.
2065 2004-09-25  Pavel Shirshov  <me@pavelsh.pp.ru>
2067         * boxes.c (configure_vfs): g_free handles NULL argument too,
2068         no need for the comparison.
2069         * cmd.c (set_panel_filter_to): Likewise.
2070             (do_link): Likewise.
2071             (quick_cd_cmd): Likewise.
2072         * color.c (done_colors): Likewise.
2073         * dialog.c (destroy_dlg): Likewise.
2074         * dir.c (alloc_dir_copy): Likewise.
2075         * ext.c (flush_extension_file): Likewise.
2076         * file.c (copy_file_file): Likewise.
2077             (panel_operate): Likewise.
2078         * hotlist.c (remove_group): Likewise.
2079             (remove_from_hotlist): Likewise.
2080             (done_hotlist): Likewise.
2081         * main.c (main): Likewise.
2082         * setup.c (panel_load_setup): Likewise.
2083         * tree.c (tree_destroy): Likewise.
2084             (show_tree): Likewise.
2085         * user.c (user_menu_cmd): Likewise.
2086         * utilunix.c (i_cache_add): Likewise.
2087             (putenv): Likewise.
2088         * view.c (view_done): Likewise.
2089             (regexp_search): Likewise.
2090             (normal_search): Likewise.
2091             (change_viewer): Likewise.
2092         * widget.c (label_set_text): Likewise.
2093             (set_label_text): Likewise.
2095 2004-09-24  Roland Illig  <roland.illig@gmx.de>
2097         * file.c (progress_update_one): Changed parameter type from int
2098         to off_t.
2100         Fixes http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124241
2102 2004-09-24  Roland Illig  <roland.illig@gmx.de>
2104         * util.c (load_file_position): Fixed possible segmentation fault
2105         when an $HOME/.mc/filepos did not contain a ';'.
2107 2004-09-24  Roland Illig  <roland.illig@gmx.de>
2109         * boxes.c: Replaced NULL with (char *) NULL. Likewise for 0, where
2110         NULL was meant.
2111         * cmd.c: Likewise.
2112         * dialog.c: Likewise.
2113         * ext.c: Likewise.
2114         * file.c: Likewise.
2115         * find.c: Likewise.
2116         * hotlist.c: Likewise.
2117         * learn.c: Likewise.
2118         * main.c: Likewise.
2119         * screen.c: Likewise.
2120         * setup.c: Likewise.
2121         * treestore.c: Likewise.
2122         * user.c: Likewise.
2123         * util.c: Likewise.
2124         * utilunix.c: Likewise.
2125         * view.c: Likewise.
2126         * widget.c: Likewise.
2127         * wtools.c: Likewise.
2129 2004-09-24  Roland Illig  <roland.illig@gmx.de>
2131         * cons.handler.c (handle_console_linux): Replaced NULL with
2132         (char *) NULL in call to execl.
2133         * subshell.c (init_subshell_child): Likewise.
2134         * utilunix.c (my_system): Likewise.
2136         From patches from the OpenBSD ports collection.
2138 2004-09-23  Roland Illig  <roland.illig@gmx.de>
2140         * main.c (OS_Setup): Fixed segmentation fault.
2142         From Oskar Liljeblad <oskar osk.mine.nu>
2144 2004-09-21  Leonard den Ottolander  <leonard * den ottolander nl>
2146         * filegui.c (file_mask_dialog): Expand tilde. Remove redundant
2147         ifs before g_free().
2149 2004-09-19  Roland Illig  <roland.illig@gmx.de>
2151         * achown.c: Added const qualifiers and const_cast.
2152         * background.c: likewise.
2153         * boxes.c: likewise.
2154         * file.c: likewise.
2155         * filegui.c: likewise.
2156         * find.c: likewise.
2157         * hotlist.c: likewise.
2158         * info.c: likewise.
2159         * layout.c: likewise.
2160         * myslang.h: likewise.
2161         * option.c: likewise.
2162         * user.c: likewise.
2163         * util.c: likewise.
2164         * utilunix.c: likewise.
2165         * view.c: likewise.
2166         * widget.c: likewise.
2167         * complete.c: Surrounded the declaration of environ by and #ifdef
2168         guard to avoid a GCC warning about a redundant declaration.
2169         * cmd.c: renamed edit() to edit_file() to avoid GCC shadow
2170         warnings (many variables are also called edit).
2171         * main.c: likewise.
2173 2004-09-19  Roland Illig  <roland.illig@gmx.de>
2175         * util.c (strip_home_and_password): Fixed possible buffer overflow.
2177 2004-09-19  Roland Illig  <roland.illig@gmx.de>
2179         * find.c: Applied patch to make the find dialog more responsive
2180         while scanning through large files.
2182         From Jindrich Makovicka <makovick kmlinux.fjfi.cvut.cz>
2184 2004-09-18  Roland Illig  <roland.illig@gmx.de>
2186         * view.c (view_handle_key): Fixed invalid-offset-bug when handling
2187         ctrl-e in hex mode.
2189 2004-09-18  Roland Illig  <roland.illig@gmx.de>
2191         * help.c (search_string): Fixed a warning about a const qualifier.
2192         A local copy of the string is used for modifying.
2193         * menu.h: Removed the const qualifier from Menu.name and
2194         Menu.help_node as they are freed in destroy_menu.
2195         * menu.c (destroy_menu): Removed the (now unnecessary) casts.
2196         * popt.h: Removed a const qualifier to avoid compiler warnings.
2197         * profile.c (get_profile_string): Added const qualifiers to
2198         avoid compiler warnings. (GetSetProfile): likewise.
2199         (GetSetProfileChar): likewise.
2200         * profile.h (get_profile_string): likewise.
2201         * win.c (check_movement_keys): likewise.
2202         * win.h (check_movement_keys): likewise.
2204 2004-09-17  Pavel Shirshov  <me@pavelsh.pp.ru>
2206         * ext.c (get_file_type_local): Fixes <zombies> in
2207         QNX 6.x (QNX Neutrino) when guessing file type before
2208         viewing file.
2210         Based on patch from Dmitry Alexeyev <dmi_a@qnx.org.ru>
2212 2004-09-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
2214         * hotlist.c (add_new_entry_input): Fix warnings.
2215         * wtools.h (QuickWidget): Make text const.
2216         * wtools.c (fg_input_dialog_help): Fix warning.
2218 2004-09-14  Leonard den Ottolander  <leonard * den ottolander nl>
2220         * utilunix.c (tilde_expand): Fix extra slash in result from
2221         tilde_expand() for ~<user>/dir.
2223 2004-09-14  Pavel Tsekov  <ptsekov@gmx.net>
2225         * key.c (get_modifier): Recognize keyboard modifiers on Cygwin.
2227 2004-09-12  Pavel Shirshov  <me@pavelsh.pp.ru>
2229         * execute.c (toggle_panels): Fix error. show_output_starts_shell=1
2230         is not working
2231         * cmd.c (view_other_cmd): Likewise.
2233         From Petr Hadraba <hadrabap@volny.cz>
2235 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
2237         * view.c (get_byte): Fix avoid dying if file is too large
2238         to fit into memory.
2239         (load_view_file): Fix avoid mmaping just part of a >=4GB file
2240         on 32-bit arches.
2242         * setup.c (load_keys_from_section): Handle "copy".
2243         gnome-terminal started using TERM=gnome instead of TERM=xterm,
2244         so does rxvt etc.
2245         Instead of making mc.lib really huge and hard to edit
2246         by repeating same keys for every xterm alternative,
2247         I have added a special key "copy", with argument name of terminal.
2248         mc will in this case read the keys from the referenced terminal's
2249         keys from the same file as well.
2251 2004-09-04  Jakub Jelinek  <jakub@redhat.com>
2253         * info.c (info_show_info): don't truncate block counts to 32 bits
2254         on 64-bit platforms
2256 2004-09-04  Pavel S. Shirshov  <me@pavelsh.pp.ru>
2258         * subshell.c (exit_subshell): Prevent unwanted reuse of freed
2259         pty_buffer.
2260         * complete.c (variable_completion_function): strncpy()->memcpy()
2261         changes are because we know there is no '\0' among the first
2262         length bytes.
2263         (insert_text): Likewise.
2264         (command_completion_function): Avoid memory leaks.
2265         (filename_completion_function): g_free handles NULL argument too,
2266         no need for the comparison.
2267         (try_complete): Likewise.
2268         (command_completion_function): Likewise.
2269         (free_completions): Likewise.
2270         * widget.c (gauge_callback): Fix for 64-bit arches (%*s len must
2271         be int, %3d takes int.
2272         (copy_region): g_free handles NULL argument too, no need for
2273         the comparison.
2274         (kill_line): Likewise.
2275         * find.c (do_search): Likewise.
2276         (init_find_vars): Likewise.
2277         (do_find): Likewise.
2278         * util.c (get_current_wd): We know there is just one '\0' byte
2279         in p, at p[len - 1].
2281         Based on patch from Jakub Jelinek  <jakub@redhat.com>
2283 2004-09-03  Pavel S. Shirshov  <me@pavelsh.pp.ru>
2285         * menu.c (destroy_menu): Fix warnings.
2286         * view.c (view_adjust_size): Likewise.
2287         * widget.c (find_buttonbar): Likewise.
2289         Based on patch from Jakub Jelinek  <jakub@redhat.com>
2291 2004-09-02  Roland Illig  <roland.illig@gmx.de>
2293         * color.c (try_alloc_color_pair (ncurses)): Added const qualifier
2294         to the arguments.
2296 2004-09-02  Roland Illig  <roland.illig@gmx.de>
2298         * man2hlp.c (handle_link): Added header "glibcompat.h" because
2299         glib-1.2 does not know g_strlcpy().
2300         * Makefile.am (man2hlp): Added source file glibcompat.c for
2301         glib-1.2 compatibility.
2303 2004-09-02  Pavel S. Shirshov  <me@pavelsh.pp.ru>
2305         * complete.c (completion_matches): Use more suitable function
2306         g_strndup() instead of sequence g_malloc(), strncpy(),
2307         name[len] = '\0'
2308         * widget.c (copy_region): Likewise.
2309         (delete_region): Use memmove() instead of strcpy().
2310         * user.c (debug_out): Eliminate buffer array.
2311         (test_line): Likewise.
2313         Based on patch from Jakub Jelinek  <jakub@redhat.com>
2315 2004-09-02  Pavel S. Shirshov  <me@pavelsh.pp.ru>
2317         * color.c (load_dialog_colors): Make a separate color for
2318         hotkeys in red dialogs.
2319         * color.h: Likewise.
2320         * view.c (view_ok_to_quit): Add hotkey to dialog.
2322 2004-09-01  Pavel S. Shirshov  <me@pavelsh.pp.ru>
2324         * user.c (check_format_var): Use more suitable function
2325         g_strndup() instead of sequence g_malloc(), strncpy(),
2326         name[len] = '\0'
2327         * man2hlp.c (handle_link): Use g_strlcpy() instead of sequence
2328         strncpy(), name[len] = '\0'
2329         * profile.c (GetSetProfile): Likewise.
2330         * wtools.c (fg_input_dialog_help): Likewise.
2332         Based on patch from Jakub Jelinek  <jakub@redhat.com>
2334 2004-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
2336         * wtools.h: Fix warnings.
2337         * selcodepage.c (select_charset): Likewise.
2338         * boxes.c (display_bits_box): Likewise.
2340 2004-09-01  Pavel S. Shirshov  <me@pavelsh.pp.ru>
2342         * color.c (mc_init_pair): Use cast to avoid warning.
2343         * screen.c (display_mini_info): Likewise.
2344         * slint.c (do_define_key): Likewise.
2345         * tree.c (tree_show_mini_info): Likewise. (show_tree):Likewise.
2346         * view.c (view_status): Likewise.
2348 2004-08-29  Roland Illig  <roland.illig@gmx.de>
2350         * background.c (do_background): Fixed file descriptor leak.
2352 2004-08-29  Roland Illig  <roland.illig@gmx.de>
2354         * Code cleanup: Added const qualifier for variables and
2355         function declarations where possible. No functional changes.
2357 2004-08-26  Roland Illig  <roland.illig@gmx.de>
2359         * cmd.c (do_link): Fixed memory leak and cleaned up code.
2361 2004-08-21  Pavel Shirshov  <me@pavelsh.pp.ru>
2363         * utilunix.c (tilde_expand): Use more suitable function
2364         g_strndup, instead sequence g_malloc, strncpy, name[len] = '\0'
2366 2004-08-19  Roland Illig  <roland.illig@gmx.de>
2368         * util.h (move_backward2): Fixed endless loop. Cleaned up code.
2369         The only case that's left with the old code is text mode with
2370         line wrapping. (move_backward2_textmode_wrap): The special case
2371         of moving some lines up in text mode with line wrapping enabled.
2373 2004-08-19  Roland Illig  <roland.illig@gmx.de>
2375         * util.h: Added the function free_after for easier handling
2376         of dynamically allocated strings.
2378 2004-08-19  Roland Illig  <roland.illig@gmx.de>
2380         * util.c: Added the function str_replace, which replaces
2381         all occurences of a character in a string.
2383 2004-08-16  Roland Illig  <roland.illig@gmx.de>
2385         * achown.c (apply_advanced_chowns): Added explicit cast
2386         (uid_t) -1 and (gid_t) -1, as on most systems uid_t and gid_t
2387         are unsigned. This avoids a GCC warning about comparison
2388         between types differing in signedness. No functional changes.
2390         * background.c (background_attention): Replaced int with ssize_t
2391         to correctly handle calls to POSIX read(). No other functional
2392         changes.
2394         * boxes.c: const'ified some declarations. Now using the
2395         NULL_QuickWidget macro to mark the end of arrays of QuickWidgets.
2396         No functional changes.
2398         * chown.c: Added missing initializers. No functional changes.
2400         * color.c (configure_colors_string): Using size_t for variables
2401         indexing arrays. (get_color): likewise. (init_colors): likewise.
2402         No functional changes.
2404         * command.c: Using size_t for variables indexing arrays.
2405         (command_insert): Changed the type of the second parameter to
2406         const char *, as it is not modified inside the function.
2407         (do_cd_command): Added a comment about quoting the argument to
2408         the internal "cd" command. No functional changes.
2410         * complete.c: TODO
2412         * dialog.c (create_dlg): Made the parameters help_ctx and title
2413         const. No functional changes.
2415         * execute.c (execute_with_vfs_arg): Applied necessary changes to
2416         the new mc_ungetlocalcopy.
2418         * ext.c: Applied necessary changes to the new mc_ungetlocalcopy.
2420         * file.c: Needs the implementation details of the vfs, so include
2421         "../vfs/vfs-impl.h". Adjusted some data types to size_t and const
2422         char *. No functional changes.
2424         * filegui.c: Now using NULL_QuickWidget as initializer.
2425         No functional changes.
2427         * find.c: Added const modifier for text of buttons. No functional
2428         changes.
2430         * global.h: New macro const_cast to indicate places where a const
2431         is casted away but ideally shouldn't.
2433         * hotlist.c: Type changes to size_t and const char *. No functional
2434         changes.
2436         * info.c (info_show_info): Explicitly casted st.st_blocks to avoid
2437         invalid typed argument for printf. Changed a literal 0xffffffff to
2438         -1 to fit into the type with which it is compared. No functional
2439         changes.
2441         * key.c: Added a const modifier. No functional changes.
2443         * layout.c: Added const modifiers and changed int to size_t where
2444         appropriate. No functional changes.
2446         * main.c: Added explicit initializers to global variables. Replaced
2447         the initializer 0 by NULL for pointers. Removed the (unused)
2448         parameter for keyboard-mapped functions. (version): Renamed to
2449         show_version to avoid name conflicts with equally-named variables.
2450         Added missing initializers for popt arguments.
2452         * main.h: Fixed the FIXME near the key_callback typedef.
2453         (vfs_print_message): Added a const modifier to the msg parameter.
2455         * menu.c (create_menu): Avoided a GCC warning concerning the
2456         comparison of unsigned and signed expressions. No functional changes.
2458         * mountlist.c: Replaced (char *) 0 by NULL. No functional changes.
2460         * options.c: Made PAUSE_OPTIONS look uniformly. Added const modifier
2461         where appropriate. No functional changes.
2463         * popthelp.c: Added missing initializers. No functional changes.
2465         * profile.c (profile_clean_section): Added const modifier to
2466         parameter appname. No functional changes.
2468         * screen.c (string_file_name): Replaced int by size_t.
2469         (string_file_perm_octal): Changed output format to long octal, because
2470         there might be more than 16 significant bits. Added the specialized
2471         function type panel_key_callback and added wrapper functions for
2472         functions that don't ordinarily take a WPanel * argument.
2474         * slint.c (SLang_getkey2): Replaced memcpy by memmove, as src and
2475         dest are overlapping. Changed an int to a size_t.
2477         * subshell.c (check_sid): Added prototype to the definition.
2478         Removed unnecessary casts from void * to char *.
2479         Fixed a format string bug (changed %s to %d for a file descriptor).
2481         * textconf.c (version): Renamed to show_version to avoid name
2482         conflicts with variables.
2484         * tree.c: Added an own callback function type that takes a WTree *
2485         as first parameter and adjusted the calling functions.
2487         * util.c (str_replace): replaces all occurences of a character by
2488         another character. Modifies the given string in-place.
2489         (x_basename): Now returns a const char * instead of a char *.
2491         * util.h (free_after): Frees its second argument after evaluating
2492         both arguments. See util.h for usage.
2494         * utilunix.c (tilde_expand): Now using g_strdup instead of g_malloc
2495         + strncpy.
2497         * widget.c: Added the const modifier for strings in many places.
2499         * wtools.c: Added the const modifier for strings in many places.
2501         * view.c: Replaced various occurences of int, long and unsigned long
2502         (all meaning the same) by the newly created offset_type to have
2503         a uniform look. (move_backward2): Simplified the function to be
2504         more readable. Outsourced the hardest case into
2505         move_backward2_textmode_wrap and left it with the old code.
2507 2004-08-19  Pavel Shirshov  <me@pavelsh.pp.ru>
2509         * utilunix.c (mc_tmpdir): Fix typos in comment.
2510         Set MC_TMPDIR environment variable for vfs scripts.
2511         Clear error after successful test of mc temp dir.
2513 2004-08-19  Pavel Shirshov  <me@pavelsh.pp.ru>
2515         * screen.c (paint_frame): Fix possible buffer overflow.
2517 2004-08-18  Pavel Shirshov  <me@pavelsh.pp.ru>
2519         * background.c (do_background): Use O_RDWR when opening
2520         the file '/dev/null' for replacement standard streams.
2522 2004-08-17  Pavel Shirshov  <me@pavelsh.pp.ru>
2524         * utilunix.c (mc_tmpdir): Check return value of getpwuid()
2525         for NULL.
2527 2004-04-18  Pavel Roskin  <proski@gnu.org>
2529         * vfsdummy.h [!USE_VFS]: Make sure that vfs_canon() doesn't
2530         change the original string.  Fix compilation without VFS.
2532 2004-03-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
2534         * achown.c (init_chown_advanced) [ENABLE_NLS]: i18n fix.
2535         * user.c (extract_line): Add a new parameter (size of the
2536         output buffer) to prevent buffer overflow.
2538 2004-03-05  Pavel Roskin  <proski@gnu.org>
2540         * subshell.c: Partly revert previous patch to preserve
2541         translated strings.
2543 2004-02-09  Pavel Roskin  <proski@gnu.org>
2545         * subshell.c: Use "\r\n" at the end of all error messages.
2546         Don't use perror().  Make error messages more exact.
2548 2004-01-23  Pavel Roskin  <proski@gnu.org>
2550         * utilunix.c (canonicalize_pathname): Add support for UNC paths.
2552         * utilunix.c (canonicalize_pathname): Return void to make it
2553         clear that the conversion is done in place.  Adjust all callers.
2555         * filegui.c (init_replace): Don't show the "Reget" button when
2556         moving files.  Reported by Arpad Biro <biro_arpad@yahoo.com>
2558         * fileopctx.h: Add "operation" filed to FileOpContext.
2559         * fileopctx.c (file_op_context_new): Add "operation" argument.
2560         * filegui.c (file_op_context_create_ui): Remove "operation"
2561         argument, it's known already.  Adjust all callers.
2563 2004-01-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
2565         * user.c (execute_menu_command): Put /bin/sh in the beginning of
2566         the script.
2568 2004-01-22  Pavel Roskin  <proski@gnu.org>
2570         * screen.c (display_mini_info): Correctly fill the space after
2571         "<readlink failed>".
2573         * glibcompat.h: Fix definition of g_try_realloc().
2575 2003-12-24  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
2577         * key.c (get_event): Treat all negative values of gpm_fd in the
2578         same way.  Add one more check that gpm is alive.
2580 2003-12-24  Pavel Roskin  <proski@gnu.org>
2582         * layout.c (rotate_dash): Set color before printing the dash.
2584 2003-12-01  Pavel Roskin  <proski@gnu.org>
2586         * command.c (examine_cd): Add tilde expansion.
2588 2003-11-28  Pavel Roskin  <proski@gnu.org>
2590         * utilunix.c (tilde_expand): Correct last fix, simplify code.
2591         Reported by David Sterba <dave@jikos.cz>
2593 2003-11-27  Pavel Roskin  <proski@gnu.org>
2595         * execute.c (toggle_panels): Refresh panels after returning from
2596         Ctrl-O.
2598         * cmd.c (view_file_cmd): Use input_expand_dialog().
2600         * wtools.c (quick_dialog_skip): Perform tilde expansion on input
2601         widgets that use cd completion.
2603         * utilunix.c (tilde_expand): Preserve tilde if the username
2604         could not be found.  Don't ever return NULL.  Change callers not
2605         to check for NULL.
2607         * dialog.c (do_select_widget): New function that is the only one
2608         calling dlg_focus() and dlg_unfocus().  Incorporate code from
2609         other functions that did it.
2610         (dlg_select_widget): Change return type to void.
2612 2003-11-26  Pavel Roskin  <proski@gnu.org>
2614         * dialog.h (dlg_widget_active): New function - check if the
2615         widget is active.
2616         * boxes.c (display_callback): Use it.
2617         * layout.c (swap_panels): Likewise.
2618         * screen.c (do_panel_event): Likewise.
2620         * dialog.c: Eliminate callback macro.
2622         * dialog.c (dlg_replace_widget): Use dlg_select_widget().
2623         (select_a_widget): Rename to select_other_widget(), factorize
2624         most code from dlg_one_up() and dlg_one_down().
2626 2003-11-24  Pavel Roskin  <proski@gnu.org>
2628         * complete.c (check_is_cd): Simplify logic, use isspace().
2630 2003-11-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
2632         * hotlist.c (add_new_group_input): Clean up.
2633         * wtools.c (do_create_message): Eliminate g_strdup_printf().
2634         (bg_message): Likewise.
2636 2003-11-21  Pavel Roskin  <proski@gnu.org>
2638         * view.c (check_left_right_keys): Implement fast scrolling if
2639         Ctrl is pressed.  Idea by Arpad Biro <biro_arpad@yahoo.com>
2641         * execute.c (do_execute): Use get_key_code(), not getch() to
2642         consume all characters from a single sequence.
2643         Reported by Miven Dooligan <dooligan@intergate.ca>
2645 2003-11-20  Pavel Roskin  <proski@gnu.org>
2647         * glibcompat.h: Provide replacement for g_slist_delete_link().
2648         Reported by Pavel S. Shirshov <me@pavelsh.pp.ru>
2650 2003-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
2652         * util.c (load_mc_home_file): Eliminate g_strdup_printf().
2654 2003-11-19  Pavel Roskin  <proski@gnu.org>
2656         * user.c (expand_format): Preserve "%" if followed by a
2657         characted without special meaning.
2659 2003-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
2661         * glibcompat.h: Define g_try_realloc as realloc for glib 1.2.x.
2663 2003-11-14  Pavel Roskin  <proski@gnu.org>
2665         * main.c (midnight_callback): Ctrl-Shift-Enter now copies full
2666         path to the command line, like in Total Commander.
2668 2003-11-07  Pavel Roskin  <proski@gnu.org>
2670         * boxes.c: Include "../vfs/gc.h" if VFS is used.
2671         * hotlist.c: Likewise.
2672         * key.c: Likewise.
2673         * main.c: Likewise.
2674         * setup.c: Likewise.
2676         * view.c (free_file): Don't use check_error_pipe(), display
2677         error messages in close_error_pipe().
2678         * utilunix.c (check_error_pipe): Remove, it's unused.
2680 2003-10-30  Andrew V. Samoilov  <sav@bcs.zp.ua>
2682         * widget.[ch] (listbox_search_text): Constify "text" argument.
2683         (listbox_add_item): Ditto.
2685         * find.c (add_to_list): Make inline.
2686         (stop_idle): Ditto.
2687         (status_update): Ditto.
2688         (get_list_info): Ditto.
2690         (push_directory): Constify "dir" argument and use
2691         concat_dir_and_file() instead of g_strdup().
2693         (find_add_match): Constify "dir" and "file" arguments.
2694         (insert_file): Ditto. Don't append trailing PATH_SEP, it's done
2695         in push_directory().
2697         (search_content): Constify "directory" and "filename" arguments.
2698         (do_search): Make "directory" char * instead of char[].
2700 2003-10-29  Pavel Roskin  <proski@gnu.org>
2702         * fsusage.c: Merge ...
2703         * mountlist.c: ... here.  These files are closely related.  Move
2704         some defines from extraconf.h here.
2705         * fsusage.h: Remove.
2706         * Makefile.am: Remove fsusage.c and fsusage.h.
2708 2003-10-28  Pavel Roskin  <proski@gnu.org>
2710         * ext.c (regex_check_type): Use mc_getlocalcopy() instead of
2711         piping first 8k to "file".  If the user selected the file, we
2712         are likely to need the whole file.  Besides, mc_getlocalcopy()
2713         on ftpfs and fish shares file cache with other VFS operations.
2714         (get_file_type_pipe): Remove.
2715         (mc_doublepopen): Likewise.
2716         (mc_doublepclose): Likewise.
2718 2003-10-27  Pavel Roskin  <proski@gnu.org>
2720         * utilunix.c: Move mc_doublepopen() and mc_doublepclose() ...
2721         * ext.c: ... where they are used.
2723         * slint.c (mc_refresh): Revert last change - it breaks screen
2724         restoring on rxvt.
2726         * tree.c (tree_rmdir_cmd): Don't change to the root directory -
2727         it's not needed now.
2729         * win.c (check_movement_keys): Add support for Ctrl-PgDown,
2730         Ctrl-PgUp, Ctrl-Home and Ctrl-End.
2732 2003-10-26  Pavel Roskin  <proski@gnu.org>
2734         * terms.c: Merge ...
2735         * win.c: ... here.
2736         * Makefile.am: Remove terms.c.
2738         * panel.h: Fix duplication between cpanel and current_panel in
2739         favor of current_panel.  Ditto opanel and other_panel.
2741         * main.c (get_current_panel): Remove.
2742         (get_other_panel): Move ...
2743         * layout.c: ... here.
2745         * info.h: Don't expose WInfo internals.
2747         * background.c (tell_parent): Eliminate.
2748         (background_attention): Use error code instead.
2749         * file.c (panel_operate): Exit with code 0, not 1.
2751         * wtools.c: Merge mc_message() and message() into one background
2752         safe function message().  Fix all callers.
2754         * i18n.h: Include into global.h.
2755         * Makefile.am: Remove i18n.h.
2757 2003-10-25  Pavel Roskin  <proski@gnu.org>
2759         * background.c: Clean up includes.
2760         (do_background): Set current_dlg to NULL for the child process.
2761         * dialog.h (do_complete_refresh): Don't use we_are_background.
2762         * file.h: Remove dependency on background.h.
2763         * background.h: Define we_are_background.  Move mc_message() ...
2764         * wtools.h: ... here.
2765         * key.h: Don't define we_are_background.
2766         * slint.c (mc_refresh): Use current_dialog instead of
2767         we_are_background to fix compilation without WITH_BACKGROUND.
2769         * background.c (do_background): Use pipe() instead of less
2770         portable socketpair().  Close comm[0] in the child.
2772         * wtools.c (mc_message): Fix argument expansion.
2774         * background.c: Leave only code used when WITH_BACKGROUND is
2775         defined. The rest goes ...
2776         * wtools.c: ... here.
2778         * background.c: Remove mymsg.
2780         * util.c (msglen): Constify first argument.
2781         * wtools.c (query_dialog): Constify string arguments.
2782         (create_message): New function, forked from message().
2783         (message): Return void.  Allocate memory dynamically.
2784         * wtools.h: Eliminate D_INSERT.  Adjust all users.
2786         * background.c: Replace all message stubs with a new function
2787         mc_message().  Protect against strlen(MSG_ERROR).  Adjust all
2788         dependencies.
2790 2003-10-25  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
2792         * hotlist.c (remove_from_hotlist): Fix improper check of the
2793         return value - group could be deleted after pressing ESC.
2795 2003-10-25  Pavel Roskin  <proski@gnu.org>
2797         * background.c (background_attention): Unregister task before
2798         calling message() to avoid recursion.
2799         (message_3s): Fix the number of arguments.
2801         * command.c (enter): Don't change current_dlg to NULL.  It
2802         breaks repainting of the panels.  Simplify logic.
2804         * key.c (init_key_x11): Warning fix for gcc 3.3.2.
2806 2003-10-24  Pavel Roskin  <proski@gnu.org>
2808         * fs.h (compute_namelen): Fix warning about unused argument.
2809         * man2hlp.c (handle_tp_ip): Likewise.
2811         * dialog.c (dlg_key_event): Simplify logic, return void.
2813         * dialog.c: Remove duplication between two chains of dialogs.
2814         * dialog.h (struct Dlg_head): Add "fullscreen" field, remove
2815         "refresh_pushed", rename "previous_dialog" to "parent".
2817         * tree.h: Fix unneeded dependency on dialog.h.
2818         * layout.h: Likewise.
2820         * dlg.h: Merge with ...
2821         * dialog.h: ... this.  Adjust all dependencies.
2822         * dlg.c: Merge with ...
2823         * dialog.c: ... this.
2824         * Makefile.am (SRCS): Remove dlg.h and dlg.c.
2826         * dlg.h: Declare idle_hook here.
2828         * dialog.c: Eliminate typedef Refresh, unneeded includes.
2830         * complete.h: Move CompletionFunction definition ...
2831         * complete.c: ... here.
2833         * color.c (dealloc_color_pairs): Rename to ...
2834         (done_colors): ... this.
2835         * layout.c (done_screen): Call done_colors() here ...
2836         * slint.c (slang_shutdown): ... but not here, as it's not S-Lang
2837         specific.
2839         * cmd.c: Remove source routing code.
2840         * main.c: Likewise.
2842         * screen.c (user_file_menu_cmd): Move ...
2843         * cmd.c: ... here.
2844         * cmd.h: Remove unused declarations.
2846         * chmod.c (stat_file): Eliminate.  Use mc_stat().
2847         * chmod.h: Remove unneeded code.
2848         * chown.h: Likewise.
2849         * main.c: Include achown.h.
2851         * fileopctx.h: Define struct FileOpContext.
2852         * background.h: Avoid conditional declarations.
2854         * dir.h: Eliminate DIR_H_INCLUDE_HANDLE_DIRENT.  Adjust all
2855         callers.  Remove unused code.
2856         * dlg.h: Remove unused code.
2857         * panel.h: Likewise.
2859 2003-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
2861         * dir.c (if_link_is_exe): Check mc_stat() return value.
2862         Make full_name and file_entry const.
2863         (link_isdir): Make file_entry const.
2864         * dir.h: Adjust declarations.
2866 2003-10-24  Pavel Roskin  <proski@gnu.org>
2868         * view.c (view_handle_editkey): Fix prototype.
2869         (toggle_hex_mode): Don't mess with parent's flags - it can
2870         permanently disable Tab switch between panels.
2871         (view): Use DLG_WANT_TAB for full screen only, unconditionally.
2873 2003-10-23  Pavel Roskin  <proski@gnu.org>
2875         * tree.h: Don't include treestore.h.  Fix sources to include
2876         treestore.h when needed.
2877         * treestore.h: Eliminate useless typedefs.
2879         * treestore.c (tree_store_start_check_cwd): Eliminate.
2880         (tree_store_start_check): Make globally visible.
2881         * dir.c (do_load_dir): Use path supplied as argument.  Call
2882         tree_store_start_check() after the directory is opened.
2883         (do_reload_dir): Likewise.
2885 2003-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
2887         * dir.c (do_reload_dir): Fix memory leaks.
2889 2003-10-23  Pavel Roskin  <proski@gnu.org>
2891         * win.c (check_movement_keys): Remove "additional" argument,
2892         it's always 1.
2894         * view.c: (put_editkey): Rename to ...
2895         (view_handle_editkey): ... this.  Move here some logic from ...
2896         (view_handle_key): ... here.
2898         * view.c: Eliminate struct block_ptr_t and enum ViewSide.
2899         Rename ascii mode to text mode.
2901         * view.c (WView): Remove unused fields localcopy and file_dirty.
2902         Make boolean fields 1 bit wide.
2904         * view.c (toggle_hexedit_mode): New function, split from ...
2905         (toggle_wrap_mode): ... this.
2906         (view_labels): Fix overuse of the :? operator.  Don't allow
2907         editing files in quick view - it's easy to lose changes.
2909         * main.c (process_args): Use cast to avoid warning.
2911         * view.c (view_callback): Don't close the current dialog when
2912         the viewer is framed.
2914 2003-10-16  Pavel Roskin  <proski@gnu.org>
2916         * main.c (update_one_panel_widget): Use VFS_SETCTL_FLUSH for the
2917         current directory.  This fixes Ctrl-R on fish.
2918         * vfsdummy.h: Remove unused functions.
2920         * main.c (process_args): Use VFS_SETCTL_LOGFILE for ftpfs.
2922 2003-10-15  Pavel Roskin  <proski@gnu.org>
2924         * glibcompat.h: Define g_try_malloc as malloc for glib 1.2.x.
2926         * view.c (load_view_file): Use g_try_malloc() because the
2927         failure to allocate memory is acceptable here.
2928         Reported by Pavel S. Shirshov <me@pavelsh.pp.ru>
2930 2003-10-14  Pavel Roskin  <proski@gnu.org>
2932         * tree.c: Remove dead code.
2933         * treestore.c (tree_store_add_entry): Make static.
2934         (tree_store_start_check): Likewise.
2936         * cmd.c: Cleanup of unneeded global functions and data.
2937         * color.c: Likewise.
2938         * dir.c: Likewise.
2939         * file.c: Likewise.
2940         * filegui.c: Likewise.
2941         * hotlist.c: Likewise.
2942         * layout.c: Likewise.
2943         * main.c: Likewise.
2944         * panelize.c: Likewise.
2945         * wtools.c: Likewise.
2947 2003-10-12  Pavel Roskin  <proski@gnu.org>
2949         * screen.c (do_enter_on_file_entry): Remove annoying message "no
2950         action taken".  Simplify logic.  Confirmation affects VFS too.
2952 2003-10-11  Pavel Roskin  <proski@gnu.org>
2954         * vfsdummy.h: New file to replace vfs.h if VFS is disabled.
2955         * Makefile.am: Add vfsdummy.h.
2956         * global.h [!USE_VFS]: Include vfsdummy.h.  Fix files that
2957         include vfs.h directly.
2959         * file.c (check_hardlinks): Use vfs_file_class_flags().
2961         * main.c (_do_panel_cd): Use vfs_release_path().
2963         * file.c: Use struct vfs_class, not type vfs, which should be
2964         internal to VFS code.
2966 2003-10-08  Pavel Roskin  <proski@gnu.org>
2968         * background.h: Eliminate background_wait variable.  Adjust all
2969         dependencies.
2971         * main.c (argument_table): Reorder options into logical groups.
2973 2003-10-07  Pavel Roskin  <proski@gnu.org>
2975         * dlg.c (dlg_broadcast_msg): Use widget_msg_t type.
2976         (dlg_broadcast_msg_to): Likewise.
2978 2003-09-29  Koblinger Egmont  <egmont@uhulinux.hu>
2980         * main.c (copy_other_pathname): Trailing slash was not always
2981         inserted when it should be.
2983 2003-09-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
2985         * find.c (do_search): Use strncpy() instead of unsafe strcpy().
2986         Check mc_(l)stat() return values.
2988 2003-09-24  Pavel Roskin  <proski@gnu.org>
2990         * key.c (xterm_key_defines): More sequences for gnome-terminal.
2992 2003-09-23  Pavel Roskin  <proski@gnu.org>
2994         * key.c (xterm_key_defines): Add more sequences.
2996 2003-09-22  Pavel Roskin  <proski@gnu.org>
2998         * find.c (find_file): Don't call file_mark(), it would use
2999         uninitialized data.
3000         * main.c (panel_clean_dir): Make panel dirty.
3002         * glibcompat.c: New file for compatibility with older versions
3003         of glib.
3004         * glibcompat.h: Likewise.
3005         * Makefile.am: Add the new files SOURCES.
3006         * global.h: Include glibcompat.h.
3008         * menu.c (menu_scan_hotkey): Use g_strlcpy() to avoid undefined
3009         behavior when using strcpy() on overlapping strings.
3010         * profile.c (GetSetProfile): Likewise.
3011         * widget.c (button_scan_hotkey): Likewise.
3012         Found by Valgrind.
3014 2003-09-13  Pavel Roskin  <proski@gnu.org>
3016         * dlg.c (dlg_replace_widget): Clean rewrite.  It was broken
3017         after eliminating Widget_Item.
3019         * menu.h: Return to keeping dialog id instead of a widget
3020         pointer for previous widget.  The widget can be replaced in the
3021         meantime.
3022         * dlg.c (dlg_select_by_id): New function, essentially a cleaner
3023         implementation of dlg_select_nth_widget().
3025         * dlg.h: Remove "first" field for dialogs and DLG_HAS_MENUBAR.
3026         * dlg.c (dlg_mouse_event): Remove menubar hack.
3027         * screen.c (do_panel_event): Redirect mouse events on the upper
3028         frame to the menubar if it's invisible.
3029         (panel_event): Don't repaint the panel after redirected events.
3031 2003-09-12  Pavel Roskin  <proski@gnu.org>
3033         * screen.c (panel_event): Make sure that the panel is repainted
3034         after the event is processed.
3036         * hotlist.c (l_call): Fix incorrect calls to hotlist_callback().
3038         * dlg.h: Merge Widget_Item into Widget.  Massive adjustment.
3040         * main.c (setup_panels_and_run_mc): Use straight widget order in
3041         midnight_dlg.  Select initial panel by dlg_select_widget().
3043         * menu.h (WMenu): Save pointer to the previous widget, not its
3044         number.  Adjust all dependencies.
3045         * menu.c (menubar_finish): Restore focus on the saved widget.
3046         * dlg.c (dlg_item_number): Remove, it's unused now.
3047         (dlg_select_nth_widget): Likewise.
3049         * help.c (interactive_display): Use straight widget order.
3051         * complete.c (complete_engine): Don't need DLG_REVERSE.
3052         * widget.c (show_hist): Likewise.
3053         * view.c (view): Use straight widget order.
3055         * dlg.h: Replace DLG_BACKWARD to DLG_REVERSE with a better
3056         defined meaning.  Make it default to populate dialogs from the
3057         top.  Change all calls to create_dlg().
3059         * dlg.c: DLG_BACKWARD now affects how the dialog is populated by
3060         widgets, not the runtime behavior.
3061         (init_dlg): Don't change current widget.  This allows using
3062         dlg_select_widget() before the dialog is run.
3063         * dlg.h: Remove initfocus field.
3064         * wtools.c (query_dialog): Use dlg_select_widget(), not
3065         initfocus to set the initial widget.
3067         * widget.c (input_callback): Don't handle Enter.
3068         Requested by Ali Akcaagac <aliakc@web.de>
3070         * chmod.c (chmod_callback): Fix uninitialized variable.
3072 2003-09-11  Pavel Roskin  <proski@gnu.org>
3074         * main.c (midnight_callback): Don't redraw dirty panels if the
3075         menubar is active.
3077         * dlg.c (add_widget): New, safer implementation.  Don't rely on
3078         the position of the first widget.  Disable insertion into
3079         running dialogs - it's unused and cannot be tested.
3081         * boxes.c (symlink_dialog): Add "OK" and "Cancel" buttons.
3082         Don't translate strings, it's done in quick_dialog().
3083         Reported by Ali Akcaagac <aliakc@web.de>
3085 2003-09-10  Pavel Roskin  <proski@gnu.org>
3087         * dlg.h: Remove "last" field from Dlg_head, it's unneeded in a
3088         circularly linked list.
3090         * screen.c (paint_dir): Don't make panel clean here.
3091         (panel_update_contents): Do it here.
3092         (panel_callback): Repaint the panel on focus.
3093         (select_item): Don't paint anything here.
3095         * dlg.h (send_message): Use cb_ret_t and widget_msg_t.
3097         * main.c (menu_cmd): If the current panel is inactive, use the
3098         opposite side to start menu.
3100         * dlg.h: Use cb_ret_t and widget_msg_t in widget callbacks.
3101         Massive adjustment for the above.
3103         * chmod.c (chmod_toggle_select): Get id as argument.
3105         * dlg.h: Remove restroy callback.  Widgets should use
3106         WIDGET_DESTROY.  Adjust all dependencies.
3108         * dlg.c: Don't supply ID of the current widget with any
3109         callbacks.  It's mostly useless and can be found by the
3110         callback.
3111         * layout.c: Likewise.
3112         * widget.c: Likewise.
3113         * chmod.c (chmod_callback): Adjust for the above.
3115         * layout.c (layout_change): Make static.
3116         * screen.c (paint_panel): Likewise.
3117         * cmd.c (dirsizes_cmd): Use dirty flag.
3118         * tree.c (chdir_sel): Don't call paint_panel().
3120         * find.c: Remove useless calls to paint_panel().
3121         * panelize.c: Likewise.
3123         * screen.c (use_display_format): Set dirty flag.  Remove calls
3124         to paint_panel() where they become unneeded.
3126         * screen.c (file_mark): Set dirty flag if the mark changes.
3127         * cmd.c: Remove calls to paint_panel() due to file marks.
3129         * screen.c (update_dirty_panels): New function - update panels
3130         with the dirty flag.
3131         (panel_update_contents): Make static, don't call directly.
3132         * main.c: Don't call panel_update_contents(), use dirty flag.
3133         (midnight_callback): Call update_dirty_panels().
3135 2003-09-09  Pavel Roskin  <proski@gnu.org>
3137         * find.c (find_parameters): Make "filename" entry focused on
3138         startup - it's used more often than "start at".
3140         * widget.c (button_callback): Don't let the default button steal
3141         Enter from the current button.
3143         * widget.c (button_callback): Treat Enter as hotkey for the
3144         default button.
3145         * wtools.c (quick_callback): Remove, it's unneeded now.
3147         * wtools.c (quick_callback): Restore old obscure functionality -
3148         DLG_KEY should not return MSG_HANDLED to allow the button
3149         callback to override the dialog return value.
3151         * key.c (xterm_key_defines): Add keypad keys.
3152         Reported by Vyacheslav Filyayev <vfilyayev@d2.khai.edu>
3154 2003-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
3156         * view.c (view_init): Constify "_command" argument.
3157         (view): Likewise.
3158         (do_view_init): Likewise.
3159         (init_growing_view): Constify "name" and "filename" args.
3160         * view.h: Fix declarations and comment.
3162         * user.c (execute_menu_command: Fix rare segmentation violation
3163         if last line in menu file contain space(s) only and no trailing
3164         newline.
3166 2003-09-07  Pavel Roskin  <proski@gnu.org>
3168         * listmode.c: Use groupboxes.
3170         * layout.c (init_layout): Use groupboxes.
3172         * widget.c: Implement new widget - groupbox.
3173         * option.c: Use it.
3175         * layout.c: Fix remaining callback calls.
3176         * widget.c: Likewise.
3178         * dlg.h: Use new types for dialog callbacks.
3179         (dlg_cb_fn): Swap msg and parm arguments for consistency with
3180         widget callbacks.  Adjust all dependencies.
3182         * dlg.h: Remove WIDGET_USER.  Define new types dlg_msg_t,
3183         widget_msg_t and cb_ret_t.
3185         * dlg.c (find_widget_type): Take pointer to void to avoid casts
3186         everywhere.  Adjust all callers.
3188         * main.c (midnight_callback): Fix for the last commit - repaint
3189         the panel if the search mode is unset.
3191         * dlg.h: Remove DLG_PRE_EVENT, it's unused now.
3193         * main.c (make_panels_dirty): Remove, it's unneeded now.
3194         (midnight_callback): Don't call make_panels_dirty().  Mark
3195         current panel dirty if the search mode is unset.  No need to set
3196         attributes before calling show_console_contents().
3198         * dlg.h: Convert send_idle_msg field to a publicly visible flag
3199         DLG_WANT_IDLE.
3200         * main.c (midnight_callback): Move auto_menu handling to the
3201         handler for DLG_IDLE.
3202         (do_nc): Request idle events.
3204 2003-09-06  Pavel Roskin  <proski@gnu.org>
3206         * dlg.c: Fix a bug when DLG_HOTKEY_HANDLED would not be
3207         delivered if the current widget already has focus.
3209 2003-09-04  Andrew V. Samoilov  <sav@bcs.zp.ua>
3211         * user.c (execute_menu_command): Implement %view macro.
3213 2003-09-03  Pavel Roskin  <proski@gnu.org>
3215         * wtools.c (create_listbox_window): Don't repaint the dialog
3216         before it's run.
3218         * learn.c: Don't track button hotkeys.
3219         (learn_check_key): Consume all alphanumeric keys, regardless of
3220         button hotkeys.
3222 2003-09-01  Pavel Roskin  <proski@gnu.org>
3224         * listmode.c: Create all buttons in one place.  Remove unneeded
3225         low-level drawing.
3226         (listmode_edit): Return NULL on cancel.
3227         * main.c (listmode_cmd): Actually use the result of
3228         listmode_edit().
3230         * listmode.c: Use callbacks for Add and Remove buttons.  Don't
3231         run dialog in the loop, it doesn't work this way.
3233         * widget.h: Define type bcback for button callbacks.
3235         * widget.c (listbox_new): Remove "action" argument.  Listboxes
3236         without callbacks default to closing the dialog.  Adjust all
3237         users.  This fixes double click on completion listbox.
3238         * widget.h: Use uppercase names for the return values of the
3239         listbox callback.
3241         * hotlist.c (update_path_name): Avoid using global variable.
3242         (l_call): Likewise.
3244         * widget.h: Eliminate listbox_cback.  Call listbox callback
3245         whenever it's defined.  Adjust all users.
3247         * widget.h: Use exact type in the listbox callback.  Adjust all
3248         legitimate users, remove all unused callbacks.
3250         * boxes.c: Fix GUI code for some non-default configurations.
3251         * listmode.c: Likewise.
3253 2003-08-31  Pavel Roskin  <proski@gnu.org>
3255         * widget.h (button_new): Remove unused extra argument.  Adjust
3256         all dependencies.
3258         * option.c (check_options): Remove tk field.
3259         * widget.c: Comment fix to get rid of references to Tk.
3260         * wtools.c (real_input_dialog_help): Rename tk_name to histname.
3261         Remove names from non-input widgets.
3263         * widget.h: Completely get rid of tkname.  Rename it to histname
3264         for the input widget.  Adjust all dependencies.
3266         * dlg.h (struct Widget): Remove tkname field.
3267         (init_widget): Remove tkname argument.
3268         * widget.h (listbox_new): Likewise.
3269         Adjust all dependencies.
3271 2003-08-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
3273         * cmd.c (edit_symlink_cmd): Fix possible off-by-one after
3274         readlink().
3275         * file.c (make_symlink): Likewise.
3276         * main.c (copy_readlink): Likewise.
3277         * screen.c (display_mini_info): Likewise.
3278         (chdir_to_readlink): Likewise.
3279         * util.c (resolve_symlinks): Likewise.
3281 2003-08-18  Pavel Roskin  <proski@gnu.org>
3283         * cmd.c (delete_cmd_local): New function.  Remove file under the
3284         cursor, regardless of marks.
3285         * screen.c (panel_keymap): Bind it to F18.
3287         * file.c (panel_operate_generate_prompt): Remove source
3288         calculation, it doesn't belong here.
3289         (panel_operate): Change arguments: drop ask_user and thedefault,
3290         introduce force_single.  force_single changes default to the
3291         current file and ignores selection.  Adjust all dependencies.
3293 2003-08-17  Pavel Roskin  <proski@gnu.org>
3295         * dir.h (file_entry): Rename "buf" to "st".  Adjust all
3296         dependencies.
3298 2003-08-01  Pavel Roskin  <proski@gnu.org>
3300         * main.c: Rename PanelMenu to LeftMenu.  Don't assume that
3301         LeftMenu and RightMenu are identical.
3302         From Pavel Tsekov <ptsekov@gmx.net>
3304 2003-07-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
3306         * main.c: Make more variables static.
3308 2003-07-23  Pavel Roskin  <proski@gnu.org>
3310         * key.c (xterm_key_defines): Add more sequences for xterm-179 by
3311         Thomas E. Dickey.
3313 2003-07-21  Pavel Roskin  <proski@gnu.org>
3315         * subshell.c (pty_open_master) [HAVE_GRANTPT]: Prefer
3316         posix_openpt() over GNU-specific getpt().  Needed for FreeBSD
3317         5.x.  Original patch by Max Khon <fjoe@FreeBSD.org>
3319         * screen.c (panel_key): Redisplay ministatus if the searching
3320         was turned off.  Reported by gotar@poczta.onet.pl
3322 2003-07-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
3324         * ext.c (regex_check_type): Don't skip first character after ":"
3325         unconditionally.
3327 2003-07-02  Pavel Roskin  <proski@gnu.org>
3329         * ext.c (regex_check_type): Set content_shift to skip the
3330         filename.
3332 2003-06-27  David Sterba  <dave@jikos.cz>
3334         * hotlist.c: Add buttons "Refresh" and "Free VFSs now" to Active
3335         VFS dialog.
3336         (hotlist_button_callback): Handle the buttons.
3337         * main.c: Remove the 'Free VFS now' menu item.
3339 2003-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
3341         * ext.c (regex_check_type): Fix previous change.
3343         * ext.c (regex_check_type): Strip tab(s) after "filename:" in
3344         file output.
3346 2003-06-22  Pavel Roskin  <proski@gnu.org>
3348         * execute.c (do_execute): Make static.  Print end of line after
3349         "Press any key to continue" and user's keystroke, but before
3350         restoring the panels.  Eliminate last_paused variable.  Don't
3351         print fake prompt if there is no command.
3353         * text.c: Eliminate.  Move colors to color.c and clr_scr() to
3354         layout.c.
3355         * main.c (restore_console): Eliminate, use handle_console().
3356         * Makefile.am: Remove text.c.
3358         * execute.c: New file with all functions for execution and
3359         toggling panels not specific to subshell.
3360         * execute.h: Corresponding header.
3361         * Makefile.am: Adjust for the above.
3363         * main.c (execute): Eliminate.  Fix all dependencies.
3364         (shell_execute): Constify string argument.
3366 2003-06-09  Pavel Roskin  <proski@gnu.org>
3368         * key.c (mc_bindings): Remove.  Esc-">" and Esc-"<" are not
3369         always the same as Home and End, at least in mcedit.
3370         (get_key_code): Never ignore Escape outside known sequences.
3371         * screen.c (panel_keymap): Add Esc-">" and Esc-"<".
3372         * tree.c (tree_keymap): Likewise.
3373         * widget.c (input_map): Likewise.
3374         (listbox_key): Likewise.
3375         (check_movement_keys): Likewise.
3376         Reported by Miguel de Icaza <miguel@ximian.com>
3378 2003-06-09  David Sterba  <dave@jikos.cz>
3380         * key.c (correct_key_code): Treat Shift-Backspace as Backspace.
3382 2003-06-06  Pavel Roskin  <proski@gnu.org>
3384         * util.h: Add new match_type - match_regex.
3385         * ext.c: Use it everywhere.
3386         (regex_command): Don't change easy_patterns - it affects the
3387         panel filters.
3388         Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
3390         * view.c (get_byte): Fix off-by-one error.  Found by Valgrind.
3392         * command.c (command_new): Fix memory leak.
3393         * subshell.c (exit_subshell): Free pty_buffer.
3395 2003-06-05  Pavel Roskin  <proski@gnu.org>
3397         * dir.c (do_load_dir): Add new argument "path" to avoid the need
3398         to request the current directory.
3399         (do_reload_dir): Likewise.  Adjust all callers.
3401         * screen.c (panel_destroy): Rewind history to the beginning
3402         before freeing it.
3403         * widget.c (input_destroy): Likewise.
3404         * util.c (list_append_unique): Free data when removing duplicate
3405         list entries.
3407 2003-05-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
3409         * key.c (init_key): Fix crash if TERM is unset.
3411 2003-05-29  Koblinger Egmont  <egmont@uhulinux.hu>
3413         * ext.c (regex_check_type): Recognize and skip "/dev/stdin:"
3414         that can appear in the output of new versions of file.
3416         * util.c (unix_error_string): Convert error string from UTF-8 if
3417         glib 2 is used.
3419         * text.c (default_edition_colors): Change the default for
3420         dhotfocus to be blue on cyan for consistency with dhotnormal.
3422 2003-05-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
3424         * info.c (info_show_info): Cast myfs_stats.avail to double to
3425         fix integer overflow that can cause a negative percent number.
3427 2003-05-05  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
3429         * main.c (directory_history_add): Don't change the directory
3430         passed as the argument, work on a copy.
3432 2003-04-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
3434         * find.c (get_line_at): Strip trailing newline to fix $
3435         matching.
3437 2003-03-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
3439         * file.c (copy_file_file): Fix data corruption if mc_write()
3440         does not write n_read bytes at once.
3441         (move_file_file): Eliminate retry_src_lstat label.
3443 2003-03-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
3445         * view.c (get_line_at): Set prev properly for reverse search.
3446         Don't remove final character in the last line without newline.
3447         (search): During regexp search: handle properly '^'
3448         in forward search and '$' in reverse search.
3449         Based on the patch from Adam Byrtek <alpha@debian.org>.
3451 2003-03-22  Andrew V. Samoilov  <sav@bcs.zp.ua>
3453         * cons.handler.c (set_attr) [__FreeBSD__]: Fix compilation.
3454         Reported by Dmitry Alexeyev <dmi_a@qnx.org.ru>.
3456 2003-03-22  Adam Byrtek  <alpha@debian.org>
3458         * command.c (enter): Check subshell state early and return if
3459         inactive before clearing the command line.
3460         * main.c (force_subshell_execution): Remove magic, unusable,
3461         undocumented command line option "-r".
3463         * subshell.c: Remove dead code (SYNC_PTY_SIDES).
3464         (init_subshell_child): Remove dead code (initfile for TCSH).
3465         (init_subshell): Use ZSH_VERSION environment variable to detect
3466         ZSH.  Use -g option to zsh to hide entries beginning with space
3467         from history.  Add space before ZSH precmd to hide it.
3469 2003-03-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
3471         * view.c (get_line_at): Return unreversed line for backward
3472         search to restore backward regexp search feature.
3473         (icase_search_p): Fix for the above.
3474         Reported by Adam Byrtek <alpha@debian.org>
3476 2003-03-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
3478         * view.c (icase_search_p): Add backward search support.
3479         (search): Likewise.
3480         (block_search): Likewise.
3481         (normal_search): Add "Backwards" button.
3482         (get_line_at): Handle view->direction properly and return
3483         reversed string if backward search required.
3485 2003-03-14  Pavel Roskin  <proski@gnu.org>
3487         * key.c (xterm_key_defines): Add more sequences for xterm, rxvt
3488         and konsole.
3490 2003-03-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
3492         * key.c: Use fputs() instead of fprintf().
3493         (func_XOpenDisplay) [HAVE_GMODULE]: Move to init_key_x11().
3494         (get_modifier) [__QNXNTO__]: Use g_snprintf() instead of unsafe
3495         sprintf().
3497 2003-03-10  Pavel Roskin  <proski@gnu.org>
3499         * key.c (correct_key_code): Convert unrecognized 0177, Ctrl-h
3500         and Ctrl-d into Delete and Backspace.  Remove all references to
3501         those keys in other files.
3503         * key.c (get_modifier) [__QNXNTO__]: Remove incorrect check for
3504         the existence of libph.so.1.
3506 2003-03-10  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
3508         * key.c (get_modifier): Add support for QNX Photon pterm.
3510 2003-03-10  Pavel Roskin  <proski@gnu.org>
3512         * utilunix.c (canonicalize_pathname): Clean rewrite from
3513         scratch.  The old implementation had memory problems with "/.."
3514         and didn't actually strip the leading "./" from path.  Remove
3515         support for obsolete Qnet paths.
3517 2003-03-05  Pavel Roskin  <proski@gnu.org>
3519         * subshell.c (init_subshell_child): Set environment variable
3520         MC_SID to the session number of the subshell.
3521         (check_sid): Check that we are not running mc already in the
3522         same session.
3523         * main.c (main): Don't run do_nc() if shutdown was requested.
3525 2003-03-05  Andrew V. Samoilov  <sav@bcs.zp.ua>
3527         * cons.handler.c (set_attr) [__FreeBSD__]: Eliminate cmd array.
3529 2003-03-05  Max Khon  <fjoe@iclub.nsu.ru>
3531         * cons.handler.c (console_init) [__FreeBSD__]: Fix the amount of
3532         allocated memory.
3533         (console_save) [__FreeBSD__]: Doesn't exit on error, just return.
3535 2003-03-05  Pavel Roskin  <proski@gnu.org>
3537         * cons.handler.c (show_console_contents_freebsd): Rewrite
3538         to use screen library (S-Lang or ncurses).  Direct output is
3539         unreliable when the screen library is active.
3541 2003-03-03  Pavel Roskin  <proski@gnu.org>
3543         * profile.c (load): Fix reading keys immediately after comments.
3545 2003-02-26  Pavel Roskin  <proski@gnu.org>
3547         * cons.handler.c: Put checks for rxvt extensions in one place.
3548         Simplify FreeBSD code.
3550 2003-02-26  Max Khon  <fjoe@iclub.nsu.ru>
3552         * cons.handler.c: Add implementation for FreeBSD 4.x and 5.x.
3554 2003-02-26  Pavel Roskin  <proski@gnu.org>
3556         * view.c (load_view_file): Make sure view->s.st_size is not
3557         truncated when passed to g_malloc().
3558         Reported by Philipp Thomas <pthomas@suse.de>
3560 2003-02-23  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
3562         * key.c (get_modifier): Add support for QNX Neutrino console.
3564 2003-02-23  Pavel Roskin  <proski@gnu.org>
3566         * key.c (init_key_x11): Don't try to use X11 if DISPLAY is not
3567         set in the environment.
3569 2003-02-22  Pavel Tsekov  <ptsekov@gmx.net>
3571         * key.c: Add support for dynamic loading of libX11.
3573 2003-02-21  Pavel Roskin  <proski@gnu.org>
3575         * utilunix.c (destroy_groups): Revert last change, it doesn't
3576         work with glib-1.2.x.
3578 2003-02-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
3580         * option.c (init_configure): Use OTHER_OPTIONS consistently.
3581         By Mike Smithson <dooligan@intergate.ca>.
3583 2003-02-18  Pavel Roskin  <proski@gnu.org>
3585         * util.c (list_append_unique): Free removed links.
3586         * utilunix.c (destroy_groups): Use g_tree_foreach() instead of
3587         obsolete g_tree_traverse().
3589         * util.c (list_append_unique): Traverse the list backwards.
3590         Otherwise the list was lost when the current link was removed.
3592         * widget.c (history_get): Set the history to the last item.
3593         Reported by Adam Byrtek <alpha@debian.org>
3595         * main.c (do_panel_cd): Record directory history for the panel
3596         that changes the directory, not for the current panel.
3598         * widget.c (history_get): Use list_append_unique() for backward
3599         compatibility.
3601         * main.c (directory_history_list): Allow history command even
3602         with just one entry - it's more intuitive.
3604         * util.c (list_append_unique): New function - add text to GList
3605         and remove duplicates.
3606         * main.c (directory_history_add): Use list_append_unique().
3607         * widget.c (push_history): Likewise.
3609         * panel.h: Convert directory history to GList.
3610         * widget.h: Convert input history to GList.
3611         Adjust all dependencies.
3613 2003-02-11  Pavel Roskin  <proski@gnu.org>
3615         * cmd.c (edit_cmd_new): Call editor with NULL argument, not with
3616         an empty string.  nvi won't save the file if invoked with an
3617         empty argument.
3618         (execute_with_vfs_arg): Don't call vfs_file_is_local() on NULL.
3619         Reported by Adam Byrtek <alpha@debian.org>
3621 2003-02-04  Pavel Roskin  <proski@gnu.org>
3623         * cmd.c (get_random_hint): Add "force" argument to ignore
3624         timeout.  Adjust all dependencies.
3625         * main.c (load_hint): Likewise.
3626         * layout.c (setup_panels): Force updating the hint bar.
3627         Original patch by Adam Byrtek <alpha@debian.org>
3629 2003-02-03  Pavel Roskin  <proski@gnu.org>
3631         * slint.c (getch): If there is EOF on the input, exit
3632         immediately, don't use quiet_quit_cmd().
3633         Reported by Steven P. Ulrick <spu@faith4miracle.org>
3635 2003-01-28  Pavel Roskin  <proski@gnu.org>
3637         * util.c (name_quote): Don't quote ':', '~' and '@'.  Quote '#'
3638         and '~' only if it's the first character.
3640         * info.c (info_show_info): Cast nlink_t to int to avoid a
3641         warning if nlink_t is short.
3642         * screen.c (string_file_nlinks): Likewise.
3644 2003-01-27  Arpi  <arpi@mplayerhq.hu>
3646         * key.c (is_idle): Correct maximal file descriptor and return
3647         value.
3649 2003-01-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
3651         * util.h (app_text): Remove declaration - it became static.
3652         * util.c (get_compression_type): Cast magic to char * to
3653         fix compilation on AIX.
3654         * mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT1]:
3655         Check for MOUNTED is defined to fix compilation on AIX.
3656         Reported by Alexander Varakin <avarakin00@hotmail.com>.
3658 2003-01-27  Pavel Roskin  <proski@gnu.org>
3660         * main.c (update_xterm_title_path): Use is_printable().
3662 2003-01-24  Pavel Roskin  <proski@gnu.org>
3664         * slint.c (slang_reset_softkeys): Cast arguments from size_t to
3665         int to avoid a warning on 64-bit systems.
3667         * subshell.c (resize_tty) [!TIOCSWINSZ]: Warning fix.
3669 2003-01-23  Pavel Roskin  <proski@gnu.org>
3671         * slint.c (slang_init): Limit screen size to 255x255 because of
3672         S-Lang limitations.
3673         Reported by Tero Peippola <top@ees2.oulu.fi>
3675 2003-01-22  Adam Byrtek  <alpha@debian.org>
3677         * cmd.c (view_other_cmd): Update path in the xterm title after
3678         command execution.
3679         * main.c (do_execute): Likewise.
3681 2003-01-22  Pavel Roskin  <proski@gnu.org>
3683         * util.c (size_trunc): Remove "b" from the output - it's
3684         redundant and wrong - the abbreviation for byte is "B".
3685         Reported by Werner Lemberg <wl@gnu.org>
3687 2003-01-20  Pavel Roskin  <proski@gnu.org>
3689         * screen.c (string_file_type): Check for "regularity" before
3690         checking for executable bit.
3691         (file_compute_color): Likewise.
3693         * dir.c (handle_dirent): Fix cleaning the stat buffer if
3694         mc_lstat() fails.  Leave buf1->st_mode to be 0, so that the
3695         entry is marked as a "non-regular file of unknown kind".
3696         * screen.c (do_enter_on_file_entry): Try to change directory
3697         when pressing Enter on a non-stat()able file.
3699         * screen.c (string_file_type): Represent non-regular files of
3700         unknown kind by '?'.
3701         (file_compute_color): Use for them the same color as for stale
3702         links.
3704         * main.c: Change default value of full_eight_bits to 0 - it's
3705         reported to be broken on many terminals.
3707         * man2hlp.c (main): Initialize cnode->heading_level.
3708         Bug report by Tribhuvan <loka@rcn.com>
3710         * dir.c (sort_size): Avoid any arithmetic except comparison on
3711         file sizes - they may not fit "int" that the function returns.
3712         Original patch by Bulia Byak <bulia@dr.com>
3714 2003-01-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
3716         * profile.c (load): Handle corrupted section header.
3717         Reported by skol@sbox.tugraz.at.
3718         (GetPrivateProfileInt): Make intBuf and buf auto variables.
3720 2003-01-20  Pavel Roskin  <proski@gnu.org>
3722         * screen.c (do_search): Use case-insensitive search if and only
3723         if the sort order is case-insensitive.
3724         Suggested by Bulia Byak <bulia@dr.com>
3726 2003-01-19  Pavel Roskin  <proski@gnu.org>
3728         * dir.c (do_load_dir): Remove dotdot_found - handle_dirent()
3729         doesn't process ".." now.  Don't add ".." to the "/" directory.
3730         (do_reload_dir): Likewise.
3731         Suggested by Bulia Byak <bulia@dr.com>
3733         * dir.c (handle_dirent): If mc_lstat() fails, assume that the
3734         entry is a directory.  This is useful for QNX Neutrino.
3736 2003-01-15  Andrew V. Samoilov  <sav@bcs.zp.ua>
3738         * man2hlp.c (fclose_check): Call ferror() and exit on file
3739         error.
3741         * man2hlp.c (main): Use fgets() return value in while loop
3742         instead of feof() because end-of-file indicator can be false on
3743         error.
3745         * man2hlp.c (handle_command): Fix possible buffer overflow.
3746         (handle_link): Likewise.
3748 2002-12-27  Pavel Roskin  <proski@gnu.org>
3750         * layout.c (setup_panels): Revert unnecessary part of the
3751         previous patch.  Call load_hint() regardless of message_visible.
3752         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
3754         * key.c (correct_key_code): Don't call get_modifier() for normal
3755         characters - they only should get modifiers from sequences
3756         tables.  This fixes entering characters with AltGr.
3757         Reported by David Martín <dmartina@excite.com>
3759         * view.c (max_dirt_limit): Make global to match view.h.
3760         * setup.c (options): Actually save max_dirt_limit, which is
3761         documented as a "special setting".
3763 2002-12-26  Pavel Roskin  <proski@gnu.org>
3765         * key.c (get_modifier): Warning fix.
3767         * file.c: Never access internals of ctx->rx directly.
3768         * fileopctx.c (file_op_context_destroy): Use regfree() to free
3769         ctx->rx.
3770         Patch from Red Hat beta.
3772         * layout.c (setup_panels): Clean the hint bar if it's enabled.
3773         Bug reported by Adam Byrtek <alpha@debian.org>
3775 2002-12-26  Adam Byrtek  <alpha@debian.org>
3777         * main.c (update_xterm_title_path): New function, display
3778         current path in the xterm window title.
3779         (_do_panel_cd): Call update_xterm_title_path().
3780         (done_mc): Remove final message for the titlebar.
3781         * layout.c: Replace "Xterm hintbar" option with more generic
3782         "Xterm window title".  Update all dependencies.
3783         (setup_panels): Call update_xterm_title_path().
3785 2002-12-26  Pavel Roskin  <proski@gnu.org>
3787         * utilunix.c (mc_tmpdir): Check temporary directory more
3788         carefully.  Report problems and ask user to acknowledge them.
3790         * main.c (midnight_callback): Fix the last change, so that plain
3791         Enter is not affected.
3793 2002-12-25  Pavel Roskin  <proski@gnu.org>
3795         * main.c (copy_prog_name): Make static.
3796         (midnight_callback): Handle both Alt-Enter and Ctrl-Enter before
3797         the widgets, because the input widget interprets them now.
3798         (default_map): Remove Alt-Enter, it's handled elsewhere.
3800         * key.c (correct_key_code): Convert Shift-Tab and Ctrl-Tab to
3801         Back Tab (used in dialogs to jump to the previous widget).
3803         * widget.c (input_callback): Insert Enter with a modifier as
3804         literal Enter.  Useful when pasting multiline text.
3806         * cmd.c (execute_with_vfs_arg): New function.  Work around
3807         defects of VFS localcopy code.
3808         (view_file_at_line): Use execute_with_vfs_arg().
3809         (do_edit_at_line): Likewise.
3811 2002-12-24  Pavel Roskin  <proski@gnu.org>
3813         * key.c (is_idle): Check for input on input_fd and gpm_fd.
3815         * main.c (init_xterm_support): Revert last change, it doesn't
3816         free all S-Lang memory anyways, but creates portability issues.
3818         * dlg.h: Add new event DLG_VALIDATE.
3819         * dlg.c (frontend_run_dlg): Send DLG_VALIDATE.
3820         (select_a_widget): Don't send DLG_ONE_DOWN, nobody uses it.
3821         * find.c (find_parm_callback): New callback for the parameter
3822         dialog.  Don't allow stopping the dialog if the regular
3823         expression is invalid.
3825 2002-12-23  Pavel Roskin  <proski@gnu.org>
3827         * layout.c (init_curses) [HAVE_SLANG]: Don't call
3828         SLtt_get_terminfo(), it's already called in slang_init().
3829         * main.c (init_xterm_support): Free term_entry.
3831         * subshell.c (subshell_switch_key): Make static const.
3833         * key.c (correct_key_code): Strip or add modifier information
3834         when necessary.  Recognize shift with function key N as function
3835         key (N + 10).  Fix breakage from previous patch.
3836         * key.h: Change XCTRL and ALT macros to use new definitions for
3837         keyboard modifiers.
3839 2002-12-21  Pavel Roskin  <proski@gnu.org>
3841         * key.c (get_modifier): Make static.  Return the mc internal
3842         representation, not the Linux console code.
3843         (correct_key_code): Add the modifier, not strip it.
3844         (ctrl_pressed): Remove.  Adjust all dependencies.
3846         * key.h: Add definitions for the keyboard modifiers that can be
3847         part of the key code.
3848         * key.c (xterm_key_defines): Add some common key definitions
3849         with modifiers for xterm and rxvt.
3850         (correct_key_code): Strip and remember modifiers.
3851         (get_modifier): Add support for saved modifiers.
3853 2002-12-20  Pavel Roskin  <proski@gnu.org>
3855         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 200ms.
3856         If ESCDELAY is 0, ncurses 5.2 may stop recognizing escape
3857         sequences under heavy CPU load.
3859 2002-12-19  Pavel Roskin  <proski@gnu.org>
3861         * screen.c (chdir_other_panel): Use do_panel_cd() on the
3862         opposite panel instead of changing the current panel twice.
3864         * main.c (make_panels_dirty): Preserve the cursor position.
3866 2002-12-18  Tomas Styblo  <tripie@cpan.org>
3868         * hotlist.c (update_path_name): Update the title even when
3869         opening an empty group.
3871 2002-12-16  Pavel Roskin  <proski@gnu.org>
3873         * dir.c (do_load_dir): Add an error message if mc_opendir()
3874         fails.
3875         (do_reload_dir): Likewise.
3876         * screen.c (do_enter_on_file_entry): Add an error message if
3877         do_cd() fails.
3879 2002-12-15  Pavel Roskin  <proski@gnu.org>
3881         * view.c (do_view_init): Use non-blocking open() followed by
3882         fstat() to avoid race conditions.  Unset O_NONBLOCK flag after
3883         the open().
3885         * cmd.c (mkdir_cmd): Don't try to create a directory with empty
3886         name.
3888         * global.h: Add replacement for O_NONBLOCK.
3890 2002-12-11  Pavel Roskin  <proski@gnu.org>
3892         * find.c (find_file): Skip entries without data when panelizing.
3893         Found by Valgrind.
3895         * eregex.h: Undefine __restrict_arr before redefining to avoid a
3896         warning if it's defined.
3898 2002-12-09  Pavel Roskin  <proski@gnu.org>
3900         * util.c (load_file_position): Don't free filename.
3902 2002-12-08  Pavel Roskin  <proski@gnu.org>
3904         * util.c: Add functions for saving and loading file positions.
3906 2002-12-07  Pavel Roskin  <proski@gnu.org>
3908         * file.c (is_wildcarded): Move ...
3909         * filegui.c: ... here.  Make static.
3911 2002-12-01  Pavel Roskin  <proski@gnu.org>
3913         * cmd.c (do_edit_at_line): Set line to 0 to allow the editor to
3914         decide if the user cares about the initial line or not.
3915         * main.c: Set edit_one_file_start_line to 0 initially.
3917 2002-11-29  Pavel Roskin  <proski@gnu.org>
3919         * setup.c: Add option_save_position to the options table.
3921 2002-11-28  Pavel Roskin  <proski@gnu.org>
3923         * tree.c: Make struct WTree opaque.  Remove "done" flag - it's
3924         broken by design.
3925         (tree_selected_name): New function, return name of the currently
3926         selected entry.  Use it where WTree is opaque.
3927         * boxes.c (tree_callback): Don't check for the "done" flag - it
3928         causes closing the dialog on any key after mouse selection.
3930         * user.h: Don't include edit/edit-widget.h.
3931         * user.c: Include edit/edit-widget.h and edit/edit.h.
3933         * slint.c (getch): Return -1, not SLANG_GETKEY_ERROR, otherwise
3934         get_key_code() crashes when calling isalpha().
3936         * color.c (mc_init_pair) [HAVE_SLANG]: Pass "default", not NULL
3937         to SLtt_set_color() - it fixes transparency with the latest
3938         versions of S-Lang.  Treat foreground like background.
3940 2002-11-20  Pavel Roskin  <proski@gnu.org>
3942         * main.c: Eliminate finish_program variable - mc can now exit
3943         immediately.
3945 2002-11-17  Pavel Roskin  <proski@gnu.org>
3947         * screen.c (do_select): Mark panel as dirty.
3949         * boxes.c (init_disp_bits_box): Make static.
3951 2002-11-15  Pavel Roskin  <proski@gnu.org>
3953         * main.c (main): Don't call subshell_get_console_attributes() if
3954         the subshell is disabled from the command line.
3956 2002-11-14  Pavel Roskin  <proski@gnu.org>
3958         * myslang.h: Define getyx() macro.
3959         * layout.c (print_vfs_message): Preserve cursor position.
3961         * view.h: Make struct WView opaque, move non-interface parts ...
3962         * view.c: ... here.
3963         * layout.c: Use struct WView, not typedef WView.
3965         * cmd.c: Clean up includes, don't rely on edit.h.
3967         * dialog.c (struct Refresh): Make opaque.
3968         * dialog.h: Move all stuff unrelated to dialog.c ...
3969         * wtools.h: ... here.  Adjust all users.
3971         * dialog.c (refresh_list): Make static.
3972         * dialog.h: Add typedef refresh_fn.
3974         * cmd.c (menu_edit_cmd): Make static, provide separate functions
3975         without arguments to access it.
3976         * menu.h: Make callfn function without arguments - we are not
3977         using any arguments now.
3979 2002-11-13  Pavel Roskin  <proski@gnu.org>
3981         * man2hlp.c (persistent_fread): Return error for len <= 0.
3982         (persistent_fwrite): Likewise.
3983         (main): Check the result of the second ftell().
3985         * cmd.h: Fully exclude WPanel from public interfaces of cmd.c.
3986         * cmd.c: All commands operate on current panels.
3987         (get_a_panel): Remove.
3988         * screen.c: Change to use new functions.
3990         * main.h: Don't check if panel.h was included.  Use forward
3991         declaration of WPanel, change prototypes to use struct WPanel.
3992         (midnight_callback): Make static.
3994         * cmd.c (do_view_cmd): Don't take WPanel argument - always use
3995         the current panel.
3996         (view_cmd): Likewise.
3997         (view_file_cmd): Likewise.
3998         (view_simple_cmd): Likewise.
3999         (filtered_view_cmd): Likewise.
4000         (filtered_view_cmd_cpanel): Remove.
4001         (view_panel_cmd): Likewise.
4003 2002-11-12  Pavel Roskin  <proski@gnu.org>
4005         * chmod.c (init_chmod): Make static.
4006         * help.c (quit_cmd): Rename to help_quit_cmd().
4007         (show): Rename to help_show().
4008         * main.c (quit_cmd): Make static.  Return void, not int.
4009         (sort_cmd): Make static.
4011         * dlg.c (send_message_to): Remove, use send_message() instead.
4012         (send_message): Make inline, remove Dlg_head argument.  Change
4013         all callers.
4015         * dlg.h: Remove Dlg_head argument from callback_fn - it's
4016         excessive and can be trivially derived from the widget.
4017         (default_proc): Remove Dlg_head argument.  Change all callers.
4018         * widget.c (listbox_draw): Remove Dlg_head argument.
4020         * dlg.h: Define dlg_cb_fn - dialog callback function.  Improve
4021         typedefs for callbacks and use them everywhere.  Clean up some
4022         unused defines.
4023         * dlg.c: Adjust declarations for match.
4025         * wtools.h: Eliminate the_widget field in QuickWidget.
4026         * wtools.c (quick_callback): Allocate widget table dynamically.
4028         * dlg.c (widget_redraw): Remove.
4029         * widget.c (find_buttonbar): Use find_widget_type().  Make
4030         global.
4031         (define_label): Remove paneletc argument.  Change all callers.
4032         (define_label_data): Likewise.
4033         (redraw_labels): Likewise.  Use find_buttonbar().
4034         * view.c (view_adjust_size): Use find_buttonbar().
4036         * menu.h: Remove "*" from the definition of the type "Menu"
4037         for consistency with other types.  Change all dependencies.
4038         (menubar_event): Make static.
4040 2002-11-12  Andrew V. Samoilov  <kai@cmail.ru>
4042         * view.c (get_line_at): Use g_strreverse() instead of
4043         reverse_string().
4044         * util.c (reverse_string): Remove.
4045         (decompress_extension): Return const char *.
4046         (strip_home_and_password): Make dir const.
4047         * util.h: Fix declarations.
4049 2002-11-11  Pavel Roskin  <proski@gnu.org>
4051         * charsets.c (convert_to_display): Don't crash on empty read
4052         only strings.
4053         (convert_from_input): Likewise.
4054         Reported by David Martin <dmartina@excite.com>
4056         * screen.c (select_item): Don't show the file selection if the
4057         panel is inactive.
4058         (chdir_other_panel): Select the same file on the other panel.
4060         * file.c (panel_operate): Warning fix.
4061         * cmd.c (compare_dirs_cmd): Likewise.
4062         * man2hlp.c: Warning fixes.  size_t can be unsigned.
4064         * file.c (panel_get_file): Make static.
4065         * filegui.h: Eliminate use of WANT_WIDGETS.
4066         * setup.h: Likewise.
4067         * menu.h: Declare struct WMenu.
4068         * main.h: Don't include menu.h, use forward declaration.
4070         * dlg.h: Move movefn definition ...
4071         * win.h: ... where it's used.  Remove unused definitions.
4072         * win.c: Remove unused code.
4073         * key.h: Include mouse.h, don't rely on others doing it.
4074         * widget.h: Include dlg.h.  Remove Tk-only fields.
4075         * widget.c: Remove Tk-only fields.
4077         * panel.h: Simplify interdependencies between headers.  Use
4078         forward declarations for structures.
4079         * widget.h: Declare struct WListbox.
4080         * wtools.h: Use forward declaration for struct WListbox to avoid
4081         dependency on widget.h.
4083 2002-11-10  Pavel Roskin  <proski@gnu.org>
4085         * panel.h: Remove all unused definitions.  Make format_e an
4086         opaque structure by moving it ...
4087         * screen.c: ... here.
4089         * screen.c (display_mini_info): Make static.
4090         (the_info_panel): Remove.
4092         * screen.c (Xtry_to_select): Make static, rename to
4093         do_try_to_select().
4095         * screen.c (chdir_other_panel): Change behavior of Alt-O -
4096         change the other panel to the current directory, put it to the
4097         listing mode if needed.  Based on a patch from PLD Linux
4098         Distribution.
4100 2002-11-06  Pavel Roskin  <proski@gnu.org>
4102         * myslang.h: Don't define ERR - it conflicts with sys/ucontext.h
4103         in glibc 2.1.3.
4104         * key.c: Use -1, not ERR.
4106 2002-11-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
4108         * boxes.c (configure_vfs): Ask whether passive connections
4109         should be used.  Asked by Andrew W. Nosenko <awn@bcs.zp.ua>.
4111 2002-11-01  Pavel Roskin  <proski@gnu.org>
4113         * main.c (main): Use O_TRUNC when opening the file to write the
4114         last working directory.  Fix segmentation fault when exiting
4115         while on VFS.
4116         * util.c (mc_mkstemps): Use O_TRUNC to open temporary files.
4118 2002-10-31  Andrew V. Samoilov  <sav@bcs.zp.ua>
4120         * view.c (normal_search) [HAVE_CHARSET]: Fix segmentation fault
4121         on first search.  Writing to read-only "" is not good idea.
4123 2002-10-31  Pavel Roskin  <proski@gnu.org>
4125         * main.c (probably_finish_program): Eliminate.
4126         (handle_args): Use exit code 1 only for errors, 0 for legitimate
4127         options such as "--help".
4129 2002-10-30  Pavel Roskin  <proski@gnu.org>
4131         * main.c: Option -P takes an argument (output filename) now.
4132         (main): Output the last directory to the specified file.  Don't
4133         output "." if this information is unavailable.
4135         * subshell.c (subshell_name_quote): Don't quote numbers and
4136         letters if possible and safe.
4138         * charset.h: Provide new inline functions convert_to_display_c()
4139         and convert_from_input_c().
4140         * view.c: Include charset.h unconditionally, use new conversion
4141         functions that don't require ifdefs.
4143         * charset.h [!HAVE_CHARSET]: Provide dummy macros for
4144         convert_to_display and convert_from_input.  Eliminate uchar
4145         definition, use unsigned char, adjust dependencies.
4146         * charsets.c (convert_to_display): Tolerate NULL argument.
4147         (convert_from_input): Likewise.
4149         * ext.c (exec_extension): Don't create self-destructing scripts
4150         for the viewer - remove those scripts manually after calling
4151         view().  This fixes the problem with double F8 in the viewer on
4152         parsed files.
4153         Reported by David Martin <dmartina@excite.com>
4155         * ext.c (exec_extension): Don't rely on working #! - explicitly
4156         run /bin/sh on the temporary script.
4158         * mouse.h: Use definitions for GPM_B_DOWN and GPM_B_UP
4159         compatible with gpm-1.20.
4160         Reported by David Martin <dmartina@excite.com>
4162 2002-10-29  Pavel Roskin  <proski@gnu.org>
4164         * panel.h: Use spaces, not commas, in the format - they are more
4165         readable and easier to document.
4166         * screen.c (panel_format): Likewise.
4167         (mini_status_format): Likewise.
4169 2002-10-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
4171         * view.c (init_growing_view): Mark message for translation.
4172         (normal_search) [HAVE_CHARSET]: Convert saved search string to
4173         original codeset if input_dialog() returns empty string.
4175 2002-10-24  Pavel Roskin  <proski@gnu.org>
4177         * screen.c (mini_info_separator): Revert last patch.  The bug is
4178         in Red Hat 8.0 S-Lang.
4180         * screen.c (mini_info_separator): The separator was one
4181         character too long.
4182         (show_dir): Remove obsolete linux_unicode hack.
4184         * dlg.c (init_dlg): Redraw screen after selecting the focused
4185         widget, not before.  The bug affected file progress dialog with
4186         verbose operation off.
4187         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
4189         * filegui.c (check_progress_buttons): Reinitialize ret_value to
4190         avoid old values after events other than selecting a button.
4191         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
4193 2002-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
4195         * man2hlp.c (handle_link): Treat link name after \& as regular
4196         text.
4197         Suggested by David Martin <dmartina@excite.com>
4199 2002-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
4201         * poptconfig.c (configLine): Cast the argument to functions for
4202         character classification to unsigned or use unsigned char *.
4203         (poptReadConfigFile): Likewise.
4204         * popthelp.c (singleOptionHelp): Likewise.
4205         * poptparse.c (poptParseArgvString): Likewise.
4207         * main.c (show_change_notice): Make local variable in main().
4208         (compatibility_move_mc_files): Merge with
4209         do_compatibility_move() and return 1 if moving was done, 0
4210         otherwise.  Move ~/.mc.tree to ~/.mc/Tree.
4212         * file.c (copy_file_file): Reuse message from move_file_file().
4213         (copy_dir_dir): Eliminate one more goto.
4215 2002-10-22  Pavel Roskin  <proski@gnu.org>
4217         * man2hlp.c (main): Remove unnecessary spaces in the table of
4218         contents.
4220         * setup.c: Remove dead code surrounded by
4221         SAVE_CHANGES_OUTSIDE_OPTIONS_MENU.
4222         * tree.c: Make tree_navigation_flag static.
4224         * help.h: Remove unused characters.
4225         * help.c (show): Remove handling of unused characters.
4227 2002-10-22  Andrew V. Samoilov  <sav@bcs.zp.ua>
4229         * popthelp.c (poptPrintHelp): Use POPT_ for "[OPTION...]",
4230         this message is eliminated by poptSetOtherOptionHelp().
4231         * popt.c (poptStrerror): Use _ instead of POPT_ for useful
4232         messages.
4234         * utilunix.c (mc_tmpdir): Make directory only if not exists.
4235         Use strncpy() instead of g_snprintf() - there can be printf()
4236         pattern(s) in the $TMPDIR.
4238         * man2hlp.c (handle_link): Don't strip leading space(s) from
4239         linkname.
4241 2002-10-22  Pavel Roskin  <proski@gnu.org>
4243         * myslang.h: Add a replacement for addch(), which expects a
4244         wchar_t argument in patched S-Lang on Red Hat 8.0.
4246 2002-10-21  Pavel Roskin  <proski@gnu.org>
4248         * main.c (print_mc_usage): Remove unnecessary newline.
4250         * main.c (print_mc_usage): Partly revert previous patch -
4251         poptPrintHelp() has side effects and should not be called
4252         inside fprintf(), which can be a macro.
4254         * main.c (print_mc_usage): Use poptSetOtherOptionHelp()
4255         From Andrew V. Samoilov <sav@bcs.zp.ua>
4257         * learn.c (learn_check_key): Simplify logic.  Add a comment for
4258         translators.
4260         * file.h: Rename know_not_what_am_i_doing to safe_delete.
4261         * file.c (real_query_recursive): Don't ask to enter "yes" - it's
4262         ugly and requires changing input method in some locales.
4264         * file.c (real_query_recursive): Default to empty string, not to
4265         "no" when asking to enter "yes".  Add note for translators.
4267         * cmd.c (do_view_cmd): When asking confirmation, correctly
4268         interpret closing the dialog by escape.
4270 2002-10-20  Pavel Roskin  <proski@gnu.org>
4272         * utilunix.c (mc_tmpdir): Don't exit if the temporary directory
4273         cannot be created - it should be possible to run mc on read-only
4274         filesystems.  Try to chmod() the temporary directory.
4276 2002-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
4278         * man2hlp.c (handle_tp_ip): Implement .IP and .TP macros
4279         (without arguments).
4280         (handle_command): Call handle_tp_ip().
4281         (main): Handle label and body of .TP paragraph.
4283 2002-10-17  Pavel Roskin  <proski@gnu.org>
4285         * view.c (view_ok_to_quit): Use the same dialog as the editor.
4287 2002-10-15  Andrew V. Samoilov  <sav@bcs.zp.ua>
4289         * Makefile.am (man2hlp_LDADD): Set to $(GLIB_LIBS).
4290         * man2hlp.c: Include <glib.h> and use g_snprintf()/g_vsnprintf()
4291         instead of sprintf()/vsprintf().
4293         * man2hlp.c: Report about stale links.
4295 2002-10-13  Pavel Roskin  <proski@gnu.org>
4297         * color.h: Remove Q_SELECTED_COLOR and Q_UNSELECTED_COLOR.
4298         Rename BEST_COLOR to IF_COLOR.  Make error messages bold on b/w
4299         terminals.  Don't highlight stale links on b/w terminals, since
4300         they cannot be distinguished from marked files.
4302         * main.c (print_color_usage): Update list of keywords for file
4303         types.  Add a notice for translators.
4305         * color.c: Rename stalledlink to stalelink.  Make the same
4306         change elsewhere.
4308 2002-10-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
4310         * popt.h: Adjust poptHelpOptions[] and poptPrintHelp()
4311         declarations.
4313         * popthelp.c: Replace POPT_ with _ for visible strings.
4314         (singleOptionHelp): Eliminate format array.
4315         (poptHelpOptions): Make const.
4316         (poptPrintHelp): Return width of left column.
4318         * main.c (print_mc_usage): Use width from poptPrintHelp()
4319         for "+number".
4321 2002-10-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
4323         * boxes.c (sel_charset_button): Use g_snprintf() instead of
4324         sprintf().
4325         * charsets.c (init_translation_table): Likewise.
4327 2002-10-07  Pavel Roskin  <proski@gnu.org>
4329         * view.c: Move call to view_update_bytes_per_line() from
4330         view_init(), where the number of columns is unknown yet, to
4331         view_callback() where it's already known.
4332         (view_adjust_size): Make static.
4334 2002-10-07  Miven Dooligan  <dooligan@intergate.ca>
4336         * view.c (view_update_bytes_per_line): Don't use vertical bars
4337         in the hex viewer is short of space.  Fix missing space between
4338         addresses and hexdump when framed.
4339         (display): Likewise.
4341 2002-10-07  Pavel Roskin  <proski@gnu.org>
4343         * selcodepage.c (select_charset): Use g_snprintf() instead
4344         of non-portable snprintf().
4346         * myslang.h [!HAVE_SYSTEM_SLANG]: Update location of slang.h.
4348 2002-09-29  Pavel Roskin  <proski@gnu.org>
4350         * ext.c (get_file_type_local): Return -1 for fatal errors.
4351         (get_file_type_pipe): Likewise.
4352         (regex_command): Likewise.  Adjust all callers.
4353         From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
4355         * dlg.c (frontend_run_dlg): Allow terminating the dialog from
4356         the idle handler.
4357         From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
4358         Call change_screen_size() regardless of ncurses version, and let
4359         that function decide what to do.
4361 2002-09-28  Pavel Roskin  <proski@gnu.org>
4363         * background.c (background_attention): Fix calling functions
4364         with wrong arguments, which resulted in segmentation faults.
4366 2002-09-27  Pavel Roskin  <proski@gnu.org>
4368         * file.c (panel_operate): Replace fancy internationalized
4369         message boxes for unknown file operations with abort().
4371         * util.c (name_trunc): Remove unused code, unhelpful error
4372         message and workaround for bugs in the callers.
4374         * file.c (copy_file_file): Rename DST_* names to DEST_*, since
4375         DST_NONE is used in FreeBSD libc.
4376         Reported by Pavel Shirshov <me@pavelsh.pp.ru>
4378 2002-09-26  Pavel Roskin  <proski@gnu.org>
4380         * textconf.c: Don't translate filesystem names.
4382         * main.h: Remove all references to icons.
4383         * panel.h: Likewise.  Adjust all dependencies.
4385         * hotlist.c (load_hotlist): Remove compatibility code with
4386         hotlist files created by ancient versions of mc.
4388         * command.c (do_cd_command): Reuse translated message.
4390         * user.c (check_patterns): Ignore invalid shell_patterns and
4391         let user see them in the menu.  The error message was too vague.
4393 2002-09-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
4395         * util.c (mc_mkstemps): Really return NULL in the filename in the
4396         case of failure.  Reported by Andrew W. Nosenko <awn@bcs.zp.ua>.
4398 2002-09-26  Pavel Roskin  <proski@gnu.org>
4400         * ext.c (get_file_type_local): Make static.
4401         (get_file_type_pipe): Likewise.
4402         * util.c (check_patterns): Likewise.
4404         * file.c (copy_file_file): Eliminate the complex scheme with
4405         "resources".  Set src_desc, dest_desc to -1 initially and use
4406         their values to see if they need to be closed.  Track status of
4407         the destination file using a 3-state variable.
4409         * file.c (copy_file_file): Fix event handling - check the result
4410         of file_progress_show_bytes().
4411         From Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
4413 2002-09-25  Pavel Roskin  <proski@gnu.org>
4415         * subshell.c (pty_open_master) [IS_AIX]: Open /dev/ptc, not
4416         /dev/ptmx.  From Sergey Pavlukhin <psi@dmng.ru>
4418 2002-09-24  Pavel Roskin  <proski@gnu.org>
4420         * screen.c (string_file_nuid): Fix a warning with uClibc.
4421         (string_file_ngid): Likewise.
4423         * mountlist.c: Restore sys/param.h before sys/mount.h - it's
4424         required on FreeBSD.
4425         Reported by Pavel Shirshov <me@pavelsh.pp.ru>
4427         * screen.c (panel_event): Implement support for mouse wheel.
4429         * view.c (display): Fix wrapping of tabs.
4430         Reported by Arpad Biro <biro_arpad@yahoo.com>
4432 2002-09-23  Pavel Roskin  <proski@gnu.org>
4434         * dlg.h: New message DLG_RESIZE.
4435         * layout.c: Call DLG_RESIZE instead of resizing viewer and
4436         editor individually.
4437         * view.c (view): Install handler for DLG_RESIZE.  Make view_dlg
4438         a local variable.
4440         * view.c (view): Set view_dlg to NULL after it's destroyed.
4442         * color.h: Remove EDITOR_UNDERLINED_COLOR, it's unused.
4444         * global.h: Move fcntl.h inclusion here.  Define O_BINARY.
4445         * mountlist.c: Remove more includes already handled in global.h.
4447 2002-09-22  Pavel Roskin  <proski@gnu.org>
4449         * man2hlp.c (handle_alt_font): Implement .BR, .IR, .RB, .RI, .BI
4450         and .IB macros.
4451         (handle_command): Call handle_alt_font().
4453         * man2hlp.c: Take text width from help.h, not from the command
4454         line.
4455         * help.h: Declare HELP_TEXT_WIDTH.
4456         * help.c: Use HELP_TEXT_WIDTH.
4458         * help.h: Replace CHAR_BOLD_ON, CHAR_BOLD_OFF and CHAR_ITALIC_ON
4459         with  CHAR_FONT_BOLD, CHAR_FONT_NORMAL and CHAR_FONT_ITALIC
4460         respectively for better consistency.
4462         * util.c (is_printable): Disable "Full 8 bits output" on xterm,
4463         fall back to "ISO 8859-1" due to problems with gnome-terminal,
4464         which identifies itself as xterm.
4465         Reported by Miven Dooligan <dooligan@intergate.ca>
4467         * mouse.h: Put return codes from the mouse callback to an enum.
4468         Remove MOU_ENDLOOP and MOU_LOCK - they are interpreted like
4469         MOU_NORMAL.  Adjust all dependencies.
4470         * dlg.c: Use MOU_NORMAL instead of 0 for mouse_status.
4472 2002-09-21  Pavel Roskin  <proski@gnu.org>
4474         * main.c (process_args): Print only data directory and nothing
4475         else for the "-f" argument.
4476         (argument_table): Rename --libdir to --datadir, adjust its
4477         description.
4479         * Makefile.am: Rename LIBDIR to DATADIR, since it refers to
4480         pkgdatadir now.  Install cons.saver to pkglibdir, pass it to the
4481         compiler as LIBDIR.
4482         * cons.handler.c (handle_console): Use LIBDIR.
4483         * main.c (OS_Setup): Use DATADIR instead of LIBDIR.  Rename
4484         MC_LIBDIR to MC_DATADIR.
4486         * panelize.c: Remove unused variable panelize_title.
4488         * view.c (view_event): Add mouse wheel support.
4490 2002-09-20  Pavel Roskin  <proski@gnu.org>
4492         * mouse.h: Define events for the mouse wheel.
4493         * key.c (xmouse_get_event): Recognize mouse wheel events.
4495         * command.c: (command_insert): New function - insert quoted
4496         text into the command line.
4497         * main.c: Use command_insert() instead of stuff().  This ensures
4498         that the names in the command line are quoted.
4499         Reported by Arpad Biro <biro_arpad@yahoo.com>
4501         * command.c: Make `command' a standard WInput widget, just
4502         change its callback.  Eliminate input_w().  Adjust all
4503         dependencies.
4504         * widget.c (input_callback): Remove static attribute.
4506 2002-09-19  Pavel Roskin  <proski@gnu.org>
4508         * main.c (argument_table): Improve help for "+number" - it has
4509         to be re-translated anyway.
4511         * main.c (argument_table): Add missing descriptions.
4513         * main.c [NATIVE_WIN32]: Remove -S option, it's useless.
4515         * main.c (print_mc_usage): Use poptPrintHelp() instead of
4516         manually formatted help text.  Adjust callers to pass popt
4517         context.
4519         * poptint.h: Use i18n.h instead of most own replacement macros.
4521 2002-09-18  Pavel Roskin  <proski@gnu.org>
4523         * cmd.c (other_symlink_cmd): Remove, this function is
4524         undocumented and poorly implemented.
4525         * main.c: Remove call to other_symlink_cmd() on C-x C-l.
4527 2002-09-16  Pavel Roskin  <proski@gnu.org>
4529         * wtools.c (real_input_dialog_help): Trim spaces from the label
4530         text.  Align label with the input field.
4532         * cmd.c (do_link): Avoid using g_strconcat() on translatable
4533         strings.
4534         (other_symlink_cmd): Likewise.
4536 2002-09-13  Pavel Roskin  <proski@gnu.org>
4538         * main.c: Remove advanced_chfns variable.  Adjust all
4539         dependencies.
4541         * option.c: Make "Configure options" dialog more flexible,
4542         readjust layout.  Remove "advanced chown" option - it's unused.
4544 2002-09-13  Andrew V. Samoilov  <sav@bcs.zp.ua>
4546         * main.c (process_args) [WITH_SMBFS]: Call smbfs_set_debugf()
4547         for "-l" option.
4549 2002-09-13  Pavel Roskin  <proski@gnu.org>
4551         * main.c: Fully remove obsolete "-m" option.
4553 2002-09-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
4555         * main.c [WITH_SMBFS]: Include ../vfs/smbfs.h.
4556         (argument_table) [WITH_SMBFS]: Add -D, --debuglevel option for
4557         smbfs debug level.
4558         (process_args) [WITH_SMBFS]: Handle new -D option.
4559         (print_mc_usage) [WITH_SMBFS]: Describe -D, --debuglevel option.
4561 2002-09-11  Pavel Roskin  <proski@gnu.org>
4563         * subshell.c: Move tcsh_fifo to the file scope.  Use mc_tmpdir()
4564         to calculate tcsh_fifo.
4566         * utilunix.c (mc_tmpdir): New function that returns temporary
4567         directory for mc.
4568         * util.c (mc_mkstemps): Use mc_tmpdir().
4569         * main.c (main): Call mc_tmpdir().
4571 2002-09-10  Pavel Roskin  <proski@gnu.org>
4573         * util.c (trim): Handle short strings even better - don't use
4574         dots unless necessary.
4576         * main.c (load_prompt): Don't shorten the prompt if COLS is 8 or
4577         less.
4579         * screen.c (show_dir): Don't call trim() with negative length.
4580         * util.c (trim): Better handle short length.  Make sure that the
4581         destination is always 0-terminated.
4583 2002-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
4585         * screen.c (string_file_name): Fix possible off-by-one
4586         buffer overflow.
4587         (string_file_size): Avoid unsafe strcpy().
4588         (string_file_size_brief): Likewise.  Eliminate buffer array.
4590 2002-09-08  Pavel Roskin  <proski@gnu.org>
4592         * color.c: Move hascolors variable into init_colors().  Adjust
4593         all dependencies.
4595         * myslang.h: Remove definition of initscr(), it's unused.
4597         * tty.h [!HAVE_SLANG]: Remove all slang_* definitions.
4598         * main.c (main) [!HAVE_SLANG]: Don't call slang_shutdown().
4599         * myslang.h: Remove slang_done_screen(), it's unused.
4601 2002-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
4603         * key.c (get_event): Check gpm_fd only if gpm is actually used.
4604         * layout.c (done_screen): Move disable_mouse() call ...
4605         * main.c (done_mc): ... here.
4607 2002-09-08  Pavel Roskin  <proski@gnu.org>
4609         * view.c (init_growing_view): Avoid reporting the same error
4610         twice.  Reported by Moritz Barsnick <moritz@barsnick.net>
4612 2002-09-07  Pavel Roskin  <proski@gnu.org>
4614         * textconf.c: Don't use SLANG_TERMINFO, which is unused anywhere
4615         else.  Assume that terminfo is used if USE_TERMCAP is undefined.
4617 2002-09-06  Pavel Roskin  <proski@gnu.org>
4619         * subshell.c (subshell_name_quote): Return NULL if we are out of
4620         memory.  Use "echo -e" with zsh (Debian bug #150996).
4621         (do_subshell_chdir): Be prepared to get NULL from
4622         subshell_name_quote().
4624         * profile.c: Remove unused code.  Eliminate global variables.
4625         (is_loaded): Rename to find_loaded().  return matching profile.
4626         Adjust all dependencies.
4628         * fs.h: Only redefine S_IS* macros if they are undefined, and
4629         then define them to 0.  S_IF* constants should be avoided.
4630         * util.c: Whenever possible, use standard POSIX macros to test
4631         for the file type.
4632         Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
4634 2002-09-05  Pavel Roskin  <proski@gnu.org>
4636         * cmd.c (nice_cd): Fix conditions when this function is
4637         compiled.
4639         * fs.h: Replace S_IFFIFO with S_IFIFO, which is the right name.
4641         * fs.h: Correct S_IS* definitions to use S_IFMT.  Add fallback
4642         definitions for S_IFDOOR and S_ISDOOR.
4643         * screen.c (string_file_type): Remove unnecessary ifdefs, fs.h
4644         takes care of it.
4645         (file_compute_color): Add support for Solaris doors.
4646         * util.c (string_perm): Remove unnecessary ifdef.
4648         * man2hlp.c (handle_command): Make clear that unsupported
4649         command is a warning, not an error.  Avoid unsafe strcat().
4651         * view.c (view_mode_callback): Eliminate, use the default
4652         callback.
4654         * main.c (load_hint): Don't hardcode copyright years.  Use a
4655         translated message.
4657         * main.c (midnight_callback): Avoid calling the default DLG_DRAW
4658         handler.  From David Martin <dmartina@excite.com>
4660         * help.c (help_handle_key): Sanity check for broken help files.
4661         From David Martin <dmartina@excite.com>
4663 2002-09-03  Pavel Roskin  <proski@gnu.org>
4665         * global.h: Eliminate xgetch, update all dependencies.
4667         * boxes.c: Fix remaining old-style calls to create_dlg().
4668         * complete.c: Likewise.
4669         * main.c: Likewise.
4670         * view.c: Likewise.
4672         * wtools.c: Remove Chooser, its unused.
4674         * dlg.c: Fix the case when the dialog has no title.
4676         * wtools.c (real_input_dialog_help): Use a more reliable way
4677         to indicate password input.
4679         * boxes.c (display_widgets) [!HAVE_CHARSET]: Fix initialization.
4680         (vfs_smb_get_authinfo): Reuse another translated string.
4682         * wtools.h (QuickDialog): Eliminate the "class" field - it's not
4683         used and it can clash with C++ code.  Adjust all dependencies.
4685         * dlg.c (x_set_dialog_title): Completely eliminate.  Adjust all
4686         dependencies.
4688         * help.c (interactive_display): Fallback to node "[main]" if the
4689         requested node cannot be found.
4691         * help.c (help_index_cmd): Eliminate unneeded search for
4692         "[Help]", which always fails.  Fix crash if "[Contents]" cannot
4693         be found.  Reuse more generic error message.
4695         * filegui.c: Eliminate x_set_dialog_title().
4696         * hotlist.c: Likewise.
4697         * help.c: Likewise.
4698         (interactive_display): Default to node "[main]" if the given
4699         node is empty.
4701 2002-09-02  Pavel Roskin  <proski@gnu.org>
4703         * dlg.c (create_dlg): Take title instead of unused name as the
4704         8-th argument.
4705         (x_set_dialog_title): Free old title.  Mark this function
4706         obsolete.
4707         * achown.c: Use new create_dlg().
4708         (do_enter_key): Provide titles for popups.
4710         * dlg.c: Remove unused code, make functions static if possible.
4712         * chmod.c: Use common_dialog_repaint().
4713         * chown.c: Likewise.
4714         * layout.c: Likewise.
4715         * option.c: Likewise.
4717         * wtools.c (common_dialog_callback): Fold into ...
4718         * dlg.c (default_dlg_callback): ... this.  Don't redraw dialogs
4719         that don't have colors.  Adjust all dependencies.
4720         (std_callback): Eliminate.
4722         * panelize.c (panelize_refresh): Eliminate in favor of
4723         common_dialog_callback().
4725         * widget.c (history_callback): Eliminate in favor of
4726         common_dialog_callback().
4727         (show_hist): Set dialog title and flag DLG_COMPACT.
4729         * help.c (help_callback): Use common_dialog_callback().
4730         (interactive_display): Set dialog title.
4732         * wtools.c (listbox_callback): Eliminate in favor of
4733         common_dialog_callback().
4735         * wtools.c (dialog_repaint): Eliminate, nobody should be using
4736         non-standard colors.  Adjust all dependencies.
4737         (common_dialog_repaint): Fix return code.
4738         (query_callback): Eliminate, use common_dialog_callback()
4739         instead.
4741         * listmode.c (listmode_refresh): Use common_dialog_repaint().
4742         Eliminate all global variables.  Reformat the whole file.
4744         * boxes.c (init_disp_bits_box): Use common_dialog_callback().
4745         Return the new dialog.
4747         * boxes.c (display_callback): Use common_dialog_repaint().
4748         (display_init): Avoid using two different translations.
4750 2002-09-01  Pavel Roskin  <proski@gnu.org>
4752         * help.c (interactive_display): Don't reuse the old value of
4753         help_lines - LINES could have changed.  Scale height better for
4754         terminals with many lines - use 2/3 of the full screen.
4756         * man2hlp.c: Move handling of .SH and NODE to a separate
4757         function handle_node().  Don't output empty nodes except in the
4758         table of contents.
4760 2002-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
4762         * man2hlp.c (print_error): Print input filename.
4763         (handle_command): Handle .P, .LP, .IP and .br.
4764         Ignore comments and .TH (Title header).
4765         Report about unsupported commands.
4766         Handle .SM and .SB.
4768         * ext.c (regex_command): Use "%s" as text argument.
4769         * user.c (debug_out): Likewise.
4771         * win.c (key_name_conv_tab): Fix initialization.
4773 2002-08-31  Pavel Roskin  <proski@gnu.org>
4775         * help.c (show): Fix segfault on unterminated help files.
4776         From David Martin <dmartina@excite.com>
4778         * key.c (get_event): Reduce scope of select_set.  Don't check
4779         mouse_enabled all the time, instead break out of the loop if it
4780         becomes 0.
4782         * main.c (do_nc): Make midnight_colors[] local to do_nc().
4783         Initialize normal color - it's used by the tree.
4784         * boxes.c (tree_box): Use standard dialog_colors.
4785         * tree.c: Use NORMALC for normal entries.
4787         * view.c (view): Avoid passing an uninitialized color array to
4788         create_dlg() - pass NULL instead.
4790 2002-08-30  Pavel Roskin  <proski@gnu.org>
4792         * color.c: Define global array alarm_colors for the colors used
4793         in the dialogs that should be most visible (error messages,
4794         request to delete or overwrite).
4795         (load_dialog_colors): Initialize alarm_colors.
4796         * filegui.c: Use alarm_colors.
4797         * wtools.c: Likewise.
4798         * dlg.c (create_dlg): Make the color_set array constant.
4800         * wtools.c (common_dialog_repaint): Use colors specific to the
4801         current dialog, not fixed colors for "normal" dialogs.
4802         * filegui.c (replace_callback): Eliminate, use
4803         common_dialog_callback() instead.
4805         * filegui.c (file_op_context_create_ui): Use
4806         common_dialog_callback().  Set title to the operation name.
4807         (op_win_callback): Remove, it's unused.
4809 2002-08-27  Pavel Roskin  <proski@gnu.org>
4811         * view.c: Make static whatever possible.
4812         * view.h: Remove internal view routines.
4814 2002-08-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
4816         * selcodepage.c (select_charset): Use snprintf instead of sprintf.
4817         (do_select_codepage) [!HAVE_ICONV]: Remove.
4819 2002-08-27  Pavel Roskin  <proski@gnu.org>
4821         * charsets.c: Add disclaimer of warranty.
4822         * filenot.c: Likewise.
4823         * fileopctx.c: Likewise.
4824         * mfmt.c: Likewise.
4825         * selcodepage.c: Likewise.
4826         * text.c: Likewise.
4827         * textconf.c: Likewise.
4829         * man2hlp.c (main): Factor error checks in fopen() and fclose(),
4830         eliminate reuse of variables for different purposes, add more
4831         comments.  Correctly process "\&" escape.
4832         The last part is from David Martin <dmartina@excite.com>
4834 2002-08-26  Pavel Roskin  <proski@gnu.org>
4836         * main.c (init_xterm_support): Force xterm-style screen saving
4837         and no mouse on "cygwin" terminal.
4839 2002-08-25  Pavel Roskin  <proski@gnu.org>
4841         * man2hlp.c: Change default from the English string for TOPICS,
4842         to no heading.
4844         * man2hlp.c (handle_command): Remove quotes from TOPIC.
4846         * key.c (get_event): Check gpm_fd before using it in FD_SET.  If
4847         gpm_fd is -1 (gpm has died), disable mouse support.
4849         * key.c: Use the maximal file descriptor, not FD_SETSIZE in all
4850         calls to select().
4851         * subshell.c: Likewise.
4852         From Pavel Tsekov <ptsekov@gmx.net>
4854 2002-08-24  Pavel Roskin  <proski@gnu.org>
4856         * user.c (expand_format): Remove support for error file in the
4857         editor.
4858         * utilunix.c (close_error_pipe): Fix the condition when nothing
4859         needs to be displayed.
4861         * dlg.c (x_set_dialog_title): Force uniform spacing.
4862         From Andrew Borodin <borodin@zarya-k.ru>
4864         * utilunix.c (check_error_pipe): Check error_pipe[0], not
4865         stdout.  From Pavel Tsekov <ptsekov@gmx.net>
4867         * achown.c (chown_refresh): Use common_dialog_repaint().
4869         * dlg.h (struct Dlg_head): Separate user flags and internal
4870         flags.  Make "direction" a user flag.  Adjust all dependencies.
4871         * dlg.c (run_dlg): Return ret_value.
4873 2002-08-23  Pavel Roskin  <proski@gnu.org>
4875         * text.c (default_edition_colors): Use more rxvt-friendly color
4876         for dhotnormal.
4878         * Makefile.am: Remove definition of CONFDIR, it's not used.
4880 2002-08-22  Pavel Roskin  <proski@gnu.org>
4882         * layout.c (print_vfs_message): Set normal color, don't use
4883         random current attributes.
4885         * dlg.h (struct Dlg_head): Eliminate "data" field, it duplicated
4886         functionality of "title".
4887         * wtools.c (query_callback): Use dialog_repaint().
4888         (quick_callback): Use common_dialog_repaint().
4890         * learn.c (learn_callback): Use common_dialog_repaint().
4891         * achown.c (chl_callback): Likewise.
4893         * dialog.h: Cleanup unused functions.
4894         * dialog.c: Cleanup unused headers.
4896         * dlg.h (struct Dlg_head): Fold fields "raw" and "has_menubar"
4897         into one field "flags".  Adjust all dependencies.  Add new flag
4898         DLG_COMPACT.
4899         * wtools.c (dialog_repaint): Draw frame without spaces if
4900         DLG_COMPACT flag is set.
4901         * complete.c (complete_engine): Set DLG_COMPACT.
4902         (query_callback): Use common_dialog_repaint().
4904         * keys.h: Remove, include ...
4905         * myslang.h: ... here.
4906         * Makefile.am: Remove keys.h.
4908         * dlg.h: Remove unused fields in struct Dlg_head.
4909         * dlg.c: Adjust for the above.
4911 2002-08-21  Pavel Roskin  <proski@gnu.org>
4913         * dlg.h: Remove unused fields in struct Widget.
4914         * dlg.c: Adjust for the above.
4915         * layout.c: Likewise.
4917         * cmd.c (info_cmd_no_menu): Toggle info screen.
4918         (quick_cmd_no_menu): Toggle quick view.
4920         * help.c (interactive_display): Always show button bar.
4922         * widget.c (buttonbar_callback): Fix a bug that prevented the
4923         last byte from being redrawn.
4924         Reported by David Martin <dmartina@excite.com>
4926         * layout.c (setup_panels): Make the button bar 0 lines high if
4927         it's invisible, so that mouse click on the history button works
4928         with invisible button bar.
4930         * widget.c: Make more functions static.
4932         * ext.c: (regex_check_type): Further split.  Restore caching
4933         broken in the previous commit.
4935         * ext.c (regex_command): Separate checking for "type/" into ...
4936         (regex_check_type): ... this.
4938         * global.h: Move include for rx.h and eregex.h here.
4940         * learn.c (learn_button): Don't allow Tab to be learned.
4942 2002-08-20  David Martin  <dmartina@excite.com>
4944         * menu.c (create_menu): Get help node as an argument.
4945         * main.c: Use new create_menu() interface.
4947 2002-08-20  Pavel Roskin  <proski@gnu.org>
4949         * man2hlp.c: Don't redirect stdout.  Check result of ftell.
4950         Drop support for invocation with 2 arguments.
4952 2002-08-19  Pavel Roskin  <proski@gnu.org>
4954         * cons.handler.c (handle_console): Use _exit(), not exit() in
4955         the child.
4957         * main.c (handle_args): Set POPT_CONTEXT_NO_EXEC flag for
4958         poptGetContext().
4959         * popt.c: Call abort() in execCommand() - we should not execute
4960         anything here.
4962         * util.h: Remove unused and dangerous flags for my_system():
4963         EXECUTE_TEMPFILE, EXECUTE_SETUID and EXECUTE_WAIT.
4964         * utilunix.c: Corresponding adjustments.
4965         * ext.c: Don't use EXECUTE_TEMPFILE, it has no effect.
4967         * subshell.c (synchronize): Workaround for Cygwin (should not be
4968         needed for the next version) - remove SIGCHLD blocking from
4969         old_mask.
4971         * dlg.h: Remove all unused flags for create_dlg().  Adjust all
4972         dependencies.
4974         * cmd.c (fishlink_cmd): Implement user interface for FiSH.
4975         * main.c: Add it to the menu.
4977         * help.c (help_follow_link): Made static.
4979 2002-08-18  Pavel Roskin  <proski@gnu.org>
4981         * subshell.c (synchronize): Discard all remaining data from
4982         stdin to the subshell.
4984         * subshell.c (exit_subshell) [AIX_TCSH_CODE_BELOW_IS_IT_FIXED]:
4985         Remove.  Nobody has fixed this code for years.
4987         * main.h [USE_INTERNAL_EDIT]: Don't include declarations from
4988         edit.h.
4989         * setup.c [USE_INTERNAL_EDIT]: Include edit.h.
4991         * boxes.h: Remove user_format.
4992         * boxes.c: Make more variables static, remove all extern
4993         declarations.
4994         * setup.c: Remove some extern declarations.
4996         * mountlist.h: Move some internals ...
4997         * mountlist.c: ... here.
4999         * main.c: Remove extremely unsafe and poorly designed support
5000         for /tmp/mc.$PID.control file.
5001         * util.c (my_putenv): Remove, it's unused now.
5003         * panel.h (struct format_e): Make string_fn return const char *.
5004         Adjust all dependencies.
5005         * screen.c (string_file_mtime): Return empty string for "..".
5006         (string_file_atime): Likewise.
5007         (string_file_ctime): Likewise.
5009         * view.c (display): Use enum for boldflag values.  Fix cursor
5010         highlighting for the ASCII part of the hex editor.
5012         * layout.c (init_curses) [!HAVE_SLANG]: Add support for
5013         stickchars - fill acs_map[] with ASCII approximations.
5014         * main.c [!HAVE_SLANG]: Enable --stickchars (-a) for ncurses.
5016 2002-08-16  Pavel Roskin  <proski@gnu.org>
5018         * setup.c: New variable global_profile_name to hold full name of
5019         mc.lib.
5020         (load_setup): Calculate global_profile_name.
5021         (done_setup): Free global_profile_name.
5022         (load_key_defs): Use global_profile_name.
5023         * treestore.c (should_skip_directory): Likewise.
5025         * man2hlp.c: Implement persistent fread and fwrite to make sure
5026         that all output is read and written.
5028 2002-08-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
5030         * help.c (show): Cast *paint_start to unsigned char to display
5031         Cyrillic with ncurses.
5032         [HAS_ACS_AS_PCCHARS] (acs2pc_table): Make const.
5034         * user.c (expand_format): Cast the argument to functions
5035         for character classification to unsigned int.
5036         (execute_menu_command): Likewise.
5038 2002-08-15  Pavel Roskin  <proski@gnu.org>
5040         * treestore.c (tree_store_remove_entry): Don't use ts.check_name
5041         and don't check it.
5043         * treestore.c: Remove unused code, reformat.
5044         * treestore.h: Remove unused declarations.
5046         * fs.h (compute_namelen): New inline function to take care of
5047         the d_namlen field if and only if it's needed.
5049         * screen.c (string_file_name): Replace non-printable characters
5050         with question marks.
5052         * subshell.c (read_subshell_prompt): Remove argument "how", it's
5053         never set to VISIBLY.  Adjust all dependencies.  Eliminate hack
5054         with "clear_now" - it causes invalid memory access and hides the
5055         real problem.
5056         * util.c (strip_ctrl_codes): Fix possible invalid memory access
5057         if the escape sequence ends unexpectedly.
5059 2002-08-14  Pavel Roskin  <proski@gnu.org>
5061         * dir.c (do_load_dir): Fix leaking of file descriptors - always
5062         call mc_closedir() before return.
5064         * main.c (do_execute) [!HAVE_SUBSHELL_SUPPORT]: Compile fix.
5066         * view.c (display): Use only declared color pairs to fix hex
5067         editor appearance with ncurses.  Eliminate some useless defines.
5069 2002-08-10  Pavel Roskin  <proski@gnu.org>
5071         * key.c (delete_select_channel): Avoid using freed memory.
5073 2002-08-09  Pavel Roskin  <proski@gnu.org>
5075         * ext.c (exec_extension): Eliminate unused argument.
5076         (regex_command): Remove support for user actions.  Return int.
5077         Adjust all dependencies.
5079         * ext.c (exec_extension): Make static.  Remove support for Drop,
5080         Title and Icon actions.  Adjust all dependencies.
5082         * main.c (sigchld_handler_no_subshell) [linux]: SIGTSTP is
5083         always defined on Linux.
5084         * subshell.c (sigchld_handler): No need to use SIGTSTP
5085         explicitly when we really care about SIGCONT.
5087         * ncurses.patch: Remove, it's obsolete.
5088         * Makefile.am: Remove ncurses.patch.
5090 2002-08-04  Pavel Roskin  <proski@gnu.org>
5092         * subshell.c: Assume that SIGTSTP and SIGCONT are always
5093         defined.  This is now checked in configure.  Otherwise
5094         synchronize() would hang until subshell exits.
5096 2002-08-01  Pavel Roskin  <proski@gnu.org>
5098         * charsets.c: Unconditionally enable finalization code that was
5099         only used with HAVE_MAD.
5100         * color.c: Likewise.
5101         * color.h: Likewise.
5102         * key.c: Likewise.
5103         * main.c: Likewise.
5104         * slint.c: Likewise.
5105         * subshell.c (exit_subshell): Free subshell_prompt.
5107         * mad.c: Remove.
5108         * mad.h: Likewise.
5109         * Makefile.am (SRCS): Remove mad.c and mad.h.
5110         * cmd.c: Remove references to MAD.
5111         * main.c: Likewise.
5112         * dlg.c: Use inline, not INLINE.
5113         * hotlist.c: Likewise.
5114         * menu.c: Likewise.
5115         * global.h: Don't include mad.h.
5117 2002-07-31  Andrew V. Samoilov  <kai@cmail.ru>
5119         * man2hlp.c (main): Don't use freed structure member.
5121         * ext.c (regex_command): Don't check same condition twice.
5122         (exec_extension): Comment out useless loop.
5123         * key.h (key_code_name_t): Typedef const.
5125 2002-07-30  Pavel Roskin  <proski@gnu.org>
5127         * man2hlp.c (main): Use only stream I/O.  Fix checks for error
5128         conditions.  Reformat the whole file.
5130         * man2hlp.c: Avoid the need to use gindex.pl.
5131         From Andrew V. Samoilov <sav@bcs.zp.ua>
5132         * Makefile.am: Use man2hlp directly.
5133         (EXTRA_DIST): Remove gindex.pl.
5134         * gindex.pl: Remove.
5136         * ext.c (regex_command): Additional check to prevent reading
5137         unallocated memory when matching "shell/".  Found by Valgrind.
5139 2002-07-29  Pavel Roskin  <proski@gnu.org>
5141         * setup.c: Eliminate all PORT* macros.
5142         * screen.c: Likewise.
5144         * subshell.c (feed_subshell): Reading 0 bytes in a channel with
5145         FD_ISSET being set is a sign of something being wrong - exit
5146         immediately.  Observed when mc is run under su in xterm and
5147         xterm is closed while the subshell is running.
5148         Reported by Vlad Harchev <hvv@hippo.ru>
5150         * color.h: Replace PORT_COLOR macro with BEST_COLOR, which uses
5151         MY_COLOR_PAIR.
5153         * util.c: Remove unused functions.
5154         * utilunix.c: Likewise.
5155         * util.h: Update to match.
5157         * cons.saver.c: Use SEEK_SET instead of 0 in lseek().
5158         * view.c: Likewise.
5160         * main.c (do_execute): Add newline after "Press any key to
5161         continue".
5163         * cons.saver.c: Eliminate some global variables.  Further
5164         cleanup.  Make sure that console_fd is always closed.
5166 2002-07-28  Pavel Roskin  <proski@gnu.org>
5168         * cons.saver.c: Remove support for Linux kernels before 2.0.
5169         Massive cleanup.
5170         (send_contents): Remove incorrect optimization - restore even
5171         empty lines because they may be touched by the viewer.
5172         From Denis Vlasenko <vda_unique@iname.com>
5174 2002-07-26  Pavel Roskin  <proski@gnu.org>
5176         * utilunix.c (canonicalize_pathname): Don't extend empty path
5177         to "." - it can corrupt memory.
5179         * cmd.c (copymove_cmd_with_default): Remove, it's unused.
5180         (copy_cmd_local): New function, copy within panel.
5181         (ren_cmd_local): New function, rename within panel.
5182         * cmd.h: Adjust to match.
5183         * screen.c (panel_keymap): Associate F15 with copy_cmd_local and
5184         F16 with ren_cmd_local.
5186         * view.c (display): Don't highlight characters as bold if the
5187         character before the backspace was different.
5188         From Roland Illig <roland.illig@gmx.de>
5190 2002-07-25  Andrew V. Samoilov  <kai@cmail.ru>
5192         * wtools.c (message): Fix possible buffer overflow.
5194         * slint.c [HAVE_MAD] (dealloc_color_pairs): Move ...
5195         * color.c [HAVE_MAD]: ... here and make accessible from
5196         other files to fix compilation.
5197         * color.h [HAVE_MAD]: Declare dealloc_color_pairs.
5199 2002-07-20  Pavel Roskin  <proski@gnu.org>
5201         * screen.c (panel_callback): Revert last change, it has bad side
5202         effects on the subshell.
5204 2002-07-19  Pavel Roskin  <proski@gnu.org>
5206         * dlg.c: Eliminate all useless x_* functions.
5207         * dlg.h: Likewise.
5208         * panel.h: Likewise.
5209         * textconf.h: Likewise.
5210         * view.c: Likewise.
5211         * view.h: Likewise.
5212         * widget.c: Likewise.
5213         * main.c: Remove panel_update_marks(). Move try_to_select() ...
5214         * screen.c: ... here.  Eliminate x_* functions.
5215         * main.h: Remove panel_update_marks().
5217         * screen.c (panel_callback): Only change directory on
5218         WIDGET_FOCUS if current_panel changes.
5220         * main.c (handle_args): Don't call mc_get_current_wd().
5222         * main.c (directory_history_list): Report error if cannot change
5223         directory.
5225 2002-07-16  Pavel Roskin  <proski@gnu.org>
5227         * main.c (do_execute): Don't ask to press any key when the shell
5228         is running a command - the user has already pressed Ctrl-O.
5230 2002-07-15  Pavel Roskin  <proski@gnu.org>
5232         * slint.c: Eliminate hardcoded color terminals.  Most users no
5233         longer need this hack, and those who do have color_terminals
5234         option in the config file.
5236 2002-07-14  Pavel Roskin  <proski@gnu.org>
5238         * color.c [USE_NCURSES]: Eliminate division by COLOR, it's 0 in
5239         black and white mode.
5241         * slint.c: Move functions for allocating color pairs ...
5242         * color.c: ... here.  Implement ncurses equivalents.  Rename
5243         init_pair() to mc_init_pair() and keep tack of max_index with
5244         ncurses.  Adjust all dependencies.
5246         * mem.h: Clean up obsolete definitions, incorporate into ...
5247         * global.h: ... this.
5248         * Makefile.am: Remove mem.h.
5250 2002-07-13  Pavel Roskin  <proski@gnu.org>
5252         * Makefile.am (AM_CPPFLAGS): Remove REGEX_MALLOC, it's now in
5253         configure.in.
5255         * tty.h: Use standard autoconf defines to determine which
5256         ncurses header to include.  Eliminate RENAMED_NCURSES.
5258 2002-07-10  Pavel Roskin  <proski@gnu.org>
5260         * utilunix.c: Cast argument for GUINT_TO_POINTER to int to fix
5261         warnings on Cygwin.
5263         * subshell.c: ioctl() doesn't set errno - don't use perror() to
5264         report failures.  Use fprintf() instead, ignore errors from
5265         TIOCSWINSZ.
5266         (resize_tty): New function - code common for resize_subshell()
5267         and init_subshell_child().
5269         * global.h: Include vfs.h.
5270         * boxes.c (configure_vfs): Ask whether .netrc should be used.
5271         From Thomas Zajic <zlatko@gmx.at>
5273 2002-07-03  Pavel Roskin  <proski@gnu.org>
5275         * file.c (do_transform_source): Cast the argument to functions
5276         for character classification to unsigned int.
5277         * main.c (handle_args): Likewise.
5278         * util.c (size_trunc_sep): Likewise.
5279         (skip_numbers): Likewise.
5281         * subshell.c (sigchld_handler): Remove subshell_pty from the
5282         channel list if the subshell has died.
5284 2002-07-03  Andrew V. Samoilov  <kai@cmail.ru>
5286         * mad.[ch] [__GNUC__] (mad_strconcat): Use macro varargs.
5287         (mad_strdup_printf): Likewise.
5288         (mad_strdup_vprintf): Likewise.
5289         * main.c [HAVE_MAD] (main): Release this_dir and other_dir.
5291 2002-07-03  Pavel Roskin  <proski@gnu.org>
5293         * main.c (stop_dialogs): New function to stop all dialogs.
5294         (quit_cmd_internal): Use stop_dialogs() instead of stopping
5295         midnight_dlg only.  This fixes exit from the shell invoked from
5296         the internal viewer or editor.
5298         * cmd.c (view_other_cmd): Shut down extra select channels before
5299         switching to the shell.  Restore them afterwards, but not if
5300         quit was requested.  Skip more code on quit.
5302 2002-07-02  Pavel Roskin  <proski@gnu.org>
5304         * util.c: Eliminate get_small_endian_long() and CHECK macro.
5306         * util.h: Rename compression types, add a type for uncompressed
5307         files.
5308         * util.c (is_gunzipable): Rename to ...
5309         (get_compression_type): this.  Don't check archive length, since
5310         it's unreliable if there is padding at the end of the file.
5311         Eliminate prehistoric Linux workaround.  All callers adjusted.
5313 2002-07-01  Andrew V. Samoilov  <kai@cmail.ru>
5315         * utilunix.c (close_error_pipe): Use "%s" in message () to
5316         prevent possible crash.
5317         (check_error_pipe): Likewise.
5319 2002-06-27  Pavel Roskin  <proski@gnu.org>
5321         * screen.c (do_enter_on_file_entry): Process associations before
5322         trying to execute the file.
5324 2002-06-20  Pavel Roskin  <proski@gnu.org>
5326         * dir.c (handle_dirent): Don't process ".." entries.
5327         (handle_path): Likewise.
5328         From Andrew V. Samoilov <kai@cmail.ru>
5330 2002-06-13  Oskar Liljeblad  <oskar@osk.mine.nu>
5332         * slint.c (has_colors): Don't reset SLtt_Use_Ansi_Colors to 0 if
5333         force_colors is not set.  This fixes color on unknown terminals.
5335 2002-06-13  Andrew V. Samoilov  <kai@cmail.ru>
5337         * user.c (expand_format): Fix '%b' processing.
5338         Handle '%k' as documented.
5340 2002-05-30  Andrew V. Samoilov  <kai@cmail.ru>
5342         * view.c (regexp_search): Don't call save_edit_changes
5343         if there are no changes.
5344         (save_edit_changes): Use messages from ../po/mc.pot.
5346         * mad.c (mad_tempnam): Commented out to make linker happy.
5347         * main.c [HAVE_MAD && !_OS_NT] (main): G_free mc_home.
5349 2002-05-27  Andrew V. Samoilov  <kai@cmail.ru>
5351         * view.c (save_edit_changes): Handle errors.
5352         (do_view_init): Don't open and check file type
5353         if _command is not null or _file is empty string.
5355 2002-05-22  Pavel Roskin  <proski@gnu.org>
5357         * Makefile.am: doc/mc.1 is in top_builddir, not in top_srcdir.
5359 2002-05-15  Andrew V. Samoilov  <kai@cmail.ru>
5361         * view.c (do_view_init): Close fd if it is unused.
5363 2002-05-14  Andrew V. Samoilov  <kai@cmail.ru>
5365         * Makefile.am (VFSLIB): Add ../vfs/samba/libsamba.a
5366         if USE_SAMBA_FS is true.
5368 2002-05-07  Pavel Roskin  <proski@gnu.org>
5370         * hotlist.c (hotlist_button_callback): Don't process B_REMOVE
5371         for VFS list - it would crash.
5372         From Andrey Panov <pav@metib.ru>
5374 2002-04-19  Andrew V. Samoilov  <kai@cmail.ru>
5376         * main.c [!WITH_MCFS] (PanelMenu): Eliminate mcfs related entry.
5377         (RightMenu): Likewise.
5378         * textconf.c (features): Likewise.
5379         * cmd.c (netlink_cmd) [!WITH_MCFS]: Eliminate.
5381 2002-04-03  Pavel Roskin  <proski@gnu.org>
5383         * Makefile: mc.hlp should be in MAINTAINERCLEANFILES, not in
5384         CLEANFILES, because "make clean" should not make the source
5385         directory useless on systems without Perl.
5387 2002-03-26  Andrew V. Samoilov  <kai@cmail.ru>
5389         * eregex.h [!USE_INCLUDED_REGEX]: Include <regex.h>.
5390         * regex.c: Compile only if USE_INCLUDED_REGEX is defined.
5392 2002-03-25  Andrew V. Samoilov  <kai@cmail.ru>
5394         * complete.c (insert_text): Fix buffer overflow.
5396         * cmd.[ch] [USE_INTERNAL_EDIT] (edit_syntax_cmd:) New dialog
5397         to edit Syntax Highlighting definitions file.
5398         * main.c (CmdMenu) [USE_INTERNAL_EDIT]: Add 'Syntax file edit'
5399         entry.
5400         (process_args): Print mc's library directory to stdout.
5402 2002-03-21  Andrew V. Samoilov  <kai@cmail.ru>
5404         * man2hlp.c (handle_command): Handle backslash quoting
5405         for .I and .B
5406         (handle_link): Strip .B and .I
5407         * gindex.pl: Use fifth argument as man2hlp location.
5409 2002-03-20  Andrew V. Samoilov  <kai@cmail.ru>
5411         * man2hlp.c (handle_command): Handle '.\"TOPICS' comment.
5412         Use it for translated 'Topics:' message.
5413         * gindex.pl: Use first line of man2hlp output as
5414         translated 'Topics:' message if fourth argument
5415         is empty string.
5416         * Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
5417         fourth argument.
5419         * textconf.c (version): Write to stdout.
5420         * main.c (print_mc_usage): Add "stream" parameter to specify
5421         file stream.
5422         (process_args): Use print_mc_usage() with stdout as stream.
5423         (handle_args): Use print_mc_usage() with stderr as stream.
5424         (print_color_usage): Write to stdout.
5426 2002-03-18  Pavel Roskin  <proski@gnu.org>
5428         * eregex.h: Update from glibc-2.2.5.
5429         * regex.c: Likewise.
5430         * find.c: Use eregex.h, not regex.h.
5431         * util.c: Likewise.
5432         * view.c: Likewise.
5433         From Alexander Varakin <avarakin00@hotmail.com>
5435         * find.c (find_parameters): Invert condition when find is case
5436         sensitive.
5438 2002-03-04  Andrew V. Samoilov  <kai@cmail.ru>
5440         * Makefile.am (mc.hlp.ru): Use mc.1 instead of mc.1.in.
5441         (mc.hlp): Likewise.
5443         * file.c (copy_file_file): Chmod destination only if
5444         ctx->preserve is on.  Eliminate gotos.
5446 2002-03-01  Andrew V. Samoilov  <kai@cmail.ru>
5448         * Makefile.am (mc.hlp.ru): New rule to compile translated
5449         help file.
5450         (mclib_DATA): Add mc.hlp.ru.
5451         (EXTRA_DIST): Likewise.
5453         * gindex.pl: Add optional 4th argument for translated
5454         Content section name.
5456 2002-02-28  Andrew V. Samoilov  <kai@cmail.ru>
5458         * mad.c: Make mem_areas dynamically growing.
5459         (mad_init): Allocate memory for mem_areas.
5460         (mad_alloc): Grow mem_areas if it is exhausted.
5462         * filegui.c (file_mask_dialog): Enable 'follow Links'
5463         and 'preserve Attributes' features in Move dialog.
5464         (file_bps_show): Translate messages.
5465         (file_eta_show): Likewise.
5467         * man2hlp.c (main): Don't crash if called without argument(s).
5468         Make buffer char pointer.
5469         (handle_command): Handle '.\"NODE' comment.  Use it for
5470         nodename in translated manual pages.
5472         * gindex.pl: Use [nodename] as user visible section name
5473         only if next line is empty.  Elsewhere use this nonempty line.
5475         * find.c (find_parameters): Compile content_pattern here.
5476         Inform user about malformed regular expression.
5477         (search_content): Use compiled regular expression.
5478         (do_find): Eliminate `done'.  Call regfree for compiled
5479         content_pattern.
5481 2002-02-24  Pavel Roskin  <proski@gnu.org>
5483         * chown.c (chown_cmd): Use size_trunc_len() to show the file
5484         size.  Eliminate c_fsize, which wasn't properly initialized.
5486 2002-02-22  Pavel Roskin  <proski@gnu.org>
5488         * man2hlp.c (string_len): Don't exclude characters with codes
5489         above 128 from the string length.
5491 2002-02-21  Andrew V. Samoilov  <kai@cmail.ru>
5493         * ext.c (exec_extension): Use "#! /bin/sh".
5495 2002-02-20  Pavel Roskin  <proski@gnu.org>
5497         * background.c (background_attention): Cast pointer to long
5498         instead of int because it's unsafe of 64-bit systems.
5499         * main.c (init_xterm_support): Likewise.
5501 2002-02-18  Pavel Roskin  <proski@gnu.org>
5503         * utilunix.c (canonicalize_pathname) [__QNX__]: Fix detection
5504         of Qnet names.  Disable support of Qnet names under QNX Neutrino.
5505         Reported by Maurizio Rossi <MRossi@system-group.it>
5507         * global.h: Include unix.h under "classical" QNX.
5508         * subshell.c: Don't include unix.h.
5509         * utilunix.c: Likewise.
5511 2002-02-07  Andrew V. Samoilov  <kai@cmail.ru>
5513         * main.c (update_one_panel_widget): Call ftpfs_flushdir().
5515 2002-02-05  Pavel Roskin  <proski@gnu.org>
5517         * key.c [USE_NCURSES] (get_key_code): Ignore KEY_RESIZE.
5518         * layout.c [USE_NCURSES] (flag_winch): Don't call
5519         low_level_change_screen_size() from signal handler.
5520         From Thomas Dickey <dickey@herndon4.his.com>
5522         * screen.c (format_file): Add a new parameter (size of the
5523         output buffer) to prevent buffer overflow on very wide
5524         terminals.
5525         From Thomas Dickey <dickey@herndon4.his.com>
5527 2002-02-04  Andrew V. Samoilov  <kai@cmail.ru>
5529         * util.c [!HAVE_TRUNCATE] (truncate): Close fd if my_ftruncate
5530         fails.
5532         * util.c [HAVE_CHARSET] (is_printable): Eliminate printable.
5533         * setup.c [HAVE_CHARSET] (load_setup): Don't use
5534         init_printable_table.
5536         * charsets.h: Don't declare init_printable_table ().
5537         * charset.c (printable): Removed.
5538         (init_printable_table): Removed.
5540 2002-01-30  Andrew V. Samoilov  <kai@cmail.ru>
5542         * file.c (recursive_erase): Use mc_closedir() if mc_lstat()
5543         fails.  Eliminate goto.
5544         (erase_dir): Eliminate goto.
5545         (erase_dir_iff_empty): Likewise.
5547 2002-01-29  Andrew V. Samoilov  <kai@cmail.ru>
5549         * dir.c (handle_dirent): Use MSG_ERROR.
5550         * charsets.c (translate_character): Use ICONV_CONST.
5552 2002-01-22  Pavel Roskin  <proski@gnu.org>
5554         * screen.c: Don't try to paint anything if width is 0 or less.
5555         Reported by Pawel Sakowski <pawel@sakowski.eu.org>
5557         * screen.c: Make functions static whenever possible.  Remove
5558         unused functions.
5559         * panel.h: Remove corresponding declarations.
5561 2002-01-21  Pavel Roskin  <proski@gnu.org>
5563         * util.c: Move replacements for permission bits ...
5564         * fs.h: ... here.  Add more replacements.
5565         * global.h: Include direct.h only with MSVC.
5567         * main.c: Include "drive.h", not <drive.h>, do it after panel.h.
5568         Use _OS_NT as the condition for including drive.h.
5569         * screen.c: Use _OS_NT as the condition for including drive.h.
5571         * global.h [_OS_NT]: Include io.h, direct.h and windows.h.
5572         Don't redefine struct timeval.
5574         * fs.h [_MSC_VER]: Use dirent provided by glib.
5576         * global.h [!HAVE_SYS_TIME_H]: Provide a replacement for struct
5577         timeval.
5579         * findme.c: Respect HAVE_UNISTD_H.
5580         * popt.c: Likewise.
5582         * global.h: Fallback to sys/utime.h if utime.h is missing.
5584         * global.h: Provide fallbacks for getuid(), getgid(), geteuid()
5585         and getegid().
5586         * fs.h: Fully trust HAVE_DIRENT_H.
5587         * complete.c: Don't include dirent.h directly, fs.h takes care
5588         of it.
5589         * file.c: Likewise.
5590         * filegui.c: Likewise.
5591         * main.c: Likewise.
5592         * treestore.c: Likewise.
5594         * global.h [!__GNUC__]: Define __attribute__ with one argument.
5596 2002-01-20  Pavel Roskin  <proski@gnu.org>
5598         * screen.c (string_file_size): Translate "UP--DIR".
5599         (string_file_size_brief): Translate "SUB-DIR" and "SYMLINK".
5601         * dir.c (add_dotdot_to_list): Don't use costly stat() - just put
5602         realistic (i.e. bogus) data to the list.
5604         * screen.c (string_file_size): Don't display size of ".." - it
5605         may take too much time to calculate it on VFS.  Show "UP--DIR"
5606         instead.
5607         (string_file_size_brief): Remove ".." handling - it's now done
5608         in string_file_size().  Show "SUB-DIR" for links to directories,
5609         "SYMLINK" for other links.
5611 2002-01-17  Pavel Roskin  <proski@gnu.org>
5613         * cmd.c: Remove OS/2 specific code.
5614         * file.c: Likewise.
5615         * main.c: Likewise.
5617         * main.h: Remove dead declarations.
5618         * setup.c: Remove defunct extension alignment support.
5619         * util.c: Likewise.
5620         * util.h: Likewise.
5622         * main.c: Remove unused toggle_* functions.
5624         * dir.c: Show backups by default.
5626 2002-01-15  Andrew V. Samoilov  <kai@cmail.ru>
5628         * file.c (copy_dir_dir): Check the destination is a directory
5629         if it exists. Reported by Thomas <metaf4@pseudonym.org>.
5631 2002-01-09  Andrew V. Samoilov  <kai@cmail.ru>
5633         * util.c (string_perm) [S_IFDOOR]: Support Solaris doors.
5634         * screen.c (string_file_type) [S_IFDOOR]: Likewise.
5636 2001-12-21  Pavel Roskin  <proski@gnu.org>
5638         * hotlist.c (hotlist_callback): Recognize "delete" key.
5640         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang/slang-mc.h to
5641         simplify includes.
5642         [HAVE_SYSTEM_SLANG]: Use angle brackets for slang.h.
5644         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang-mc.h directly
5645         to avoid relying on symlinks.
5647 2001-12-18  Pavel Roskin  <proski@gnu.org>
5649         * utilunix.c (init_groups): Don't return prematurely if the
5650         primary group cannot be found (it can happen on Cygwin).
5652 2001-12-10  Pavel Roskin  <proski@gnu.org>
5654         * dir.c (do_reload_dir): Hash-table added.
5655         From Björn Eriksson <mdeans@algonet.se>
5657 2001-12-03  Pavel Roskin  <proski@gnu.org>
5659         * dir.c (do_reload_dir): Optimize the logic - count the marks
5660         and only match new entries against old entries if at least one
5661         mark has not been transferred.
5662         From Björn Eriksson <mdeans@algonet.se>
5664 2001-11-29  Pavel Roskin  <proski@gnu.org>
5666         * main.c (midnight_callback): Implement "auto menus".
5668         * layout.c: Make more variables static.
5670         * cons.saver.c: Define LINUX_CONS_SAVER_C so that some parts
5671         of cons.saver.h can be omitted.
5672         * cons.saver.h: Declare nothing but constants if
5673         LINUX_CONS_SAVER_C is defined.
5675 2001-11-14  Pavel Roskin  <proski@gnu.org>
5677         Fully eliminate all references to HAVE_X and HAVE_GNOME.
5679         * dir.c (do_sort): Correctly handle the case when there is no
5680         ".." entry (i.e. panelized mode).
5682 2001-11-14  Andrew V. Samoilov  <kai@cmail.ru>
5684         * view.c (do_view_init): Make sure _file is not
5685         an empty string before mc_stat and mc_open.
5686         Memory leak fixed.
5688 2001-11-14  Pavel Roskin  <proski@gnu.org>
5690         * panelize.c (do_external_panelize): Re-sort the panel according
5691         to the current settings.
5693         * find.c (do_find): Re-sort the panel according to the current
5694         settings when doing panelizing.
5696         * dir.c (sort_type_to_name): Remove, it's unused in the text
5697         edition.
5698         (sort_name_to_type): Likewise.
5699         * dir.h: Adjust to match.
5701         * mouse.c: Add default cases to fix warnings with gcc-2.96.
5703 2001-11-12  Pavel Roskin  <proski@gnu.org>
5705         * main.c: Remove support for subshell debugging.  Firstly, it
5706         was broken.  Secondly, every developer should be able to add
5707         this code when needed.  Finally, there is no need to expose the
5708         option to the user and translate it into 30 languages.
5709         * subshell.h: Remove debug_subshell.
5710         * subshell.c: Likewise.
5712 2001-11-12  Andrew V. Samoilov  <kai@cmail.ru>
5714         * mad.h: Enable glib support.
5716         * mad.[ch] (mad_get_current_dir): New function to use instead
5717         of g_get_current_dir.
5718         (mad_tempnam): Add file and line parameters.
5719         (mad_alloc0): Make file parameter const.
5720         (mad_realloc): Likewise.
5721         (mad_strdup): Likewise.
5722         (mad_strndup): Likewise.
5723         (mad_free): Likewise.
5724         (mad_finalize): Likewise.
5726 2001-11-07  Andrew V. Samoilov  <kai@cmail.ru>
5728         * cmd.c (guess_message_value): Make val static const array.
5729         (smblink_cmd) [!WITH_SMBFS]: Eliminated.
5731         * dlg.c (add_widget): Check for what is not NULL
5732         before everything else.
5734         * slint.c (slang_reset_softkeys): Make display static const
5735         array.  Use sizeof (display) - 1 instead of strlen display.
5736         (color_terminals): Make static const array.
5737         (key_table): Make const.
5739         (dealloc_color_pairs) [HAVE_MAD]: New function.  Release
5740         memory allocated in try_alloc_color_pair.
5741         (slang_shutdown) [HAVE_MAD]: Call dealloc_color_pairs.
5742         (try_alloc_color_pair): Move struct c outside function.
5744 2001-10-29  Andrew V. Samoilov  <kai@cmail.ru>
5746         * charsets.c (load_codepages_list): Use glib memory allocation
5747         functions.
5748         (free_codepages_list) [HAVE_MAD]: New function to release
5749         memory allocated in load_codepages_list.
5750         * charsets.h: Declare free_codepages_list.
5752         * main.c [HAVE_CHARSET]: Include charsets.h.
5753         (main) [HAVE_MAD && HAVE_CHARSET]: Call free_codepages_list.
5754         (program_name): Commented out.
5756 2001-10-26  Andrew V. Samoilov  <kai@cmail.ru>
5758         * key.c (push_char): Fix buffer length calculation.
5759         By David Kaelbling <drk@sgi.com>.
5760         http://bugzilla.gnome.org/show_bug.cgi?id=60932
5762         (define_sequence): Likewise.
5763         (key_define_t): Add const declaration.
5765 2001-10-22  Pavel Roskin  <proski@gnu.org>
5767         * main.h: Declare view_one_file and edit_one_file.
5769 2001-10-22  Andrew V. Samoilov  <kai@cmail.ru>
5771         * dialog.h: Include global.h.
5772         (message): Specify __attribute__.
5774 2001-10-20  Pavel Roskin  <proski@gnu.org>
5776         * main.h (print_vfs_message): Specify __attribute__.
5778 2001-10-19  Pavel Roskin  <proski@gnu.org>
5780         * global.h: Define __attribute__ to an empty string for non-gcc
5781         compilers so that it's safe to use.
5783 2001-10-18  Pavel Roskin  <proski@gnu.org>
5785         * view.c (init_growing_view): Revert last change, it was wrong.
5786         (view_hook): Don't check that the file is regular - it's now
5787         done in do_view_init().  This fixes update problem in quick view
5788         when moving cursor from a regular file to a directory.
5790         * view.c (do_view_init): Only accept regular files.  Use stat(),
5791         not fstat() because open() would hang on pipes.  Avoid opening
5792         the file twice.
5793         (init_growing_view): Take file descriptor, not the filename.
5794         (load_view_file): Likewise.
5796 2001-10-01  Pavel Roskin  <proski@gnu.org>
5798         * boxes.c (tree): Rename to tree_box() to avoid confusion.
5799         Adjust all callers and headers.
5800         * main.c (tree_box): Rename to tree_box_cmd().
5802         * tree.c (set_navig_label): Get argument "tree".
5803         (set_navig_label): Likewise.  Adjust all callers.  Don't cast
5804         function tree() to (Widget *) - it's wrong and dangerous.
5806         * widget.h: Use type "buttonbarfn" more consistently.
5807         * widget.c: Likewise.
5809         * setup.c [!USE_VFS]: Warning fix.
5810         * hotlist.c [!USE_VFS]: Likewise.
5812         * tree.c (tree_navigation_flag): Should not be static.
5814         * screen.c (panel_format_modified): Use more portable cast.
5816         * fileopctx.h: Define new type mc_stat_fn.
5817         * filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
5818         mc_stat_fn to prevent warnings without VFS support.
5819         * fileopctx.c (file_op_context_new): Likewise.
5821 2001-09-23  Andrew V. Samoilov  <kai@cmail.ru>
5823         * find.c: Include rx.h or regex.h
5824         (get_line_at): New function.  Returns malloc()ed null-terminated
5825         line from file file_fd.  Input is buffered in buf_size long
5826         buffer.
5827         (search_content): Don't use external egrep.
5828         Use get_line_at and regexp.
5830 2001-09-21  Pavel Roskin  <proski@gnu.org>
5832         * cmd.c: Change all "long" variables to "off_t" whenever they
5833         are used to store file sizes.
5834         * file.c: Likewise.
5835         * file.h: Likewise.
5836         * fileopctx.h: Likewise.
5837         * tree.c: Likewise.
5838         * filegui.c: Likewise.
5839         (show_bar): Take "double" arguments.  Normalize arguments of
5840         gauge_set_value() before converting them to "int".
5842 2001-09-17  Pavel Roskin  <proski@gnu.org>
5844         * mouse.h: Major cleanup and interface change.  init_mouse()
5845         should only be called once, disable_mouse() and enable_mouse()
5846         should be used later.  Distinguish between disabled and
5847         undetected mouse.  Remove debugging stuff.  Adjust all users.
5848         * mouse.c: Implementation of the above.
5849         * key.c: Don't use gpm_flag - check mouse_enabled instead.
5851 2001-09-15  Pavel Roskin  <proski@gnu.org>
5853         * view.c: Cleanup of preprocessor directives.
5854         * view.h: Likewise.
5855         * widget.c: Likewise.
5856         * widget.h: Likewise.
5858         * textconf.h: Get rid of all PORT_HAS_*.  Adjust all users.
5859         Continued eliminating GNOME code.
5861         * cmd.c: Clean up unused GNOME code and some ifdef's.
5862         * dlg.c: Likewise.
5863         * dlg.h: Likewise.
5864         * ext.c: Likewise.
5865         * setup.c: Likewise.
5867         * cmd.c (guess_message_value): Remove the argument.  Adjust all
5868         callers.
5870         * textconf.c (features): Remove "edition", minor fixes.
5871         (version): Don't report the current locale - it's meaningless,
5872         especially if ENABLE_NLS is not defined.
5874         * textconf.h: Remove status_using_ncurses - it's useless now.
5875         Adjust all users.  Call do_exit_ca_mode() and do_enter_ca_mode()
5876         even with ncurses.
5878         * main.c (init_xterm_support): Don't enable xterm_flag just
5879         because of "kmous" in terminfo.  Setting this flag means much
5880         more than just mouse support.  Recognize terminals beginning
5881         with "rxvt" and set xterm_flag for them.
5883         * cmd.c (view_other_cmd): Don't check use_mouse_p before calling
5884         init_mouse() and shut_mouse(), since those functions decide
5885         themselves what to do.
5886         * layout.c (done_screen): Likewise.
5887         * main.c (setup_mc): Likewise.
5888         * text.c (edition_post_exec): Likewise.
5889         (edition_pre_exec): Likewise.
5891         * user.h: Fix location of the home editor menu.
5892         Reported by David Martin <dmartina@excite.es>
5894         * mouse.h: Export xmouse_seq.
5895         * mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
5896         xterm mouse sequence.
5897         * main.c (setup_post): Join with setup_mc().
5898         (init_xterm_support): New function.  Check mouse capability.
5899         (OS_Setup): Remove parts that are now in init_xterm_support().
5901 2001-09-14  Pavel Roskin  <proski@gnu.org>
5903         * key.c (get_event): Recognize KEY_MOUSE, not just MCKEY_MOUSE.
5904         * mouse.c: Don't use or emulate keyok(), since MC understands
5905         KEY_MOUSE now.
5907 2001-09-11  Pavel Roskin  <proski@gnu.org>
5909         * cmd.c (check_for_default): Make accessible from other files.
5910         * cmd.h: Declare check_for_default().
5912 2001-09-10  Pavel Roskin  <proski@gnu.org>
5914         * layout.c: Use HAVE_TERMIOS_H and HAVE_SYS_IOCTL_H more
5915         consistently.
5916         * mouse.c: Likewise.
5917         * subshell.c: Likewise.
5918         * win.c: Likewise.
5919         * util.c: Remove unused includes.
5921         * Makefile.am (mc_LDADD): Don't use LSLANG and LGPM, since they
5922         are now included into MCLIBS.
5924         * Makefile.am (mc_LDADD): Use INTLLIBS provided by gettext
5925         instead of LINTL.
5927 2001-09-09  Pavel Roskin  <proski@gnu.org>
5929         * hotlist.c (load_hotlist): If cannot open hotlist, don't assume
5930         that it needs to be migrated and don't warn the user.
5932 2001-09-08  Pavel Roskin  <proski@gnu.org>
5934         * Makefile.am: Fix definitions of CONFDIR and LOCALEDIR.
5936         * subshell.c: Move definitions of WEXITSTATUS and WIFEXITED
5937         below all includes so that they can be defined elsewhere.
5939 2001-09-07  Pavel Roskin  <proski@gnu.org>
5941         * myslang.h: Specify arguments to function-like macros or remove
5942         them if they are unused.
5944         * main.c: Remove old debugging code.  Remove external function
5945         declarations.
5946         (menu_bar_event): Remove, it's unused.
5947         * main.h: Declare get_mc_lib_dir() and force_ugly_line_drawing.
5948         * layout.c: Remove all external declarations.
5950         * main.c (main): Call save_stop_handler() - it was ifdef'd out
5951         by error.
5953         * main.c: Remove all GNOME code.
5955         * cmd.c: No need to define "MIDNIGHT" before including vfs.h.
5957         * user.h: Remove all dirty tricks with "MIDNIGHT" - they are not
5958         needed anymore.
5960         * global.h: Include io.h, pwd.h, grp.h and utime.h.  Adjust all
5961         sources not to include them and to include global.h at the right
5962         place.
5964         * global.h: Include all time-related system includes, since
5965         it's non-trivial (order, conflicts) and is better handled in one
5966         place.
5968 2001-09-06  Pavel Roskin  <proski@gnu.org>
5970         * fsusage.c: Include sys/param.h before sys/mount.h - it's
5971         required on some systems.
5972         * mountlist.c: Likewise.
5973         From Timur Bakeyev <mc@bat.ru>
5975 2001-09-04  Pavel Roskin  <proski@gnu.org>
5977         * Makefile.am: Don't use substituted values directly.  Define
5978         CHARSET_SRC unconditionally.  Join SRCS and HDRS.
5980 2001-09-03  Pavel Roskin  <proski@gnu.org>
5982         * widget.c (label_new): Don't calculate dimensions of multiline
5983         labels, since they cannot be changed and msglen() is already
5984         used when the dialog is created.
5986         * Makefile.in: Converted to ...
5987         * Makefile.am: ... this.
5989         * slint.c: Make more data and function static.
5990         * key.h: Remove declarations that are now static.
5991         * myslang.h: Likewise.
5993         * x.h: Remove.  Adjust all users.  Make sure that global.h is
5994         included instead.  Don't include sys/param.h unconditionally -
5995         rely on global.h taking care of it.
5996         * Makefile.in: Remove x.h.
5998         * color.c: Remove unused code.
5999         * color.h: Likewise.
6001 2001-09-02  Pavel Roskin  <proski@gnu.org>
6003         * key.c: Remove support for BUGGY_CURSES.
6005         * tty.h: Remove support for old curses and GNOME.
6006         * global.h: Likewise.
6008         * widget.c (label_new): Set initial width of the widget based on
6009         the initial text.
6011         * view.c (hex_search): Don't use sscanf() to search for quoted
6012         strings - use strchr instead.
6014 2001-08-31  23:14:21  Timur Bakeyev  <mc@bat.ru>
6016         * utilunix.c: init_groups(), destroy_groups(), get_user_permissions()
6017         rewritten to use GTree structure and functions. Add new static helper
6018         functions mc_gid_compare() and mc_gid_destroy().
6020         * util.h: Removed deprecated structure user_in_groups.
6022         * screen.c: Fixed typo in format report error string.
6024 2001-08-31  23:14:21  Timur Bakeyev  <mc@bat.ru>
6026         * utilunix.c: get_user_rights() renamed into get_user_permissions().
6027         delete_groups() renamed into destroy_groups().
6028         * util.h: Likewise.
6029         * screen.c: Likewise.
6030         * main.c: Likewise.
6032 2001-08-27  Pavel Roskin  <proski@gnu.org>
6034         * cmd.c (dirsizes_cmd): Don't cast st_size to long - use off_t
6035         instead, since off_t can be longer.
6036         Reported by Radovan Bukoci <rado@autoparts.sk>
6038 2001-08-30  David Martin  <dmartina@excite.es>
6040         * info.c (info_show_info): Use size_trunc_len() instead of
6041         print_bytesize().  Don't assume English word ordering.  Add
6042         singular message when single block.
6043         * win.c (print_bytesize): Remove.
6044         (sprint_bytesize): Remove.
6045         * win.h: Remove print_bytesize() and sprint_bytesize().
6047         * util.c (size_trunc_len): Add units parameter.  Change all
6048         callers.
6050         * util.c (size_trunc_len): Print size values with some (little)
6051         sense for tiny and even wee lengths (i.e. squeezed X terminals).
6053         * info.c (info_show_info): Move comment line just before
6054         translatable message so it's shown in .po files to alert
6055         translators.  The message (translated) is used to set the start
6056         column (so the available width) for some "truncatable" strings.
6058 2001-08-27  Pavel Roskin  <proski@gnu.org>
6060         * key.c (learn_key): Turn off keypad to disable interpreting keys
6061         by ncurses.
6062         Reported by Frederic L. W. Meunier <fredlwm@pervalidus.net>
6064 2001-08-26  Pavel Roskin  <proski@gnu.org>
6066         * xcurses.c: Remove.
6067         * Makefile.in: Remove all references to xcurses.c.
6069 2001-08-24  Pavel Roskin  <proski@gnu.org>
6071         * user.h: Include "../edit/edit-widget.h", not
6072         "../gtkedit/edit-widget.h".
6074         * subshell.c: Use standard Autoconf symbols to determine whether
6075         to include <stropts.h> and <grp.h>.
6077 2001-08-23  Pavel Roskin  <proski@gnu.org>
6079         * subshell.c (feed_subshell): Don't wait forever after the first
6080         select() call if fail_on_error is true.  This alleviates hang
6081         with zsh on QNX Neutrino.
6083 2001-08-21  Pavel Roskin  <proski@gnu.org>
6085         * view.h: Declare view_dlg.
6086         * main.h: Declare edit_dlg.
6087         * layout.c (change_screen_size): Remove external declarations
6088         inside the function.
6090 2001-08-20  Pavel Roskin  <proski@gnu.org>
6092         * view.c (load_view_file) [!HAVE_MMAP]: Warning fix.
6094 2001-08-19  Pavel Roskin  <proski@gnu.org>
6096         * main.c (mc_maybe_editor_or_viewer) [!USE_INTERNAL_EDIT]:
6097         Re-enable to make "mc -v" possible.
6098         (do_nc): Call mc_maybe_editor_or_viewer() even if the editor
6099         is not compiled in.
6100         (argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
6102 2001-08-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
6104         * view.c (view_handle_key) [HAVE_CHARSET]: Remove unneeded
6105         statements.
6107 2001-08-19  Pavel Roskin  <proski@gnu.org>
6109         * screen.c [HAVE_X]: Disable unused code.
6111         * fs.h: Correctly include <sys/param.h>.
6112         * x.h: Include "global.h".  Move all contents ...
6113         * global.h: Here.
6115         * regex.c (regex_compile): Warning fix for ambiguous else.
6117 2001-08-18  Pavel Roskin  <proski@gnu.org>
6119         * key.c (xmouse_get_event): Filter out GPM_UP events that don't
6120         follow a GPM_DOWN event.  Filter out events with unknown button
6121         numbers, such as mouse wheel events.
6122         (get_event): Return EV_NONE if xmouse_get_event() decided to
6123         ignore the event.
6125         * main.c (init_sigchld): Disable subshell if SIGCHLD handler
6126         cannot be installed.
6128         * x.h: Instead of undefining MIX and MAX after <gnome.h> make
6129         sure that <sys/param.h> is included before <gnome.h>.
6131 2001-08-17  Pavel Roskin  <proski@gnu.org>
6133         * key.c (mc_bindings) [linux]: Remove old hack - recognizing
6134         "\e[2~" on all terminals.
6136 2001-08-16  Pavel Roskin  <proski@gnu.org>
6138         * charsets.c (load_codepages_list): Print a warning if
6139         mc.charset cannot be opened.
6140         * setup.c (load_setup) [HAVE_CHARSET]: Remove all popup messages
6141         because it's to early to use them - ncurses would crash.
6143 2001-08-15  Pavel Roskin  <proski@gnu.org>
6145         * util.c (strip_ctrl_codes): Rewrite using pointers.  Fix
6146         stripping sequences beginning with "\e[".  Check is_printable().
6148         * man2hlp.c: Remove HTML support.  Remove old link support.
6149         Warning fixes.
6150         (print_string): Handle backslashes in verbatim mode too.
6152         * main.c (setup_pre) [HAVE_CHARSET]: Fix compilation with
6153         ncurses.
6155         * textconf.c (features): Fix interpretation of
6156         HAVE_SYSTEM_SLANG.
6157         From David Martin <dmartina@excite.es>
6159 2001-08-14  Pavel Roskin  <proski@gnu.org>
6161         * key.h (define_sequence): Change declaration to return int.
6162         * key.c (define_sequence): Return 1 on success, 0 on error.
6163         * learn.c (learn_button): Don't accept sequence if
6164         define_sequence() has failed.
6166 2001-08-12  Pavel Roskin  <proski@gnu.org>
6168         * learn.c (learn_save): Fix memory leak.
6170         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Make static.
6172         * cmd.c (guess_message_value): Typo - replace "LC_MESSAGE" with
6173         "LC_MESSAGES".
6175         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Always use strcmp()
6176         for case sensitive sort.  For case insensitive sort use
6177         strcoll() if it's case insensitive for ASCII and g_strcasecmp()
6178         otherwise.
6180 2001-08-11  Pavel Roskin  <proski@gnu.org>
6182         * achown.c (chown_advanced_cmd): Remove dead code.
6183         * chown.c (chown_cmd): Likewise.
6184         * chmod.c (chmod_cmd): Likewise.
6186         * charsets.c (load_codepages_list): Use concat_dir_and_file().
6188         * mad.h: Disable glib support - it doesn't work properly.
6190 2001-08-07  Pavel Roskin  <proski@gnu.org>
6192         * view.c: Warning fixes. Include "cmd.h". Rename help_cmd()
6193         to view_help_cmd().
6194         (view_handle_key) [HAVE_X]: Disable '!' and Ctrl-O.
6196         * main.c (do_execute): Don't show prompt if the command is empty
6197         and the subshell is not running.
6198         * view.c (view_handle_key): Add support for Ctrl-O in the viewer.
6199         Suggested by Walery Studennikov <despair@sama.ru>
6201 2001-08-06  Pavel Roskin  <proski@gnu.org>
6203         * boxes.c (display_init): Associate correct help topic.
6204         (sort_box): Likewise.
6205         (set_panel_filter): Likewise.
6206         * option.c (init_configure): Likewise.
6207         * menu.c (menubar_handle_key): Show help dependent on the active
6208         menu.
6210 2001-08-06  Andrew V. Samoilov  <kai@cmail.ru>
6212         * mad.c (mad_strdup): Return NULL if NULL is passed.
6214         * view.c (block_search): Return the position where the block was
6215         found as declared in comment.
6216         (hex_search): Don't increase pos, block_search returns now right
6217         position.
6219 2001-08-03  Andrew V. Samoilov  <kai@cmail.ru>
6221         * mad.[ch] (mad_check): Declare file parameter const.
6222         (mad_alloc): Likewise. Don't truncate it.
6223         (mad_abort): Declare message and file parameters const.
6225 2001-08-03  Pavel Roskin  <proski@gnu.org>
6227         * file.c: Warning fix.  Include global.h before other local
6228         includes.
6229         * filegui.c: Likewise.
6230         (fmd_init_i18n) [!ENABLE_NLS]: Completely disable.
6231         * i18n.h [!ENABLE_NLS]: Warning fix.
6232         * learn.c (init_learn): Move do_refresh() call immediately
6233         before create_dlg().  Warning fix.
6235 2001-07-31  Pavel Roskin  <proski@gnu.org>
6237         * Makefile.in: "install" now depends on "all".
6238         Reported by Walery Studennikov <despair@sama.ru>
6240 2001-07-31  Andrew V. Samoilov  <kai@cmail.ru>
6242         * util.c [!HAVE_X] (is_printable): Don't duplicate declarations from
6243         main.h.
6244         (load_file): Use fopen and fstat to prevent race conditions.
6245         (size_trunc): Make suffix const array.
6246         (strip_password): Make prefixes const array.
6247         (file_date): Make fmt auto variable.
6248         * color.c (color_table): Make constant array.
6249         * widget.[ch] (label_new): Make text parameter const.
6250         * menu.c (create_menu): Don't localize name, it is always done.
6251         * find.c (find_parameters): Fix hotkeys duplication.
6252         * complete.c (command_completion_function): Don't stop $PATH
6253         processing on empty entry. Interpret it as current directory.
6255 2001-07-31  Pavel Roskin  <proski@gnu.org>
6257         * charsets.c: Warning fixes.
6258         * charsets.h: Likewise.
6259         * selcodepage.c: Likewise.
6260         * selcodepage.h: Likewise.
6262         * Makefile.in: Move most logic around gindex.pl into gindex.pl.
6263         Don't use maintainer-only rules since mc.hlp won't be removed
6264         now if perl is missing or gindex.pl fails.
6265         * gindex.pl: Run man2hlp internally.  Use files given as
6266         arguments instead of stdin and stdout.
6268 2001-07-30  Pavel Roskin  <proski@gnu.org>
6270         * mad.c: Don't use g_calloc - it's missing in glib 1.2.x.
6271         * mad.h: Likewise.  Use mad_alloc0() to emulate calloc().
6273         * view.h: Simplify, respect WANT_WIDGETS setting.
6275 2001-07-28  Pavel Roskin  <proski@gnu.org>
6277         * view.c (view_ok_to_quit): Make global - it's needed for GMC.
6278         * view.h: Declare view_ok_to_quit().
6280 2001-07-27  Pavel Roskin  <proski@gnu.org>
6282         * util.c [!USE_VFS] (get_current_wd): Resurrect, this time using
6283         g_get_current_dir().
6285         * background.h: Remove WITH_BACKGROUND, it's now in extraconf.h.
6286         * background.c: Use WITH_BACKGROUND instead of USE_NETCODE.
6288         * util.c (mc_mkstemps): Don't prepend $TMPDIR if prefix contains
6289         path separator.
6291 2001-07-26  Pavel Roskin  <proski@gnu.org>
6293         * cmd.c (do_link): Append filename to the default symlink
6294         target.  Don't add path separator if there is no listing on
6295         the other panel.  Avoid using fixed size buffers.
6296         From Max Schedriviy <max@tavrida.net>
6298         * main.c [HAVE_X]: Disable eight_bit_clean and full_eight_bits.
6299         * util.c (is_printable) [HAVE_X]: Simplify.
6301 2001-07-25  Pavel Roskin  <proski@gnu.org>
6303         * cmd.c (do_link): Simplify.  Don't silently exit if the source
6304         file is not regular - let user see the error if any.
6306 2001-07-24  Pavel Roskin  <proski@gnu.org>
6308         * achown.c (ch_perm): Make constant array.
6309         (chown_info_update): Use set_perm_by_flags(), not set_perm().
6310         (set_perm): Remove.
6312         * achown.c: Make all global variables static.  Fix help.
6313         * complete.c: Likewise.
6314         * chmod.c: Make all global variables static.
6315         * chown.c: Likewise.
6316         * chmod.h: Remove all variables.
6318 2001-07-23  Pavel Roskin  <proski@gnu.org>
6320         * user.c: Eliminate static variable s_editwidget.  Pass
6321         edit_widget as argument.  All callers changed.
6322         (expand_format): Fix expansion of %n and %b for the editor.
6323         * util.c: Remove dead code.
6325         * setup.c (load_keys_from_section): Give terminal-specific
6326         settings preference over settings from [terminal:general].
6328 2001-07-22  Pavel Roskin  <proski@gnu.org>
6330         * setup.c (load_keys_from_section): Give ~/.mc/ini preference
6331         over mc.lib.
6333 2001-07-20  Pavel Roskin  <proski@gnu.org>
6335         * dlg.c: Remove dependency on definitions in gconf.h.
6337         * widget.c (input_callback) [HAVE_X]: Disable Ctrl-q - it
6338         doesn't work.
6340         * file.c (panel_get_file): Use g_assert_not_reached().
6341         * key.c (xgetch_second): Make static.
6343 2001-07-19  Pavel Roskin  <proski@gnu.org>
6345         * user.c (check_format_view): Match "unform" instead of
6346         "unformated" because some users may spell this word correctly.
6348 2001-07-17  Pavel Roskin  <proski@gnu.org>
6350         * util.c (get_current_wd): Remove.  It's obsoleted by
6351         g_get_current_dir() from glib.
6353         * ext.c (exec_extension): Add the `rm' command to the end of
6354         temporary scripts so that they erase themselves.
6356         * util.c (mc_mkstemps): Always use "unsigned long" for entropy,
6357         since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
6358         checking for "long long" is not worth the trouble.
6359         Reported by David Martin <dmartina@excite.es>
6361 2001-07-16  Pavel Roskin  <proski@gnu.org>
6363         * utilunix.c (mc_doublepopen): Use _exit() instead of exit()
6364         and don't close any unrelated file descriptors.  Explicitly
6365         close inhandle.
6367 2001-07-15  Pavel Roskin  <proski@gnu.org>
6369         * mad.h: Include stdio.h to prevent redefining mad_tempnam().
6370         * main.c [HAVE_X && HAVE_MAD]: Don't call done_key().
6372         * dlg.h: Remove declarations of non-existent functions.
6373         [HAVE_X]: Disable color constants - they shouldn't be used.
6375         * boxes.c [WITH_SMBFS] (vfs_smb_get_authinfo): Copied from
6376         vfs/smbfs.c, function authinfo_get_authinfo_from_user().
6378         * cmd.c [HAVE_X]: Disable source routing dialog and panel
6379         comparison.
6380         * main.c (ctl_x_map): Simplify preprocessor directives.
6382 2001-07-14  Pavel Roskin  <proski@gnu.org>
6384         * screen.c (panel_keymap) [HAVE_X]: Disable Alt-H - it's not
6385         implemented properly for GNOME.
6386         * main.c (directory_history_list) [HAVE_X]: Disable.
6388         * panelize.c [HAVE_X]: Disable unused code.
6390         * main.c [HAVE_X]: Disable Ctrl-X sequences.
6392         * find.c: Remove code unused in the text edition.
6394         * main.c [HAVE_X]: Eliminate setup_post() and partly done_mc().
6396         * utilunix.c (uid_cache): Make static.
6397         (gid_cache): Likewise.
6398         (init_uid_gid_cache): Remove.
6399         * main.c (setup_post): Don't call init_uid_gid_cache().
6401         * main.c (default_map) [HAVE_X]: Disable Alt-T.
6402         * cmd.c [HAVE_X]: Eliminate set_basic_panel_listing_to() and
6403         toggle_listing_cmd().
6405 2001-07-13  Pavel Roskin  <proski@gnu.org>
6407         * utilunix.c (canonicalize_pathname): Don't handle PATH_SEP
6408         after backslash in a special way.
6410 2001-07-12  Pavel Roskin  <proski@gnu.org>
6412         * subshell.c (init_subshell): Run "set echo_style=both" at
6413         startup to ensure that echo in tcsh understands octal numbers.
6414         Reported by Francis Kwok <francis.kwok@alcatel.com>
6416         * Makefile.in (OURLIBS): Merge with ...
6417         (LIBS): ... this. Add @LIBICONV@.
6418         Reported by Libor Motyèka <l_motycka@ortex.cz>
6420         * subshell.c (subshell_name_quote): New function. Quote all
6421         characters as octals, use command substitution.
6422         (do_subshell_chdir): Use subshell_name_quote(). Don't change
6423         terminal settings when the quoted path is sent to the shell -
6424         it's now safe.
6426 2001-07-12  Andrew V. Samoilov  <kai@cmail.ru>
6428         * main.c: Eliminate iconify_on_exec.
6429         [!HAVE_GNOME]: Eliminate nowindows, nodesktop, twopanel,
6430         display_linksdir and cmdline_geometry.
6431         (sigchld_handler_no_subshell): Comment fixes.
6432         (midnight_callback): Likewise.
6433         (print_mc_usage): Use fputs, not fprintf.
6434         (print_color_usage): Likewise.
6435         (argument_table): Assign 'r' with force_subshell_execution and 'U'
6436         with use_subshell.
6437         (process_args): Don't deal with 'r', 'U' and 'X' options.
6438         (setup_mc) [HAVE_GNOME]: Eliminate more code.
6440         setup.c (options):  Eliminate iconify_on_exec.
6442 2001-07-10  Andrew V. Samoilov  <kai@cmail.ru>
6444         * view.c (hex_search): Release buffer after use.
6446 2001-07-09  Pavel Roskin  <proski@gnu.org>
6448         * view.c (hex_search): Reimplement parser using sscanf. Add
6449         support for decimal and octal numbers. Add error reporting.
6450         Allocate buffer dynamically.
6452         * hotlist.c: Add comments to avoid confusion between
6453         done_hotlist() and hotlist_done().
6454         (hotlist_done): Set l_hotlist to NULL.
6455         (add2hotlist): Load hotlist if it's neither loaded nor loading.
6456         This fixes Ctrl-x h. Fix compiler warning.
6458         * hotlist.c: Make more variables and functions static.
6460 2001-07-08  Pavel Roskin  <proski@gnu.org>
6462         * ext.c (exec_extension) [HAVE_X]: Free file_name. Add comment
6463         explaining why it cannot be unlinked there.
6465 2001-07-06  Pavel Roskin  <proski@gnu.org>
6467         * ext.c (exec_extension): Unlink temporary file earlier if it's
6468         not going to be used.
6469         [OLD_CODE]: Remove.
6471         * Makefile.in: Use additional quotes to preserve @prefix@ when
6472         Makefile is generated.
6474         * Makefile.in: Don't use SEDCMD2, use sed.
6476         * cons.saver.c: New variable console_minor. Eliminate variables
6477         len and vcs_name.
6478         (check_file): Set console_minor to the minor device number of
6479         the console. Disallow /dev/tty0.
6480         (detect_console): Don't parse tty_name, instead make sure that
6481         it corresponds to console_minor. Check console first. Fallback
6482         to /dev/vcc/a* if /dev/vcsa* cannot be opened.
6483         (save_console): Use console_minor.
6484         (restore_console): Likewise.
6486         * cons.saver.c (check_file): Eliminate using text messages to
6487         indicate errors. Improve debug messages.
6488         (detect_console): Likewise.
6489         (main): Adjust call to detect_console.
6491         * main.c (sigchld_handler_no_subshell): Don't restart cons.saver
6492         if it died.
6493         * subshell.c (sigchld_handler): Likewise.
6495 2001-07-05  Pavel Roskin  <proski@gnu.org>
6497         * main.c (midnight_callback): Don't handle any events except
6498         Ctrl-x combinations on DLG_KEY event if the menu is active.
6500         * main.c (load_prompt): Don't change prompt if midnight_dlg is
6501         not the current dialog.
6503 2001-06-28  Pavel Roskin  <proski@gnu.org>
6505         * util.c (size_trunc_len): New function - print file size to
6506         a buffer of limited length.
6507         * util.h: Declare size_trunc_len().
6508         * screen.c (string_file_size): Use size_trunc_len().
6510 2001-06-26  Pavel Roskin  <proski@gnu.org>
6512         * xslint.c: Remove.
6513         * Makefile.in (SRCS): Remove xslint.c.
6515 2001-06-25  Pavel Roskin  <proski@gnu.org>
6517         * key.c (ctrl_pressed): Don't limit functionality to Linux.
6518         * screen.c (prev_page_key): Don't require console_flag to be set
6519         to use ctrl_pressed(), only require that HAVE_X is undefined.
6520         (next_page_key): Likewise.
6521         * widget.c (key_left): Don't limit functionality to Linux.
6522         (key_right): Likewise.
6524         * main.h: Use "ifdef HAVE_GNOME", not "if HAVE_GNOME". Fix the
6525         order of conditionals and put comments on endifs.
6527 2001-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
6529         * view.c [HAVE_CHARSET]: Include selcodepage.h.
6530         (view_new): Use g_new0.
6531         (ruler): Make static.
6533         * complete.c (filename_completion_function): Clean it up.
6534         (command_completion_function): Make words, bash_reserved and
6535         bash_builtins const, use concat_dir_and_file.
6536         (fetch_hosts): Fix typo, style fixes.
6538 2001-06-23  Pavel Roskin  <proski@gnu.org>
6540         * mem.h: Undefine bcopy(), bcmp() and bzero() before redefining
6541         them.
6543 2001-06-22  Pavel Roskin  <proski@gnu.org>
6545         * ext.c (exec_extension) [HAVE_X]: Disable console handling.
6547         * cons.handler.c: Reorganize includes. Fix warnings on BSD.
6548         * rxvt.c (rxvt_extensions): Make static.
6549         * main.c (sigchld_handler_no_subshell) [!__linux__]: Don't try
6550         to restart cons.saver.
6551         * subshell.c (sigchld_handler) [!__linux__]: Likewise.
6553         * fsusage.c: Use HAVE_INFOMOUNT.
6554         * mountlist.c: Likewise. Fix condition when mount_list is
6555         declared.
6556         (fstype_to_string): Rename mount_list to mlist to avoid
6557         confusion with the file-scoped static variable.
6559         * cmd.c [HAVE_X]: Disable more code. Reorder includes.
6561 2001-06-20  Pavel Roskin  <proski@gnu.org>
6563         * main.c: Remove MenuBarEmpty. From Andrew V. Samoilov.
6565         * wtools.c [HAVE_X]: Disable quick dialog routines.
6567         * setup.c (save_setup) [HAVE_X]: Don't save the [Dirs] section.
6568         (load_setup) [HAVE_X]: Don't load the [Dirs] section.
6569         * main.c [HAVE_X]: Disable other_dir and boot_current_is_left.
6570         Adjust all users.
6572 2001-06-19  Pavel Roskin  <proski@gnu.org>
6574         * background.h: Correct condition when WITH_BACKGROUND is
6575         defined.
6576         * fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
6577         for old QNX and use it instead of __QNX__.
6578         * mountlist.c: Likewise.
6579         * keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
6580         of __QNX__.
6582 2001-06-18  Pavel Roskin  <proski@gnu.org>
6584         * main.c [HAVE_X]: Disable change_panel(),
6585         copy_current_readlink() and copy_other_readlink().
6586         Don't do anything with cmdline and command_prompt.
6587         * screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
6588         and chdir_to_readlink(). Adjust all callers.
6589         (panel_key) [HAVE_X]: Don't use command_prompt - always
6590         start search on alphanumeric keys.
6591         * setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
6592         layout. Adjust all dependencies.
6594         * utilunix.c (init_my_statfs): Move this ...
6595         * util.c (my_statfs): ... and this ...
6596         * mountlist.c: ... here.
6597         * util.h: Move mountlist-related declarations ...
6598         * mountlist.h: ... here.
6599         * info.c: Include mountlist.h.
6601 2001-06-17  David Martin  <dmartina@excite.es>
6603         * hotlist.c (init_movelist): Don't assume English word ordering
6604         in the title.
6606 2001-06-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
6608         * wtools.c (message): Possible buffer overflow fixed.
6609         (query_callback) [HAVE_X]: Disable more code.
6610         (listbox_refresh) [!HAVE_X]: Became a macro.
6611         * hotlist.c (init_i18n_stuff): Mark cancel_but for translation.
6613         * tree.c (tree_copy, tree_move): Possible memory leaking fixed.
6614         (tree_keymap): Constified.
6616 2001-06-15  Pavel Roskin  <proski@gnu.org>
6618         * panelize.c: Define DIR_H_INCLUDE_HANDLE_DIRENT earlier, since
6619         the GNOME edition includes dir.h from other headers.
6621         * background.c: Include "x.h".
6622         * panelize.c: Likewise.
6623         * treestore.c: Likewise.
6624         * user.c: Likewise.
6625         * util.c: Likewise.
6626         * command.c: Reorder includes. Include "x.h".
6627         * complete.c: Likewise.
6628         * find.c: Likewise.
6629         * user.h: Declare user_menu_cmd() unconditionally.
6630         * i18n.h [GAVE_GNOME]: Remove code that is now in x.h.
6632         * tty.h [HAVE_X]: Define beep() to gdk_beep().
6634 2001-06-14  Pavel Roskin  <proski@gnu.org>
6636         * xtty.h: Remove, move contents ...
6637         * tty.h: ... here.
6638         [HAVE_X]: Define attrset(), mc_refresh(), enable_interrupt_key()
6639         and disable_interrupt_key(). Don't declare mc_refresh().
6640         * view.c: Use braces around widget_move() since it's empty in
6641         the GNOME edition.
6642         * xslint.c: Eliminate attrset() and mc_refresh().
6643         * Makefile.in: Remove xtty.h.
6645         * cons.handler.c (handle_console): Remove useless default.
6646         * ext.c (regex_command): Initialize include_target_len.
6647         * find.c [HAVE_GNOME]: Eliminate untyped declarations.
6648         * fsusage.c: Remove untyped declaration of statfs().
6649         [_AIX && _I386]: Rename statfs to aix_statfs and move
6650         it before get_fs_usage(). Define statfs to aix_statfs.
6652         * achown.c: Eliminate untyped declarations.
6653         * boxes.c: Likewise.
6654         * cons.saver.c: Likewise.
6655         * hotlist.c: Likewise.
6656         * panelize.c: Likewise.
6657         * rxvt.c: Likewise.
6658         * main.c: Likewise. Make undeclared functions static.
6659         * treestore.c: Make undeclared functions static.
6660         * view.c: Likewise.
6661         * widget.c: Likewise.
6663         * main.h: Fix prototype of exec_shell.
6664         * tree.c: Make all functions static when possible.
6665         * tree.h: Changes for the above.
6667         * text.c [HAVE_X]: Remove useless #error.
6668         * cons.saver.c: Indent #error to hide it from old compilers.
6670 2001-06-13  Pavel Roskin  <proski@gnu.org>
6672         * screen.c (display_mini_info): Avoid nested i18n calls.
6673         (parse_panel_size): Warning fix.
6674         * user.c [HAVE_X]: Warning fix.
6675         (check_format_var): Avoid nested i18n calls. Improve messages.
6677         * screen.c (user_file_menu_cmd) [HAVE_X]: Disable.
6678         (panel_callback) [HAVE_X]: Don't define labels, they are unused.
6679         * user.c [HAVE_X]: Disable all user menu code.
6681         * color.c (color_table): Make static. Only use in text edition.
6682         * xtty.h: Remove unused definitions.
6684         * slint.c (slang_init): Check screen dimensions and exit if they
6685         are abnormal. This may happen due to a S-Lang bug when the TERM
6686         is set to a value not listed in termcap or terminfo.
6688 2001-06-12  Pavel Roskin  <proski@gnu.org>
6690         * boxes.c [HAVE_CHARSET]: Localize more strings. Lay out the
6691         encoding dialog using the translated title length. Remove
6692         useless preprocessor directives.
6693         From David Martin <dmartina@excite.es>
6695 2001-06-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
6697         * dlg.[ch] (x_set_dialog_title): title constified.
6698         (create_dlg): Use g_new0 instead of g_new.
6700         * selcodepage.c (do_select_codepage): Fix compilation.
6702 2001-06-09  Pavel Roskin  <proski@gnu.org>
6704         * util.c (load_mc_home_file): New function. Load file from
6705         mc_home, but try localized version of that file first.
6706         * util.h: Declare load_mc_home_file().
6707         * help.c (interactive_display): Use load_mc_home_file(). If the
6708         first argument is NULL assume mc.hlp.
6709         * dlg.c (dialog_handle_key): Use interactive_display() without
6710         specifying the help file.
6711         * tree.c (tree_copy): Likewise.
6712         * cmd.c (help_cmd): Likewise.
6713         (get_random_hint): Use load_mc_home_file().
6714         From Andrew V. Samoilov.
6716 2001-06-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
6718         * charsets.h: Define CHARSETS_INDEX without leading LIBDIR.
6720         * charsets.c (translate_character): Warning fix.
6721         (init_translation_table): Don't deal with printable.
6722         This one is initialized by init_printable_table ().
6723         (load_codepages_list): Use CHARSETS_INDEX.
6725         * selcodepage.c (do_select_codepage): Messages marked for i18n.
6726         * setup.c (load_setup): Eliminate errbuf. Fix error message.
6728 2001-06-07  Pavel Roskin  <proski@gnu.org>
6730         * setup.c (load_setup): Call init_printable_table() and
6731         init_translation_table() regardless of other failures.
6733         * charsets.c (get_codepage_index): Warning fix.
6734         (init_printable_table): New function.
6735         * charsets.h: Declare init_printable_table().
6736         * setup.c (load_setup): Uncomment init_printable_table().
6738         * cons.saver.c: Make all functions except main() static.
6739         * mfmt.c (omain): Remove, it's unused.
6741 2001-06-06  Pavel Roskin  <proski@gnu.org>
6743         * main.c (done_mc) [HAVE_X]: Don't use xterm_flag.
6744         (midnight_callback) [HAVE_X]: Don't handle any keys except
6745         Ctrl-x sequences.
6746         Remove useless preprocessor conditionals.
6747         * win.c [HAVE_X]: Disable unused functions.
6749         * file.c: Add comments after every endif.
6750         [HAVE_GNOME] [!WITH_BACKGROUND]: Fix compilation.
6752 2001-06-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
6754         * main.c [HAVE_CHARSET]: Remove source_codepage and display_codepage.
6755         They are declared in selcodepage.c.
6756         * setup.c [USE_VFS]: Remove declarations for variables which are
6757         declared in vfs/ftpfs.c.
6758         (load_setup) [HAVE_CHARSET]: init_printable_table commented
6759         out to enable compilation. Error strings tagged for translation.
6760         (init_setup): Optimized.
6761         * boxes.c (sel_charset_button): Eliminate C++ comment.
6762         (new_display_codepage): Made static.
6763         (display_bits_box): Use "%s" for plain string in message.
6765 2001-06-05  Pavel Roskin  <proski@gnu.org>
6767         * boxes.c [HAVE_CHARSET]: New charset selection dialog.
6768         * main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
6769         full_eight_bits. Use source_codepage and display_codepage to
6770         deduce the terminal 8-bitness.
6771         * main.h [HAVE_CHARSET]: Change to match main.c.
6772         * setup.c [HAVE_CHARSET]: Implement saving and loading charset
6773         settings.
6774         * util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
6775         * view.c [HAVE_CHARSET]: Implement charset support.
6776         From Walery Studennikov <hqsoftware@mail.ru>.
6778         * selcodepage.c (do_select_codepage): New function.
6779         * selcodepage.h: Declare it.
6780         From Walery Studennikov <hqsoftware@mail.ru>.
6782         * mfmt.c (omain): Warning fix.
6784         * key.c [HAVE_TEXTMODE_X11_SUPPORT]: Rename `display' to
6785         `x11_display' and `w' to `x11_window'. Make them static.
6786         (init_textmode_x11_support): Include into init_key().
6787         (done_textmode_x11_support): Include into done_key().
6788         (k_dispose): Make static.
6789         (s_dispose): Likewise.
6790         * key.h: Remove init_textmode_x11_support() and
6791         done_textmode_x11_support().
6792         * main.c: Don't call init_textmode_x11_support() and
6793         done_textmode_x11_support().
6795         * achown.c: Make global variables static if possible. Remove now
6796         useless preprocessor directives, since this file is now used in
6797         the text edition only.
6798         * boxes.c: Remove useless ifdefs.
6799         [USE_VFS]: Don't undef USE_NETCODE - it's done in extraconf.h.
6800         * cmd.c [USE_VFS]: Don't undef USE_NETCODE.
6801         * chmod.c: Remove useless ifdefs.
6802         * filegui.c: Likewise.
6803         * hotlist.c: Likewise.
6804         * info.c: Likewise.
6805         * layout.c: Likewise.
6806         * listmode.c: Likewise.
6807         * option.c: Likewise.
6808         * subshell.c: Likewise.
6809         * help.c: Remove useless ifdefs. Make global variables static if
6810         possible.
6811         * key.c: Likewise.
6812         * learn.c: Likewise.
6814 2001-06-04  Andrew V. Samoilov  <sav@bcs.zp.ua>
6816         * charsets.c (load_codepages_list): Lines in mc.charset beginning
6817         with a # are comments. Use "default character_set_name" in mc.charset
6818         to set default codepage for your system.
6819         (xstrncpy): Eliminate.
6821 2001-06-04  Pavel Roskin  <proski@gnu.org>
6823         * cmd.c (edit_symlink_cmd) [!HAVE_GNOME]: Warn if the current
6824         selection is not a symbolic link.
6826 2001-06-02  Pavel Roskin  <proski@gnu.org>
6828         * cmd.c (free_vfs_now) [HAVE_GNOME]: Eliminate.
6829         (reselect_vfs) [HAVE_GNOME]: Likewise.
6830         * main.c (ctl_x_map) [HAVE_GNOME]: Disable add2hotlist_cmd.
6831         (done_mc) [HAVE_X]: Don't call save_hotlist().
6832         * setup.c (save_setup) [HAVE_X]: Likewise.
6833         (done_setup) [HAVE_X]: Don't call done_hotlist().
6835 2001-06-01  Pavel Roskin  <proski@gnu.org>
6837         * hotlist.c [HAVE_X]: Don't use ctrl_pressed().
6838         * widget.c [HAVE_X]: Likewise.
6839         * main.c [HAVE_X]: Likewise. Don't call init_key() and
6840         init_key_input_fd().
6841         * setup.c [HAVE_X]: Remove some variables that make no sense
6842         for the GNOME edition. Eliminate save_panel_types().
6843         * view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
6845         * view.c [HAVE_X]: Define is_idle() to 1. Warning fix.
6847         * file.c (copy_file_file): Initialize src_uid, src_gid, src_mode
6848         and file_size to avoid a warning.
6850 2001-05-31  Pavel Roskin  <proski@gnu.org>
6852         * charsets.c: Include config.h before everything else.
6853         * selcodepage.c: Likewise.
6855         * textconf.c (features): Use longer strings to avoid enforcing
6856         English word ordering on the translations. Capitalize sentences.
6857         From Walery Studennikov: Indicate charset support.
6858         (version): Use fputs, not fprintf.
6860         * Makefile.in: Add charsets.c, charsets.h, selcodepage.c and
6861         selcodepage.h. Compile them if the charset support is enabled.
6862         Distribute them always.
6864 2001-05-30  Pavel Roskin  <proski@gnu.org>
6866         * charsets.c: New file for charset conversion support.
6867         From Walery Studennikov.
6868         * charsets.h: Likewise.
6869         * selcodepage.c: Likewise.
6870         * selcodepage.h: Likewise.
6872         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 0 if
6873         possible to prevent ncurses from waiting after escape.
6875 2001-05-29  Pavel Roskin  <proski@gnu.org>
6877         * cmd.c (quick_cd_cmd) [HAVE_GNOME]: Disable.
6878         * main.c (sort_cmd) [HAVE_GNOME]: Likewise.
6879         (ctl_x_map) [HAVE_GNOME]: Disable "Ctrl-x j" - background jobs.
6881         * color.c (init_colors) [HAVE_SLANG]: Use "default" instead of
6882         NULL as color names - this works even if COLORFGBG is unset.
6883         Don't check HAS_DIRECT_COLOR_ACCESS - it's now meaningless.
6885         * color.h: Define DEFAULT_COLOR_INDEX and DEFAULT_COLOR in the
6886         same way regardless of HAVE_SLANG.
6887         * color.c (init_colors) [USE_NCURSES]: Initialize the default
6888         color pair.
6890         * subshell.c (pty_open_master) [!HAVE_SCO && HAVE_GRANTPT]:
6891         Don't try to close a file that wasn't opened.
6893         * xslint.c: Remove slang_init() and FIXME in the comment.
6894         * main.c (main) [!HAVE_SLANG]: Don't call slang_init().
6896 2001-05-28  Pavel Roskin  <proski@gnu.org>
6898         * myslang.h: Use HAVE_SLANG_SLANG_H instead of non-standard
6899         SLANG_H_INSIDE_SLANG_DIR.
6901         * xslint.c: Remove unused functions.
6903         * color.c (init_colors) [HAVE_SLANG]: Use SLtt_set_color() to
6904         associate the default colors with DEFAULT_COLOR_INDEX. The old
6905         code would unset alternative charset without making S-Lang aware
6906         of it.
6907         Thanks to John E. Davis <davis@space.mit.edu>
6908         * widget.c (update_input) [HAVE_SLANG]: Revert last change - it
6909         is not needed now.
6911 2001-05-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
6913         * main.c: Correct some comments after #endif
6914         (shell): Remove comment and #ifdef around shell variable.
6915         (process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
6916         between one #ifdef ... #endif pair.
6917         (process_args): smbfs_set_debug () takes a debug level as argument,
6918         commented out.
6920 2001-05-27  Pavel Roskin  <proski@gnu.org>
6922         * main.c (OS_Setup) [!HAVE_X]: Exit immediately if TERM
6923         environment variable is unset or empty.
6925 2001-05-25  Pavel Roskin  <proski@gnu.org>
6927         * cmd.c: Clean up useless preprocessor directives.
6928         (symlink_cmd): Warning fix.
6929         * dlg.c (dialog_handle_key) [HAVE_X]: Disable suspend on Ctrl-z.
6930         * main.c (do_suspend_cmd) [HAVE_GNOME]: Remove.
6931         (suspend_cmd) [HAVE_GNOME]: Likewise.
6933 2001-05-24  Pavel Roskin  <proski@gnu.org>
6935         * widget.c (update_input) [HAVE_SLANG]: Work around a bug in
6936         SLang 1.x - set charset to alternative when printing spaces.
6938 2001-05-22  Pavel Roskin  <proski@gnu.org>
6940         * ext.c (exec_extension): Use g_free() on the result of
6941         mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
6942         needed anymore.
6943         * user.c (execute_menu_command): Likewise.
6944         * util.c (mc_mkstemps): Return NULL in the filename in the case
6945         of failure. Remove support for NULL as the first argument.
6946         From Andrew V. Samoilov.
6948 2001-05-21  Pavel Roskin  <proski@gnu.org>
6950         * ext.c (exec_extension): Use mc_mkstemps().
6951         * user.c (execute_menu_command): Use mc_mkstemps().
6952         * util.c (mc_mkstemps): New function - safely create and
6953         open temporary file. Return the handle and the name.
6954         * util.h: Declarations for init_tmpdir() and mc_mkstemps().
6955         Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
6957 2001-05-18  Pavel Roskin  <proski@gnu.org>
6959         * TODO: Remove Tk-related entries.
6960         * boxes.c [HAVE_TK]: Remove. Don't need INPUT_INDEX anymore.
6961         * screen.c [HAVE_TK]: Remove.
6962         (panel_event): Made static.
6963         * chmod.c [HAVE_TK]: Remove.
6964         * cmd.c [HAVE_TK]: Likewise.
6965         * help.c [HAVE_TK]: Likewise.
6966         * hotlist.c [HAVE_TK]: Likewise.
6967         * info.c [HAVE_TK]: Likewise.
6968         * view.c [HAVE_TK]: Likewise.
6969         * view.h [HAVE_TK]: Likewise.
6970         * widget.c [HAVE_TK]: Likewise.
6971         * wtools.c [HAVE_TK]: Likewise.
6973         * TODO: Remove XView-related entries.
6974         * menu.h [HAVE_XVIEW]: Remove all XView-related code.
6976 2001-05-17  Pavel Roskin  <proski@gnu.org>
6978         * subshell.c (pty_open_master) [HAVE_SCO]: Fix ambiguous `else'.
6979         [!HAVE_SCO && !HAVE_GRANTPT]: Likewise.
6981 2001-05-16  Pavel Roskin  <proski@gnu.org>
6983         * subshell.c: Define _GNU_SOURCE to enable prototypes for
6984         allocating pseudo-terminals on GNU systems.
6986         * subshell.c (init_subshell_child): New function to initialize
6987         child process and run subshell. Code moved from ...
6988         (init_subshell): ... here.
6990         * subshell.c (init_subshell): Don't close pty_slave if is wasn't
6991         open. Initialize it with -1.
6993 2001-05-14  Pavel Roskin  <proski@gnu.org>
6995         * main.c [HAVE_GNOME]: Disable more code.
6996         * cmd.c [HAVE_GNOME]: Likewise.
6998         * background.h: Omit definitions that require FileOpContext if
6999         fileopctx.h has not been included yet.
7001         * background.c (real_message_2s): Declare arguments "const" when
7002         possible.
7003         (real_message_3s): Likewise.
7004         * wtools.c (message): Likewise.
7005         * background.h: Change declarations to match.
7006         * dialog.h: Likewise.
7008         * boxes.c [HAVE_GNOME]: Disable unused code.
7009         * find.c [HAVE_GNOME]: Likewise.
7010         * complete.c [HAVE_GNOME]: Likewise.
7011         * main.c [HAVE_GNOME]: Likewise.
7013         * screen.c (adjust_top_file): Enable only if it's used, i.e.
7014         when PORT_HAS_PAINT_FRAME in undefined.
7015         * wtools.c (listbox_refresh): Disable for HAVE_X, define to
7016         an empty macro instead.
7017         (listbox_callback): Call listbox_refresh() regardless of HAVE_X.
7018         (create_listbox_window): Likewise.
7020         * fsusage.c: Include stdlib.h for abort().
7021         * tree.c (tree_mkdir_cmd): Disable tree_mkdir_cmd() since it's
7022         not used.
7023         * widget.c: Declare x_radio_toggle() with arguments.
7025         * util.h: Remove declarations of some functions defined in
7026         background.c.
7028 2001-05-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
7030         * background.c (real_message_1s, message_1s): third parameter is
7031           used by message () as printf pattern, so "%s" has to be added
7032           if plain string must be shown but printf conversion
7033           specification(s) may be there.
7034         * view.c (do_view_init): ditto
7035         * user.c (debug_out): ditto
7036         * utilunux.c (close_error_pipe, check_error_pipe): ditto
7038         * background.[ch], vfs/util-alone.c (message_1s): third parameter
7039           constified
7041 2001-04-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
7043         * find.c (search_content): Redo recent change without infinite loop ;-),
7044         egrep_path hardcoded to "egrep" as it is done in locate_egrep ()
7046         (locate_egrep): commented out
7048         (rotating_dash) [!HAVE_X]: moved into do_search to prevent warning
7050 2001-04-26  Pavel Roskin  <proski@gnu.org>
7052         * find.c (search_content): Undo a recent change that caused an
7053         infinite loop.
7055 2001-04-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
7057         * view.c (get_line_at): previous newline is right condition
7058         for regexp '^' pattern also, fixed
7060         (search) [HAVE_GNOME]: gnome_message_box_new doesn't expand printf
7061         pattern, so g_strdup_printf used
7063         * find.c (find_parameters): don't use stat structure if mc_stat failed
7065 2001-04-17  Pavel Roskin  <proski@gnu.org>
7067         * subshell.c (init_raw_mode): New function, separated from ...
7068         (invoke_subshell): ... this.
7069         (init_subshell): Initialize raw_mode here instead of delaying it
7070         until invoke_subshell(). Otherwise the current mode may have
7071         been changed by edition_pre_exec(), which caused Ctrl-O to be
7072         ignored on FreeBSD if a command has been run before switching
7073         to the subshell.
7075 2001-04-06  Pavel Roskin  <proski@gnu.org>
7077         * chmod.c (stat_file): Allow chmod and chown on special files.
7079         * cons.handler.c: Include "global.h" for exit().
7081         * Makefile.in: Add dependencies between mc and static libraries
7082         in the source tree.
7084 2001-04-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
7086         * find.c (find_parameters): Add a checkbox for case insensitive
7087         content search.
7088         (search_content): Pass `-i' to egrep for case insensitive
7089         search.
7091 2001-03-30  Andrew V. Samoilov  <sav@bcs.zp.ua>
7093         * panel.h, screen.c (panel_new): panel_name constified to do gcc
7094         some more happy when gmc is compiled
7096 2001-03-18  Miguel de Icaza  <miguel@ximian.com>
7098         * widget.c (forward_word, backward_word): Revert Timur's patch
7099         from last year which made the behavior for advancing words not
7100         match the one in Emacs.
7102 2001-03-02  Pavel Roskin  <proski@gnu.org>
7104         * key.c (mi_getch): Discard non-events (EV_NONE), but not
7105         keycode 0 (Ctrl-@).
7107 2001-02-26  Pavel Roskin  <proski@gnu.org>
7109         * cmd.c (edit_cmd) [HAVE_GNOME]: Use gmc_edit(). Don't use
7110         regex_command().
7111         (ext_cmd) [HAVE_GNOME]: Don't compile for GNOME.
7112         * ext.c (regex_command) [HAVE_GNOME]: Likewise.
7113         * ext.h [HAVE_GNOME]: Don't define MC_USER_EXT and MC_LIB_EXT.
7115         * main.c (main): Don't call edit_init_file() - the editor should
7116         care about its files itself.
7118 2001-02-09  Pavel Roskin  <proski@gnu.org>
7120         * main.c (main): Fix compilation error when configured without
7121         subshell support.
7123 2001-02-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
7125         * main.c (main): Do not fork subshell for mcedit/mcview.
7127 2001-01-27  Pavel Roskin  <proski@gnu.org>
7129         * cons.handler.c (handle_console): Check the result of ttyname().
7131         * main.c (handle_args): Exit if no arguments are given to mcview.
7132         [HAVE_GNOME]: Don't examine argv[0] - it's done separately.
7134         * dir.c: Respect HAVE_STRCOLL. Added a comment about strcoll().
7136 2001-01-26  Pablo Saratxaga  <pablo@mandrakesoft.com>
7138         * file.c: moved a comment one line down so it becomes visible on the
7139         translators' po files. Also added gettext:no-c-format comments for
7140         a few strings with % in them that are not C format printf codes.
7142 2001-01-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
7144         * subshell.c (do_subshell_chdir): temporary patch to prevent command
7145         execution for directory names containing 0x03 (intr) 0x14.
7146         See http://www.securityfocus.com/vdb/?id=2016 for details.
7147         Subshell still can't chdir to such directories :(
7149         * subshell.[ch] (do_subshell_chdir): directory constified
7151 2001-01-17  Pavel Roskin  <proski@gnu.org>
7153         * Makefile.in: Respect LDFLAGS when linking cons.saver.
7155 2000-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
7157         * view.c: Fixed long existed bugs in internal viewer. When search is
7158         doing in binary file it ignore skipped zero(es), so cursor is before
7159         searched expression and next search find the same string. Also regexp
7160         search could return wrong results for '^ ?' expressions.
7162         (get_line_at): skipped: new parameter for number of skipped zero(es)
7164         (search): new features of get_line_at used.
7166 2000-11-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
7168         * cons.saver.c (check_file): close fd on error. There was a bug, which
7169         allowed luser to write '\0' char to any symlinkable file in Linux
7170         system which don't ensure that fd's 0, 1, and 2 are open on startup
7171         of a SUID/SGID binary.
7172         Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.
7174 2000-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
7176         * layout.c (print_vfs_message): format string vulnerability fixed
7178 2000-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
7180         * main.c (CmdMenu): don't include edit_user_menu_cmd ()
7181         if USE_INTERNAL_EDIT is not defined
7182         (main): call edit_init_file () if USE_INTERNAL_EDIT is defined only
7183         (listmode_cmd): messages are localized
7185 2000-11-02  Pavel Roskin  <proski@gnu.org>
7187         * layout.c [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Declare
7188         low_level_change_screen_size().
7189         (flag_winch) [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Call
7190         low_level_change_screen_size(). From Andrew V. Samoilov.
7192 2000-10-04  Pavel Roskin  <proski@gnu.org>
7194         * user.c (expand_format): Fixed processing of "%s".
7196 2000-09-30  Pavel Roskin  <proski@gnu.org>
7198         * Makefile.in: Added an explicit rule for man2hlp.
7200 2000-09-26  Pavel Roskin  <proski@gnu.org>
7202         * listmode.c, listmode.h, main.c: Consistently using define
7203         LISTMODE_EDITOR to enable the experimental listmode editor.
7204         * main.c: Don't allow two adjacent separators in the Command
7205         menu.
7207 2000-09-22  Pavel Roskin  <proski@gnu.org>
7209         * fixhlp.c: Removed.
7210         * Makefile.in: Removed all references to fixhlp.c
7212 2000-09-14  Pavel Roskin  <proski@gnu.org>
7214         * features.h: Joined with textconf.h to avoid name clash with
7215         GNU Libc.
7216         * features.c: Renamed to ...
7217         * textconf.c: ... this
7218         * Makefile.in, cmd.c, main.c, text.c: necessary adjustments
7220         * Makefile.in: Don't make softlinks to the libraries
7222 2000-09-13  Pavel Roskin  <proski@gnu.org>
7224         * Makefile.in: Only rebuild mc.hlp in the maintainer mode.
7226 2000-09-01  Pavel Roskin  <proski@gnu.org>
7228         * fixhlp.c: fixed compile errors and warnings
7230 2000-08-30  Pavel Roskin  <proski@gnu.org>
7232         * dirhist.c, dirhist.h: removed
7234         * features.h, keys.h, textconf.h, x.h: added protection against
7235         multiple inclusion
7237 2000-08-23  Pavel Roskin  <proski@gnu.org>
7239         * features.c: include <sys/param.h> to avoid a warning
7241         * main.c [HAVE_X]: print_mc_usage() and print_color_usage()
7242         removed.
7243         version() moved to ...
7244         * features.inc: ... here, renamed to features.c
7245         * main.h: status_using_ncurses moved to ...
7246         * features.h: ... here
7247         * cmd.c, text.c: include "features.h"
7248         * cmd.h: include "panel.h"
7249         * Makefile.in: changed to use features.h and features.c
7251 2000-08-22  Pavel Roskin  <proski@gnu.org>
7253         * main.c [HAVE_GNOME]: disable chmod and chown - they were
7254         broken and obsoleted by the "Properties" dialog
7256         * cmd.c [HAVE_X]: Removed dependency on status_using_ncurses
7258         * man2hlp.c: Removed undocumented feature - when converting
7259         to HTML some output would go to index.html instead of stdout
7261 2000-08-16  Pavel Roskin  <proski@gnu.org>
7263         * gindex.pl: Enable warnings. Existing warnings fixed.
7265         * Makefile.in: mc.hlp now depends on man2hlp.c instead of
7266         man2hlp - this avoids some rebuilds of mc.hlp
7268 2000-08-15  Pavel Roskin  <proski@gnu.org>
7270         * mc.hlp: removed. It's a derived file
7271         * Makefile.in: Fixed dependencies for $(srcdir)/mc.hlp
7272         Build $(srcdir)/mc.hlp but allow a failure (e.g. no perl)
7274 2000-08-11  Frederic L. W. Meunier  <fredlwm@pervalidus.net>
7276         * Makefile.in: Don't compile mfmt, compile mcmfmt directly.
7278 2000-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
7280         * hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
7281         tkn_length nullified after tkn_buf is freed to prevent crashes.
7283         (new_hotlist): became a macro
7285         * background.c (real_message_[123]s): title is really prepended
7286         by "Background process:" string now if mode == Background
7288         (background_attention): resstr NULLified to prevent warning
7290 2000-06-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
7292         * screen.c (display_mini_info): two different patterns are
7293         used now: for one file and for other cases
7295 2000-06-16  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7297         * cons_saver: support linux with devfs, patch by pavenis@lanet.lv
7299 2000-06-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
7301         * panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
7302         parameters and WPanel.total field became double, thus, total size
7303         of selected files/directories is shown in the mini status correctly
7304         when it exceeds 2 GB.
7306 2000-05-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
7308         * slint.c (init_pair): segfault fixed when mcedit -b called
7310         * user.c (check_format_var): error messages are localized
7312         (expand_format, user_menu_cmd): memory leaking for %e and %k macro
7313         fixed; segfault fixed when %m macro is used outside user_menu_cmd ()
7315         * ext.c (regex_command): memory leaking fixed when user extension
7316         file is absent
7318         (exec_extension): error message for changed mc.ext file format
7319         are localized -- does we really must be worry about mc 3.0 ?
7321         * widget.c (history_put): counter is initialized again
7323 2000-05-11  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7325         * src/user.c: fix segfault when Shift-F4, Shift-F1, so when menu
7326         content condition y, macro %y
7328 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7330         * src/user.c: Add macro %k it is block file name
7331         Add macro %e it is error file name
7332         Add macro %i it is cursor column indent of spaces, only for edit
7333         Add macro %y, it is syntax of current file in editor, only for edit
7334         Add condition y, it is syntax pattern of current file in edit
7335         Add macro %x it is extension of current file
7336         Add macro %m it is current menu filename
7338 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7340         * gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
7341         Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
7342         edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
7343         (the message of David H. Martin <dmartina@usa.net>)
7345 2000-05-05  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7347         * src/user.c:   Add condition (x filename) into mc.menu .
7348                         for "Open next a free console" and like.
7350 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7352         * src/user.c: fix segfault in chunk_alloc of glibc, when into condition
7353         of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
7355 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7357         * gtkedit/edit.c:
7358         Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
7359         * gtkedit/editmenu.c: home: ~/.cedit.menu, local: .cedit.menu
7360         Marked block is access now from an user edit menu
7361         Access ~/.cedit/cooledit.block for insert to cursor place from
7362         user edit menu.
7363         Created system cedit.menu
7365 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
7367         * gtkedit/editdraw.c:
7368         Improved a status string of cool editor for best understand,
7369         and to add char,hex view.
7371 2000-04-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
7373         * widget.c: (history_put): profile is free()d if chmod failed,
7374           (input_map): added const qualifier
7375         * utilunix.c, util.h: (tilde_expand): added const qualifier
7376         * cmd.c: (nice_cd): i18n update,
7377           (source_routing): typo fixed, source is free()d after use
7378         * screen.c: i18n changes, (panel_keymap): added const qualifier
7379         * view.[ch]: (view, view_init, do_view_init): added const qualifier
7381 2000-04-15  Timur Bakeyev  <mc@bat.ru>
7383         * dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
7384         directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
7385         as it is in POSIX.
7387 2000-04-15  Timur Bakeyev  <mc@bat.ru>
7389         * dlg.c: Committed at last patch, that fixes screwed up right panel in
7390         a long format. Occasionally, all my colors problems also gone. All thanks
7391         to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
7392         problem, blames to me and Federico :)
7394 2000-04-12  Timur Bakeyev  <mc@bat.ru>
7396         * widget.c ([forward|backward]_word): Changed one more time -
7397         now it skips alnums and THEN spaces+punct. That gives almost the
7398         same results, but twice quicker. Hope, this will be accepted.
7400 2000-04-06  Timur Bakeyev  <mc@bat.ru>
7402         * widget.c ([forward|backward]_word): Changed logic of moving - now,
7403         it skips only spaces+punct OR alnum. Reason to do it so - deleting lines
7404         like "lynx http://www.gnome.org", where "lynx http:" part was erased
7405         in one operation. That's nasty, IMHO. Made this a separate commit, so,
7406         if it seriously breaks compatibility it's easy to revert it. Still hope
7407         that nobody will do that.
7409 2000-04-06  Timur Bakeyev  <mc@bat.ru>
7411         * file.c, widget.[ch]: Fixed long existing problems with filenames
7412         and input widgets, then char is greater than 128. They were processed
7413         incorrectly. As usual, char != unsigned char problem.
7415 2000-03-03  Björn Eriksson  <mdeans@algonet.se>
7417         * Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.
7419         * mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
7420         problems when later g_free()ed.
7422         * Added mad_strndup().
7424         * Repeated code collected in mad_fatal_error().
7426         * The gcc-extension/C99-standard variable argument macros (adding
7427         __FILE__, __LINE__ before ', ...') would be nice.
7429         * Alloc_idx_hint and code added, the mad code was way too slow for my
7430         poor computer. A hash-table would be nice.
7432         * (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
7433         undefined at the top of mad.c, so mad_alloc must be used.
7435 2000-02-23  Norbert Warmuth  <nwarmuth@privat.circular.de>
7437         * main.c (parse_control_file): add missing right parentheses
7439         * boxes.c: fix incorrect initialization of array of structure (gcc
7440         version 2.96 20000131 chokes on it).
7442 2000-02-18  Paul Sheer  <psheer@obsidian.co.za>
7444         * gtkedit/*.[ch], edit.c et al: updates to reflect
7445         cooledit-3.13.0. See CVS commits and cooledit ChangeLog
7446         for details.
7448 2000-02-10  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7450         * setup.c (load_setup): remove duplicate loading of anonymous
7451         passwd by do_load_string(), it is doing by
7452         ftpfs_init_passwd. (Patch by sav@bcs.zp.ua)
7454 2000-02-04  "David H.Martin"  <dmartina@usa.net>
7456         * src/widget.c (input_new): Change NULL to empty strings and avoid
7457           crashing when string functions are called.
7458         * src/boxes.c (configure_vfs): Remove local change to empty string.
7459         * src/setup.c (load setup): Load anonymous password
7461 2000-02-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
7463         * setup.c (load_setup): call ftpfs_init_passwd to avoid segfault
7465 2000-01-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
7467         * main.c (parse_control_file): add extra security checks for
7468          control file. It cannot be group/world writable;
7469         (ctl_x_map, default_map, argument_table): added const qualifier.
7471         * fixed segfault in print_mc_usage
7473 2000-01-24  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7475         * cmd.c (nice_cd): disabled ability to go to home.
7477 2000-01-02  viro@math.psu.edu
7479         * src/subshell.c: Reason: in feed_subshell() we are trying to read
7480         from shell pty, check for retval==-1 && errno != EIO. In that case
7481         we flame and exit. Otherwise we are trying to write what we've
7482         read. Good luck doing it if we got errno==EIO, which is _normal_
7483         for situation when shell just died. Resulting write(1,foo,~0U) is
7484         somewhat excessively, erm, verbose.
7486 1999-12-21  Pavel Roskin  <pavel_roskin@geocities.com>
7488         * src/main.c, src/view.c: #warning's replaced with FIXME's.
7489         They were not for users, but for developers
7491 1999-11-11  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7493         * main.c, cmd.c: add possibility to free VFS now
7495 1999-11-03  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7497         * layout.c: always display status line. It contains vital
7498         information for ftpfs
7500 1999-03-19  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7502         * profile.c (str_translate_newline_dup): someone likes to pass
7503         NULL's around. Warn instead of segfault.
7505 1999-11-02  Miguel de Icaza  <miguel@gnu.org>
7507         * main.c (OS_Setup): Do not warn if TERM is not set for the GNOME edition.
7509 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
7511         * dlg.c (dlg_broadcast_msg_to): Sigh.  Put in a GrossHack(tm) to
7512         unfocus what will be a WInput when a panel is initialized.
7514 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
7516         * dlg.c (init_dlg): Walk the list of widgets only if it exists.
7517         (dlg_broadcast_msg_to): Use safer list-walking code for if someone
7518         inserts a widget inside the message broadcast.
7520 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
7522         The following is a patch from Volker Braun
7523         <volker.braun@physik.hu-berlin.de> to fix column resizing in the
7524         file panels.
7526         * setup.c (options): Declare the column width option values.
7527         (save_configure): Save the default user format.
7528         (load_setup): Load the default user format.
7530         * panel.h (WPanel): Added a field for the column widths.
7532 1999-09-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
7534         * user.c (check_patterns): char* is used instead of char [] in sizeof
7536         * util.c (string_perm): prefix named pipes by 'p' and not by `s'
7538 1999-09-19  Norbert Warmuth  <nwarmuth@privat.circular.de>
7540         * mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
7541         to mad.[ch]
7543         * option.c: Include files reordered in order to make it compile with
7544         --with-debug
7546         * mad.c (mad_init): New function. Initialize debug FILE pointer to
7547         stderr (moved to a function because not on every system stderr is
7548         a constant).
7549         (mad_set_debug): added const qualifier
7551         * main.c (main): call mad_init
7553 1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>
7555         * widget.[ch] (input_new): added const qualifier
7557         * util.c (wipe_password): Check for NULL.
7559 1999-09-13  Federico Mena Quintero  <federico@redhat.com>
7561         * treestore.c: Removed tree_store_destroy(), renamed
7562         tree_store_init() to tree_store_get().
7564         * tree.c (tree_destroy): Do not destroy the tree store.
7565         (tree_new): Get the tree store, do not initialize it.
7567         * treestore.c (tree_store_init): Do not set the linked list
7568         pointers to NULL.
7570         * panel.h (WPanel): Added a new field that indicates whether the
7571         user is dragging something over the tree.
7573 1999-08-31  Federico Mena Quintero  <federico@redhat.com>
7575         * main.c: In the GNOME version, we want cd_symlinks to be FALSE.
7576         The VFS should never have to look at this variable, but alas, it
7577         does.  BUGFIX:  Red Hat Bugzilla #2344.
7579         * setup.c: Disable cd_symlinks in the GNOME version.
7581 1999-08-30  Norbert Warmuth  <nwarmuth@privat.circular.de>
7583         * main.c (print_mc_usage): Print the bug reporting address.
7584         (main): Put prompt in a new line at termination.
7586 1999-08-27  Federico Mena Quintero  <federico@redhat.com>
7588         * ext.c (quote_block): How did this ever work?  People, if you
7589         realloc() things, don't keep pointers to stuff inside the original
7590         block.
7592         * screen.c (do_enter_on_file_entry): Pass in the full name to
7593         if_link_is_exe().
7595         * dir.[ch] (if_link_is_exe): Take in the full name, not the directory
7596         and the file entry.
7598 1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>
7600         * cmd.c (guess_message_value): New function. Determine locale used
7601         for messages
7603         (get_random_hint): use guess_message_value
7605 1999-08-15  David Martin  <dmartina@usa.net>
7607         * boxes.c: (symlink_dialog): Move dialog misaligned elements
7609         * cmd.c (get_random_hint): Look for localized hint files
7611 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7613         * ext.c: Added missing include file.
7615 1999-08-08  David Martin  <dmartina@usa.net>
7617         * menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
7618         get the right size even when NLS is disabled.
7620 1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
7622         * screen.c (string_file_[amc]time): These three functions use
7623         file_date which returns a pointer to a static buffer. In the
7624         Gnome edition this buffer has to be copied to a static buffer
7625         which isn't used in the other two functions (Fix Bug #1766).
7627         * util.c, util.h: Moved some constants to util.h
7629 1999-08-04  Norbert Warmuth  <nwarmuth@privat.circular.de>
7631         * widget.c (push_history): Add SMB Link to the list of input dialogs
7632         where URLs are input without vfs prefix.
7634         Translate the titles of these input dialogs only once.
7636         Removed Gnome specific code because the Gnome edition doesn't use
7637         the input history any more.
7639         * util.c (strip_password): Add /#smb: to the list of URLs which might
7640         be input with password.
7642 1999-08-03  Norbert Warmuth  <nwarmuth@privat.circular.de>
7644         * poptalloca.h: New file with definitions for alloca. Note: alloca
7645         is defined as malloc on systems which fail to support alloca. Don't
7646         include this file if you frequently use alloca.
7648         * findme.c, popt*.c: include poptalloca.h
7650         * Makefile.in: added poptalloca.h
7652         * menu.c (create_menu): set minimum menu width to 20 characters as
7653         it used to be (this was part of David's patches but I haven't
7654         applied it yet).
7656 1999-08-01  David Martin  <dmartina@usa.net>
7658         * menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
7659         Discount '&' for hotkeys when checking menu widths to avoid the
7660         extra blank space.
7661         Moved this accounting from the drawing to the creating function.
7663         * widget.c: Translate History box tittle.
7665 1999-07-21  Norbert Warmuth  <nwarmuth@privat.circular.de>
7667         * popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c: updated
7668         to the version found in the popt module
7670         * features.inc: added report information for smbfs
7672 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
7674         * file.c (move_dir_dir): Give an error when an attempt is made to
7675         move an empty directory into itself.
7677 1999-06-24  smil@linuxfan.com
7679         * view.c (view_update_bytes_per_line, display): show correctly the
7680         offset of the file (full 8 digit), display offset in bold color
7682         (view_labels): use goto_addr instead of goto_line in hex mode
7684         (goto_addr): New function. Goto offset address in hex mode.
7686         * view.h: use unsigned long for hexedit cursor position in file
7688 1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>
7690         * menu.c (menubar_execute): Now needs an additional do_refresh in order
7691         to make layout changes visible.
7693 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
7695         * file.c (move_dir_dir): Give an error when an attempt is made to
7696         move an empty directory into itself.
7698 1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>
7700         * cmd.c (quick_view_cmd): Change panel when the file we want to
7701         view isn't in the current panel (prevents a "file not found"
7702         error).
7704         * menu.c (menubar_execute): De-activate the menubar previous to
7705         invoking the callback. This is needed to make change_panel in
7706         quick_view_cmd work (the activated menubar doesn't allow unfocus,
7707         i.e. dlg_one_down|up don't change anything).
7709         * view.c (do_view_init): improved error handling w.r.t quick view
7710         (mc used to dump core when the file to view couldn't be opened).
7712 1999-06-22  David Martin  <dmartina@usa.net>
7714         * view.c (display): added view_gotoxy's in order to make the gnome
7715         edition operational in hex mode.
7717 Fri Jun 18 11:29:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7719         * user.c (user_menu_cmd): Allow national characters as hotkeys.
7720         Don't dump core when the menu file contains only empty lines
7722         * view.c (search, block_search): Use the correct column for the
7723         percent display while searching.
7725 1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7727         * complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
7728         the completion/query engine.  Make the Gnome version just beep
7729         instead.  We do not have the completion/query engine for Gtk.
7731 1999-06-09  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7733         * cmd.c (configure_panel_listing): no more code duplication
7735         * screen.c (panel_new): no more code duplication
7736         (set_panel_formats): warn user when he gives bogus format, move
7737         checks into set_panel_formats
7739 1999-06-01  Akira Higuchi  <a-higuti@math.sci.hokudai.ac.jp>
7741         * util.c (is_printable): in GNOME all characters are printable.
7743 1999-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7745         * main.c (handle_args): Handle --desktop-linksdir without using X
7747 1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7749         * treestore.c (should_skip_directory): Add fix from Wayne Roberts
7750         to actually acknowledge the settings of mc.global.
7752 1999-05-24  Brandon S. Allbery  <allbery@ece.cmu.edu>
7754         * subshell.c (pty_open_master): Added missing comma.p
7756 Mon May 17 07:37:12 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7758         * subshell.c (pty_open_master): use getpt () if available to open
7759         the master side of the pty. getpt () is a glibc extension and is
7760         needed when glibc 2.1.x is used with a (linux) kernel without unix98
7761         style ptys (if there is no /dev/ptmx getpt falls back to bsd style
7762         ptys).
7764         * filegui.c (check_progress_buttons): Don't update the Gpm mouse
7765         cursor when we check for events. It causes a flickering cursor on a
7766         different virtual console.
7768 1999-05-12  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7770         * cons.saver.c (main): change cons.saver so it can be run without
7771         root privileges. It is well possible to run cons.saver with
7772         privileges only to /dev/vcsa: create new user and make vcsa's
7773         owned by that user instead of root.
7775         Distribution maintainers please take this text as idea of what you
7776         should do to make your system more secure.
7778 1999-05-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7780         * cmd.c (view_file_at_line): gmc_view never fails, so we handle
7781         that now.
7783 1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7785         * chmod.c (chmod_cmd): Missing _ in _().
7786         (chmod_cmd): Added braces around nested if/else.
7788         * widget.c (is_in_input_map): Added braces around nested if/else.
7789         (listbox_remove_current): Likewise.
7791         * subshell.c (read_subshell_prompt): Likewise.
7793         * view.c (view_status): Likewise.
7795 Tue Apr 27 20:31:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7797         * util.c (strip_home_and_password): Don't split the path in the
7798         middle of a directory, e.g. "/home/bofh" will not be translated to
7799         "~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
7801 1999-04-25  Sergei Ivanov  <svivanov@pdmi.ras.ru>
7803         * find.c: The origin of the bug is in the function do_search (file
7804         find.c).  It limits the number of subdirectories to scan by the
7805         number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
7806         st_nlink is always 1, so it should be the second case.
7808         But before doing stat, do_search does opendir. And opendir on tar
7809         vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
7810         in the stat data! So mc_stat called after mc_opendir on tar vfs
7811         returns st_nlink==2 instead of 1. This is interpreted as if the
7812         directory had no subdirs, thus subdirs are not searched in.
7814         Changing the order of calls to mc_stat and mc_opendir fixes the
7815         problem.
7817 1999-03-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7819         * setup.c (save_setup): Only save this if there is a current panel
7821 Wed Apr 21 21:47:15 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7823         * ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
7824         like the latter when compiled with -mthreads).
7826         * user.c (execute_menu_command): ditto.
7828 Wed Apr 21 20:40:38 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7830         * Makefile.in: use MCCFLAGS and MCLIBS
7832 Wed Apr 21 20:19:45 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7834         * key.c (get_modifier): Query the state of the modifier keys when
7835         running inside a terminal emulation under X11.
7837         * key.c (init_textmode_x11_support, done_textmode_x11_support): new
7838         functions, only used in the text edition. Connect to and disconnect
7839         from the X Server when DISPLAY is set.
7841         * key.h: added prototypes for the new functions
7843         * main.c (main): call (init|done)_textmode_x11_support
7845 Sat Apr 17 13:04:19 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7847         * view.c (do_view_init): Enable viewing of files with negative
7848         st_size (This reverts parts of a patch I committed recently. Miguel
7849         provided a better fix for this issue).
7851 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7853         * view.c (regexp_search): Use unsigned longs for all of the
7854         offsets here.  Fixes crash reported on bugtraq.
7856 1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7858         * treestore.c (tree_store_save_to): Moved the functionality from
7859         tree_store_save() to here.
7860         (tree_store_save): Save the tree in the default location in an
7861         atomic fashion.
7862         (tree_store_load_from): Moved the functionality from
7863         tree_store_load() to here.
7864         (tree_store_load): Load the tree from the default location.
7866         * treestore.h (MC_TREE_TMP): Added a #define for the temporary
7867         name we'll use when saving the tree.  Moved the #defines from
7868         tree.h over to here.
7870         * main.c (main): Use tree_store_load() and tree_store_save().
7871         Removed the mc_tree_store_load/save() versions.
7873         * tree.c (load_tree): Use tree_store_load().
7874         (save_tree): Use tree_store_save().
7876 Fri Apr 16 07:51:42 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7878         * wtools.c (message): Use g_vsnprintf instead of vsprintf.
7880 Fri Apr 16 07:50:59 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7882         * view.c (do_view_init): Don't view files with negative file size.
7883         Added some error checking (I'm not sure whether this is needed).
7885 1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7887         * panel.h (WPanel): Added a drag_tree_row field to the WPanel
7888         structure.  This is used to keep track of the highlighted row in
7889         the tree for drag and drop.  Also, added drag_tree_timeout_id to
7890         hold the node expand timeout.  Also, added drag_tree_fe to hold
7891         the file_entry for the currently highlighted row in the tree.
7893 1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7895         * utilunix.c (my_system): Set up default signal handlers for
7896         children.
7898 Tue Apr 13 07:14:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7900         * slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
7901         at the code that's only the case when we read EOF from stdin.
7903         This fixes the problem where MC consumes a lot of cpu time while
7904         reading EOF from stdin in a tight loop. This situation arises when the
7905         terminal line/connection drops without MC being sent SIGHUP.
7907 Tue Apr 13 07:13:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7909         * slint.c (SLang_input_pending2): don't store SLANG_GETKEY_ERROR (int)
7910         in the input buffer (char).
7912 1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>
7914         * main.c (_do_panel_cd): If we are using GNOME, and the panel is a
7915         desktop panel, open up a new panel for the contents.
7917 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7919         * tree.c (tree_start_search): Renamed from start_search() to avoid
7920         collisions with screen.c:start_search().
7922         * panel.h: Added prototype for start_search().
7924 1999-04-09  Rosanna Yuen  <rwsy@mit.edu>
7926         * screen.c (do_enter_on_file_entry): split GNOME version and
7927         non-gnome version.
7928         (parse_display_format): listen to the warning.
7930 1999-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7932         * treestore.c (tree_store_load): Do not load non-local file
7933         systems
7934         (tree_store_save): Do not save non-local file systems
7936 1999-04-07  Jonathan Blandford  <jrb@redhat.com>
7938         * screen.c (do_enter_on_file_entry): added a consistent behavior
7939         for GNOME stuff.
7941 1999-04-06  David Martin  <dmartina@usa.net>
7943         * info.c (text out of box and locale layout).
7945         * util.c: If gmc uses strftime() why mc doesn't?
7947         * view.c: a) Tune status line so it does fit in a Quick View Panel
7948         b) Let Hex View resize cleanly. I think it's fixed for panel
7949         re-split and SIGWINCH signal in xterm. gmc still fails. There was
7950         a tiny risk of division by zero when pressing F4 in a very small
7951         box. True hard work... Must try and check it.
7953 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7955         * main.c (main): Call mc_tree_store_save() when the program
7956         terminates.
7958 1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7960         * find.c (setup_gui): Do not scroll horizontally.  Why does the
7961         CList behave like this?
7963         * setup.c: Save desktop information.
7965 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7967         * cons.saver.c (main): dup2() may be interrupted; take this into
7968         account.  Do we need to fcntl() stderr, or is it enough to close()
7969         it before recreating it?
7971 1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7973         * dlg.c (dlg_run_done): Do not call the callback of a NULL current
7974         widget.
7976         * setup.h: Added missing prototype for setup_init().
7978         * filegui.c (check_progress_buttons): Added a missing return
7979         value.
7981         * dlg.c (remove_widget): Added a missing return value.
7983         * main.c: Removed the global directory_list variable.
7984         Removed the main_corba_register_server() function.
7986         * main.h: Removed the global run_desktop variable.
7988         * panel.h: Now the panel structure has a unique numerical ID used
7989         for session management.
7991         * screen.c (panel_new): Maintain a unique ID for each panel.
7993         * main.c (maybe_display_linksdir): Handle display of the desktop
7994         init dir here.
7995         (main): Call gnome_check_super_user().
7996         (init_corba_with_args): Call corba_init_server().
7998         * main.c (init_corba_with_args): Do CORBA initialization here.  Also
7999         removed the global force_activation option.
8001 1999-03-29  Jonathan Blandford  <jrb@redhat.com>
8003         * main.c (main): updated message.
8005 Sun Mar 28 23:52:08 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8007         * util.c (is_printable): Character 155 is non printable even when
8008         full eight bit output is enabled (on the linux console 155 is
8009         interpreted as "ESC [").
8011 1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8013         Patch courtesy of John Bley (jbb6@acpub.duke.edu):
8015         * background.c (do_background): Use pid_t instead of int.
8017         * subshell.c (sigchld_handler): Likewise.
8019 1999-03-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8021         * Makefile.in: Use mcsrclibdir where appropriate.
8023 1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8025         * treestore.c (process_special_dirs): Free memory here.
8027         Fix test: Skip only "." and "..", before it could skip "?.".
8029 1999-03-22  David Martin  <dmartina@mailexcite.com>
8031         * wtools.c (real_input_dialog_help): Do a strncmp with the length
8032         of th same translated "Password:" string.
8034 Mon Mar 22 02:05:28 1999  Timur Bakeyev  <mc@bat.ru>
8036         * screen.c (file_entry_color): Dropped. Code went to file_compute_color.
8038         * screen (format_file): Add check, that avoids reported error, when
8039         long file list -> quick view -> brief file list gives core dump.
8041 1999-03-19  Jonathan Blandford  <jrb@redhat.com>
8043         * main.c (main): We don't want to restart if we hit cancel.
8045         * file.c (panel_operate): Ugly hack for GNOME.  We only treat the
8046         copy as if it were many files, and skip the only_one branch.
8048 1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8050         * utilunix.c (close_error_pipe): Inform parent of the return value
8051         of any command here.  This allows the desktop to launch a terminal
8052         only if it succeeded in mounting the directory.
8054 Thu Mar 18 16:09:09 1999  Timur Bakeyev  <mc@bat.ru>
8056         * panel.h, screen.c: Add an ability to center justify fields in the
8057         panel, in addition to left and right justification. Just for fun.
8058         Try =name in user format.
8060         * util.c (name_quote): Quote "~@^|;:". Hope, that's all :)
8062 1999-03-17  Jonathan Blandford  <jrb@redhat.com>
8064         * main.c (main): Put in a warning when run as root.
8066 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8068         * boxes.c (symlink_dialog): Put this inside an "#ifndef
8069         HAVE_GNOME" since we now provide a nicer version of the dialog.
8071         * wtools.c (real_input_dialog_help): Removed unneeded #ifdef.
8073         * cmd.c (edit_symlink_cmd): Generate the title of the dialog after
8074         we have computed the source filename.
8075         (edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
8076         for better internationalization.
8078         * wtools.c: Removed unused function input_dialog_help_2().
8079         (real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
8080         because now the Gnome version implements its own pretty dialog.
8082 1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8084         * dlg.c (dlg_select_nth_widget): Handle the case where h->current
8085         points to NULL.
8087 1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8089         * file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
8090         Since we use the resulting buf.st_size to update the progress, we
8091         need the size of unresolved links.  This also makes it consistent
8092         with screen.c:do_file_mark().
8094         * screen.c (select_item): Return immediately if this is a desktop
8095         panel.
8097 1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8099         * subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have
8100         grantpt() but they do lack SysV streams.  Handle this.  Noticed by
8101         Jakub Jelinek
8103 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8105         * util.h: Added prototype for g_readlink().  Miggie boy should add
8106         prototypes when he adds public functions.
8108 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8110         * utilunix.c (g_readlink): Fixed two bugs spotted by Morten
8111         Wellinder.  Boy, Morten has such a good eye!
8113 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8115         * file.c (erase_dir): Erase metadata for directories as well.
8116         (erase_dir_iff_empty): Likewise.
8117         (copy_file_file): Delete/copy the metadata even for
8118         char/block/sock/fifo files.  Same thing for when copying symlinks.
8119         (copy_dir_dir): Delete/copy the metadata.
8120         (move_dir_dir): Delete/move the metadata.
8121         (recursive_erase): Delete the metadata.
8123 1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8125         * file.c (real_query_recursive): Removed an unused variable.
8127 1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8129         * utilunix.c (g_readlink): New function.  Wraps all the nonsense
8130         of readlink into a nice routine.
8132         * filegui.c: Support ui->ctx to be NULL, as file.c will set this
8133         to NULL for background operations.
8135         * background.c (do_background): Handle EINTR in dup2.
8137 Wed Mar 10 22:21:19 1999  David Martin  <dmartina@usa.net>
8139         * util.c (my_putenv): char* was used to store the length of a string
8141         * info.c (info_show_info): cast st_dev and st_ino when passing
8142         to printw.
8144 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8146         * file.c (panel_operate): Always create the ctx->ui.  Federico,
8147         can you see if this change is correct from your point of view?
8149         * cmd.c (edit_symlink_cmd): Small fix to improve the messages
8150         printed.
8152 Tue Mar  2 22:54:50 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8154         * util.c (name_quote): Quote '<' and '>'.
8156 Tue Mar  2 22:28:39 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8158         * main.c (panel_clean_dir): New function: reset all counters of a
8159         WPanel and clean directory list.
8161         * various places: Use panel_clean_dir instead of clean_dir whenever
8162         a WPanel is available. This solves the problem reported by Enrico
8163         Scholz (screen refresh while panel reload with an old/now invalid
8164         panel->count).
8166 Mon Mar  1 00:18:48 1999  Timur Bakeyev  <mc@bat.ru>
8168         * mad.c: Tempnam() returns malloced buffer, so, free() it, not g_free().
8170 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8172         * view.c (view_percent, view_update): Take an extra argument:
8173         update_gui, which controls whether we want to update the displayed
8174         region in the GUI version.
8176 1999-02-25  Jonathan Blandford  <jrb@redhat.com>
8178         * cmd.c (symlink_cmd): little change to handle the case when a
8179         desktop panel is passed in.
8181 1999-02-25  Owen Taylor  <otaylor@redhat.com>
8183         * fileopctx.h file.c: Moved recursive delete query
8184         dialog into gdialogs.c for GNOME.
8186 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8188         * file.c: Moved FileCopyMode here (thanks to Wolfgang Scherer for
8189         pointing this out) and made it a typedef.
8191         * treestore.c (process_special_dirs): New function.
8192         (should_skip_directory): Load the settings from the global
8193         special.dirs file and from the
8195         * util.c: Test for glibc/linux and if so, do not use getwd, but
8196         getcwd as on this system it is better than popen ("pwd").
8198 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8200         * setup.c: Declare extern int tree_panel_visible for the GNOME
8201         version.
8203 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8205         * dir.c (if_link_is_exe): Made this function take in a directory
8206         argument as well -- the sought file may not be in the cwd, and
8207         file entries do not carry the directory the file refers to.
8209         * screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
8210         if_link_is_exe().
8212 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8214         * treestore.c (tree_store_rescan): Add code to skip scanning
8215         specially slow directories (/afs, /coda, /...).  It is of course,
8216         configurable.
8218         * setup.c: Export the profile_name setup routine.
8220 Tue Feb 16 21:21:32 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8222         * popt.c: Compilation fix: on systems without setreuid use setuid.
8224 Tue Feb 16 21:18:08 1999  David Martin  <dmartina@usa.net>
8226         * achown.c: Make buttons fit in the (new) translated
8227         Advanced Chown dialog.
8229 1999-02-16  Alexander Savelyev  <fano@ham.kiev.ua>
8231         * subshell.c (exit_subshell): Use the size of the buffer, not
8232         sizeof of the pointer to the buffer.
8234 Sun Feb 14 02:59:09 1999  Timur Bakeyev  <mc@bat.ru>
8236         * utilunix.c (my_system): Fix the order of preferences, as setuid
8237         more desirable on BSD systems. Terminate execl[p]() with NULL, as
8238         this is formally correct.
8240 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8242         * dir.c (do_load_dir): Added missing calls to tree_store_end_check.
8244         * find.c (add_to_list): Pass the data pointer as well.
8246 Fri Feb 12 06:36:58 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8248         * utilunix.c (my_system): Compilation fix: on systems without
8249         setreuid use setuid.
8251 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8253         * panel.h (WPanel): Removed unused field "corbadat".
8255 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8257         * screen.c: Make delete key delete files.
8259         * dir.c (do_reload_dir): Add a couple of missing calls to tree_store_end_check.
8261 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8263         * main.h: Added prototype for main_corba_register_server().
8265 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8267         * view.c (search): Provide GNOME specific code for the search progress
8269         * treestore.c: Add a new hook system to hint a tree freeze/thaw.
8271         * setup.c: In the GNOME version, we do not show the dot files by default.
8273 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8275         * file.c (copy_file_file): Add support for the GNOME metadata here.
8276         (move_file_file): Add support for the GNOME metadata here.
8278 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8280         * treestore.c   (tree_store_add_entry): Use g_new0 to allocate the tree_entry.
8282         (tree_store_notify_add): Close, but no cigar.  The
8283         bug was deeper:  This list keeps names, not tree_entries.
8285 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8287         * treestore.c (tree_store_notify_add): A tree_store_add_fn wants a
8288         string, not a tree_entry, so pass a string to it.
8290 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8292         * treestore.c: Revert all of the stack changes.  Now the treestore
8293         is again non-re-entrant.  Being re-entrant was only covering up for
8294         bugs in other places.
8296         Now we postpone notifications for additions at
8297         tree_store_end_check, not before.
8299 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8301         * treestore.c (tree_store_remove_entry): Removed unused code for
8302         base_sublevel computation.
8304 Sun Feb  7 06:11:48 1999  Timur Bakeyev  <mc@bat.ru>
8306         * Makefile.in: Change calls to xmkdir to mkinstalldirs - this is more
8307         GNU-like :)
8309         * xmkdir removed - we have mkinstalldirs.
8311 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8313         * cmd.c (view_other_cmd): Do not use \r in translatable strings.
8315 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8317         * widget.c (push_history): Only do check the history headings if
8318         the widget has a history entry bound to it.
8320 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8322         * treestore.c (tree_store_start_check, tree_store_mark_checked,
8323         tree_store_end_check): Use a stack for check_name.  There are far
8324         too many instances that might call the end_check.
8326 Wed Feb  3 23:55:54 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8328         * widget.c (history_put): set the access rights correctly when
8329         the history file is created initially. Don't save the history
8330         if we can't set the access rights.
8332 1999-02-01  Jonathan Blandford  <jrb@redhat.com>
8334         * setup.c: save we_can_afford_the_speed
8336 Wed Feb  3 22:27:04 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8338         * util.c (strip_password): Extended to find the URL in the first
8339         parameter. The second parameter tells whether it should search the
8340         URL (indicated by known prefixes) in the first parameter or whether
8341         the first parameter is a URL without a prefix ("ftp://", "/#ftp:",
8342         "/#mc:").
8344         * main.c (directory_history_add): Strip the password (if any) from
8345         the freshly added value.
8347         * widget.c (push_history): ditto. There's a ugly special casing
8348         necessary for the network and ftp link dialogs (URLs are entered
8349         with out prefix).
8351         * widget.c (history_put): Restrict read and write access to the
8352         history file to the owner (Just in case I forgot to strip passwords
8353         somewhere).
8355 Mon Feb  1 00:43:15 1999  Timur Bakeyev  <mc@bat.ru>
8357         * screen.c (to_buffer): Code of the function rewritten, as a side
8358         effect added J_CENTER (who needs this?). Also, justification flags
8359         got twins with _FIT suffix, which tries to fit name in the field with-
8360         out truncation (uses name_trunc()). This unifies behavior of CList
8361         variants and text-bases widgets.
8363         * screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
8364         group]() - not necessary, to_buffer() doing this work.
8366 Sun Jan 31 19:49:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
8368         * hotlist.c (add_new_entry_input, add_new_group_input): Make the
8369         quick_widget arrays static and various changes needed because they
8370         are now static. add_widgets_i18n recalculates button positions
8371         which get lost when the quick_widget arrays are non static.
8373         * screen.c (to_buffer): NULL terminate string when using strncpy
8375         * setup.c: Save and restore new option ftpfs_first_cd_then_ls.
8377 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8379         * file.c (panel_operate_generate_prompt): Removed the cmd_buf
8380         argument, since it is a global variable anyway (this function is
8381         only called once from file.c, and the global cmd_buf was being
8382         passed in).
8383         (panel_operate): Do not pass cmd_buf to
8384         panel_operate_generate_prompt().
8385         Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.
8387 1999-01-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8389         * achown.c (XTRACT): Add missing call to _().
8391 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8393         * panel.h: Fixup #includes.
8395 1999-01-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8397         * cons.saver.c: Removed glib from the suid app
8399 Wed Jan 27 03:17:44 1999  Timur Bakeyev  <mc@bat.ru>
8401         * Converted memory management to Glib. Now we use g_new()/g_malloc()/
8402         g_strdup()/g_free() routings. Also, copy_strings() replaced by
8403         g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
8404         g_snprintf().
8406         * Some sequences of malloc()/sprintf() changed to g_strdup_printf().
8408         * mad.[ch]: Modified, to work with new GLib's memory management. Fixed
8409         a missing #undef for tempnam, which caused dead loop. Add several new
8410         functions to emulate GLib memory management.
8412         *main.c, mad.[ch]: Add a new switch  "-M", which allows to redirect MAD
8413         messages to the file.
8415         * util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
8416         and strdup() - we have g_ equivalences. Remove get_full_name() - it is
8417         similar to concat_dir_and_file(). Some other tricks with g_* functions.
8419         * global.h: Modified, extended. Now it is main memory management include -
8420         i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
8421         "util.h" and "mad.h" done there. This eliminates problem with proper or-
8422         der of #include's.
8424         * All around the source - changed order of #include's, most of them gone
8425         to global.h (see above), minor changes, like "0" -> NULL in string func-
8426         tions.
8428 1999-01-25  Alexander Savelyev  <fano@vcom.kiev.ua>
8430         * ext.c (exec_extension): Always use /bin/sh.  Not the user
8431         shell.
8433 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8435         * treestore.c (tree_store_remove_entry_remove_hook): Missing
8436         function.  To remove a notification hook.
8437         (tree_store_notify_add, tree_store_add_entry_add_hook,
8438         tree_store_remove_entry_add_hook): New functions to notify of
8439         additions to the treestore.
8441         * tree.c (tree_destroy): Remove the callback hook when we go
8442         away.
8444 1999-01-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8446         * option.c (init_configure): One line patch from Alexander
8447         Savelyev to translate all strings.
8449 1999-01-18  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
8451         * file.c: Killed operation_names: they seemed same to op_names to
8452         me, and compilation failed on them (initializer element is not a
8453         constant). Maybe Miguel tagged too many strings for localization?
8454         :-).
8456         * ext.c: we use /tmp in "creative" way: creating there file and
8457         then executing it. I do not see how it is needed. Marked with FIXME.
8459 Thu Jan 21 01:11:24 1999  Timur Bakeyev  <mc@bat.ru>
8461         * mad.[ch], util.[ch]: commit changes, that allow coexist (temporary)
8462         GLib'ed VFS and not still converted MC itself.
8464 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8466         * treestore.c (tree_store_start_check): Use mc_stat(), not stat().
8467         (tree_store_rescan): Use mc_lstat(), not lstat().
8469 Tue Jan 19 05:28:04 1999  Timur Bakeyev  <mc@bat.ru>
8471         * ext.c, filenot.c, main.c, screen.c, treestore.c: add missed #include's
8472         and moved glib.h so, it follows "fs.h", but precedes "util.h" and "mad.h".
8473         There were conflicts during compilation with MAD and GLibed vfs.
8475 Mon Jan 18 21:23:29 1999 Paul Sheer  <psheer@obsidian.co.za>
8477         * cmd.c: update_panels (UP_OPTIMIZE, UP_KEEPSEL); instead
8478         of reread after editing a file.
8480 1999-01-18  Arturo Espinosa  <arturo@nuclecu.unam.mx>
8482         * file.c: Use N_ instead of _ for some of Miguel's last tags.
8484 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8486         * file.c: Tag some more strings for localization.
8488 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8490         * cmd.c (mkdir_cmd): Please, check your pointer usage.
8492 Thu Jan 14 13:18:58 1999  Timur Bakeyev  <mc@bat.ru>
8494         * screen.c (string_file_[owner|group]): Workaround the fact, that some
8495         systems have user and group names greater than 8 symbols. Now we trun-
8496         cate them.
8498 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8500         * treestore.c (tree_store_load): Use g_return_val_if_fail(), not
8501         g_return_if_fail().
8502         (tree_store_rescan): Added parentheses to clarify || and &&.
8504         * tree.c (tree_add_entry): Removed unused variable.
8506         * treestore.h: Added prototype for tree_store_start_check_cwd().
8508 1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8510         * view.c (search): Missing condition.
8512         * treestore.c (tree_store_opendir): Simplistic fix.  This is not
8513         quite correct.
8515 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8517         * panelize.h: Added prototype for do_external_panelize().
8519         * screen.c (move_selection): Unused variable fixes for HAVE_X.
8521         * boxes.c (configure_vfs): Removed an unused variable.
8523 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
8525         * cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
8526         absolute directories.
8528 Tue Jan 12 13:40:46 1999  Timur Bakeyev  <mc@bat.ru>
8530         * gtkedit(syntax.c): Fixed a typo in Pascal syntax.
8532 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8534         * treestore.c (tree_store_save): Add signature for version 2.0 of
8535         the file format.
8537 1999-01-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8539         * file.c (do_file_error): Made static.
8540         (query_recursive): Have cases for background/foreground operation.
8541         (do_file_error): Likewise.
8543         * background.c: Removed the bg_ctx global, since now all the
8544         contexts are carried around by the functions that actually need
8545         them.
8547         * fileopctx.h (FileOpContext): Moved the op_preserve field to here.
8549         * filegui.c (file_mask_dialog): Removed the ui assertion, since
8550         now the op_preserve field is kept in the main context structure.
8552 1999-01-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8554         * util.c: Provide workarounds for Linux kernel bug.
8556 Sun Jan 10 02:18:33 1999  Timur Bakeyev  <mc@bat.ru>
8558         * screen.c(string_file_size): Fixed (incorrect?) printing of device num-
8559         bers. Major should never be greater 255.
8561 1999-01-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8563         * dir.c (handle_dirent): Use the tree_store now.
8564         (handle_path): ditto.
8565         (do_load_dir): ditto.
8566         (do_load_dir): ditto.
8567         (do_reload_dir): ditto.
8568         (do_reload_dir): ditto.
8570         * treestore.c (tree_store_save): New file
8571         (encode): New routine used to encode pathnames in a safe way that
8572         are saved to the mc/.tree file.
8573         (decode): New routine, used to decode the pathnames we encoded in
8574         the step above.  Ain't love grand?
8576         * tree.c (load_tree): Kill dead code.
8578         Moved all of the tree store information into a new file:
8579         treestore.  To be reused by the Gnome code.
8581 1999-01-08  Ilya Zakharevich  <ilya@math.ohio-state.edu>
8583         * popt.c: OS/2 and Windows NT portability fix.
8585 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8587         * file.c (panel_operate_flags): Only show this dialog box if it is
8588         a copy or move operation
8590 1999-01-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8592         * background.c (do_background): Make it a bit saner.  Now we store
8593         a per-child-process FileOpContext structure.
8595         * fileopctx.h: New file with declarations for the file operation
8596         context structure.
8598         * fileopctx.c (file_op_context_new): New function to create a file
8599         operation context with the default file mask values.
8600         (file_op_context_destroy): New function to destroy a file
8601         operation context and its associated UI, if appropriate.
8603         * filegui.h: Use complete prototype for fmd_init_i18n().
8605         * filegui.c (FileOpContextUI): New structure that describes the UI
8606         and internal data for file operation contexts in the text mode
8607         version.
8608         (file_op_context_create_ui): Renamed from create_op_win() and
8609         made it use a context instead of global variables.
8610         (file_op_context_destroy_ui): Likewise, renamed from
8611         destroy_op_win().
8612         (fmd_widgets): Removed an #ifdef HAVE_XVIEW bit and moved the
8613         initialization of the result pointers to file_mask_dialog(), as we
8614         need to use the pointers to the fields inside the file op context now.
8615         Made all the functions use a file operation context.
8616         (file_mask_dialog): Always call fmd_init_i18n(); it will take care
8617         of idempotence by itself.
8618         (fmd_init_i18n): Now the code that makes sure this function is
8619         only called once is here.
8621         * cmd.c (check_for_default): Make it use a file operation context.
8622         * tree.c (tree_copy): Likewise.
8623         (tree_move): Likewise.
8624         (tree_rmdir_cmd): Likewise.
8626         * file.c: Removed file_progress_replace_progress and
8627         file_progress_replace_filename -- they are only used in filegui.c
8628         as part of the UI for the file operation context.
8629         (panel_operate_generate_prompt): Made static.
8630         (panel_operate_generate_prompt): Always call fmd_init_i18n(); it
8631         will take care of idempotence by itself.
8632         (panel_operate): Removed the panel_operate_def() function, and
8633         made panel_operate() take an extra "ask_user" argument.
8634         (query_recursive): Made static.
8636         * background.c (background_attention): Made static.
8637         (register_task_running): Made static.
8638         (do_background): Now takes a file operation context as an
8639         argument.  It stores the pid of the child there.
8641         * Makefile.in: Added fileopctx.[ch].
8643 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8645         * widget.c (listbox_new): Assign l->height.
8647 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8649         * main.c (update_one_panel_widget): GNOME version does the panel
8650         update here (this is an optimization, as we do not want do_refresh
8651         to do anything.
8653         * dialog.c (do_refresh): Remove this optimization as it was
8654         disabling the repainting of the screen contents.
8656         * hotlist.c (done_hotlist): The hotlist might not be loaded
8657         anymore.
8659 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8661         * widget.c (listbox_new): Under GNOME, height of the listbox might
8662         be less than zero (due to LINES/COLS being set to zero there).  So
8663         for bow, set the height to 1.  This needs to be properly computed
8664         in x_create_listbox.
8666         * main.c (main): Do not load the hotlist here anymore.   We
8667         auto-load it on the setup(?).
8669 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8671         * main.c (main): Removed old, unused code.
8672         (setup_panels_and_run_mc): Register the corba server here, not
8673         before, as the program is not ready to accept any commands yet.
8675         * screen.c (panel_set_sort_order): New routine to set the sorting
8676         mode.
8677         (panel_re_sort): New routine to force a resort on a panel.
8679         * main.c (sort_cmd): Use the new routines.
8681 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8683         * cmd.c (check_for_default): Make this compile.
8685 Tue Dec 29 22:25:34 1998  Timur Bakeyev  <mc@bat.ru>
8687         * mountlist.c: Compress all xBSD systems to one line and add check
8688         for MOUNT_UFS - it seems, that 4.4BSD and 4.4BSD2 systems different-
8689         ly handles FS names. (currently affects BSDI and FreeBSD)
8691 Tue Dec 29 16:34:02 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8693         * file.c (progress_update_one): Ignore files in subdirectories
8694         when panel totals haven't been computed.
8696         (erase_dir, erase_file): update progress bar (i.e. make it work
8697         for OP_DELETE).
8699         (panel_operate_flags): Don't compute panel totals for OP_MOVE.
8700         When moving files on the same filesystem computing totals might
8701         last much longer than the actual move operation.
8703         (various places): Adaptations for the above changes.
8705 Mon Dec 28 22:15:43 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8707         * slint.c (try_alloc_color_pair): Changed hardcoded values into
8708         defines.
8710 Mon Dec 28 20:22:59 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8712         * color.c, text.c: Added color "stalledlink" which is used for
8713         stalled symbolic links. Formerly "viewunderline" was used for
8714         this (IMO bad because function and name didn't match).
8715         According to the man page the color keyword for executable files
8716         is `executable' and not `execute' -- changed.
8718         * color.c, color.h: When using SLang some color indexes are not
8719         freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
8720         Solved by adding holes in color_map.
8722         * find.c (do_search): fixed possible memory leak
8724 Sat Dec 26 09:53:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8726         * layout.c: include sys/ioctl.h to get definition of TIOCGWINSZ
8727         (fixes problem with screen resize).
8729 Fri Dec 25 20:19:57 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8731         * file.c (panel_operate_flags): Don't change file progress count and
8732         size twice for every file.
8734         (panel_compute_totals): Initialize return values to zero before
8735         calculating anything.
8737         (panel_operate_def, panel_operate): return a value
8739 Thu Dec 24 19:00:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8741         * screen.c (recalculate_panel_summary): new function which recalculates
8742         the summary information for the mini-status.
8744         * screen.c (panel_reload): use recalculate_panel_summary
8746         * screen.c (do_file_mark): Honor that dirsizes computed is now a
8747         per entry flag.
8749 Thu Dec 24 18:53:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8751         * option.c: Added Compute Totals to the configuration dialog.
8753         * file.c (compute_dir_size): made non static
8755         (panel_operate_flags): Don't compute directory sizes if verbose
8756         operation are off.
8758 Thu Dec 24 18:42:52 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8760         * cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
8761         by Miguel, i.e. get rid of du. Now the dirsizes_cmd honors a
8762         selection and computes sizes only for marked directories. Possible
8763         improvement: add a dialog (or C-C?) to abort computation.
8765         * dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
8766         flag a per file flag.
8768         * dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
8769         WPanel structure.
8771         * features.inc: Deleted DUSUM information
8773         * mc.hlp: remade because of changes in doc/mc.1.in
8775 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
8777         * file.c: add a HAVE_GNOME only function
8779 Mon Dec 21 22:39:35 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8781         * mountlist.c: Define xBSD on FreeBSD.
8783         * main.c (parse_an_arg): New function, popt callback. Option
8784         parsing in gmc was broken. The gnome*_init_with_popt_table free
8785         the option tables and gmc tried to use the option tables later.
8787         * main.c (handle_args): In the Gnome edition don't parse the
8788         options a second time.
8790         * boxes.c (configure_vfs), setup.c: Deleted obsolete options.
8791         tar.gz files are now always unzipped to a temporary file on disk.
8793 Mon Dec 21 14:28:55 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8795         * filenot.c (my_mkdir_rec): Someone broke this completely by deleting
8796         a line. Funny things happen if you use an already freed pointer.
8797         Improved error handling: try to make directories recursively until
8798         mkdir succeeds or fails with errno != ENOENT. Now you will get the
8799         correct error message when you don't have permission to create a
8800         directory.
8802         * mountlist.c: Deleted function prototypes for strdup and strstr,
8803         they might conflict with definitions in the system header files.
8805 Wed Dec 16 14:41:15 1998  Paul Sheer  <psheer@obsidian.co.za>
8807         * gtkedit.c, editwidget.c: gnome selection now works with the
8808         editor.
8810 Wed Dec 16 06:27:00 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8812         * screen.c (Xtry_to_select): Don't select a similar file when
8813         "name" can't be found in the panel (when deleting files the
8814         selection jumped from the deleted "file" to a directory which
8815         started with the same character as "file", annoying).
8816         Strip known vfs suffixes from "name" before trying to select
8817         (I think Timur made this suggestion a few months ago). Know the
8818         vfs is mature enough to do this.
8820 1998-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8822         * dir.c (link_isdir): Remove unused variable.
8824 Sun Dec 13 18:35:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8826         * screen.c (panel_reload): Don't set panel->selected to zero here,
8827         keep it's value if possible or set it to panel->count - 1 (I disliked
8828         the jumping cursor when deleting files).
8830 1998-12-11  Michael Fulbright  <msf@majestic.labs.redhat.com>
8832         * file.c (panel_operate_generate_prompt): Changes the text
8833         for GNOME dialogs.  --jrb
8835 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8837         * main.c (try_to_select): We do not need to select the item
8838         manually in this case, as the X code will do this for us.
8840 Fri Dec 11 00:05:50 1998 Paul Sheer  <psheer@obsidian.co.za>
8842         * syntax.c, slint.c, color.c, color.h: editor now has its
8843         own color configuration so you can set editor background
8844         colors with MC_COLOR_TABLE.
8846 1998-12-10  Paul Sheer  <psheer@obsidian.co.za>
8848         * syntax.c: perl syntax highlighting. syntax highlighting
8849         bug fixes for python and sh.
8851         * edit.c: new method of finding line offsets from line
8852         number (for cooledit for python stuff).
8854 Mon Nov 30 21:10:30 1998  Pavel Machek  <pavel@bug.ucw.cz>
8856         * file.c (copy_file_file): minor code beatifying: replace goto's
8857         with while loops (it is both shorter and nicer :-)
8858         (panel_operate): hopefully done WANT_STALE_DATA right. We really
8859         should kill ftpfs_hint_reread hack soon.
8861         * cmd.c (dirsizes_cmd): report error if you are on non-local
8862         filesystem. (As opposed to silently failing.)
8864 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8866         * screen.c (panel_reload): Set panel->selected to zero here, this
8867         will at least guarantee that we do not try to fetch anything
8868         outside of bounds.
8870         * main.c: The bar2 is gone as well.
8872 Tue Dec  8 19:19:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8874         * cmd.c (dirsizes_cmd): Fixed possible buffer overflow
8876 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8878         * screen.c (do_enter): Return the value from this.
8880 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8882         * dir.c (link_isdir): Fetch the information from
8883         file->f.link_to_dir, since we already have it.
8885         * dir.h (file_entry): Removed the `cache' field in this structure,
8886         as it was only used for the deprecated Xview version.
8887         Also, removed the `exists' field, as it was not being used anywhere.
8889         * dir.c: Removed all occurrences of file_entry->cache.
8891         * find.c: Removed all occurrences of file_entry->cache.
8893         * panelize.c: Removed all occurrences of file_entry->cache.
8895         * screen.c (do_enter_on_file_entry): New public function that
8896         implements the functionality in do_enter(), but based on a file
8897         entry rather than on a panel.
8898         (do_enter): Use do_enter_on_file_entry() with the selection of the
8899         panel as an argument.
8901 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8903         * cmd.c, tree.c: Updated to the new file.c api.
8905         * file.c: (copy_file_file, copy_dir_dir, move_file_file,
8906         move_dir_dir): Updated to work with the new updating stuff.
8908         * setup.c: New configuration option to compute the totals to be
8909         transfered.
8911         * file.c (compute_dir_size, panel_compute_totals): New routines to
8912         compute the total amount of information that is going to be
8913         transfered.
8915 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8917         * ext.h: GNOME edition uses a different set of .ext files.
8919         * lib/mc-gnome.ext.in: New file with GNOME-specific bindings.
8921 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8923         * GNORBA integration.  We now produce two binaries: gmc and
8924         corba-gmc (that way, I don't interfere with other's work).
8926         * Added prototypes, made private functions static, clean up
8927         various silly warnings.
8929         * main.c (main): Removed crufty init_sigfatal code.
8931         * cmd.c (do_link): More slang dependencies are fixed for the X
8932         ports.
8934         * keys.h (enum): Moved key definitions here.
8936         * tty.h: Move towards slang freedom for the GNOME port.
8938 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
8940         * file.c (panel_operate_generate_prompt): moved from filegui.c
8942 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8944         * panel.h (WPanel): Added the missing tree/pane/view_table fields
8945         to the Gnome part of the structure.
8947 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8949         * cons.saver.c (main): Make sure stderr is always valid.
8950         (main): Also check that stderr_fd is not -1.
8952 Wed Nov 25 22:16:19 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8954         * cmd.c (dirsizes_cmd): Quote characters with a special meaning
8955         when passing it to du.
8957 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8959         * dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
8960         (dlg_key_event): Return 1 if handled the tab key.
8962         * filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().
8964 Sun Nov 22 22:30:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8966         * autogen.sh: replaced "cat *.m4" with a call to aclocal. Concatenate
8967         mc-aclocal.m4 and gettext.m4 to acinclude.m4. The other way round
8968         would have been to add three more m4 files to the replaced cat line
8969         (including cond.m4 from automake-1.3b).
8971         Fixed OBJ_DIR handling.
8973 Sun Nov 15 00:37:58 1998  Pavel Machek  <pavel@bug.ucw.cz>
8975         * mad.c (mad_tempnam): needed wrapper for tempnam added
8977 1998-11-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8979         * dlg.c (destroy_dlg): Do not refresh.
8981         * filegui.c: New file.  We keep all of the user interface code for
8982         the text edition in this file now.  This should be a per-GUI port
8983         file.
8985 1998-11-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8987         * panel.h (WPanel): Instead of the "#ifdef GNOME" mess in the
8988         WPanel structure, we now have a single opaque pointer to UI data,
8989         called port_ui.  GUI stuff specific to each port should be here.
8990         This is a work in progress.
8992 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8994         * setup.c: Removed the icons_snap_to_grid and
8995         want_transparent_{icons,text} options.
8997 Thu Nov  5 12:10:10 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
8999         * file.c (panel_operate): check for null pointer before passing it
9000         to mc_setctl
9002 Wed Nov  4 17:51:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9004         * src/findme.h: added from popt-1.2 by RedHat
9006         * src/Makefile.in: appropriate changes to use new popt
9008 Sun Nov  1 20:59:05 1998  Pavel Machek  <pavel@bug.ucw.cz>
9010         * file.c (erase_file): translated goto into while loop (it is both
9011         shorter AND cleaner)
9013         * subshell.c (feed_subshell): do NOT print anything if we get
9014         errors/eofs from read(subshell) - this fixes (or at least hides)
9015         nasty bug where typing "exit" on mc prompt prints lots of garbage
9016         and falls into infinite loop. Someone with better knowledge should
9017         read feed_subshell(), and make it handle errors properly. (Why do
9018         we ignore EIO for example?)
9020 Sun Oct 18 22:56:17 1998  Pavel Machek  <pavel@bug.ucw.cz>
9022         * view.c: we now rely on sfs to do file decompressing for us. That
9023         has advantage of displaying #ugz at first line, so user knows what
9024         we are doing behind his back
9026         * view.c: fix indentation, fallback to read whole file if mmap fails.
9028 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
9030         * setup.c: #ifdef'ed out stuff in the menus that will get changed
9031         as I rewrite the desktop part.
9033 1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9035         * layout.c (print_vfs_message): Use g_snprintf instead of
9036         vnsprintf.
9039 1998-10-30  Sung-Hyun Nam  <namsh@lgic.co.kr>
9041         * color.c, slint.c: support transparent background if user use
9042         'default' keyword for background color.
9044 Mon Oct 26 00:31:53 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9046         * configure.in, Make.common.in: Split CPPFLAGS into CPPFLAGS and
9047         MCCPPFLAGS. The last one contains references to variables which are
9048         not available in every Makefile.in (namely intl/Makefile.in). Without
9049         the split `-I ' was passed to the compiler (the compiler on DU 4.0
9050         interprets -I as "don't search include files in /usr/include").
9052 Thu Oct 22 20:41:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9054         *  configure.in (subshell): Don't define inline to be empty
9055         when compiling with non-gcc compiler. AC_C_INLINE (invoked in
9056         AM_GETTEXT_GNU) already defines inline if necessary.
9058 Thu Oct 22 20:41:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9060         * panelize.c (do_external_panelize): Not zeroing some fields
9061         in cpanel led sometimes to segfaults.
9063 Thu Oct 22 20:31:17 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9065         * lib/mc.ext.in: *.jar and *.JAR treated like *.zip and *.ZIP
9067 Fri Oct 16 12:10:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
9069         * cmd.c (quick_chdir_cmd): you must check for return code of
9070         do_cd(). (Fixed error for here, but more such bugs are present in
9071         src/ tree. Or maybe move error checking into do_cd?)
9073         * command.c: warn user if he is pressing enter while on non-local
9074         filesystem. (Prev. behavior was fail silently to do anything,
9075         which is _bad_.)
9077 Mon Oct 12 22:47:53 1998  Pavel Machek  <pavel@bug.ucw.cz>
9079         * file.c (copy_file_file): MCCTL_SETREMOTECOPY is no longer used
9081         * file.c (copy_file_file): do_reget is now correctly done using
9082         open()/lseek() pair
9084 Wed Oct  7 22:20:37 1998  Pavel Machek  <pavel@bug.ucw.cz>
9086         * file.c: Ask user if (s)he wants to delete incomplete file
9088 Sun Oct 11 20:21:20 1998  Peter Kleiweg  <kleiweg@let.rug.nl>
9090         * mfmt.c (main): When there are an even number of empty lines
9091         between messages, all goes well, but when the number of empty
9092         lines between messages is odd, the program fails.
9094 Sun Oct 11 20:11:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9096         * setup.c: Option ftpfs_use_unix_list_options was saved from
9097         and restored to the wrong variable (ftpfs_use_passive_connections).
9099 Mon Oct  5 21:33:14 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9101         * screen.c (parse_display_format): Don't dereference NULL pointer
9102         when format string is an empty string.
9104 Mon Oct  5 19:59:56 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9106         * main.c (translate_url_to_new_syntax): Translate ftp:// to an
9107         absolute path instead of a relative path (fix to "hotlist" bug
9108         reported by Andrej). This means we drop the "return to last dir"
9109         feature for ftpfs (when leaving ftpfs with ".." returns to the
9110         directory visited before entering the ftpfs).
9112 Sat Oct  3 00:54:23 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9114         * gtkedit/Makefile.in (EDITOBJS): removed one wrong \\ (line
9115         continuation)
9117 Thu Oct  1 18:43:34 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9119         * file.c: Commented out search for egrep because execvp() does
9120         it itself
9122         * utilunix.c: vfs_uid should not be used if VFS is disabled
9124 Tue Sep 29 17:53:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
9126         * main.c: removed stupid reference to {sfs,extfs}_which
9128         * screen.c: fixed highlighting to go for longest match if it does
9129         not find exact match. This is so that it works well with vfs (and
9130         needs _NO_ knowledge about vfs layer).
9132 Tue Sep 29 14:02:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
9134         * layout.c (print_vfs_message): fixed buffer overrun by
9135         vsnprintf. Unfortunately I have no clue how to do this portably.
9137 Tue Sep 29 11:42:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9139         * setup.c: Corrected code which prevents using icon view by
9140         ports which don't support it
9142 Mon Sep 28 21:55:13 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
9144         * find.c: Changed hotkey of the continue-button (both Chdir and
9145         Continue used `C').
9147         * Makefile.in: search config.status in builddir and not in rootdir,
9148         i.e. make it compile for builddir != srcdir
9150 Wed Sep 23 14:06:44 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
9152         * src/file.c: Made file.c use new O_LINEAR mode (so copying from
9153         ftp works nicely, again)
9155 Fri Sep 18 14:15:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9157         * src/mad.c: All messages are sent to stderr and terminate with \r\n
9159         * src/hotlist.c: Harmless memory leak fixed
9161         * xv/Makefile.in, xv/xvmain.c, xv/xvscreen.c: Minor fixes to
9162         make compilation of the XV port possible (currently without
9163         viewer).
9165 Thu Sep 17 07:32:23 1998  Norbert Warmuth  <k3190@fh-sw.de>
9167         * Makefile.in: After creating symlinks invoke another instance of
9168         make to build libvfs.a. Otherwise make will not know how to build
9169         the object files if symlinks have been created.
9170         Added target cleansourcelinks (invoked with make distclean).
9172 Tue Sep 15 22:41:24 1998  Paul Sheer  <psheer@obsidian.co.za>
9174         * edit.c, editwidget.c, gtkedit.c: fixed segfault when trying to
9175         edit a non-file under gmc.
9177 Tue Sep 15 21:52:00 1998  Norbert Warmuth  <k3190@fh-sw.de>
9179         * mc.hlp, doc/mc.1.in, doc/mc.sgml: updated my EMail address
9181 Tue Sep 15 20:51:42 1998  Norbert Warmuth  <k3190@fh-sw.de>
9183         * setup.c: save and restore new global variable/option
9184         ftp_use_unix_list_options
9186 Tue Sep 15 01:02:34 1998   Paul Sheer  <psheer@obsidian.co.za>
9188         * gtkedit: Directory added. This directory contains all the editor
9189         code modified to work with gnome. Mcedit now works properly under
9190         gnome with a slightly reduced set of features.
9192         * gscreen.c gscreen.h screen.c: Modified to respond to F4 on a file
9193         and start the new gtkedit internal editor.
9195 1998-09-14  Norbert Warmuth  <k3190@fh-sw.de>
9197         * file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
9198         <zx80@demo.ru> (losing files when moving directories cross filesystem
9199         boundaries): make sure erase_list is emptied always not only when we
9200         deleted files.
9202 Sat Sep 12 02:59:43 1998  Timur Bakeyev  <mc@bat.ru>
9204         * screen.c: Xtry_to_select() Remove extfs hack to the main.c. Change
9205         for() cycle to the x_basename() call (Thanks to Pavel Roskin).
9206         Add (key_callback) do_enter() to prevent warnings.
9208         * main.c: Rename cd_try_to_select() to the get_parent_dir_name(). Now
9209         it process VFS postfixes too. Reduced number of loops against prev hack.
9211 Fri Sep 11 15:27:59 1998  Pavel Machek  <pavel@ucw.cz>
9213         * screen.c: make cd .. from extfs file highlight it
9215 Tue Sep  8 13:10:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9217         * autogen.sh: Don't destroy aclocal.m4 if "macros" directory
9218         is missing
9220         * layout.c: Use stdout instead of stderr in set_hintbar()
9222 Mon Aug 31 12:40:29 1998  Pavel Machek  <pavel@ucw.cz>
9224         * cmd.c: added view_file_cmd which asks user which file to view -
9225         _very_ useful with vfs (now you can browse web with mc: try
9226         /#url:http:||atrey.karlin.mff.cuni.cz|~pavel#uhtml)
9228 Thu Aug 27 19:52:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9230         * Make.common.in: Don't define VERSION anymore
9232         * configure.in: this is the right place for VERSION definition
9234         * acconfig.h: does not include file "VERSION" anymore
9236         * config.h.in: rebuilt by autoheader
9238         * VERSION: removed from CVS and added to .cvsignore since it
9239         is rebuilt every time as configure is run
9241 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
9243         * mad.h: Include stdlib.h/malloc.h first, to prevent prototypes
9244         from being clobbered by the subsequent macro defines.
9246 Wed Aug 12 15:56:46 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9248         * edit.h: added "../" before some includes to avoid unnecessary
9249         "-I" options for the PC port makefiles.
9251 Sun Aug  9 22:39:12 1998  Janne Kukonlehto  <jtklehto@paju.oulu.fi>
9253         * mad.h (calloc): Added parentheses around the arguments as
9254         suggested by Steef Boerrigter <sxmboer@sci.kun.nl>.
9256 Fri Jul 31 09:04:35 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9258         * syntax.c: makefile* will be highlighted as Makefile*
9260 1998-07-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9262         * main.c (translated_mc_chdir): Quick hack to make the old
9263         url-like pathnames to be used on the command line.
9265 1998-06-22  T.E.Dickey  <dickey@clark.net>
9267         * keyxdef.c: Fix for compiling with ncurses.
9269 Fri Jul 24 00:44:37 1998  Tom Tromey  <tromey@cygnus.com>
9271         * mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
9272         * autogen.sh: Include linger.m4 in aclocal.m4.
9273         * Makefile.in (GNOME_M4_FILES): Include linger.m4.
9275 Thu Jul 23 22:44:16 1998  Tom Tromey  <tromey@cygnus.com>
9277         * Makefile.in (aclocal.m4): Depend on all source files.  Include
9278         gnome-vfs.m4 and gnome-undelfs.m4.
9279         (GNOME_M4_FILES): New macro.
9280         * autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
9281         aclocal.m4.
9282         * configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
9283         macros instead of in-line checks.  Create vfs/Makefile from
9284         vfs/Make-mc.in.
9286 Thu Jul 23 19:49:12 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9288         * hotlist.c: corrected layout of the warning which appears
9289         if ~/.mc doesn't exist. Appropriate changes in translations.
9291 Wed Jul 15 00:41:01 1998    Paul Sheer  <psheer@obsidian.co.za>
9293         * edit.c, editwidget.c,            * syntax.c: Syntax
9294         editdraw.c, editmenu, editcmd.c:   highlighting for Pascal
9295         Added column text highlighting     added.
9296         and block movements.
9298 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
9300         * main.c (main): 'session_management_setup' will be called after
9301         'gnome_init'.
9303 Wed Jun 18   Pavel Machek  <pavel@ucw.cz>
9305         * i18n.h: we do not want i18n in case of compiling standalone
9306         libvfs.so.
9308 Fri Jun  5 23:34:20 1998  Timur I. Bakeyev  <timur@comtat.kazan.ru>
9310         * screen.c (file_entry_color): take care about BSD core dumps
9311         which have names program.core instead of core
9313 Mon Jun  1 15:41:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
9315         * main.c (translate_url_to_new_syntax): translate the common
9316         ftp url syntax to the syntax used by the new vfs code.
9318         (_do_panel_cd): First translate the path if necessary. This makes
9319         it possible to enter ftp://host on the command line and in the
9320         directory hotlist. We might need to move the translation code
9321         to the vfs layer if there are other places where we want to enter
9322         ftp://host.
9324 Mon Jun  1 12:33:08 1998  Alexander V. Lukyanov  <lav@yars.free.net>
9326         * configure.in: allowed to use `configure --with-included-gettext'
9327         on systems (like solaris) that have their own libintl
9329 1998-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9331         * complete.c (filename_completion_function): Use the vfs routines
9332         for name completion.
9334 1998-05-31  Jakub Jelinek  <jj@ultra.linux.cz>
9336         * complete.c (complete_engine): Fix completions.
9338 Sun May 31 10:23:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
9340         * key.c (define_sequence): If a sequence clashes the last
9341         definition made will be used. This makes it possible to override
9342         wrong definitions in terminfo/termcap database with learn keys (or
9343         the appropriate entries in mc.lib and ~/.mc/ini).
9345         * widget.c (show_hist): Don't display the listbox partly
9346         off screen (the left panel's history started in column - 2).
9348         * keyxdef.c: include tty.h instead of myslang.h as suggested by
9349         Tamasi Gyorgy <gt_cosy@usa.net>
9351 Fri May 29 15:41:19 1998  Alexander V. Lukyanov  <lav@yars.free.net>
9353         * widget.c (update_input): this patch allows entering 8-bit
9354         characters in input fields without screwing attributes. (the
9355         same old sign extension...)
9357 Wed May 27 22:23:48 1998  Ed Cogburn  <ecogburn@greene.xtn.net>
9359         * lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
9360         program from ncurses 4.2 doesn't like the xterm.ti file that comes
9361         with mc.
9363 Wed May 27 15:29:01 1998  Alexander V. Lukyanov  <lav@yars.free.net>
9365         * key.c (get_key_code): characters with high bit set were input
9366         as 0x80 char when use_8th_bit_as_meta was set
9368 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9370         * ext.h (MC_USER_EXT): New name for the per-user extension file
9371         (this needs redoing to concatenate this + the system stuff instead
9372         of the overwrite stuff we have now).  Now it is called the ~/.mc/ext-n
9374 Mon May 25 23:32:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
9376         * editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
9377         to make it compile with ncurses. Syntax highlighting in the
9378         internal editor is already disabled when SLang isn't used.
9380 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9382         * widget.c (port_region_marked_for_delete): New per-port
9383         piece of code:  Provides a way for good selection killing.
9385 Sun May 24 02:45:03 1998  Norbert Warmuth  <k3190@fh-sw.de>
9387         * utilunix.c, util.h (errno_dir_not_empty): deleted
9389 Sat May 23 22:29:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
9391         * file.c (check_dir_is_empty): New function which takes a path and
9392         returns -1 on error, 1 if there are no entries besides "." and
9393         ".."  in the directory path points to, 0 else. This function
9394         actually opens and reads the directory and doesn't do tricks we
9395         used to do with rmdir.
9397         * file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
9398         to detect non empty directories. The old code tried to remove the
9399         directory and decided on errno whether the failure of rmdir was
9400         caused by a non empty directory or whether there was a different
9401         error.
9402         Unfortunately not every filesystem sets errno to EDIRNOTEMPTY if
9403         you try to delete a non empty directory. Namely the linux user
9404         space nfs server sets errno to EIO, Suns nfs server sets it to
9405         EEXIST and the AIX nfs server sets it to ??? (Steve reported
9406         problems on AIX so I guess AIX sets errno to a value we currently
9407         don't check).
9409 1998-05-18  Tamasi Gyorgy (gt_cosy@usa.net)
9411         * lib/mc.menu: 'Z' on 'tar.Z' and 'tar.z' files: '%f' -> '$1'.
9413         * lib/mc.ext.in.qnx.diff, lib/mc.menu.qnx.diff (QNX): modified
9414         'mc.ext.in' (tar -t: output to stderr); modified 'mc.menu' (tar is
9415         not GNU tar: doesn't know '-z'); support for '*.tar.F':
9416         'freeze'-compressed tar files [No automatic configure/install
9417         implemented: patches must be applied before running 'configure'
9418         (mc.ext.in.qnx.diff: this patch can be not only QNX-specific...)]
9420         * lib/Makefile.in: 'mc.ext.in.qnx.diff' and 'mc.menu.qnx.diff' added
9421         to DISTLIB.
9423         * slang/sldisply.c:
9425           SLTT_TRANSP_ACS_PATCH dependent code:
9427           The problem: some terminals (QNX/qansi*, SCO OS5/ansi [?]) map the
9428           whole upper half of the ASCII table to the lower half, when
9429           alt-char-set is activated with the smacs/as string-sequence. This
9430           means, that if 0 <= ch < 128 written to the terminal, it will be
9431           translated to (ch+128) automatically by the terminal: so not only
9432           the line-drawing characters can be written, when the alt-char-set
9433           is activated. It implicitly means, that space, NL, CR, etc.
9434           characters (exactly: anything besides the "standard" line drawing
9435           characters) can not be written directly to the terminal, when the
9436           alt-char-set is activated, because writing these characters
9437           doesn't cause an implicit/temporary switching-back to the standard
9438           char-set!
9440           The original code in SLang assumes that space, NL, CR, etc. can be
9441           printed when alt-char-set is activated. If SLTT_TRANSP_ACS_PATCH
9442           is defined, the modified code will not use this assumption.
9443           [Remark: the patch-code is not the most exact solution, but
9444           works...]
9446           QNX_QANSI_SLANG_COMPAT_ACS_PATCH dependent code:
9448           A more OS/terminal-specific solution for the problem mentioned
9449           above (->SLTT_TRANSP_ACS_PATCH).
9451           If QNX_QANSI_SLANG_COMPAT_ACS is defined, the default smacs/sa,
9452           rmacs/ae, acsc/ac [and sgr/sa, if it would be used!] command
9453           sequences will be replaced internally with the "old style"
9454           (pre-QNX 4.23) sequences in case of QNX/qansi terminals. Using
9455           these optional command sequences the terminal remains compatible
9456           with the original SLang code (without using the workaround-code
9457           enabled by defining SLTT_TRANSP_ACS_PATCH).
9459           Remark:
9461           Currently SLTT_TRANSP_ACS_PATCH is not auto-configured by
9462           'configure'. (Must be manually defined...)
9464           There is some (QNX-specific) auto-configuration hand-coded in the
9465           source:
9467             #ifdef SLTT_TRANSP_ACS_PATCH
9468             # if defined(__QNX__) && defined(QNX_QANSI_SLANG_COMPAT_ACS)
9469             #  undef SLTT_TRANSP_ACS_PATCH
9470             # endif
9471             #else
9472             # if defined(__QNX__) && !defined(QNX_QANSI_SLANG_COMPAT_ACS)
9473             #  define QNX_QANSI_SLANG_COMPAT_ACS 1
9474             # endif
9475             #endif
9477         * slang/slutty.c: "newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);"
9478         ECHO(0x08) is a c_lflag bit, it means PARMRK(0x08) in c_iflag. (!?!)
9480         * src/file.c: 'do_reget' can be extern if (USE_VFS && USE_NETCODE),
9481         not if (USE_VFS).
9483         * src/find.c (search_content()): Variable 'i' "must be" 'int', not
9484         'char'. ["i == -1": (buggy?) WCC 10.6 doesn't convert automatically
9485         (int)(-1) to (char)(-1) (GCC does), so "comparison result always 0"
9486         warning produced. It is cleaner to define 'i' as 'int', than cast
9487         '-1' to 'char', because 'read()' returns 'int'.]
9489         * src/key.c (init_key()): Call load_xtra_key_defines() and clear
9490         'use_8th_bit_as_meta' by default under QNX, if a 'qnx*' terminal
9491         detected. (A saved config file (mc.ini) can override it later...)
9493         * src/key.h: Declare load_xtra_key_defines().
9495         * src/keyxdef.c: Provides a method to define some platform-specific
9496         additional key mappings. (e.g. QNX terminals can handle most of
9497         META-? combinations as ALT-?...) ('keyxdef.c' currently not listed
9498         in doc/FILES...)
9500         * src/layout.c: TIOCGWINSZ must be available (so <sys/ioctl.h> (?)
9501         included), because window-resizing code doesn't work, if not defined.
9503         * src/main.c: 'print_usage()' is reserved name in the QNX run-time
9504         library, so 'print_usage()' renamed to 'print_mc_usage()'
9506         * src/mouse.c (QNX): ncurses 1.9.8a ported to QNX doesn't provide the
9507         'SP' pointer as a global symbol in the library, so the keyok()
9508         emulation currently can not be used under QNX (4.24 & Watcom C 10.6
9509         release version).
9511         * src/slint.c (QNX): 'qansi*' terminals added to the color_terminals[]
9512         list.
9514         * src/subshell.c, src/utilunix.c (QNX): include <unix.h> to get
9515         prototype for exec*()!!! [See README.QNX/Section 1.4 about the
9516         dangerous "No prototype for <function>" warnings emitted by Watcom C,
9517         if <function> is a 'printf()'-style function having variable number
9518         of arguments and you compile your source with the default register
9519         calling convention!!!]
9521         * Makefile.in: 'keyxdef' module added to SRCS and OBJS.
9523         * <mc-root>/README.QNX: QNX-specific notes.
9525         * <mc-root>/configure (line 3369), <mc-root>/configure.in (line 88):
9526         'test x$CCOPTS = x;' modified to 'test "x$CCOPTS" = x;'
9528         * <mc-root>/Makefile.in: README.QNX added to DISTMAIN.
9530 Thu May 21 00:09:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
9532         * menu.c (menubar_event): Don't set menubar->selected to the
9533         invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt
9535         * menu.c (menubar_drop_compute): removed the check for inrange
9536         items which isn't necessary any longer.
9538 Wed May 20 16:27:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
9540         * widget.c (history_put): input line history was defunct because
9541         there was an #ifndef where an #ifdef should be.
9542         Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
9543         history code is included even when this define is undefined.
9545 1998-05-19  Tamasi Gyorgy  <gt_cosy@usa.net>
9547         * src/*: Until I get a better ChangeLog:  Tamasi's port of the
9548         code to QNX.
9550 1998-05-19  Alexander Lukyanov  <lav@yars.free.net>
9552         * Makefile.in: Distribution fix so that people are not forced to
9553         install gettext.
9555 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9557         * ext.c: Memory leak fixed.
9559 Mon May 18 22:24:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
9560         * lib/mc.ini.in: s/reges/regex/
9562         * main.c (process_args): return void, the return value was only
9563         used once but wrong (-h displayed help twice).
9564         (handle_args): -h: don't display help twice
9565         (print_usage): Don't print program name and version, that's
9566         already done by version(0).
9568         * menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
9569         terminals (hotkeys were not displayed at all).
9571 1998-05-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9573         * menu.c (menubar_drop_compute): Check for inrange items.
9575 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9577         * color.c (init_colors): Provide X-only version of color
9578         initialization.
9580 Thu May 14 01:56:11 1998  Norbert Warmuth  <k3190@fh-sw.de>
9582         * configure.in: Don't add -lintl to LIBS when included gettext is
9583         used (further checks for libraries would fail because libintl.a
9584         isn't build, yet). Instead use and substitute LINTL.
9586         * Makefile.in (OURLIBS): add @LINTL@
9588 Tue May 12 17:45:49 1998  <psheer@obsidian.co.za>
9590         * syntax.c: yet more minor modifications.
9592 1998-05-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9594         * main.c: New default: auto-save setup.
9596         * screen.c (move_right, move_left): Add support for icon-view movement.
9598 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9600         * setup.c (panel_load_setup): On non-icon editions, fall back to
9601         list_full
9603 Sun May 10 13:27:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
9605         * widget.c (handle_char): Don't try to to delete default text in
9606         input widget more than once. Right after MC's start copy_filename
9607         (ESC Enter) failed because a flag wasn't cleared while characters
9608         were stuffed into the command line (Andrej reported this bug).
9610         * main.c (copy_readlink): usr mc_readlink instead of readlink
9612         * file.c: Changed default for the copy/move option "dive into
9613         subdir if exists" to off (note: this was only possible after the
9614         change in setup.c).
9616         (copy_dir_dir): Activated the previously uncommented code which
9617         implements "Dive into subdirs". Even when there's no case where we
9618         actually would like that behavior it is a documented feature.
9619         Though I didn't want to change the default behavior. Hence the
9620         option change.
9622         (file_mask_defaults): set dive_into_subdirs
9624         (file_mask_dialog): Fix for debian Bug #20727: Move operation with
9625         "[ ] Dive into subdir if exists" and destination filename not
9626         wildcarded. If destination is an existing directory then files
9627         will be moved into this directory. If destination is not an
9628         existing directory then src file will be renamed (one file
9629         selected) or an error will be displayed (more than one file
9630         selected).
9632         (file_mask_dialog): made the option "Using shell patterns" local
9633         to the current copy/move operation, i.e. this option is always
9634         initialized with the global option's value. Previously it affected
9635         the global Options/Configuration/shell Patterns.
9636         Another possibility would be to make the global option a default
9637         option on startup and keep changes in the copy/move dialog
9638         (without saving these changes with save setup).
9640         * setup.c: Don't save and load options which can be changed
9641         outside the options menu. For example I don't like that
9642         preserve_uid_gid and dive_into_subdirs from the copy/move dialog
9643         are saved and restored (strange, what about the other options from
9644         this dialog?).
9645         It would be much cleaner to make these option read-only. This way
9646         one could edit ~/.mc/ini to provide default option setting on
9647         startup and "Save setup" wouldn't have side effects outside the
9648         option's menu.
9650 Sun May 10 13:24:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
9652         * doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
9653         for dive into subdirs.
9655 Sun May 10 13:21:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
9657         * edit/syntax.c: Disable debug messages on stderr.
9659         * edit/edit.h: Added missing _()
9661 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9663         * layout.c (flag_winch): Propagate the window change to the slave
9664         pty even when not running our event loop.  The resize_subshell
9665         routine is thread safe.
9667         * dlg.c (update_cursor, dlg_broadcast_msg_to): Do not send
9668         messages if no widgets are on the Dlg_head, this happens now with
9669         the gmc code, as we can have all of the windows shut down.
9671 Wed May  6 13:46:37 1998 Paul Sheer  <psheer@obsidian.co.za>
9673         * syntax.c: more bug fixes.
9675 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9677         * view.c (view_quit_cmd): Use dlg_stop.
9679         * main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
9680         key press events.  Drop the usage of mi_getch to accomplish this
9681         task.
9682         (midnight_callback): Deal with the current map depending on the
9683         c-x state.
9685 Mon May  4 10:21:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
9687         * background.c (message_1s1d): the unprocessed string with %d was
9688         passed to message_1s; fixed small memory leak
9690         * widget.c (button_callback): WIDGET_CURSOR: make cursor position
9691         dependent on button type (fixes the off by one bug in advanced
9692         changeown).
9694         * file.c (copy_file_file): Schedule deletion of short target file
9695         only when we created or truncated the target file and not already
9696         when we decided to overwrite an existing file.
9698 1998-05-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9700         * boxes.c (task_cb): Use kill, not INT, as we are catching INT in
9701         the program.
9703 Sat May  2 14:07:05 1998 Paul Sheer  <psheer@obsidian.co.za>
9705         * setup.c: ALT('H') now shows a directory history - that
9706         ESC SHIFT-h   or   ALT-SHIFT-h
9708 Fri May  1 17:45:58 1998 Paul Sheer  <psheer@obsidian.co.za>
9710         * syntax.c: initial support for LaTeX 2.09 files added,
9712         * syntax.c: some minor bug fixes. and reorganization
9713         of context and keyword priorities.
9715 Fri May  1 11:24:21 1998  Paul Sheer  <psheer@obsidian.co.za>
9717         * syntax.c: syntax highlighting segfaults when editing a binary
9718         file - now fixed.
9720 Thu Apr 30 12:23:50 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9722         * src/file.c: lot of i18n of file Copy/Move/Delete operations. Maintainers
9723         of message catalogs please notice introduced op_names1 and formats for
9724         file operations.
9726         * src/boxes.c: i18n of background jobs control and quick cd
9727         dialog boxes.
9729         * src/menu.c (menubar_arrange): resizing of menubar upon changes of
9730         window size is now controlled by preprocessor symbol RESIZABLE_MENUBAR
9731         (now it's off by default, as requested in mailing list). If it is off,
9732         menubar items are separated with fixed number of spaces (3).
9734         * src/layout.c, edit/editwidget.c: calls to menubar_arrange ifdef'ed
9737 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9739         * main.c (parse_an_arg): GNOME edition keeps track of various
9740         --geometry and various directories passed.
9742 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9744         * main.c (update_panels): Great API simplification.  update_panels
9745         only cares about the contents of the current panel, every other
9746         panel keeps the current selection (this was the behavior
9747         anyways).
9749         update_panels can be provided in a per-port fashion as well.
9751 Wed Apr 29 03:06:09 1998  Paul Sheer  <psheer@obsidian.co.za>
9753         * syntax.c: some optimizations, as well as support for
9754         syntax highlighting of Makefiles and ChangeLog files.
9755         Fixed some syntax highlighting bugs. All C and C++
9756         keywords added.
9758 Tue Apr 28 06:11:08 1998  Norbert Warmuth  <k3190@fh-sw.de>
9760         * view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
9761         of bottom_first (we mustn't use an already calculated and cached
9762         value because it is invalid for the new mode and the End key would
9763         not move to the end of the file).
9765         * configure.in: Renamed the option `--with-our-slang' to
9766         `--with-included-slang' (this one looks better because we also
9767         have an `--with-included-gettext').
9768         Make the option `--with-ext2undel' recognize a given path.
9770         * cmd.c (view_file_at_line): In plain view (F13) set the default
9771         magic flag to zero in order to view the file content unprocessed
9772         (esp. don't uncompress files if they are compressed). The
9773         view_simple_cmd got broken when the default magic flag in view.c
9774         was changed from 0 to 1.
9776         * view.c (do_view_init, goto_line): Set wrap mode temporary off
9777         to make goto line number work, i.e. `line number' now always means
9778         line number in file and not line number on screen (in wrap mode
9779         one long line wrapped once is displayed in two lines on the screen).
9780         That's important when the viewer is invoked from the find file
9781         dialog to display even in wrap mode approximately the part of the
9782         file where we found the content we searched for.
9784         (move_forward2): In wrap mode lines were sometimes counted wrong
9785         causing cursor up to move more than one line.
9787         (move_backward2): Fixed the movement in wrap mode.
9789         (change_viewer): Always re-init viewer when we have a filename,
9790         i. e. if the viewer is invoked with simple_view_cmd then we can switch
9791         with the F8 key between unprocessed file content and uncompressed
9792         file content.
9793         (view_init): re-init view also when magic flag was altered
9795 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9797         * screen.c (is_a_panel): Added a routine to determine if a widget
9798         is a panel.
9800 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9802         * screen.c (file_entry_color): Check if fe->fname has something.
9804 Sun Apr 26 00:21:12 1998  Norbert Warmuth  <k3190@fh-sw.de>
9806         * slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
9807         to make it link against SLang >=1.0.
9808         I reviewed the diffs to the part of SLang we use and there are no
9809         further changes to MC necessary (one function's return value
9810         changed it's meaning but we don't use this return value).
9812         * configure.in: Undone the change which prevented linkage against
9813         SLang >=1.0
9815 Sat Apr 25 13:41:43 1998  Paul Sheer  <psheer@obsidian.co.za>
9817         * edit.h, syntax.h: some optimizations to improve syntax
9818         highlighting speed.
9820 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9822         * color.h: Move the CTYPE definition
9824 Fri Apr 24 16:43:25 1998  Paul Sheer  <psheer@obsidian.co.za>
9826         * main.h, setup.c: editor_syntax_highlighting option added
9827         for ini file.
9829 Fri Apr 24 14:54:06 1998  Paul Sheer  <psheer@obsidian.co.za>
9831         * syntax.c: added. this files reads ~/.cedit/mcsyntax and
9832         processes generic rules for syntax highlighting of different
9833         file types. Syntax highlighting does not store an attribute byte
9834         for each byte of the edit buffer. Rather, it calculates colors
9835         on the fly, with an optimized algorithm, as the text is being
9836         rendered.
9838         * edit.c, edit.h, editwidget.c, editdraw.c: changes to facilitate
9839         syntax highlighting.
9841         * editoptions.c: dialog box updated with a syntax highlighting
9842         checkbox.
9844         * slint.c: new function alloc_color_pair(). This allocates a new
9845         color index. init_pair() itself now records the last color index
9846         so that colors can be added on to the end of the color list
9847         with alloc_color_pair().
9849         * slint.c: new function try_alloc_color_pair() returns a new index
9850         for a color with named fg and bg. Checks if that named color
9851         already exists before setting a new index.
9853 1998-04-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9855         * user.c (execute_menu_command): Create temporary file exclusively
9856         as well.
9858         * main.c (do_execute), utilunix.c (my_system), gutil.c, ext.c:
9859         Changed the way we execute programs.  Now a new set of flags exist
9860         that indicates how the execution is done.  In ports that execute
9861         by sending the process to background, when executing temporary
9862         files, we have to remove the files after the child process has
9863         finished executing the code not after the calling do_execute.
9865         * ext.c (exec_extension): Create temporary file exclusively.
9867 Mon Apr 20 01:32:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
9869         * configure.in: Don't try to link MC against SLang >= 1.0. I will
9870         remove this restriction when I'm sure that it's save to use the new
9871         version (the documentation to SLang mentions some changes of
9872         return values).
9874 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9876         * file.h: Added prototype for copy_dir_dir.
9878         * file.c (real_do_file_error): use the proper flags, this is not a
9879         D_INSERT dialog box, for what it is worth.  Important bug fix.
9881         * utilunix.c (get_owner): Declare.
9883         * widget.h: Added various missing prototypes for the X edition.
9884         * view.h: Added various missing prototypes for the X edition.
9885         * widget.c (x_radio_toggle): New per-port variable: PORT_HAS_RADIO_TOGGLE
9887 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9889         * screen.c (GT): Assign two spaces for the minimum size of the
9890         "type" field for the GNOME edition.  This gives some extra space
9891         for the icon that gets displayed.
9893         * dlg.c (remove_widget): New function:  used to remove a widget
9894         from an existing Dlg_head;
9895         (destroy_widget): Destroy a specific Widget.
9896         (add_widgetl): Extended to deal with the fact that a running
9897         Dlg_head can become empty.
9899         * panelize.c (l_call): Update the input line every time the user
9900         selects the entry with the mouse (pretty common in the gnome
9901         edition).
9903         * hotlist.c (add_new_group_input): Removed an extra field that was
9904         causing problems.
9906         * find.c (find_parameters): Tree button is gone for gnome until we
9907         get the tree function working on gnome.
9909         * cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
9910         dialog box to inform the user about the saved setup.
9912 1998-04-15  Pavel Machek  <pavel@elf.ucw.cz>
9914         * cmd.c: Report failed chdir attempts.
9916 Wed Apr 15 10:48:41 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9918         * src/hotlist.c: changes to hotlist boxes i18n.
9920         * src/panelize.c: changes to panelize boxes i18n.
9922         * src/wtools.c (query_dialog): Take care about possible '&' in
9923         button names while calculating window sizes and button positions.
9925 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9927         * screen.c (string_file_nlinks): The buffer was too small and we
9928         were overwriting parts of it.
9930         * subshell.c (do_subshell_chdir): Memory leak fix.
9932         * find.c (do_search): Do not use undefined order of evaluation.
9934         * user.c: Do not use undefined order of evaluation.
9936         * dlg.c (init_dlg): Do init the default return value.
9938 Sun Apr 12 03:09:17 1998  Norbert Warmuth  <k3190@fh-sw.de>
9940         * cmd.c (view_other_cmd): #ifdef'd application_keypad_mode and
9941         numeric_keypad_mode (don't include it in non text editions)
9943 Sun Apr 12 02:48:26 1998  Norbert Warmuth  <k3190@fh-sw.de>
9945         * xv/xvscreen.c: removed duplicate (conflicting) definition
9946         of do_enter()
9948 Sun Apr 12 02:24:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
9950         * text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
9951         the keypad mode when we don't use the alternate plus minus. Pavel
9952         forgot an if-clause when he replaced the escape sequences (or
9953         another point of view: I forgot one if-clause at different place).
9955 Fri Apr 10 17:35:23 1998  Philippe De Muyter  <phdm@macqel.be>
9957         * configure.in (AC_NCURSES): When checking for library location,
9958         put -L option before -l option, not after.
9960 Fri Apr 10 10:35:06 1998  Norbert Warmuth  <k3190@fh-sw.de>
9962         * file.c (file_mask_dialog): When the shell patterns option was
9963         off source_mask was freed twice.
9965 1998-04-10  Marc Ewing  <marc@redhat.com>
9967         * panel.h: added up_b
9969 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9971         * widget.c (update_input): Set the used flag early in update_input
9972         to allow X widget to catch the right value
9974         * screen.c (do_enter): Return the status for the operation.
9976         * main.c (main): Sigh.  This was hard. I added support for argp.
9977         Right now we support both argp for the GNOME edition and popt for
9978         the other editions.  I will remove popt support in the future and
9979         only keep argp.
9981         * dlg.c (add_widgetl): Adding widgets to an already running dialog
9982         had some flaws.  Fix this.
9984 Wed Apr  8 11:15:29 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9986         * src/find.c: changes to find_parameters/find_file i18n.
9988         * src/widget.c: new function introduced, button_scan_hotkey();
9989         button_new() and button_set_text() fixed to use mentioned function.
9991         * src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
9992         ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
9993         call to isalpha() in the way proposed by Norbert).
9995         * src/boxes.c: changes to display box i18n
9997         * src/learn.c: changes to learn key dialog i18n
9999 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10001         * main.c (update_one_panel_widget): New routine: Updates a panel
10002         based on the widget, not the index.  Used by the GUI versions.
10004         * find.c (find_file): Cancel idle tasks before we destroy the find
10005         dialog.
10007         * dlg.c (destroy_dlg): Call x_destroy_dlg_start, a new hook that
10008         is invoked to allow the frontend code to prepare for dialog
10009         destruction.  Only the Gnome edition is using this: it uses this
10010         to hide the dialog and avoid flickering.
10012         * main.c: dtterm also has mouse support.
10014 1998-04-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10016         * wtools.c (quick_callback): Process DLG_KEY events on X.
10018         * utilunix.c (max_open_files): new routine;  Used to figure out
10019         the number of available file descriptors.
10021 Sat Apr  4 00:16:49 1998 Alex Tkachenko  <alex@bcs.zp.ua>
10023         * src/layout.c: changes to layout dialog box i18n
10025         * src/option.c: changes to configure box i18n
10027         * src/cmd.c: added N_() macro for machine_str
10029         * src/wtools.c (real_input_dialog_help): ok/cancel buttons are places
10030         symmetrically spaced relatively to center of the box. It produces
10031         nicer appearance with i18n (IMO :)
10033         * src/boxes.c (confirm_box): i18n stuff added.
10035 Mon Apr  6 07:48:22 1998  Pavel Roskin  <pavel_roskin@geocities.com>
10037         * Makefile.in: "make dist" works with bash 1.x again
10039 Fri Apr  3 05:23:20 1998 Alex Tkachenko  <alex@bcs.zp.ua>
10041         * configure.in: ALL_LINGUAS test added, to allow specify list
10042         of languages to be installed by setting env variable before
10043         configure. If it is empty, it defaults to full list.
10045         * src/menu.h menu_entry.{hot_pos, is_dupped} dropped
10047         * src/menu.c: consistency fixes: pull-down menu items are now
10048         accessible either with arrow keys or with hotkeys, denoted with &
10049         (and highlighted). (key combinations, placed to the right of items
10050         intended to be used from outside the menus). Freeing menu entries
10051         removed as it no longer needed
10053         * src/main.c, edit/editmenu.c: menubar init code is changed to conform
10054         above fixes.
10056         * edit/edit.h: use of "Cancel" in error_dialogs replaced with
10057         "Dismiss", to avoid collisions in translation of "Cancel" in other
10058         places with this case.
10060         * src/boxes.c: select_format() and it's support removed, as it is
10061         obsoleted by input line history feature. display_init()/display_callback
10062         fixed to suite i18n changes. sort_box() - alike.
10064         * src/option.c: pause_options added &'s and gettext calls to expand
10065         statically assigned values.
10067         * src/widget.c: (radio_callback) hotkey recognition is changed to
10068         &-notation, rather than simple uppercase.
10070         * src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
10071         call to isalpha(), this fixes erroneous exit from input line, when
10072         button hotkey is 8-bit NLS char.
10074 Fri Apr  3 12:23:28 1998  Norbert Warmuth  <k3190@fh-sw.de>
10076         * TODO: Removed obsolete entries: Similar entries in tree view
10077         are displayed correct; user specific files has been moved
10078         to ~/.mc/
10079         Added: Check what to do with menubar_arrange/destroy_menu stubs
10080         in tk/tkmenu.c; the internal editor (not ported yet) adds entries
10081         to the wrong menubar
10083 Wed Apr  1 00:15:30 1998  Norbert Warmuth  <k3190@fh-sw.de>
10085         * key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
10086         functions which encapsulate two hardcoded escape sequences from main.c.
10088         * main.c (main): Use the two new functions from key.c
10090         * main.c, screen.c: Moved all file selection keys from the default
10091         keymap to the keymap for panels in listing mode.
10092         Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
10093         (functions in panel_keymap get a WPanel * as first parameter,
10094         i.e. the indirection with cpanel isn't necessary).
10096         * main.c (midnight_callback): Keys '*' and '-' were not treated
10097         when only_leading_plus_minus==0;
10098         Optimized the if-clauses a little bit (i.e. removed duplicate
10099         checks). More optimization is possible but it would make the whole
10100         stuff completely unreadable.
10102         * key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
10103         will be translated to +, - and * only if the option
10104         alternate_plus_minus is turned off.
10106         * learn.c (learn_keys): Turn alternate_plus_minus temporarily on
10107         to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
10108         correct_key_code/make sure keypad is in application mode (makes it
10109         possible to learn this keys).
10111         * cmd.c (reverse_selection_cmd_panel): New function (renamed from
10112         reverse_selection_cmd, takes a WPanel * as parameter, references to
10113         cpanel changed to panel/the passed parameter).
10114         reverse_selection_cmd now simply calls this function with cpanel.
10115         This pair was missing among the *_selection_cmd* functions.
10117         * cmd.h: Added function prototypes.
10119 1998-03-31  Paul Sheer  <psheer@obsidian.co.za>
10121         * cmd.c (nice_cd): Forgot to invoke the history registration in
10122         one spot.
10124 1998-03-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10126         * menu.c (destroy_menu): Implement destroy_menu for all of the
10127         ports as a routine that frees the menu entries if
10128         internationalization has been enabled.
10130         * wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
10132 Sun Mar 29 23:02:09 1998 Alex Tkachenko  <alex@bcs.zp.ua>
10134         * src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
10135         internationalized version of menu use externally defined hotkeys
10136         (denoted with preceding &). create_menu() fixed to load intl text of
10137         the entries. Some fixes around menu.c to enable usage of reloaded
10138         hotkeys.
10140         * main.c, editmenu.c: menu initialization code fixed to conform new
10141         menu structure. editmenu init code includes N_(..) now.
10143         * menu.c, layout.c, editwidget.c: bar menu items displacement is made
10144         dynamically upon initialization and window size changes. Mouse event
10145         processing is fixed accordingly.
10147 Sat Mar 28 13:18:36 1998 Alex Tkachenko  <alex@bcs.zp.ua>
10149         * src/screen.c: (repaint_file) last patches to format_file() in the
10150         same file broke appearance of panels in brief mode -- fixed.
10152 Mon Mar 30 20:02:49 1998  Paul Sheer  <psheer@obsidian.co.za>
10154         * main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
10155         main.h and others?: Directory history added. The previous
10156         directory history code was removed. The directory history now
10157         loads and saves using the same routines as the input widget. The
10158         keys meta-y, and meta-u are used to go backward and forward
10159         through the history. The buttons to the right and left of the
10160         current directory display on the panel can be used as well. The
10161         v button brings up a history, but no key is assigned to this.
10162         Discussion as to correct color and shape of these buttons is
10163         open. show_hist() in widget.c is made generic to be called for
10164         any widget. Help pages still needed to be added for the
10165         directory history.
10167 Wed Mar 25 19:05:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
10169         * view.c (view_done): Set monitor off before deleting the view
10170         file dialog.
10172         * subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
10173         tcsh. It prevents command and filename substitution (e.g. for
10174         a directory named "[word] words")
10176 Mon Mar 23 18:06:10 1998  Norbert Warmuth  <k3190@fh-sw.de>
10178         * main.c: Deleted some old and unused code
10180 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10182         * All over the src/ directory: Internationalization changes.
10184         * background.c: Avoid buffer over-runs and reduce number of
10185         internationalization strings.
10187 Mon Mar 23 14:04:07 1998  Philippe De Muyter  <phdm@macqel.be>
10189         * configure.in (nlink_t): Check it using AC_CHECK_TYPE.
10190         * acconfig.h (nlink_t): New define slot.
10192 Mon Mar 23 08:17:55 1998  Pavel Roskin  <pavel_roskin@geocities.com>
10194         * src/main.c: mcedit can be named mce or mcedit.exe - only
10195         3 first letters are significant. The same for mcview.
10196         Console is always saved in do_execute() if it was saved there.
10198         * src/util.h: STRNOMP introduced (strncmp on unix and strnicmp
10199         on OS2_NT)
10201         * slang/slgetkey.c: SLang_getkey() and SLang_input_pending()
10202         enabled for OS2_NT
10204         * myslang.h: using fast one_vline() and one_hline() for OS2_NT
10206 Mon Mar 23 00:47:51 1998  Norbert Warmuth  <k3190@fh-sw.de>
10208         * autogen.sh: added support for builddir != srcdir
10210         * doc/Makefile.in: The manual pages are generated files and
10211         located in the builddir and not in the srcdir.
10213         * find.c (find_file): Use the same hotkey for the panelize button
10214         as we use with the external panelize command.
10216 Fri Mar 20 17:51:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
10218         * myslang.h: --with-ncurses didn't compile: renamed
10219         KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
10221         * dlg.c (dlg_key_event): likewise
10223 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10225         * screen.c: Remove KEY_DC forever.  This should have never been
10226         here.
10228 Wed Mar 18 22:08:34 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10230         * achown.c (do_enter_key): call endgrent, endpwent.
10232         * chown.c (init_chown): call endgrent, endpwent.
10234 Tue Mar 17 23:58:40 1998  Pavel Machek  <pavel@elf.ucw.cz>
10236         * src/file.c: Fix for the case where the disk gets full.
10238 Tue Mar 16 18:35:53 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
10240         * src/hotlist.c default values for dialogs which add entries to hotlist
10241         are now set to the current directory.
10243 Tue Mar 10 14:42:01 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
10245         * vfs/extfs.c, lib/mc.ext, vfs/extfs/extfs.ini, vfs/extfs/cpio.in
10246         Added support for cpio extfs including compressed and gzipped
10247         cpio archives. compress and gzip handled separately because I saw
10248         a lot of systems which have compress, but don't have gzip.
10250 Sat Feb 21 16:46:49 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
10252         * src/subshell.c: failed to grantpt on SVR4 due to zero-initialized
10253         subshell_pid. sigaction handler for SIGCHLD does waitpid(subshell_pid,
10254         ...) and when subshell_pid == 0 it steals the zombie from grantpt(3)
10255         which does fork/exec/waitpid for suid program to set the permissions on
10256         pty. It's enough to initialize it to 1 or -2.
10258 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
10260         * util.c (convert_pattern): Now the internal buffer is malloc()ed
10261         instead of being static.  This is required for long patterns.
10262         (regexp_match): Free the pattern after calling convert_pattern().
10264         * file.c (file_mask_dialog): Free the source_mask after calling
10265         convert_pattern().
10267 Mon Mar 16 13:03:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
10269         * cmd.c: Internal edit is used by default. vi may be
10270         confusing for some users.
10272         * tree.c: tree_rmdir_cmd() should not return any value,
10273         because it is not analyzed for errors.
10275         * main.c: NT code: use O_BINARY instead of _O_BINARY
10277         * util.c: DO not test for arguments that do not make sense under
10278         Windows NT.
10280         * file.c: utime.h always included for Windows NT port.
10282         * view.c: Events are flushed only if the ports supports it.
10284 Mon Mar 16 12:30:39 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
10286         * hotlist.c: Defaults on the hotlist add-current and new-entry is
10287         the current directory.
10289 Sat Mar 14 17:30:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10291         * file.c (panel_operate): Why was the flags in query_dialog set to
10292         D_INSERT is a big mystery.  Should be fixed now.
10294 Fri Mar 13 18:10:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10296         * dlg.c (dlg_stop): New routine used to finish dialog boxes.
10298         * cmd.c (set_panel_filter_to): Implementation split.  To be used
10299         by GNOME.
10301         * widget.c (input_new): GNOME-entry widget is inspired in the
10302         WInput + the history patches from Paul.  Use the GNOME-entry
10303         history, as this makes it easier to deal with the filter button on
10304         the panel.
10306         * setup.c (save_panel_types): Do not use if running on the gnome
10307         edition.   This need a lot of fixing for making this work with
10308         gnome and session management.
10310         * main.c (do_nc): DO not call setup_panels_and_run_mc as
10311         create_panels in gnome edition does all this.
10313         (setup_mc):  Skip part of the setup.
10315         (do_execute): Do not Execute any of the pause code after
10316         run for gnome.
10318 Wed Mar 12 17:46:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
10320         * screen.c (chdir_other_panel, chdir_to_readlink): Use passed
10321         panel instead of cpanel (removed mixed use of panel and cpanel).
10323         * main.c, screen.c: Deleted F13 from the default keymap, added F13
10324         and F14 to the panel's keymap (the keymap for panels in listing
10325         mode). These two keys are only useful for panels in listing mode.
10326         It seems there are even more candidates for such a move. Especially
10327         select_cmd and unselect_cmd which appeared recently for the GNOME
10328         edition in screen.c act unexpected for panels in tree-mode.
10330         * cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
10332         (edit_cmd_new): No need to get a panel because it is not used.
10334         * panelize.c: Changed hotkey of the Panelize button (Alt-p is
10335         already used by the input line history). I wonder if I should
10336         change it in the find dialog, too (just to have a unique hotkey
10337         for the panelize button).
10339 Wed Mar 11 19:02:48 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10341         * view.c: Lots of changes:  Split the X11 code from the main view
10342         program.  This is needed to cleanly support the addition of the
10343         Gnome version of the file viewer;
10345         New names for old functions (just a view_ prefix):
10346         view_add_character, view_add_string, view_gotoyx, view_set_color,
10347         view_display_clean.  Now all of them take a WView argument (which
10348         is ignored in the macro for the text edition).  This is to support
10349         multiple open views at once.
10351         * boxes.c (symlink_dialog): Enable ok/cancel buttons for the Gnome edition.
10353         * cmd.c (link_cmd, symlink_cmd): Provide the filename to operate
10354         on.
10356 Tue Mar 10 20:41:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10358         * cmd.c (unselect_cmd_panel, select_cmd_panel): To avoid races on
10359         the X11 version, these routines now take a panel argument at
10360         invocation time.
10362         * widget.c (radio_callback): Call x_radio_focus for FOCUS/UNFOCUS
10363         events.
10364         (button_callback): Fallback to default_msg on WIDGET_FOCUS
10365         messages.
10367 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
10369         * xslint.c (getch): Added missing "return".
10371         * utilunix.c (init_groups): Added parentheses around
10372         assignment/truth value.
10374         * boxes.c: #include <stdlib.h>
10376         * screen.c (string_inode): Cast fe->buf.st_ino to long to be
10377         consistent with sprintf format.
10379         * main.c (handle_args): Added parentheses around assignment/truth value.
10381 Sat Mar  7 14:33:38 1998  Pavel Roskin  <pavel_roskin@geocities.com>
10383         * src/complete.c: obsolete hack for OS/2 and NT removed.
10384         Completion works for NT now (not very good)
10386         * src/main.c: HOME variable is respected by NT and OS/2
10387         versions. If it is missing, we use LIBDIR on OS2_NT and "/"
10388         on Unix.
10390         * src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
10391         doesn't conflict with definitions for ALT and CTRL, but it is
10392         SDK-compatible.
10394         * vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
10395         2 arguments
10397         * vfs/tcputil.c, vfs/utilvfs.c: signal.h was includes twice.
10399         * vfs/Makefile.in: undelfs.h is not used and should disappear
10401         * slang/slos2tty.c: new file, copied from SLang-0.99.38,
10402         needed for OS/2 port
10404         * slang/Makefile.in: added slos2tty.c
10406         * vfs/extfs/README: annoying spell errors corrected
10408         * src/main.c: --termcap disabled for OS2_NT because it doesn't
10409         (and cannot) work. ARCH_FLAGS is not needed anymore.
10411         * src/text.c: most includes removed. Added a warning is someone
10412         compiles this file with HAVE_X. Improved color scheme for
10413         consoles with 16 background colors (e.g. OS/2). Hack for OS/2
10414         removed.
10416         * src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
10417         to util.h. It may be useful to use them for filenames' completion
10418         on OS2_NT
10420 Fri Mar  6 19:29:54 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10422         * find.c: Simplify header files: use the fs.h include file.
10424         (use x_flush_events).
10426         * screen.c (string_file_name): In GNOME, the CList widget does the
10427         filename truncation, so we do not do it here.
10429         (panel_new): Initialize all of the wpanel contents to zero.  This
10430         will is required by the GNOME X ports (to figure out if a field
10431         has been inited or not).
10433 Thu Mar  5 10:28:40 1998  Norbert Warmuth  <k3190@fh-sw.de>
10435         * popt.c (poptParseArgvString): make it compile with the native
10436         compiler on AIX 4.1.3
10438 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
10440         * cmd.c: Added #include "x.h"
10442 Wed Mar  4 14:49:55 1998  Norbert Warmuth  <k3190@fh-sw.de>
10444         * doc/mc.1.in, mc.hlp: updated (these files haven't been updated
10445         at the last change to mc.sgml)
10447         * doc/mc.sgml: spelling error corrected
10449         * Makefile.in: renamed all references of mc.1 to mc.1.in
10451         * find.c (locate_egrep): Don't use an absolute path if egrep isn't
10452         found at the usual places. Then execvp will search the directories
10453         passed in the environment PATH variable (a little bit slower but
10454         better than a defunct find content).
10456         * tree.c: removed the include file I mistakenly added with my
10457         last patch.
10459 Tue Mar  3 20:00:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10461         * file.c (get_file): Take a panel argument.  I am pretty sure that
10462         this is broken for the case where we are copying from a WTree.
10464         (panel_operate): take a panel argument instead of defaulting to
10465         cpanel.
10467 Mon Mar  2 15:54:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10469         * dlg.c (create_dlg): Set running to 0 on creation;
10470         (add_widgetl): do widget initialization if the dialog is already
10471         running when this dialog box is created.
10473 Mon Mar  2 12:11:37 1998  Norbert Warmuth  <k3190@fh-sw.de>
10475         * vfs/ftpfs.c (changetype): Removed the hack which always forced
10476         sending the command "TYPE I" when changing to binary transfer mode
10477         was requested even when MC thought the connection was already in
10478         binary mode (bucket->isbinary == 1). The correct fix is now in
10479         login_server.
10481         * vfs/ftpfs.c (login_server): Set the transfer mode stored in
10482         the bucket to UNKNOWN (the bucket might be reused and the old
10483         transfer mode isn't valid any longer).
10485         * screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
10486         which isn't delivered to widgets by the dialog manager; always
10487         return 1 when key was handled; removed the function keys from the
10488         panel's keymap (the function keys are always handled by the
10489         buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
10490         work even when quick search was started); characters between 32 and
10491         255 start quick search if there is no command line (no C-s necessary
10492         to start search).
10494         * tree.c (tree_key): likewise
10496 Tue Feb 24 18:37:36 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
10498         * subshell.c: Set subshell_pid to 1 on startup
10500 Fri Feb 13 19:59:39 1998  Alexander Savelyev  <fano@VCom.kiev.ua>
10502         * screen.c: KEY_DC is also handled by delete_cmd.
10504         * vfs/ftpfs.c (chdir): sending the CWD command is not necessary
10505         (imho).
10507         (ftpfs_connection_close): Do not use WAIT_REPLY, closes
10508         connections faster.
10510         (open_data_connection): implement the reget command.
10512         * boxes.c: bigger VFS dialog box.
10514         * file.c (init_replace): Add support for copying files only if the
10515         size differs, and support for regetting ftp files.
10517 Wed Feb 11 20:08:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
10519         * user.c (execute_menu_command): Extended the syntax of %-macros
10520         used in the user menu in order to switch quoting on (default) and
10521         off, e.g. %0f means don't quote the expanded macro, %f and %1f mean
10522         quote the expanded macro.
10525 Fri Jan 30 16:43:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10527         * dlg.c (create_dlg): Now we pass the flags parameter to the
10528         create_dialog routine.
10530         * tkmain.c (xtoolkit_create_dialog): Check for the grided value
10532 Fri Jan 23 07:28:54 1998  Peter Daum  <gator@cs.tu-berlin.de>
10534         * extfs.c (open_extfs_archive): Pass the filename to the list
10535         command.
10537         * extfs/mailfs: New file system for browsing mail files (support
10538         for compressed mail files as well).
10540 Fri Jan 23 07:19:18 1998  Pavel Roskin  <pavel_roskin@geocities.com>
10542         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
10543         system. Obsolete #ifdef's removed.
10545         * edit/editwidget.c: ansi standard violation removed
10547         * nt/Makefile.NT: default SLang directory is now ../slang. Most
10548         of SLang sources are no more compiled for MC.
10550         * nt/drive.h: new file. Copied from os2/drive.h with minor changes
10552         * nt/ket.nt.c: new way for handling conflicting SHIFT_PRESSED
10553         definitions. get_event can work without blocking. Copy, move
10554         and delete operations work normally.
10556         * nt/slint.nt.c: SLang_getkey2 and Slang_input_pending2 are
10557         copied from src/slint.c
10559         * nt/sys/param.h: annoying warnings temporarily suppressed.
10561         * slang/slvideo.c, slang/slw32tty.c: new files. They contain
10562         changes by Alexander Dong.
10564         * src/myslang.h: definitions for ASCII symbols removed, since
10565         they are available in slang.h. Double lines are not used anymore.
10567         * src/panelize.c: sys/wait.h is included only if HAVE_SYS_WAIT_H
10568         is defined
10570         * nt/Makefile.NT: text.c is added
10572         * nt/Makefile.VC4: "-debug" switch for linker is not used for
10573         release version
10575         * src/screen.c (show_dir): double lines are no more used by NT and
10576         OS/2 ports.
10578         * src/wtools.c (real_input_dialog_help): layout of input dialog for
10579         XView port is corrected
10581         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
10582         system. Obsolete #ifdef's removed.
10584         * edit/editwidget.c: ansi standard violation removed
10586 Wed Jan 21 14:01:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10588         * ext.c (regex_command): reverted the patch that changed tests for
10589         *p == ' ' || *p == '\t' to isspace().  isspace() is true for tabs,
10590         newlines, carriage-returns and vertical tabs as well.  Which is
10591         not what we want.
10593 Wed Jan 21 11:58:39 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
10595         * ftpfs.c (retrieve_dir): Avoid compiler warning by testing
10596         explicitly the value.
10598         screen.c (format_file): color not initialized when we met
10599         empty_line.
10601 Wed Jan 21 11:28:21 1998  Alex Tkachenko  <alex@bcs.zp.ua>
10603         * cmd.c, utilunix.c: cosmetic changes to reduce compiler warnings
10605         * utilunix.c (my_system): small fix for SCO zombies moved here;
10606         now it returns WEXITSTATUS(status) instead of status itself. While
10607         missing it may not hurt on i.e., linux, on SCO it gives incorrect
10608         value.
10610         * vfs/extfs.c system() calls replaced with my_system() call; this
10611         allows a greater degree of control - fixes SCO system() return value
10612         processing. Notice: plain replacement system() with WEXITSTATUS(system)
10613         does not produce correct behavior (don't ask me why).
10615         * panelize.c (do_external_panelize): similar fixes for pclose()
10616         return value on SCO.
10618         view.c (load_view_file): inverted value of viewer_magic_flag to
10619         put viewer decompression state in accordance with F8 label text.
10620         Also default_nroff_flag is initialized to be 1; thus enabling all
10621         filter processing by default easies mc usage for novice users.
10623 Sun Jan 18 13:47:37 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
10625         * main.c
10626         * panel.h, tkscreen.h : error when compile dlg.c
10627         * tkconf.h : paint_frame
10628         * screen.c : to include paint_frame
10629         * tkmain.c : I just copied clr_scr() from the text.c
10631 Fri Jan 16 16:19:59 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
10633         * screen.c (format_file): Do not invoke the file_compute_color
10634         routine for empty lines.
10636         * gmain.c: Color scheme for Gnome
10638         * gscreen.c: Color setup now allocated the GdkColor *.
10640         * color.c: Moved the default color setting to a per-port
10641         location (text.c for the text mode edition);  new color
10642         configuration: core;  Fixed the case where the color spec was
10643         buggy and we kept on a infinite loop;
10645 Fri Jan 16 13:47:13 1998  Pavel Roskin  <pavel_roskin@geocities.com>
10647         * nt/drive.nt.c, nt/chmod.nt.c: Updated button_new and check_new
10648         calls
10650 Fri Jan 16 12:47:39 1998  Norbert Warmuth  <k3190@fh-sw.de>
10652         * vfs/ftpfs.c (command): Don't log passwords when the dialog between
10653         server and client is logged to a file (mc -l logfile).
10655         * vfs/ftpfs.c (resolve_symlink, retrieve_dir): When a directory
10656         contains spaces send two commands ("CWD path" and  "LIST .") instead of
10657         one command ("LIST path") in order to get directory listings.