Update base version to 4.6.1.
[midnight-commander.git] / src / ChangeLog
blobd2b4653089577a016f9177f65fb378dde143977b
1 2005-07-24  Leonard den Ottolander <leonard den ottolander nl>
3         * wtools.h: #include "widget.h" and remove redundant declarations
4         of Dlg_head and WListbox;
6 2005-07-23  Roland Illig  <roland.illig@gmx.de>
8         * util.c (save_file_position): Only save the position if not
9         at the beginning of the file (1;0).
10         * view.c: When saving and loading the file position, use the
11         full pathname instead of the one passed as argument.
13 2005-07-22  Roland Illig  <roland.illig@gmx.de>
15         * charsets.c: Fixed wrong comparison of the result of iconv().
17 2005-07-22  Roland Illig  <roland.illig@gmx.de>
19         * utilunix.c: Replaced the use of getgrouplist() with
20         getgroups(), which is more appropriate and does not contain a
21         buffer overflow in most recent glibc versions (upto 2.3.2).
22         Simplified the code. Removed init_groups() and destroy_groups().
23         They are unnecessary.
24         * main.c: init_groups() and destroy_groups() have disappeared,
25         so don't call them.
27 2005-07-22  Roland Illig  <roland.illig@gmx.de>
29         * ext.c: Fixed a typo which has been noted by Arpad Biro.
30         * help.c: Fixed an invalid memory access, which has been noted
31         by Vitja Makarov. And fixed a bug that had been introduced by
32         me, when replacing Dlg_head * with void *.
33         * help.c: Fixed shadowing warnings from gcc.
35 2005-07-20  Roland Illig  <roland.illig@gmx.de>
37         * key.c: When the command line option -x is given, enable
38         additional key sequences that are typical for xterms.
39         * main.c: First parse command line arguments, then initialize
40         key sequences.
42 2005-07-20  Roland Illig  <roland.illig@gmx.de>
44         * util.c: Added gettext_ui(), which translates a string and
45         strips everything before the first '|' character. This function
46         is used to translate special elements of the user interface,
47         like ButtonBar labels.
48         * util.h: Likewise.
49         * view.c: Using the new gettext_ui() function.
51 2005-07-17  Roland Illig  <roland.illig@gmx.de>
53         * util.c: Added ascii_alpha_to_cntrl(), which converts 'x' to
54         ^X. Useful for entering control characters literally.
55         * util.h: Likewise.
56         * widget.c: Use that function after C-q.
58 2005-07-17  Roland Illig  <roland.illig@gmx.de>
60         * view.c: The viewer can remember the last file position and
61         restore it, like the editor. This fixes Savannah bug #13734.
62         * view.h: Likewise.
63         * setup.c: Likewise.
65 2005-07-14  Roland Illig  <roland.illig@gmx.de>
67         * util.c (get_compression_type): Use an enumeration instead of
68         an int for the return type.
69         * util.h: Likewise.
71 2005-07-13  Roland Illig  <roland.illig@gmx.de>
73         * view.c: Always call display() before close_error_pipe() to make
74         sure the screen looks nice.
75         http://mail.gnome.org/archives/mc-devel/2005-July/msg00194.html
77 2005-07-12  Roland Illig  <roland.illig@gmx.de>
79         * view.c: Added some paragraph comments. Changed some literal
80         expressions (e.g. 0 => '\0', 0 => NULL). Fixed indentation.
81         * view.c (view_hexedit_save_changes): Use the VFS file functions
82         instead of the native ones. This makes it possible to edit
83         remote files using the hex editor.
85 2005-07-11  Roland Illig  <roland.illig@gmx.de>
87         * view.c (view_update_bytes_per_line): Use a local variable to
88         do the computation. Update view->bytes_per_line only once, after
89         all computations have finished.
91 2005-07-09  Pavel Tsekov  <ptsekov@gmx.net>
93         * info.c (info_show_info): Properly calculate the length of the
94         line drawn by hline().
96 2005-07-07  Roland Illig  <roland.illig@gmx.de>
98         * view.c (view_ccache_find): Replaced the linear search with a
99         binary search. This speeds up the viewer by a factor of 25 for
100         large files (> 100 MB).
102 2005-07-07  Roland Illig  <roland.illig@gmx.de>
104         * dialog.h: Replaced object-like macros with implicit references
105         to an identifier ``h'' with function-like macros. Adjusted all
106         users.
107         * dialog.c: Likewise.
108         * find.c: Likewise.
109         * tree.c: Likewise.
110         * widget.c: Likewise.
111         * widget.c (widget_selectcolor): New function that selects a
112         color among DLG_{HOT_,}{FOCUS,NORMAL}C.
114 2005-07-07  Roland Illig  <roland.illig@gmx.de>
116         * view.c (view_compute_areas): Fixed a bug noted by Pavel
117         Tsekov. The coordinates are now relative to the Widget, as they
118         should be.
119         * view.c (view_status): Renamed to view_display_status().
120         * view.c: view_display_status() is called inside display().
121         * view.c (view_update_bytes_per_line): Fixed integer overflow
122         bug.
123         * view.c (view_compute_areas, view_percent, view_display_status,
124         view_display_ruler): Fixed screen overflow bugs.
125         * view.c (view_display_text): Fixed handling of tabulators.
127 2005-07-06  Roland Illig  <roland.illig@gmx.de>
129         * view.c: Changed some variables from int to screen_dimen.
130         Instead of relying on each of the view_display_* functions to
131         compute the correct coordinates they are managed using the new
132         function view_compute_areas(). In the view_display_* functions,
133         all calculations are done 0-based; before, the calculation had
134         involved the relative position of the area. Removed "static"
135         variables from view_status(). Simplified view_display_clean().
137 2005-07-06  Pavel Tsekov  <ptsekov@gmx.net>
139         * complete.c: Fix autocompletion for single possible path when
140         "complete show all" is set.
142 2005-07-05  Roland Illig  <roland.illig@gmx.de>
144         * achown.c: Changed all references to umode_t into mode_t.
145         * chmod.c: Likewise.
146         * file.c: Likewise.
147         * view.c (view_load): Don't try to use fcntl() with VFS file
148         handles. That cannot work.
149         * textconf.c: mc --version prints the size of commonly used data
150         types.
152 2005-07-03  Roland Illig  <roland.illig@gmx.de>
154         * textconf.c: mc --version prints the number of bits of off_t.
156 2005-07-01  Roland Illig  <roland.illig@gmx.de>
158         * view.c (view_fix_cursor_position): Fixed a division-by-zero
159         bug, which had been reported by Dirk Jagdmann and Pavel Tsekov.
160         Pavel also tracked down the bug.
162 2005-06-30  Roland Illig  <roland.illig@gmx.de>
164         * view.c (view_growbuf_load_until): Check the datasource in the
165         right place. (get_byte_growing_buffer): Removed an unnecessary
166         assertion. (view_file_load_data): Make sure the right datasource
167         is selected. (view_set_byte): This function is only expected to
168         be called when datasource == DS_FILE. Removed unused code.
169         * global.h: Don't use MC_ENABLE_DEBUGGING_CODE to decide whether
170         to enable or disable assertions. Just use the default value.
172 2005-06-28  Roland Illig  <roland.illig@gmx.de>
174         * view.c: Simplified error handling when loading files.
175         * view.c (normal_search): Replaced with normal_search_cmd().
176         (do_regexp_search): Removed unnecessary type cast.
177         (do_normal_search): Likewise.
178         * view.c (display): Changed return type to void.
179         * view.c (display): Splitted up into view_display_hex() and
180         view_display_text().
181         * ext.c (get_file_type_local): Redirect error messages from
182         file(1) to /dev/null.
184 2005-06-27  Roland Illig  <roland.illig@gmx.de>
186         * view.c: Massive speed-ups by reordering statements and declaring
187         functions as inline.
188         * view.c: Renamed view_quit to want_to_quit and changed its type
189         to gboolean.
190         * view.c: Eliminated the need for function pointer casts.
192 2005-06-22  Pavel Tsekov  <ptsekov@gmx.net>
194         * main.h: Export edit_one_file.
195         * main.c (setup_dummy_mc): Remove dummy dir_list and remove argument.
196         * main.c (mc_maybe_editor_or_viewer): Fix a double free and restructure
197         according to fixes to setup_dummy_mc().
198         * dir.c (expand_format): Use edit_widget->filename as fname when
199         invoked as mcedit.
201 2005-06-21  Pavel Roskin  <proski@gnu.org>
203         * view.c (view_percent): Remove unused variable.
205 2005-06-14  Roland Illig  <roland.illig@gmx.de>
207         * achown.c (advanced_chown_callback): Swapped the arguments of a
208         recursive function call -- the types didn't match.
209         * widget.h (buttonbar_clear_label): Added.
210         * widget.c: Likewise.
211         * help.c: Use buttonbar_clear_label().
212         * tree.c: Likewise.
213         * widget.c: Added code to handle multiple types of functions for
214         commands.
215         * widget.h: Likewise.
216         * widget.h (struct WButtonBar): Moved into widget.c.
217         * widget.c (struct WButtonBar): Moved from widget.h.
218         * boxes.c: Don't dereference WButtonBar.
219         * help.c: Likewise.
220         * layout.c: Likewise.
221         * view.c: Likewise.
222         * view.c: Fixed an integer wraparound bug.
223         * view.c (view_get_filesize_with_exact): Removed. The replacement
224         function is view_may_still_grow(), which does not overlap with
225         view_get_filesize().
227 2005-06-08  Roland Illig  <roland.illig@gmx.de>
229         * util.h (free_after): Moved to vfs/smbfs.c, as this is the only
230         place where it is used. This is necessary because the SunPro
231         compiler creates external references even for functions that are
232         only referred to in unused inline functions.
234 2005-06-07  Leonard den Ottolander  <leonard den ottolander nl>
236         * main.c (midnight_callback): Also match tabs as empty command.
238 2005-06-07  Jindrich Novy  <jnovy@redhat.com>
240         * command.c (command_callback): Fixed gcc warning about
241         incompatible pointer types.
243 2005-06-07  Pavel Tsekov  <ptsekov@gmx.net>
245         * subshell.c (exit_subshell): Do not blindly perform cleanup.
247 2005-06-07  Roland Illig  <roland.illig@gmx.de>
249         * view.c (view_ccache_lookup): Replaced the min_nroff_column
250         variable with a state chart, which makes the code clearer and
251         fixes a bug in translating line/column pairs into offsets.
252         * view.c (view_move_up): In text wrap mode, don't display parts
253         of lines that only consist of the (invisible) newline character.
254         * view.c (view_move_down): Likewise.
256 2005-05-31  David Martin  <dmartina@excite.com>
258         * info.c: Localize label.
260 2005-05-29  Leonard den Ottolander  <leonard * den ottolander nl>
262         * boxes.c: Added checkbox to VFS dialog to allow passive FTP
263         over a proxy.
265 2005-05-29  Jindrich Novy  <jnovy@redhat.com>
267         * main.c (midnight_callback): Fix blocking of panel cd-ing when
268         there are only spaces on the command line.
270 2005-05-26  Roland Illig  <roland.illig@gmx.de>
272         * view.c: Completely rewrote the cursor movement code. Now all
273         cursor movement functions are based on two functions that
274         translate file offsets into line/column pairs and vice versa.
275         This change made it possible that the line/column is displayed
276         in the status line. The beginning-of-line and end-of-line
277         functions now work in text mode, too. Switching from non-wrap to
278         wrap mode does not cause the whole file to be loaded.
280 2005-05-24  Roland Illig  <roland.illig@gmx.de>
282         * widget.c: Fixed all but one casts on function pointers.
283         * widget.h: Fixed prototype of input_callback().
285 2005-05-23  Roland Illig  <roland.illig@gmx.de>
287         * help.c: Fixed the use of check_movement_keys(). This had been
288         really ugly code, involving casts on incompatible functions.
289         * command.c: Removed casts on function pointer types.
290         * util.h: Added const-preserving version of strstr().
291         * util.c: Likewise.
292         * find.c: Removed a function cast by using the wrapper function
293         cstrstr().
294         * filegui.c: Removed unnecessary function casts.
295         * fileopctx.c: Likewise.
296         * help.c: Removed function casts.
297         * info.c: Removed function casts.
298         * main.h: Changed the type of quiet_quit_cmd() from int to void.
299         * main.c: Likewise. Removed function cast.
300         * menu.c: Removed function casts.
301         * screen.c: Removed function casts.
302         * tree.c: Removed function casts and provided wrappers where
303         necessary.
305 2005-05-22  Pavel Roskin  <proski@gnu.org>
307         * view.c: Better fix for the gcc 4.0.0 warnings.  Fix callees
308         rather than callers.
310 2005-05-21  Roland Illig  <roland.illig@gmx.de>
312         * view.c: Made the F2 key action much simpler---now it just
313         toggles between hexview and hexedit mode. Switching between text
314         and hex mode can be done with <tab>, as before.
315         * view.c: Renamed dpy_text_start to dpy_topleft, as it does not
316         only apply to text mode. Renamed dpy_text_start_col to
317         dpy_text_column. Renamed edit_cursor to hex_cursor, as it is
318         used in hexview mode, too.
319         * view.c (view_labels): Simplified the code that decides whether
320         the user can switch to hexedit mode.
321         * win.h: Removed a const qualifier from the type movefn, as these
322         functions typically modify their object.
323         * win.c: Likewise.
325 2005-05-20  Pavel Roskin  <proski@gnu.org>
327         * find.c: Fix warnings reported by gcc 4.0.0.
328         * mountlist.c: Likewise.
329         * screen.c: Likewise.
330         * view.c: Likewise.
332         * dialog.c (dlg_select_widget): Remove first argument, it's
333         redundant.  Adjust all callers.
334         (dlg_replace_widget): Likewise.
336 2005-05-11  Roland Illig  <roland.illig@gmx.de>
338         * charsets.c (translate_character): Fixed checking of the return
339         value of iconv().
341 2005-05-10  Pavel Roskin  <proski@gnu.org>
343         * .c: Sanitize all calls to functions from ctype.h.  Fix gcc 4.0
344         warnings.
346         * file.c: Remove unneeded WANT_WIDGETS.
347         * layout.c: Likewise.
348         * setup.c: Likewise.
349         * view.c: Likewise.
351 2005-05-10  Roland Illig  <roland.illig@gmx.de>
353         * find.c (find_parameters): Moved around and reordered dialog
354         items to make their meaning clearer.
356 2005-04-03  Pavel Roskin  <proski@gnu.org>
358         * screen.c (try_to_select): Don't call display_mini_info(), it
359         will be called later because select_item sets panel->dirty.
360         This fixes the mini status appearing first after Ctrl-O.
362 2005-04-27  Roland Illig  <roland.illig@gmx.de>
364         * view.c: Changed use of view->text_wrap_mode to reflect its
365         type, being gboolean. That is, only use boolean operators and
366         TRUE/FALSE for assignment. Bug reported by Jindrich Makovicka.
368 2005-04-26  Roland Illig  <roland.illig@gmx.de>
370         * view.c: Added some calls to str_unconst() to get rid of the
371         GCC warnings.
372         * global.h: Define NDEBUG (used by assert() depending on
373         MC_ENABLE_DEBUGGING_CODE).
375 2005-04-25  Roland Illig  <roland.illig@gmx.de>
377         * view.c (view_move_forward2): Fixed a bug related to the return
378         value, which had made the down and page-down keys no-ops.
379         * view.c (init_growing_view): Renamed to
380         view_load_command_output(). Removed dead code. Removed unused
381         parameter.
382         * view.c (offset_type): Adjusted the PRI[dX] constants to be
383         like the ISO C99 PRI* constants.
384         * view.c (struct WView): Replaced view->last with
385         view->dpy_complete. The former variable's name didn't match its
386         value.
388 2005-04-22  Roland Illig  <roland.illig@gmx.de>
390         * view.c (view_move_forward2): Fixed a bug discovered by
391         Jindrich Makovicka. The return value did not take into account
392         the value of the `upto' parameter.
393         * view.c (view_move_forward2): Added more assertions. Rewrote
394         condition for breaking out of the loop when upto == 0.
395         * view.c (display): Fixed operator precedence with ?: in hex
396         display.
398 2005-04-19  Roland Illig  <roland.illig@gmx.de>
400         * view.c (view_file_load_data): Removed the requirement for
401         ds_file_datasize to be a power of two.
402         * view.c (struct WView): Renamed nib_shift to hexedit_lownibble.
403         Replaced 0 literals with FALSE.
404         * view.c (view_free_growing_buffer): Renamed to
405         view_growbuf_free(). Simplified the code.
406         * view.c (view_move_forward2): Early return if get_byte() returns
407         -1.
408         * view.c: Replaced const_cast with str_unconst.
409         * view.c (display): Extracted the code for drawing the ruler into
410         its own function, view_display_ruler(). Rewrote it.
412 2005-04-18  Roland Illig  <roland.illig@gmx.de>
414         * view.c (struct WView): Moved the growing buffer variables
415         between the data source and the display section.
416         * view.c (save_edit_changes): Renamed to
417         view_hexedit_save_changes().
419 2005-04-17  Roland Illig  <roland.illig@gmx.de>
421         * view.c (save_edit_changes): Completely rewritten to be robust
422         on errors. All changed bytes that could not be saved are kept
423         in the change list, so that the user can try to save them later.
424         * view.c (view_set_byte): Added for save_edit_changes().
425         * view.c (display): view_place_cursor() is called after displaying
426         in hex mode.
427         * view.c (save_edit_changes): Changed return type to gboolean.
428         * view.c (view_ok_to_quit): Changed return type to gboolean.
429         Adjusted returned values.
430         * view.c (view_load): Changed return type to gboolean. Adjusted
431         returned values.
432         * view.c (view): Rewrote the code a little bit.
433         * view.h (view): Rewrote the comment.
434         * view.c: Eliminated some ?: operators.
435         * view.c: Corrected some typos and indentation.
436         * view.c: Added four functions view_get_top(), view_get_left(),
437         view_get_bottom(), view_get_right() to mark the bounds of the
438         rectangle that can be used for displaying data. Expressed
439         view_get_datalines() and view_get_datacolumns() in terms of
440         these four functions.
441         * view.c (display): Simplified the ruler drawing code.
442         * view.c (display): Renamed width and height to right and bottom.
443         The values of the variables aren't really the width and height
444         of anything.
445         * view.c (display): Renamed frame_shift to left or top, whatever
446         is more appropriate.
447         * view.c (view_set_datasource_string): Removed call to
448         view_close_datasource() for consistency with the other
449         view_set_datasource_*() functions. Adjusted the callers.
451 2005-04-16  Roland Illig  <roland.illig@gmx.de>
453         * view.c (struct WView): Renamed have_frame to dpy_frame_size.
454         * view.c (view_is_in_panel): Added.
455         * view.c (view_percent): Removed the last parameter, as it has
456         always the same value.
457         * view.c: Code cleanup.
458         * view.c (struct WView): Removed start_col. Added
459         dpy_text_start_col, which has a similar function like start_col,
460         but does not have negative values. Added bounds checking for
461         dpy_text_start_col. Code cleanup, as usual.
462         * view.c (struct WView): Renamed start_display to dpy_text_start.
463         Fixed one invalid use of bit arithmetics (line 1819).
464         * view.c: Added the `byte' type as an alias for unsigned char.
465         Converted some datasources to using byte as the base type.
466         Removed the superfluous type conversions.
467         * view.c (vwidth, vheight): Replaced these two macros with their
468         expansion. They looked like variables, which was irritating.
469         * view.c (view_get_datacolumns): Added. Replaced equivalent
470         expressions to call this function.
471         * view.c (display): Removed the call to the empty macros
472         view_freeze() and view_thaw(). Deleted these macros, as they
473         are otherwise unused.
474         * view.c (enqueue_change): Made the algorithm independent of the
475         memory layout (especially the order) of the fields in struct
476         hexedit_change_node. Rewrote it.
477         * view.c (free_change_list): Don't use view->change_list as
478         scratch variable.
480 2005-04-14  Roland Illig  <roland.illig@gmx.de>
482         * util.h (str_unconst): Added a conditional INLINE_STR_UNCONST
483         that makes str_unconst() an inline function.
485 2005-04-14  Roland Illig  <roland.illig@gmx.de>
487         * view.c (struct WView): Removed the view_active field. It was
488         practically equivalent to view->datasource != DS_NONE.
489         * view.c (do_view_init): Renamed to view_load().
490         * view.c (view_new): Every field of the WView is initialized
491         explicitly.
492         * view.c: Removed the "file monitor" feature (tail -f). It has
493         not been working since at least mc-4.6.0.
494         * view.c (struct WView): Removed the "first" field, as it was
495         always 0.
496         * view.c (struct WView): Renamed hexedit_text to hexview_in_text.
497         * view.c (struct WView): Changed the type of hex_mode to gboolean.
498         Fixed one non-boolean operation in toggle_wrap_mode().
499         * view.c (struct WView): Renamed viewer_nroff_flag to
500         text_nroff_mode.
501         * view.c (struct WView): Moved hexedit_mode into the "Editor
502         modes" section.
503         * view.c (struct WView): Renamed viewer_magic_flag to magic_mode.
504         * view.c (struct WView): Renamed wrap_mode to text_wrap_mode, as
505         it only applies to the text viewer.
506         * view.c (struct WView): Renamed growing_buffer to growbuf_in_use,
507         blocks to growbuf_blocks, block_ptr to growbuf_blockptr.
508         * view.c (struct WView): Renamed ds_file_size to ds_file_filesize,
509         to avoid confusion with ds_file_datasize.
510         * layout.c: Followed the renaming of view_init() to view_load().
511         * view.h: Likewise.
513 2005-04-13  Roland Illig  <roland.illig@gmx.de>
515         * util.h (str_unconst): Provide a replacement for the const_cast
516         macro from global.h.
517         * util.c (str_unconst): Likewise.
519         * view.c (struct WView): Removed the last_byte field, because it
520         got too complex maintaining it together with the new datasource
521         framework. The function view_get_filesize() now takes its place.
522         Corrected the type of the growing buffer to unsigned char. Added
523         a field growbuf_finished to indicate when all data has been read.
524         * view.c (view_move_cursor_to_eol): Renamed to
525         view_hexview_move_to_eol().
526         * view.c (view_get_filesize): Added.
527         * view.c (view_get_filesize_with_exact): Added.
528         * view.c (get_byte_indexed): get_byte with bounds checking.
529         * view.c (view_growbuf_read_until): Closes the datasource after
530         reading has finished.
531         * view.c (view_percent): The percentage is only shown when its
532         exact value can be computed.
533         * view.c (view_status): The [grow] field has been removed from
534         the status line. Instead, the filesize is reported as ">= n"
535         bytes.
536         * view.c (count_backspaces): Added a bounds check.
537         * view.c (display): Using get_byte_indexed instead of get_byte.
538         * view.c (move_forward2): Renamed to view_move_forward2 because
539         of the equally-named function in src/help.c.
540         * view.c (get_bottom_first): Added bounds checking.
541         * view.c (move_right): Simplified the code.
542         * view.c (goto_addr): Fixed an off-by-one error.
543         * view.c (view_close_datasource): For the growing buffer cases,
544         check if the datasource has already been closed before.
545         * view.c (view_handle_editkey): Simplified the code.
546         * view.c (get_byte_growing_buffer): Added bounds checking.
548 2005-04-07  Roland Illig  <roland.illig@gmx.de>
550         * view.c: Removed mmap(2) support. Now regular files are
551         accessed using mc_read(). Added a framework for datasources.
552         Introduced assertions. Removed some variables (e.g. view->data)
553         that were used for many things simultaneously.
555 2005-04-07  Roland Illig  <roland.illig@gmx.de>
557         * dialog.h: Removed a comma at the end of an enumeration, because
558         ANSI does not permit it.
560 2005-04-06  Roland Illig  <roland.illig@gmx.de>
562         * x11conn.c (x_io_error_handler): Close the X11 connection when
563         a protocol error occurs. Otherwise the X11 connection is held
564         open, which may keep ssh from closing the connection.
566 2005-03-28  Pavel Roskin  <proski@gnu.org>
568         * screen.c (chdir_other_panel): When used on a file entry, move
569         selection on the inactive panel to select the entry for the
570         current directory on the active panel.
572 2005-03-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
574         * keyxdef.c: Constify struct qnx_key_define_s typedef.
576 2005-03-25  Mike Gorchak  <mike@malva.ua>
578         * key.c (get_modifier): Fixed dynamic loading of the Photon
579         library for shift keys, only current version of libph used now.
580         (qansi_key_defines): Swapped Gray '-' and '+' codes definitions,
581         due to fixed bugs in the QNX6's console driver.
583 2005-03-23  Pavel S. Shirshov  <me@pavelsh.pp.ru>
585         * util.c (load_file_position): Fix mcedit position save bug. Read a
586         number after ';'.
588         From Christian Hamar  <krics@linuxforum.hu>
590 2005-03-21  Pavel Roskin  <proski@gnu.org>
592         * key.c (init_key): Load xterm_key_defines for terminals with
593         names starting with "rxvt".
595 2005-03-19  Pavel Roskin  <proski@gnu.org>
597         * slint.c: Don't use private S-Lang functions if they are
598         unavailable.
600 2005-03-17  Pavel Roskin  <proski@gnu.org>
602         * screen.c (chdir_other_panel): Prevent changing current
603         directory.  Remove incorrect comment.
605         * achown.c (update_permissions): Partly revert recent changes
606         because they cause infinite recursion.
608 2005-03-10  Roland Illig  <roland.illig@gmx.de>
610         * x11conn.c: Separated X11 connection handling from key.c. Added
611         error handling for X11 errors and connection errors.
612         * x11conn.h: The interface for x11conn.h.
613         * key.c: Now using the x11conn code.
614         * Makefile.am: Added x11conn.{h,c}.
616 2005-02-26  Miguel de Icaza  <miguel@novell.com>
618         * screen.c (chdir_other_panel): Restored original functionality.
620         (sync_other_panel): This is now bound to the key Alt-i, and is the
621         functionality that was lost.
623 2005-01-29  Miguel de Icaza  <miguel@novell.com>
625         * utilunix.c (init_groups): Added support for getgrouplist().
626         Patch from Stefan Gohmann <gohmann@univention.de>.
628 2005-02-23  Roland Illig  <roland.illig@gmx.de>
630         * tty.h: Moved the function printwstr() to slint.c, because the
631         SunPro compiler does not eliminate unused inline functions.
632         * slint.c: printwstr() has been moved to here.
633         * unixcompat.h: Only include <sys/sysmacros.h> if we're on AIX,
634         as Solaris defines the macros twice---once in <sys/mkdev.h>,
635         and once in <sys/sysmacros.h>.
637 2005-02-23  Roland Illig  <roland.illig@gmx.de>
639         * screen.c: Changed the return type of ilog10() to unsigned int
640         and adjusted some variables in format_device_number().
642 2005-02-22  Roland Illig  <roland.illig@gmx.de>
644         * unixcompat.h: Added missing parenthesis to the minor() macro.
646 2005-02-12  Roland Illig  <roland.illig@gmx.de>
648         * info.c (info_show_info): Casted st_mode to unsigned to avoid
649         compiler warning on Solaris 9 (st_mode is unsigned long there).
651 2005-02-12  Jindrich Novy  <jnovy@redhat.com>
653         * vfs.c (vfs_translate_url): Add support for smb://, sh://,
654         ssh:// and mc:// filesystem requests. Introduced separate table
655         for vfs aliases.
656         * util.c (strip_password): Modifications to take the aliases into
657         account while eliminating passwords.
659         The original patch was extended by Roland Illig.
661 2005-02-12  Roland Illig  <roland.illig@gmx.de>
663         * screen.c: Reverted my changes from 2005-02-08 (except the
664         maybe_cd() calls) to not confuse the upcoming UTF-8 patches.
666 2005-02-12  Andrew V. Samoilov  <sav@bcs.zp.ua>
668         * glibcompat.c: Add g_strlcat() declaration for glib 1.2.x
670 2005-02-11  Roland Illig  <roland.illig@gmx.de>
672         * screen.c (string_file_name): Fixed the displaying of long file
673         names. The bug had been introduced by me on 2005-02-08.
674         * screen.c (string_file_nlinks): Likewise.
676 2005-02-08  Roland Illig  <roland.illig@gmx.de>
678         * dialog.c: Marked unused parameters. Now dlg_broadcast_msg_to()
679         does what the comment above it says.
680         * main.c (maybe_cd): Removed unused parameter.
681         * main.h: Likewise.
682         * screen.c: Marked unused parameters. Updated use of maybe_cd().
683         * cons.handler.c: Marked unused parameters.
684         * dir.c: Likewise.
685         * find.c: Likewise.
686         * help.c: Likewise.
687         * layout.c: Likewise.
688         * mountlist.c: Likewise.
689         * popt.c: Likewise.
690         * poptconfig.c: Likewise.
691         * popthelp.c: Likewise.
692         * regex.c: Likewise.
693         * subshell.c: Likewise.
694         * tree.c: Likewise.
695         * util.c: Likewise.
696         * utilunix.c: Likewise.
697         * widget.c: Likewise.
698         * wtools.c: Likewise.
700 2005-02-08  Roland Illig  <roland.illig@gmx.de>
702         * screen.c (string_file_*): Don't use static buffers.
703         * screen.c (format_file): Provide a buffer for the string_file_*()
704         functions.
706 2005-02-08  Roland Illig  <roland.illig@gmx.de>
708         * widget.h: Renamed define_label() to buttonbar_set_label(). Renamed
709         define_label_data to buttonbar_set_label_data. Renamed
710         redraw_labels() to buttonbar_redraw().
711         * widget.c: Likewise.
712         * help.c, main.c, screen.c, tree.v, view.c: Likewise.
713         * util.h: Added macro str_cmp to allow syntactically nice string
714         comparison.
716 2005-02-08  Roland Illig  <roland.illig@gmx.de>
718         * *.c: Reordered header inclusion.
720 2005-02-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
722         * ext.c (regex_command): Eliminate g_string_*().
724 2005-02-08  Roland Illig  <roland.illig@gmx.de>
726         * dialog.h: Moved and reformatted #definitions.
727         * execute.h: Likewise.
728         * mouse.h: Likewise.
729         * widget.h: Moved constants to the appropriate places (just
730         before the variable they will be used with).
731         * widget.c: HISTORY_FILE_NAME was not needed in widget.h,
732         so it has been made private to this file.
734 2005-02-07  Roland Illig  <roland.illig@gmx.de>
736         * unixcompat.h: Emit warnings for the fallback case of the
737         major/minor/makedev macros.
739 2005-02-07  Roland Illig  <roland.illig@gmx.de>
741         * view.c: Changed type of view->blocks from int to size_t.
742         * view.c: Removed unused parameters from local functions.
743         * view.c: Reordered #include files.
745 2005-02-07  Roland Illig  <roland.illig@gmx.de>
747         * ext.c: Improved message formatting.
749 2005-02-06  Roland Illig  <roland.illig@gmx.de>
751         * widget.h: Added a new function button_get_text.
752         * widget.c: Likewise.
754 2005-02-06  Roland Illig  <roland.illig@gmx.de>
756         * achown.c (get_ownership): Simplified the code. Now it is
757         more independent of the WButton internals.
758         * achown.c (get_ownership): Renamed to update_ownership.
759         * achown.c (update_permissions): Update the permission widgets
760         without accessing WButton->text directly.
761         * achown.c (print_flags): Use update_permissions.
762         * achown.c (chown_info_update): Likewise.
764 2005-02-05  Roland Illig  <roland.illig@gmx.de>
766         * util.h (msglen): Converted from a function to a procedure.
767         * util.c (msglen): Changed variable names and did a speedup.
768         * hotlist.c (add_new_entry_input): Using new msglen function.
769         * hotlist.c (add_new_group_input): Likewise.
770         * wtools.c (query_dialog): Likewise.
771         * wtools.c (fg_input_dialog_help): Likewise.
773 2005-02-02  Andrew V. Samoilov  <sav@bcs.zp.ua>
775         * find.c: Implement non-recursive 'Find file' feature.
776         Original patch by Andrew Borodin <aborodin@vmail.ru> .
778         * utilunix.c (mc_realpath) [USE_SYSTEM_REALPATH]: Use realpath().
780 2005-02-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
782         * utilunix.c (init_groups): Use glib memory allocation functions.
784 2005-01-31  Roland Illig  <roland.illig@gmx.de>
786         * view.c: Eliminated two global variables and put them into the
787         WView structure.
789 2005-01-29  Miguel de Icaza  <miguel@novell.com>
791         * utilunix.c (init_groups) [HAVE_GETGROUPLIST]: Use getgrouplist().
792         Original patch by Stefan Gohmann <gohmann@univention.de>
794 2005-01-17  Roland Illig  <roland.illig@gmx.de>
796         * info.c (info_show_info): Enabled display of the device number,
797         for the case that the column in the directory listing is too
798         short. This had been disabled since 1994, for no obvious reason
799         and without any comment.
800         * screen.c (format_device_number): Added. Converts a device number
801         into a bounded string.
802         * screen.c (string_file_size): Support for larger device numbers
803         (and for non-Linux systems).
805 2005-01-26  Roland Illig  <roland.illig@gmx.de>
807         * tty.h (printwstr): Added a function to print a string
808         left-aligned in a bounded box.
809         * unixcompat.h (major/minor): Added support for AIX.
810         * unixcompat.h: Added makedev macro.
812 2005-01-25  Roland Illig  <roland.illig@gmx.de>
814         * unixcompat.h: Provides macros and functions that are missing in
815         some Unix variants.
816         * Makefile.am: Added unixcompat.h.
818 2005-01-25  Roland Illig  <roland.illig@gmx.de>
820         * dialog.h (widget_msg_t): Added WIDGET_RESIZED to inform widgets
821         that they had been resized.
822         * dialog.c (widget_set_size): Send a WIDGET_RESIZED message after
823         setting the size.
824         * layout.c (panel_do_cols): Don't explicitly update the
825         bytes_per_line of a hexview WView.
826         * view.h (view_update_bytes_per_line): Removed from the interface
827         to WView.
828         * view.c (view_update_bytes_per_line): Declared as `static'.
829         * view.c (view_callback): Call update_bytes_per_line when the
830         WView is initialized and whenever a WIDGET_RESIZED message is
831         received.
833 2005-01-19  Jindrich Novy  <jnovy@redhat.com>
835         * main.c (_do_panel_cd): Delete leading spaces from URL
836         before vfs_translate_url() call.
838 2005-01-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
840         * subshell.c (subshell_name_quote): Eliminate sprintf(d, "%c", ...).
841         (do_subshell_chdir): Eliminate strlcpy() and optimize.
843 2005-01-14  Pavel Shirshov  <me@pavelsh.pp.ru>
845         * subshell.c (do_subshell_chdir): Use mc_realpath() to fix tcsh's
846         problem with symlink.
847         * utilunix.c: Add function mc_realpath(). Is the BSD version of
848         realpath(3).
849         * util.h: Add mc_realpath() declaration.
851 2004-12-13  Andrew V. Samoilov  <sav@bcs.zp.ua>
853         * find.c (find_parameters): Use translated string.
855 2004-12-10  Andrew V. Samoilov  <sav@bcs.zp.ua>
857         * command.c (enter): Speed up and simplify.
859 2004-12-08  Pavel Shirshov  <me@pavelsh.pp.ru>
861         * subshell.c (init_subshell_child): Don't g_strdup() constant string
862         in putenv() calls.
864 2004-12-03  Roland Illig  <roland.illig@gmx.de>
866         * *.h: Renamed multiple inclusion guards that started with a
867         double underscore. Added #includes for dependent files.
868         * popt.c: Likewise.
869         * popthelp.c: Likewise.
870         * tree.c: Moved a macro from tree.h to here, as it is useless
871         outside tree.c.
872         * view.c: Removed unused macro.
874 2004-12-02  Roland Illig  <roland.illig@gmx.de>
876         * view.c (struct WView): Renamed some variables to reflect the
877         actual use. (view_growbuf_read_until): Moved the growing buffer
878         handling out of get_byte.
879         * view.c: Cleaned up the code. Added error handling for the
880         growing buffer case.
881         * util.c (extension): Simplified the code.
882         * util.c (cstrcasestr): Added a function to search for a
883         substring ignoring case.
884         * util.h: Added cstrcasestr.
885         * find.c: Added plaintext search mode.
887 2004-12-02  Andrew V. Samoilov  <sav@bcs.zp.ua>
889         * file.c (make_symlink): Constify r.
891 2004-12-02  Leonard den Ottolander  <leonard * den ottolander nl>
893         * file.c (copy_dir_dir): Code cleanup (removal of unnecessary goto,
894         redundant comment, indentation).
896 2004-12-02  Jindrich Novy  <jnovy@redhat.com>
898         * filegui.c (init_replace): Use off_t instead of int for file
899         sizes. Use proper format string parameter for size.
901 2004-11-30  Pavel Tsekov  <ptsekov@gmx.net>
903         * widget.c (listbox_drawscroll): Fix declaration of `slow_terminal'.
904         (listbox_new): Likewise.
906 2004-11-29  Pavel Tsekov  <ptsekov@gmx.net>
908         * main.c (midnight_callback): Make the the keystrokes the invoke
909         select_cmd(), unselect_cmd() and reverse_selection_cmd () work
910         even if the command prompt is turned off.
912         This bug was reported by Alex Yosifov.
914 2004-11-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
916         * execute.c (shell_execute): Optimize memory usage.
917         * ext.c (regex_check_type): Likewise.
919 2004-11-02  Pavel Tsekov  <ptsekov@gmx.net>
921         * help.c (help_event): Fix offset of event area for mouse click.
923 2004-11-19  Roland Illig  <roland.illig@gmx.de>
925         * Makefile.am: Excluded pipethough.3 from the distribution
926         as it is currently unused.
928 2004-11-18  Pavel Shirshov  <me@pavelsh.pp.ru>
930         * user.c (execute_menu_command): Revert last changes. Execute
931         shell_execute() with flag EXECUTE_HIDE to prevent recording
932         in ~/.bash_history.
933         * execute.h: Add EXECUTE_HIDE flag. It's used to prefix the command
934         with a space.
935         * execute.c (shell_execute): Prefix the command with a space, if define
936         EXECUTE_HIDE flag.
938 2004-11-17  Roland Illig  <roland.illig@gmx.de>
940         * screen.c (do_search): Ignore the backspace key on empty
941         quick-search.
943         From Egmont Koblinger <egmont * uhulinux hu>
945 2004-11-15  Leonard den Ottolander  <leonard * den ottolander nl>
947         * file.c: Code cleanup (mostly indentation).
948         * user.c (execute_menu_command): Prefix the command with a space
949         to prevent recording in ~/.bash_history.
951 2004-11-12  Pavel Shirshov  <me@pavelsh.pp.ru>
953         * user.c (expand_format): Return % with followed character if it
954         without special meaning.
956 2004-11-11  Roland Illig  <roland.illig@gmx.de>
958         * popthelp.c (showHelpIntro): The basename of argv[0] starts after
959         the last slash in argv[0], not after the first.
961         From Egmont Koblinger <egmont * uhulinux hu>
963 2004-11-10  Roland Illig  <roland.illig@gmx.de>
965         * Makefile.am: Excluded pipethough.{c,h} from the distribution
966         as they are currently unused.
968 2004-11-10  Andrew V. Samoilov  <sav@bcs.zp.ua>
970         * hotlist.c (unlink_entry): Add missed brackets.
971         (add_new_entry_cmd): Fix memory leaks and double free()s.
972         (add2hotlist_cmd): Eliminate static label_string.
973         * regex.c: Define HAVE_WCTYPE_H to 0 if not defined to fix compilation.
975 2004-11-09  Pavel Shirshov  <me@pavelsh.pp.ru>
977         * util.c (strip_password): Fix bug - don't delete path from url.
979 2004-11-09  Jindrich Novy  <jnovy@redhat.com>
981         * filegui.c (file_mask_dialog): Fix memory leak.
982         * hotlist.c (add_new_entry_cmd): Filter out a possible password
983         dialogs.
984         (add2hotlist_cmd): Likewise.
986 2004-11-07  Leonard den Ottolander  <leonard * den ottolander nl>
988         * slint.c (slang_init): Allow upto 512 lines and cols if the
989         SLang library can handle it.
991 2004-11-07  Roland Illig  <roland.illig@gmx.de>
993         * key.c (use_8th_bit_as_meta): Use 8bit input as default.
995         From Vladimir Nadvornik <nadvornik * suse cz>
997 2004-11-04  Mike Gorchak  <mike@malva.ua>
999         * dir.c (file_type_to_num): Added initial support for the Special Named
1000         Files. They are displayed as block devices, but with '#' prefix in it's
1001         names. Needed on QNX Neutrino.
1002         * file.c (copy_file_file): Likewise.
1003         * fs.h: Likewise.
1004         * screen.c (string_file_type): Likewise.
1005         (file_compute_color): Likewise.
1006         * util.c (string_perm): Likewise.
1008         * pipethrough.c: Added sys/select.h if found according to config.h.
1010 2004-11-04  Jindrich Novy  <jnovy@redhat.com>
1012         * screen.c (show_dir): A small fix to avoid a crash in show_dir() with
1013         a panel of more than 200 columns.
1015 2004-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
1017         * file.c (make_symlink): Use g_strlcpy() instead of strcpy().
1019 2004-11-03  Jindrich Novy  <jnovy@redhat.com>
1021         * subshell.c (do_subshell_chdir): Filter out a possible password from
1022         warning dialog.
1024         * command.c (do_cd_command): Likewise.
1026         * screen.c (panel_callback): Likewise.
1028         * util.c (path_trunc): Add function. path_trunc() is the same as
1029         name_trunc(), but it deletes possible password from path for security
1030         reasons.
1032         * util.h: Add functions path_trunc().
1034         * filegui.c (file_progress_show_target): Filter out a possible password
1035         from dialog.
1036         (file_progress_show_deleting): Likewise.
1037         (file_mask_dialog): Likewise.
1039         * file.c (move_file_file): Likewise.
1040         (move_dir_dir): Likewise.
1041         (file_error): Likewise.
1042         (files_error): Likewise.
1043         (real_query_recursive): Likewise.
1045         * hotlist.c (add2hotlist): Typo fix.
1047 2004-11-02  Pavel Tsekov  <ptsekov@gmx.net>
1049         * dialog.c (do_select_widget): Walk the whole widgets list looking
1050         for a widget accepting the focus.
1052 2004-11-01  Roland Illig  <roland.illig@gmx.de>
1054         * utilunix.c (mc_tmpdir): Use putenv(3) instead of setenv(3) if
1055         the latter is not available. Needed for Solaris.
1057 2004-10-29  Pavel Tsekov  <ptsekov@gmx.net>
1059         * complete.c (completion_matches): Fix duplicate completion matches
1060         if there are more than two matches available.
1062 2004-10-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
1064         * cmd.c (select_unselect_cmd): Collect repeated code from
1065         (un)?select_cmd here.  Fix rare off-by-one and memory leak if
1066         empty pattern passed.
1068         (select_cmd): Use select_unselect_cmd().
1069         (unselect_cmd): Likewise.
1071 2004-10-23  Roland Illig  <roland.illig@gmx.de>
1073         * complete.c (environ): Don't declare environ on Cygwin.
1074         * utilunix.c (mc_tmpdir): Convert uid to unsigned long for
1075         pathname of the temporary directory.
1077         From Pavel Tsekov <ptsekov gmx net>.
1079 2004-10-23  Roland Illig  <roland.illig@gmx.de>
1081         * regex.c (regerror): Never use the __memcpy function, as it
1082         breaks the build on Cygwin.
1084 2004-10-22  Roland Illig  <roland.illig@gmx.de>
1086         * regex.c: Fix the C preprocessor feature tests. They produced
1087         warnings before.
1088         * view.c (display): Fixed bug that displayed an empty file in
1089         hexview mode with growing buffers.
1091 2004-10-22  Pavel Shirshov  <me@pavelsh.pp.ru>
1093         * main.c (print_color_usage): Update list of keywords for global,
1094         menu and help.
1096 2004-10-21  Roland Illig  <roland.illig@gmx.de>
1098         * cons.saver.c (die): Declare as "static" to avoid gcc warning.
1099         (send_contents): Likewise.
1101 2004-10-20  Jakub Jelinek  <jakub@redhat.com>
1103         * user.c (user_menu_cmd): Fix error. test_line() doesn't handle
1104         consecutive '+'s and '='s correctly. Pass a line starting with
1105         a single '+' or '=' instead.
1107 2004-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
1109         * hotlist.c (add_new_entry_cmd): Fix memory leaks.
1111 2004-10-16  Roland Illig  <roland.illig@gmx.de>
1113         * file.c (do_file_error): Add const qualifier. (query_recursive):
1114         Likewise. (query_replace): Likewise.
1115         * view.c: Rename EOF_offset to INVALID_OFFSET, as it is mostly
1116         used to mark an invalid cache.
1118 2004-10-13  Jindrich Novy  <jnovy@redhat.com>
1120         * util.c (strip_password): Add "/#sh:".
1122 2004-10-12  Andrew V. Samoilov  <sav@bcs.zp.ua>
1124         * myslang.h: Check USE_INCLUDED_SLANG properly.
1126 2004-10-11  Roland Illig  <roland.illig@gmx.de>
1128         * utilunix.c (close_error_pipe): Fixed possible invalid memory access
1129         (three lines below).
1131 2004-10-11  Leonard den Ottolander  <leonard * den ottolander nl>
1133         * file.c (copy_dir_dir): Small text fix.
1135 2004-10-06  Alexander Savelyev  <i@fano.com.ua>
1137         * fileopctx.h (struct FileOpContext): Use off_t for offset.
1139 2004-10-05  Miroslav Rudisin  <miero+gnu@atrey.karlin.mff.cuni.cz>
1141         * util.c(strip_password): Add support for '@' in username.
1143 2004-10-05  Jakub Jelinek  <jakub@redhat.com>
1145         * cons.saver.c: Partly rewritten cons.saver.c.
1147 2004-09-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
1149         * util.c (convert_controls): Fix possible buffer overflow
1150         for ".*^" strings.
1152 2004-09-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
1154         * complete.c [__linux__ && !__USE_GNU]: Fix compilation on Red Hat 7.3
1155         * util.c (convert_controls): Fix compilation.
1157 2004-09-26  Roland Illig  <roland.illig@gmx.de>
1159         * pipethrough.c: #include <string.h> to compile on Solaris.
1160         * util.h (convert_controls): Adjusted the comment to what the
1161         function really does.
1163 2004-09-26  Mike Gorchak  <mike@malva.ua>
1165         * key.c (qansi_key_defines[]): Add support for qansi-m terminals.
1166         Needed on QNX Neutrino. (correct_key_code): Likewise.
1168 2004-09-25  Roland Illig  <roland.illig@gmx.de>
1170         * pipethrough.c: Added pipethrough, a function to execute child
1171         processes in a simple way.
1172         * pipethrough.h: The interface for the function.
1173         * pipethrough.3: The manpage (will be installed in maintainer-mode).
1174         * Makefile.am: Added the files to SRCS.
1176 2004-09-25  Roland Illig  <roland.illig@gmx.de>
1178         * view.c (display): Recognize "+\bo" as a list item in nroff mode.
1179         Display "_\b_" correctly in both colors.
1181         * view.c (hex_search): Added const qualifier.
1182         * boxes.c (display_unit): Likewise.
1183         * command.c (examine_cd): Likewise. Additionally used g_strdup to
1184         not accidentally modify an environment variable.
1185         * complete.c (command_completion_function): Likewise.
1186         (filename_completion_function): Likewise. (try_complete): Likewise.
1187         (variable_completion_function): Likewise.
1188         * file.c (check_hardlinks): Likewise.
1189         * find.c (find_do_view_edit): Likewise. (find_file): Likewise.
1190         * global.h (home_dir): Likewise.
1191         * main.c (get_parent_dir_name): Likewise. (init_xterm_support):
1192         Likewise. (OS_Setup): Likewise.
1193         * menu.c (create_menu): Likewise.
1194         * mountlist.c (xatoi): Likewise. (read_filesystem_list): Likewise.
1195         * poptconfig.c (poptReadDefaultConfig): Likewise.
1196         * popthelp.c (showHelpIntro): Likewise.
1197         * rxvt.c (look_for_rxvt_extensions): Likewise.
1198         * slint.c (has_colors): Likewise.
1199         * subshell.c (check_sid): Likewise.
1200         * user.c (check_format_var): Likewise.
1201         * widget.c (radio_callback): Likewise.
1203 2004-09-25  Pavel Shirshov  <me@pavelsh.pp.ru>
1205         * boxes.c (configure_vfs): g_free handles NULL argument too,
1206         no need for the comparison.
1207         * cmd.c (set_panel_filter_to): Likewise.
1208             (do_link): Likewise.
1209             (quick_cd_cmd): Likewise.
1210         * color.c (done_colors): Likewise.
1211         * dialog.c (destroy_dlg): Likewise.
1212         * dir.c (alloc_dir_copy): Likewise.
1213         * ext.c (flush_extension_file): Likewise.
1214         * file.c (copy_file_file): Likewise.
1215             (panel_operate): Likewise.
1216         * hotlist.c (remove_group): Likewise.
1217             (remove_from_hotlist): Likewise.
1218             (done_hotlist): Likewise.
1219         * main.c (main): Likewise.
1220         * setup.c (panel_load_setup): Likewise.
1221         * tree.c (tree_destroy): Likewise.
1222             (show_tree): Likewise.
1223         * user.c (user_menu_cmd): Likewise.
1224         * utilunix.c (i_cache_add): Likewise.
1225             (putenv): Likewise.
1226         * view.c (view_done): Likewise.
1227             (regexp_search): Likewise.
1228             (normal_search): Likewise.
1229             (change_viewer): Likewise.
1230         * widget.c (label_set_text): Likewise.
1231             (set_label_text): Likewise.
1233 2004-09-24  Roland Illig  <roland.illig@gmx.de>
1235         * file.c (progress_update_one): Changed parameter type from int
1236         to off_t.
1238         Fixes http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=124241
1240 2004-09-24  Roland Illig  <roland.illig@gmx.de>
1242         * util.c (load_file_position): Fixed possible segmentation fault
1243         when an $HOME/.mc/filepos did not contain a ';'.
1245 2004-09-24  Roland Illig  <roland.illig@gmx.de>
1247         * boxes.c: Replaced NULL with (char *) NULL. Likewise for 0, where
1248         NULL was meant.
1249         * cmd.c: Likewise.
1250         * dialog.c: Likewise.
1251         * ext.c: Likewise.
1252         * file.c: Likewise.
1253         * find.c: Likewise.
1254         * hotlist.c: Likewise.
1255         * learn.c: Likewise.
1256         * main.c: Likewise.
1257         * screen.c: Likewise.
1258         * setup.c: Likewise.
1259         * treestore.c: Likewise.
1260         * user.c: Likewise.
1261         * util.c: Likewise.
1262         * utilunix.c: Likewise.
1263         * view.c: Likewise.
1264         * widget.c: Likewise.
1265         * wtools.c: Likewise.
1267 2004-09-24  Roland Illig  <roland.illig@gmx.de>
1269         * cons.handler.c (handle_console_linux): Replaced NULL with
1270         (char *) NULL in call to execl.
1271         * subshell.c (init_subshell_child): Likewise.
1272         * utilunix.c (my_system): Likewise.
1274         From patches from the OpenBSD ports collection.
1276 2004-09-23  Roland Illig  <roland.illig@gmx.de>
1278         * main.c (OS_Setup): Fixed segmentation fault.
1280         From Oskar Liljeblad <oskar osk.mine.nu>
1282 2004-09-21  Leonard den Ottolander  <leonard * den ottolander nl>
1284         * filegui.c (file_mask_dialog): Expand tilde. Remove redundant
1285         ifs before g_free().
1287 2004-09-19  Roland Illig  <roland.illig@gmx.de>
1289         * achown.c: Added const qualifiers and const_cast.
1290         * background.c: likewise.
1291         * boxes.c: likewise.
1292         * file.c: likewise.
1293         * filegui.c: likewise.
1294         * find.c: likewise.
1295         * hotlist.c: likewise.
1296         * info.c: likewise.
1297         * layout.c: likewise.
1298         * myslang.h: likewise.
1299         * option.c: likewise.
1300         * user.c: likewise.
1301         * util.c: likewise.
1302         * utilunix.c: likewise.
1303         * view.c: likewise.
1304         * widget.c: likewise.
1305         * complete.c: Surrounded the declaration of environ by and #ifdef
1306         guard to avoid a GCC warning about a redundant declaration.
1307         * cmd.c: renamed edit() to edit_file() to avoid GCC shadow
1308         warnings (many variables are also called edit).
1309         * main.c: likewise.
1311 2004-09-19  Roland Illig  <roland.illig@gmx.de>
1313         * util.c (strip_home_and_password): Fixed possible buffer overflow.
1315 2004-09-19  Roland Illig  <roland.illig@gmx.de>
1317         * find.c: Applied patch to make the find dialog more responsive
1318         while scanning through large files.
1320         From Jindrich Makovicka <makovick kmlinux.fjfi.cvut.cz>
1322 2004-09-18  Roland Illig  <roland.illig@gmx.de>
1324         * view.c (view_handle_key): Fixed invalid-offset-bug when handling
1325         ctrl-e in hex mode.
1327 2004-09-18  Roland Illig  <roland.illig@gmx.de>
1329         * help.c (search_string): Fixed a warning about a const qualifier.
1330         A local copy of the string is used for modifying.
1331         * menu.h: Removed the const qualifier from Menu.name and
1332         Menu.help_node as they are freed in destroy_menu.
1333         * menu.c (destroy_menu): Removed the (now unnecessary) casts.
1334         * popt.h: Removed a const qualifier to avoid compiler warnings.
1335         * profile.c (get_profile_string): Added const qualifiers to
1336         avoid compiler warnings. (GetSetProfile): likewise.
1337         (GetSetProfileChar): likewise.
1338         * profile.h (get_profile_string): likewise.
1339         * win.c (check_movement_keys): likewise.
1340         * win.h (check_movement_keys): likewise.
1342 2004-09-17  Pavel Shirshov  <me@pavelsh.pp.ru>
1344         * ext.c (get_file_type_local): Fixes <zombies> in
1345         QNX 6.x (QNX Neutrino) when guessing file type before
1346         viewing file.
1348         Based on patch from Dmitry Alexeyev <dmi_a@qnx.org.ru>
1350 2004-09-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
1352         * hotlist.c (add_new_entry_input): Fix warnings.
1353         * wtools.h (QuickWidget): Make text const.
1354         * wtools.c (fg_input_dialog_help): Fix warning.
1356 2004-09-14  Leonard den Ottolander  <leonard * den ottolander nl>
1358         * utilunix.c (tilde_expand): Fix extra slash in result from
1359         tilde_expand() for ~<user>/dir.
1361 2004-09-14  Pavel Tsekov  <ptsekov@gmx.net>
1363         * key.c (get_modifier): Recognize keyboard modifiers on Cygwin.
1365 2004-09-12  Pavel Shirshov  <me@pavelsh.pp.ru>
1367         * execute.c (toggle_panels): Fix error. show_output_starts_shell=1
1368         is not working
1369         * cmd.c (view_other_cmd): Likewise.
1371         From Petr Hadraba <hadrabap@volny.cz>
1373 2004-09-10  Jakub Jelinek  <jakub@redhat.com>
1375         * view.c (get_byte): Fix avoid dying if file is too large
1376         to fit into memory.
1377         (load_view_file): Fix avoid mmaping just part of a >=4GB file
1378         on 32-bit arches.
1380         * setup.c (load_keys_from_section): Handle "copy".
1381         gnome-terminal started using TERM=gnome instead of TERM=xterm,
1382         so does rxvt etc.
1383         Instead of making mc.lib really huge and hard to edit
1384         by repeating same keys for every xterm alternative,
1385         I have added a special key "copy", with argument name of terminal.
1386         mc will in this case read the keys from the referenced terminal's
1387         keys from the same file as well.
1389 2004-09-04  Jakub Jelinek  <jakub@redhat.com>
1391         * info.c (info_show_info): don't truncate block counts to 32 bits
1392         on 64-bit platforms
1394 2004-09-04  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1396         * subshell.c (exit_subshell): Prevent unwanted reuse of freed
1397         pty_buffer.
1398         * complete.c (variable_completion_function): strncpy()->memcpy()
1399         changes are because we know there is no '\0' among the first
1400         length bytes.
1401         (insert_text): Likewise.
1402         (command_completion_function): Avoid memory leaks.
1403         (filename_completion_function): g_free handles NULL argument too,
1404         no need for the comparison.
1405         (try_complete): Likewise.
1406         (command_completion_function): Likewise.
1407         (free_completions): Likewise.
1408         * widget.c (gauge_callback): Fix for 64-bit arches (%*s len must
1409         be int, %3d takes int.
1410         (copy_region): g_free handles NULL argument too, no need for
1411         the comparison.
1412         (kill_line): Likewise.
1413         * find.c (do_search): Likewise.
1414         (init_find_vars): Likewise.
1415         (do_find): Likewise.
1416         * util.c (get_current_wd): We know there is just one '\0' byte
1417         in p, at p[len - 1].
1419         Based on patch from Jakub Jelinek  <jakub@redhat.com>
1421 2004-09-03  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1423         * menu.c (destroy_menu): Fix warnings.
1424         * view.c (view_adjust_size): Likewise.
1425         * widget.c (find_buttonbar): Likewise.
1427         Based on patch from Jakub Jelinek  <jakub@redhat.com>
1429 2004-09-02  Roland Illig  <roland.illig@gmx.de>
1431         * color.c (try_alloc_color_pair (ncurses)): Added const qualifier
1432         to the arguments.
1434 2004-09-02  Roland Illig  <roland.illig@gmx.de>
1436         * man2hlp.c (handle_link): Added header "glibcompat.h" because
1437         glib-1.2 does not know g_strlcpy().
1438         * Makefile.am (man2hlp): Added source file glibcompat.c for
1439         glib-1.2 compatibility.
1441 2004-09-02  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1443         * complete.c (completion_matches): Use more suitable function
1444         g_strndup() instead of sequence g_malloc(), strncpy(),
1445         name[len] = '\0'
1446         * widget.c (copy_region): Likewise.
1447         (delete_region): Use memmove() instead of strcpy().
1448         * user.c (debug_out): Eliminate buffer array.
1449         (test_line): Likewise.
1451         Based on patch from Jakub Jelinek  <jakub@redhat.com>
1453 2004-09-02  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1455         * color.c (load_dialog_colors): Make a separate color for
1456         hotkeys in red dialogs.
1457         * color.h: Likewise.
1458         * view.c (view_ok_to_quit): Add hotkey to dialog.
1460 2004-09-01  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1462         * user.c (check_format_var): Use more suitable function
1463         g_strndup() instead of sequence g_malloc(), strncpy(),
1464         name[len] = '\0'
1465         * man2hlp.c (handle_link): Use g_strlcpy() instead of sequence
1466         strncpy(), name[len] = '\0'
1467         * profile.c (GetSetProfile): Likewise.
1468         * wtools.c (fg_input_dialog_help): Likewise.
1470         Based on patch from Jakub Jelinek  <jakub@redhat.com>
1472 2004-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
1474         * wtools.h: Fix warnings.
1475         * selcodepage.c (select_charset): Likewise.
1476         * boxes.c (display_bits_box): Likewise.
1478 2004-09-01  Pavel S. Shirshov  <me@pavelsh.pp.ru>
1480         * color.c (mc_init_pair): Use cast to avoid warning.
1481         * screen.c (display_mini_info): Likewise.
1482         * slint.c (do_define_key): Likewise.
1483         * tree.c (tree_show_mini_info): Likewise. (show_tree):Likewise.
1484         * view.c (view_status): Likewise.
1486 2004-08-29  Roland Illig  <roland.illig@gmx.de>
1488         * background.c (do_background): Fixed file descriptor leak.
1490 2004-08-29  Roland Illig  <roland.illig@gmx.de>
1492         * Code cleanup: Added const qualifier for variables and
1493         function declarations where possible. No functional changes.
1495 2004-08-26  Roland Illig  <roland.illig@gmx.de>
1497         * cmd.c (do_link): Fixed memory leak and cleaned up code.
1499 2004-08-21  Pavel Shirshov  <me@pavelsh.pp.ru>
1501         * utilunix.c (tilde_expand): Use more suitable function
1502         g_strndup, instead sequence g_malloc, strncpy, name[len] = '\0'
1504 2004-08-19  Roland Illig  <roland.illig@gmx.de>
1506         * util.h (move_backward2): Fixed endless loop. Cleaned up code.
1507         The only case that's left with the old code is text mode with
1508         line wrapping. (move_backward2_textmode_wrap): The special case
1509         of moving some lines up in text mode with line wrapping enabled.
1511 2004-08-19  Roland Illig  <roland.illig@gmx.de>
1513         * util.h: Added the function free_after for easier handling
1514         of dynamically allocated strings.
1516 2004-08-19  Roland Illig  <roland.illig@gmx.de>
1518         * util.c: Added the function str_replace, which replaces
1519         all occurences of a character in a string.
1521 2004-08-16  Roland Illig  <roland.illig@gmx.de>
1523         * achown.c (apply_advanced_chowns): Added explicit cast
1524         (uid_t) -1 and (gid_t) -1, as on most systems uid_t and gid_t
1525         are unsigned. This avoids a GCC warning about comparison
1526         between types differing in signedness. No functional changes.
1528         * background.c (background_attention): Replaced int with ssize_t
1529         to correctly handle calls to POSIX read(). No other functional
1530         changes.
1532         * boxes.c: const'ified some declarations. Now using the
1533         NULL_QuickWidget macro to mark the end of arrays of QuickWidgets.
1534         No functional changes.
1536         * chown.c: Added missing initializers. No functional changes.
1538         * color.c (configure_colors_string): Using size_t for variables
1539         indexing arrays. (get_color): likewise. (init_colors): likewise.
1540         No functional changes.
1542         * command.c: Using size_t for variables indexing arrays.
1543         (command_insert): Changed the type of the second parameter to
1544         const char *, as it is not modified inside the function.
1545         (do_cd_command): Added a comment about quoting the argument to
1546         the internal "cd" command. No functional changes.
1548         * complete.c: TODO
1550         * dialog.c (create_dlg): Made the parameters help_ctx and title
1551         const. No functional changes.
1553         * execute.c (execute_with_vfs_arg): Applied necessary changes to
1554         the new mc_ungetlocalcopy.
1556         * ext.c: Applied necessary changes to the new mc_ungetlocalcopy.
1558         * file.c: Needs the implementation details of the vfs, so include
1559         "../vfs/vfs-impl.h". Adjusted some data types to size_t and const
1560         char *. No functional changes.
1562         * filegui.c: Now using NULL_QuickWidget as initializer.
1563         No functional changes.
1565         * find.c: Added const modifier for text of buttons. No functional
1566         changes.
1568         * global.h: New macro const_cast to indicate places where a const
1569         is casted away but ideally shouldn't.
1571         * hotlist.c: Type changes to size_t and const char *. No functional
1572         changes.
1574         * info.c (info_show_info): Explicitly casted st.st_blocks to avoid
1575         invalid typed argument for printf. Changed a literal 0xffffffff to
1576         -1 to fit into the type with which it is compared. No functional
1577         changes.
1579         * key.c: Added a const modifier. No functional changes.
1581         * layout.c: Added const modifiers and changed int to size_t where
1582         appropriate. No functional changes.
1584         * main.c: Added explicit initializers to global variables. Replaced
1585         the initializer 0 by NULL for pointers. Removed the (unused)
1586         parameter for keyboard-mapped functions. (version): Renamed to
1587         show_version to avoid name conflicts with equally-named variables.
1588         Added missing initializers for popt arguments.
1590         * main.h: Fixed the FIXME near the key_callback typedef.
1591         (vfs_print_message): Added a const modifier to the msg parameter.
1593         * menu.c (create_menu): Avoided a GCC warning concerning the
1594         comparison of unsigned and signed expressions. No functional changes.
1596         * mountlist.c: Replaced (char *) 0 by NULL. No functional changes.
1598         * options.c: Made PAUSE_OPTIONS look uniformly. Added const modifier
1599         where appropriate. No functional changes.
1601         * popthelp.c: Added missing initializers. No functional changes.
1603         * profile.c (profile_clean_section): Added const modifier to
1604         parameter appname. No functional changes.
1606         * screen.c (string_file_name): Replaced int by size_t.
1607         (string_file_perm_octal): Changed output format to long octal, because
1608         there might be more than 16 significant bits. Added the specialized
1609         function type panel_key_callback and added wrapper functions for
1610         functions that don't ordinarily take a WPanel * argument.
1612         * slint.c (SLang_getkey2): Replaced memcpy by memmove, as src and
1613         dest are overlapping. Changed an int to a size_t.
1615         * subshell.c (check_sid): Added prototype to the definition.
1616         Removed unnecessary casts from void * to char *.
1617         Fixed a format string bug (changed %s to %d for a file descriptor).
1619         * textconf.c (version): Renamed to show_version to avoid name
1620         conflicts with variables.
1622         * tree.c: Added an own callback function type that takes a WTree *
1623         as first parameter and adjusted the calling functions.
1625         * util.c (str_replace): replaces all occurences of a character by
1626         another character. Modifies the given string in-place.
1627         (x_basename): Now returns a const char * instead of a char *.
1629         * util.h (free_after): Frees its second argument after evaluating
1630         both arguments. See util.h for usage.
1632         * utilunix.c (tilde_expand): Now using g_strdup instead of g_malloc
1633         + strncpy.
1635         * widget.c: Added the const modifier for strings in many places.
1637         * wtools.c: Added the const modifier for strings in many places.
1639         * view.c: Replaced various occurences of int, long and unsigned long
1640         (all meaning the same) by the newly created offset_type to have
1641         a uniform look. (move_backward2): Simplified the function to be
1642         more readable. Outsourced the hardest case into
1643         move_backward2_textmode_wrap and left it with the old code.
1645 2004-08-19  Pavel Shirshov  <me@pavelsh.pp.ru>
1647         * utilunix.c (mc_tmpdir): Fix typos in comment.
1648         Set MC_TMPDIR environment variable for vfs scripts.
1649         Clear error after successful test of mc temp dir.
1651 2004-08-19  Pavel Shirshov  <me@pavelsh.pp.ru>
1653         * screen.c (paint_frame): Fix possible buffer overflow.
1655 2004-08-18  Pavel Shirshov  <me@pavelsh.pp.ru>
1657         * background.c (do_background): Use O_RDWR when opening
1658         the file '/dev/null' for replacement standard streams.
1660 2004-08-17  Pavel Shirshov  <me@pavelsh.pp.ru>
1662         * utilunix.c (mc_tmpdir): Check return value of getpwuid()
1663         for NULL.
1665 2004-04-18  Pavel Roskin  <proski@gnu.org>
1667         * vfsdummy.h [!USE_VFS]: Make sure that vfs_canon() doesn't
1668         change the original string.  Fix compilation without VFS.
1670 2004-03-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
1672         * achown.c (init_chown_advanced) [ENABLE_NLS]: i18n fix.
1673         * user.c (extract_line): Add a new parameter (size of the
1674         output buffer) to prevent buffer overflow.
1676 2004-03-05  Pavel Roskin  <proski@gnu.org>
1678         * subshell.c: Partly revert previous patch to preserve
1679         translated strings.
1681 2004-02-09  Pavel Roskin  <proski@gnu.org>
1683         * subshell.c: Use "\r\n" at the end of all error messages.
1684         Don't use perror().  Make error messages more exact.
1686 2004-01-23  Pavel Roskin  <proski@gnu.org>
1688         * utilunix.c (canonicalize_pathname): Add support for UNC paths.
1690         * utilunix.c (canonicalize_pathname): Return void to make it
1691         clear that the conversion is done in place.  Adjust all callers.
1693         * filegui.c (init_replace): Don't show the "Reget" button when
1694         moving files.  Reported by Arpad Biro <biro_arpad@yahoo.com>
1696         * fileopctx.h: Add "operation" filed to FileOpContext.
1697         * fileopctx.c (file_op_context_new): Add "operation" argument.
1698         * filegui.c (file_op_context_create_ui): Remove "operation"
1699         argument, it's known already.  Adjust all callers.
1701 2004-01-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
1703         * user.c (execute_menu_command): Put /bin/sh in the beginning of
1704         the script.
1706 2004-01-22  Pavel Roskin  <proski@gnu.org>
1708         * screen.c (display_mini_info): Correctly fill the space after
1709         "<readlink failed>".
1711         * glibcompat.h: Fix definition of g_try_realloc().
1713 2003-12-24  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
1715         * key.c (get_event): Treat all negative values of gpm_fd in the
1716         same way.  Add one more check that gpm is alive.
1718 2003-12-24  Pavel Roskin  <proski@gnu.org>
1720         * layout.c (rotate_dash): Set color before printing the dash.
1722 2003-12-01  Pavel Roskin  <proski@gnu.org>
1724         * command.c (examine_cd): Add tilde expansion.
1726 2003-11-28  Pavel Roskin  <proski@gnu.org>
1728         * utilunix.c (tilde_expand): Correct last fix, simplify code.
1729         Reported by David Sterba <dave@jikos.cz>
1731 2003-11-27  Pavel Roskin  <proski@gnu.org>
1733         * execute.c (toggle_panels): Refresh panels after returning from
1734         Ctrl-O.
1736         * cmd.c (view_file_cmd): Use input_expand_dialog().
1738         * wtools.c (quick_dialog_skip): Perform tilde expansion on input
1739         widgets that use cd completion.
1741         * utilunix.c (tilde_expand): Preserve tilde if the username
1742         could not be found.  Don't ever return NULL.  Change callers not
1743         to check for NULL.
1745         * dialog.c (do_select_widget): New function that is the only one
1746         calling dlg_focus() and dlg_unfocus().  Incorporate code from
1747         other functions that did it.
1748         (dlg_select_widget): Change return type to void.
1750 2003-11-26  Pavel Roskin  <proski@gnu.org>
1752         * dialog.h (dlg_widget_active): New function - check if the
1753         widget is active.
1754         * boxes.c (display_callback): Use it.
1755         * layout.c (swap_panels): Likewise.
1756         * screen.c (do_panel_event): Likewise.
1758         * dialog.c: Eliminate callback macro.
1760         * dialog.c (dlg_replace_widget): Use dlg_select_widget().
1761         (select_a_widget): Rename to select_other_widget(), factorize
1762         most code from dlg_one_up() and dlg_one_down().
1764 2003-11-24  Pavel Roskin  <proski@gnu.org>
1766         * complete.c (check_is_cd): Simplify logic, use isspace().
1768 2003-11-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
1770         * hotlist.c (add_new_group_input): Clean up.
1771         * wtools.c (do_create_message): Eliminate g_strdup_printf().
1772         (bg_message): Likewise.
1774 2003-11-21  Pavel Roskin  <proski@gnu.org>
1776         * view.c (check_left_right_keys): Implement fast scrolling if
1777         Ctrl is pressed.  Idea by Arpad Biro <biro_arpad@yahoo.com>
1779         * execute.c (do_execute): Use get_key_code(), not getch() to
1780         consume all characters from a single sequence.
1781         Reported by Miven Dooligan <dooligan@intergate.ca>
1783 2003-11-20  Pavel Roskin  <proski@gnu.org>
1785         * glibcompat.h: Provide replacement for g_slist_delete_link().
1786         Reported by Pavel S. Shirshov <me@pavelsh.pp.ru>
1788 2003-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
1790         * util.c (load_mc_home_file): Eliminate g_strdup_printf().
1792 2003-11-19  Pavel Roskin  <proski@gnu.org>
1794         * user.c (expand_format): Preserve "%" if followed by a
1795         characted without special meaning.
1797 2003-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
1799         * glibcompat.h: Define g_try_realloc as realloc for glib 1.2.x.
1801 2003-11-14  Pavel Roskin  <proski@gnu.org>
1803         * main.c (midnight_callback): Ctrl-Shift-Enter now copies full
1804         path to the command line, like in Total Commander.
1806 2003-11-07  Pavel Roskin  <proski@gnu.org>
1808         * boxes.c: Include "../vfs/gc.h" if VFS is used.
1809         * hotlist.c: Likewise.
1810         * key.c: Likewise.
1811         * main.c: Likewise.
1812         * setup.c: Likewise.
1814         * view.c (free_file): Don't use check_error_pipe(), display
1815         error messages in close_error_pipe().
1816         * utilunix.c (check_error_pipe): Remove, it's unused.
1818 2003-10-30  Andrew V. Samoilov  <sav@bcs.zp.ua>
1820         * widget.[ch] (listbox_search_text): Constify "text" argument.
1821         (listbox_add_item): Ditto.
1823         * find.c (add_to_list): Make inline.
1824         (stop_idle): Ditto.
1825         (status_update): Ditto.
1826         (get_list_info): Ditto.
1828         (push_directory): Constify "dir" argument and use
1829         concat_dir_and_file() instead of g_strdup().
1831         (find_add_match): Constify "dir" and "file" arguments.
1832         (insert_file): Ditto. Don't append trailing PATH_SEP, it's done
1833         in push_directory().
1835         (search_content): Constify "directory" and "filename" arguments.
1836         (do_search): Make "directory" char * instead of char[].
1838 2003-10-29  Pavel Roskin  <proski@gnu.org>
1840         * fsusage.c: Merge ...
1841         * mountlist.c: ... here.  These files are closely related.  Move
1842         some defines from extraconf.h here.
1843         * fsusage.h: Remove.
1844         * Makefile.am: Remove fsusage.c and fsusage.h.
1846 2003-10-28  Pavel Roskin  <proski@gnu.org>
1848         * ext.c (regex_check_type): Use mc_getlocalcopy() instead of
1849         piping first 8k to "file".  If the user selected the file, we
1850         are likely to need the whole file.  Besides, mc_getlocalcopy()
1851         on ftpfs and fish shares file cache with other VFS operations.
1852         (get_file_type_pipe): Remove.
1853         (mc_doublepopen): Likewise.
1854         (mc_doublepclose): Likewise.
1856 2003-10-27  Pavel Roskin  <proski@gnu.org>
1858         * utilunix.c: Move mc_doublepopen() and mc_doublepclose() ...
1859         * ext.c: ... where they are used.
1861         * slint.c (mc_refresh): Revert last change - it breaks screen
1862         restoring on rxvt.
1864         * tree.c (tree_rmdir_cmd): Don't change to the root directory -
1865         it's not needed now.
1867         * win.c (check_movement_keys): Add support for Ctrl-PgDown,
1868         Ctrl-PgUp, Ctrl-Home and Ctrl-End.
1870 2003-10-26  Pavel Roskin  <proski@gnu.org>
1872         * terms.c: Merge ...
1873         * win.c: ... here.
1874         * Makefile.am: Remove terms.c.
1876         * panel.h: Fix duplication between cpanel and current_panel in
1877         favor of current_panel.  Ditto opanel and other_panel.
1879         * main.c (get_current_panel): Remove.
1880         (get_other_panel): Move ...
1881         * layout.c: ... here.
1883         * info.h: Don't expose WInfo internals.
1885         * background.c (tell_parent): Eliminate.
1886         (background_attention): Use error code instead.
1887         * file.c (panel_operate): Exit with code 0, not 1.
1889         * wtools.c: Merge mc_message() and message() into one background
1890         safe function message().  Fix all callers.
1892         * i18n.h: Include into global.h.
1893         * Makefile.am: Remove i18n.h.
1895 2003-10-25  Pavel Roskin  <proski@gnu.org>
1897         * background.c: Clean up includes.
1898         (do_background): Set current_dlg to NULL for the child process.
1899         * dialog.h (do_complete_refresh): Don't use we_are_background.
1900         * file.h: Remove dependency on background.h.
1901         * background.h: Define we_are_background.  Move mc_message() ...
1902         * wtools.h: ... here.
1903         * key.h: Don't define we_are_background.
1904         * slint.c (mc_refresh): Use current_dialog instead of
1905         we_are_background to fix compilation without WITH_BACKGROUND.
1907         * background.c (do_background): Use pipe() instead of less
1908         portable socketpair().  Close comm[0] in the child.
1910         * wtools.c (mc_message): Fix argument expansion.
1912         * background.c: Leave only code used when WITH_BACKGROUND is
1913         defined. The rest goes ...
1914         * wtools.c: ... here.
1916         * background.c: Remove mymsg.
1918         * util.c (msglen): Constify first argument.
1919         * wtools.c (query_dialog): Constify string arguments.
1920         (create_message): New function, forked from message().
1921         (message): Return void.  Allocate memory dynamically.
1922         * wtools.h: Eliminate D_INSERT.  Adjust all users.
1924         * background.c: Replace all message stubs with a new function
1925         mc_message().  Protect against strlen(MSG_ERROR).  Adjust all
1926         dependencies.
1928 2003-10-25  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
1930         * hotlist.c (remove_from_hotlist): Fix improper check of the
1931         return value - group could be deleted after pressing ESC.
1933 2003-10-25  Pavel Roskin  <proski@gnu.org>
1935         * background.c (background_attention): Unregister task before
1936         calling message() to avoid recursion.
1937         (message_3s): Fix the number of arguments.
1939         * command.c (enter): Don't change current_dlg to NULL.  It
1940         breaks repainting of the panels.  Simplify logic.
1942         * key.c (init_key_x11): Warning fix for gcc 3.3.2.
1944 2003-10-24  Pavel Roskin  <proski@gnu.org>
1946         * fs.h (compute_namelen): Fix warning about unused argument.
1947         * man2hlp.c (handle_tp_ip): Likewise.
1949         * dialog.c (dlg_key_event): Simplify logic, return void.
1951         * dialog.c: Remove duplication between two chains of dialogs.
1952         * dialog.h (struct Dlg_head): Add "fullscreen" field, remove
1953         "refresh_pushed", rename "previous_dialog" to "parent".
1955         * tree.h: Fix unneeded dependency on dialog.h.
1956         * layout.h: Likewise.
1958         * dlg.h: Merge with ...
1959         * dialog.h: ... this.  Adjust all dependencies.
1960         * dlg.c: Merge with ...
1961         * dialog.c: ... this.
1962         * Makefile.am (SRCS): Remove dlg.h and dlg.c.
1964         * dlg.h: Declare idle_hook here.
1966         * dialog.c: Eliminate typedef Refresh, unneeded includes.
1968         * complete.h: Move CompletionFunction definition ...
1969         * complete.c: ... here.
1971         * color.c (dealloc_color_pairs): Rename to ...
1972         (done_colors): ... this.
1973         * layout.c (done_screen): Call done_colors() here ...
1974         * slint.c (slang_shutdown): ... but not here, as it's not S-Lang
1975         specific.
1977         * cmd.c: Remove source routing code.
1978         * main.c: Likewise.
1980         * screen.c (user_file_menu_cmd): Move ...
1981         * cmd.c: ... here.
1982         * cmd.h: Remove unused declarations.
1984         * chmod.c (stat_file): Eliminate.  Use mc_stat().
1985         * chmod.h: Remove unneeded code.
1986         * chown.h: Likewise.
1987         * main.c: Include achown.h.
1989         * fileopctx.h: Define struct FileOpContext.
1990         * background.h: Avoid conditional declarations.
1992         * dir.h: Eliminate DIR_H_INCLUDE_HANDLE_DIRENT.  Adjust all
1993         callers.  Remove unused code.
1994         * dlg.h: Remove unused code.
1995         * panel.h: Likewise.
1997 2003-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
1999         * dir.c (if_link_is_exe): Check mc_stat() return value.
2000         Make full_name and file_entry const.
2001         (link_isdir): Make file_entry const.
2002         * dir.h: Adjust declarations.
2004 2003-10-24  Pavel Roskin  <proski@gnu.org>
2006         * view.c (view_handle_editkey): Fix prototype.
2007         (toggle_hex_mode): Don't mess with parent's flags - it can
2008         permanently disable Tab switch between panels.
2009         (view): Use DLG_WANT_TAB for full screen only, unconditionally.
2011 2003-10-23  Pavel Roskin  <proski@gnu.org>
2013         * tree.h: Don't include treestore.h.  Fix sources to include
2014         treestore.h when needed.
2015         * treestore.h: Eliminate useless typedefs.
2017         * treestore.c (tree_store_start_check_cwd): Eliminate.
2018         (tree_store_start_check): Make globally visible.
2019         * dir.c (do_load_dir): Use path supplied as argument.  Call
2020         tree_store_start_check() after the directory is opened.
2021         (do_reload_dir): Likewise.
2023 2003-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
2025         * dir.c (do_reload_dir): Fix memory leaks.
2027 2003-10-23  Pavel Roskin  <proski@gnu.org>
2029         * win.c (check_movement_keys): Remove "additional" argument,
2030         it's always 1.
2032         * view.c: (put_editkey): Rename to ...
2033         (view_handle_editkey): ... this.  Move here some logic from ...
2034         (view_handle_key): ... here.
2036         * view.c: Eliminate struct block_ptr_t and enum ViewSide.
2037         Rename ascii mode to text mode.
2039         * view.c (WView): Remove unused fields localcopy and file_dirty.
2040         Make boolean fields 1 bit wide.
2042         * view.c (toggle_hexedit_mode): New function, split from ...
2043         (toggle_wrap_mode): ... this.
2044         (view_labels): Fix overuse of the :? operator.  Don't allow
2045         editing files in quick view - it's easy to lose changes.
2047         * main.c (process_args): Use cast to avoid warning.
2049         * view.c (view_callback): Don't close the current dialog when
2050         the viewer is framed.
2052 2003-10-16  Pavel Roskin  <proski@gnu.org>
2054         * main.c (update_one_panel_widget): Use VFS_SETCTL_FLUSH for the
2055         current directory.  This fixes Ctrl-R on fish.
2056         * vfsdummy.h: Remove unused functions.
2058         * main.c (process_args): Use VFS_SETCTL_LOGFILE for ftpfs.
2060 2003-10-15  Pavel Roskin  <proski@gnu.org>
2062         * glibcompat.h: Define g_try_malloc as malloc for glib 1.2.x.
2064         * view.c (load_view_file): Use g_try_malloc() because the
2065         failure to allocate memory is acceptable here.
2066         Reported by Pavel S. Shirshov <me@pavelsh.pp.ru>
2068 2003-10-14  Pavel Roskin  <proski@gnu.org>
2070         * tree.c: Remove dead code.
2071         * treestore.c (tree_store_add_entry): Make static.
2072         (tree_store_start_check): Likewise.
2074         * cmd.c: Cleanup of unneeded global functions and data.
2075         * color.c: Likewise.
2076         * dir.c: Likewise.
2077         * file.c: Likewise.
2078         * filegui.c: Likewise.
2079         * hotlist.c: Likewise.
2080         * layout.c: Likewise.
2081         * main.c: Likewise.
2082         * panelize.c: Likewise.
2083         * wtools.c: Likewise.
2085 2003-10-12  Pavel Roskin  <proski@gnu.org>
2087         * screen.c (do_enter_on_file_entry): Remove annoying message "no
2088         action taken".  Simplify logic.  Confirmation affects VFS too.
2090 2003-10-11  Pavel Roskin  <proski@gnu.org>
2092         * vfsdummy.h: New file to replace vfs.h if VFS is disabled.
2093         * Makefile.am: Add vfsdummy.h.
2094         * global.h [!USE_VFS]: Include vfsdummy.h.  Fix files that
2095         include vfs.h directly.
2097         * file.c (check_hardlinks): Use vfs_file_class_flags().
2099         * main.c (_do_panel_cd): Use vfs_release_path().
2101         * file.c: Use struct vfs_class, not type vfs, which should be
2102         internal to VFS code.
2104 2003-10-08  Pavel Roskin  <proski@gnu.org>
2106         * background.h: Eliminate background_wait variable.  Adjust all
2107         dependencies.
2109         * main.c (argument_table): Reorder options into logical groups.
2111 2003-10-07  Pavel Roskin  <proski@gnu.org>
2113         * dlg.c (dlg_broadcast_msg): Use widget_msg_t type.
2114         (dlg_broadcast_msg_to): Likewise.
2116 2003-09-29  Koblinger Egmont  <egmont@uhulinux.hu>
2118         * main.c (copy_other_pathname): Trailing slash was not always
2119         inserted when it should be.
2121 2003-09-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
2123         * find.c (do_search): Use strncpy() instead of unsafe strcpy().
2124         Check mc_(l)stat() return values.
2126 2003-09-24  Pavel Roskin  <proski@gnu.org>
2128         * key.c (xterm_key_defines): More sequences for gnome-terminal.
2130 2003-09-23  Pavel Roskin  <proski@gnu.org>
2132         * key.c (xterm_key_defines): Add more sequences.
2134 2003-09-22  Pavel Roskin  <proski@gnu.org>
2136         * find.c (find_file): Don't call file_mark(), it would use
2137         uninitialized data.
2138         * main.c (panel_clean_dir): Make panel dirty.
2140         * glibcompat.c: New file for compatibility with older versions
2141         of glib.
2142         * glibcompat.h: Likewise.
2143         * Makefile.am: Add the new files SOURCES.
2144         * global.h: Include glibcompat.h.
2146         * menu.c (menu_scan_hotkey): Use g_strlcpy() to avoid undefined
2147         behavior when using strcpy() on overlapping strings.
2148         * profile.c (GetSetProfile): Likewise.
2149         * widget.c (button_scan_hotkey): Likewise.
2150         Found by Valgrind.
2152 2003-09-13  Pavel Roskin  <proski@gnu.org>
2154         * dlg.c (dlg_replace_widget): Clean rewrite.  It was broken
2155         after eliminating Widget_Item.
2157         * menu.h: Return to keeping dialog id instead of a widget
2158         pointer for previous widget.  The widget can be replaced in the
2159         meantime.
2160         * dlg.c (dlg_select_by_id): New function, essentially a cleaner
2161         implementation of dlg_select_nth_widget().
2163         * dlg.h: Remove "first" field for dialogs and DLG_HAS_MENUBAR.
2164         * dlg.c (dlg_mouse_event): Remove menubar hack.
2165         * screen.c (do_panel_event): Redirect mouse events on the upper
2166         frame to the menubar if it's invisible.
2167         (panel_event): Don't repaint the panel after redirected events.
2169 2003-09-12  Pavel Roskin  <proski@gnu.org>
2171         * screen.c (panel_event): Make sure that the panel is repainted
2172         after the event is processed.
2174         * hotlist.c (l_call): Fix incorrect calls to hotlist_callback().
2176         * dlg.h: Merge Widget_Item into Widget.  Massive adjustment.
2178         * main.c (setup_panels_and_run_mc): Use straight widget order in
2179         midnight_dlg.  Select initial panel by dlg_select_widget().
2181         * menu.h (WMenu): Save pointer to the previous widget, not its
2182         number.  Adjust all dependencies.
2183         * menu.c (menubar_finish): Restore focus on the saved widget.
2184         * dlg.c (dlg_item_number): Remove, it's unused now.
2185         (dlg_select_nth_widget): Likewise.
2187         * help.c (interactive_display): Use straight widget order.
2189         * complete.c (complete_engine): Don't need DLG_REVERSE.
2190         * widget.c (show_hist): Likewise.
2191         * view.c (view): Use straight widget order.
2193         * dlg.h: Replace DLG_BACKWARD to DLG_REVERSE with a better
2194         defined meaning.  Make it default to populate dialogs from the
2195         top.  Change all calls to create_dlg().
2197         * dlg.c: DLG_BACKWARD now affects how the dialog is populated by
2198         widgets, not the runtime behavior.
2199         (init_dlg): Don't change current widget.  This allows using
2200         dlg_select_widget() before the dialog is run.
2201         * dlg.h: Remove initfocus field.
2202         * wtools.c (query_dialog): Use dlg_select_widget(), not
2203         initfocus to set the initial widget.
2205         * widget.c (input_callback): Don't handle Enter.
2206         Requested by Ali Akcaagac <aliakc@web.de>
2208         * chmod.c (chmod_callback): Fix uninitialized variable.
2210 2003-09-11  Pavel Roskin  <proski@gnu.org>
2212         * main.c (midnight_callback): Don't redraw dirty panels if the
2213         menubar is active.
2215         * dlg.c (add_widget): New, safer implementation.  Don't rely on
2216         the position of the first widget.  Disable insertion into
2217         running dialogs - it's unused and cannot be tested.
2219         * boxes.c (symlink_dialog): Add "OK" and "Cancel" buttons.
2220         Don't translate strings, it's done in quick_dialog().
2221         Reported by Ali Akcaagac <aliakc@web.de>
2223 2003-09-10  Pavel Roskin  <proski@gnu.org>
2225         * dlg.h: Remove "last" field from Dlg_head, it's unneeded in a
2226         circularly linked list.
2228         * screen.c (paint_dir): Don't make panel clean here.
2229         (panel_update_contents): Do it here.
2230         (panel_callback): Repaint the panel on focus.
2231         (select_item): Don't paint anything here.
2233         * dlg.h (send_message): Use cb_ret_t and widget_msg_t.
2235         * main.c (menu_cmd): If the current panel is inactive, use the
2236         opposite side to start menu.
2238         * dlg.h: Use cb_ret_t and widget_msg_t in widget callbacks.
2239         Massive adjustment for the above.
2241         * chmod.c (chmod_toggle_select): Get id as argument.
2243         * dlg.h: Remove restroy callback.  Widgets should use
2244         WIDGET_DESTROY.  Adjust all dependencies.
2246         * dlg.c: Don't supply ID of the current widget with any
2247         callbacks.  It's mostly useless and can be found by the
2248         callback.
2249         * layout.c: Likewise.
2250         * widget.c: Likewise.
2251         * chmod.c (chmod_callback): Adjust for the above.
2253         * layout.c (layout_change): Make static.
2254         * screen.c (paint_panel): Likewise.
2255         * cmd.c (dirsizes_cmd): Use dirty flag.
2256         * tree.c (chdir_sel): Don't call paint_panel().
2258         * find.c: Remove useless calls to paint_panel().
2259         * panelize.c: Likewise.
2261         * screen.c (use_display_format): Set dirty flag.  Remove calls
2262         to paint_panel() where they become unneeded.
2264         * screen.c (file_mark): Set dirty flag if the mark changes.
2265         * cmd.c: Remove calls to paint_panel() due to file marks.
2267         * screen.c (update_dirty_panels): New function - update panels
2268         with the dirty flag.
2269         (panel_update_contents): Make static, don't call directly.
2270         * main.c: Don't call panel_update_contents(), use dirty flag.
2271         (midnight_callback): Call update_dirty_panels().
2273 2003-09-09  Pavel Roskin  <proski@gnu.org>
2275         * find.c (find_parameters): Make "filename" entry focused on
2276         startup - it's used more often than "start at".
2278         * widget.c (button_callback): Don't let the default button steal
2279         Enter from the current button.
2281         * widget.c (button_callback): Treat Enter as hotkey for the
2282         default button.
2283         * wtools.c (quick_callback): Remove, it's unneeded now.
2285         * wtools.c (quick_callback): Restore old obscure functionality -
2286         DLG_KEY should not return MSG_HANDLED to allow the button
2287         callback to override the dialog return value.
2289         * key.c (xterm_key_defines): Add keypad keys.
2290         Reported by Vyacheslav Filyayev <vfilyayev@d2.khai.edu>
2292 2003-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
2294         * view.c (view_init): Constify "_command" argument.
2295         (view): Likewise.
2296         (do_view_init): Likewise.
2297         (init_growing_view): Constify "name" and "filename" args.
2298         * view.h: Fix declarations and comment.
2300         * user.c (execute_menu_command: Fix rare segmentation violation
2301         if last line in menu file contain space(s) only and no trailing
2302         newline.
2304 2003-09-07  Pavel Roskin  <proski@gnu.org>
2306         * listmode.c: Use groupboxes.
2308         * layout.c (init_layout): Use groupboxes.
2310         * widget.c: Implement new widget - groupbox.
2311         * option.c: Use it.
2313         * layout.c: Fix remaining callback calls.
2314         * widget.c: Likewise.
2316         * dlg.h: Use new types for dialog callbacks.
2317         (dlg_cb_fn): Swap msg and parm arguments for consistency with
2318         widget callbacks.  Adjust all dependencies.
2320         * dlg.h: Remove WIDGET_USER.  Define new types dlg_msg_t,
2321         widget_msg_t and cb_ret_t.
2323         * dlg.c (find_widget_type): Take pointer to void to avoid casts
2324         everywhere.  Adjust all callers.
2326         * main.c (midnight_callback): Fix for the last commit - repaint
2327         the panel if the search mode is unset.
2329         * dlg.h: Remove DLG_PRE_EVENT, it's unused now.
2331         * main.c (make_panels_dirty): Remove, it's unneeded now.
2332         (midnight_callback): Don't call make_panels_dirty().  Mark
2333         current panel dirty if the search mode is unset.  No need to set
2334         attributes before calling show_console_contents().
2336         * dlg.h: Convert send_idle_msg field to a publicly visible flag
2337         DLG_WANT_IDLE.
2338         * main.c (midnight_callback): Move auto_menu handling to the
2339         handler for DLG_IDLE.
2340         (do_nc): Request idle events.
2342 2003-09-06  Pavel Roskin  <proski@gnu.org>
2344         * dlg.c: Fix a bug when DLG_HOTKEY_HANDLED would not be
2345         delivered if the current widget already has focus.
2347 2003-09-04  Andrew V. Samoilov  <sav@bcs.zp.ua>
2349         * user.c (execute_menu_command): Implement %view macro.
2351 2003-09-03  Pavel Roskin  <proski@gnu.org>
2353         * wtools.c (create_listbox_window): Don't repaint the dialog
2354         before it's run.
2356         * learn.c: Don't track button hotkeys.
2357         (learn_check_key): Consume all alphanumeric keys, regardless of
2358         button hotkeys.
2360 2003-09-01  Pavel Roskin  <proski@gnu.org>
2362         * listmode.c: Create all buttons in one place.  Remove unneeded
2363         low-level drawing.
2364         (listmode_edit): Return NULL on cancel.
2365         * main.c (listmode_cmd): Actually use the result of
2366         listmode_edit().
2368         * listmode.c: Use callbacks for Add and Remove buttons.  Don't
2369         run dialog in the loop, it doesn't work this way.
2371         * widget.h: Define type bcback for button callbacks.
2373         * widget.c (listbox_new): Remove "action" argument.  Listboxes
2374         without callbacks default to closing the dialog.  Adjust all
2375         users.  This fixes double click on completion listbox.
2376         * widget.h: Use uppercase names for the return values of the
2377         listbox callback.
2379         * hotlist.c (update_path_name): Avoid using global variable.
2380         (l_call): Likewise.
2382         * widget.h: Eliminate listbox_cback.  Call listbox callback
2383         whenever it's defined.  Adjust all users.
2385         * widget.h: Use exact type in the listbox callback.  Adjust all
2386         legitimate users, remove all unused callbacks.
2388         * boxes.c: Fix GUI code for some non-default configurations.
2389         * listmode.c: Likewise.
2391 2003-08-31  Pavel Roskin  <proski@gnu.org>
2393         * widget.h (button_new): Remove unused extra argument.  Adjust
2394         all dependencies.
2396         * option.c (check_options): Remove tk field.
2397         * widget.c: Comment fix to get rid of references to Tk.
2398         * wtools.c (real_input_dialog_help): Rename tk_name to histname.
2399         Remove names from non-input widgets.
2401         * widget.h: Completely get rid of tkname.  Rename it to histname
2402         for the input widget.  Adjust all dependencies.
2404         * dlg.h (struct Widget): Remove tkname field.
2405         (init_widget): Remove tkname argument.
2406         * widget.h (listbox_new): Likewise.
2407         Adjust all dependencies.
2409 2003-08-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
2411         * cmd.c (edit_symlink_cmd): Fix possible off-by-one after
2412         readlink().
2413         * file.c (make_symlink): Likewise.
2414         * main.c (copy_readlink): Likewise.
2415         * screen.c (display_mini_info): Likewise.
2416         (chdir_to_readlink): Likewise.
2417         * util.c (resolve_symlinks): Likewise.
2419 2003-08-18  Pavel Roskin  <proski@gnu.org>
2421         * cmd.c (delete_cmd_local): New function.  Remove file under the
2422         cursor, regardless of marks.
2423         * screen.c (panel_keymap): Bind it to F18.
2425         * file.c (panel_operate_generate_prompt): Remove source
2426         calculation, it doesn't belong here.
2427         (panel_operate): Change arguments: drop ask_user and thedefault,
2428         introduce force_single.  force_single changes default to the
2429         current file and ignores selection.  Adjust all dependencies.
2431 2003-08-17  Pavel Roskin  <proski@gnu.org>
2433         * dir.h (file_entry): Rename "buf" to "st".  Adjust all
2434         dependencies.
2436 2003-08-01  Pavel Roskin  <proski@gnu.org>
2438         * main.c: Rename PanelMenu to LeftMenu.  Don't assume that
2439         LeftMenu and RightMenu are identical.
2440         From Pavel Tsekov <ptsekov@gmx.net>
2442 2003-07-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
2444         * main.c: Make more variables static.
2446 2003-07-23  Pavel Roskin  <proski@gnu.org>
2448         * key.c (xterm_key_defines): Add more sequences for xterm-179 by
2449         Thomas E. Dickey.
2451 2003-07-21  Pavel Roskin  <proski@gnu.org>
2453         * subshell.c (pty_open_master) [HAVE_GRANTPT]: Prefer
2454         posix_openpt() over GNU-specific getpt().  Needed for FreeBSD
2455         5.x.  Original patch by Max Khon <fjoe@FreeBSD.org>
2457         * screen.c (panel_key): Redisplay ministatus if the searching
2458         was turned off.  Reported by gotar@poczta.onet.pl
2460 2003-07-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
2462         * ext.c (regex_check_type): Don't skip first character after ":"
2463         unconditionally.
2465 2003-07-02  Pavel Roskin  <proski@gnu.org>
2467         * ext.c (regex_check_type): Set content_shift to skip the
2468         filename.
2470 2003-06-27  David Sterba  <dave@jikos.cz>
2472         * hotlist.c: Add buttons "Refresh" and "Free VFSs now" to Active
2473         VFS dialog.
2474         (hotlist_button_callback): Handle the buttons.
2475         * main.c: Remove the 'Free VFS now' menu item.
2477 2003-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
2479         * ext.c (regex_check_type): Fix previous change.
2481         * ext.c (regex_check_type): Strip tab(s) after "filename:" in
2482         file output.
2484 2003-06-22  Pavel Roskin  <proski@gnu.org>
2486         * execute.c (do_execute): Make static.  Print end of line after
2487         "Press any key to continue" and user's keystroke, but before
2488         restoring the panels.  Eliminate last_paused variable.  Don't
2489         print fake prompt if there is no command.
2491         * text.c: Eliminate.  Move colors to color.c and clr_scr() to
2492         layout.c.
2493         * main.c (restore_console): Eliminate, use handle_console().
2494         * Makefile.am: Remove text.c.
2496         * execute.c: New file with all functions for execution and
2497         toggling panels not specific to subshell.
2498         * execute.h: Corresponding header.
2499         * Makefile.am: Adjust for the above.
2501         * main.c (execute): Eliminate.  Fix all dependencies.
2502         (shell_execute): Constify string argument.
2504 2003-06-09  Pavel Roskin  <proski@gnu.org>
2506         * key.c (mc_bindings): Remove.  Esc-">" and Esc-"<" are not
2507         always the same as Home and End, at least in mcedit.
2508         (get_key_code): Never ignore Escape outside known sequences.
2509         * screen.c (panel_keymap): Add Esc-">" and Esc-"<".
2510         * tree.c (tree_keymap): Likewise.
2511         * widget.c (input_map): Likewise.
2512         (listbox_key): Likewise.
2513         (check_movement_keys): Likewise.
2514         Reported by Miguel de Icaza <miguel@ximian.com>
2516 2003-06-09  David Sterba  <dave@jikos.cz>
2518         * key.c (correct_key_code): Treat Shift-Backspace as Backspace.
2520 2003-06-06  Pavel Roskin  <proski@gnu.org>
2522         * util.h: Add new match_type - match_regex.
2523         * ext.c: Use it everywhere.
2524         (regex_command): Don't change easy_patterns - it affects the
2525         panel filters.
2526         Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
2528         * view.c (get_byte): Fix off-by-one error.  Found by Valgrind.
2530         * command.c (command_new): Fix memory leak.
2531         * subshell.c (exit_subshell): Free pty_buffer.
2533 2003-06-05  Pavel Roskin  <proski@gnu.org>
2535         * dir.c (do_load_dir): Add new argument "path" to avoid the need
2536         to request the current directory.
2537         (do_reload_dir): Likewise.  Adjust all callers.
2539         * screen.c (panel_destroy): Rewind history to the beginning
2540         before freeing it.
2541         * widget.c (input_destroy): Likewise.
2542         * util.c (list_append_unique): Free data when removing duplicate
2543         list entries.
2545 2003-05-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
2547         * key.c (init_key): Fix crash if TERM is unset.
2549 2003-05-29  Koblinger Egmont  <egmont@uhulinux.hu>
2551         * ext.c (regex_check_type): Recognize and skip "/dev/stdin:"
2552         that can appear in the output of new versions of file.
2554         * util.c (unix_error_string): Convert error string from UTF-8 if
2555         glib 2 is used.
2557         * text.c (default_edition_colors): Change the default for
2558         dhotfocus to be blue on cyan for consistency with dhotnormal.
2560 2003-05-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
2562         * info.c (info_show_info): Cast myfs_stats.avail to double to
2563         fix integer overflow that can cause a negative percent number.
2565 2003-05-05  Jindrich Makovicka  <makovick@kmlinux.fjfi.cvut.cz>
2567         * main.c (directory_history_add): Don't change the directory
2568         passed as the argument, work on a copy.
2570 2003-04-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
2572         * find.c (get_line_at): Strip trailing newline to fix $
2573         matching.
2575 2003-03-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
2577         * file.c (copy_file_file): Fix data corruption if mc_write()
2578         does not write n_read bytes at once.
2579         (move_file_file): Eliminate retry_src_lstat label.
2581 2003-03-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
2583         * view.c (get_line_at): Set prev properly for reverse search.
2584         Don't remove final character in the last line without newline.
2585         (search): During regexp search: handle properly '^'
2586         in forward search and '$' in reverse search.
2587         Based on the patch from Adam Byrtek <alpha@debian.org>.
2589 2003-03-22  Andrew V. Samoilov  <sav@bcs.zp.ua>
2591         * cons.handler.c (set_attr) [__FreeBSD__]: Fix compilation.
2592         Reported by Dmitry Alexeyev <dmi_a@qnx.org.ru>.
2594 2003-03-22  Adam Byrtek  <alpha@debian.org>
2596         * command.c (enter): Check subshell state early and return if
2597         inactive before clearing the command line.
2598         * main.c (force_subshell_execution): Remove magic, unusable,
2599         undocumented command line option "-r".
2601         * subshell.c: Remove dead code (SYNC_PTY_SIDES).
2602         (init_subshell_child): Remove dead code (initfile for TCSH).
2603         (init_subshell): Use ZSH_VERSION environment variable to detect
2604         ZSH.  Use -g option to zsh to hide entries beginning with space
2605         from history.  Add space before ZSH precmd to hide it.
2607 2003-03-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
2609         * view.c (get_line_at): Return unreversed line for backward
2610         search to restore backward regexp search feature.
2611         (icase_search_p): Fix for the above.
2612         Reported by Adam Byrtek <alpha@debian.org>
2614 2003-03-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
2616         * view.c (icase_search_p): Add backward search support.
2617         (search): Likewise.
2618         (block_search): Likewise.
2619         (normal_search): Add "Backwards" button.
2620         (get_line_at): Handle view->direction properly and return
2621         reversed string if backward search required.
2623 2003-03-14  Pavel Roskin  <proski@gnu.org>
2625         * key.c (xterm_key_defines): Add more sequences for xterm, rxvt
2626         and konsole.
2628 2003-03-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
2630         * key.c: Use fputs() instead of fprintf().
2631         (func_XOpenDisplay) [HAVE_GMODULE]: Move to init_key_x11().
2632         (get_modifier) [__QNXNTO__]: Use g_snprintf() instead of unsafe
2633         sprintf().
2635 2003-03-10  Pavel Roskin  <proski@gnu.org>
2637         * key.c (correct_key_code): Convert unrecognized 0177, Ctrl-h
2638         and Ctrl-d into Delete and Backspace.  Remove all references to
2639         those keys in other files.
2641         * key.c (get_modifier) [__QNXNTO__]: Remove incorrect check for
2642         the existence of libph.so.1.
2644 2003-03-10  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
2646         * key.c (get_modifier): Add support for QNX Photon pterm.
2648 2003-03-10  Pavel Roskin  <proski@gnu.org>
2650         * utilunix.c (canonicalize_pathname): Clean rewrite from
2651         scratch.  The old implementation had memory problems with "/.."
2652         and didn't actually strip the leading "./" from path.  Remove
2653         support for obsolete Qnet paths.
2655 2003-03-05  Pavel Roskin  <proski@gnu.org>
2657         * subshell.c (init_subshell_child): Set environment variable
2658         MC_SID to the session number of the subshell.
2659         (check_sid): Check that we are not running mc already in the
2660         same session.
2661         * main.c (main): Don't run do_nc() if shutdown was requested.
2663 2003-03-05  Andrew V. Samoilov  <sav@bcs.zp.ua>
2665         * cons.handler.c (set_attr) [__FreeBSD__]: Eliminate cmd array.
2667 2003-03-05  Max Khon  <fjoe@iclub.nsu.ru>
2669         * cons.handler.c (console_init) [__FreeBSD__]: Fix the amount of
2670         allocated memory.
2671         (console_save) [__FreeBSD__]: Doesn't exit on error, just return.
2673 2003-03-05  Pavel Roskin  <proski@gnu.org>
2675         * cons.handler.c (show_console_contents_freebsd): Rewrite
2676         to use screen library (S-Lang or ncurses).  Direct output is
2677         unreliable when the screen library is active.
2679 2003-03-03  Pavel Roskin  <proski@gnu.org>
2681         * profile.c (load): Fix reading keys immediately after comments.
2683 2003-02-26  Pavel Roskin  <proski@gnu.org>
2685         * cons.handler.c: Put checks for rxvt extensions in one place.
2686         Simplify FreeBSD code.
2688 2003-02-26  Max Khon  <fjoe@iclub.nsu.ru>
2690         * cons.handler.c: Add implementation for FreeBSD 4.x and 5.x.
2692 2003-02-26  Pavel Roskin  <proski@gnu.org>
2694         * view.c (load_view_file): Make sure view->s.st_size is not
2695         truncated when passed to g_malloc().
2696         Reported by Philipp Thomas <pthomas@suse.de>
2698 2003-02-23  Dmitry Alexeyev  <dmi_a@qnx.org.ru>
2700         * key.c (get_modifier): Add support for QNX Neutrino console.
2702 2003-02-23  Pavel Roskin  <proski@gnu.org>
2704         * key.c (init_key_x11): Don't try to use X11 if DISPLAY is not
2705         set in the environment.
2707 2003-02-22  Pavel Tsekov  <ptsekov@gmx.net>
2709         * key.c: Add support for dynamic loading of libX11.
2711 2003-02-21  Pavel Roskin  <proski@gnu.org>
2713         * utilunix.c (destroy_groups): Revert last change, it doesn't
2714         work with glib-1.2.x.
2716 2003-02-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
2718         * option.c (init_configure): Use OTHER_OPTIONS consistently.
2719         By Mike Smithson <dooligan@intergate.ca>.
2721 2003-02-18  Pavel Roskin  <proski@gnu.org>
2723         * util.c (list_append_unique): Free removed links.
2724         * utilunix.c (destroy_groups): Use g_tree_foreach() instead of
2725         obsolete g_tree_traverse().
2727         * util.c (list_append_unique): Traverse the list backwards.
2728         Otherwise the list was lost when the current link was removed.
2730         * widget.c (history_get): Set the history to the last item.
2731         Reported by Adam Byrtek <alpha@debian.org>
2733         * main.c (do_panel_cd): Record directory history for the panel
2734         that changes the directory, not for the current panel.
2736         * widget.c (history_get): Use list_append_unique() for backward
2737         compatibility.
2739         * main.c (directory_history_list): Allow history command even
2740         with just one entry - it's more intuitive.
2742         * util.c (list_append_unique): New function - add text to GList
2743         and remove duplicates.
2744         * main.c (directory_history_add): Use list_append_unique().
2745         * widget.c (push_history): Likewise.
2747         * panel.h: Convert directory history to GList.
2748         * widget.h: Convert input history to GList.
2749         Adjust all dependencies.
2751 2003-02-11  Pavel Roskin  <proski@gnu.org>
2753         * cmd.c (edit_cmd_new): Call editor with NULL argument, not with
2754         an empty string.  nvi won't save the file if invoked with an
2755         empty argument.
2756         (execute_with_vfs_arg): Don't call vfs_file_is_local() on NULL.
2757         Reported by Adam Byrtek <alpha@debian.org>
2759 2003-02-04  Pavel Roskin  <proski@gnu.org>
2761         * cmd.c (get_random_hint): Add "force" argument to ignore
2762         timeout.  Adjust all dependencies.
2763         * main.c (load_hint): Likewise.
2764         * layout.c (setup_panels): Force updating the hint bar.
2765         Original patch by Adam Byrtek <alpha@debian.org>
2767 2003-02-03  Pavel Roskin  <proski@gnu.org>
2769         * slint.c (getch): If there is EOF on the input, exit
2770         immediately, don't use quiet_quit_cmd().
2771         Reported by Steven P. Ulrick <spu@faith4miracle.org>
2773 2003-01-28  Pavel Roskin  <proski@gnu.org>
2775         * util.c (name_quote): Don't quote ':', '~' and '@'.  Quote '#'
2776         and '~' only if it's the first character.
2778         * info.c (info_show_info): Cast nlink_t to int to avoid a
2779         warning if nlink_t is short.
2780         * screen.c (string_file_nlinks): Likewise.
2782 2003-01-27  Arpi  <arpi@mplayerhq.hu>
2784         * key.c (is_idle): Correct maximal file descriptor and return
2785         value.
2787 2003-01-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
2789         * util.h (app_text): Remove declaration - it became static.
2790         * util.c (get_compression_type): Cast magic to char * to
2791         fix compilation on AIX.
2792         * mountlist.c (read_filesystem_list) [MOUNTED_GETMNTENT1]:
2793         Check for MOUNTED is defined to fix compilation on AIX.
2794         Reported by Alexander Varakin <avarakin00@hotmail.com>.
2796 2003-01-27  Pavel Roskin  <proski@gnu.org>
2798         * main.c (update_xterm_title_path): Use is_printable().
2800 2003-01-24  Pavel Roskin  <proski@gnu.org>
2802         * slint.c (slang_reset_softkeys): Cast arguments from size_t to
2803         int to avoid a warning on 64-bit systems.
2805         * subshell.c (resize_tty) [!TIOCSWINSZ]: Warning fix.
2807 2003-01-23  Pavel Roskin  <proski@gnu.org>
2809         * slint.c (slang_init): Limit screen size to 255x255 because of
2810         S-Lang limitations.
2811         Reported by Tero Peippola <top@ees2.oulu.fi>
2813 2003-01-22  Adam Byrtek  <alpha@debian.org>
2815         * cmd.c (view_other_cmd): Update path in the xterm title after
2816         command execution.
2817         * main.c (do_execute): Likewise.
2819 2003-01-22  Pavel Roskin  <proski@gnu.org>
2821         * util.c (size_trunc): Remove "b" from the output - it's
2822         redundant and wrong - the abbreviation for byte is "B".
2823         Reported by Werner Lemberg <wl@gnu.org>
2825 2003-01-20  Pavel Roskin  <proski@gnu.org>
2827         * screen.c (string_file_type): Check for "regularity" before
2828         checking for executable bit.
2829         (file_compute_color): Likewise.
2831         * dir.c (handle_dirent): Fix cleaning the stat buffer if
2832         mc_lstat() fails.  Leave buf1->st_mode to be 0, so that the
2833         entry is marked as a "non-regular file of unknown kind".
2834         * screen.c (do_enter_on_file_entry): Try to change directory
2835         when pressing Enter on a non-stat()able file.
2837         * screen.c (string_file_type): Represent non-regular files of
2838         unknown kind by '?'.
2839         (file_compute_color): Use for them the same color as for stale
2840         links.
2842         * main.c: Change default value of full_eight_bits to 0 - it's
2843         reported to be broken on many terminals.
2845         * man2hlp.c (main): Initialize cnode->heading_level.
2846         Bug report by Tribhuvan <loka@rcn.com>
2848         * dir.c (sort_size): Avoid any arithmetic except comparison on
2849         file sizes - they may not fit "int" that the function returns.
2850         Original patch by Bulia Byak <bulia@dr.com>
2852 2003-01-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
2854         * profile.c (load): Handle corrupted section header.
2855         Reported by skol@sbox.tugraz.at.
2856         (GetPrivateProfileInt): Make intBuf and buf auto variables.
2858 2003-01-20  Pavel Roskin  <proski@gnu.org>
2860         * screen.c (do_search): Use case-insensitive search if and only
2861         if the sort order is case-insensitive.
2862         Suggested by Bulia Byak <bulia@dr.com>
2864 2003-01-19  Pavel Roskin  <proski@gnu.org>
2866         * dir.c (do_load_dir): Remove dotdot_found - handle_dirent()
2867         doesn't process ".." now.  Don't add ".." to the "/" directory.
2868         (do_reload_dir): Likewise.
2869         Suggested by Bulia Byak <bulia@dr.com>
2871         * dir.c (handle_dirent): If mc_lstat() fails, assume that the
2872         entry is a directory.  This is useful for QNX Neutrino.
2874 2003-01-15  Andrew V. Samoilov  <sav@bcs.zp.ua>
2876         * man2hlp.c (fclose_check): Call ferror() and exit on file
2877         error.
2879         * man2hlp.c (main): Use fgets() return value in while loop
2880         instead of feof() because end-of-file indicator can be false on
2881         error.
2883         * man2hlp.c (handle_command): Fix possible buffer overflow.
2884         (handle_link): Likewise.
2886 2002-12-27  Pavel Roskin  <proski@gnu.org>
2888         * layout.c (setup_panels): Revert unnecessary part of the
2889         previous patch.  Call load_hint() regardless of message_visible.
2890         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
2892         * key.c (correct_key_code): Don't call get_modifier() for normal
2893         characters - they only should get modifiers from sequences
2894         tables.  This fixes entering characters with AltGr.
2895         Reported by David Martín <dmartina@excite.com>
2897         * view.c (max_dirt_limit): Make global to match view.h.
2898         * setup.c (options): Actually save max_dirt_limit, which is
2899         documented as a "special setting".
2901 2002-12-26  Pavel Roskin  <proski@gnu.org>
2903         * key.c (get_modifier): Warning fix.
2905         * file.c: Never access internals of ctx->rx directly.
2906         * fileopctx.c (file_op_context_destroy): Use regfree() to free
2907         ctx->rx.
2908         Patch from Red Hat beta.
2910         * layout.c (setup_panels): Clean the hint bar if it's enabled.
2911         Bug reported by Adam Byrtek <alpha@debian.org>
2913 2002-12-26  Adam Byrtek  <alpha@debian.org>
2915         * main.c (update_xterm_title_path): New function, display
2916         current path in the xterm window title.
2917         (_do_panel_cd): Call update_xterm_title_path().
2918         (done_mc): Remove final message for the titlebar.
2919         * layout.c: Replace "Xterm hintbar" option with more generic
2920         "Xterm window title".  Update all dependencies.
2921         (setup_panels): Call update_xterm_title_path().
2923 2002-12-26  Pavel Roskin  <proski@gnu.org>
2925         * utilunix.c (mc_tmpdir): Check temporary directory more
2926         carefully.  Report problems and ask user to acknowledge them.
2928         * main.c (midnight_callback): Fix the last change, so that plain
2929         Enter is not affected.
2931 2002-12-25  Pavel Roskin  <proski@gnu.org>
2933         * main.c (copy_prog_name): Make static.
2934         (midnight_callback): Handle both Alt-Enter and Ctrl-Enter before
2935         the widgets, because the input widget interprets them now.
2936         (default_map): Remove Alt-Enter, it's handled elsewhere.
2938         * key.c (correct_key_code): Convert Shift-Tab and Ctrl-Tab to
2939         Back Tab (used in dialogs to jump to the previous widget).
2941         * widget.c (input_callback): Insert Enter with a modifier as
2942         literal Enter.  Useful when pasting multiline text.
2944         * cmd.c (execute_with_vfs_arg): New function.  Work around
2945         defects of VFS localcopy code.
2946         (view_file_at_line): Use execute_with_vfs_arg().
2947         (do_edit_at_line): Likewise.
2949 2002-12-24  Pavel Roskin  <proski@gnu.org>
2951         * key.c (is_idle): Check for input on input_fd and gpm_fd.
2953         * main.c (init_xterm_support): Revert last change, it doesn't
2954         free all S-Lang memory anyways, but creates portability issues.
2956         * dlg.h: Add new event DLG_VALIDATE.
2957         * dlg.c (frontend_run_dlg): Send DLG_VALIDATE.
2958         (select_a_widget): Don't send DLG_ONE_DOWN, nobody uses it.
2959         * find.c (find_parm_callback): New callback for the parameter
2960         dialog.  Don't allow stopping the dialog if the regular
2961         expression is invalid.
2963 2002-12-23  Pavel Roskin  <proski@gnu.org>
2965         * layout.c (init_curses) [HAVE_SLANG]: Don't call
2966         SLtt_get_terminfo(), it's already called in slang_init().
2967         * main.c (init_xterm_support): Free term_entry.
2969         * subshell.c (subshell_switch_key): Make static const.
2971         * key.c (correct_key_code): Strip or add modifier information
2972         when necessary.  Recognize shift with function key N as function
2973         key (N + 10).  Fix breakage from previous patch.
2974         * key.h: Change XCTRL and ALT macros to use new definitions for
2975         keyboard modifiers.
2977 2002-12-21  Pavel Roskin  <proski@gnu.org>
2979         * key.c (get_modifier): Make static.  Return the mc internal
2980         representation, not the Linux console code.
2981         (correct_key_code): Add the modifier, not strip it.
2982         (ctrl_pressed): Remove.  Adjust all dependencies.
2984         * key.h: Add definitions for the keyboard modifiers that can be
2985         part of the key code.
2986         * key.c (xterm_key_defines): Add some common key definitions
2987         with modifiers for xterm and rxvt.
2988         (correct_key_code): Strip and remember modifiers.
2989         (get_modifier): Add support for saved modifiers.
2991 2002-12-20  Pavel Roskin  <proski@gnu.org>
2993         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 200ms.
2994         If ESCDELAY is 0, ncurses 5.2 may stop recognizing escape
2995         sequences under heavy CPU load.
2997 2002-12-19  Pavel Roskin  <proski@gnu.org>
2999         * screen.c (chdir_other_panel): Use do_panel_cd() on the
3000         opposite panel instead of changing the current panel twice.
3002         * main.c (make_panels_dirty): Preserve the cursor position.
3004 2002-12-18  Tomas Styblo  <tripie@cpan.org>
3006         * hotlist.c (update_path_name): Update the title even when
3007         opening an empty group.
3009 2002-12-16  Pavel Roskin  <proski@gnu.org>
3011         * dir.c (do_load_dir): Add an error message if mc_opendir()
3012         fails.
3013         (do_reload_dir): Likewise.
3014         * screen.c (do_enter_on_file_entry): Add an error message if
3015         do_cd() fails.
3017 2002-12-15  Pavel Roskin  <proski@gnu.org>
3019         * view.c (do_view_init): Use non-blocking open() followed by
3020         fstat() to avoid race conditions.  Unset O_NONBLOCK flag after
3021         the open().
3023         * cmd.c (mkdir_cmd): Don't try to create a directory with empty
3024         name.
3026         * global.h: Add replacement for O_NONBLOCK.
3028 2002-12-11  Pavel Roskin  <proski@gnu.org>
3030         * find.c (find_file): Skip entries without data when panelizing.
3031         Found by Valgrind.
3033         * eregex.h: Undefine __restrict_arr before redefining to avoid a
3034         warning if it's defined.
3036 2002-12-09  Pavel Roskin  <proski@gnu.org>
3038         * util.c (load_file_position): Don't free filename.
3040 2002-12-08  Pavel Roskin  <proski@gnu.org>
3042         * util.c: Add functions for saving and loading file positions.
3044 2002-12-07  Pavel Roskin  <proski@gnu.org>
3046         * file.c (is_wildcarded): Move ...
3047         * filegui.c: ... here.  Make static.
3049 2002-12-01  Pavel Roskin  <proski@gnu.org>
3051         * cmd.c (do_edit_at_line): Set line to 0 to allow the editor to
3052         decide if the user cares about the initial line or not.
3053         * main.c: Set edit_one_file_start_line to 0 initially.
3055 2002-11-29  Pavel Roskin  <proski@gnu.org>
3057         * setup.c: Add option_save_position to the options table.
3059 2002-11-28  Pavel Roskin  <proski@gnu.org>
3061         * tree.c: Make struct WTree opaque.  Remove "done" flag - it's
3062         broken by design.
3063         (tree_selected_name): New function, return name of the currently
3064         selected entry.  Use it where WTree is opaque.
3065         * boxes.c (tree_callback): Don't check for the "done" flag - it
3066         causes closing the dialog on any key after mouse selection.
3068         * user.h: Don't include edit/edit-widget.h.
3069         * user.c: Include edit/edit-widget.h and edit/edit.h.
3071         * slint.c (getch): Return -1, not SLANG_GETKEY_ERROR, otherwise
3072         get_key_code() crashes when calling isalpha().
3074         * color.c (mc_init_pair) [HAVE_SLANG]: Pass "default", not NULL
3075         to SLtt_set_color() - it fixes transparency with the latest
3076         versions of S-Lang.  Treat foreground like background.
3078 2002-11-20  Pavel Roskin  <proski@gnu.org>
3080         * main.c: Eliminate finish_program variable - mc can now exit
3081         immediately.
3083 2002-11-17  Pavel Roskin  <proski@gnu.org>
3085         * screen.c (do_select): Mark panel as dirty.
3087         * boxes.c (init_disp_bits_box): Make static.
3089 2002-11-15  Pavel Roskin  <proski@gnu.org>
3091         * main.c (main): Don't call subshell_get_console_attributes() if
3092         the subshell is disabled from the command line.
3094 2002-11-14  Pavel Roskin  <proski@gnu.org>
3096         * myslang.h: Define getyx() macro.
3097         * layout.c (print_vfs_message): Preserve cursor position.
3099         * view.h: Make struct WView opaque, move non-interface parts ...
3100         * view.c: ... here.
3101         * layout.c: Use struct WView, not typedef WView.
3103         * cmd.c: Clean up includes, don't rely on edit.h.
3105         * dialog.c (struct Refresh): Make opaque.
3106         * dialog.h: Move all stuff unrelated to dialog.c ...
3107         * wtools.h: ... here.  Adjust all users.
3109         * dialog.c (refresh_list): Make static.
3110         * dialog.h: Add typedef refresh_fn.
3112         * cmd.c (menu_edit_cmd): Make static, provide separate functions
3113         without arguments to access it.
3114         * menu.h: Make callfn function without arguments - we are not
3115         using any arguments now.
3117 2002-11-13  Pavel Roskin  <proski@gnu.org>
3119         * man2hlp.c (persistent_fread): Return error for len <= 0.
3120         (persistent_fwrite): Likewise.
3121         (main): Check the result of the second ftell().
3123         * cmd.h: Fully exclude WPanel from public interfaces of cmd.c.
3124         * cmd.c: All commands operate on current panels.
3125         (get_a_panel): Remove.
3126         * screen.c: Change to use new functions.
3128         * main.h: Don't check if panel.h was included.  Use forward
3129         declaration of WPanel, change prototypes to use struct WPanel.
3130         (midnight_callback): Make static.
3132         * cmd.c (do_view_cmd): Don't take WPanel argument - always use
3133         the current panel.
3134         (view_cmd): Likewise.
3135         (view_file_cmd): Likewise.
3136         (view_simple_cmd): Likewise.
3137         (filtered_view_cmd): Likewise.
3138         (filtered_view_cmd_cpanel): Remove.
3139         (view_panel_cmd): Likewise.
3141 2002-11-12  Pavel Roskin  <proski@gnu.org>
3143         * chmod.c (init_chmod): Make static.
3144         * help.c (quit_cmd): Rename to help_quit_cmd().
3145         (show): Rename to help_show().
3146         * main.c (quit_cmd): Make static.  Return void, not int.
3147         (sort_cmd): Make static.
3149         * dlg.c (send_message_to): Remove, use send_message() instead.
3150         (send_message): Make inline, remove Dlg_head argument.  Change
3151         all callers.
3153         * dlg.h: Remove Dlg_head argument from callback_fn - it's
3154         excessive and can be trivially derived from the widget.
3155         (default_proc): Remove Dlg_head argument.  Change all callers.
3156         * widget.c (listbox_draw): Remove Dlg_head argument.
3158         * dlg.h: Define dlg_cb_fn - dialog callback function.  Improve
3159         typedefs for callbacks and use them everywhere.  Clean up some
3160         unused defines.
3161         * dlg.c: Adjust declarations for match.
3163         * wtools.h: Eliminate the_widget field in QuickWidget.
3164         * wtools.c (quick_callback): Allocate widget table dynamically.
3166         * dlg.c (widget_redraw): Remove.
3167         * widget.c (find_buttonbar): Use find_widget_type().  Make
3168         global.
3169         (define_label): Remove paneletc argument.  Change all callers.
3170         (define_label_data): Likewise.
3171         (redraw_labels): Likewise.  Use find_buttonbar().
3172         * view.c (view_adjust_size): Use find_buttonbar().
3174         * menu.h: Remove "*" from the definition of the type "Menu"
3175         for consistency with other types.  Change all dependencies.
3176         (menubar_event): Make static.
3178 2002-11-12  Andrew V. Samoilov  <kai@cmail.ru>
3180         * view.c (get_line_at): Use g_strreverse() instead of
3181         reverse_string().
3182         * util.c (reverse_string): Remove.
3183         (decompress_extension): Return const char *.
3184         (strip_home_and_password): Make dir const.
3185         * util.h: Fix declarations.
3187 2002-11-11  Pavel Roskin  <proski@gnu.org>
3189         * charsets.c (convert_to_display): Don't crash on empty read
3190         only strings.
3191         (convert_from_input): Likewise.
3192         Reported by David Martin <dmartina@excite.com>
3194         * screen.c (select_item): Don't show the file selection if the
3195         panel is inactive.
3196         (chdir_other_panel): Select the same file on the other panel.
3198         * file.c (panel_operate): Warning fix.
3199         * cmd.c (compare_dirs_cmd): Likewise.
3200         * man2hlp.c: Warning fixes.  size_t can be unsigned.
3202         * file.c (panel_get_file): Make static.
3203         * filegui.h: Eliminate use of WANT_WIDGETS.
3204         * setup.h: Likewise.
3205         * menu.h: Declare struct WMenu.
3206         * main.h: Don't include menu.h, use forward declaration.
3208         * dlg.h: Move movefn definition ...
3209         * win.h: ... where it's used.  Remove unused definitions.
3210         * win.c: Remove unused code.
3211         * key.h: Include mouse.h, don't rely on others doing it.
3212         * widget.h: Include dlg.h.  Remove Tk-only fields.
3213         * widget.c: Remove Tk-only fields.
3215         * panel.h: Simplify interdependencies between headers.  Use
3216         forward declarations for structures.
3217         * widget.h: Declare struct WListbox.
3218         * wtools.h: Use forward declaration for struct WListbox to avoid
3219         dependency on widget.h.
3221 2002-11-10  Pavel Roskin  <proski@gnu.org>
3223         * panel.h: Remove all unused definitions.  Make format_e an
3224         opaque structure by moving it ...
3225         * screen.c: ... here.
3227         * screen.c (display_mini_info): Make static.
3228         (the_info_panel): Remove.
3230         * screen.c (Xtry_to_select): Make static, rename to
3231         do_try_to_select().
3233         * screen.c (chdir_other_panel): Change behavior of Alt-O -
3234         change the other panel to the current directory, put it to the
3235         listing mode if needed.  Based on a patch from PLD Linux
3236         Distribution.
3238 2002-11-06  Pavel Roskin  <proski@gnu.org>
3240         * myslang.h: Don't define ERR - it conflicts with sys/ucontext.h
3241         in glibc 2.1.3.
3242         * key.c: Use -1, not ERR.
3244 2002-11-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
3246         * boxes.c (configure_vfs): Ask whether passive connections
3247         should be used.  Asked by Andrew W. Nosenko <awn@bcs.zp.ua>.
3249 2002-11-01  Pavel Roskin  <proski@gnu.org>
3251         * main.c (main): Use O_TRUNC when opening the file to write the
3252         last working directory.  Fix segmentation fault when exiting
3253         while on VFS.
3254         * util.c (mc_mkstemps): Use O_TRUNC to open temporary files.
3256 2002-10-31  Andrew V. Samoilov  <sav@bcs.zp.ua>
3258         * view.c (normal_search) [HAVE_CHARSET]: Fix segmentation fault
3259         on first search.  Writing to read-only "" is not good idea.
3261 2002-10-31  Pavel Roskin  <proski@gnu.org>
3263         * main.c (probably_finish_program): Eliminate.
3264         (handle_args): Use exit code 1 only for errors, 0 for legitimate
3265         options such as "--help".
3267 2002-10-30  Pavel Roskin  <proski@gnu.org>
3269         * main.c: Option -P takes an argument (output filename) now.
3270         (main): Output the last directory to the specified file.  Don't
3271         output "." if this information is unavailable.
3273         * subshell.c (subshell_name_quote): Don't quote numbers and
3274         letters if possible and safe.
3276         * charset.h: Provide new inline functions convert_to_display_c()
3277         and convert_from_input_c().
3278         * view.c: Include charset.h unconditionally, use new conversion
3279         functions that don't require ifdefs.
3281         * charset.h [!HAVE_CHARSET]: Provide dummy macros for
3282         convert_to_display and convert_from_input.  Eliminate uchar
3283         definition, use unsigned char, adjust dependencies.
3284         * charsets.c (convert_to_display): Tolerate NULL argument.
3285         (convert_from_input): Likewise.
3287         * ext.c (exec_extension): Don't create self-destructing scripts
3288         for the viewer - remove those scripts manually after calling
3289         view().  This fixes the problem with double F8 in the viewer on
3290         parsed files.
3291         Reported by David Martin <dmartina@excite.com>
3293         * ext.c (exec_extension): Don't rely on working #! - explicitly
3294         run /bin/sh on the temporary script.
3296         * mouse.h: Use definitions for GPM_B_DOWN and GPM_B_UP
3297         compatible with gpm-1.20.
3298         Reported by David Martin <dmartina@excite.com>
3300 2002-10-29  Pavel Roskin  <proski@gnu.org>
3302         * panel.h: Use spaces, not commas, in the format - they are more
3303         readable and easier to document.
3304         * screen.c (panel_format): Likewise.
3305         (mini_status_format): Likewise.
3307 2002-10-29  Andrew V. Samoilov  <sav@bcs.zp.ua>
3309         * view.c (init_growing_view): Mark message for translation.
3310         (normal_search) [HAVE_CHARSET]: Convert saved search string to
3311         original codeset if input_dialog() returns empty string.
3313 2002-10-24  Pavel Roskin  <proski@gnu.org>
3315         * screen.c (mini_info_separator): Revert last patch.  The bug is
3316         in Red Hat 8.0 S-Lang.
3318         * screen.c (mini_info_separator): The separator was one
3319         character too long.
3320         (show_dir): Remove obsolete linux_unicode hack.
3322         * dlg.c (init_dlg): Redraw screen after selecting the focused
3323         widget, not before.  The bug affected file progress dialog with
3324         verbose operation off.
3325         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
3327         * filegui.c (check_progress_buttons): Reinitialize ret_value to
3328         avoid old values after events other than selecting a button.
3329         Reported by Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
3331 2002-10-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
3333         * man2hlp.c (handle_link): Treat link name after \& as regular
3334         text.
3335         Suggested by David Martin <dmartina@excite.com>
3337 2002-10-23  Andrew V. Samoilov  <sav@bcs.zp.ua>
3339         * poptconfig.c (configLine): Cast the argument to functions for
3340         character classification to unsigned or use unsigned char *.
3341         (poptReadConfigFile): Likewise.
3342         * popthelp.c (singleOptionHelp): Likewise.
3343         * poptparse.c (poptParseArgvString): Likewise.
3345         * main.c (show_change_notice): Make local variable in main().
3346         (compatibility_move_mc_files): Merge with
3347         do_compatibility_move() and return 1 if moving was done, 0
3348         otherwise.  Move ~/.mc.tree to ~/.mc/Tree.
3350         * file.c (copy_file_file): Reuse message from move_file_file().
3351         (copy_dir_dir): Eliminate one more goto.
3353 2002-10-22  Pavel Roskin  <proski@gnu.org>
3355         * man2hlp.c (main): Remove unnecessary spaces in the table of
3356         contents.
3358         * setup.c: Remove dead code surrounded by
3359         SAVE_CHANGES_OUTSIDE_OPTIONS_MENU.
3360         * tree.c: Make tree_navigation_flag static.
3362         * help.h: Remove unused characters.
3363         * help.c (show): Remove handling of unused characters.
3365 2002-10-22  Andrew V. Samoilov  <sav@bcs.zp.ua>
3367         * popthelp.c (poptPrintHelp): Use POPT_ for "[OPTION...]",
3368         this message is eliminated by poptSetOtherOptionHelp().
3369         * popt.c (poptStrerror): Use _ instead of POPT_ for useful
3370         messages.
3372         * utilunix.c (mc_tmpdir): Make directory only if not exists.
3373         Use strncpy() instead of g_snprintf() - there can be printf()
3374         pattern(s) in the $TMPDIR.
3376         * man2hlp.c (handle_link): Don't strip leading space(s) from
3377         linkname.
3379 2002-10-22  Pavel Roskin  <proski@gnu.org>
3381         * myslang.h: Add a replacement for addch(), which expects a
3382         wchar_t argument in patched S-Lang on Red Hat 8.0.
3384 2002-10-21  Pavel Roskin  <proski@gnu.org>
3386         * main.c (print_mc_usage): Remove unnecessary newline.
3388         * main.c (print_mc_usage): Partly revert previous patch -
3389         poptPrintHelp() has side effects and should not be called
3390         inside fprintf(), which can be a macro.
3392         * main.c (print_mc_usage): Use poptSetOtherOptionHelp()
3393         From Andrew V. Samoilov <sav@bcs.zp.ua>
3395         * learn.c (learn_check_key): Simplify logic.  Add a comment for
3396         translators.
3398         * file.h: Rename know_not_what_am_i_doing to safe_delete.
3399         * file.c (real_query_recursive): Don't ask to enter "yes" - it's
3400         ugly and requires changing input method in some locales.
3402         * file.c (real_query_recursive): Default to empty string, not to
3403         "no" when asking to enter "yes".  Add note for translators.
3405         * cmd.c (do_view_cmd): When asking confirmation, correctly
3406         interpret closing the dialog by escape.
3408 2002-10-20  Pavel Roskin  <proski@gnu.org>
3410         * utilunix.c (mc_tmpdir): Don't exit if the temporary directory
3411         cannot be created - it should be possible to run mc on read-only
3412         filesystems.  Try to chmod() the temporary directory.
3414 2002-10-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
3416         * man2hlp.c (handle_tp_ip): Implement .IP and .TP macros
3417         (without arguments).
3418         (handle_command): Call handle_tp_ip().
3419         (main): Handle label and body of .TP paragraph.
3421 2002-10-17  Pavel Roskin  <proski@gnu.org>
3423         * view.c (view_ok_to_quit): Use the same dialog as the editor.
3425 2002-10-15  Andrew V. Samoilov  <sav@bcs.zp.ua>
3427         * Makefile.am (man2hlp_LDADD): Set to $(GLIB_LIBS).
3428         * man2hlp.c: Include <glib.h> and use g_snprintf()/g_vsnprintf()
3429         instead of sprintf()/vsprintf().
3431         * man2hlp.c: Report about stale links.
3433 2002-10-13  Pavel Roskin  <proski@gnu.org>
3435         * color.h: Remove Q_SELECTED_COLOR and Q_UNSELECTED_COLOR.
3436         Rename BEST_COLOR to IF_COLOR.  Make error messages bold on b/w
3437         terminals.  Don't highlight stale links on b/w terminals, since
3438         they cannot be distinguished from marked files.
3440         * main.c (print_color_usage): Update list of keywords for file
3441         types.  Add a notice for translators.
3443         * color.c: Rename stalledlink to stalelink.  Make the same
3444         change elsewhere.
3446 2002-10-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
3448         * popt.h: Adjust poptHelpOptions[] and poptPrintHelp()
3449         declarations.
3451         * popthelp.c: Replace POPT_ with _ for visible strings.
3452         (singleOptionHelp): Eliminate format array.
3453         (poptHelpOptions): Make const.
3454         (poptPrintHelp): Return width of left column.
3456         * main.c (print_mc_usage): Use width from poptPrintHelp()
3457         for "+number".
3459 2002-10-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
3461         * boxes.c (sel_charset_button): Use g_snprintf() instead of
3462         sprintf().
3463         * charsets.c (init_translation_table): Likewise.
3465 2002-10-07  Pavel Roskin  <proski@gnu.org>
3467         * view.c: Move call to view_update_bytes_per_line() from
3468         view_init(), where the number of columns is unknown yet, to
3469         view_callback() where it's already known.
3470         (view_adjust_size): Make static.
3472 2002-10-07  Miven Dooligan  <dooligan@intergate.ca>
3474         * view.c (view_update_bytes_per_line): Don't use vertical bars
3475         in the hex viewer is short of space.  Fix missing space between
3476         addresses and hexdump when framed.
3477         (display): Likewise.
3479 2002-10-07  Pavel Roskin  <proski@gnu.org>
3481         * selcodepage.c (select_charset): Use g_snprintf() instead
3482         of non-portable snprintf().
3484         * myslang.h [!HAVE_SYSTEM_SLANG]: Update location of slang.h.
3486 2002-09-29  Pavel Roskin  <proski@gnu.org>
3488         * ext.c (get_file_type_local): Return -1 for fatal errors.
3489         (get_file_type_pipe): Likewise.
3490         (regex_command): Likewise.  Adjust all callers.
3491         From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
3493         * dlg.c (frontend_run_dlg): Allow terminating the dialog from
3494         the idle handler.
3495         From Jindrich Makovicka <makovick@KMLinux.fjfi.cvut.cz>
3496         Call change_screen_size() regardless of ncurses version, and let
3497         that function decide what to do.
3499 2002-09-28  Pavel Roskin  <proski@gnu.org>
3501         * background.c (background_attention): Fix calling functions
3502         with wrong arguments, which resulted in segmentation faults.
3504 2002-09-27  Pavel Roskin  <proski@gnu.org>
3506         * file.c (panel_operate): Replace fancy internationalized
3507         message boxes for unknown file operations with abort().
3509         * util.c (name_trunc): Remove unused code, unhelpful error
3510         message and workaround for bugs in the callers.
3512         * file.c (copy_file_file): Rename DST_* names to DEST_*, since
3513         DST_NONE is used in FreeBSD libc.
3514         Reported by Pavel Shirshov <me@pavelsh.pp.ru>
3516 2002-09-26  Pavel Roskin  <proski@gnu.org>
3518         * textconf.c: Don't translate filesystem names.
3520         * main.h: Remove all references to icons.
3521         * panel.h: Likewise.  Adjust all dependencies.
3523         * hotlist.c (load_hotlist): Remove compatibility code with
3524         hotlist files created by ancient versions of mc.
3526         * command.c (do_cd_command): Reuse translated message.
3528         * user.c (check_patterns): Ignore invalid shell_patterns and
3529         let user see them in the menu.  The error message was too vague.
3531 2002-09-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
3533         * util.c (mc_mkstemps): Really return NULL in the filename in the
3534         case of failure.  Reported by Andrew W. Nosenko <awn@bcs.zp.ua>.
3536 2002-09-26  Pavel Roskin  <proski@gnu.org>
3538         * ext.c (get_file_type_local): Make static.
3539         (get_file_type_pipe): Likewise.
3540         * util.c (check_patterns): Likewise.
3542         * file.c (copy_file_file): Eliminate the complex scheme with
3543         "resources".  Set src_desc, dest_desc to -1 initially and use
3544         their values to see if they need to be closed.  Track status of
3545         the destination file using a 3-state variable.
3547         * file.c (copy_file_file): Fix event handling - check the result
3548         of file_progress_show_bytes().
3549         From Jindrich Makovicka <makovick@kmlinux.fjfi.cvut.cz>
3551 2002-09-25  Pavel Roskin  <proski@gnu.org>
3553         * subshell.c (pty_open_master) [IS_AIX]: Open /dev/ptc, not
3554         /dev/ptmx.  From Sergey Pavlukhin <psi@dmng.ru>
3556 2002-09-24  Pavel Roskin  <proski@gnu.org>
3558         * screen.c (string_file_nuid): Fix a warning with uClibc.
3559         (string_file_ngid): Likewise.
3561         * mountlist.c: Restore sys/param.h before sys/mount.h - it's
3562         required on FreeBSD.
3563         Reported by Pavel Shirshov <me@pavelsh.pp.ru>
3565         * screen.c (panel_event): Implement support for mouse wheel.
3567         * view.c (display): Fix wrapping of tabs.
3568         Reported by Arpad Biro <biro_arpad@yahoo.com>
3570 2002-09-23  Pavel Roskin  <proski@gnu.org>
3572         * dlg.h: New message DLG_RESIZE.
3573         * layout.c: Call DLG_RESIZE instead of resizing viewer and
3574         editor individually.
3575         * view.c (view): Install handler for DLG_RESIZE.  Make view_dlg
3576         a local variable.
3578         * view.c (view): Set view_dlg to NULL after it's destroyed.
3580         * color.h: Remove EDITOR_UNDERLINED_COLOR, it's unused.
3582         * global.h: Move fcntl.h inclusion here.  Define O_BINARY.
3583         * mountlist.c: Remove more includes already handled in global.h.
3585 2002-09-22  Pavel Roskin  <proski@gnu.org>
3587         * man2hlp.c (handle_alt_font): Implement .BR, .IR, .RB, .RI, .BI
3588         and .IB macros.
3589         (handle_command): Call handle_alt_font().
3591         * man2hlp.c: Take text width from help.h, not from the command
3592         line.
3593         * help.h: Declare HELP_TEXT_WIDTH.
3594         * help.c: Use HELP_TEXT_WIDTH.
3596         * help.h: Replace CHAR_BOLD_ON, CHAR_BOLD_OFF and CHAR_ITALIC_ON
3597         with  CHAR_FONT_BOLD, CHAR_FONT_NORMAL and CHAR_FONT_ITALIC
3598         respectively for better consistency.
3600         * util.c (is_printable): Disable "Full 8 bits output" on xterm,
3601         fall back to "ISO 8859-1" due to problems with gnome-terminal,
3602         which identifies itself as xterm.
3603         Reported by Miven Dooligan <dooligan@intergate.ca>
3605         * mouse.h: Put return codes from the mouse callback to an enum.
3606         Remove MOU_ENDLOOP and MOU_LOCK - they are interpreted like
3607         MOU_NORMAL.  Adjust all dependencies.
3608         * dlg.c: Use MOU_NORMAL instead of 0 for mouse_status.
3610 2002-09-21  Pavel Roskin  <proski@gnu.org>
3612         * main.c (process_args): Print only data directory and nothing
3613         else for the "-f" argument.
3614         (argument_table): Rename --libdir to --datadir, adjust its
3615         description.
3617         * Makefile.am: Rename LIBDIR to DATADIR, since it refers to
3618         pkgdatadir now.  Install cons.saver to pkglibdir, pass it to the
3619         compiler as LIBDIR.
3620         * cons.handler.c (handle_console): Use LIBDIR.
3621         * main.c (OS_Setup): Use DATADIR instead of LIBDIR.  Rename
3622         MC_LIBDIR to MC_DATADIR.
3624         * panelize.c: Remove unused variable panelize_title.
3626         * view.c (view_event): Add mouse wheel support.
3628 2002-09-20  Pavel Roskin  <proski@gnu.org>
3630         * mouse.h: Define events for the mouse wheel.
3631         * key.c (xmouse_get_event): Recognize mouse wheel events.
3633         * command.c: (command_insert): New function - insert quoted
3634         text into the command line.
3635         * main.c: Use command_insert() instead of stuff().  This ensures
3636         that the names in the command line are quoted.
3637         Reported by Arpad Biro <biro_arpad@yahoo.com>
3639         * command.c: Make `command' a standard WInput widget, just
3640         change its callback.  Eliminate input_w().  Adjust all
3641         dependencies.
3642         * widget.c (input_callback): Remove static attribute.
3644 2002-09-19  Pavel Roskin  <proski@gnu.org>
3646         * main.c (argument_table): Improve help for "+number" - it has
3647         to be re-translated anyway.
3649         * main.c (argument_table): Add missing descriptions.
3651         * main.c [NATIVE_WIN32]: Remove -S option, it's useless.
3653         * main.c (print_mc_usage): Use poptPrintHelp() instead of
3654         manually formatted help text.  Adjust callers to pass popt
3655         context.
3657         * poptint.h: Use i18n.h instead of most own replacement macros.
3659 2002-09-18  Pavel Roskin  <proski@gnu.org>
3661         * cmd.c (other_symlink_cmd): Remove, this function is
3662         undocumented and poorly implemented.
3663         * main.c: Remove call to other_symlink_cmd() on C-x C-l.
3665 2002-09-16  Pavel Roskin  <proski@gnu.org>
3667         * wtools.c (real_input_dialog_help): Trim spaces from the label
3668         text.  Align label with the input field.
3670         * cmd.c (do_link): Avoid using g_strconcat() on translatable
3671         strings.
3672         (other_symlink_cmd): Likewise.
3674 2002-09-13  Pavel Roskin  <proski@gnu.org>
3676         * main.c: Remove advanced_chfns variable.  Adjust all
3677         dependencies.
3679         * option.c: Make "Configure options" dialog more flexible,
3680         readjust layout.  Remove "advanced chown" option - it's unused.
3682 2002-09-13  Andrew V. Samoilov  <sav@bcs.zp.ua>
3684         * main.c (process_args) [WITH_SMBFS]: Call smbfs_set_debugf()
3685         for "-l" option.
3687 2002-09-13  Pavel Roskin  <proski@gnu.org>
3689         * main.c: Fully remove obsolete "-m" option.
3691 2002-09-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
3693         * main.c [WITH_SMBFS]: Include ../vfs/smbfs.h.
3694         (argument_table) [WITH_SMBFS]: Add -D, --debuglevel option for
3695         smbfs debug level.
3696         (process_args) [WITH_SMBFS]: Handle new -D option.
3697         (print_mc_usage) [WITH_SMBFS]: Describe -D, --debuglevel option.
3699 2002-09-11  Pavel Roskin  <proski@gnu.org>
3701         * subshell.c: Move tcsh_fifo to the file scope.  Use mc_tmpdir()
3702         to calculate tcsh_fifo.
3704         * utilunix.c (mc_tmpdir): New function that returns temporary
3705         directory for mc.
3706         * util.c (mc_mkstemps): Use mc_tmpdir().
3707         * main.c (main): Call mc_tmpdir().
3709 2002-09-10  Pavel Roskin  <proski@gnu.org>
3711         * util.c (trim): Handle short strings even better - don't use
3712         dots unless necessary.
3714         * main.c (load_prompt): Don't shorten the prompt if COLS is 8 or
3715         less.
3717         * screen.c (show_dir): Don't call trim() with negative length.
3718         * util.c (trim): Better handle short length.  Make sure that the
3719         destination is always 0-terminated.
3721 2002-09-09  Andrew V. Samoilov  <sav@bcs.zp.ua>
3723         * screen.c (string_file_name): Fix possible off-by-one
3724         buffer overflow.
3725         (string_file_size): Avoid unsafe strcpy().
3726         (string_file_size_brief): Likewise.  Eliminate buffer array.
3728 2002-09-08  Pavel Roskin  <proski@gnu.org>
3730         * color.c: Move hascolors variable into init_colors().  Adjust
3731         all dependencies.
3733         * myslang.h: Remove definition of initscr(), it's unused.
3735         * tty.h [!HAVE_SLANG]: Remove all slang_* definitions.
3736         * main.c (main) [!HAVE_SLANG]: Don't call slang_shutdown().
3737         * myslang.h: Remove slang_done_screen(), it's unused.
3739 2002-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
3741         * key.c (get_event): Check gpm_fd only if gpm is actually used.
3742         * layout.c (done_screen): Move disable_mouse() call ...
3743         * main.c (done_mc): ... here.
3745 2002-09-08  Pavel Roskin  <proski@gnu.org>
3747         * view.c (init_growing_view): Avoid reporting the same error
3748         twice.  Reported by Moritz Barsnick <moritz@barsnick.net>
3750 2002-09-07  Pavel Roskin  <proski@gnu.org>
3752         * textconf.c: Don't use SLANG_TERMINFO, which is unused anywhere
3753         else.  Assume that terminfo is used if USE_TERMCAP is undefined.
3755 2002-09-06  Pavel Roskin  <proski@gnu.org>
3757         * subshell.c (subshell_name_quote): Return NULL if we are out of
3758         memory.  Use "echo -e" with zsh (Debian bug #150996).
3759         (do_subshell_chdir): Be prepared to get NULL from
3760         subshell_name_quote().
3762         * profile.c: Remove unused code.  Eliminate global variables.
3763         (is_loaded): Rename to find_loaded().  return matching profile.
3764         Adjust all dependencies.
3766         * fs.h: Only redefine S_IS* macros if they are undefined, and
3767         then define them to 0.  S_IF* constants should be avoided.
3768         * util.c: Whenever possible, use standard POSIX macros to test
3769         for the file type.
3770         Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
3772 2002-09-05  Pavel Roskin  <proski@gnu.org>
3774         * cmd.c (nice_cd): Fix conditions when this function is
3775         compiled.
3777         * fs.h: Replace S_IFFIFO with S_IFIFO, which is the right name.
3779         * fs.h: Correct S_IS* definitions to use S_IFMT.  Add fallback
3780         definitions for S_IFDOOR and S_ISDOOR.
3781         * screen.c (string_file_type): Remove unnecessary ifdefs, fs.h
3782         takes care of it.
3783         (file_compute_color): Add support for Solaris doors.
3784         * util.c (string_perm): Remove unnecessary ifdef.
3786         * man2hlp.c (handle_command): Make clear that unsupported
3787         command is a warning, not an error.  Avoid unsafe strcat().
3789         * view.c (view_mode_callback): Eliminate, use the default
3790         callback.
3792         * main.c (load_hint): Don't hardcode copyright years.  Use a
3793         translated message.
3795         * main.c (midnight_callback): Avoid calling the default DLG_DRAW
3796         handler.  From David Martin <dmartina@excite.com>
3798         * help.c (help_handle_key): Sanity check for broken help files.
3799         From David Martin <dmartina@excite.com>
3801 2002-09-03  Pavel Roskin  <proski@gnu.org>
3803         * global.h: Eliminate xgetch, update all dependencies.
3805         * boxes.c: Fix remaining old-style calls to create_dlg().
3806         * complete.c: Likewise.
3807         * main.c: Likewise.
3808         * view.c: Likewise.
3810         * wtools.c: Remove Chooser, its unused.
3812         * dlg.c: Fix the case when the dialog has no title.
3814         * wtools.c (real_input_dialog_help): Use a more reliable way
3815         to indicate password input.
3817         * boxes.c (display_widgets) [!HAVE_CHARSET]: Fix initialization.
3818         (vfs_smb_get_authinfo): Reuse another translated string.
3820         * wtools.h (QuickDialog): Eliminate the "class" field - it's not
3821         used and it can clash with C++ code.  Adjust all dependencies.
3823         * dlg.c (x_set_dialog_title): Completely eliminate.  Adjust all
3824         dependencies.
3826         * help.c (interactive_display): Fallback to node "[main]" if the
3827         requested node cannot be found.
3829         * help.c (help_index_cmd): Eliminate unneeded search for
3830         "[Help]", which always fails.  Fix crash if "[Contents]" cannot
3831         be found.  Reuse more generic error message.
3833         * filegui.c: Eliminate x_set_dialog_title().
3834         * hotlist.c: Likewise.
3835         * help.c: Likewise.
3836         (interactive_display): Default to node "[main]" if the given
3837         node is empty.
3839 2002-09-02  Pavel Roskin  <proski@gnu.org>
3841         * dlg.c (create_dlg): Take title instead of unused name as the
3842         8-th argument.
3843         (x_set_dialog_title): Free old title.  Mark this function
3844         obsolete.
3845         * achown.c: Use new create_dlg().
3846         (do_enter_key): Provide titles for popups.
3848         * dlg.c: Remove unused code, make functions static if possible.
3850         * chmod.c: Use common_dialog_repaint().
3851         * chown.c: Likewise.
3852         * layout.c: Likewise.
3853         * option.c: Likewise.
3855         * wtools.c (common_dialog_callback): Fold into ...
3856         * dlg.c (default_dlg_callback): ... this.  Don't redraw dialogs
3857         that don't have colors.  Adjust all dependencies.
3858         (std_callback): Eliminate.
3860         * panelize.c (panelize_refresh): Eliminate in favor of
3861         common_dialog_callback().
3863         * widget.c (history_callback): Eliminate in favor of
3864         common_dialog_callback().
3865         (show_hist): Set dialog title and flag DLG_COMPACT.
3867         * help.c (help_callback): Use common_dialog_callback().
3868         (interactive_display): Set dialog title.
3870         * wtools.c (listbox_callback): Eliminate in favor of
3871         common_dialog_callback().
3873         * wtools.c (dialog_repaint): Eliminate, nobody should be using
3874         non-standard colors.  Adjust all dependencies.
3875         (common_dialog_repaint): Fix return code.
3876         (query_callback): Eliminate, use common_dialog_callback()
3877         instead.
3879         * listmode.c (listmode_refresh): Use common_dialog_repaint().
3880         Eliminate all global variables.  Reformat the whole file.
3882         * boxes.c (init_disp_bits_box): Use common_dialog_callback().
3883         Return the new dialog.
3885         * boxes.c (display_callback): Use common_dialog_repaint().
3886         (display_init): Avoid using two different translations.
3888 2002-09-01  Pavel Roskin  <proski@gnu.org>
3890         * help.c (interactive_display): Don't reuse the old value of
3891         help_lines - LINES could have changed.  Scale height better for
3892         terminals with many lines - use 2/3 of the full screen.
3894         * man2hlp.c: Move handling of .SH and NODE to a separate
3895         function handle_node().  Don't output empty nodes except in the
3896         table of contents.
3898 2002-09-01  Andrew V. Samoilov  <sav@bcs.zp.ua>
3900         * man2hlp.c (print_error): Print input filename.
3901         (handle_command): Handle .P, .LP, .IP and .br.
3902         Ignore comments and .TH (Title header).
3903         Report about unsupported commands.
3904         Handle .SM and .SB.
3906         * ext.c (regex_command): Use "%s" as text argument.
3907         * user.c (debug_out): Likewise.
3909         * win.c (key_name_conv_tab): Fix initialization.
3911 2002-08-31  Pavel Roskin  <proski@gnu.org>
3913         * help.c (show): Fix segfault on unterminated help files.
3914         From David Martin <dmartina@excite.com>
3916         * key.c (get_event): Reduce scope of select_set.  Don't check
3917         mouse_enabled all the time, instead break out of the loop if it
3918         becomes 0.
3920         * main.c (do_nc): Make midnight_colors[] local to do_nc().
3921         Initialize normal color - it's used by the tree.
3922         * boxes.c (tree_box): Use standard dialog_colors.
3923         * tree.c: Use NORMALC for normal entries.
3925         * view.c (view): Avoid passing an uninitialized color array to
3926         create_dlg() - pass NULL instead.
3928 2002-08-30  Pavel Roskin  <proski@gnu.org>
3930         * color.c: Define global array alarm_colors for the colors used
3931         in the dialogs that should be most visible (error messages,
3932         request to delete or overwrite).
3933         (load_dialog_colors): Initialize alarm_colors.
3934         * filegui.c: Use alarm_colors.
3935         * wtools.c: Likewise.
3936         * dlg.c (create_dlg): Make the color_set array constant.
3938         * wtools.c (common_dialog_repaint): Use colors specific to the
3939         current dialog, not fixed colors for "normal" dialogs.
3940         * filegui.c (replace_callback): Eliminate, use
3941         common_dialog_callback() instead.
3943         * filegui.c (file_op_context_create_ui): Use
3944         common_dialog_callback().  Set title to the operation name.
3945         (op_win_callback): Remove, it's unused.
3947 2002-08-27  Pavel Roskin  <proski@gnu.org>
3949         * view.c: Make static whatever possible.
3950         * view.h: Remove internal view routines.
3952 2002-08-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
3954         * selcodepage.c (select_charset): Use snprintf instead of sprintf.
3955         (do_select_codepage) [!HAVE_ICONV]: Remove.
3957 2002-08-27  Pavel Roskin  <proski@gnu.org>
3959         * charsets.c: Add disclaimer of warranty.
3960         * filenot.c: Likewise.
3961         * fileopctx.c: Likewise.
3962         * mfmt.c: Likewise.
3963         * selcodepage.c: Likewise.
3964         * text.c: Likewise.
3965         * textconf.c: Likewise.
3967         * man2hlp.c (main): Factor error checks in fopen() and fclose(),
3968         eliminate reuse of variables for different purposes, add more
3969         comments.  Correctly process "\&" escape.
3970         The last part is from David Martin <dmartina@excite.com>
3972 2002-08-26  Pavel Roskin  <proski@gnu.org>
3974         * main.c (init_xterm_support): Force xterm-style screen saving
3975         and no mouse on "cygwin" terminal.
3977 2002-08-25  Pavel Roskin  <proski@gnu.org>
3979         * man2hlp.c: Change default from the English string for TOPICS,
3980         to no heading.
3982         * man2hlp.c (handle_command): Remove quotes from TOPIC.
3984         * key.c (get_event): Check gpm_fd before using it in FD_SET.  If
3985         gpm_fd is -1 (gpm has died), disable mouse support.
3987         * key.c: Use the maximal file descriptor, not FD_SETSIZE in all
3988         calls to select().
3989         * subshell.c: Likewise.
3990         From Pavel Tsekov <ptsekov@gmx.net>
3992 2002-08-24  Pavel Roskin  <proski@gnu.org>
3994         * user.c (expand_format): Remove support for error file in the
3995         editor.
3996         * utilunix.c (close_error_pipe): Fix the condition when nothing
3997         needs to be displayed.
3999         * dlg.c (x_set_dialog_title): Force uniform spacing.
4000         From Andrew Borodin <borodin@zarya-k.ru>
4002         * utilunix.c (check_error_pipe): Check error_pipe[0], not
4003         stdout.  From Pavel Tsekov <ptsekov@gmx.net>
4005         * achown.c (chown_refresh): Use common_dialog_repaint().
4007         * dlg.h (struct Dlg_head): Separate user flags and internal
4008         flags.  Make "direction" a user flag.  Adjust all dependencies.
4009         * dlg.c (run_dlg): Return ret_value.
4011 2002-08-23  Pavel Roskin  <proski@gnu.org>
4013         * text.c (default_edition_colors): Use more rxvt-friendly color
4014         for dhotnormal.
4016         * Makefile.am: Remove definition of CONFDIR, it's not used.
4018 2002-08-22  Pavel Roskin  <proski@gnu.org>
4020         * layout.c (print_vfs_message): Set normal color, don't use
4021         random current attributes.
4023         * dlg.h (struct Dlg_head): Eliminate "data" field, it duplicated
4024         functionality of "title".
4025         * wtools.c (query_callback): Use dialog_repaint().
4026         (quick_callback): Use common_dialog_repaint().
4028         * learn.c (learn_callback): Use common_dialog_repaint().
4029         * achown.c (chl_callback): Likewise.
4031         * dialog.h: Cleanup unused functions.
4032         * dialog.c: Cleanup unused headers.
4034         * dlg.h (struct Dlg_head): Fold fields "raw" and "has_menubar"
4035         into one field "flags".  Adjust all dependencies.  Add new flag
4036         DLG_COMPACT.
4037         * wtools.c (dialog_repaint): Draw frame without spaces if
4038         DLG_COMPACT flag is set.
4039         * complete.c (complete_engine): Set DLG_COMPACT.
4040         (query_callback): Use common_dialog_repaint().
4042         * keys.h: Remove, include ...
4043         * myslang.h: ... here.
4044         * Makefile.am: Remove keys.h.
4046         * dlg.h: Remove unused fields in struct Dlg_head.
4047         * dlg.c: Adjust for the above.
4049 2002-08-21  Pavel Roskin  <proski@gnu.org>
4051         * dlg.h: Remove unused fields in struct Widget.
4052         * dlg.c: Adjust for the above.
4053         * layout.c: Likewise.
4055         * cmd.c (info_cmd_no_menu): Toggle info screen.
4056         (quick_cmd_no_menu): Toggle quick view.
4058         * help.c (interactive_display): Always show button bar.
4060         * widget.c (buttonbar_callback): Fix a bug that prevented the
4061         last byte from being redrawn.
4062         Reported by David Martin <dmartina@excite.com>
4064         * layout.c (setup_panels): Make the button bar 0 lines high if
4065         it's invisible, so that mouse click on the history button works
4066         with invisible button bar.
4068         * widget.c: Make more functions static.
4070         * ext.c: (regex_check_type): Further split.  Restore caching
4071         broken in the previous commit.
4073         * ext.c (regex_command): Separate checking for "type/" into ...
4074         (regex_check_type): ... this.
4076         * global.h: Move include for rx.h and eregex.h here.
4078         * learn.c (learn_button): Don't allow Tab to be learned.
4080 2002-08-20  David Martin  <dmartina@excite.com>
4082         * menu.c (create_menu): Get help node as an argument.
4083         * main.c: Use new create_menu() interface.
4085 2002-08-20  Pavel Roskin  <proski@gnu.org>
4087         * man2hlp.c: Don't redirect stdout.  Check result of ftell.
4088         Drop support for invocation with 2 arguments.
4090 2002-08-19  Pavel Roskin  <proski@gnu.org>
4092         * cons.handler.c (handle_console): Use _exit(), not exit() in
4093         the child.
4095         * main.c (handle_args): Set POPT_CONTEXT_NO_EXEC flag for
4096         poptGetContext().
4097         * popt.c: Call abort() in execCommand() - we should not execute
4098         anything here.
4100         * util.h: Remove unused and dangerous flags for my_system():
4101         EXECUTE_TEMPFILE, EXECUTE_SETUID and EXECUTE_WAIT.
4102         * utilunix.c: Corresponding adjustments.
4103         * ext.c: Don't use EXECUTE_TEMPFILE, it has no effect.
4105         * subshell.c (synchronize): Workaround for Cygwin (should not be
4106         needed for the next version) - remove SIGCHLD blocking from
4107         old_mask.
4109         * dlg.h: Remove all unused flags for create_dlg().  Adjust all
4110         dependencies.
4112         * cmd.c (fishlink_cmd): Implement user interface for FiSH.
4113         * main.c: Add it to the menu.
4115         * help.c (help_follow_link): Made static.
4117 2002-08-18  Pavel Roskin  <proski@gnu.org>
4119         * subshell.c (synchronize): Discard all remaining data from
4120         stdin to the subshell.
4122         * subshell.c (exit_subshell) [AIX_TCSH_CODE_BELOW_IS_IT_FIXED]:
4123         Remove.  Nobody has fixed this code for years.
4125         * main.h [USE_INTERNAL_EDIT]: Don't include declarations from
4126         edit.h.
4127         * setup.c [USE_INTERNAL_EDIT]: Include edit.h.
4129         * boxes.h: Remove user_format.
4130         * boxes.c: Make more variables static, remove all extern
4131         declarations.
4132         * setup.c: Remove some extern declarations.
4134         * mountlist.h: Move some internals ...
4135         * mountlist.c: ... here.
4137         * main.c: Remove extremely unsafe and poorly designed support
4138         for /tmp/mc.$PID.control file.
4139         * util.c (my_putenv): Remove, it's unused now.
4141         * panel.h (struct format_e): Make string_fn return const char *.
4142         Adjust all dependencies.
4143         * screen.c (string_file_mtime): Return empty string for "..".
4144         (string_file_atime): Likewise.
4145         (string_file_ctime): Likewise.
4147         * view.c (display): Use enum for boldflag values.  Fix cursor
4148         highlighting for the ASCII part of the hex editor.
4150         * layout.c (init_curses) [!HAVE_SLANG]: Add support for
4151         stickchars - fill acs_map[] with ASCII approximations.
4152         * main.c [!HAVE_SLANG]: Enable --stickchars (-a) for ncurses.
4154 2002-08-16  Pavel Roskin  <proski@gnu.org>
4156         * setup.c: New variable global_profile_name to hold full name of
4157         mc.lib.
4158         (load_setup): Calculate global_profile_name.
4159         (done_setup): Free global_profile_name.
4160         (load_key_defs): Use global_profile_name.
4161         * treestore.c (should_skip_directory): Likewise.
4163         * man2hlp.c: Implement persistent fread and fwrite to make sure
4164         that all output is read and written.
4166 2002-08-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
4168         * help.c (show): Cast *paint_start to unsigned char to display
4169         Cyrillic with ncurses.
4170         [HAS_ACS_AS_PCCHARS] (acs2pc_table): Make const.
4172         * user.c (expand_format): Cast the argument to functions
4173         for character classification to unsigned int.
4174         (execute_menu_command): Likewise.
4176 2002-08-15  Pavel Roskin  <proski@gnu.org>
4178         * treestore.c (tree_store_remove_entry): Don't use ts.check_name
4179         and don't check it.
4181         * treestore.c: Remove unused code, reformat.
4182         * treestore.h: Remove unused declarations.
4184         * fs.h (compute_namelen): New inline function to take care of
4185         the d_namlen field if and only if it's needed.
4187         * screen.c (string_file_name): Replace non-printable characters
4188         with question marks.
4190         * subshell.c (read_subshell_prompt): Remove argument "how", it's
4191         never set to VISIBLY.  Adjust all dependencies.  Eliminate hack
4192         with "clear_now" - it causes invalid memory access and hides the
4193         real problem.
4194         * util.c (strip_ctrl_codes): Fix possible invalid memory access
4195         if the escape sequence ends unexpectedly.
4197 2002-08-14  Pavel Roskin  <proski@gnu.org>
4199         * dir.c (do_load_dir): Fix leaking of file descriptors - always
4200         call mc_closedir() before return.
4202         * main.c (do_execute) [!HAVE_SUBSHELL_SUPPORT]: Compile fix.
4204         * view.c (display): Use only declared color pairs to fix hex
4205         editor appearance with ncurses.  Eliminate some useless defines.
4207 2002-08-10  Pavel Roskin  <proski@gnu.org>
4209         * key.c (delete_select_channel): Avoid using freed memory.
4211 2002-08-09  Pavel Roskin  <proski@gnu.org>
4213         * ext.c (exec_extension): Eliminate unused argument.
4214         (regex_command): Remove support for user actions.  Return int.
4215         Adjust all dependencies.
4217         * ext.c (exec_extension): Make static.  Remove support for Drop,
4218         Title and Icon actions.  Adjust all dependencies.
4220         * main.c (sigchld_handler_no_subshell) [linux]: SIGTSTP is
4221         always defined on Linux.
4222         * subshell.c (sigchld_handler): No need to use SIGTSTP
4223         explicitly when we really care about SIGCONT.
4225         * ncurses.patch: Remove, it's obsolete.
4226         * Makefile.am: Remove ncurses.patch.
4228 2002-08-04  Pavel Roskin  <proski@gnu.org>
4230         * subshell.c: Assume that SIGTSTP and SIGCONT are always
4231         defined.  This is now checked in configure.  Otherwise
4232         synchronize() would hang until subshell exits.
4234 2002-08-01  Pavel Roskin  <proski@gnu.org>
4236         * charsets.c: Unconditionally enable finalization code that was
4237         only used with HAVE_MAD.
4238         * color.c: Likewise.
4239         * color.h: Likewise.
4240         * key.c: Likewise.
4241         * main.c: Likewise.
4242         * slint.c: Likewise.
4243         * subshell.c (exit_subshell): Free subshell_prompt.
4245         * mad.c: Remove.
4246         * mad.h: Likewise.
4247         * Makefile.am (SRCS): Remove mad.c and mad.h.
4248         * cmd.c: Remove references to MAD.
4249         * main.c: Likewise.
4250         * dlg.c: Use inline, not INLINE.
4251         * hotlist.c: Likewise.
4252         * menu.c: Likewise.
4253         * global.h: Don't include mad.h.
4255 2002-07-31  Andrew V. Samoilov  <kai@cmail.ru>
4257         * man2hlp.c (main): Don't use freed structure member.
4259         * ext.c (regex_command): Don't check same condition twice.
4260         (exec_extension): Comment out useless loop.
4261         * key.h (key_code_name_t): Typedef const.
4263 2002-07-30  Pavel Roskin  <proski@gnu.org>
4265         * man2hlp.c (main): Use only stream I/O.  Fix checks for error
4266         conditions.  Reformat the whole file.
4268         * man2hlp.c: Avoid the need to use gindex.pl.
4269         From Andrew V. Samoilov <sav@bcs.zp.ua>
4270         * Makefile.am: Use man2hlp directly.
4271         (EXTRA_DIST): Remove gindex.pl.
4272         * gindex.pl: Remove.
4274         * ext.c (regex_command): Additional check to prevent reading
4275         unallocated memory when matching "shell/".  Found by Valgrind.
4277 2002-07-29  Pavel Roskin  <proski@gnu.org>
4279         * setup.c: Eliminate all PORT* macros.
4280         * screen.c: Likewise.
4282         * subshell.c (feed_subshell): Reading 0 bytes in a channel with
4283         FD_ISSET being set is a sign of something being wrong - exit
4284         immediately.  Observed when mc is run under su in xterm and
4285         xterm is closed while the subshell is running.
4286         Reported by Vlad Harchev <hvv@hippo.ru>
4288         * color.h: Replace PORT_COLOR macro with BEST_COLOR, which uses
4289         MY_COLOR_PAIR.
4291         * util.c: Remove unused functions.
4292         * utilunix.c: Likewise.
4293         * util.h: Update to match.
4295         * cons.saver.c: Use SEEK_SET instead of 0 in lseek().
4296         * view.c: Likewise.
4298         * main.c (do_execute): Add newline after "Press any key to
4299         continue".
4301         * cons.saver.c: Eliminate some global variables.  Further
4302         cleanup.  Make sure that console_fd is always closed.
4304 2002-07-28  Pavel Roskin  <proski@gnu.org>
4306         * cons.saver.c: Remove support for Linux kernels before 2.0.
4307         Massive cleanup.
4308         (send_contents): Remove incorrect optimization - restore even
4309         empty lines because they may be touched by the viewer.
4310         From Denis Vlasenko <vda_unique@iname.com>
4312 2002-07-26  Pavel Roskin  <proski@gnu.org>
4314         * utilunix.c (canonicalize_pathname): Don't extend empty path
4315         to "." - it can corrupt memory.
4317         * cmd.c (copymove_cmd_with_default): Remove, it's unused.
4318         (copy_cmd_local): New function, copy within panel.
4319         (ren_cmd_local): New function, rename within panel.
4320         * cmd.h: Adjust to match.
4321         * screen.c (panel_keymap): Associate F15 with copy_cmd_local and
4322         F16 with ren_cmd_local.
4324         * view.c (display): Don't highlight characters as bold if the
4325         character before the backspace was different.
4326         From Roland Illig <roland.illig@gmx.de>
4328 2002-07-25  Andrew V. Samoilov  <kai@cmail.ru>
4330         * wtools.c (message): Fix possible buffer overflow.
4332         * slint.c [HAVE_MAD] (dealloc_color_pairs): Move ...
4333         * color.c [HAVE_MAD]: ... here and make accessible from
4334         other files to fix compilation.
4335         * color.h [HAVE_MAD]: Declare dealloc_color_pairs.
4337 2002-07-20  Pavel Roskin  <proski@gnu.org>
4339         * screen.c (panel_callback): Revert last change, it has bad side
4340         effects on the subshell.
4342 2002-07-19  Pavel Roskin  <proski@gnu.org>
4344         * dlg.c: Eliminate all useless x_* functions.
4345         * dlg.h: Likewise.
4346         * panel.h: Likewise.
4347         * textconf.h: Likewise.
4348         * view.c: Likewise.
4349         * view.h: Likewise.
4350         * widget.c: Likewise.
4351         * main.c: Remove panel_update_marks(). Move try_to_select() ...
4352         * screen.c: ... here.  Eliminate x_* functions.
4353         * main.h: Remove panel_update_marks().
4355         * screen.c (panel_callback): Only change directory on
4356         WIDGET_FOCUS if current_panel changes.
4358         * main.c (handle_args): Don't call mc_get_current_wd().
4360         * main.c (directory_history_list): Report error if cannot change
4361         directory.
4363 2002-07-16  Pavel Roskin  <proski@gnu.org>
4365         * main.c (do_execute): Don't ask to press any key when the shell
4366         is running a command - the user has already pressed Ctrl-O.
4368 2002-07-15  Pavel Roskin  <proski@gnu.org>
4370         * slint.c: Eliminate hardcoded color terminals.  Most users no
4371         longer need this hack, and those who do have color_terminals
4372         option in the config file.
4374 2002-07-14  Pavel Roskin  <proski@gnu.org>
4376         * color.c [USE_NCURSES]: Eliminate division by COLOR, it's 0 in
4377         black and white mode.
4379         * slint.c: Move functions for allocating color pairs ...
4380         * color.c: ... here.  Implement ncurses equivalents.  Rename
4381         init_pair() to mc_init_pair() and keep tack of max_index with
4382         ncurses.  Adjust all dependencies.
4384         * mem.h: Clean up obsolete definitions, incorporate into ...
4385         * global.h: ... this.
4386         * Makefile.am: Remove mem.h.
4388 2002-07-13  Pavel Roskin  <proski@gnu.org>
4390         * Makefile.am (AM_CPPFLAGS): Remove REGEX_MALLOC, it's now in
4391         configure.in.
4393         * tty.h: Use standard autoconf defines to determine which
4394         ncurses header to include.  Eliminate RENAMED_NCURSES.
4396 2002-07-10  Pavel Roskin  <proski@gnu.org>
4398         * utilunix.c: Cast argument for GUINT_TO_POINTER to int to fix
4399         warnings on Cygwin.
4401         * subshell.c: ioctl() doesn't set errno - don't use perror() to
4402         report failures.  Use fprintf() instead, ignore errors from
4403         TIOCSWINSZ.
4404         (resize_tty): New function - code common for resize_subshell()
4405         and init_subshell_child().
4407         * global.h: Include vfs.h.
4408         * boxes.c (configure_vfs): Ask whether .netrc should be used.
4409         From Thomas Zajic <zlatko@gmx.at>
4411 2002-07-03  Pavel Roskin  <proski@gnu.org>
4413         * file.c (do_transform_source): Cast the argument to functions
4414         for character classification to unsigned int.
4415         * main.c (handle_args): Likewise.
4416         * util.c (size_trunc_sep): Likewise.
4417         (skip_numbers): Likewise.
4419         * subshell.c (sigchld_handler): Remove subshell_pty from the
4420         channel list if the subshell has died.
4422 2002-07-03  Andrew V. Samoilov  <kai@cmail.ru>
4424         * mad.[ch] [__GNUC__] (mad_strconcat): Use macro varargs.
4425         (mad_strdup_printf): Likewise.
4426         (mad_strdup_vprintf): Likewise.
4427         * main.c [HAVE_MAD] (main): Release this_dir and other_dir.
4429 2002-07-03  Pavel Roskin  <proski@gnu.org>
4431         * main.c (stop_dialogs): New function to stop all dialogs.
4432         (quit_cmd_internal): Use stop_dialogs() instead of stopping
4433         midnight_dlg only.  This fixes exit from the shell invoked from
4434         the internal viewer or editor.
4436         * cmd.c (view_other_cmd): Shut down extra select channels before
4437         switching to the shell.  Restore them afterwards, but not if
4438         quit was requested.  Skip more code on quit.
4440 2002-07-02  Pavel Roskin  <proski@gnu.org>
4442         * util.c: Eliminate get_small_endian_long() and CHECK macro.
4444         * util.h: Rename compression types, add a type for uncompressed
4445         files.
4446         * util.c (is_gunzipable): Rename to ...
4447         (get_compression_type): this.  Don't check archive length, since
4448         it's unreliable if there is padding at the end of the file.
4449         Eliminate prehistoric Linux workaround.  All callers adjusted.
4451 2002-07-01  Andrew V. Samoilov  <kai@cmail.ru>
4453         * utilunix.c (close_error_pipe): Use "%s" in message () to
4454         prevent possible crash.
4455         (check_error_pipe): Likewise.
4457 2002-06-27  Pavel Roskin  <proski@gnu.org>
4459         * screen.c (do_enter_on_file_entry): Process associations before
4460         trying to execute the file.
4462 2002-06-20  Pavel Roskin  <proski@gnu.org>
4464         * dir.c (handle_dirent): Don't process ".." entries.
4465         (handle_path): Likewise.
4466         From Andrew V. Samoilov <kai@cmail.ru>
4468 2002-06-13  Oskar Liljeblad  <oskar@osk.mine.nu>
4470         * slint.c (has_colors): Don't reset SLtt_Use_Ansi_Colors to 0 if
4471         force_colors is not set.  This fixes color on unknown terminals.
4473 2002-06-13  Andrew V. Samoilov  <kai@cmail.ru>
4475         * user.c (expand_format): Fix '%b' processing.
4476         Handle '%k' as documented.
4478 2002-05-30  Andrew V. Samoilov  <kai@cmail.ru>
4480         * view.c (regexp_search): Don't call save_edit_changes
4481         if there are no changes.
4482         (save_edit_changes): Use messages from ../po/mc.pot.
4484         * mad.c (mad_tempnam): Commented out to make linker happy.
4485         * main.c [HAVE_MAD && !_OS_NT] (main): G_free mc_home.
4487 2002-05-27  Andrew V. Samoilov  <kai@cmail.ru>
4489         * view.c (save_edit_changes): Handle errors.
4490         (do_view_init): Don't open and check file type
4491         if _command is not null or _file is empty string.
4493 2002-05-22  Pavel Roskin  <proski@gnu.org>
4495         * Makefile.am: doc/mc.1 is in top_builddir, not in top_srcdir.
4497 2002-05-15  Andrew V. Samoilov  <kai@cmail.ru>
4499         * view.c (do_view_init): Close fd if it is unused.
4501 2002-05-14  Andrew V. Samoilov  <kai@cmail.ru>
4503         * Makefile.am (VFSLIB): Add ../vfs/samba/libsamba.a
4504         if USE_SAMBA_FS is true.
4506 2002-05-07  Pavel Roskin  <proski@gnu.org>
4508         * hotlist.c (hotlist_button_callback): Don't process B_REMOVE
4509         for VFS list - it would crash.
4510         From Andrey Panov <pav@metib.ru>
4512 2002-04-19  Andrew V. Samoilov  <kai@cmail.ru>
4514         * main.c [!WITH_MCFS] (PanelMenu): Eliminate mcfs related entry.
4515         (RightMenu): Likewise.
4516         * textconf.c (features): Likewise.
4517         * cmd.c (netlink_cmd) [!WITH_MCFS]: Eliminate.
4519 2002-04-03  Pavel Roskin  <proski@gnu.org>
4521         * Makefile: mc.hlp should be in MAINTAINERCLEANFILES, not in
4522         CLEANFILES, because "make clean" should not make the source
4523         directory useless on systems without Perl.
4525 2002-03-26  Andrew V. Samoilov  <kai@cmail.ru>
4527         * eregex.h [!USE_INCLUDED_REGEX]: Include <regex.h>.
4528         * regex.c: Compile only if USE_INCLUDED_REGEX is defined.
4530 2002-03-25  Andrew V. Samoilov  <kai@cmail.ru>
4532         * complete.c (insert_text): Fix buffer overflow.
4534         * cmd.[ch] [USE_INTERNAL_EDIT] (edit_syntax_cmd:) New dialog
4535         to edit Syntax Highlighting definitions file.
4536         * main.c (CmdMenu) [USE_INTERNAL_EDIT]: Add 'Syntax file edit'
4537         entry.
4538         (process_args): Print mc's library directory to stdout.
4540 2002-03-21  Andrew V. Samoilov  <kai@cmail.ru>
4542         * man2hlp.c (handle_command): Handle backslash quoting
4543         for .I and .B
4544         (handle_link): Strip .B and .I
4545         * gindex.pl: Use fifth argument as man2hlp location.
4547 2002-03-20  Andrew V. Samoilov  <kai@cmail.ru>
4549         * man2hlp.c (handle_command): Handle '.\"TOPICS' comment.
4550         Use it for translated 'Topics:' message.
4551         * gindex.pl: Use first line of man2hlp output as
4552         translated 'Topics:' message if fourth argument
4553         is empty string.
4554         * Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
4555         fourth argument.
4557         * textconf.c (version): Write to stdout.
4558         * main.c (print_mc_usage): Add "stream" parameter to specify
4559         file stream.
4560         (process_args): Use print_mc_usage() with stdout as stream.
4561         (handle_args): Use print_mc_usage() with stderr as stream.
4562         (print_color_usage): Write to stdout.
4564 2002-03-18  Pavel Roskin  <proski@gnu.org>
4566         * eregex.h: Update from glibc-2.2.5.
4567         * regex.c: Likewise.
4568         * find.c: Use eregex.h, not regex.h.
4569         * util.c: Likewise.
4570         * view.c: Likewise.
4571         From Alexander Varakin <avarakin00@hotmail.com>
4573         * find.c (find_parameters): Invert condition when find is case
4574         sensitive.
4576 2002-03-04  Andrew V. Samoilov  <kai@cmail.ru>
4578         * Makefile.am (mc.hlp.ru): Use mc.1 instead of mc.1.in.
4579         (mc.hlp): Likewise.
4581         * file.c (copy_file_file): Chmod destination only if
4582         ctx->preserve is on.  Eliminate gotos.
4584 2002-03-01  Andrew V. Samoilov  <kai@cmail.ru>
4586         * Makefile.am (mc.hlp.ru): New rule to compile translated
4587         help file.
4588         (mclib_DATA): Add mc.hlp.ru.
4589         (EXTRA_DIST): Likewise.
4591         * gindex.pl: Add optional 4th argument for translated
4592         Content section name.
4594 2002-02-28  Andrew V. Samoilov  <kai@cmail.ru>
4596         * mad.c: Make mem_areas dynamically growing.
4597         (mad_init): Allocate memory for mem_areas.
4598         (mad_alloc): Grow mem_areas if it is exhausted.
4600         * filegui.c (file_mask_dialog): Enable 'follow Links'
4601         and 'preserve Attributes' features in Move dialog.
4602         (file_bps_show): Translate messages.
4603         (file_eta_show): Likewise.
4605         * man2hlp.c (main): Don't crash if called without argument(s).
4606         Make buffer char pointer.
4607         (handle_command): Handle '.\"NODE' comment.  Use it for
4608         nodename in translated manual pages.
4610         * gindex.pl: Use [nodename] as user visible section name
4611         only if next line is empty.  Elsewhere use this nonempty line.
4613         * find.c (find_parameters): Compile content_pattern here.
4614         Inform user about malformed regular expression.
4615         (search_content): Use compiled regular expression.
4616         (do_find): Eliminate `done'.  Call regfree for compiled
4617         content_pattern.
4619 2002-02-24  Pavel Roskin  <proski@gnu.org>
4621         * chown.c (chown_cmd): Use size_trunc_len() to show the file
4622         size.  Eliminate c_fsize, which wasn't properly initialized.
4624 2002-02-22  Pavel Roskin  <proski@gnu.org>
4626         * man2hlp.c (string_len): Don't exclude characters with codes
4627         above 128 from the string length.
4629 2002-02-21  Andrew V. Samoilov  <kai@cmail.ru>
4631         * ext.c (exec_extension): Use "#! /bin/sh".
4633 2002-02-20  Pavel Roskin  <proski@gnu.org>
4635         * background.c (background_attention): Cast pointer to long
4636         instead of int because it's unsafe of 64-bit systems.
4637         * main.c (init_xterm_support): Likewise.
4639 2002-02-18  Pavel Roskin  <proski@gnu.org>
4641         * utilunix.c (canonicalize_pathname) [__QNX__]: Fix detection
4642         of Qnet names.  Disable support of Qnet names under QNX Neutrino.
4643         Reported by Maurizio Rossi <MRossi@system-group.it>
4645         * global.h: Include unix.h under "classical" QNX.
4646         * subshell.c: Don't include unix.h.
4647         * utilunix.c: Likewise.
4649 2002-02-07  Andrew V. Samoilov  <kai@cmail.ru>
4651         * main.c (update_one_panel_widget): Call ftpfs_flushdir().
4653 2002-02-05  Pavel Roskin  <proski@gnu.org>
4655         * key.c [USE_NCURSES] (get_key_code): Ignore KEY_RESIZE.
4656         * layout.c [USE_NCURSES] (flag_winch): Don't call
4657         low_level_change_screen_size() from signal handler.
4658         From Thomas Dickey <dickey@herndon4.his.com>
4660         * screen.c (format_file): Add a new parameter (size of the
4661         output buffer) to prevent buffer overflow on very wide
4662         terminals.
4663         From Thomas Dickey <dickey@herndon4.his.com>
4665 2002-02-04  Andrew V. Samoilov  <kai@cmail.ru>
4667         * util.c [!HAVE_TRUNCATE] (truncate): Close fd if my_ftruncate
4668         fails.
4670         * util.c [HAVE_CHARSET] (is_printable): Eliminate printable.
4671         * setup.c [HAVE_CHARSET] (load_setup): Don't use
4672         init_printable_table.
4674         * charsets.h: Don't declare init_printable_table ().
4675         * charset.c (printable): Removed.
4676         (init_printable_table): Removed.
4678 2002-01-30  Andrew V. Samoilov  <kai@cmail.ru>
4680         * file.c (recursive_erase): Use mc_closedir() if mc_lstat()
4681         fails.  Eliminate goto.
4682         (erase_dir): Eliminate goto.
4683         (erase_dir_iff_empty): Likewise.
4685 2002-01-29  Andrew V. Samoilov  <kai@cmail.ru>
4687         * dir.c (handle_dirent): Use MSG_ERROR.
4688         * charsets.c (translate_character): Use ICONV_CONST.
4690 2002-01-22  Pavel Roskin  <proski@gnu.org>
4692         * screen.c: Don't try to paint anything if width is 0 or less.
4693         Reported by Pawel Sakowski <pawel@sakowski.eu.org>
4695         * screen.c: Make functions static whenever possible.  Remove
4696         unused functions.
4697         * panel.h: Remove corresponding declarations.
4699 2002-01-21  Pavel Roskin  <proski@gnu.org>
4701         * util.c: Move replacements for permission bits ...
4702         * fs.h: ... here.  Add more replacements.
4703         * global.h: Include direct.h only with MSVC.
4705         * main.c: Include "drive.h", not <drive.h>, do it after panel.h.
4706         Use _OS_NT as the condition for including drive.h.
4707         * screen.c: Use _OS_NT as the condition for including drive.h.
4709         * global.h [_OS_NT]: Include io.h, direct.h and windows.h.
4710         Don't redefine struct timeval.
4712         * fs.h [_MSC_VER]: Use dirent provided by glib.
4714         * global.h [!HAVE_SYS_TIME_H]: Provide a replacement for struct
4715         timeval.
4717         * findme.c: Respect HAVE_UNISTD_H.
4718         * popt.c: Likewise.
4720         * global.h: Fallback to sys/utime.h if utime.h is missing.
4722         * global.h: Provide fallbacks for getuid(), getgid(), geteuid()
4723         and getegid().
4724         * fs.h: Fully trust HAVE_DIRENT_H.
4725         * complete.c: Don't include dirent.h directly, fs.h takes care
4726         of it.
4727         * file.c: Likewise.
4728         * filegui.c: Likewise.
4729         * main.c: Likewise.
4730         * treestore.c: Likewise.
4732         * global.h [!__GNUC__]: Define __attribute__ with one argument.
4734 2002-01-20  Pavel Roskin  <proski@gnu.org>
4736         * screen.c (string_file_size): Translate "UP--DIR".
4737         (string_file_size_brief): Translate "SUB-DIR" and "SYMLINK".
4739         * dir.c (add_dotdot_to_list): Don't use costly stat() - just put
4740         realistic (i.e. bogus) data to the list.
4742         * screen.c (string_file_size): Don't display size of ".." - it
4743         may take too much time to calculate it on VFS.  Show "UP--DIR"
4744         instead.
4745         (string_file_size_brief): Remove ".." handling - it's now done
4746         in string_file_size().  Show "SUB-DIR" for links to directories,
4747         "SYMLINK" for other links.
4749 2002-01-17  Pavel Roskin  <proski@gnu.org>
4751         * cmd.c: Remove OS/2 specific code.
4752         * file.c: Likewise.
4753         * main.c: Likewise.
4755         * main.h: Remove dead declarations.
4756         * setup.c: Remove defunct extension alignment support.
4757         * util.c: Likewise.
4758         * util.h: Likewise.
4760         * main.c: Remove unused toggle_* functions.
4762         * dir.c: Show backups by default.
4764 2002-01-15  Andrew V. Samoilov  <kai@cmail.ru>
4766         * file.c (copy_dir_dir): Check the destination is a directory
4767         if it exists. Reported by Thomas <metaf4@pseudonym.org>.
4769 2002-01-09  Andrew V. Samoilov  <kai@cmail.ru>
4771         * util.c (string_perm) [S_IFDOOR]: Support Solaris doors.
4772         * screen.c (string_file_type) [S_IFDOOR]: Likewise.
4774 2001-12-21  Pavel Roskin  <proski@gnu.org>
4776         * hotlist.c (hotlist_callback): Recognize "delete" key.
4778         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang/slang-mc.h to
4779         simplify includes.
4780         [HAVE_SYSTEM_SLANG]: Use angle brackets for slang.h.
4782         * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang-mc.h directly
4783         to avoid relying on symlinks.
4785 2001-12-18  Pavel Roskin  <proski@gnu.org>
4787         * utilunix.c (init_groups): Don't return prematurely if the
4788         primary group cannot be found (it can happen on Cygwin).
4790 2001-12-10  Pavel Roskin  <proski@gnu.org>
4792         * dir.c (do_reload_dir): Hash-table added.
4793         From Björn Eriksson <mdeans@algonet.se>
4795 2001-12-03  Pavel Roskin  <proski@gnu.org>
4797         * dir.c (do_reload_dir): Optimize the logic - count the marks
4798         and only match new entries against old entries if at least one
4799         mark has not been transferred.
4800         From Björn Eriksson <mdeans@algonet.se>
4802 2001-11-29  Pavel Roskin  <proski@gnu.org>
4804         * main.c (midnight_callback): Implement "auto menus".
4806         * layout.c: Make more variables static.
4808         * cons.saver.c: Define LINUX_CONS_SAVER_C so that some parts
4809         of cons.saver.h can be omitted.
4810         * cons.saver.h: Declare nothing but constants if
4811         LINUX_CONS_SAVER_C is defined.
4813 2001-11-14  Pavel Roskin  <proski@gnu.org>
4815         Fully eliminate all references to HAVE_X and HAVE_GNOME.
4817         * dir.c (do_sort): Correctly handle the case when there is no
4818         ".." entry (i.e. panelized mode).
4820 2001-11-14  Andrew V. Samoilov  <kai@cmail.ru>
4822         * view.c (do_view_init): Make sure _file is not
4823         an empty string before mc_stat and mc_open.
4824         Memory leak fixed.
4826 2001-11-14  Pavel Roskin  <proski@gnu.org>
4828         * panelize.c (do_external_panelize): Re-sort the panel according
4829         to the current settings.
4831         * find.c (do_find): Re-sort the panel according to the current
4832         settings when doing panelizing.
4834         * dir.c (sort_type_to_name): Remove, it's unused in the text
4835         edition.
4836         (sort_name_to_type): Likewise.
4837         * dir.h: Adjust to match.
4839         * mouse.c: Add default cases to fix warnings with gcc-2.96.
4841 2001-11-12  Pavel Roskin  <proski@gnu.org>
4843         * main.c: Remove support for subshell debugging.  Firstly, it
4844         was broken.  Secondly, every developer should be able to add
4845         this code when needed.  Finally, there is no need to expose the
4846         option to the user and translate it into 30 languages.
4847         * subshell.h: Remove debug_subshell.
4848         * subshell.c: Likewise.
4850 2001-11-12  Andrew V. Samoilov  <kai@cmail.ru>
4852         * mad.h: Enable glib support.
4854         * mad.[ch] (mad_get_current_dir): New function to use instead
4855         of g_get_current_dir.
4856         (mad_tempnam): Add file and line parameters.
4857         (mad_alloc0): Make file parameter const.
4858         (mad_realloc): Likewise.
4859         (mad_strdup): Likewise.
4860         (mad_strndup): Likewise.
4861         (mad_free): Likewise.
4862         (mad_finalize): Likewise.
4864 2001-11-07  Andrew V. Samoilov  <kai@cmail.ru>
4866         * cmd.c (guess_message_value): Make val static const array.
4867         (smblink_cmd) [!WITH_SMBFS]: Eliminated.
4869         * dlg.c (add_widget): Check for what is not NULL
4870         before everything else.
4872         * slint.c (slang_reset_softkeys): Make display static const
4873         array.  Use sizeof (display) - 1 instead of strlen display.
4874         (color_terminals): Make static const array.
4875         (key_table): Make const.
4877         (dealloc_color_pairs) [HAVE_MAD]: New function.  Release
4878         memory allocated in try_alloc_color_pair.
4879         (slang_shutdown) [HAVE_MAD]: Call dealloc_color_pairs.
4880         (try_alloc_color_pair): Move struct c outside function.
4882 2001-10-29  Andrew V. Samoilov  <kai@cmail.ru>
4884         * charsets.c (load_codepages_list): Use glib memory allocation
4885         functions.
4886         (free_codepages_list) [HAVE_MAD]: New function to release
4887         memory allocated in load_codepages_list.
4888         * charsets.h: Declare free_codepages_list.
4890         * main.c [HAVE_CHARSET]: Include charsets.h.
4891         (main) [HAVE_MAD && HAVE_CHARSET]: Call free_codepages_list.
4892         (program_name): Commented out.
4894 2001-10-26  Andrew V. Samoilov  <kai@cmail.ru>
4896         * key.c (push_char): Fix buffer length calculation.
4897         By David Kaelbling <drk@sgi.com>.
4898         http://bugzilla.gnome.org/show_bug.cgi?id=60932
4900         (define_sequence): Likewise.
4901         (key_define_t): Add const declaration.
4903 2001-10-22  Pavel Roskin  <proski@gnu.org>
4905         * main.h: Declare view_one_file and edit_one_file.
4907 2001-10-22  Andrew V. Samoilov  <kai@cmail.ru>
4909         * dialog.h: Include global.h.
4910         (message): Specify __attribute__.
4912 2001-10-20  Pavel Roskin  <proski@gnu.org>
4914         * main.h (print_vfs_message): Specify __attribute__.
4916 2001-10-19  Pavel Roskin  <proski@gnu.org>
4918         * global.h: Define __attribute__ to an empty string for non-gcc
4919         compilers so that it's safe to use.
4921 2001-10-18  Pavel Roskin  <proski@gnu.org>
4923         * view.c (init_growing_view): Revert last change, it was wrong.
4924         (view_hook): Don't check that the file is regular - it's now
4925         done in do_view_init().  This fixes update problem in quick view
4926         when moving cursor from a regular file to a directory.
4928         * view.c (do_view_init): Only accept regular files.  Use stat(),
4929         not fstat() because open() would hang on pipes.  Avoid opening
4930         the file twice.
4931         (init_growing_view): Take file descriptor, not the filename.
4932         (load_view_file): Likewise.
4934 2001-10-01  Pavel Roskin  <proski@gnu.org>
4936         * boxes.c (tree): Rename to tree_box() to avoid confusion.
4937         Adjust all callers and headers.
4938         * main.c (tree_box): Rename to tree_box_cmd().
4940         * tree.c (set_navig_label): Get argument "tree".
4941         (set_navig_label): Likewise.  Adjust all callers.  Don't cast
4942         function tree() to (Widget *) - it's wrong and dangerous.
4944         * widget.h: Use type "buttonbarfn" more consistently.
4945         * widget.c: Likewise.
4947         * setup.c [!USE_VFS]: Warning fix.
4948         * hotlist.c [!USE_VFS]: Likewise.
4950         * tree.c (tree_navigation_flag): Should not be static.
4952         * screen.c (panel_format_modified): Use more portable cast.
4954         * fileopctx.h: Define new type mc_stat_fn.
4955         * filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
4956         mc_stat_fn to prevent warnings without VFS support.
4957         * fileopctx.c (file_op_context_new): Likewise.
4959 2001-09-23  Andrew V. Samoilov  <kai@cmail.ru>
4961         * find.c: Include rx.h or regex.h
4962         (get_line_at): New function.  Returns malloc()ed null-terminated
4963         line from file file_fd.  Input is buffered in buf_size long
4964         buffer.
4965         (search_content): Don't use external egrep.
4966         Use get_line_at and regexp.
4968 2001-09-21  Pavel Roskin  <proski@gnu.org>
4970         * cmd.c: Change all "long" variables to "off_t" whenever they
4971         are used to store file sizes.
4972         * file.c: Likewise.
4973         * file.h: Likewise.
4974         * fileopctx.h: Likewise.
4975         * tree.c: Likewise.
4976         * filegui.c: Likewise.
4977         (show_bar): Take "double" arguments.  Normalize arguments of
4978         gauge_set_value() before converting them to "int".
4980 2001-09-17  Pavel Roskin  <proski@gnu.org>
4982         * mouse.h: Major cleanup and interface change.  init_mouse()
4983         should only be called once, disable_mouse() and enable_mouse()
4984         should be used later.  Distinguish between disabled and
4985         undetected mouse.  Remove debugging stuff.  Adjust all users.
4986         * mouse.c: Implementation of the above.
4987         * key.c: Don't use gpm_flag - check mouse_enabled instead.
4989 2001-09-15  Pavel Roskin  <proski@gnu.org>
4991         * view.c: Cleanup of preprocessor directives.
4992         * view.h: Likewise.
4993         * widget.c: Likewise.
4994         * widget.h: Likewise.
4996         * textconf.h: Get rid of all PORT_HAS_*.  Adjust all users.
4997         Continued eliminating GNOME code.
4999         * cmd.c: Clean up unused GNOME code and some ifdef's.
5000         * dlg.c: Likewise.
5001         * dlg.h: Likewise.
5002         * ext.c: Likewise.
5003         * setup.c: Likewise.
5005         * cmd.c (guess_message_value): Remove the argument.  Adjust all
5006         callers.
5008         * textconf.c (features): Remove "edition", minor fixes.
5009         (version): Don't report the current locale - it's meaningless,
5010         especially if ENABLE_NLS is not defined.
5012         * textconf.h: Remove status_using_ncurses - it's useless now.
5013         Adjust all users.  Call do_exit_ca_mode() and do_enter_ca_mode()
5014         even with ncurses.
5016         * main.c (init_xterm_support): Don't enable xterm_flag just
5017         because of "kmous" in terminfo.  Setting this flag means much
5018         more than just mouse support.  Recognize terminals beginning
5019         with "rxvt" and set xterm_flag for them.
5021         * cmd.c (view_other_cmd): Don't check use_mouse_p before calling
5022         init_mouse() and shut_mouse(), since those functions decide
5023         themselves what to do.
5024         * layout.c (done_screen): Likewise.
5025         * main.c (setup_mc): Likewise.
5026         * text.c (edition_post_exec): Likewise.
5027         (edition_pre_exec): Likewise.
5029         * user.h: Fix location of the home editor menu.
5030         Reported by David Martin <dmartina@excite.es>
5032         * mouse.h: Export xmouse_seq.
5033         * mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
5034         xterm mouse sequence.
5035         * main.c (setup_post): Join with setup_mc().
5036         (init_xterm_support): New function.  Check mouse capability.
5037         (OS_Setup): Remove parts that are now in init_xterm_support().
5039 2001-09-14  Pavel Roskin  <proski@gnu.org>
5041         * key.c (get_event): Recognize KEY_MOUSE, not just MCKEY_MOUSE.
5042         * mouse.c: Don't use or emulate keyok(), since MC understands
5043         KEY_MOUSE now.
5045 2001-09-11  Pavel Roskin  <proski@gnu.org>
5047         * cmd.c (check_for_default): Make accessible from other files.
5048         * cmd.h: Declare check_for_default().
5050 2001-09-10  Pavel Roskin  <proski@gnu.org>
5052         * layout.c: Use HAVE_TERMIOS_H and HAVE_SYS_IOCTL_H more
5053         consistently.
5054         * mouse.c: Likewise.
5055         * subshell.c: Likewise.
5056         * win.c: Likewise.
5057         * util.c: Remove unused includes.
5059         * Makefile.am (mc_LDADD): Don't use LSLANG and LGPM, since they
5060         are now included into MCLIBS.
5062         * Makefile.am (mc_LDADD): Use INTLLIBS provided by gettext
5063         instead of LINTL.
5065 2001-09-09  Pavel Roskin  <proski@gnu.org>
5067         * hotlist.c (load_hotlist): If cannot open hotlist, don't assume
5068         that it needs to be migrated and don't warn the user.
5070 2001-09-08  Pavel Roskin  <proski@gnu.org>
5072         * Makefile.am: Fix definitions of CONFDIR and LOCALEDIR.
5074         * subshell.c: Move definitions of WEXITSTATUS and WIFEXITED
5075         below all includes so that they can be defined elsewhere.
5077 2001-09-07  Pavel Roskin  <proski@gnu.org>
5079         * myslang.h: Specify arguments to function-like macros or remove
5080         them if they are unused.
5082         * main.c: Remove old debugging code.  Remove external function
5083         declarations.
5084         (menu_bar_event): Remove, it's unused.
5085         * main.h: Declare get_mc_lib_dir() and force_ugly_line_drawing.
5086         * layout.c: Remove all external declarations.
5088         * main.c (main): Call save_stop_handler() - it was ifdef'd out
5089         by error.
5091         * main.c: Remove all GNOME code.
5093         * cmd.c: No need to define "MIDNIGHT" before including vfs.h.
5095         * user.h: Remove all dirty tricks with "MIDNIGHT" - they are not
5096         needed anymore.
5098         * global.h: Include io.h, pwd.h, grp.h and utime.h.  Adjust all
5099         sources not to include them and to include global.h at the right
5100         place.
5102         * global.h: Include all time-related system includes, since
5103         it's non-trivial (order, conflicts) and is better handled in one
5104         place.
5106 2001-09-06  Pavel Roskin  <proski@gnu.org>
5108         * fsusage.c: Include sys/param.h before sys/mount.h - it's
5109         required on some systems.
5110         * mountlist.c: Likewise.
5111         From Timur Bakeyev <mc@bat.ru>
5113 2001-09-04  Pavel Roskin  <proski@gnu.org>
5115         * Makefile.am: Don't use substituted values directly.  Define
5116         CHARSET_SRC unconditionally.  Join SRCS and HDRS.
5118 2001-09-03  Pavel Roskin  <proski@gnu.org>
5120         * widget.c (label_new): Don't calculate dimensions of multiline
5121         labels, since they cannot be changed and msglen() is already
5122         used when the dialog is created.
5124         * Makefile.in: Converted to ...
5125         * Makefile.am: ... this.
5127         * slint.c: Make more data and function static.
5128         * key.h: Remove declarations that are now static.
5129         * myslang.h: Likewise.
5131         * x.h: Remove.  Adjust all users.  Make sure that global.h is
5132         included instead.  Don't include sys/param.h unconditionally -
5133         rely on global.h taking care of it.
5134         * Makefile.in: Remove x.h.
5136         * color.c: Remove unused code.
5137         * color.h: Likewise.
5139 2001-09-02  Pavel Roskin  <proski@gnu.org>
5141         * key.c: Remove support for BUGGY_CURSES.
5143         * tty.h: Remove support for old curses and GNOME.
5144         * global.h: Likewise.
5146         * widget.c (label_new): Set initial width of the widget based on
5147         the initial text.
5149         * view.c (hex_search): Don't use sscanf() to search for quoted
5150         strings - use strchr instead.
5152 2001-08-31  23:14:21  Timur Bakeyev  <mc@bat.ru>
5154         * utilunix.c: init_groups(), destroy_groups(), get_user_permissions()
5155         rewritten to use GTree structure and functions. Add new static helper
5156         functions mc_gid_compare() and mc_gid_destroy().
5158         * util.h: Removed deprecated structure user_in_groups.
5160         * screen.c: Fixed typo in format report error string.
5162 2001-08-31  23:14:21  Timur Bakeyev  <mc@bat.ru>
5164         * utilunix.c: get_user_rights() renamed into get_user_permissions().
5165         delete_groups() renamed into destroy_groups().
5166         * util.h: Likewise.
5167         * screen.c: Likewise.
5168         * main.c: Likewise.
5170 2001-08-27  Pavel Roskin  <proski@gnu.org>
5172         * cmd.c (dirsizes_cmd): Don't cast st_size to long - use off_t
5173         instead, since off_t can be longer.
5174         Reported by Radovan Bukoci <rado@autoparts.sk>
5176 2001-08-30  David Martin  <dmartina@excite.es>
5178         * info.c (info_show_info): Use size_trunc_len() instead of
5179         print_bytesize().  Don't assume English word ordering.  Add
5180         singular message when single block.
5181         * win.c (print_bytesize): Remove.
5182         (sprint_bytesize): Remove.
5183         * win.h: Remove print_bytesize() and sprint_bytesize().
5185         * util.c (size_trunc_len): Add units parameter.  Change all
5186         callers.
5188         * util.c (size_trunc_len): Print size values with some (little)
5189         sense for tiny and even wee lengths (i.e. squeezed X terminals).
5191         * info.c (info_show_info): Move comment line just before
5192         translatable message so it's shown in .po files to alert
5193         translators.  The message (translated) is used to set the start
5194         column (so the available width) for some "truncatable" strings.
5196 2001-08-27  Pavel Roskin  <proski@gnu.org>
5198         * key.c (learn_key): Turn off keypad to disable interpreting keys
5199         by ncurses.
5200         Reported by Frederic L. W. Meunier <fredlwm@pervalidus.net>
5202 2001-08-26  Pavel Roskin  <proski@gnu.org>
5204         * xcurses.c: Remove.
5205         * Makefile.in: Remove all references to xcurses.c.
5207 2001-08-24  Pavel Roskin  <proski@gnu.org>
5209         * user.h: Include "../edit/edit-widget.h", not
5210         "../gtkedit/edit-widget.h".
5212         * subshell.c: Use standard Autoconf symbols to determine whether
5213         to include <stropts.h> and <grp.h>.
5215 2001-08-23  Pavel Roskin  <proski@gnu.org>
5217         * subshell.c (feed_subshell): Don't wait forever after the first
5218         select() call if fail_on_error is true.  This alleviates hang
5219         with zsh on QNX Neutrino.
5221 2001-08-21  Pavel Roskin  <proski@gnu.org>
5223         * view.h: Declare view_dlg.
5224         * main.h: Declare edit_dlg.
5225         * layout.c (change_screen_size): Remove external declarations
5226         inside the function.
5228 2001-08-20  Pavel Roskin  <proski@gnu.org>
5230         * view.c (load_view_file) [!HAVE_MMAP]: Warning fix.
5232 2001-08-19  Pavel Roskin  <proski@gnu.org>
5234         * main.c (mc_maybe_editor_or_viewer) [!USE_INTERNAL_EDIT]:
5235         Re-enable to make "mc -v" possible.
5236         (do_nc): Call mc_maybe_editor_or_viewer() even if the editor
5237         is not compiled in.
5238         (argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
5240 2001-08-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
5242         * view.c (view_handle_key) [HAVE_CHARSET]: Remove unneeded
5243         statements.
5245 2001-08-19  Pavel Roskin  <proski@gnu.org>
5247         * screen.c [HAVE_X]: Disable unused code.
5249         * fs.h: Correctly include <sys/param.h>.
5250         * x.h: Include "global.h".  Move all contents ...
5251         * global.h: Here.
5253         * regex.c (regex_compile): Warning fix for ambiguous else.
5255 2001-08-18  Pavel Roskin  <proski@gnu.org>
5257         * key.c (xmouse_get_event): Filter out GPM_UP events that don't
5258         follow a GPM_DOWN event.  Filter out events with unknown button
5259         numbers, such as mouse wheel events.
5260         (get_event): Return EV_NONE if xmouse_get_event() decided to
5261         ignore the event.
5263         * main.c (init_sigchld): Disable subshell if SIGCHLD handler
5264         cannot be installed.
5266         * x.h: Instead of undefining MIX and MAX after <gnome.h> make
5267         sure that <sys/param.h> is included before <gnome.h>.
5269 2001-08-17  Pavel Roskin  <proski@gnu.org>
5271         * key.c (mc_bindings) [linux]: Remove old hack - recognizing
5272         "\e[2~" on all terminals.
5274 2001-08-16  Pavel Roskin  <proski@gnu.org>
5276         * charsets.c (load_codepages_list): Print a warning if
5277         mc.charset cannot be opened.
5278         * setup.c (load_setup) [HAVE_CHARSET]: Remove all popup messages
5279         because it's to early to use them - ncurses would crash.
5281 2001-08-15  Pavel Roskin  <proski@gnu.org>
5283         * util.c (strip_ctrl_codes): Rewrite using pointers.  Fix
5284         stripping sequences beginning with "\e[".  Check is_printable().
5286         * man2hlp.c: Remove HTML support.  Remove old link support.
5287         Warning fixes.
5288         (print_string): Handle backslashes in verbatim mode too.
5290         * main.c (setup_pre) [HAVE_CHARSET]: Fix compilation with
5291         ncurses.
5293         * textconf.c (features): Fix interpretation of
5294         HAVE_SYSTEM_SLANG.
5295         From David Martin <dmartina@excite.es>
5297 2001-08-14  Pavel Roskin  <proski@gnu.org>
5299         * key.h (define_sequence): Change declaration to return int.
5300         * key.c (define_sequence): Return 1 on success, 0 on error.
5301         * learn.c (learn_button): Don't accept sequence if
5302         define_sequence() has failed.
5304 2001-08-12  Pavel Roskin  <proski@gnu.org>
5306         * learn.c (learn_save): Fix memory leak.
5308         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Make static.
5310         * cmd.c (guess_message_value): Typo - replace "LC_MESSAGE" with
5311         "LC_MESSAGES".
5313         * dir.c (string_sortcomp) [HAVE_STRCOLL]: Always use strcmp()
5314         for case sensitive sort.  For case insensitive sort use
5315         strcoll() if it's case insensitive for ASCII and g_strcasecmp()
5316         otherwise.
5318 2001-08-11  Pavel Roskin  <proski@gnu.org>
5320         * achown.c (chown_advanced_cmd): Remove dead code.
5321         * chown.c (chown_cmd): Likewise.
5322         * chmod.c (chmod_cmd): Likewise.
5324         * charsets.c (load_codepages_list): Use concat_dir_and_file().
5326         * mad.h: Disable glib support - it doesn't work properly.
5328 2001-08-07  Pavel Roskin  <proski@gnu.org>
5330         * view.c: Warning fixes. Include "cmd.h". Rename help_cmd()
5331         to view_help_cmd().
5332         (view_handle_key) [HAVE_X]: Disable '!' and Ctrl-O.
5334         * main.c (do_execute): Don't show prompt if the command is empty
5335         and the subshell is not running.
5336         * view.c (view_handle_key): Add support for Ctrl-O in the viewer.
5337         Suggested by Walery Studennikov <despair@sama.ru>
5339 2001-08-06  Pavel Roskin  <proski@gnu.org>
5341         * boxes.c (display_init): Associate correct help topic.
5342         (sort_box): Likewise.
5343         (set_panel_filter): Likewise.
5344         * option.c (init_configure): Likewise.
5345         * menu.c (menubar_handle_key): Show help dependent on the active
5346         menu.
5348 2001-08-06  Andrew V. Samoilov  <kai@cmail.ru>
5350         * mad.c (mad_strdup): Return NULL if NULL is passed.
5352         * view.c (block_search): Return the position where the block was
5353         found as declared in comment.
5354         (hex_search): Don't increase pos, block_search returns now right
5355         position.
5357 2001-08-03  Andrew V. Samoilov  <kai@cmail.ru>
5359         * mad.[ch] (mad_check): Declare file parameter const.
5360         (mad_alloc): Likewise. Don't truncate it.
5361         (mad_abort): Declare message and file parameters const.
5363 2001-08-03  Pavel Roskin  <proski@gnu.org>
5365         * file.c: Warning fix.  Include global.h before other local
5366         includes.
5367         * filegui.c: Likewise.
5368         (fmd_init_i18n) [!ENABLE_NLS]: Completely disable.
5369         * i18n.h [!ENABLE_NLS]: Warning fix.
5370         * learn.c (init_learn): Move do_refresh() call immediately
5371         before create_dlg().  Warning fix.
5373 2001-07-31  Pavel Roskin  <proski@gnu.org>
5375         * Makefile.in: "install" now depends on "all".
5376         Reported by Walery Studennikov <despair@sama.ru>
5378 2001-07-31  Andrew V. Samoilov  <kai@cmail.ru>
5380         * util.c [!HAVE_X] (is_printable): Don't duplicate declarations from
5381         main.h.
5382         (load_file): Use fopen and fstat to prevent race conditions.
5383         (size_trunc): Make suffix const array.
5384         (strip_password): Make prefixes const array.
5385         (file_date): Make fmt auto variable.
5386         * color.c (color_table): Make constant array.
5387         * widget.[ch] (label_new): Make text parameter const.
5388         * menu.c (create_menu): Don't localize name, it is always done.
5389         * find.c (find_parameters): Fix hotkeys duplication.
5390         * complete.c (command_completion_function): Don't stop $PATH
5391         processing on empty entry. Interpret it as current directory.
5393 2001-07-31  Pavel Roskin  <proski@gnu.org>
5395         * charsets.c: Warning fixes.
5396         * charsets.h: Likewise.
5397         * selcodepage.c: Likewise.
5398         * selcodepage.h: Likewise.
5400         * Makefile.in: Move most logic around gindex.pl into gindex.pl.
5401         Don't use maintainer-only rules since mc.hlp won't be removed
5402         now if perl is missing or gindex.pl fails.
5403         * gindex.pl: Run man2hlp internally.  Use files given as
5404         arguments instead of stdin and stdout.
5406 2001-07-30  Pavel Roskin  <proski@gnu.org>
5408         * mad.c: Don't use g_calloc - it's missing in glib 1.2.x.
5409         * mad.h: Likewise.  Use mad_alloc0() to emulate calloc().
5411         * view.h: Simplify, respect WANT_WIDGETS setting.
5413 2001-07-28  Pavel Roskin  <proski@gnu.org>
5415         * view.c (view_ok_to_quit): Make global - it's needed for GMC.
5416         * view.h: Declare view_ok_to_quit().
5418 2001-07-27  Pavel Roskin  <proski@gnu.org>
5420         * util.c [!USE_VFS] (get_current_wd): Resurrect, this time using
5421         g_get_current_dir().
5423         * background.h: Remove WITH_BACKGROUND, it's now in extraconf.h.
5424         * background.c: Use WITH_BACKGROUND instead of USE_NETCODE.
5426         * util.c (mc_mkstemps): Don't prepend $TMPDIR if prefix contains
5427         path separator.
5429 2001-07-26  Pavel Roskin  <proski@gnu.org>
5431         * cmd.c (do_link): Append filename to the default symlink
5432         target.  Don't add path separator if there is no listing on
5433         the other panel.  Avoid using fixed size buffers.
5434         From Max Schedriviy <max@tavrida.net>
5436         * main.c [HAVE_X]: Disable eight_bit_clean and full_eight_bits.
5437         * util.c (is_printable) [HAVE_X]: Simplify.
5439 2001-07-25  Pavel Roskin  <proski@gnu.org>
5441         * cmd.c (do_link): Simplify.  Don't silently exit if the source
5442         file is not regular - let user see the error if any.
5444 2001-07-24  Pavel Roskin  <proski@gnu.org>
5446         * achown.c (ch_perm): Make constant array.
5447         (chown_info_update): Use set_perm_by_flags(), not set_perm().
5448         (set_perm): Remove.
5450         * achown.c: Make all global variables static.  Fix help.
5451         * complete.c: Likewise.
5452         * chmod.c: Make all global variables static.
5453         * chown.c: Likewise.
5454         * chmod.h: Remove all variables.
5456 2001-07-23  Pavel Roskin  <proski@gnu.org>
5458         * user.c: Eliminate static variable s_editwidget.  Pass
5459         edit_widget as argument.  All callers changed.
5460         (expand_format): Fix expansion of %n and %b for the editor.
5461         * util.c: Remove dead code.
5463         * setup.c (load_keys_from_section): Give terminal-specific
5464         settings preference over settings from [terminal:general].
5466 2001-07-22  Pavel Roskin  <proski@gnu.org>
5468         * setup.c (load_keys_from_section): Give ~/.mc/ini preference
5469         over mc.lib.
5471 2001-07-20  Pavel Roskin  <proski@gnu.org>
5473         * dlg.c: Remove dependency on definitions in gconf.h.
5475         * widget.c (input_callback) [HAVE_X]: Disable Ctrl-q - it
5476         doesn't work.
5478         * file.c (panel_get_file): Use g_assert_not_reached().
5479         * key.c (xgetch_second): Make static.
5481 2001-07-19  Pavel Roskin  <proski@gnu.org>
5483         * user.c (check_format_view): Match "unform" instead of
5484         "unformated" because some users may spell this word correctly.
5486 2001-07-17  Pavel Roskin  <proski@gnu.org>
5488         * util.c (get_current_wd): Remove.  It's obsoleted by
5489         g_get_current_dir() from glib.
5491         * ext.c (exec_extension): Add the `rm' command to the end of
5492         temporary scripts so that they erase themselves.
5494         * util.c (mc_mkstemps): Always use "unsigned long" for entropy,
5495         since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
5496         checking for "long long" is not worth the trouble.
5497         Reported by David Martin <dmartina@excite.es>
5499 2001-07-16  Pavel Roskin  <proski@gnu.org>
5501         * utilunix.c (mc_doublepopen): Use _exit() instead of exit()
5502         and don't close any unrelated file descriptors.  Explicitly
5503         close inhandle.
5505 2001-07-15  Pavel Roskin  <proski@gnu.org>
5507         * mad.h: Include stdio.h to prevent redefining mad_tempnam().
5508         * main.c [HAVE_X && HAVE_MAD]: Don't call done_key().
5510         * dlg.h: Remove declarations of non-existent functions.
5511         [HAVE_X]: Disable color constants - they shouldn't be used.
5513         * boxes.c [WITH_SMBFS] (vfs_smb_get_authinfo): Copied from
5514         vfs/smbfs.c, function authinfo_get_authinfo_from_user().
5516         * cmd.c [HAVE_X]: Disable source routing dialog and panel
5517         comparison.
5518         * main.c (ctl_x_map): Simplify preprocessor directives.
5520 2001-07-14  Pavel Roskin  <proski@gnu.org>
5522         * screen.c (panel_keymap) [HAVE_X]: Disable Alt-H - it's not
5523         implemented properly for GNOME.
5524         * main.c (directory_history_list) [HAVE_X]: Disable.
5526         * panelize.c [HAVE_X]: Disable unused code.
5528         * main.c [HAVE_X]: Disable Ctrl-X sequences.
5530         * find.c: Remove code unused in the text edition.
5532         * main.c [HAVE_X]: Eliminate setup_post() and partly done_mc().
5534         * utilunix.c (uid_cache): Make static.
5535         (gid_cache): Likewise.
5536         (init_uid_gid_cache): Remove.
5537         * main.c (setup_post): Don't call init_uid_gid_cache().
5539         * main.c (default_map) [HAVE_X]: Disable Alt-T.
5540         * cmd.c [HAVE_X]: Eliminate set_basic_panel_listing_to() and
5541         toggle_listing_cmd().
5543 2001-07-13  Pavel Roskin  <proski@gnu.org>
5545         * utilunix.c (canonicalize_pathname): Don't handle PATH_SEP
5546         after backslash in a special way.
5548 2001-07-12  Pavel Roskin  <proski@gnu.org>
5550         * subshell.c (init_subshell): Run "set echo_style=both" at
5551         startup to ensure that echo in tcsh understands octal numbers.
5552         Reported by Francis Kwok <francis.kwok@alcatel.com>
5554         * Makefile.in (OURLIBS): Merge with ...
5555         (LIBS): ... this. Add @LIBICONV@.
5556         Reported by Libor Motyèka <l_motycka@ortex.cz>
5558         * subshell.c (subshell_name_quote): New function. Quote all
5559         characters as octals, use command substitution.
5560         (do_subshell_chdir): Use subshell_name_quote(). Don't change
5561         terminal settings when the quoted path is sent to the shell -
5562         it's now safe.
5564 2001-07-12  Andrew V. Samoilov  <kai@cmail.ru>
5566         * main.c: Eliminate iconify_on_exec.
5567         [!HAVE_GNOME]: Eliminate nowindows, nodesktop, twopanel,
5568         display_linksdir and cmdline_geometry.
5569         (sigchld_handler_no_subshell): Comment fixes.
5570         (midnight_callback): Likewise.
5571         (print_mc_usage): Use fputs, not fprintf.
5572         (print_color_usage): Likewise.
5573         (argument_table): Assign 'r' with force_subshell_execution and 'U'
5574         with use_subshell.
5575         (process_args): Don't deal with 'r', 'U' and 'X' options.
5576         (setup_mc) [HAVE_GNOME]: Eliminate more code.
5578         setup.c (options):  Eliminate iconify_on_exec.
5580 2001-07-10  Andrew V. Samoilov  <kai@cmail.ru>
5582         * view.c (hex_search): Release buffer after use.
5584 2001-07-09  Pavel Roskin  <proski@gnu.org>
5586         * view.c (hex_search): Reimplement parser using sscanf. Add
5587         support for decimal and octal numbers. Add error reporting.
5588         Allocate buffer dynamically.
5590         * hotlist.c: Add comments to avoid confusion between
5591         done_hotlist() and hotlist_done().
5592         (hotlist_done): Set l_hotlist to NULL.
5593         (add2hotlist): Load hotlist if it's neither loaded nor loading.
5594         This fixes Ctrl-x h. Fix compiler warning.
5596         * hotlist.c: Make more variables and functions static.
5598 2001-07-08  Pavel Roskin  <proski@gnu.org>
5600         * ext.c (exec_extension) [HAVE_X]: Free file_name. Add comment
5601         explaining why it cannot be unlinked there.
5603 2001-07-06  Pavel Roskin  <proski@gnu.org>
5605         * ext.c (exec_extension): Unlink temporary file earlier if it's
5606         not going to be used.
5607         [OLD_CODE]: Remove.
5609         * Makefile.in: Use additional quotes to preserve @prefix@ when
5610         Makefile is generated.
5612         * Makefile.in: Don't use SEDCMD2, use sed.
5614         * cons.saver.c: New variable console_minor. Eliminate variables
5615         len and vcs_name.
5616         (check_file): Set console_minor to the minor device number of
5617         the console. Disallow /dev/tty0.
5618         (detect_console): Don't parse tty_name, instead make sure that
5619         it corresponds to console_minor. Check console first. Fallback
5620         to /dev/vcc/a* if /dev/vcsa* cannot be opened.
5621         (save_console): Use console_minor.
5622         (restore_console): Likewise.
5624         * cons.saver.c (check_file): Eliminate using text messages to
5625         indicate errors. Improve debug messages.
5626         (detect_console): Likewise.
5627         (main): Adjust call to detect_console.
5629         * main.c (sigchld_handler_no_subshell): Don't restart cons.saver
5630         if it died.
5631         * subshell.c (sigchld_handler): Likewise.
5633 2001-07-05  Pavel Roskin  <proski@gnu.org>
5635         * main.c (midnight_callback): Don't handle any events except
5636         Ctrl-x combinations on DLG_KEY event if the menu is active.
5638         * main.c (load_prompt): Don't change prompt if midnight_dlg is
5639         not the current dialog.
5641 2001-06-28  Pavel Roskin  <proski@gnu.org>
5643         * util.c (size_trunc_len): New function - print file size to
5644         a buffer of limited length.
5645         * util.h: Declare size_trunc_len().
5646         * screen.c (string_file_size): Use size_trunc_len().
5648 2001-06-26  Pavel Roskin  <proski@gnu.org>
5650         * xslint.c: Remove.
5651         * Makefile.in (SRCS): Remove xslint.c.
5653 2001-06-25  Pavel Roskin  <proski@gnu.org>
5655         * key.c (ctrl_pressed): Don't limit functionality to Linux.
5656         * screen.c (prev_page_key): Don't require console_flag to be set
5657         to use ctrl_pressed(), only require that HAVE_X is undefined.
5658         (next_page_key): Likewise.
5659         * widget.c (key_left): Don't limit functionality to Linux.
5660         (key_right): Likewise.
5662         * main.h: Use "ifdef HAVE_GNOME", not "if HAVE_GNOME". Fix the
5663         order of conditionals and put comments on endifs.
5665 2001-06-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
5667         * view.c [HAVE_CHARSET]: Include selcodepage.h.
5668         (view_new): Use g_new0.
5669         (ruler): Make static.
5671         * complete.c (filename_completion_function): Clean it up.
5672         (command_completion_function): Make words, bash_reserved and
5673         bash_builtins const, use concat_dir_and_file.
5674         (fetch_hosts): Fix typo, style fixes.
5676 2001-06-23  Pavel Roskin  <proski@gnu.org>
5678         * mem.h: Undefine bcopy(), bcmp() and bzero() before redefining
5679         them.
5681 2001-06-22  Pavel Roskin  <proski@gnu.org>
5683         * ext.c (exec_extension) [HAVE_X]: Disable console handling.
5685         * cons.handler.c: Reorganize includes. Fix warnings on BSD.
5686         * rxvt.c (rxvt_extensions): Make static.
5687         * main.c (sigchld_handler_no_subshell) [!__linux__]: Don't try
5688         to restart cons.saver.
5689         * subshell.c (sigchld_handler) [!__linux__]: Likewise.
5691         * fsusage.c: Use HAVE_INFOMOUNT.
5692         * mountlist.c: Likewise. Fix condition when mount_list is
5693         declared.
5694         (fstype_to_string): Rename mount_list to mlist to avoid
5695         confusion with the file-scoped static variable.
5697         * cmd.c [HAVE_X]: Disable more code. Reorder includes.
5699 2001-06-20  Pavel Roskin  <proski@gnu.org>
5701         * main.c: Remove MenuBarEmpty. From Andrew V. Samoilov.
5703         * wtools.c [HAVE_X]: Disable quick dialog routines.
5705         * setup.c (save_setup) [HAVE_X]: Don't save the [Dirs] section.
5706         (load_setup) [HAVE_X]: Don't load the [Dirs] section.
5707         * main.c [HAVE_X]: Disable other_dir and boot_current_is_left.
5708         Adjust all users.
5710 2001-06-19  Pavel Roskin  <proski@gnu.org>
5712         * background.h: Correct condition when WITH_BACKGROUND is
5713         defined.
5714         * fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
5715         for old QNX and use it instead of __QNX__.
5716         * mountlist.c: Likewise.
5717         * keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
5718         of __QNX__.
5720 2001-06-18  Pavel Roskin  <proski@gnu.org>
5722         * main.c [HAVE_X]: Disable change_panel(),
5723         copy_current_readlink() and copy_other_readlink().
5724         Don't do anything with cmdline and command_prompt.
5725         * screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
5726         and chdir_to_readlink(). Adjust all callers.
5727         (panel_key) [HAVE_X]: Don't use command_prompt - always
5728         start search on alphanumeric keys.
5729         * setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
5730         layout. Adjust all dependencies.
5732         * utilunix.c (init_my_statfs): Move this ...
5733         * util.c (my_statfs): ... and this ...
5734         * mountlist.c: ... here.
5735         * util.h: Move mountlist-related declarations ...
5736         * mountlist.h: ... here.
5737         * info.c: Include mountlist.h.
5739 2001-06-17  David Martin  <dmartina@excite.es>
5741         * hotlist.c (init_movelist): Don't assume English word ordering
5742         in the title.
5744 2001-06-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
5746         * wtools.c (message): Possible buffer overflow fixed.
5747         (query_callback) [HAVE_X]: Disable more code.
5748         (listbox_refresh) [!HAVE_X]: Became a macro.
5749         * hotlist.c (init_i18n_stuff): Mark cancel_but for translation.
5751         * tree.c (tree_copy, tree_move): Possible memory leaking fixed.
5752         (tree_keymap): Constified.
5754 2001-06-15  Pavel Roskin  <proski@gnu.org>
5756         * panelize.c: Define DIR_H_INCLUDE_HANDLE_DIRENT earlier, since
5757         the GNOME edition includes dir.h from other headers.
5759         * background.c: Include "x.h".
5760         * panelize.c: Likewise.
5761         * treestore.c: Likewise.
5762         * user.c: Likewise.
5763         * util.c: Likewise.
5764         * command.c: Reorder includes. Include "x.h".
5765         * complete.c: Likewise.
5766         * find.c: Likewise.
5767         * user.h: Declare user_menu_cmd() unconditionally.
5768         * i18n.h [GAVE_GNOME]: Remove code that is now in x.h.
5770         * tty.h [HAVE_X]: Define beep() to gdk_beep().
5772 2001-06-14  Pavel Roskin  <proski@gnu.org>
5774         * xtty.h: Remove, move contents ...
5775         * tty.h: ... here.
5776         [HAVE_X]: Define attrset(), mc_refresh(), enable_interrupt_key()
5777         and disable_interrupt_key(). Don't declare mc_refresh().
5778         * view.c: Use braces around widget_move() since it's empty in
5779         the GNOME edition.
5780         * xslint.c: Eliminate attrset() and mc_refresh().
5781         * Makefile.in: Remove xtty.h.
5783         * cons.handler.c (handle_console): Remove useless default.
5784         * ext.c (regex_command): Initialize include_target_len.
5785         * find.c [HAVE_GNOME]: Eliminate untyped declarations.
5786         * fsusage.c: Remove untyped declaration of statfs().
5787         [_AIX && _I386]: Rename statfs to aix_statfs and move
5788         it before get_fs_usage(). Define statfs to aix_statfs.
5790         * achown.c: Eliminate untyped declarations.
5791         * boxes.c: Likewise.
5792         * cons.saver.c: Likewise.
5793         * hotlist.c: Likewise.
5794         * panelize.c: Likewise.
5795         * rxvt.c: Likewise.
5796         * main.c: Likewise. Make undeclared functions static.
5797         * treestore.c: Make undeclared functions static.
5798         * view.c: Likewise.
5799         * widget.c: Likewise.
5801         * main.h: Fix prototype of exec_shell.
5802         * tree.c: Make all functions static when possible.
5803         * tree.h: Changes for the above.
5805         * text.c [HAVE_X]: Remove useless #error.
5806         * cons.saver.c: Indent #error to hide it from old compilers.
5808 2001-06-13  Pavel Roskin  <proski@gnu.org>
5810         * screen.c (display_mini_info): Avoid nested i18n calls.
5811         (parse_panel_size): Warning fix.
5812         * user.c [HAVE_X]: Warning fix.
5813         (check_format_var): Avoid nested i18n calls. Improve messages.
5815         * screen.c (user_file_menu_cmd) [HAVE_X]: Disable.
5816         (panel_callback) [HAVE_X]: Don't define labels, they are unused.
5817         * user.c [HAVE_X]: Disable all user menu code.
5819         * color.c (color_table): Make static. Only use in text edition.
5820         * xtty.h: Remove unused definitions.
5822         * slint.c (slang_init): Check screen dimensions and exit if they
5823         are abnormal. This may happen due to a S-Lang bug when the TERM
5824         is set to a value not listed in termcap or terminfo.
5826 2001-06-12  Pavel Roskin  <proski@gnu.org>
5828         * boxes.c [HAVE_CHARSET]: Localize more strings. Lay out the
5829         encoding dialog using the translated title length. Remove
5830         useless preprocessor directives.
5831         From David Martin <dmartina@excite.es>
5833 2001-06-11  Andrew V. Samoilov  <sav@bcs.zp.ua>
5835         * dlg.[ch] (x_set_dialog_title): title constified.
5836         (create_dlg): Use g_new0 instead of g_new.
5838         * selcodepage.c (do_select_codepage): Fix compilation.
5840 2001-06-09  Pavel Roskin  <proski@gnu.org>
5842         * util.c (load_mc_home_file): New function. Load file from
5843         mc_home, but try localized version of that file first.
5844         * util.h: Declare load_mc_home_file().
5845         * help.c (interactive_display): Use load_mc_home_file(). If the
5846         first argument is NULL assume mc.hlp.
5847         * dlg.c (dialog_handle_key): Use interactive_display() without
5848         specifying the help file.
5849         * tree.c (tree_copy): Likewise.
5850         * cmd.c (help_cmd): Likewise.
5851         (get_random_hint): Use load_mc_home_file().
5852         From Andrew V. Samoilov.
5854 2001-06-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
5856         * charsets.h: Define CHARSETS_INDEX without leading LIBDIR.
5858         * charsets.c (translate_character): Warning fix.
5859         (init_translation_table): Don't deal with printable.
5860         This one is initialized by init_printable_table ().
5861         (load_codepages_list): Use CHARSETS_INDEX.
5863         * selcodepage.c (do_select_codepage): Messages marked for i18n.
5864         * setup.c (load_setup): Eliminate errbuf. Fix error message.
5866 2001-06-07  Pavel Roskin  <proski@gnu.org>
5868         * setup.c (load_setup): Call init_printable_table() and
5869         init_translation_table() regardless of other failures.
5871         * charsets.c (get_codepage_index): Warning fix.
5872         (init_printable_table): New function.
5873         * charsets.h: Declare init_printable_table().
5874         * setup.c (load_setup): Uncomment init_printable_table().
5876         * cons.saver.c: Make all functions except main() static.
5877         * mfmt.c (omain): Remove, it's unused.
5879 2001-06-06  Pavel Roskin  <proski@gnu.org>
5881         * main.c (done_mc) [HAVE_X]: Don't use xterm_flag.
5882         (midnight_callback) [HAVE_X]: Don't handle any keys except
5883         Ctrl-x sequences.
5884         Remove useless preprocessor conditionals.
5885         * win.c [HAVE_X]: Disable unused functions.
5887         * file.c: Add comments after every endif.
5888         [HAVE_GNOME] [!WITH_BACKGROUND]: Fix compilation.
5890 2001-06-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
5892         * main.c [HAVE_CHARSET]: Remove source_codepage and display_codepage.
5893         They are declared in selcodepage.c.
5894         * setup.c [USE_VFS]: Remove declarations for variables which are
5895         declared in vfs/ftpfs.c.
5896         (load_setup) [HAVE_CHARSET]: init_printable_table commented
5897         out to enable compilation. Error strings tagged for translation.
5898         (init_setup): Optimized.
5899         * boxes.c (sel_charset_button): Eliminate C++ comment.
5900         (new_display_codepage): Made static.
5901         (display_bits_box): Use "%s" for plain string in message.
5903 2001-06-05  Pavel Roskin  <proski@gnu.org>
5905         * boxes.c [HAVE_CHARSET]: New charset selection dialog.
5906         * main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
5907         full_eight_bits. Use source_codepage and display_codepage to
5908         deduce the terminal 8-bitness.
5909         * main.h [HAVE_CHARSET]: Change to match main.c.
5910         * setup.c [HAVE_CHARSET]: Implement saving and loading charset
5911         settings.
5912         * util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
5913         * view.c [HAVE_CHARSET]: Implement charset support.
5914         From Walery Studennikov <hqsoftware@mail.ru>.
5916         * selcodepage.c (do_select_codepage): New function.
5917         * selcodepage.h: Declare it.
5918         From Walery Studennikov <hqsoftware@mail.ru>.
5920         * mfmt.c (omain): Warning fix.
5922         * key.c [HAVE_TEXTMODE_X11_SUPPORT]: Rename `display' to
5923         `x11_display' and `w' to `x11_window'. Make them static.
5924         (init_textmode_x11_support): Include into init_key().
5925         (done_textmode_x11_support): Include into done_key().
5926         (k_dispose): Make static.
5927         (s_dispose): Likewise.
5928         * key.h: Remove init_textmode_x11_support() and
5929         done_textmode_x11_support().
5930         * main.c: Don't call init_textmode_x11_support() and
5931         done_textmode_x11_support().
5933         * achown.c: Make global variables static if possible. Remove now
5934         useless preprocessor directives, since this file is now used in
5935         the text edition only.
5936         * boxes.c: Remove useless ifdefs.
5937         [USE_VFS]: Don't undef USE_NETCODE - it's done in extraconf.h.
5938         * cmd.c [USE_VFS]: Don't undef USE_NETCODE.
5939         * chmod.c: Remove useless ifdefs.
5940         * filegui.c: Likewise.
5941         * hotlist.c: Likewise.
5942         * info.c: Likewise.
5943         * layout.c: Likewise.
5944         * listmode.c: Likewise.
5945         * option.c: Likewise.
5946         * subshell.c: Likewise.
5947         * help.c: Remove useless ifdefs. Make global variables static if
5948         possible.
5949         * key.c: Likewise.
5950         * learn.c: Likewise.
5952 2001-06-04  Andrew V. Samoilov  <sav@bcs.zp.ua>
5954         * charsets.c (load_codepages_list): Lines in mc.charset beginning
5955         with a # are comments. Use "default character_set_name" in mc.charset
5956         to set default codepage for your system.
5957         (xstrncpy): Eliminate.
5959 2001-06-04  Pavel Roskin  <proski@gnu.org>
5961         * cmd.c (edit_symlink_cmd) [!HAVE_GNOME]: Warn if the current
5962         selection is not a symbolic link.
5964 2001-06-02  Pavel Roskin  <proski@gnu.org>
5966         * cmd.c (free_vfs_now) [HAVE_GNOME]: Eliminate.
5967         (reselect_vfs) [HAVE_GNOME]: Likewise.
5968         * main.c (ctl_x_map) [HAVE_GNOME]: Disable add2hotlist_cmd.
5969         (done_mc) [HAVE_X]: Don't call save_hotlist().
5970         * setup.c (save_setup) [HAVE_X]: Likewise.
5971         (done_setup) [HAVE_X]: Don't call done_hotlist().
5973 2001-06-01  Pavel Roskin  <proski@gnu.org>
5975         * hotlist.c [HAVE_X]: Don't use ctrl_pressed().
5976         * widget.c [HAVE_X]: Likewise.
5977         * main.c [HAVE_X]: Likewise. Don't call init_key() and
5978         init_key_input_fd().
5979         * setup.c [HAVE_X]: Remove some variables that make no sense
5980         for the GNOME edition. Eliminate save_panel_types().
5981         * view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
5983         * view.c [HAVE_X]: Define is_idle() to 1. Warning fix.
5985         * file.c (copy_file_file): Initialize src_uid, src_gid, src_mode
5986         and file_size to avoid a warning.
5988 2001-05-31  Pavel Roskin  <proski@gnu.org>
5990         * charsets.c: Include config.h before everything else.
5991         * selcodepage.c: Likewise.
5993         * textconf.c (features): Use longer strings to avoid enforcing
5994         English word ordering on the translations. Capitalize sentences.
5995         From Walery Studennikov: Indicate charset support.
5996         (version): Use fputs, not fprintf.
5998         * Makefile.in: Add charsets.c, charsets.h, selcodepage.c and
5999         selcodepage.h. Compile them if the charset support is enabled.
6000         Distribute them always.
6002 2001-05-30  Pavel Roskin  <proski@gnu.org>
6004         * charsets.c: New file for charset conversion support.
6005         From Walery Studennikov.
6006         * charsets.h: Likewise.
6007         * selcodepage.c: Likewise.
6008         * selcodepage.h: Likewise.
6010         * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 0 if
6011         possible to prevent ncurses from waiting after escape.
6013 2001-05-29  Pavel Roskin  <proski@gnu.org>
6015         * cmd.c (quick_cd_cmd) [HAVE_GNOME]: Disable.
6016         * main.c (sort_cmd) [HAVE_GNOME]: Likewise.
6017         (ctl_x_map) [HAVE_GNOME]: Disable "Ctrl-x j" - background jobs.
6019         * color.c (init_colors) [HAVE_SLANG]: Use "default" instead of
6020         NULL as color names - this works even if COLORFGBG is unset.
6021         Don't check HAS_DIRECT_COLOR_ACCESS - it's now meaningless.
6023         * color.h: Define DEFAULT_COLOR_INDEX and DEFAULT_COLOR in the
6024         same way regardless of HAVE_SLANG.
6025         * color.c (init_colors) [USE_NCURSES]: Initialize the default
6026         color pair.
6028         * subshell.c (pty_open_master) [!HAVE_SCO && HAVE_GRANTPT]:
6029         Don't try to close a file that wasn't opened.
6031         * xslint.c: Remove slang_init() and FIXME in the comment.
6032         * main.c (main) [!HAVE_SLANG]: Don't call slang_init().
6034 2001-05-28  Pavel Roskin  <proski@gnu.org>
6036         * myslang.h: Use HAVE_SLANG_SLANG_H instead of non-standard
6037         SLANG_H_INSIDE_SLANG_DIR.
6039         * xslint.c: Remove unused functions.
6041         * color.c (init_colors) [HAVE_SLANG]: Use SLtt_set_color() to
6042         associate the default colors with DEFAULT_COLOR_INDEX. The old
6043         code would unset alternative charset without making S-Lang aware
6044         of it.
6045         Thanks to John E. Davis <davis@space.mit.edu>
6046         * widget.c (update_input) [HAVE_SLANG]: Revert last change - it
6047         is not needed now.
6049 2001-05-28  Andrew V. Samoilov  <sav@bcs.zp.ua>
6051         * main.c: Correct some comments after #endif
6052         (shell): Remove comment and #ifdef around shell variable.
6053         (process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
6054         between one #ifdef ... #endif pair.
6055         (process_args): smbfs_set_debug () takes a debug level as argument,
6056         commented out.
6058 2001-05-27  Pavel Roskin  <proski@gnu.org>
6060         * main.c (OS_Setup) [!HAVE_X]: Exit immediately if TERM
6061         environment variable is unset or empty.
6063 2001-05-25  Pavel Roskin  <proski@gnu.org>
6065         * cmd.c: Clean up useless preprocessor directives.
6066         (symlink_cmd): Warning fix.
6067         * dlg.c (dialog_handle_key) [HAVE_X]: Disable suspend on Ctrl-z.
6068         * main.c (do_suspend_cmd) [HAVE_GNOME]: Remove.
6069         (suspend_cmd) [HAVE_GNOME]: Likewise.
6071 2001-05-24  Pavel Roskin  <proski@gnu.org>
6073         * widget.c (update_input) [HAVE_SLANG]: Work around a bug in
6074         SLang 1.x - set charset to alternative when printing spaces.
6076 2001-05-22  Pavel Roskin  <proski@gnu.org>
6078         * ext.c (exec_extension): Use g_free() on the result of
6079         mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
6080         needed anymore.
6081         * user.c (execute_menu_command): Likewise.
6082         * util.c (mc_mkstemps): Return NULL in the filename in the case
6083         of failure. Remove support for NULL as the first argument.
6084         From Andrew V. Samoilov.
6086 2001-05-21  Pavel Roskin  <proski@gnu.org>
6088         * ext.c (exec_extension): Use mc_mkstemps().
6089         * user.c (execute_menu_command): Use mc_mkstemps().
6090         * util.c (mc_mkstemps): New function - safely create and
6091         open temporary file. Return the handle and the name.
6092         * util.h: Declarations for init_tmpdir() and mc_mkstemps().
6093         Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
6095 2001-05-18  Pavel Roskin  <proski@gnu.org>
6097         * TODO: Remove Tk-related entries.
6098         * boxes.c [HAVE_TK]: Remove. Don't need INPUT_INDEX anymore.
6099         * screen.c [HAVE_TK]: Remove.
6100         (panel_event): Made static.
6101         * chmod.c [HAVE_TK]: Remove.
6102         * cmd.c [HAVE_TK]: Likewise.
6103         * help.c [HAVE_TK]: Likewise.
6104         * hotlist.c [HAVE_TK]: Likewise.
6105         * info.c [HAVE_TK]: Likewise.
6106         * view.c [HAVE_TK]: Likewise.
6107         * view.h [HAVE_TK]: Likewise.
6108         * widget.c [HAVE_TK]: Likewise.
6109         * wtools.c [HAVE_TK]: Likewise.
6111         * TODO: Remove XView-related entries.
6112         * menu.h [HAVE_XVIEW]: Remove all XView-related code.
6114 2001-05-17  Pavel Roskin  <proski@gnu.org>
6116         * subshell.c (pty_open_master) [HAVE_SCO]: Fix ambiguous `else'.
6117         [!HAVE_SCO && !HAVE_GRANTPT]: Likewise.
6119 2001-05-16  Pavel Roskin  <proski@gnu.org>
6121         * subshell.c: Define _GNU_SOURCE to enable prototypes for
6122         allocating pseudo-terminals on GNU systems.
6124         * subshell.c (init_subshell_child): New function to initialize
6125         child process and run subshell. Code moved from ...
6126         (init_subshell): ... here.
6128         * subshell.c (init_subshell): Don't close pty_slave if is wasn't
6129         open. Initialize it with -1.
6131 2001-05-14  Pavel Roskin  <proski@gnu.org>
6133         * main.c [HAVE_GNOME]: Disable more code.
6134         * cmd.c [HAVE_GNOME]: Likewise.
6136         * background.h: Omit definitions that require FileOpContext if
6137         fileopctx.h has not been included yet.
6139         * background.c (real_message_2s): Declare arguments "const" when
6140         possible.
6141         (real_message_3s): Likewise.
6142         * wtools.c (message): Likewise.
6143         * background.h: Change declarations to match.
6144         * dialog.h: Likewise.
6146         * boxes.c [HAVE_GNOME]: Disable unused code.
6147         * find.c [HAVE_GNOME]: Likewise.
6148         * complete.c [HAVE_GNOME]: Likewise.
6149         * main.c [HAVE_GNOME]: Likewise.
6151         * screen.c (adjust_top_file): Enable only if it's used, i.e.
6152         when PORT_HAS_PAINT_FRAME in undefined.
6153         * wtools.c (listbox_refresh): Disable for HAVE_X, define to
6154         an empty macro instead.
6155         (listbox_callback): Call listbox_refresh() regardless of HAVE_X.
6156         (create_listbox_window): Likewise.
6158         * fsusage.c: Include stdlib.h for abort().
6159         * tree.c (tree_mkdir_cmd): Disable tree_mkdir_cmd() since it's
6160         not used.
6161         * widget.c: Declare x_radio_toggle() with arguments.
6163         * util.h: Remove declarations of some functions defined in
6164         background.c.
6166 2001-05-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
6168         * background.c (real_message_1s, message_1s): third parameter is
6169           used by message () as printf pattern, so "%s" has to be added
6170           if plain string must be shown but printf conversion
6171           specification(s) may be there.
6172         * view.c (do_view_init): ditto
6173         * user.c (debug_out): ditto
6174         * utilunux.c (close_error_pipe, check_error_pipe): ditto
6176         * background.[ch], vfs/util-alone.c (message_1s): third parameter
6177           constified
6179 2001-04-27  Andrew V. Samoilov  <sav@bcs.zp.ua>
6181         * find.c (search_content): Redo recent change without infinite loop ;-),
6182         egrep_path hardcoded to "egrep" as it is done in locate_egrep ()
6184         (locate_egrep): commented out
6186         (rotating_dash) [!HAVE_X]: moved into do_search to prevent warning
6188 2001-04-26  Pavel Roskin  <proski@gnu.org>
6190         * find.c (search_content): Undo a recent change that caused an
6191         infinite loop.
6193 2001-04-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
6195         * view.c (get_line_at): previous newline is right condition
6196         for regexp '^' pattern also, fixed
6198         (search) [HAVE_GNOME]: gnome_message_box_new doesn't expand printf
6199         pattern, so g_strdup_printf used
6201         * find.c (find_parameters): don't use stat structure if mc_stat failed
6203 2001-04-17  Pavel Roskin  <proski@gnu.org>
6205         * subshell.c (init_raw_mode): New function, separated from ...
6206         (invoke_subshell): ... this.
6207         (init_subshell): Initialize raw_mode here instead of delaying it
6208         until invoke_subshell(). Otherwise the current mode may have
6209         been changed by edition_pre_exec(), which caused Ctrl-O to be
6210         ignored on FreeBSD if a command has been run before switching
6211         to the subshell.
6213 2001-04-06  Pavel Roskin  <proski@gnu.org>
6215         * chmod.c (stat_file): Allow chmod and chown on special files.
6217         * cons.handler.c: Include "global.h" for exit().
6219         * Makefile.in: Add dependencies between mc and static libraries
6220         in the source tree.
6222 2001-04-06  Andrew V. Samoilov  <sav@bcs.zp.ua>
6224         * find.c (find_parameters): Add a checkbox for case insensitive
6225         content search.
6226         (search_content): Pass `-i' to egrep for case insensitive
6227         search.
6229 2001-03-30  Andrew V. Samoilov  <sav@bcs.zp.ua>
6231         * panel.h, screen.c (panel_new): panel_name constified to do gcc
6232         some more happy when gmc is compiled
6234 2001-03-18  Miguel de Icaza  <miguel@ximian.com>
6236         * widget.c (forward_word, backward_word): Revert Timur's patch
6237         from last year which made the behavior for advancing words not
6238         match the one in Emacs.
6240 2001-03-02  Pavel Roskin  <proski@gnu.org>
6242         * key.c (mi_getch): Discard non-events (EV_NONE), but not
6243         keycode 0 (Ctrl-@).
6245 2001-02-26  Pavel Roskin  <proski@gnu.org>
6247         * cmd.c (edit_cmd) [HAVE_GNOME]: Use gmc_edit(). Don't use
6248         regex_command().
6249         (ext_cmd) [HAVE_GNOME]: Don't compile for GNOME.
6250         * ext.c (regex_command) [HAVE_GNOME]: Likewise.
6251         * ext.h [HAVE_GNOME]: Don't define MC_USER_EXT and MC_LIB_EXT.
6253         * main.c (main): Don't call edit_init_file() - the editor should
6254         care about its files itself.
6256 2001-02-09  Pavel Roskin  <proski@gnu.org>
6258         * main.c (main): Fix compilation error when configured without
6259         subshell support.
6261 2001-02-07  Andrew V. Samoilov  <sav@bcs.zp.ua>
6263         * main.c (main): Do not fork subshell for mcedit/mcview.
6265 2001-01-27  Pavel Roskin  <proski@gnu.org>
6267         * cons.handler.c (handle_console): Check the result of ttyname().
6269         * main.c (handle_args): Exit if no arguments are given to mcview.
6270         [HAVE_GNOME]: Don't examine argv[0] - it's done separately.
6272         * dir.c: Respect HAVE_STRCOLL. Added a comment about strcoll().
6274 2001-01-26  Pablo Saratxaga  <pablo@mandrakesoft.com>
6276         * file.c: moved a comment one line down so it becomes visible on the
6277         translators' po files. Also added gettext:no-c-format comments for
6278         a few strings with % in them that are not C format printf codes.
6280 2001-01-21  Andrew V. Samoilov  <sav@bcs.zp.ua>
6282         * subshell.c (do_subshell_chdir): temporary patch to prevent command
6283         execution for directory names containing 0x03 (intr) 0x14.
6284         See http://www.securityfocus.com/vdb/?id=2016 for details.
6285         Subshell still can't chdir to such directories :(
6287         * subshell.[ch] (do_subshell_chdir): directory constified
6289 2001-01-17  Pavel Roskin  <proski@gnu.org>
6291         * Makefile.in: Respect LDFLAGS when linking cons.saver.
6293 2000-11-20  Andrew V. Samoilov  <sav@bcs.zp.ua>
6295         * view.c: Fixed long existed bugs in internal viewer. When search is
6296         doing in binary file it ignore skipped zero(es), so cursor is before
6297         searched expression and next search find the same string. Also regexp
6298         search could return wrong results for '^ ?' expressions.
6300         (get_line_at): skipped: new parameter for number of skipped zero(es)
6302         (search): new features of get_line_at used.
6304 2000-11-16  Andrew V. Samoilov  <sav@bcs.zp.ua>
6306         * cons.saver.c (check_file): close fd on error. There was a bug, which
6307         allowed luser to write '\0' char to any symlinkable file in Linux
6308         system which don't ensure that fd's 0, 1, and 2 are open on startup
6309         of a SUID/SGID binary.
6310         Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.
6312 2000-11-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
6314         * layout.c (print_vfs_message): format string vulnerability fixed
6316 2000-11-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
6318         * main.c (CmdMenu): don't include edit_user_menu_cmd ()
6319         if USE_INTERNAL_EDIT is not defined
6320         (main): call edit_init_file () if USE_INTERNAL_EDIT is defined only
6321         (listmode_cmd): messages are localized
6323 2000-11-02  Pavel Roskin  <proski@gnu.org>
6325         * layout.c [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Declare
6326         low_level_change_screen_size().
6327         (flag_winch) [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Call
6328         low_level_change_screen_size(). From Andrew V. Samoilov.
6330 2000-10-04  Pavel Roskin  <proski@gnu.org>
6332         * user.c (expand_format): Fixed processing of "%s".
6334 2000-09-30  Pavel Roskin  <proski@gnu.org>
6336         * Makefile.in: Added an explicit rule for man2hlp.
6338 2000-09-26  Pavel Roskin  <proski@gnu.org>
6340         * listmode.c, listmode.h, main.c: Consistently using define
6341         LISTMODE_EDITOR to enable the experimental listmode editor.
6342         * main.c: Don't allow two adjacent separators in the Command
6343         menu.
6345 2000-09-22  Pavel Roskin  <proski@gnu.org>
6347         * fixhlp.c: Removed.
6348         * Makefile.in: Removed all references to fixhlp.c
6350 2000-09-14  Pavel Roskin  <proski@gnu.org>
6352         * features.h: Joined with textconf.h to avoid name clash with
6353         GNU Libc.
6354         * features.c: Renamed to ...
6355         * textconf.c: ... this
6356         * Makefile.in, cmd.c, main.c, text.c: necessary adjustments
6358         * Makefile.in: Don't make softlinks to the libraries
6360 2000-09-13  Pavel Roskin  <proski@gnu.org>
6362         * Makefile.in: Only rebuild mc.hlp in the maintainer mode.
6364 2000-09-01  Pavel Roskin  <proski@gnu.org>
6366         * fixhlp.c: fixed compile errors and warnings
6368 2000-08-30  Pavel Roskin  <proski@gnu.org>
6370         * dirhist.c, dirhist.h: removed
6372         * features.h, keys.h, textconf.h, x.h: added protection against
6373         multiple inclusion
6375 2000-08-23  Pavel Roskin  <proski@gnu.org>
6377         * features.c: include <sys/param.h> to avoid a warning
6379         * main.c [HAVE_X]: print_mc_usage() and print_color_usage()
6380         removed.
6381         version() moved to ...
6382         * features.inc: ... here, renamed to features.c
6383         * main.h: status_using_ncurses moved to ...
6384         * features.h: ... here
6385         * cmd.c, text.c: include "features.h"
6386         * cmd.h: include "panel.h"
6387         * Makefile.in: changed to use features.h and features.c
6389 2000-08-22  Pavel Roskin  <proski@gnu.org>
6391         * main.c [HAVE_GNOME]: disable chmod and chown - they were
6392         broken and obsoleted by the "Properties" dialog
6394         * cmd.c [HAVE_X]: Removed dependency on status_using_ncurses
6396         * man2hlp.c: Removed undocumented feature - when converting
6397         to HTML some output would go to index.html instead of stdout
6399 2000-08-16  Pavel Roskin  <proski@gnu.org>
6401         * gindex.pl: Enable warnings. Existing warnings fixed.
6403         * Makefile.in: mc.hlp now depends on man2hlp.c instead of
6404         man2hlp - this avoids some rebuilds of mc.hlp
6406 2000-08-15  Pavel Roskin  <proski@gnu.org>
6408         * mc.hlp: removed. It's a derived file
6409         * Makefile.in: Fixed dependencies for $(srcdir)/mc.hlp
6410         Build $(srcdir)/mc.hlp but allow a failure (e.g. no perl)
6412 2000-08-11  Frederic L. W. Meunier  <fredlwm@pervalidus.net>
6414         * Makefile.in: Don't compile mfmt, compile mcmfmt directly.
6416 2000-08-08  Andrew V. Samoilov  <sav@bcs.zp.ua>
6418         * hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
6419         tkn_length nullified after tkn_buf is freed to prevent crashes.
6421         (new_hotlist): became a macro
6423         * background.c (real_message_[123]s): title is really prepended
6424         by "Background process:" string now if mode == Background
6426         (background_attention): resstr NULLified to prevent warning
6428 2000-06-26  Andrew V. Samoilov  <sav@bcs.zp.ua>
6430         * screen.c (display_mini_info): two different patterns are
6431         used now: for one file and for other cases
6433 2000-06-16  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6435         * cons_saver: support linux with devfs, patch by pavenis@lanet.lv
6437 2000-06-14  Andrew V. Samoilov  <sav@bcs.zp.ua>
6439         * panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
6440         parameters and WPanel.total field became double, thus, total size
6441         of selected files/directories is shown in the mini status correctly
6442         when it exceeds 2 GB.
6444 2000-05-25  Andrew V. Samoilov  <sav@bcs.zp.ua>
6446         * slint.c (init_pair): segfault fixed when mcedit -b called
6448         * user.c (check_format_var): error messages are localized
6450         (expand_format, user_menu_cmd): memory leaking for %e and %k macro
6451         fixed; segfault fixed when %m macro is used outside user_menu_cmd ()
6453         * ext.c (regex_command): memory leaking fixed when user extension
6454         file is absent
6456         (exec_extension): error message for changed mc.ext file format
6457         are localized -- does we really must be worry about mc 3.0 ?
6459         * widget.c (history_put): counter is initialized again
6461 2000-05-11  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6463         * src/user.c: fix segfault when Shift-F4, Shift-F1, so when menu
6464         content condition y, macro %y
6466 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6468         * src/user.c: Add macro %k it is block file name
6469         Add macro %e it is error file name
6470         Add macro %i it is cursor column indent of spaces, only for edit
6471         Add macro %y, it is syntax of current file in editor, only for edit
6472         Add condition y, it is syntax pattern of current file in edit
6473         Add macro %x it is extension of current file
6474         Add macro %m it is current menu filename
6476 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6478         * gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
6479         Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
6480         edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
6481         (the message of David H. Martin <dmartina@usa.net>)
6483 2000-05-05  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6485         * src/user.c:   Add condition (x filename) into mc.menu .
6486                         for "Open next a free console" and like.
6488 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6490         * src/user.c: fix segfault in chunk_alloc of glibc, when into condition
6491         of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
6493 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6495         * gtkedit/edit.c:
6496         Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
6497         * gtkedit/editmenu.c: home: ~/.cedit.menu, local: .cedit.menu
6498         Marked block is access now from an user edit menu
6499         Access ~/.cedit/cooledit.block for insert to cursor place from
6500         user edit menu.
6501         Created system cedit.menu
6503 2000-05-04  Valery Kornienkov  <vlk@dimavb.st.simbirsk.su>
6505         * gtkedit/editdraw.c:
6506         Improved a status string of cool editor for best understand,
6507         and to add char,hex view.
6509 2000-04-17  Andrew V. Samoilov  <sav@bcs.zp.ua>
6511         * widget.c: (history_put): profile is free()d if chmod failed,
6512           (input_map): added const qualifier
6513         * utilunix.c, util.h: (tilde_expand): added const qualifier
6514         * cmd.c: (nice_cd): i18n update,
6515           (source_routing): typo fixed, source is free()d after use
6516         * screen.c: i18n changes, (panel_keymap): added const qualifier
6517         * view.[ch]: (view, view_init, do_view_init): added const qualifier
6519 2000-04-15  Timur Bakeyev  <mc@bat.ru>
6521         * dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
6522         directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
6523         as it is in POSIX.
6525 2000-04-15  Timur Bakeyev  <mc@bat.ru>
6527         * dlg.c: Committed at last patch, that fixes screwed up right panel in
6528         a long format. Occasionally, all my colors problems also gone. All thanks
6529         to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
6530         problem, blames to me and Federico :)
6532 2000-04-12  Timur Bakeyev  <mc@bat.ru>
6534         * widget.c ([forward|backward]_word): Changed one more time -
6535         now it skips alnums and THEN spaces+punct. That gives almost the
6536         same results, but twice quicker. Hope, this will be accepted.
6538 2000-04-06  Timur Bakeyev  <mc@bat.ru>
6540         * widget.c ([forward|backward]_word): Changed logic of moving - now,
6541         it skips only spaces+punct OR alnum. Reason to do it so - deleting lines
6542         like "lynx http://www.gnome.org", where "lynx http:" part was erased
6543         in one operation. That's nasty, IMHO. Made this a separate commit, so,
6544         if it seriously breaks compatibility it's easy to revert it. Still hope
6545         that nobody will do that.
6547 2000-04-06  Timur Bakeyev  <mc@bat.ru>
6549         * file.c, widget.[ch]: Fixed long existing problems with filenames
6550         and input widgets, then char is greater than 128. They were processed
6551         incorrectly. As usual, char != unsigned char problem.
6553 2000-03-03  Björn Eriksson  <mdeans@algonet.se>
6555         * Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.
6557         * mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
6558         problems when later g_free()ed.
6560         * Added mad_strndup().
6562         * Repeated code collected in mad_fatal_error().
6564         * The gcc-extension/C99-standard variable argument macros (adding
6565         __FILE__, __LINE__ before ', ...') would be nice.
6567         * Alloc_idx_hint and code added, the mad code was way too slow for my
6568         poor computer. A hash-table would be nice.
6570         * (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
6571         undefined at the top of mad.c, so mad_alloc must be used.
6573 2000-02-23  Norbert Warmuth  <nwarmuth@privat.circular.de>
6575         * main.c (parse_control_file): add missing right parentheses
6577         * boxes.c: fix incorrect initialization of array of structure (gcc
6578         version 2.96 20000131 chokes on it).
6580 2000-02-18  Paul Sheer  <psheer@obsidian.co.za>
6582         * gtkedit/*.[ch], edit.c et al: updates to reflect
6583         cooledit-3.13.0. See CVS commits and cooledit ChangeLog
6584         for details.
6586 2000-02-10  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6588         * setup.c (load_setup): remove duplicate loading of anonymous
6589         passwd by do_load_string(), it is doing by
6590         ftpfs_init_passwd. (Patch by sav@bcs.zp.ua)
6592 2000-02-04  "David H.Martin"  <dmartina@usa.net>
6594         * src/widget.c (input_new): Change NULL to empty strings and avoid
6595           crashing when string functions are called.
6596         * src/boxes.c (configure_vfs): Remove local change to empty string.
6597         * src/setup.c (load setup): Load anonymous password
6599 2000-02-03  Andrew V. Samoilov  <sav@bcs.zp.ua>
6601         * setup.c (load_setup): call ftpfs_init_passwd to avoid segfault
6603 2000-01-24  Andrew V. Samoilov  <sav@bcs.zp.ua>
6605         * main.c (parse_control_file): add extra security checks for
6606          control file. It cannot be group/world writable;
6607         (ctl_x_map, default_map, argument_table): added const qualifier.
6609         * fixed segfault in print_mc_usage
6611 2000-01-24  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6613         * cmd.c (nice_cd): disabled ability to go to home.
6615 2000-01-02  viro@math.psu.edu
6617         * src/subshell.c: Reason: in feed_subshell() we are trying to read
6618         from shell pty, check for retval==-1 && errno != EIO. In that case
6619         we flame and exit. Otherwise we are trying to write what we've
6620         read. Good luck doing it if we got errno==EIO, which is _normal_
6621         for situation when shell just died. Resulting write(1,foo,~0U) is
6622         somewhat excessively, erm, verbose.
6624 1999-12-21  Pavel Roskin  <pavel_roskin@geocities.com>
6626         * src/main.c, src/view.c: #warning's replaced with FIXME's.
6627         They were not for users, but for developers
6629 1999-11-11  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6631         * main.c, cmd.c: add possibility to free VFS now
6633 1999-11-03  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6635         * layout.c: always display status line. It contains vital
6636         information for ftpfs
6638 1999-03-19  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6640         * profile.c (str_translate_newline_dup): someone likes to pass
6641         NULL's around. Warn instead of segfault.
6643 1999-11-02  Miguel de Icaza  <miguel@gnu.org>
6645         * main.c (OS_Setup): Do not warn if TERM is not set for the GNOME edition.
6647 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
6649         * dlg.c (dlg_broadcast_msg_to): Sigh.  Put in a GrossHack(tm) to
6650         unfocus what will be a WInput when a panel is initialized.
6652 1999-09-21  Federico Mena Quintero  <federico@redhat.com>
6654         * dlg.c (init_dlg): Walk the list of widgets only if it exists.
6655         (dlg_broadcast_msg_to): Use safer list-walking code for if someone
6656         inserts a widget inside the message broadcast.
6658 1999-09-20  Federico Mena Quintero  <federico@redhat.com>
6660         The following is a patch from Volker Braun
6661         <volker.braun@physik.hu-berlin.de> to fix column resizing in the
6662         file panels.
6664         * setup.c (options): Declare the column width option values.
6665         (save_configure): Save the default user format.
6666         (load_setup): Load the default user format.
6668         * panel.h (WPanel): Added a field for the column widths.
6670 1999-09-19  Andrew V. Samoilov  <sav@bcs.zp.ua>
6672         * user.c (check_patterns): char* is used instead of char [] in sizeof
6674         * util.c (string_perm): prefix named pipes by 'p' and not by `s'
6676 1999-09-19  Norbert Warmuth  <nwarmuth@privat.circular.de>
6678         * mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
6679         to mad.[ch]
6681         * option.c: Include files reordered in order to make it compile with
6682         --with-debug
6684         * mad.c (mad_init): New function. Initialize debug FILE pointer to
6685         stderr (moved to a function because not on every system stderr is
6686         a constant).
6687         (mad_set_debug): added const qualifier
6689         * main.c (main): call mad_init
6691 1999-09-14  Norbert Warmuth  <nwarmuth@privat.circular.de>
6693         * widget.[ch] (input_new): added const qualifier
6695         * util.c (wipe_password): Check for NULL.
6697 1999-09-13  Federico Mena Quintero  <federico@redhat.com>
6699         * treestore.c: Removed tree_store_destroy(), renamed
6700         tree_store_init() to tree_store_get().
6702         * tree.c (tree_destroy): Do not destroy the tree store.
6703         (tree_new): Get the tree store, do not initialize it.
6705         * treestore.c (tree_store_init): Do not set the linked list
6706         pointers to NULL.
6708         * panel.h (WPanel): Added a new field that indicates whether the
6709         user is dragging something over the tree.
6711 1999-08-31  Federico Mena Quintero  <federico@redhat.com>
6713         * main.c: In the GNOME version, we want cd_symlinks to be FALSE.
6714         The VFS should never have to look at this variable, but alas, it
6715         does.  BUGFIX:  Red Hat Bugzilla #2344.
6717         * setup.c: Disable cd_symlinks in the GNOME version.
6719 1999-08-30  Norbert Warmuth  <nwarmuth@privat.circular.de>
6721         * main.c (print_mc_usage): Print the bug reporting address.
6722         (main): Put prompt in a new line at termination.
6724 1999-08-27  Federico Mena Quintero  <federico@redhat.com>
6726         * ext.c (quote_block): How did this ever work?  People, if you
6727         realloc() things, don't keep pointers to stuff inside the original
6728         block.
6730         * screen.c (do_enter_on_file_entry): Pass in the full name to
6731         if_link_is_exe().
6733         * dir.[ch] (if_link_is_exe): Take in the full name, not the directory
6734         and the file entry.
6736 1999-08-15  Norbert Warmuth  <nwarmuth@privat.circular.de>
6738         * cmd.c (guess_message_value): New function. Determine locale used
6739         for messages
6741         (get_random_hint): use guess_message_value
6743 1999-08-15  David Martin  <dmartina@usa.net>
6745         * boxes.c: (symlink_dialog): Move dialog misaligned elements
6747         * cmd.c (get_random_hint): Look for localized hint files
6749 1999-08-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6751         * ext.c: Added missing include file.
6753 1999-08-08  David Martin  <dmartina@usa.net>
6755         * menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
6756         get the right size even when NLS is disabled.
6758 1999-08-06  Norbert Warmuth  <nwarmuth@privat.circular.de>
6760         * screen.c (string_file_[amc]time): These three functions use
6761         file_date which returns a pointer to a static buffer. In the
6762         Gnome edition this buffer has to be copied to a static buffer
6763         which isn't used in the other two functions (Fix Bug #1766).
6765         * util.c, util.h: Moved some constants to util.h
6767 1999-08-04  Norbert Warmuth  <nwarmuth@privat.circular.de>
6769         * widget.c (push_history): Add SMB Link to the list of input dialogs
6770         where URLs are input without vfs prefix.
6772         Translate the titles of these input dialogs only once.
6774         Removed Gnome specific code because the Gnome edition doesn't use
6775         the input history any more.
6777         * util.c (strip_password): Add /#smb: to the list of URLs which might
6778         be input with password.
6780 1999-08-03  Norbert Warmuth  <nwarmuth@privat.circular.de>
6782         * poptalloca.h: New file with definitions for alloca. Note: alloca
6783         is defined as malloc on systems which fail to support alloca. Don't
6784         include this file if you frequently use alloca.
6786         * findme.c, popt*.c: include poptalloca.h
6788         * Makefile.in: added poptalloca.h
6790         * menu.c (create_menu): set minimum menu width to 20 characters as
6791         it used to be (this was part of David's patches but I haven't
6792         applied it yet).
6794 1999-08-01  David Martin  <dmartina@usa.net>
6796         * menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
6797         Discount '&' for hotkeys when checking menu widths to avoid the
6798         extra blank space.
6799         Moved this accounting from the drawing to the creating function.
6801         * widget.c: Translate History box tittle.
6803 1999-07-21  Norbert Warmuth  <nwarmuth@privat.circular.de>
6805         * popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c: updated
6806         to the version found in the popt module
6808         * features.inc: added report information for smbfs
6810 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
6812         * file.c (move_dir_dir): Give an error when an attempt is made to
6813         move an empty directory into itself.
6815 1999-06-24  smil@linuxfan.com
6817         * view.c (view_update_bytes_per_line, display): show correctly the
6818         offset of the file (full 8 digit), display offset in bold color
6820         (view_labels): use goto_addr instead of goto_line in hex mode
6822         (goto_addr): New function. Goto offset address in hex mode.
6824         * view.h: use unsigned long for hexedit cursor position in file
6826 1999-06-24  Norbert Warmuth  <nwarmuth@privat.circular.de>
6828         * menu.c (menubar_execute): Now needs an additional do_refresh in order
6829         to make layout changes visible.
6831 1999-06-01  Robert Brady  <rwb197@ecs.soton.ac.uk>
6833         * file.c (move_dir_dir): Give an error when an attempt is made to
6834         move an empty directory into itself.
6836 1999-06-22  Norbert Warmuth  <nwarmuth@privat.circular.de>
6838         * cmd.c (quick_view_cmd): Change panel when the file we want to
6839         view isn't in the current panel (prevents a "file not found"
6840         error).
6842         * menu.c (menubar_execute): De-activate the menubar previous to
6843         invoking the callback. This is needed to make change_panel in
6844         quick_view_cmd work (the activated menubar doesn't allow unfocus,
6845         i.e. dlg_one_down|up don't change anything).
6847         * view.c (do_view_init): improved error handling w.r.t quick view
6848         (mc used to dump core when the file to view couldn't be opened).
6850 1999-06-22  David Martin  <dmartina@usa.net>
6852         * view.c (display): added view_gotoxy's in order to make the gnome
6853         edition operational in hex mode.
6855 Fri Jun 18 11:29:56 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6857         * user.c (user_menu_cmd): Allow national characters as hotkeys.
6858         Don't dump core when the menu file contains only empty lines
6860         * view.c (search, block_search): Use the correct column for the
6861         percent display while searching.
6863 1999-06-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6865         * complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
6866         the completion/query engine.  Make the Gnome version just beep
6867         instead.  We do not have the completion/query engine for Gtk.
6869 1999-06-09  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6871         * cmd.c (configure_panel_listing): no more code duplication
6873         * screen.c (panel_new): no more code duplication
6874         (set_panel_formats): warn user when he gives bogus format, move
6875         checks into set_panel_formats
6877 1999-06-01  Akira Higuchi  <a-higuti@math.sci.hokudai.ac.jp>
6879         * util.c (is_printable): in GNOME all characters are printable.
6881 1999-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6883         * main.c (handle_args): Handle --desktop-linksdir without using X
6885 1999-05-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6887         * treestore.c (should_skip_directory): Add fix from Wayne Roberts
6888         to actually acknowledge the settings of mc.global.
6890 1999-05-24  Brandon S. Allbery  <allbery@ece.cmu.edu>
6892         * subshell.c (pty_open_master): Added missing comma.p
6894 Mon May 17 07:37:12 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6896         * subshell.c (pty_open_master): use getpt () if available to open
6897         the master side of the pty. getpt () is a glibc extension and is
6898         needed when glibc 2.1.x is used with a (linux) kernel without unix98
6899         style ptys (if there is no /dev/ptmx getpt falls back to bsd style
6900         ptys).
6902         * filegui.c (check_progress_buttons): Don't update the Gpm mouse
6903         cursor when we check for events. It causes a flickering cursor on a
6904         different virtual console.
6906 1999-05-12  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
6908         * cons.saver.c (main): change cons.saver so it can be run without
6909         root privileges. It is well possible to run cons.saver with
6910         privileges only to /dev/vcsa: create new user and make vcsa's
6911         owned by that user instead of root.
6913         Distribution maintainers please take this text as idea of what you
6914         should do to make your system more secure.
6916 1999-05-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6918         * cmd.c (view_file_at_line): gmc_view never fails, so we handle
6919         that now.
6921 1999-04-29  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6923         * chmod.c (chmod_cmd): Missing _ in _().
6924         (chmod_cmd): Added braces around nested if/else.
6926         * widget.c (is_in_input_map): Added braces around nested if/else.
6927         (listbox_remove_current): Likewise.
6929         * subshell.c (read_subshell_prompt): Likewise.
6931         * view.c (view_status): Likewise.
6933 Tue Apr 27 20:31:13 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6935         * util.c (strip_home_and_password): Don't split the path in the
6936         middle of a directory, e.g. "/home/bofh" will not be translated to
6937         "~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
6939 1999-04-25  Sergei Ivanov  <svivanov@pdmi.ras.ru>
6941         * find.c: The origin of the bug is in the function do_search (file
6942         find.c).  It limits the number of subdirectories to scan by the
6943         number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
6944         st_nlink is always 1, so it should be the second case.
6946         But before doing stat, do_search does opendir. And opendir on tar
6947         vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
6948         in the stat data! So mc_stat called after mc_opendir on tar vfs
6949         returns st_nlink==2 instead of 1. This is interpreted as if the
6950         directory had no subdirs, thus subdirs are not searched in.
6952         Changing the order of calls to mc_stat and mc_opendir fixes the
6953         problem.
6955 1999-03-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6957         * setup.c (save_setup): Only save this if there is a current panel
6959 Wed Apr 21 21:47:15 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6961         * ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
6962         like the latter when compiled with -mthreads).
6964         * user.c (execute_menu_command): ditto.
6966 Wed Apr 21 20:40:38 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6968         * Makefile.in: use MCCFLAGS and MCLIBS
6970 Wed Apr 21 20:19:45 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6972         * key.c (get_modifier): Query the state of the modifier keys when
6973         running inside a terminal emulation under X11.
6975         * key.c (init_textmode_x11_support, done_textmode_x11_support): new
6976         functions, only used in the text edition. Connect to and disconnect
6977         from the X Server when DISPLAY is set.
6979         * key.h: added prototypes for the new functions
6981         * main.c (main): call (init|done)_textmode_x11_support
6983 Sat Apr 17 13:04:19 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
6985         * view.c (do_view_init): Enable viewing of files with negative
6986         st_size (This reverts parts of a patch I committed recently. Miguel
6987         provided a better fix for this issue).
6989 1999-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
6991         * view.c (regexp_search): Use unsigned longs for all of the
6992         offsets here.  Fixes crash reported on bugtraq.
6994 1999-04-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
6996         * treestore.c (tree_store_save_to): Moved the functionality from
6997         tree_store_save() to here.
6998         (tree_store_save): Save the tree in the default location in an
6999         atomic fashion.
7000         (tree_store_load_from): Moved the functionality from
7001         tree_store_load() to here.
7002         (tree_store_load): Load the tree from the default location.
7004         * treestore.h (MC_TREE_TMP): Added a #define for the temporary
7005         name we'll use when saving the tree.  Moved the #defines from
7006         tree.h over to here.
7008         * main.c (main): Use tree_store_load() and tree_store_save().
7009         Removed the mc_tree_store_load/save() versions.
7011         * tree.c (load_tree): Use tree_store_load().
7012         (save_tree): Use tree_store_save().
7014 Fri Apr 16 07:51:42 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7016         * wtools.c (message): Use g_vsnprintf instead of vsprintf.
7018 Fri Apr 16 07:50:59 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7020         * view.c (do_view_init): Don't view files with negative file size.
7021         Added some error checking (I'm not sure whether this is needed).
7023 1999-04-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7025         * panel.h (WPanel): Added a drag_tree_row field to the WPanel
7026         structure.  This is used to keep track of the highlighted row in
7027         the tree for drag and drop.  Also, added drag_tree_timeout_id to
7028         hold the node expand timeout.  Also, added drag_tree_fe to hold
7029         the file_entry for the currently highlighted row in the tree.
7031 1999-04-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7033         * utilunix.c (my_system): Set up default signal handlers for
7034         children.
7036 Tue Apr 13 07:14:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7038         * slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
7039         at the code that's only the case when we read EOF from stdin.
7041         This fixes the problem where MC consumes a lot of cpu time while
7042         reading EOF from stdin in a tight loop. This situation arises when the
7043         terminal line/connection drops without MC being sent SIGHUP.
7045 Tue Apr 13 07:13:10 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7047         * slint.c (SLang_input_pending2): don't store SLANG_GETKEY_ERROR (int)
7048         in the input buffer (char).
7050 1999-04-12  Andrew T. Veliath  <andrewtv@usa.net>
7052         * main.c (_do_panel_cd): If we are using GNOME, and the panel is a
7053         desktop panel, open up a new panel for the contents.
7055 1999-04-09  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7057         * tree.c (tree_start_search): Renamed from start_search() to avoid
7058         collisions with screen.c:start_search().
7060         * panel.h: Added prototype for start_search().
7062 1999-04-09  Rosanna Yuen  <rwsy@mit.edu>
7064         * screen.c (do_enter_on_file_entry): split GNOME version and
7065         non-gnome version.
7066         (parse_display_format): listen to the warning.
7068 1999-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7070         * treestore.c (tree_store_load): Do not load non-local file
7071         systems
7072         (tree_store_save): Do not save non-local file systems
7074 1999-04-07  Jonathan Blandford  <jrb@redhat.com>
7076         * screen.c (do_enter_on_file_entry): added a consistent behavior
7077         for GNOME stuff.
7079 1999-04-06  David Martin  <dmartina@usa.net>
7081         * info.c (text out of box and locale layout).
7083         * util.c: If gmc uses strftime() why mc doesn't?
7085         * view.c: a) Tune status line so it does fit in a Quick View Panel
7086         b) Let Hex View resize cleanly. I think it's fixed for panel
7087         re-split and SIGWINCH signal in xterm. gmc still fails. There was
7088         a tiny risk of division by zero when pressing F4 in a very small
7089         box. True hard work... Must try and check it.
7091 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7093         * main.c (main): Call mc_tree_store_save() when the program
7094         terminates.
7096 1999-04-05  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7098         * find.c (setup_gui): Do not scroll horizontally.  Why does the
7099         CList behave like this?
7101         * setup.c: Save desktop information.
7103 1999-04-05  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7105         * cons.saver.c (main): dup2() may be interrupted; take this into
7106         account.  Do we need to fcntl() stderr, or is it enough to close()
7107         it before recreating it?
7109 1999-03-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7111         * dlg.c (dlg_run_done): Do not call the callback of a NULL current
7112         widget.
7114         * setup.h: Added missing prototype for setup_init().
7116         * filegui.c (check_progress_buttons): Added a missing return
7117         value.
7119         * dlg.c (remove_widget): Added a missing return value.
7121         * main.c: Removed the global directory_list variable.
7122         Removed the main_corba_register_server() function.
7124         * main.h: Removed the global run_desktop variable.
7126         * panel.h: Now the panel structure has a unique numerical ID used
7127         for session management.
7129         * screen.c (panel_new): Maintain a unique ID for each panel.
7131         * main.c (maybe_display_linksdir): Handle display of the desktop
7132         init dir here.
7133         (main): Call gnome_check_super_user().
7134         (init_corba_with_args): Call corba_init_server().
7136         * main.c (init_corba_with_args): Do CORBA initialization here.  Also
7137         removed the global force_activation option.
7139 1999-03-29  Jonathan Blandford  <jrb@redhat.com>
7141         * main.c (main): updated message.
7143 Sun Mar 28 23:52:08 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7145         * util.c (is_printable): Character 155 is non printable even when
7146         full eight bit output is enabled (on the linux console 155 is
7147         interpreted as "ESC [").
7149 1999-03-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7151         Patch courtesy of John Bley (jbb6@acpub.duke.edu):
7153         * background.c (do_background): Use pid_t instead of int.
7155         * subshell.c (sigchld_handler): Likewise.
7157 1999-03-24  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7159         * Makefile.in: Use mcsrclibdir where appropriate.
7161 1999-03-22  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7163         * treestore.c (process_special_dirs): Free memory here.
7165         Fix test: Skip only "." and "..", before it could skip "?.".
7167 1999-03-22  David Martin  <dmartina@mailexcite.com>
7169         * wtools.c (real_input_dialog_help): Do a strncmp with the length
7170         of th same translated "Password:" string.
7172 Mon Mar 22 02:05:28 1999  Timur Bakeyev  <mc@bat.ru>
7174         * screen.c (file_entry_color): Dropped. Code went to file_compute_color.
7176         * screen (format_file): Add check, that avoids reported error, when
7177         long file list -> quick view -> brief file list gives core dump.
7179 1999-03-19  Jonathan Blandford  <jrb@redhat.com>
7181         * main.c (main): We don't want to restart if we hit cancel.
7183         * file.c (panel_operate): Ugly hack for GNOME.  We only treat the
7184         copy as if it were many files, and skip the only_one branch.
7186 1999-03-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7188         * utilunix.c (close_error_pipe): Inform parent of the return value
7189         of any command here.  This allows the desktop to launch a terminal
7190         only if it succeeded in mounting the directory.
7192 Thu Mar 18 16:09:09 1999  Timur Bakeyev  <mc@bat.ru>
7194         * panel.h, screen.c: Add an ability to center justify fields in the
7195         panel, in addition to left and right justification. Just for fun.
7196         Try =name in user format.
7198         * util.c (name_quote): Quote "~@^|;:". Hope, that's all :)
7200 1999-03-17  Jonathan Blandford  <jrb@redhat.com>
7202         * main.c (main): Put in a warning when run as root.
7204 1999-03-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7206         * boxes.c (symlink_dialog): Put this inside an "#ifndef
7207         HAVE_GNOME" since we now provide a nicer version of the dialog.
7209         * wtools.c (real_input_dialog_help): Removed unneeded #ifdef.
7211         * cmd.c (edit_symlink_cmd): Generate the title of the dialog after
7212         we have computed the source filename.
7213         (edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
7214         for better internationalization.
7216         * wtools.c: Removed unused function input_dialog_help_2().
7217         (real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
7218         because now the Gnome version implements its own pretty dialog.
7220 1999-03-14  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7222         * dlg.c (dlg_select_nth_widget): Handle the case where h->current
7223         points to NULL.
7225 1999-03-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7227         * file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
7228         Since we use the resulting buf.st_size to update the progress, we
7229         need the size of unresolved links.  This also makes it consistent
7230         with screen.c:do_file_mark().
7232         * screen.c (select_item): Return immediately if this is a desktop
7233         panel.
7235 1999-03-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7237         * subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have
7238         grantpt() but they do lack SysV streams.  Handle this.  Noticed by
7239         Jakub Jelinek
7241 1999-03-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7243         * util.h: Added prototype for g_readlink().  Miggie boy should add
7244         prototypes when he adds public functions.
7246 1999-03-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7248         * utilunix.c (g_readlink): Fixed two bugs spotted by Morten
7249         Wellinder.  Boy, Morten has such a good eye!
7251 1999-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7253         * file.c (erase_dir): Erase metadata for directories as well.
7254         (erase_dir_iff_empty): Likewise.
7255         (copy_file_file): Delete/copy the metadata even for
7256         char/block/sock/fifo files.  Same thing for when copying symlinks.
7257         (copy_dir_dir): Delete/copy the metadata.
7258         (move_dir_dir): Delete/move the metadata.
7259         (recursive_erase): Delete the metadata.
7261 1999-03-08  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7263         * file.c (real_query_recursive): Removed an unused variable.
7265 1999-03-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7267         * utilunix.c (g_readlink): New function.  Wraps all the nonsense
7268         of readlink into a nice routine.
7270         * filegui.c: Support ui->ctx to be NULL, as file.c will set this
7271         to NULL for background operations.
7273         * background.c (do_background): Handle EINTR in dup2.
7275 Wed Mar 10 22:21:19 1999  David Martin  <dmartina@usa.net>
7277         * util.c (my_putenv): char* was used to store the length of a string
7279         * info.c (info_show_info): cast st_dev and st_ino when passing
7280         to printw.
7282 1999-03-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7284         * file.c (panel_operate): Always create the ctx->ui.  Federico,
7285         can you see if this change is correct from your point of view?
7287         * cmd.c (edit_symlink_cmd): Small fix to improve the messages
7288         printed.
7290 Tue Mar  2 22:54:50 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7292         * util.c (name_quote): Quote '<' and '>'.
7294 Tue Mar  2 22:28:39 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7296         * main.c (panel_clean_dir): New function: reset all counters of a
7297         WPanel and clean directory list.
7299         * various places: Use panel_clean_dir instead of clean_dir whenever
7300         a WPanel is available. This solves the problem reported by Enrico
7301         Scholz (screen refresh while panel reload with an old/now invalid
7302         panel->count).
7304 Mon Mar  1 00:18:48 1999  Timur Bakeyev  <mc@bat.ru>
7306         * mad.c: Tempnam() returns malloced buffer, so, free() it, not g_free().
7308 1999-02-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7310         * view.c (view_percent, view_update): Take an extra argument:
7311         update_gui, which controls whether we want to update the displayed
7312         region in the GUI version.
7314 1999-02-25  Jonathan Blandford  <jrb@redhat.com>
7316         * cmd.c (symlink_cmd): little change to handle the case when a
7317         desktop panel is passed in.
7319 1999-02-25  Owen Taylor  <otaylor@redhat.com>
7321         * fileopctx.h file.c: Moved recursive delete query
7322         dialog into gdialogs.c for GNOME.
7324 1999-02-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7326         * file.c: Moved FileCopyMode here (thanks to Wolfgang Scherer for
7327         pointing this out) and made it a typedef.
7329         * treestore.c (process_special_dirs): New function.
7330         (should_skip_directory): Load the settings from the global
7331         special.dirs file and from the
7333         * util.c: Test for glibc/linux and if so, do not use getwd, but
7334         getcwd as on this system it is better than popen ("pwd").
7336 1999-02-18  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7338         * setup.c: Declare extern int tree_panel_visible for the GNOME
7339         version.
7341 1999-02-17  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7343         * dir.c (if_link_is_exe): Made this function take in a directory
7344         argument as well -- the sought file may not be in the cwd, and
7345         file entries do not carry the directory the file refers to.
7347         * screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
7348         if_link_is_exe().
7350 1999-02-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7352         * treestore.c (tree_store_rescan): Add code to skip scanning
7353         specially slow directories (/afs, /coda, /...).  It is of course,
7354         configurable.
7356         * setup.c: Export the profile_name setup routine.
7358 Tue Feb 16 21:21:32 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7360         * popt.c: Compilation fix: on systems without setreuid use setuid.
7362 Tue Feb 16 21:18:08 1999  David Martin  <dmartina@usa.net>
7364         * achown.c: Make buttons fit in the (new) translated
7365         Advanced Chown dialog.
7367 1999-02-16  Alexander Savelyev  <fano@ham.kiev.ua>
7369         * subshell.c (exit_subshell): Use the size of the buffer, not
7370         sizeof of the pointer to the buffer.
7372 Sun Feb 14 02:59:09 1999  Timur Bakeyev  <mc@bat.ru>
7374         * utilunix.c (my_system): Fix the order of preferences, as setuid
7375         more desirable on BSD systems. Terminate execl[p]() with NULL, as
7376         this is formally correct.
7378 1999-02-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7380         * dir.c (do_load_dir): Added missing calls to tree_store_end_check.
7382         * find.c (add_to_list): Pass the data pointer as well.
7384 Fri Feb 12 06:36:58 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7386         * utilunix.c (my_system): Compilation fix: on systems without
7387         setreuid use setuid.
7389 1999-02-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7391         * panel.h (WPanel): Removed unused field "corbadat".
7393 1999-02-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7395         * screen.c: Make delete key delete files.
7397         * dir.c (do_reload_dir): Add a couple of missing calls to tree_store_end_check.
7399 1999-02-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7401         * main.h: Added prototype for main_corba_register_server().
7403 1999-02-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7405         * view.c (search): Provide GNOME specific code for the search progress
7407         * treestore.c: Add a new hook system to hint a tree freeze/thaw.
7409         * setup.c: In the GNOME version, we do not show the dot files by default.
7411 1999-02-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7413         * file.c (copy_file_file): Add support for the GNOME metadata here.
7414         (move_file_file): Add support for the GNOME metadata here.
7416 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7418         * treestore.c   (tree_store_add_entry): Use g_new0 to allocate the tree_entry.
7420         (tree_store_notify_add): Close, but no cigar.  The
7421         bug was deeper:  This list keeps names, not tree_entries.
7423 1999-02-07  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7425         * treestore.c (tree_store_notify_add): A tree_store_add_fn wants a
7426         string, not a tree_entry, so pass a string to it.
7428 1999-02-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7430         * treestore.c: Revert all of the stack changes.  Now the treestore
7431         is again non-re-entrant.  Being re-entrant was only covering up for
7432         bugs in other places.
7434         Now we postpone notifications for additions at
7435         tree_store_end_check, not before.
7437 1999-02-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7439         * treestore.c (tree_store_remove_entry): Removed unused code for
7440         base_sublevel computation.
7442 Sun Feb  7 06:11:48 1999  Timur Bakeyev  <mc@bat.ru>
7444         * Makefile.in: Change calls to xmkdir to mkinstalldirs - this is more
7445         GNU-like :)
7447         * xmkdir removed - we have mkinstalldirs.
7449 1999-02-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7451         * cmd.c (view_other_cmd): Do not use \r in translatable strings.
7453 1999-02-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7455         * widget.c (push_history): Only do check the history headings if
7456         the widget has a history entry bound to it.
7458 1999-02-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7460         * treestore.c (tree_store_start_check, tree_store_mark_checked,
7461         tree_store_end_check): Use a stack for check_name.  There are far
7462         too many instances that might call the end_check.
7464 Wed Feb  3 23:55:54 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7466         * widget.c (history_put): set the access rights correctly when
7467         the history file is created initially. Don't save the history
7468         if we can't set the access rights.
7470 1999-02-01  Jonathan Blandford  <jrb@redhat.com>
7472         * setup.c: save we_can_afford_the_speed
7474 Wed Feb  3 22:27:04 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7476         * util.c (strip_password): Extended to find the URL in the first
7477         parameter. The second parameter tells whether it should search the
7478         URL (indicated by known prefixes) in the first parameter or whether
7479         the first parameter is a URL without a prefix ("ftp://", "/#ftp:",
7480         "/#mc:").
7482         * main.c (directory_history_add): Strip the password (if any) from
7483         the freshly added value.
7485         * widget.c (push_history): ditto. There's a ugly special casing
7486         necessary for the network and ftp link dialogs (URLs are entered
7487         with out prefix).
7489         * widget.c (history_put): Restrict read and write access to the
7490         history file to the owner (Just in case I forgot to strip passwords
7491         somewhere).
7493 Mon Feb  1 00:43:15 1999  Timur Bakeyev  <mc@bat.ru>
7495         * screen.c (to_buffer): Code of the function rewritten, as a side
7496         effect added J_CENTER (who needs this?). Also, justification flags
7497         got twins with _FIT suffix, which tries to fit name in the field with-
7498         out truncation (uses name_trunc()). This unifies behavior of CList
7499         variants and text-bases widgets.
7501         * screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
7502         group]() - not necessary, to_buffer() doing this work.
7504 Sun Jan 31 19:49:00 1999  Norbert Warmuth  <nwarmuth@privat.circular.de>
7506         * hotlist.c (add_new_entry_input, add_new_group_input): Make the
7507         quick_widget arrays static and various changes needed because they
7508         are now static. add_widgets_i18n recalculates button positions
7509         which get lost when the quick_widget arrays are non static.
7511         * screen.c (to_buffer): NULL terminate string when using strncpy
7513         * setup.c: Save and restore new option ftpfs_first_cd_then_ls.
7515 1999-01-31  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7517         * file.c (panel_operate_generate_prompt): Removed the cmd_buf
7518         argument, since it is a global variable anyway (this function is
7519         only called once from file.c, and the global cmd_buf was being
7520         passed in).
7521         (panel_operate): Do not pass cmd_buf to
7522         panel_operate_generate_prompt().
7523         Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.
7525 1999-01-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7527         * achown.c (XTRACT): Add missing call to _().
7529 1999-01-26  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7531         * panel.h: Fixup #includes.
7533 1999-01-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7535         * cons.saver.c: Removed glib from the suid app
7537 Wed Jan 27 03:17:44 1999  Timur Bakeyev  <mc@bat.ru>
7539         * Converted memory management to Glib. Now we use g_new()/g_malloc()/
7540         g_strdup()/g_free() routings. Also, copy_strings() replaced by
7541         g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
7542         g_snprintf().
7544         * Some sequences of malloc()/sprintf() changed to g_strdup_printf().
7546         * mad.[ch]: Modified, to work with new GLib's memory management. Fixed
7547         a missing #undef for tempnam, which caused dead loop. Add several new
7548         functions to emulate GLib memory management.
7550         *main.c, mad.[ch]: Add a new switch  "-M", which allows to redirect MAD
7551         messages to the file.
7553         * util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
7554         and strdup() - we have g_ equivalences. Remove get_full_name() - it is
7555         similar to concat_dir_and_file(). Some other tricks with g_* functions.
7557         * global.h: Modified, extended. Now it is main memory management include -
7558         i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
7559         "util.h" and "mad.h" done there. This eliminates problem with proper or-
7560         der of #include's.
7562         * All around the source - changed order of #include's, most of them gone
7563         to global.h (see above), minor changes, like "0" -> NULL in string func-
7564         tions.
7566 1999-01-25  Alexander Savelyev  <fano@vcom.kiev.ua>
7568         * ext.c (exec_extension): Always use /bin/sh.  Not the user
7569         shell.
7571 1999-01-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7573         * treestore.c (tree_store_remove_entry_remove_hook): Missing
7574         function.  To remove a notification hook.
7575         (tree_store_notify_add, tree_store_add_entry_add_hook,
7576         tree_store_remove_entry_add_hook): New functions to notify of
7577         additions to the treestore.
7579         * tree.c (tree_destroy): Remove the callback hook when we go
7580         away.
7582 1999-01-21  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7584         * option.c (init_configure): One line patch from Alexander
7585         Savelyev to translate all strings.
7587 1999-01-18  Pavel Machek  <pavel@artax.karlin.mff.cuni.cz>
7589         * file.c: Killed operation_names: they seemed same to op_names to
7590         me, and compilation failed on them (initializer element is not a
7591         constant). Maybe Miguel tagged too many strings for localization?
7592         :-).
7594         * ext.c: we use /tmp in "creative" way: creating there file and
7595         then executing it. I do not see how it is needed. Marked with FIXME.
7597 Thu Jan 21 01:11:24 1999  Timur Bakeyev  <mc@bat.ru>
7599         * mad.[ch], util.[ch]: commit changes, that allow coexist (temporary)
7600         GLib'ed VFS and not still converted MC itself.
7602 1999-01-20  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7604         * treestore.c (tree_store_start_check): Use mc_stat(), not stat().
7605         (tree_store_rescan): Use mc_lstat(), not lstat().
7607 Tue Jan 19 05:28:04 1999  Timur Bakeyev  <mc@bat.ru>
7609         * ext.c, filenot.c, main.c, screen.c, treestore.c: add missed #include's
7610         and moved glib.h so, it follows "fs.h", but precedes "util.h" and "mad.h".
7611         There were conflicts during compilation with MAD and GLibed vfs.
7613 Mon Jan 18 21:23:29 1999 Paul Sheer  <psheer@obsidian.co.za>
7615         * cmd.c: update_panels (UP_OPTIMIZE, UP_KEEPSEL); instead
7616         of reread after editing a file.
7618 1999-01-18  Arturo Espinosa  <arturo@nuclecu.unam.mx>
7620         * file.c: Use N_ instead of _ for some of Miguel's last tags.
7622 1999-01-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7624         * file.c: Tag some more strings for localization.
7626 1999-01-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7628         * cmd.c (mkdir_cmd): Please, check your pointer usage.
7630 Thu Jan 14 13:18:58 1999  Timur Bakeyev  <mc@bat.ru>
7632         * screen.c (string_file_[owner|group]): Workaround the fact, that some
7633         systems have user and group names greater than 8 symbols. Now we trun-
7634         cate them.
7636 1999-01-13  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7638         * treestore.c (tree_store_load): Use g_return_val_if_fail(), not
7639         g_return_if_fail().
7640         (tree_store_rescan): Added parentheses to clarify || and &&.
7642         * tree.c (tree_add_entry): Removed unused variable.
7644         * treestore.h: Added prototype for tree_store_start_check_cwd().
7646 1999-01-13  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7648         * view.c (search): Missing condition.
7650         * treestore.c (tree_store_opendir): Simplistic fix.  This is not
7651         quite correct.
7653 1999-01-12  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7655         * panelize.h: Added prototype for do_external_panelize().
7657         * screen.c (move_selection): Unused variable fixes for HAVE_X.
7659         * boxes.c (configure_vfs): Removed an unused variable.
7661 1999-01-12  Jonathan Blandford  <jrb@redhat.com>
7663         * cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
7664         absolute directories.
7666 Tue Jan 12 13:40:46 1999  Timur Bakeyev  <mc@bat.ru>
7668         * gtkedit(syntax.c): Fixed a typo in Pascal syntax.
7670 1999-01-12  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7672         * treestore.c (tree_store_save): Add signature for version 2.0 of
7673         the file format.
7675 1999-01-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7677         * file.c (do_file_error): Made static.
7678         (query_recursive): Have cases for background/foreground operation.
7679         (do_file_error): Likewise.
7681         * background.c: Removed the bg_ctx global, since now all the
7682         contexts are carried around by the functions that actually need
7683         them.
7685         * fileopctx.h (FileOpContext): Moved the op_preserve field to here.
7687         * filegui.c (file_mask_dialog): Removed the ui assertion, since
7688         now the op_preserve field is kept in the main context structure.
7690 1999-01-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7692         * util.c: Provide workarounds for Linux kernel bug.
7694 Sun Jan 10 02:18:33 1999  Timur Bakeyev  <mc@bat.ru>
7696         * screen.c(string_file_size): Fixed (incorrect?) printing of device num-
7697         bers. Major should never be greater 255.
7699 1999-01-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7701         * dir.c (handle_dirent): Use the tree_store now.
7702         (handle_path): ditto.
7703         (do_load_dir): ditto.
7704         (do_load_dir): ditto.
7705         (do_reload_dir): ditto.
7706         (do_reload_dir): ditto.
7708         * treestore.c (tree_store_save): New file
7709         (encode): New routine used to encode pathnames in a safe way that
7710         are saved to the mc/.tree file.
7711         (decode): New routine, used to decode the pathnames we encoded in
7712         the step above.  Ain't love grand?
7714         * tree.c (load_tree): Kill dead code.
7716         Moved all of the tree store information into a new file:
7717         treestore.  To be reused by the Gnome code.
7719 1999-01-08  Ilya Zakharevich  <ilya@math.ohio-state.edu>
7721         * popt.c: OS/2 and Windows NT portability fix.
7723 1999-01-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7725         * file.c (panel_operate_flags): Only show this dialog box if it is
7726         a copy or move operation
7728 1999-01-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
7730         * background.c (do_background): Make it a bit saner.  Now we store
7731         a per-child-process FileOpContext structure.
7733         * fileopctx.h: New file with declarations for the file operation
7734         context structure.
7736         * fileopctx.c (file_op_context_new): New function to create a file
7737         operation context with the default file mask values.
7738         (file_op_context_destroy): New function to destroy a file
7739         operation context and its associated UI, if appropriate.
7741         * filegui.h: Use complete prototype for fmd_init_i18n().
7743         * filegui.c (FileOpContextUI): New structure that describes the UI
7744         and internal data for file operation contexts in the text mode
7745         version.
7746         (file_op_context_create_ui): Renamed from create_op_win() and
7747         made it use a context instead of global variables.
7748         (file_op_context_destroy_ui): Likewise, renamed from
7749         destroy_op_win().
7750         (fmd_widgets): Removed an #ifdef HAVE_XVIEW bit and moved the
7751         initialization of the result pointers to file_mask_dialog(), as we
7752         need to use the pointers to the fields inside the file op context now.
7753         Made all the functions use a file operation context.
7754         (file_mask_dialog): Always call fmd_init_i18n(); it will take care
7755         of idempotence by itself.
7756         (fmd_init_i18n): Now the code that makes sure this function is
7757         only called once is here.
7759         * cmd.c (check_for_default): Make it use a file operation context.
7760         * tree.c (tree_copy): Likewise.
7761         (tree_move): Likewise.
7762         (tree_rmdir_cmd): Likewise.
7764         * file.c: Removed file_progress_replace_progress and
7765         file_progress_replace_filename -- they are only used in filegui.c
7766         as part of the UI for the file operation context.
7767         (panel_operate_generate_prompt): Made static.
7768         (panel_operate_generate_prompt): Always call fmd_init_i18n(); it
7769         will take care of idempotence by itself.
7770         (panel_operate): Removed the panel_operate_def() function, and
7771         made panel_operate() take an extra "ask_user" argument.
7772         (query_recursive): Made static.
7774         * background.c (background_attention): Made static.
7775         (register_task_running): Made static.
7776         (do_background): Now takes a file operation context as an
7777         argument.  It stores the pid of the child there.
7779         * Makefile.in: Added fileopctx.[ch].
7781 1999-01-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7783         * widget.c (listbox_new): Assign l->height.
7785 1999-01-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7787         * main.c (update_one_panel_widget): GNOME version does the panel
7788         update here (this is an optimization, as we do not want do_refresh
7789         to do anything.
7791         * dialog.c (do_refresh): Remove this optimization as it was
7792         disabling the repainting of the screen contents.
7794         * hotlist.c (done_hotlist): The hotlist might not be loaded
7795         anymore.
7797 1999-01-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7799         * widget.c (listbox_new): Under GNOME, height of the listbox might
7800         be less than zero (due to LINES/COLS being set to zero there).  So
7801         for bow, set the height to 1.  This needs to be properly computed
7802         in x_create_listbox.
7804         * main.c (main): Do not load the hotlist here anymore.   We
7805         auto-load it on the setup(?).
7807 1998-12-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7809         * main.c (main): Removed old, unused code.
7810         (setup_panels_and_run_mc): Register the corba server here, not
7811         before, as the program is not ready to accept any commands yet.
7813         * screen.c (panel_set_sort_order): New routine to set the sorting
7814         mode.
7815         (panel_re_sort): New routine to force a resort on a panel.
7817         * main.c (sort_cmd): Use the new routines.
7819 1998-12-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7821         * cmd.c (check_for_default): Make this compile.
7823 Tue Dec 29 22:25:34 1998  Timur Bakeyev  <mc@bat.ru>
7825         * mountlist.c: Compress all xBSD systems to one line and add check
7826         for MOUNT_UFS - it seems, that 4.4BSD and 4.4BSD2 systems different-
7827         ly handles FS names. (currently affects BSDI and FreeBSD)
7829 Tue Dec 29 16:34:02 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7831         * file.c (progress_update_one): Ignore files in subdirectories
7832         when panel totals haven't been computed.
7834         (erase_dir, erase_file): update progress bar (i.e. make it work
7835         for OP_DELETE).
7837         (panel_operate_flags): Don't compute panel totals for OP_MOVE.
7838         When moving files on the same filesystem computing totals might
7839         last much longer than the actual move operation.
7841         (various places): Adaptations for the above changes.
7843 Mon Dec 28 22:15:43 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7845         * slint.c (try_alloc_color_pair): Changed hardcoded values into
7846         defines.
7848 Mon Dec 28 20:22:59 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7850         * color.c, text.c: Added color "stalledlink" which is used for
7851         stalled symbolic links. Formerly "viewunderline" was used for
7852         this (IMO bad because function and name didn't match).
7853         According to the man page the color keyword for executable files
7854         is `executable' and not `execute' -- changed.
7856         * color.c, color.h: When using SLang some color indexes are not
7857         freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
7858         Solved by adding holes in color_map.
7860         * find.c (do_search): fixed possible memory leak
7862 Sat Dec 26 09:53:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7864         * layout.c: include sys/ioctl.h to get definition of TIOCGWINSZ
7865         (fixes problem with screen resize).
7867 Fri Dec 25 20:19:57 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7869         * file.c (panel_operate_flags): Don't change file progress count and
7870         size twice for every file.
7872         (panel_compute_totals): Initialize return values to zero before
7873         calculating anything.
7875         (panel_operate_def, panel_operate): return a value
7877 Thu Dec 24 19:00:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7879         * screen.c (recalculate_panel_summary): new function which recalculates
7880         the summary information for the mini-status.
7882         * screen.c (panel_reload): use recalculate_panel_summary
7884         * screen.c (do_file_mark): Honor that dirsizes computed is now a
7885         per entry flag.
7887 Thu Dec 24 18:53:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7889         * option.c: Added Compute Totals to the configuration dialog.
7891         * file.c (compute_dir_size): made non static
7893         (panel_operate_flags): Don't compute directory sizes if verbose
7894         operation are off.
7896 Thu Dec 24 18:42:52 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7898         * cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
7899         by Miguel, i.e. get rid of du. Now the dirsizes_cmd honors a
7900         selection and computes sizes only for marked directories. Possible
7901         improvement: add a dialog (or C-C?) to abort computation.
7903         * dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
7904         flag a per file flag.
7906         * dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
7907         WPanel structure.
7909         * features.inc: Deleted DUSUM information
7911         * mc.hlp: remade because of changes in doc/mc.1.in
7913 1998-12-22  Jonathan Blandford  <jrb@redhat.com>
7915         * file.c: add a HAVE_GNOME only function
7917 Mon Dec 21 22:39:35 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7919         * mountlist.c: Define xBSD on FreeBSD.
7921         * main.c (parse_an_arg): New function, popt callback. Option
7922         parsing in gmc was broken. The gnome*_init_with_popt_table free
7923         the option tables and gmc tried to use the option tables later.
7925         * main.c (handle_args): In the Gnome edition don't parse the
7926         options a second time.
7928         * boxes.c (configure_vfs), setup.c: Deleted obsolete options.
7929         tar.gz files are now always unzipped to a temporary file on disk.
7931 Mon Dec 21 14:28:55 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7933         * filenot.c (my_mkdir_rec): Someone broke this completely by deleting
7934         a line. Funny things happen if you use an already freed pointer.
7935         Improved error handling: try to make directories recursively until
7936         mkdir succeeds or fails with errno != ENOENT. Now you will get the
7937         correct error message when you don't have permission to create a
7938         directory.
7940         * mountlist.c: Deleted function prototypes for strdup and strstr,
7941         they might conflict with definitions in the system header files.
7943 Wed Dec 16 14:41:15 1998  Paul Sheer  <psheer@obsidian.co.za>
7945         * gtkedit.c, editwidget.c: gnome selection now works with the
7946         editor.
7948 Wed Dec 16 06:27:00 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7950         * screen.c (Xtry_to_select): Don't select a similar file when
7951         "name" can't be found in the panel (when deleting files the
7952         selection jumped from the deleted "file" to a directory which
7953         started with the same character as "file", annoying).
7954         Strip known vfs suffixes from "name" before trying to select
7955         (I think Timur made this suggestion a few months ago). Know the
7956         vfs is mature enough to do this.
7958 1998-12-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7960         * dir.c (link_isdir): Remove unused variable.
7962 Sun Dec 13 18:35:05 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
7964         * screen.c (panel_reload): Don't set panel->selected to zero here,
7965         keep it's value if possible or set it to panel->count - 1 (I disliked
7966         the jumping cursor when deleting files).
7968 1998-12-11  Michael Fulbright  <msf@majestic.labs.redhat.com>
7970         * file.c (panel_operate_generate_prompt): Changes the text
7971         for GNOME dialogs.  --jrb
7973 1998-12-10  Miguel de Icaza  <miguel@nuclecu.unam.mx>
7975         * main.c (try_to_select): We do not need to select the item
7976         manually in this case, as the X code will do this for us.
7978 Fri Dec 11 00:05:50 1998 Paul Sheer  <psheer@obsidian.co.za>
7980         * syntax.c, slint.c, color.c, color.h: editor now has its
7981         own color configuration so you can set editor background
7982         colors with MC_COLOR_TABLE.
7984 1998-12-10  Paul Sheer  <psheer@obsidian.co.za>
7986         * syntax.c: perl syntax highlighting. syntax highlighting
7987         bug fixes for python and sh.
7989         * edit.c: new method of finding line offsets from line
7990         number (for cooledit for python stuff).
7992 Mon Nov 30 21:10:30 1998  Pavel Machek  <pavel@bug.ucw.cz>
7994         * file.c (copy_file_file): minor code beatifying: replace goto's
7995         with while loops (it is both shorter and nicer :-)
7996         (panel_operate): hopefully done WANT_STALE_DATA right. We really
7997         should kill ftpfs_hint_reread hack soon.
7999         * cmd.c (dirsizes_cmd): report error if you are on non-local
8000         filesystem. (As opposed to silently failing.)
8002 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8004         * screen.c (panel_reload): Set panel->selected to zero here, this
8005         will at least guarantee that we do not try to fetch anything
8006         outside of bounds.
8008         * main.c: The bar2 is gone as well.
8010 Tue Dec  8 19:19:39 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8012         * cmd.c (dirsizes_cmd): Fixed possible buffer overflow
8014 1998-12-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8016         * screen.c (do_enter): Return the value from this.
8018 1998-12-06  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8020         * dir.c (link_isdir): Fetch the information from
8021         file->f.link_to_dir, since we already have it.
8023         * dir.h (file_entry): Removed the `cache' field in this structure,
8024         as it was only used for the deprecated Xview version.
8025         Also, removed the `exists' field, as it was not being used anywhere.
8027         * dir.c: Removed all occurrences of file_entry->cache.
8029         * find.c: Removed all occurrences of file_entry->cache.
8031         * panelize.c: Removed all occurrences of file_entry->cache.
8033         * screen.c (do_enter_on_file_entry): New public function that
8034         implements the functionality in do_enter(), but based on a file
8035         entry rather than on a panel.
8036         (do_enter): Use do_enter_on_file_entry() with the selection of the
8037         panel as an argument.
8039 1998-12-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8041         * cmd.c, tree.c: Updated to the new file.c api.
8043         * file.c: (copy_file_file, copy_dir_dir, move_file_file,
8044         move_dir_dir): Updated to work with the new updating stuff.
8046         * setup.c: New configuration option to compute the totals to be
8047         transfered.
8049         * file.c (compute_dir_size, panel_compute_totals): New routines to
8050         compute the total amount of information that is going to be
8051         transfered.
8053 1998-12-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8055         * ext.h: GNOME edition uses a different set of .ext files.
8057         * lib/mc-gnome.ext.in: New file with GNOME-specific bindings.
8059 1998-12-02  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8061         * GNORBA integration.  We now produce two binaries: gmc and
8062         corba-gmc (that way, I don't interfere with other's work).
8064         * Added prototypes, made private functions static, clean up
8065         various silly warnings.
8067         * main.c (main): Removed crufty init_sigfatal code.
8069         * cmd.c (do_link): More slang dependencies are fixed for the X
8070         ports.
8072         * keys.h (enum): Moved key definitions here.
8074         * tty.h: Move towards slang freedom for the GNOME port.
8076 1998-12-01  Jonathan Blandford  <jrb@redhat.com>
8078         * file.c (panel_operate_generate_prompt): moved from filegui.c
8080 1998-11-30  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8082         * panel.h (WPanel): Added the missing tree/pane/view_table fields
8083         to the Gnome part of the structure.
8085 1998-11-26  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8087         * cons.saver.c (main): Make sure stderr is always valid.
8088         (main): Also check that stderr_fd is not -1.
8090 Wed Nov 25 22:16:19 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8092         * cmd.c (dirsizes_cmd): Quote characters with a special meaning
8093         when passing it to du.
8095 1998-11-23  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8097         * dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
8098         (dlg_key_event): Return 1 if handled the tab key.
8100         * filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().
8102 Sun Nov 22 22:30:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8104         * autogen.sh: replaced "cat *.m4" with a call to aclocal. Concatenate
8105         mc-aclocal.m4 and gettext.m4 to acinclude.m4. The other way round
8106         would have been to add three more m4 files to the replaced cat line
8107         (including cond.m4 from automake-1.3b).
8109         Fixed OBJ_DIR handling.
8111 Sun Nov 15 00:37:58 1998  Pavel Machek  <pavel@bug.ucw.cz>
8113         * mad.c (mad_tempnam): needed wrapper for tempnam added
8115 1998-11-17  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8117         * dlg.c (destroy_dlg): Do not refresh.
8119         * filegui.c: New file.  We keep all of the user interface code for
8120         the text edition in this file now.  This should be a per-GUI port
8121         file.
8123 1998-11-11  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8125         * panel.h (WPanel): Instead of the "#ifdef GNOME" mess in the
8126         WPanel structure, we now have a single opaque pointer to UI data,
8127         called port_ui.  GUI stuff specific to each port should be here.
8128         This is a work in progress.
8130 1998-11-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8132         * setup.c: Removed the icons_snap_to_grid and
8133         want_transparent_{icons,text} options.
8135 Thu Nov  5 12:10:10 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
8137         * file.c (panel_operate): check for null pointer before passing it
8138         to mc_setctl
8140 Wed Nov  4 17:51:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8142         * src/findme.h: added from popt-1.2 by RedHat
8144         * src/Makefile.in: appropriate changes to use new popt
8146 Sun Nov  1 20:59:05 1998  Pavel Machek  <pavel@bug.ucw.cz>
8148         * file.c (erase_file): translated goto into while loop (it is both
8149         shorter AND cleaner)
8151         * subshell.c (feed_subshell): do NOT print anything if we get
8152         errors/eofs from read(subshell) - this fixes (or at least hides)
8153         nasty bug where typing "exit" on mc prompt prints lots of garbage
8154         and falls into infinite loop. Someone with better knowledge should
8155         read feed_subshell(), and make it handle errors properly. (Why do
8156         we ignore EIO for example?)
8158 Sun Oct 18 22:56:17 1998  Pavel Machek  <pavel@bug.ucw.cz>
8160         * view.c: we now rely on sfs to do file decompressing for us. That
8161         has advantage of displaying #ugz at first line, so user knows what
8162         we are doing behind his back
8164         * view.c: fix indentation, fallback to read whole file if mmap fails.
8166 1998-11-01  Federico Mena Quintero  <federico@nuclecu.unam.mx>
8168         * setup.c: #ifdef'ed out stuff in the menus that will get changed
8169         as I rewrite the desktop part.
8171 1998-10-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8173         * layout.c (print_vfs_message): Use g_snprintf instead of
8174         vnsprintf.
8177 1998-10-30  Sung-Hyun Nam  <namsh@lgic.co.kr>
8179         * color.c, slint.c: support transparent background if user use
8180         'default' keyword for background color.
8182 Mon Oct 26 00:31:53 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8184         * configure.in, Make.common.in: Split CPPFLAGS into CPPFLAGS and
8185         MCCPPFLAGS. The last one contains references to variables which are
8186         not available in every Makefile.in (namely intl/Makefile.in). Without
8187         the split `-I ' was passed to the compiler (the compiler on DU 4.0
8188         interprets -I as "don't search include files in /usr/include").
8190 Thu Oct 22 20:41:50 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8192         *  configure.in (subshell): Don't define inline to be empty
8193         when compiling with non-gcc compiler. AC_C_INLINE (invoked in
8194         AM_GETTEXT_GNU) already defines inline if necessary.
8196 Thu Oct 22 20:41:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8198         * panelize.c (do_external_panelize): Not zeroing some fields
8199         in cpanel led sometimes to segfaults.
8201 Thu Oct 22 20:31:17 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8203         * lib/mc.ext.in: *.jar and *.JAR treated like *.zip and *.ZIP
8205 Fri Oct 16 12:10:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
8207         * cmd.c (quick_chdir_cmd): you must check for return code of
8208         do_cd(). (Fixed error for here, but more such bugs are present in
8209         src/ tree. Or maybe move error checking into do_cd?)
8211         * command.c: warn user if he is pressing enter while on non-local
8212         filesystem. (Prev. behavior was fail silently to do anything,
8213         which is _bad_.)
8215 Mon Oct 12 22:47:53 1998  Pavel Machek  <pavel@bug.ucw.cz>
8217         * file.c (copy_file_file): MCCTL_SETREMOTECOPY is no longer used
8219         * file.c (copy_file_file): do_reget is now correctly done using
8220         open()/lseek() pair
8222 Wed Oct  7 22:20:37 1998  Pavel Machek  <pavel@bug.ucw.cz>
8224         * file.c: Ask user if (s)he wants to delete incomplete file
8226 Sun Oct 11 20:21:20 1998  Peter Kleiweg  <kleiweg@let.rug.nl>
8228         * mfmt.c (main): When there are an even number of empty lines
8229         between messages, all goes well, but when the number of empty
8230         lines between messages is odd, the program fails.
8232 Sun Oct 11 20:11:16 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8234         * setup.c: Option ftpfs_use_unix_list_options was saved from
8235         and restored to the wrong variable (ftpfs_use_passive_connections).
8237 Mon Oct  5 21:33:14 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8239         * screen.c (parse_display_format): Don't dereference NULL pointer
8240         when format string is an empty string.
8242 Mon Oct  5 19:59:56 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8244         * main.c (translate_url_to_new_syntax): Translate ftp:// to an
8245         absolute path instead of a relative path (fix to "hotlist" bug
8246         reported by Andrej). This means we drop the "return to last dir"
8247         feature for ftpfs (when leaving ftpfs with ".." returns to the
8248         directory visited before entering the ftpfs).
8250 Sat Oct  3 00:54:23 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8252         * gtkedit/Makefile.in (EDITOBJS): removed one wrong \\ (line
8253         continuation)
8255 Thu Oct  1 18:43:34 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8257         * file.c: Commented out search for egrep because execvp() does
8258         it itself
8260         * utilunix.c: vfs_uid should not be used if VFS is disabled
8262 Tue Sep 29 17:53:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
8264         * main.c: removed stupid reference to {sfs,extfs}_which
8266         * screen.c: fixed highlighting to go for longest match if it does
8267         not find exact match. This is so that it works well with vfs (and
8268         needs _NO_ knowledge about vfs layer).
8270 Tue Sep 29 14:02:56 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
8272         * layout.c (print_vfs_message): fixed buffer overrun by
8273         vsnprintf. Unfortunately I have no clue how to do this portably.
8275 Tue Sep 29 11:42:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8277         * setup.c: Corrected code which prevents using icon view by
8278         ports which don't support it
8280 Mon Sep 28 21:55:13 1998  Norbert Warmuth  <nwarmuth@privat.circular.de>
8282         * find.c: Changed hotkey of the continue-button (both Chdir and
8283         Continue used `C').
8285         * Makefile.in: search config.status in builddir and not in rootdir,
8286         i.e. make it compile for builddir != srcdir
8288 Wed Sep 23 14:06:44 1998  Pavel Machek  <pavel@atrey.karlin.mff.cuni.cz>
8290         * src/file.c: Made file.c use new O_LINEAR mode (so copying from
8291         ftp works nicely, again)
8293 Fri Sep 18 14:15:43 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8295         * src/mad.c: All messages are sent to stderr and terminate with \r\n
8297         * src/hotlist.c: Harmless memory leak fixed
8299         * xv/Makefile.in, xv/xvmain.c, xv/xvscreen.c: Minor fixes to
8300         make compilation of the XV port possible (currently without
8301         viewer).
8303 Thu Sep 17 07:32:23 1998  Norbert Warmuth  <k3190@fh-sw.de>
8305         * Makefile.in: After creating symlinks invoke another instance of
8306         make to build libvfs.a. Otherwise make will not know how to build
8307         the object files if symlinks have been created.
8308         Added target cleansourcelinks (invoked with make distclean).
8310 Tue Sep 15 22:41:24 1998  Paul Sheer  <psheer@obsidian.co.za>
8312         * edit.c, editwidget.c, gtkedit.c: fixed segfault when trying to
8313         edit a non-file under gmc.
8315 Tue Sep 15 21:52:00 1998  Norbert Warmuth  <k3190@fh-sw.de>
8317         * mc.hlp, doc/mc.1.in, doc/mc.sgml: updated my EMail address
8319 Tue Sep 15 20:51:42 1998  Norbert Warmuth  <k3190@fh-sw.de>
8321         * setup.c: save and restore new global variable/option
8322         ftp_use_unix_list_options
8324 Tue Sep 15 01:02:34 1998   Paul Sheer  <psheer@obsidian.co.za>
8326         * gtkedit: Directory added. This directory contains all the editor
8327         code modified to work with gnome. Mcedit now works properly under
8328         gnome with a slightly reduced set of features.
8330         * gscreen.c gscreen.h screen.c: Modified to respond to F4 on a file
8331         and start the new gtkedit internal editor.
8333 1998-09-14  Norbert Warmuth  <k3190@fh-sw.de>
8335         * file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
8336         <zx80@demo.ru> (losing files when moving directories cross filesystem
8337         boundaries): make sure erase_list is emptied always not only when we
8338         deleted files.
8340 Sat Sep 12 02:59:43 1998  Timur Bakeyev  <mc@bat.ru>
8342         * screen.c: Xtry_to_select() Remove extfs hack to the main.c. Change
8343         for() cycle to the x_basename() call (Thanks to Pavel Roskin).
8344         Add (key_callback) do_enter() to prevent warnings.
8346         * main.c: Rename cd_try_to_select() to the get_parent_dir_name(). Now
8347         it process VFS postfixes too. Reduced number of loops against prev hack.
8349 Fri Sep 11 15:27:59 1998  Pavel Machek  <pavel@ucw.cz>
8351         * screen.c: make cd .. from extfs file highlight it
8353 Tue Sep  8 13:10:32 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8355         * autogen.sh: Don't destroy aclocal.m4 if "macros" directory
8356         is missing
8358         * layout.c: Use stdout instead of stderr in set_hintbar()
8360 Mon Aug 31 12:40:29 1998  Pavel Machek  <pavel@ucw.cz>
8362         * cmd.c: added view_file_cmd which asks user which file to view -
8363         _very_ useful with vfs (now you can browse web with mc: try
8364         /#url:http:||atrey.karlin.mff.cuni.cz|~pavel#uhtml)
8366 Thu Aug 27 19:52:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8368         * Make.common.in: Don't define VERSION anymore
8370         * configure.in: this is the right place for VERSION definition
8372         * acconfig.h: does not include file "VERSION" anymore
8374         * config.h.in: rebuilt by autoheader
8376         * VERSION: removed from CVS and added to .cvsignore since it
8377         is rebuilt every time as configure is run
8379 1998-08-20  Raja R Harinath  <harinath@cs.umn.edu>
8381         * mad.h: Include stdlib.h/malloc.h first, to prevent prototypes
8382         from being clobbered by the subsequent macro defines.
8384 Wed Aug 12 15:56:46 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8386         * edit.h: added "../" before some includes to avoid unnecessary
8387         "-I" options for the PC port makefiles.
8389 Sun Aug  9 22:39:12 1998  Janne Kukonlehto  <jtklehto@paju.oulu.fi>
8391         * mad.h (calloc): Added parentheses around the arguments as
8392         suggested by Steef Boerrigter <sxmboer@sci.kun.nl>.
8394 Fri Jul 31 09:04:35 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8396         * syntax.c: makefile* will be highlighted as Makefile*
8398 1998-07-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8400         * main.c (translated_mc_chdir): Quick hack to make the old
8401         url-like pathnames to be used on the command line.
8403 1998-06-22  T.E.Dickey  <dickey@clark.net>
8405         * keyxdef.c: Fix for compiling with ncurses.
8407 Fri Jul 24 00:44:37 1998  Tom Tromey  <tromey@cygnus.com>
8409         * mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
8410         * autogen.sh: Include linger.m4 in aclocal.m4.
8411         * Makefile.in (GNOME_M4_FILES): Include linger.m4.
8413 Thu Jul 23 22:44:16 1998  Tom Tromey  <tromey@cygnus.com>
8415         * Makefile.in (aclocal.m4): Depend on all source files.  Include
8416         gnome-vfs.m4 and gnome-undelfs.m4.
8417         (GNOME_M4_FILES): New macro.
8418         * autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
8419         aclocal.m4.
8420         * configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
8421         macros instead of in-line checks.  Create vfs/Makefile from
8422         vfs/Make-mc.in.
8424 Thu Jul 23 19:49:12 1998  Pavel Roskin  <pavel_roskin@geocities.com>
8426         * hotlist.c: corrected layout of the warning which appears
8427         if ~/.mc doesn't exist. Appropriate changes in translations.
8429 Wed Jul 15 00:41:01 1998    Paul Sheer  <psheer@obsidian.co.za>
8431         * edit.c, editwidget.c,            * syntax.c: Syntax
8432         editdraw.c, editmenu, editcmd.c:   highlighting for Pascal
8433         Added column text highlighting     added.
8434         and block movements.
8436 1998-07-04  Carsten Schaar  <nhadcasc@fs-maphy.uni-hannover.de>
8438         * main.c (main): 'session_management_setup' will be called after
8439         'gnome_init'.
8441 Wed Jun 18   Pavel Machek  <pavel@ucw.cz>
8443         * i18n.h: we do not want i18n in case of compiling standalone
8444         libvfs.so.
8446 Fri Jun  5 23:34:20 1998  Timur I. Bakeyev  <timur@comtat.kazan.ru>
8448         * screen.c (file_entry_color): take care about BSD core dumps
8449         which have names program.core instead of core
8451 Mon Jun  1 15:41:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
8453         * main.c (translate_url_to_new_syntax): translate the common
8454         ftp url syntax to the syntax used by the new vfs code.
8456         (_do_panel_cd): First translate the path if necessary. This makes
8457         it possible to enter ftp://host on the command line and in the
8458         directory hotlist. We might need to move the translation code
8459         to the vfs layer if there are other places where we want to enter
8460         ftp://host.
8462 Mon Jun  1 12:33:08 1998  Alexander V. Lukyanov  <lav@yars.free.net>
8464         * configure.in: allowed to use `configure --with-included-gettext'
8465         on systems (like solaris) that have their own libintl
8467 1998-05-31  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8469         * complete.c (filename_completion_function): Use the vfs routines
8470         for name completion.
8472 1998-05-31  Jakub Jelinek  <jj@ultra.linux.cz>
8474         * complete.c (complete_engine): Fix completions.
8476 Sun May 31 10:23:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
8478         * key.c (define_sequence): If a sequence clashes the last
8479         definition made will be used. This makes it possible to override
8480         wrong definitions in terminfo/termcap database with learn keys (or
8481         the appropriate entries in mc.lib and ~/.mc/ini).
8483         * widget.c (show_hist): Don't display the listbox partly
8484         off screen (the left panel's history started in column - 2).
8486         * keyxdef.c: include tty.h instead of myslang.h as suggested by
8487         Tamasi Gyorgy <gt_cosy@usa.net>
8489 Fri May 29 15:41:19 1998  Alexander V. Lukyanov  <lav@yars.free.net>
8491         * widget.c (update_input): this patch allows entering 8-bit
8492         characters in input fields without screwing attributes. (the
8493         same old sign extension...)
8495 Wed May 27 22:23:48 1998  Ed Cogburn  <ecogburn@greene.xtn.net>
8497         * lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
8498         program from ncurses 4.2 doesn't like the xterm.ti file that comes
8499         with mc.
8501 Wed May 27 15:29:01 1998  Alexander V. Lukyanov  <lav@yars.free.net>
8503         * key.c (get_key_code): characters with high bit set were input
8504         as 0x80 char when use_8th_bit_as_meta was set
8506 1998-05-25  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8508         * ext.h (MC_USER_EXT): New name for the per-user extension file
8509         (this needs redoing to concatenate this + the system stuff instead
8510         of the overwrite stuff we have now).  Now it is called the ~/.mc/ext-n
8512 Mon May 25 23:32:35 1998  Norbert Warmuth  <k3190@fh-sw.de>
8514         * editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
8515         to make it compile with ncurses. Syntax highlighting in the
8516         internal editor is already disabled when SLang isn't used.
8518 1998-05-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8520         * widget.c (port_region_marked_for_delete): New per-port
8521         piece of code:  Provides a way for good selection killing.
8523 Sun May 24 02:45:03 1998  Norbert Warmuth  <k3190@fh-sw.de>
8525         * utilunix.c, util.h (errno_dir_not_empty): deleted
8527 Sat May 23 22:29:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
8529         * file.c (check_dir_is_empty): New function which takes a path and
8530         returns -1 on error, 1 if there are no entries besides "." and
8531         ".."  in the directory path points to, 0 else. This function
8532         actually opens and reads the directory and doesn't do tricks we
8533         used to do with rmdir.
8535         * file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
8536         to detect non empty directories. The old code tried to remove the
8537         directory and decided on errno whether the failure of rmdir was
8538         caused by a non empty directory or whether there was a different
8539         error.
8540         Unfortunately not every filesystem sets errno to EDIRNOTEMPTY if
8541         you try to delete a non empty directory. Namely the linux user
8542         space nfs server sets errno to EIO, Suns nfs server sets it to
8543         EEXIST and the AIX nfs server sets it to ??? (Steve reported
8544         problems on AIX so I guess AIX sets errno to a value we currently
8545         don't check).
8547 1998-05-18  Tamasi Gyorgy (gt_cosy@usa.net)
8549         * lib/mc.menu: 'Z' on 'tar.Z' and 'tar.z' files: '%f' -> '$1'.
8551         * lib/mc.ext.in.qnx.diff, lib/mc.menu.qnx.diff (QNX): modified
8552         'mc.ext.in' (tar -t: output to stderr); modified 'mc.menu' (tar is
8553         not GNU tar: doesn't know '-z'); support for '*.tar.F':
8554         'freeze'-compressed tar files [No automatic configure/install
8555         implemented: patches must be applied before running 'configure'
8556         (mc.ext.in.qnx.diff: this patch can be not only QNX-specific...)]
8558         * lib/Makefile.in: 'mc.ext.in.qnx.diff' and 'mc.menu.qnx.diff' added
8559         to DISTLIB.
8561         * slang/sldisply.c:
8563           SLTT_TRANSP_ACS_PATCH dependent code:
8565           The problem: some terminals (QNX/qansi*, SCO OS5/ansi [?]) map the
8566           whole upper half of the ASCII table to the lower half, when
8567           alt-char-set is activated with the smacs/as string-sequence. This
8568           means, that if 0 <= ch < 128 written to the terminal, it will be
8569           translated to (ch+128) automatically by the terminal: so not only
8570           the line-drawing characters can be written, when the alt-char-set
8571           is activated. It implicitly means, that space, NL, CR, etc.
8572           characters (exactly: anything besides the "standard" line drawing
8573           characters) can not be written directly to the terminal, when the
8574           alt-char-set is activated, because writing these characters
8575           doesn't cause an implicit/temporary switching-back to the standard
8576           char-set!
8578           The original code in SLang assumes that space, NL, CR, etc. can be
8579           printed when alt-char-set is activated. If SLTT_TRANSP_ACS_PATCH
8580           is defined, the modified code will not use this assumption.
8581           [Remark: the patch-code is not the most exact solution, but
8582           works...]
8584           QNX_QANSI_SLANG_COMPAT_ACS_PATCH dependent code:
8586           A more OS/terminal-specific solution for the problem mentioned
8587           above (->SLTT_TRANSP_ACS_PATCH).
8589           If QNX_QANSI_SLANG_COMPAT_ACS is defined, the default smacs/sa,
8590           rmacs/ae, acsc/ac [and sgr/sa, if it would be used!] command
8591           sequences will be replaced internally with the "old style"
8592           (pre-QNX 4.23) sequences in case of QNX/qansi terminals. Using
8593           these optional command sequences the terminal remains compatible
8594           with the original SLang code (without using the workaround-code
8595           enabled by defining SLTT_TRANSP_ACS_PATCH).
8597           Remark:
8599           Currently SLTT_TRANSP_ACS_PATCH is not auto-configured by
8600           'configure'. (Must be manually defined...)
8602           There is some (QNX-specific) auto-configuration hand-coded in the
8603           source:
8605             #ifdef SLTT_TRANSP_ACS_PATCH
8606             # if defined(__QNX__) && defined(QNX_QANSI_SLANG_COMPAT_ACS)
8607             #  undef SLTT_TRANSP_ACS_PATCH
8608             # endif
8609             #else
8610             # if defined(__QNX__) && !defined(QNX_QANSI_SLANG_COMPAT_ACS)
8611             #  define QNX_QANSI_SLANG_COMPAT_ACS 1
8612             # endif
8613             #endif
8615         * slang/slutty.c: "newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);"
8616         ECHO(0x08) is a c_lflag bit, it means PARMRK(0x08) in c_iflag. (!?!)
8618         * src/file.c: 'do_reget' can be extern if (USE_VFS && USE_NETCODE),
8619         not if (USE_VFS).
8621         * src/find.c (search_content()): Variable 'i' "must be" 'int', not
8622         'char'. ["i == -1": (buggy?) WCC 10.6 doesn't convert automatically
8623         (int)(-1) to (char)(-1) (GCC does), so "comparison result always 0"
8624         warning produced. It is cleaner to define 'i' as 'int', than cast
8625         '-1' to 'char', because 'read()' returns 'int'.]
8627         * src/key.c (init_key()): Call load_xtra_key_defines() and clear
8628         'use_8th_bit_as_meta' by default under QNX, if a 'qnx*' terminal
8629         detected. (A saved config file (mc.ini) can override it later...)
8631         * src/key.h: Declare load_xtra_key_defines().
8633         * src/keyxdef.c: Provides a method to define some platform-specific
8634         additional key mappings. (e.g. QNX terminals can handle most of
8635         META-? combinations as ALT-?...) ('keyxdef.c' currently not listed
8636         in doc/FILES...)
8638         * src/layout.c: TIOCGWINSZ must be available (so <sys/ioctl.h> (?)
8639         included), because window-resizing code doesn't work, if not defined.
8641         * src/main.c: 'print_usage()' is reserved name in the QNX run-time
8642         library, so 'print_usage()' renamed to 'print_mc_usage()'
8644         * src/mouse.c (QNX): ncurses 1.9.8a ported to QNX doesn't provide the
8645         'SP' pointer as a global symbol in the library, so the keyok()
8646         emulation currently can not be used under QNX (4.24 & Watcom C 10.6
8647         release version).
8649         * src/slint.c (QNX): 'qansi*' terminals added to the color_terminals[]
8650         list.
8652         * src/subshell.c, src/utilunix.c (QNX): include <unix.h> to get
8653         prototype for exec*()!!! [See README.QNX/Section 1.4 about the
8654         dangerous "No prototype for <function>" warnings emitted by Watcom C,
8655         if <function> is a 'printf()'-style function having variable number
8656         of arguments and you compile your source with the default register
8657         calling convention!!!]
8659         * Makefile.in: 'keyxdef' module added to SRCS and OBJS.
8661         * <mc-root>/README.QNX: QNX-specific notes.
8663         * <mc-root>/configure (line 3369), <mc-root>/configure.in (line 88):
8664         'test x$CCOPTS = x;' modified to 'test "x$CCOPTS" = x;'
8666         * <mc-root>/Makefile.in: README.QNX added to DISTMAIN.
8668 Thu May 21 00:09:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
8670         * menu.c (menubar_event): Don't set menubar->selected to the
8671         invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt
8673         * menu.c (menubar_drop_compute): removed the check for inrange
8674         items which isn't necessary any longer.
8676 Wed May 20 16:27:56 1998  Norbert Warmuth  <k3190@fh-sw.de>
8678         * widget.c (history_put): input line history was defunct because
8679         there was an #ifndef where an #ifdef should be.
8680         Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
8681         history code is included even when this define is undefined.
8683 1998-05-19  Tamasi Gyorgy  <gt_cosy@usa.net>
8685         * src/*: Until I get a better ChangeLog:  Tamasi's port of the
8686         code to QNX.
8688 1998-05-19  Alexander Lukyanov  <lav@yars.free.net>
8690         * Makefile.in: Distribution fix so that people are not forced to
8691         install gettext.
8693 1998-05-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8695         * ext.c: Memory leak fixed.
8697 Mon May 18 22:24:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
8698         * lib/mc.ini.in: s/reges/regex/
8700         * main.c (process_args): return void, the return value was only
8701         used once but wrong (-h displayed help twice).
8702         (handle_args): -h: don't display help twice
8703         (print_usage): Don't print program name and version, that's
8704         already done by version(0).
8706         * menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
8707         terminals (hotkeys were not displayed at all).
8709 1998-05-18  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8711         * menu.c (menubar_drop_compute): Check for inrange items.
8713 1998-05-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8715         * color.c (init_colors): Provide X-only version of color
8716         initialization.
8718 Thu May 14 01:56:11 1998  Norbert Warmuth  <k3190@fh-sw.de>
8720         * configure.in: Don't add -lintl to LIBS when included gettext is
8721         used (further checks for libraries would fail because libintl.a
8722         isn't build, yet). Instead use and substitute LINTL.
8724         * Makefile.in (OURLIBS): add @LINTL@
8726 Tue May 12 17:45:49 1998  <psheer@obsidian.co.za>
8728         * syntax.c: yet more minor modifications.
8730 1998-05-11  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8732         * main.c: New default: auto-save setup.
8734         * screen.c (move_right, move_left): Add support for icon-view movement.
8736 1998-05-09  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8738         * setup.c (panel_load_setup): On non-icon editions, fall back to
8739         list_full
8741 Sun May 10 13:27:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
8743         * widget.c (handle_char): Don't try to to delete default text in
8744         input widget more than once. Right after MC's start copy_filename
8745         (ESC Enter) failed because a flag wasn't cleared while characters
8746         were stuffed into the command line (Andrej reported this bug).
8748         * main.c (copy_readlink): usr mc_readlink instead of readlink
8750         * file.c: Changed default for the copy/move option "dive into
8751         subdir if exists" to off (note: this was only possible after the
8752         change in setup.c).
8754         (copy_dir_dir): Activated the previously uncommented code which
8755         implements "Dive into subdirs". Even when there's no case where we
8756         actually would like that behavior it is a documented feature.
8757         Though I didn't want to change the default behavior. Hence the
8758         option change.
8760         (file_mask_defaults): set dive_into_subdirs
8762         (file_mask_dialog): Fix for debian Bug #20727: Move operation with
8763         "[ ] Dive into subdir if exists" and destination filename not
8764         wildcarded. If destination is an existing directory then files
8765         will be moved into this directory. If destination is not an
8766         existing directory then src file will be renamed (one file
8767         selected) or an error will be displayed (more than one file
8768         selected).
8770         (file_mask_dialog): made the option "Using shell patterns" local
8771         to the current copy/move operation, i.e. this option is always
8772         initialized with the global option's value. Previously it affected
8773         the global Options/Configuration/shell Patterns.
8774         Another possibility would be to make the global option a default
8775         option on startup and keep changes in the copy/move dialog
8776         (without saving these changes with save setup).
8778         * setup.c: Don't save and load options which can be changed
8779         outside the options menu. For example I don't like that
8780         preserve_uid_gid and dive_into_subdirs from the copy/move dialog
8781         are saved and restored (strange, what about the other options from
8782         this dialog?).
8783         It would be much cleaner to make these option read-only. This way
8784         one could edit ~/.mc/ini to provide default option setting on
8785         startup and "Save setup" wouldn't have side effects outside the
8786         option's menu.
8788 Sun May 10 13:24:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
8790         * doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
8791         for dive into subdirs.
8793 Sun May 10 13:21:45 1998  Norbert Warmuth  <k3190@fh-sw.de>
8795         * edit/syntax.c: Disable debug messages on stderr.
8797         * edit/edit.h: Added missing _()
8799 1998-05-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8801         * layout.c (flag_winch): Propagate the window change to the slave
8802         pty even when not running our event loop.  The resize_subshell
8803         routine is thread safe.
8805         * dlg.c (update_cursor, dlg_broadcast_msg_to): Do not send
8806         messages if no widgets are on the Dlg_head, this happens now with
8807         the gmc code, as we can have all of the windows shut down.
8809 Wed May  6 13:46:37 1998 Paul Sheer  <psheer@obsidian.co.za>
8811         * syntax.c: more bug fixes.
8813 1998-05-04  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8815         * view.c (view_quit_cmd): Use dlg_stop.
8817         * main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
8818         key press events.  Drop the usage of mi_getch to accomplish this
8819         task.
8820         (midnight_callback): Deal with the current map depending on the
8821         c-x state.
8823 Mon May  4 10:21:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
8825         * background.c (message_1s1d): the unprocessed string with %d was
8826         passed to message_1s; fixed small memory leak
8828         * widget.c (button_callback): WIDGET_CURSOR: make cursor position
8829         dependent on button type (fixes the off by one bug in advanced
8830         changeown).
8832         * file.c (copy_file_file): Schedule deletion of short target file
8833         only when we created or truncated the target file and not already
8834         when we decided to overwrite an existing file.
8836 1998-05-03  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8838         * boxes.c (task_cb): Use kill, not INT, as we are catching INT in
8839         the program.
8841 Sat May  2 14:07:05 1998 Paul Sheer  <psheer@obsidian.co.za>
8843         * setup.c: ALT('H') now shows a directory history - that
8844         ESC SHIFT-h   or   ALT-SHIFT-h
8846 Fri May  1 17:45:58 1998 Paul Sheer  <psheer@obsidian.co.za>
8848         * syntax.c: initial support for LaTeX 2.09 files added,
8850         * syntax.c: some minor bug fixes. and reorganization
8851         of context and keyword priorities.
8853 Fri May  1 11:24:21 1998  Paul Sheer  <psheer@obsidian.co.za>
8855         * syntax.c: syntax highlighting segfaults when editing a binary
8856         file - now fixed.
8858 Thu Apr 30 12:23:50 1998 Alex Tkachenko  <alex@bcs.zp.ua>
8860         * src/file.c: lot of i18n of file Copy/Move/Delete operations. Maintainers
8861         of message catalogs please notice introduced op_names1 and formats for
8862         file operations.
8864         * src/boxes.c: i18n of background jobs control and quick cd
8865         dialog boxes.
8867         * src/menu.c (menubar_arrange): resizing of menubar upon changes of
8868         window size is now controlled by preprocessor symbol RESIZABLE_MENUBAR
8869         (now it's off by default, as requested in mailing list). If it is off,
8870         menubar items are separated with fixed number of spaces (3).
8872         * src/layout.c, edit/editwidget.c: calls to menubar_arrange ifdef'ed
8875 1998-04-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8877         * main.c (parse_an_arg): GNOME edition keeps track of various
8878         --geometry and various directories passed.
8880 1998-04-29  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8882         * main.c (update_panels): Great API simplification.  update_panels
8883         only cares about the contents of the current panel, every other
8884         panel keeps the current selection (this was the behavior
8885         anyways).
8887         update_panels can be provided in a per-port fashion as well.
8889 Wed Apr 29 03:06:09 1998  Paul Sheer  <psheer@obsidian.co.za>
8891         * syntax.c: some optimizations, as well as support for
8892         syntax highlighting of Makefiles and ChangeLog files.
8893         Fixed some syntax highlighting bugs. All C and C++
8894         keywords added.
8896 Tue Apr 28 06:11:08 1998  Norbert Warmuth  <k3190@fh-sw.de>
8898         * view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
8899         of bottom_first (we mustn't use an already calculated and cached
8900         value because it is invalid for the new mode and the End key would
8901         not move to the end of the file).
8903         * configure.in: Renamed the option `--with-our-slang' to
8904         `--with-included-slang' (this one looks better because we also
8905         have an `--with-included-gettext').
8906         Make the option `--with-ext2undel' recognize a given path.
8908         * cmd.c (view_file_at_line): In plain view (F13) set the default
8909         magic flag to zero in order to view the file content unprocessed
8910         (esp. don't uncompress files if they are compressed). The
8911         view_simple_cmd got broken when the default magic flag in view.c
8912         was changed from 0 to 1.
8914         * view.c (do_view_init, goto_line): Set wrap mode temporary off
8915         to make goto line number work, i.e. `line number' now always means
8916         line number in file and not line number on screen (in wrap mode
8917         one long line wrapped once is displayed in two lines on the screen).
8918         That's important when the viewer is invoked from the find file
8919         dialog to display even in wrap mode approximately the part of the
8920         file where we found the content we searched for.
8922         (move_forward2): In wrap mode lines were sometimes counted wrong
8923         causing cursor up to move more than one line.
8925         (move_backward2): Fixed the movement in wrap mode.
8927         (change_viewer): Always re-init viewer when we have a filename,
8928         i. e. if the viewer is invoked with simple_view_cmd then we can switch
8929         with the F8 key between unprocessed file content and uncompressed
8930         file content.
8931         (view_init): re-init view also when magic flag was altered
8933 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8935         * screen.c (is_a_panel): Added a routine to determine if a widget
8936         is a panel.
8938 1998-04-27  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8940         * screen.c (file_entry_color): Check if fe->fname has something.
8942 Sun Apr 26 00:21:12 1998  Norbert Warmuth  <k3190@fh-sw.de>
8944         * slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
8945         to make it link against SLang >=1.0.
8946         I reviewed the diffs to the part of SLang we use and there are no
8947         further changes to MC necessary (one function's return value
8948         changed it's meaning but we don't use this return value).
8950         * configure.in: Undone the change which prevented linkage against
8951         SLang >=1.0
8953 Sat Apr 25 13:41:43 1998  Paul Sheer  <psheer@obsidian.co.za>
8955         * edit.h, syntax.h: some optimizations to improve syntax
8956         highlighting speed.
8958 1998-04-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8960         * color.h: Move the CTYPE definition
8962 Fri Apr 24 16:43:25 1998  Paul Sheer  <psheer@obsidian.co.za>
8964         * main.h, setup.c: editor_syntax_highlighting option added
8965         for ini file.
8967 Fri Apr 24 14:54:06 1998  Paul Sheer  <psheer@obsidian.co.za>
8969         * syntax.c: added. this files reads ~/.cedit/mcsyntax and
8970         processes generic rules for syntax highlighting of different
8971         file types. Syntax highlighting does not store an attribute byte
8972         for each byte of the edit buffer. Rather, it calculates colors
8973         on the fly, with an optimized algorithm, as the text is being
8974         rendered.
8976         * edit.c, edit.h, editwidget.c, editdraw.c: changes to facilitate
8977         syntax highlighting.
8979         * editoptions.c: dialog box updated with a syntax highlighting
8980         checkbox.
8982         * slint.c: new function alloc_color_pair(). This allocates a new
8983         color index. init_pair() itself now records the last color index
8984         so that colors can be added on to the end of the color list
8985         with alloc_color_pair().
8987         * slint.c: new function try_alloc_color_pair() returns a new index
8988         for a color with named fg and bg. Checks if that named color
8989         already exists before setting a new index.
8991 1998-04-23  Miguel de Icaza  <miguel@nuclecu.unam.mx>
8993         * user.c (execute_menu_command): Create temporary file exclusively
8994         as well.
8996         * main.c (do_execute), utilunix.c (my_system), gutil.c, ext.c:
8997         Changed the way we execute programs.  Now a new set of flags exist
8998         that indicates how the execution is done.  In ports that execute
8999         by sending the process to background, when executing temporary
9000         files, we have to remove the files after the child process has
9001         finished executing the code not after the calling do_execute.
9003         * ext.c (exec_extension): Create temporary file exclusively.
9005 Mon Apr 20 01:32:20 1998  Norbert Warmuth  <k3190@fh-sw.de>
9007         * configure.in: Don't try to link MC against SLang >= 1.0. I will
9008         remove this restriction when I'm sure that it's save to use the new
9009         version (the documentation to SLang mentions some changes of
9010         return values).
9012 1998-04-16  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9014         * file.h: Added prototype for copy_dir_dir.
9016         * file.c (real_do_file_error): use the proper flags, this is not a
9017         D_INSERT dialog box, for what it is worth.  Important bug fix.
9019         * utilunix.c (get_owner): Declare.
9021         * widget.h: Added various missing prototypes for the X edition.
9022         * view.h: Added various missing prototypes for the X edition.
9023         * widget.c (x_radio_toggle): New per-port variable: PORT_HAS_RADIO_TOGGLE
9025 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9027         * screen.c (GT): Assign two spaces for the minimum size of the
9028         "type" field for the GNOME edition.  This gives some extra space
9029         for the icon that gets displayed.
9031         * dlg.c (remove_widget): New function:  used to remove a widget
9032         from an existing Dlg_head;
9033         (destroy_widget): Destroy a specific Widget.
9034         (add_widgetl): Extended to deal with the fact that a running
9035         Dlg_head can become empty.
9037         * panelize.c (l_call): Update the input line every time the user
9038         selects the entry with the mouse (pretty common in the gnome
9039         edition).
9041         * hotlist.c (add_new_group_input): Removed an extra field that was
9042         causing problems.
9044         * find.c (find_parameters): Tree button is gone for gnome until we
9045         get the tree function working on gnome.
9047         * cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
9048         dialog box to inform the user about the saved setup.
9050 1998-04-15  Pavel Machek  <pavel@elf.ucw.cz>
9052         * cmd.c: Report failed chdir attempts.
9054 Wed Apr 15 10:48:41 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9056         * src/hotlist.c: changes to hotlist boxes i18n.
9058         * src/panelize.c: changes to panelize boxes i18n.
9060         * src/wtools.c (query_dialog): Take care about possible '&' in
9061         button names while calculating window sizes and button positions.
9063 1998-04-15  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9065         * screen.c (string_file_nlinks): The buffer was too small and we
9066         were overwriting parts of it.
9068         * subshell.c (do_subshell_chdir): Memory leak fix.
9070         * find.c (do_search): Do not use undefined order of evaluation.
9072         * user.c: Do not use undefined order of evaluation.
9074         * dlg.c (init_dlg): Do init the default return value.
9076 Sun Apr 12 03:09:17 1998  Norbert Warmuth  <k3190@fh-sw.de>
9078         * cmd.c (view_other_cmd): #ifdef'd application_keypad_mode and
9079         numeric_keypad_mode (don't include it in non text editions)
9081 Sun Apr 12 02:48:26 1998  Norbert Warmuth  <k3190@fh-sw.de>
9083         * xv/xvscreen.c: removed duplicate (conflicting) definition
9084         of do_enter()
9086 Sun Apr 12 02:24:57 1998  Norbert Warmuth  <k3190@fh-sw.de>
9088         * text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
9089         the keypad mode when we don't use the alternate plus minus. Pavel
9090         forgot an if-clause when he replaced the escape sequences (or
9091         another point of view: I forgot one if-clause at different place).
9093 Fri Apr 10 17:35:23 1998  Philippe De Muyter  <phdm@macqel.be>
9095         * configure.in (AC_NCURSES): When checking for library location,
9096         put -L option before -l option, not after.
9098 Fri Apr 10 10:35:06 1998  Norbert Warmuth  <k3190@fh-sw.de>
9100         * file.c (file_mask_dialog): When the shell patterns option was
9101         off source_mask was freed twice.
9103 1998-04-10  Marc Ewing  <marc@redhat.com>
9105         * panel.h: added up_b
9107 1998-04-08  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9109         * widget.c (update_input): Set the used flag early in update_input
9110         to allow X widget to catch the right value
9112         * screen.c (do_enter): Return the status for the operation.
9114         * main.c (main): Sigh.  This was hard. I added support for argp.
9115         Right now we support both argp for the GNOME edition and popt for
9116         the other editions.  I will remove popt support in the future and
9117         only keep argp.
9119         * dlg.c (add_widgetl): Adding widgets to an already running dialog
9120         had some flaws.  Fix this.
9122 Wed Apr  8 11:15:29 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9124         * src/find.c: changes to find_parameters/find_file i18n.
9126         * src/widget.c: new function introduced, button_scan_hotkey();
9127         button_new() and button_set_text() fixed to use mentioned function.
9129         * src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
9130         ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
9131         call to isalpha() in the way proposed by Norbert).
9133         * src/boxes.c: changes to display box i18n
9135         * src/learn.c: changes to learn key dialog i18n
9137 1998-04-07  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9139         * main.c (update_one_panel_widget): New routine: Updates a panel
9140         based on the widget, not the index.  Used by the GUI versions.
9142         * find.c (find_file): Cancel idle tasks before we destroy the find
9143         dialog.
9145         * dlg.c (destroy_dlg): Call x_destroy_dlg_start, a new hook that
9146         is invoked to allow the frontend code to prepare for dialog
9147         destruction.  Only the Gnome edition is using this: it uses this
9148         to hide the dialog and avoid flickering.
9150         * main.c: dtterm also has mouse support.
9152 1998-04-06  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9154         * wtools.c (quick_callback): Process DLG_KEY events on X.
9156         * utilunix.c (max_open_files): new routine;  Used to figure out
9157         the number of available file descriptors.
9159 Sat Apr  4 00:16:49 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9161         * src/layout.c: changes to layout dialog box i18n
9163         * src/option.c: changes to configure box i18n
9165         * src/cmd.c: added N_() macro for machine_str
9167         * src/wtools.c (real_input_dialog_help): ok/cancel buttons are places
9168         symmetrically spaced relatively to center of the box. It produces
9169         nicer appearance with i18n (IMO :)
9171         * src/boxes.c (confirm_box): i18n stuff added.
9173 Mon Apr  6 07:48:22 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9175         * Makefile.in: "make dist" works with bash 1.x again
9177 Fri Apr  3 05:23:20 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9179         * configure.in: ALL_LINGUAS test added, to allow specify list
9180         of languages to be installed by setting env variable before
9181         configure. If it is empty, it defaults to full list.
9183         * src/menu.h menu_entry.{hot_pos, is_dupped} dropped
9185         * src/menu.c: consistency fixes: pull-down menu items are now
9186         accessible either with arrow keys or with hotkeys, denoted with &
9187         (and highlighted). (key combinations, placed to the right of items
9188         intended to be used from outside the menus). Freeing menu entries
9189         removed as it no longer needed
9191         * src/main.c, edit/editmenu.c: menubar init code is changed to conform
9192         above fixes.
9194         * edit/edit.h: use of "Cancel" in error_dialogs replaced with
9195         "Dismiss", to avoid collisions in translation of "Cancel" in other
9196         places with this case.
9198         * src/boxes.c: select_format() and it's support removed, as it is
9199         obsoleted by input line history feature. display_init()/display_callback
9200         fixed to suite i18n changes. sort_box() - alike.
9202         * src/option.c: pause_options added &'s and gettext calls to expand
9203         statically assigned values.
9205         * src/widget.c: (radio_callback) hotkey recognition is changed to
9206         &-notation, rather than simple uppercase.
9208         * src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
9209         call to isalpha(), this fixes erroneous exit from input line, when
9210         button hotkey is 8-bit NLS char.
9212 Fri Apr  3 12:23:28 1998  Norbert Warmuth  <k3190@fh-sw.de>
9214         * TODO: Removed obsolete entries: Similar entries in tree view
9215         are displayed correct; user specific files has been moved
9216         to ~/.mc/
9217         Added: Check what to do with menubar_arrange/destroy_menu stubs
9218         in tk/tkmenu.c; the internal editor (not ported yet) adds entries
9219         to the wrong menubar
9221 Wed Apr  1 00:15:30 1998  Norbert Warmuth  <k3190@fh-sw.de>
9223         * key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
9224         functions which encapsulate two hardcoded escape sequences from main.c.
9226         * main.c (main): Use the two new functions from key.c
9228         * main.c, screen.c: Moved all file selection keys from the default
9229         keymap to the keymap for panels in listing mode.
9230         Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
9231         (functions in panel_keymap get a WPanel * as first parameter,
9232         i.e. the indirection with cpanel isn't necessary).
9234         * main.c (midnight_callback): Keys '*' and '-' were not treated
9235         when only_leading_plus_minus==0;
9236         Optimized the if-clauses a little bit (i.e. removed duplicate
9237         checks). More optimization is possible but it would make the whole
9238         stuff completely unreadable.
9240         * key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
9241         will be translated to +, - and * only if the option
9242         alternate_plus_minus is turned off.
9244         * learn.c (learn_keys): Turn alternate_plus_minus temporarily on
9245         to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
9246         correct_key_code/make sure keypad is in application mode (makes it
9247         possible to learn this keys).
9249         * cmd.c (reverse_selection_cmd_panel): New function (renamed from
9250         reverse_selection_cmd, takes a WPanel * as parameter, references to
9251         cpanel changed to panel/the passed parameter).
9252         reverse_selection_cmd now simply calls this function with cpanel.
9253         This pair was missing among the *_selection_cmd* functions.
9255         * cmd.h: Added function prototypes.
9257 1998-03-31  Paul Sheer  <psheer@obsidian.co.za>
9259         * cmd.c (nice_cd): Forgot to invoke the history registration in
9260         one spot.
9262 1998-03-30  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9264         * menu.c (destroy_menu): Implement destroy_menu for all of the
9265         ports as a routine that frees the menu entries if
9266         internationalization has been enabled.
9268         * wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
9270 Sun Mar 29 23:02:09 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9272         * src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
9273         internationalized version of menu use externally defined hotkeys
9274         (denoted with preceding &). create_menu() fixed to load intl text of
9275         the entries. Some fixes around menu.c to enable usage of reloaded
9276         hotkeys.
9278         * main.c, editmenu.c: menu initialization code fixed to conform new
9279         menu structure. editmenu init code includes N_(..) now.
9281         * menu.c, layout.c, editwidget.c: bar menu items displacement is made
9282         dynamically upon initialization and window size changes. Mouse event
9283         processing is fixed accordingly.
9285 Sat Mar 28 13:18:36 1998 Alex Tkachenko  <alex@bcs.zp.ua>
9287         * src/screen.c: (repaint_file) last patches to format_file() in the
9288         same file broke appearance of panels in brief mode -- fixed.
9290 Mon Mar 30 20:02:49 1998  Paul Sheer  <psheer@obsidian.co.za>
9292         * main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
9293         main.h and others?: Directory history added. The previous
9294         directory history code was removed. The directory history now
9295         loads and saves using the same routines as the input widget. The
9296         keys meta-y, and meta-u are used to go backward and forward
9297         through the history. The buttons to the right and left of the
9298         current directory display on the panel can be used as well. The
9299         v button brings up a history, but no key is assigned to this.
9300         Discussion as to correct color and shape of these buttons is
9301         open. show_hist() in widget.c is made generic to be called for
9302         any widget. Help pages still needed to be added for the
9303         directory history.
9305 Wed Mar 25 19:05:31 1998  Norbert Warmuth  <k3190@fh-sw.de>
9307         * view.c (view_done): Set monitor off before deleting the view
9308         file dialog.
9310         * subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
9311         tcsh. It prevents command and filename substitution (e.g. for
9312         a directory named "[word] words")
9314 Mon Mar 23 18:06:10 1998  Norbert Warmuth  <k3190@fh-sw.de>
9316         * main.c: Deleted some old and unused code
9318 1998-03-24  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9320         * All over the src/ directory: Internationalization changes.
9322         * background.c: Avoid buffer over-runs and reduce number of
9323         internationalization strings.
9325 Mon Mar 23 14:04:07 1998  Philippe De Muyter  <phdm@macqel.be>
9327         * configure.in (nlink_t): Check it using AC_CHECK_TYPE.
9328         * acconfig.h (nlink_t): New define slot.
9330 Mon Mar 23 08:17:55 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9332         * src/main.c: mcedit can be named mce or mcedit.exe - only
9333         3 first letters are significant. The same for mcview.
9334         Console is always saved in do_execute() if it was saved there.
9336         * src/util.h: STRNOMP introduced (strncmp on unix and strnicmp
9337         on OS2_NT)
9339         * slang/slgetkey.c: SLang_getkey() and SLang_input_pending()
9340         enabled for OS2_NT
9342         * myslang.h: using fast one_vline() and one_hline() for OS2_NT
9344 Mon Mar 23 00:47:51 1998  Norbert Warmuth  <k3190@fh-sw.de>
9346         * autogen.sh: added support for builddir != srcdir
9348         * doc/Makefile.in: The manual pages are generated files and
9349         located in the builddir and not in the srcdir.
9351         * find.c (find_file): Use the same hotkey for the panelize button
9352         as we use with the external panelize command.
9354 Fri Mar 20 17:51:01 1998  Norbert Warmuth  <k3190@fh-sw.de>
9356         * myslang.h: --with-ncurses didn't compile: renamed
9357         KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
9359         * dlg.c (dlg_key_event): likewise
9361 1998-03-19  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9363         * screen.c: Remove KEY_DC forever.  This should have never been
9364         here.
9366 Wed Mar 18 22:08:34 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9368         * achown.c (do_enter_key): call endgrent, endpwent.
9370         * chown.c (init_chown): call endgrent, endpwent.
9372 Tue Mar 17 23:58:40 1998  Pavel Machek  <pavel@elf.ucw.cz>
9374         * src/file.c: Fix for the case where the disk gets full.
9376 Tue Mar 16 18:35:53 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
9378         * src/hotlist.c default values for dialogs which add entries to hotlist
9379         are now set to the current directory.
9381 Tue Mar 10 14:42:01 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
9383         * vfs/extfs.c, lib/mc.ext, vfs/extfs/extfs.ini, vfs/extfs/cpio.in
9384         Added support for cpio extfs including compressed and gzipped
9385         cpio archives. compress and gzip handled separately because I saw
9386         a lot of systems which have compress, but don't have gzip.
9388 Sat Feb 21 16:46:49 1998 Stas Maximov  <stmax@u213.srcc.msu.su>
9390         * src/subshell.c: failed to grantpt on SVR4 due to zero-initialized
9391         subshell_pid. sigaction handler for SIGCHLD does waitpid(subshell_pid,
9392         ...) and when subshell_pid == 0 it steals the zombie from grantpt(3)
9393         which does fork/exec/waitpid for suid program to set the permissions on
9394         pty. It's enough to initialize it to 1 or -2.
9396 1998-03-16  Federico Mena Quintero  <federico@nuclecu.unam.mx>
9398         * util.c (convert_pattern): Now the internal buffer is malloc()ed
9399         instead of being static.  This is required for long patterns.
9400         (regexp_match): Free the pattern after calling convert_pattern().
9402         * file.c (file_mask_dialog): Free the source_mask after calling
9403         convert_pattern().
9405 Mon Mar 16 13:03:45 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9407         * cmd.c: Internal edit is used by default. vi may be
9408         confusing for some users.
9410         * tree.c: tree_rmdir_cmd() should not return any value,
9411         because it is not analyzed for errors.
9413         * main.c: NT code: use O_BINARY instead of _O_BINARY
9415         * util.c: DO not test for arguments that do not make sense under
9416         Windows NT.
9418         * file.c: utime.h always included for Windows NT port.
9420         * view.c: Events are flushed only if the ports supports it.
9422 Mon Mar 16 12:30:39 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
9424         * hotlist.c: Defaults on the hotlist add-current and new-entry is
9425         the current directory.
9427 Sat Mar 14 17:30:21 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9429         * file.c (panel_operate): Why was the flags in query_dialog set to
9430         D_INSERT is a big mystery.  Should be fixed now.
9432 Fri Mar 13 18:10:58 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9434         * dlg.c (dlg_stop): New routine used to finish dialog boxes.
9436         * cmd.c (set_panel_filter_to): Implementation split.  To be used
9437         by GNOME.
9439         * widget.c (input_new): GNOME-entry widget is inspired in the
9440         WInput + the history patches from Paul.  Use the GNOME-entry
9441         history, as this makes it easier to deal with the filter button on
9442         the panel.
9444         * setup.c (save_panel_types): Do not use if running on the gnome
9445         edition.   This need a lot of fixing for making this work with
9446         gnome and session management.
9448         * main.c (do_nc): DO not call setup_panels_and_run_mc as
9449         create_panels in gnome edition does all this.
9451         (setup_mc):  Skip part of the setup.
9453         (do_execute): Do not Execute any of the pause code after
9454         run for gnome.
9456 Wed Mar 12 17:46:09 1998  Norbert Warmuth  <k3190@fh-sw.de>
9458         * screen.c (chdir_other_panel, chdir_to_readlink): Use passed
9459         panel instead of cpanel (removed mixed use of panel and cpanel).
9461         * main.c, screen.c: Deleted F13 from the default keymap, added F13
9462         and F14 to the panel's keymap (the keymap for panels in listing
9463         mode). These two keys are only useful for panels in listing mode.
9464         It seems there are even more candidates for such a move. Especially
9465         select_cmd and unselect_cmd which appeared recently for the GNOME
9466         edition in screen.c act unexpected for panels in tree-mode.
9468         * cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
9470         (edit_cmd_new): No need to get a panel because it is not used.
9472         * panelize.c: Changed hotkey of the Panelize button (Alt-p is
9473         already used by the input line history). I wonder if I should
9474         change it in the find dialog, too (just to have a unique hotkey
9475         for the panelize button).
9477 Wed Mar 11 19:02:48 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9479         * view.c: Lots of changes:  Split the X11 code from the main view
9480         program.  This is needed to cleanly support the addition of the
9481         Gnome version of the file viewer;
9483         New names for old functions (just a view_ prefix):
9484         view_add_character, view_add_string, view_gotoyx, view_set_color,
9485         view_display_clean.  Now all of them take a WView argument (which
9486         is ignored in the macro for the text edition).  This is to support
9487         multiple open views at once.
9489         * boxes.c (symlink_dialog): Enable ok/cancel buttons for the Gnome edition.
9491         * cmd.c (link_cmd, symlink_cmd): Provide the filename to operate
9492         on.
9494 Tue Mar 10 20:41:45 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9496         * cmd.c (unselect_cmd_panel, select_cmd_panel): To avoid races on
9497         the X11 version, these routines now take a panel argument at
9498         invocation time.
9500         * widget.c (radio_callback): Call x_radio_focus for FOCUS/UNFOCUS
9501         events.
9502         (button_callback): Fallback to default_msg on WIDGET_FOCUS
9503         messages.
9505 1998-03-10  Federico Mena Quintero  <federico@nuclecu.unam.mx>
9507         * xslint.c (getch): Added missing "return".
9509         * utilunix.c (init_groups): Added parentheses around
9510         assignment/truth value.
9512         * boxes.c: #include <stdlib.h>
9514         * screen.c (string_inode): Cast fe->buf.st_ino to long to be
9515         consistent with sprintf format.
9517         * main.c (handle_args): Added parentheses around assignment/truth value.
9519 Sat Mar  7 14:33:38 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9521         * src/complete.c: obsolete hack for OS/2 and NT removed.
9522         Completion works for NT now (not very good)
9524         * src/main.c: HOME variable is respected by NT and OS/2
9525         versions. If it is missing, we use LIBDIR on OS2_NT and "/"
9526         on Unix.
9528         * src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
9529         doesn't conflict with definitions for ALT and CTRL, but it is
9530         SDK-compatible.
9532         * vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
9533         2 arguments
9535         * vfs/tcputil.c, vfs/utilvfs.c: signal.h was includes twice.
9537         * vfs/Makefile.in: undelfs.h is not used and should disappear
9539         * slang/slos2tty.c: new file, copied from SLang-0.99.38,
9540         needed for OS/2 port
9542         * slang/Makefile.in: added slos2tty.c
9544         * vfs/extfs/README: annoying spell errors corrected
9546         * src/main.c: --termcap disabled for OS2_NT because it doesn't
9547         (and cannot) work. ARCH_FLAGS is not needed anymore.
9549         * src/text.c: most includes removed. Added a warning is someone
9550         compiles this file with HAVE_X. Improved color scheme for
9551         consoles with 16 background colors (e.g. OS/2). Hack for OS/2
9552         removed.
9554         * src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
9555         to util.h. It may be useful to use them for filenames' completion
9556         on OS2_NT
9558 Fri Mar  6 19:29:54 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9560         * find.c: Simplify header files: use the fs.h include file.
9562         (use x_flush_events).
9564         * screen.c (string_file_name): In GNOME, the CList widget does the
9565         filename truncation, so we do not do it here.
9567         (panel_new): Initialize all of the wpanel contents to zero.  This
9568         will is required by the GNOME X ports (to figure out if a field
9569         has been inited or not).
9571 Thu Mar  5 10:28:40 1998  Norbert Warmuth  <k3190@fh-sw.de>
9573         * popt.c (poptParseArgvString): make it compile with the native
9574         compiler on AIX 4.1.3
9576 1998-03-04  Federico Mena Quintero  <federico@nuclecu.unam.mx>
9578         * cmd.c: Added #include "x.h"
9580 Wed Mar  4 14:49:55 1998  Norbert Warmuth  <k3190@fh-sw.de>
9582         * doc/mc.1.in, mc.hlp: updated (these files haven't been updated
9583         at the last change to mc.sgml)
9585         * doc/mc.sgml: spelling error corrected
9587         * Makefile.in: renamed all references of mc.1 to mc.1.in
9589         * find.c (locate_egrep): Don't use an absolute path if egrep isn't
9590         found at the usual places. Then execvp will search the directories
9591         passed in the environment PATH variable (a little bit slower but
9592         better than a defunct find content).
9594         * tree.c: removed the include file I mistakenly added with my
9595         last patch.
9597 Tue Mar  3 20:00:36 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9599         * file.c (get_file): Take a panel argument.  I am pretty sure that
9600         this is broken for the case where we are copying from a WTree.
9602         (panel_operate): take a panel argument instead of defaulting to
9603         cpanel.
9605 Mon Mar  2 15:54:55 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9607         * dlg.c (create_dlg): Set running to 0 on creation;
9608         (add_widgetl): do widget initialization if the dialog is already
9609         running when this dialog box is created.
9611 Mon Mar  2 12:11:37 1998  Norbert Warmuth  <k3190@fh-sw.de>
9613         * vfs/ftpfs.c (changetype): Removed the hack which always forced
9614         sending the command "TYPE I" when changing to binary transfer mode
9615         was requested even when MC thought the connection was already in
9616         binary mode (bucket->isbinary == 1). The correct fix is now in
9617         login_server.
9619         * vfs/ftpfs.c (login_server): Set the transfer mode stored in
9620         the bucket to UNKNOWN (the bucket might be reused and the old
9621         transfer mode isn't valid any longer).
9623         * screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
9624         which isn't delivered to widgets by the dialog manager; always
9625         return 1 when key was handled; removed the function keys from the
9626         panel's keymap (the function keys are always handled by the
9627         buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
9628         work even when quick search was started); characters between 32 and
9629         255 start quick search if there is no command line (no C-s necessary
9630         to start search).
9632         * tree.c (tree_key): likewise
9634 Tue Feb 24 18:37:36 1998  Stas Maximov  <stmax@u213.srcc.msu.su>
9636         * subshell.c: Set subshell_pid to 1 on startup
9638 Fri Feb 13 19:59:39 1998  Alexander Savelyev  <fano@VCom.kiev.ua>
9640         * screen.c: KEY_DC is also handled by delete_cmd.
9642         * vfs/ftpfs.c (chdir): sending the CWD command is not necessary
9643         (imho).
9645         (ftpfs_connection_close): Do not use WAIT_REPLY, closes
9646         connections faster.
9648         (open_data_connection): implement the reget command.
9650         * boxes.c: bigger VFS dialog box.
9652         * file.c (init_replace): Add support for copying files only if the
9653         size differs, and support for regetting ftp files.
9655 Wed Feb 11 20:08:50 1998  Norbert Warmuth  <k3190@fh-sw.de>
9657         * user.c (execute_menu_command): Extended the syntax of %-macros
9658         used in the user menu in order to switch quoting on (default) and
9659         off, e.g. %0f means don't quote the expanded macro, %f and %1f mean
9660         quote the expanded macro.
9663 Fri Jan 30 16:43:47 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9665         * dlg.c (create_dlg): Now we pass the flags parameter to the
9666         create_dialog routine.
9668         * tkmain.c (xtoolkit_create_dialog): Check for the grided value
9670 Fri Jan 23 07:28:54 1998  Peter Daum  <gator@cs.tu-berlin.de>
9672         * extfs.c (open_extfs_archive): Pass the filename to the list
9673         command.
9675         * extfs/mailfs: New file system for browsing mail files (support
9676         for compressed mail files as well).
9678 Fri Jan 23 07:19:18 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9680         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
9681         system. Obsolete #ifdef's removed.
9683         * edit/editwidget.c: ansi standard violation removed
9685         * nt/Makefile.NT: default SLang directory is now ../slang. Most
9686         of SLang sources are no more compiled for MC.
9688         * nt/drive.h: new file. Copied from os2/drive.h with minor changes
9690         * nt/ket.nt.c: new way for handling conflicting SHIFT_PRESSED
9691         definitions. get_event can work without blocking. Copy, move
9692         and delete operations work normally.
9694         * nt/slint.nt.c: SLang_getkey2 and Slang_input_pending2 are
9695         copied from src/slint.c
9697         * nt/sys/param.h: annoying warnings temporarily suppressed.
9699         * slang/slvideo.c, slang/slw32tty.c: new files. They contain
9700         changes by Alexander Dong.
9702         * src/myslang.h: definitions for ASCII symbols removed, since
9703         they are available in slang.h. Double lines are not used anymore.
9705         * src/panelize.c: sys/wait.h is included only if HAVE_SYS_WAIT_H
9706         is defined
9708         * nt/Makefile.NT: text.c is added
9710         * nt/Makefile.VC4: "-debug" switch for linker is not used for
9711         release version
9713         * src/screen.c (show_dir): double lines are no more used by NT and
9714         OS/2 ports.
9716         * src/wtools.c (real_input_dialog_help): layout of input dialog for
9717         XView port is corrected
9719         * edit/edit.h: mc_mkdir requires 2 arguments for any operation
9720         system. Obsolete #ifdef's removed.
9722         * edit/editwidget.c: ansi standard violation removed
9724 Wed Jan 21 14:01:29 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9726         * ext.c (regex_command): reverted the patch that changed tests for
9727         *p == ' ' || *p == '\t' to isspace().  isspace() is true for tabs,
9728         newlines, carriage-returns and vertical tabs as well.  Which is
9729         not what we want.
9731 Wed Jan 21 11:58:39 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
9733         * ftpfs.c (retrieve_dir): Avoid compiler warning by testing
9734         explicitly the value.
9736         screen.c (format_file): color not initialized when we met
9737         empty_line.
9739 Wed Jan 21 11:28:21 1998  Alex Tkachenko  <alex@bcs.zp.ua>
9741         * cmd.c, utilunix.c: cosmetic changes to reduce compiler warnings
9743         * utilunix.c (my_system): small fix for SCO zombies moved here;
9744         now it returns WEXITSTATUS(status) instead of status itself. While
9745         missing it may not hurt on i.e., linux, on SCO it gives incorrect
9746         value.
9748         * vfs/extfs.c system() calls replaced with my_system() call; this
9749         allows a greater degree of control - fixes SCO system() return value
9750         processing. Notice: plain replacement system() with WEXITSTATUS(system)
9751         does not produce correct behavior (don't ask me why).
9753         * panelize.c (do_external_panelize): similar fixes for pclose()
9754         return value on SCO.
9756         view.c (load_view_file): inverted value of viewer_magic_flag to
9757         put viewer decompression state in accordance with F8 label text.
9758         Also default_nroff_flag is initialized to be 1; thus enabling all
9759         filter processing by default easies mc usage for novice users.
9761 Sun Jan 18 13:47:37 1998  Sung-Hyun Nam  <namsh@lgic.co.kr>
9763         * main.c
9764         * panel.h, tkscreen.h : error when compile dlg.c
9765         * tkconf.h : paint_frame
9766         * screen.c : to include paint_frame
9767         * tkmain.c : I just copied clr_scr() from the text.c
9769 Fri Jan 16 16:19:59 1998  Miguel de Icaza  <miguel@nuclecu.unam.mx>
9771         * screen.c (format_file): Do not invoke the file_compute_color
9772         routine for empty lines.
9774         * gmain.c: Color scheme for Gnome
9776         * gscreen.c: Color setup now allocated the GdkColor *.
9778         * color.c: Moved the default color setting to a per-port
9779         location (text.c for the text mode edition);  new color
9780         configuration: core;  Fixed the case where the color spec was
9781         buggy and we kept on a infinite loop;
9783 Fri Jan 16 13:47:13 1998  Pavel Roskin  <pavel_roskin@geocities.com>
9785         * nt/drive.nt.c, nt/chmod.nt.c: Updated button_new and check_new
9786         calls
9788 Fri Jan 16 12:47:39 1998  Norbert Warmuth  <k3190@fh-sw.de>
9790         * vfs/ftpfs.c (command): Don't log passwords when the dialog between
9791         server and client is logged to a file (mc -l logfile).
9793         * vfs/ftpfs.c (resolve_symlink, retrieve_dir): When a directory
9794         contains spaces send two commands ("CWD path" and  "LIST .") instead of
9795         one command ("LIST path") in order to get directory listings.