1 2002-09-05 Pavel Roskin <proski@gnu.org>
3 * cmd.c (nice_cd): Fix conditions when this function is
6 * fs.h: Replace S_IFFIFO with S_IFIFO, which is the right name.
8 * fs.h: Correct S_IS* definitions to use S_IFMT. Add fallback
9 definitions for S_IFDOOR and S_ISDOOR.
10 * screen.c (string_file_type): Remove unnesessary ifdefs, fs.h
12 (file_compute_color): Add support for Solaris doors.
13 * util.c (string_perm): Remove unnesessary ifdef.
15 * man2hlp.c (handle_command): Make clear that unsupported
16 command is a warning, not an error. Avoid unsafe strcat().
18 * view.c (view_mode_callback): Eliminate, use the default
21 * main.c (load_hint): Don't hardcode copyright years. Use a
24 * main.c (midnight_callback): Avoid calling the default DLG_DRAW
25 handler. From David Martin <dmartina@excite.com>
27 * help.c (help_handle_key): Sanity check for broken help files.
28 From David Martin <dmartina@excite.com>
30 2002-09-03 Pavel Roskin <proski@gnu.org>
32 * global.h: Eliminate xgetch, update all dependencies.
34 * boxes.c: Fix remaining old-style calls to create_dlg().
35 * complete.c: Likewise.
39 * wtools.c: Remove Chooser, its unused.
41 * dlg.c: Fix the case when the dialog has no title.
43 * wtools.c (real_input_dialog_help): Use a more reliable way
44 to indicate password input.
46 * boxes.c (display_widgets) [!HAVE_CHARSET]: Fix initialization.
47 (vfs_smb_get_authinfo): Reuse another translated string.
49 * wtools.h (QuickDialog): Eliminate the "class" field - it's not
50 used and it can clash with C++ code. Adjust all dependencies.
52 * dlg.c (x_set_dialog_title): Completely eliminate. Adjust all
55 * help.c (interactive_display): Fallback to node "[main]" if the
56 requested node cannot be found.
58 * help.c (help_index_cmd): Eliminate unneeded search for
59 "[Help]", which always fails. Fix crash if "[Contents]" cannot
60 be found. Reuse more generic error message.
62 * filegui.c: Eliminate x_set_dialog_title().
63 * hotlist.c: Likewise.
65 (interactive_display): Default to node "[main]" if the given
68 2002-09-02 Pavel Roskin <proski@gnu.org>
70 * dlg.c (create_dlg): Take title instead of unused name as the
72 (x_set_dialog_title): Free old title. Mark this function
74 * achown.c: Use new create_dlg().
75 (do_enter_key): Provide titles for popups.
77 * dlg.c: Remove unused code, make functions static if possible.
79 * chmod.c: Use common_dialog_repaint().
84 * wtools.c (common_dialog_callback): Fold into ...
85 * dlg.c (default_dlg_callback): ... this. Don't redraw dialogs
86 that don't have colors. Adjust all dependencies.
87 (std_callback): Elimitate.
89 * panelize.c (panelize_refresh): Eliminate in favor of
90 common_dialog_callback().
92 * widget.c (history_callback): Eliminate in favor of
93 common_dialog_callback().
94 (show_hist): Set dialog title and flag DLG_COMPACT.
96 * help.c (help_callback): Use common_dialog_callback().
97 (interactive_display): Set dialog title.
99 * wtools.c (listbox_callback): Eliminate in favor of
100 common_dialog_callback().
102 * wtools.c (dialog_repaint): Eliminate, nobody should be using
103 non-standard colors. Adjust all dependencies.
104 (common_dialog_repaint): Fix return code.
105 (query_callback): Eliminate, use common_dialog_callback()
108 * listmode.c (listmode_refresh): Use common_dialog_repaint().
109 Eliminate all global variables. Reformat the whole file.
111 * boxes.c (init_disp_bits_box): Use common_dialog_callback().
112 Return the new dialog.
114 * boxes.c (display_callback): Use common_dialog_repaint().
115 (display_init): Avoid using two different translations.
117 2002-09-01 Pavel Roskin <proski@gnu.org>
119 * help.c (interactive_display): Don't reuse the old value of
120 help_lines - LINES could have changed. Scale height better for
121 terminals with many lines - use 2/3 of the full screen.
123 * man2hlp.c: Move handling of .SH and NODE to a separate
124 function handle_node(). Don't output empty nodes except in the
127 2002-09-01 Andrew V. Samoilov <sav@bcs.zp.ua>
129 * man2hlp.c (print_error): Print input filename.
130 (handle_command): Handle .P, .LP, .IP and .br.
131 Ignore comments and .TH (Title header).
132 Report about unsupported commands.
135 * ext.c (regex_command): Use "%s" as text argument.
136 * user.c (debug_out): Likewise.
138 * win.c (key_name_conv_tab): Fix initialization.
140 2002-08-31 Pavel Roskin <proski@gnu.org>
142 * help.c (show): Fix segfault on unterminated help files.
143 From David Martin <dmartina@excite.com>
145 * key.c (get_event): Reduce scope of select_set. Don't check
146 mouse_enabled all the time, instead break out of the loop if it
149 * main.c (do_nc): Make midnight_colors[] local to do_nc().
150 Initialize normal color - it's used by the tree.
151 * boxes.c (tree_box): Use standard dialog_colors.
152 * tree.c: Use NORMALC for normal entries.
154 * view.c (view): Avoid passing an uninitialized color array to
155 create_dlg() - pass NULL instead.
157 2002-08-30 Pavel Roskin <proski@gnu.org>
159 * color.c: Define global array alarm_colors for the colors used
160 in the dialogs that should be most visible (error messages,
161 request to delete or overwrite).
162 (load_dialog_colors): Initialize alarm_colors.
163 * filegui.c: Use alarm_colors.
164 * wtools.c: Likewise.
165 * dlg.c (create_dlg): Make the color_set array constant.
167 * wtools.c (common_dialog_repaint): Use colors specific to the
168 current dialog, not fixed colors for "normal" dialogs.
169 * filegui.c (replace_callback): Eliminate, use
170 common_dialog_callback() instead.
172 * filegui.c (file_op_context_create_ui): Use
173 common_dialog_callback(). Set title to the operation name.
174 (op_win_callback): Remove, it's unused.
176 2002-08-27 Pavel Roskin <proski@gnu.org>
178 * view.c: Make static whatever possible.
179 * view.h: Remove internal view routines.
181 2002-08-27 Andrew V. Samoilov <sav@bcs.zp.ua>
183 * selcodepage.c (select_charset): Use snprintf instead of sprintf.
184 (do_select_codepage) [!HAVE_ICONV]: Remove.
186 2002-08-27 Pavel Roskin <proski@gnu.org>
188 * charsets.c: Add disclaimer of warranty.
189 * filenot.c: Likewise.
190 * fileopctx.c: Likewise.
192 * selcodepage.c: Likewise.
194 * textconf.c: Likewise.
196 * man2hlp.c (main): Factor error checks in fopen() and fclose(),
197 eliminate reuse of variables for different purposes, add more
198 comments. Correctly process "\&" escape.
199 The last part is from David Martin <dmartina@excite.com>
201 2002-08-26 Pavel Roskin <proski@gnu.org>
203 * main.c (init_xterm_support): Force xterm-style screen saving
204 and no mouse on "cygwin" terminal.
206 2002-08-25 Pavel Roskin <proski@gnu.org>
208 * man2hlp.c: Change default from the English string for TOPICS,
211 * man2hlp.c (handle_command): Remove quotes from TOPIC.
213 * key.c (get_event): Check gpm_fd before using it in FD_SET. If
214 gpm_fd is -1 (gpm has died), disable mouse support.
216 * key.c: Use the maximal file descriptor, not FD_SETSIZE in all
218 * subshell.c: Likewise.
219 From Pavel Tsekov <ptsekov@gmx.net>
221 2002-08-24 Pavel Roskin <proski@gnu.org>
223 * user.c (expand_format): Remove support for error file in the
225 * utilunix.c (close_error_pipe): Fix the condition when nothing
226 needs to be dislayed.
228 * dlg.c (x_set_dialog_title): Force uniform spacing.
229 From Andrew Borodin <borodin@zarya-k.ru>
231 * utilunix.c (check_error_pipe): Check error_pipe[0], not
232 stdout. From Pavel Tsekov <ptsekov@gmx.net>
234 * achown.c (chown_refresh): Use common_dialog_repaint().
236 * dlg.h (struct Dlg_head): Separate user flags and internal
237 flags. Make "direction" a user flag. Adjust all dependencies.
238 * dlg.c (run_dlg): Return ret_value.
240 2002-08-23 Pavel Roskin <proski@gnu.org>
242 * text.c (default_edition_colors): Use more rxvt-friendly color
245 * Makefile.am: Remove definition of CONFDIR, it's not used.
247 2002-08-22 Pavel Roskin <proski@gnu.org>
249 * layout.c (print_vfs_message): Set normal color, don't use
250 random current attributes.
252 * dlg.h (struct Dlg_head): Eliminate "data" field, it duplicated
253 functionality of "title".
254 * wtools.c (query_callback): Use dialog_repaint().
255 (quick_callback): Use common_dialog_repaint().
257 * learn.c (learn_callback): Use common_dialog_repaint().
258 * achown.c (chl_callback): Likewise.
260 * dialog.h: Cleanup unused functions.
261 * dialog.c: Cleanup unused headers.
263 * dlg.h (struct Dlg_head): Fold fields "raw" and "has_menubar"
264 into one field "flags". Adjust all dependencies. Add new flag
266 * wtools.c (dialog_repaint): Draw frame without spaces if
267 DLG_COMPACT flag is set.
268 * complete.c (complete_engine): Set DLG_COMPACT.
269 (query_callback): Use common_dialog_repaint().
271 * keys.h: Remove, include ...
272 * myslang.h: ... here.
273 * Makefile.am: Remove keys.h.
275 * dlg.h: Remove unused fields in struct Dlg_head.
276 * dlg.c: Adjust for the above.
278 2002-08-21 Pavel Roskin <proski@gnu.org>
280 * dlg.h: Remove unused fields in struct Widget.
281 * dlg.c: Adjust for the above.
282 * layout.c: Likewise.
284 * cmd.c (info_cmd_no_menu): Toggle info screen.
285 (quick_cmd_no_menu): Toggle quick view.
287 * help.c (interactive_display): Always show button bar.
289 * widget.c (buttonbar_callback): Fix a bug that prevented the
290 last byte from being redrawn.
291 Reported by David Martin <dmartina@excite.com>
293 * layout.c (setup_panels): Make the button bar 0 lines high if
294 it's invisible, so that mouse click on the history button works
295 with invisible button bar.
297 * widget.c: Make more functions static.
299 * ext.c: (regex_check_type): Further split. Restore caching
300 broken in the previous commit.
302 * ext.c (regex_command): Separate checking for "type/" into ...
303 (regex_check_type): ... this.
305 * global.h: Move include for rx.h and eregex.h here.
307 * learn.c (learn_button): Don't allow Tab to be learned.
309 2002-08-20 David Martin <dmartina@excite.com>
311 * menu.c (create_menu): Get help node as an argument.
312 * main.c: Use new create_menu() interface.
314 2002-08-20 Pavel Roskin <proski@gnu.org>
316 * man2hlp.c: Don't redirect stdout. Check result of ftell.
317 Drop support for invocation with 2 arguments.
319 2002-08-19 Pavel Roskin <proski@gnu.org>
321 * cons.handler.c (handle_console): Use _exit(), not exit() in
324 * main.c (handle_args): Set POPT_CONTEXT_NO_EXEC flag for
326 * popt.c: Call abort() in execCommand() - we should not execute
329 * util.h: Remove unused and dangerous flags for my_system():
330 EXECUTE_TEMPFILE, EXECUTE_SETUID and EXECUTE_WAIT.
331 * utilunix.c: Corresponding adjustments.
332 * ext.c: Don't use EXECUTE_TEMPFILE, it has no effect.
334 * subshell.c (synchronize): Workaround for Cygwin (should not be
335 needed for the next version) - remove SIGCHLD blocking from
338 * dlg.h: Remove all unused flags for create_dlg(). Adjust all
341 * cmd.c (fishlink_cmd): Implement user interface for FiSH.
342 * main.c: Add it to the menu.
344 * help.c (help_follow_link): Made static.
346 2002-08-18 Pavel Roskin <proski@gnu.org>
348 * subshell.c (synchronize): Discard all remaining data from
349 stdin to the subshell.
351 * subshell.c (exit_subshell) [AIX_TCSH_CODE_BELOW_IS_IT_FIXED]:
352 Remove. Nobody has fixed this code for years.
354 * main.h [USE_INTERNAL_EDIT]: Don't include declarations from
356 * setup.c [USE_INTERNAL_EDIT]: Include edit.h.
358 * boxes.h: Remove user_format.
359 * boxes.c: Make more variables static, remove all extern
361 * setup.c: Remove some extern declarations.
363 * mountlist.h: Move some internals ...
364 * mountlist.c: ... here.
366 * main.c: Remove extremely unsafe and poorly designed support
367 for /tmp/mc.$PID.control file.
368 * util.c (my_putenv): Remove, it's unused now.
370 * panel.h (struct format_e): Make string_fn return const char *.
371 Adjust all dependencies.
372 * screen.c (string_file_mtime): Return empty string for "..".
373 (string_file_atime): Likewise.
374 (string_file_ctime): Likewise.
376 * view.c (display): Use enum for boldflag values. Fix cursor
377 highlighting for the ASCII part of the hex editor.
379 * layout.c (init_curses) [!HAVE_SLANG]: Add support for
380 stickchars - fill acs_map[] with ASCII approximations.
381 * main.c [!HAVE_SLANG]: Enable --stickchars (-a) for ncurses.
383 2002-08-16 Pavel Roskin <proski@gnu.org>
385 * setup.c: New variable global_profile_name to hold full name of
387 (load_setup): Calculate global_profile_name.
388 (done_setup): Free global_profile_name.
389 (load_key_defs): Use global_profile_name.
390 * treestore.c (should_skip_directory): Likewise.
392 * man2hlp.c: Implement persistent fread and fwrite to make sure
393 that all output is read and written.
395 2002-08-16 Andrew V. Samoilov <sav@bcs.zp.ua>
397 * help.c (show): Cast *paint_start to unsigned char to display
398 Cyrillic with ncurses.
399 [HAS_ACS_AS_PCCHARS] (acs2pc_table): Make const.
401 * user.c (expand_format): Cast the argument to functions
402 for character classification to unsigned int.
403 (execute_menu_command): Likewise.
405 2002-08-15 Pavel Roskin <proski@gnu.org>
407 * treestore.c (tree_store_remove_entry): Don't use ts.check_name
410 * treestore.c: Remove unused code, reformat.
411 * treestore.h: Remove unused declarations.
413 * fs.h (compute_namelen): New inline function to take care of
414 the d_namlen field if and only if it's needed.
416 * screen.c (string_file_name): Replace non-printable characters
419 * subshell.c (read_subshell_prompt): Remove argument "how", it's
420 never set to VISIBLY. Adjust all dependencies. Eliminate hack
421 with "clear_now" - it causes invalid memory access and hides the
423 * util.c (strip_ctrl_codes): Fix possible invalid memory access
424 if the escape sequence ends unexpectedly.
426 2002-08-14 Pavel Roskin <proski@gnu.org>
428 * dir.c (do_load_dir): Fix leaking of file descriptors - always
429 call mc_closedir() before return.
431 * main.c (do_execute) [!HAVE_SUBSHELL_SUPPORT]: Compile fix.
433 * view.c (display): Use only declared color pairs to fix hex
434 editor appearance with ncurses. Eliminate some useless defines.
436 2002-08-10 Pavel Roskin <proski@gnu.org>
438 * key.c (delete_select_channel): Avoid using freed memory.
440 2002-08-09 Pavel Roskin <proski@gnu.org>
442 * ext.c (exec_extension): Eliminate unused argument.
443 (regex_command): Remove support for user actions. Return int.
444 Adjust all dependencies.
446 * ext.c (exec_extension): Make static. Remove support for Drop,
447 Title and Icon actions. Adjust all dependencies.
449 * main.c (sigchld_handler_no_subshell) [linux]: SIGTSTP is
450 always defined on Linux.
451 * subshell.c (sigchld_handler): No need to use SIGTSTP
452 explicitly when we really care about SIGCONT.
454 * ncurses.patch: Remove, it's obsolete.
455 * Makefile.am: Remove ncurses.patch.
457 2002-08-04 Pavel Roskin <proski@gnu.org>
459 * subshell.c: Assume that SIGTSTP and SIGCONT are always
460 defined. This is now checked in configure. Otherwise
461 synchronize() would hang until subshell exits.
463 2002-08-01 Pavel Roskin <proski@gnu.org>
465 * charsets.c: Unconditionally enable finalization code that was
466 only used with HAVE_MAD.
472 * subshell.c (exit_subshell): Free subshell_prompt.
476 * Makefile.am (SRCS): Remove mad.c and mad.h.
477 * cmd.c: Remove references to MAD.
479 * dlg.c: Use inline, not INLINE.
480 * hotlist.c: Likewise.
482 * global.h: Don't include mad.h.
484 2002-07-31 Andrew V. Samoilov <kai@cmail.ru>
486 * man2hlp.c (main): Don't use freed structure member.
488 * ext.c (regex_command): Don't check same condition twice.
489 (exec_extension): Comment out useless loop.
490 * key.h (key_code_name_t): Typedef const.
492 2002-07-30 Pavel Roskin <proski@gnu.org>
494 * man2hlp.c (main): Use only stream I/O. Fix checks for error
495 conditions. Reformat the whole file.
497 * man2hlp.c: Avoid the need to use gindex.pl.
498 From Andrew V. Samoilov <sav@bcs.zp.ua>
499 * Makefile.am: Use man2hlp directly.
500 (EXTRA_DIST): Remove gindex.pl.
503 * ext.c (regex_command): Additional check to prevent reading
504 unallocated memory when matching "shell/". Found by Valgrind.
506 2002-07-29 Pavel Roskin <proski@gnu.org>
508 * setup.c: Eliminate all PORT* macros.
509 * screen.c: Likewise.
511 * subshell.c (feed_subshell): Reading 0 bytes in a channel with
512 FD_ISSET being set is a sign of something being wrong - exit
513 immediately. Observed when mc is run under su in xterm and
514 xterm is closed while the subshell is running.
515 Reported by Vlad Harchev <hvv@hippo.ru>
517 * color.h: Replace PORT_COLOR macro with BEST_COLOR, which uses
520 * util.c: Remove unused functions.
521 * utilunix.c: Likewise.
522 * util.h: Update to match.
524 * cons.saver.c: Use SEEK_SET instead of 0 in lseek().
527 * main.c (do_execute): Add newline after "Press any key to
530 * cons.saver.c: Eliminate some global variables. Further
531 cleanup. Make sure that console_fd is always closed.
533 2002-07-28 Pavel Roskin <proski@gnu.org>
535 * cons.saver.c: Remove support for Linux kernels before 2.0.
537 (send_contents): Remove incorrect optimization - restore even
538 empty lines because they may be touched by the viewer.
539 From Denis Vlasenko <vda_unique@iname.com>
541 2002-07-26 Pavel Roskin <proski@gnu.org>
543 * utilunix.c (canonicalize_pathname): Don't extend empty path
544 to "." - it can corrupt memory.
546 * cmd.c (copymove_cmd_with_default): Remove, it's unused.
547 (copy_cmd_local): New function, copy within panel.
548 (ren_cmd_local): New function, rename within panel.
549 * cmd.h: Adjust to match.
550 * screen.c (panel_keymap): Associate F15 with copy_cmd_local and
551 F16 with ren_cmd_local.
553 * view.c (display): Don't highlight characters as bold if the
554 character before the backspace was different.
555 From Roland Illig <roland.illig@gmx.de>
557 2002-07-25 Andrew V. Samoilov <kai@cmail.ru>
559 * wtools.c (message): Fix possible buffer overflow.
561 * slint.c [HAVE_MAD] (dealloc_color_pairs): Move ...
562 * color.c [HAVE_MAD]: ... here and make accessible from
563 other files to fix compilation.
564 * color.h [HAVE_MAD]: Declare dealloc_color_pairs.
566 2002-07-20 Pavel Roskin <proski@gnu.org>
568 * screen.c (panel_callback): Revert last change, it has bad side
569 effects on the subshell.
571 2002-07-19 Pavel Roskin <proski@gnu.org>
573 * dlg.c: Eliminate all useless x_* functions.
576 * textconf.h: Likewise.
579 * widget.c: Likewise.
580 * main.c: Remove panel_update_marks(). Move try_to_select() ...
581 * screen.c: ... here. Eliminate x_* functions.
582 * main.h: Remove panel_update_marks().
584 * screen.c (panel_callback): Only change directory on
585 WIDGET_FOCUS if current_panel changes.
587 * main.c (handle_args): Don't call mc_get_current_wd().
589 * main.c (directory_history_list): Report error if cannot change
592 2002-07-16 Pavel Roskin <proski@gnu.org>
594 * main.c (do_execute): Don't ask to press any key when the shell
595 is running a command - the user has already pressed Ctrl-O.
597 2002-07-15 Pavel Roskin <proski@gnu.org>
599 * slint.c: Eliminate hardcoded color terminals. Most users no
600 longer need this hack, and those who do have color_terminals
601 option in the config file.
603 2002-07-14 Pavel Roskin <proski@gnu.org>
605 * color.c [USE_NCURSES]: Eliminate division by COLOR, it's 0 in
606 black and white mode.
608 * slint.c: Move functions for allocating color pairs ...
609 * color.c: ... here. Implement ncurses equivalents. Rename
610 init_pair() to mc_init_pair() and keep tack of max_index with
611 ncurses. Adjust all dependencies.
613 * mem.h: Clean up obsolete definitions, incorporate into ...
614 * global.h: ... this.
615 * Makefile.am: Remove mem.h.
617 2002-07-13 Pavel Roskin <proski@gnu.org>
619 * Makefile.am (AM_CPPFLAGS): Remove REGEX_MALLOC, it's now in
622 * tty.h: Use standard autoconf defines to determine which
623 ncurses header to include. Eliminate RENAMED_NCURSES.
625 2002-07-10 Pavel Roskin <proski@gnu.org>
627 * utilunix.c: Cast argument for GUINT_TO_POINTER to int to fix
630 * subshell.c: ioctl() doesn't set errno - don't use perror() to
631 report failures. Use fprintf() instead, ignore errors from
633 (resize_tty): New function - code common for resize_subshell()
634 and init_subshell_child().
636 * global.h: Include vfs.h.
637 * boxes.c (configure_vfs): Ask whether .netrc should be used.
638 From Thomas Zajic <zlatko@gmx.at>
640 2002-07-03 Pavel Roskin <proski@gnu.org>
642 * file.c (do_transform_source): Cast the argument to functions
643 for character classification to unsigned int.
644 * main.c (handle_args): Likewise.
645 * util.c (size_trunc_sep): Likewise.
646 (skip_numbers): Likewise.
648 * subshell.c (sigchld_handler): Remove subshell_pty from the
649 channel list if the subshell has died.
651 2002-07-03 Andrew V. Samoilov <kai@cmail.ru>
653 * mad.[ch] [__GNUC__] (mad_strconcat): Use macro varargs.
654 (mad_strdup_printf): Likewise.
655 (mad_strdup_vprintf): Likewise.
656 * main.c [HAVE_MAD] (main): Release this_dir and other_dir.
658 2002-07-03 Pavel Roskin <proski@gnu.org>
660 * main.c (stop_dialogs): New function to stop all dialogs.
661 (quit_cmd_internal): Use stop_dialogs() instead of stopping
662 midnight_dlg only. This fixes exit from the shell invoked from
663 the internal viewer or editor.
665 * cmd.c (view_other_cmd): Shut down extra select channels before
666 switching to the shell. Restore them afterwards, but not if
667 quit was requested. Skip more code on quit.
669 2002-07-02 Pavel Roskin <proski@gnu.org>
671 * util.c: Eliminate get_small_endian_long() and CHECK macro.
673 * util.h: Rename compression types, add a type for uncompressed
675 * util.c (is_gunzipable): Rename to ...
676 (get_compression_type): this. Don't check archive length, since
677 it's unreliable if there is padding at the end of the file.
678 Eliminate prehistoric Linux workaround. All callers adjusted.
680 2002-07-01 Andrew V. Samoilov <kai@cmail.ru>
682 * utilunix.c (close_error_pipe): Use "%s" in message () to
683 prevent possible crash.
684 (check_error_pipe): Likewise.
686 2002-06-27 Pavel Roskin <proski@gnu.org>
688 * screen.c (do_enter_on_file_entry): Process associations before
689 trying to execute the file.
691 2002-06-20 Pavel Roskin <proski@gnu.org>
693 * dir.c (handle_dirent): Don't process ".." entries.
694 (handle_path): Likewise.
695 From Andrew V. Samoilov <kai@cmail.ru>
697 2002-06-13 Oskar Liljeblad <oskar@osk.mine.nu>
699 * slint.c (has_colors): Don't reset SLtt_Use_Ansi_Colors to 0 if
700 force_colors is not set. This fixes color on unknown terminals.
702 2002-06-13 Andrew V. Samoilov <kai@cmail.ru>
704 * user.c (expand_format): Fix '%b' proccessing.
705 Handle '%k' as documented.
707 2002-05-30 Andrew V. Samoilov <kai@cmail.ru>
709 * view.c (regexp_search): Don't call save_edit_changes
710 if there are no changes.
711 (save_edit_changes): Use messages from ../po/mc.pot.
713 * mad.c (mad_tempnam): Commented out to make linker happy.
714 * main.c [HAVE_MAD && !_OS_NT] (main): G_free mc_home.
716 2002-05-27 Andrew V. Samoilov <kai@cmail.ru>
718 * view.c (save_edit_changes): Handle errors.
719 (do_view_init): Don't open and check file type
720 if _command is not null or _file is empty string.
722 2002-05-22 Pavel Roskin <proski@gnu.org>
724 * Makefile.am: doc/mc.1 is in top_builddir, not in top_srcdir.
726 2002-05-15 Andrew V. Samoilov <kai@cmail.ru>
728 * view.c (do_view_init): Close fd if it is unused.
730 2002-05-14 Andrew V. Samoilov <kai@cmail.ru>
732 * Makefile.am (VFSLIB): Add ../vfs/samba/libsamba.a
733 if USE_SAMBA_FS is true.
735 2002-05-07 Pavel Roskin <proski@gnu.org>
737 * hotlist.c (hotlist_button_callback): Don't process B_REMOVE
738 for VFS list - it would crash.
739 From Andrey Panov <pav@metib.ru>
741 2002-04-19 Andrew V. Samoilov <kai@cmail.ru>
743 * main.c [!WITH_MCFS] (PanelMenu): Eliminate mcfs related entry.
744 (RightMenu): Likewise.
745 * textconf.c (features): Likewise.
746 * cmd.c (netlink_cmd) [!WITH_MCFS]: Eliminate.
748 2002-04-03 Pavel Roskin <proski@gnu.org>
750 * Makefile: mc.hlp should be in MAINTAINERCLEANFILES, not in
751 CLEANFILES, because "make clean" should not make the source
752 directory useless on systems without Perl.
754 2002-03-26 Andrew V. Samoilov <kai@cmail.ru>
756 * eregex.h [!USE_INCLUDED_REGEX]: Include <regex.h>.
757 * regex.c: Compile only if USE_INCLUDED_REGEX is defined.
759 2002-03-25 Andrew V. Samoilov <kai@cmail.ru>
761 * complete.c (insert_text): Fix buffer overflow.
763 * cmd.[ch] [USE_INTERNAL_EDIT] (edit_syntax_cmd:) New dialog
764 to edit Syntax Highlighting definitions file.
765 * main.c (CmdMenu) [USE_INTERNAL_EDIT]: Add 'Syntax file edit'
767 (process_args): Print mc's library directory to stdout.
769 2002-03-21 Andrew V. Samoilov <kai@cmail.ru>
771 * man2hlp.c (handle_command): Handle backslash quoting
773 (handle_link): Strip .B and .I
774 * gindex.pl: Use fifth argument as man2hlp location.
776 2002-03-20 Andrew V. Samoilov <kai@cmail.ru>
778 * man2hlp.c (handle_command): Handle '.\"TOPICS' comment.
779 Use it for translated 'Topics:' message.
780 * gindex.pl: Use first line of man2hlp output as
781 translated 'Topics:' message if fourth argument
783 * Makefile.am (mc.hlp.ru): Use empty string as gindex.pl's
786 * textconf.c (version): Write to stdout.
787 * main.c (print_mc_usage): Add "stream" parameter to specify
789 (process_args): Use print_mc_usage() with stdout as stream.
790 (handle_args): Use print_mc_usage() with stderr as stream.
791 (print_color_usage): Write to stdout.
793 2002-03-18 Pavel Roskin <proski@gnu.org>
795 * eregex.h: Update from glibc-2.2.5.
797 * find.c: Use eregex.h, not regex.h.
800 From Alexander Varakin <avarakin00@hotmail.com>
802 * find.c (find_parameters): Invert condition when find is case
805 2002-03-04 Andrew V. Samoilov <kai@cmail.ru>
807 * Makefile.am (mc.hlp.ru): Use mc.1 instead of mc.1.in.
810 * file.c (copy_file_file): Chmod destination only if
811 ctx->preserve is on. Eliminate gotos.
813 2002-03-01 Andrew V. Samoilov <kai@cmail.ru>
815 * Makefile.am (mc.hlp.ru): New rule to compile translated
817 (mclib_DATA): Add mc.hlp.ru.
818 (EXTRA_DIST): Likewise.
820 * gindex.pl: Add optional 4th argument for translated
821 Content section name.
823 2002-02-28 Andrew V. Samoilov <kai@cmail.ru>
825 * mad.c: Make mem_areas dynamically growing.
826 (mad_init): Allocate memory for mem_areas.
827 (mad_alloc): Grow mem_areas if it is exhausted.
829 * filegui.c (file_mask_dialog): Enable 'follow Links'
830 and 'preserve Attributes' features in Move dialog.
831 (file_bps_show): Translate messages.
832 (file_eta_show): Likewise.
834 * man2hlp.c (main): Don't crash if called without argument(s).
835 Make buffer char pointer.
836 (handle_command): Handle '.\"NODE' comment. Use it for
837 nodename in translated manual pages.
839 * gindex.pl: Use [nodename] as user visible section name
840 only if next line is empty. Elsewhere use this nonempty line.
842 * find.c (find_parameters): Compile content_pattern here.
843 Inform user about malformed regular expression.
844 (search_content): Use compiled regular expression.
845 (do_find): Eliminate `done'. Call regfree for compiled
848 2002-02-24 Pavel Roskin <proski@gnu.org>
850 * chown.c (chown_cmd): Use size_trunc_len() to show the file
851 size. Eliminate c_fsize, which wasn't properly initialized.
853 2002-02-22 Pavel Roskin <proski@gnu.org>
855 * man2hlp.c (string_len): Don't exclude characters with codes
856 above 128 from the string length.
858 2002-02-21 Andrew V. Samoilov <kai@cmail.ru>
860 * ext.c (exec_extension): Use "#! /bin/sh".
862 2002-02-20 Pavel Roskin <proski@gnu.org>
864 * background.c (background_attention): Cast pointer to long
865 instead of int because it's unsafe of 64-bit systems.
866 * main.c (init_xterm_support): Likewise.
868 2002-02-18 Pavel Roskin <proski@gnu.org>
870 * utilunix.c (canonicalize_pathname) [__QNX__]: Fix detection
871 of Qnet names. Disable support of Qnet names under QNX Netrino.
872 Reported by Maurizio Rossi <MRossi@system-group.it>
874 * global.h: Include unix.h under "classical" QNX.
875 * subshell.c: Don't include unix.h.
876 * utilunix.c: Likewise.
878 2002-02-07 Andrew V. Samoilov <kai@cmail.ru>
880 * main.c (update_one_panel_widget): Call ftpfs_flushdir().
882 2002-02-05 Pavel Roskin <proski@gnu.org>
884 * key.c [USE_NCURSES] (get_key_code): Ignore KEY_RESIZE.
885 * layout.c [USE_NCURSES] (flag_winch): Don't call
886 low_level_change_screen_size() from signal handler.
887 From Thomas Dickey <dickey@herndon4.his.com>
889 * screen.c (format_file): Add a new parameter (size of the
890 output buffer) to prevent buffer overflow on very wide
892 From Thomas Dickey <dickey@herndon4.his.com>
894 2002-02-04 Andrew V. Samoilov <kai@cmail.ru>
896 * util.c [!HAVE_TRUNCATE] (truncate): Close fd if my_ftruncate
899 * util.c [HAVE_CHARSET] (is_printable): Eliminate printable.
900 * setup.c [HAVE_CHARSET] (load_setup): Don't use
901 init_printable_table.
903 * charsets.h: Don't declare init_printable_table ().
904 * charset.c (printable): Removed.
905 (init_printable_table): Removed.
907 2002-01-30 Andrew V. Samoilov <kai@cmail.ru>
909 * file.c (recursive_erase): Use mc_closedir() if mc_lstat()
910 fails. Eliminate goto.
911 (erase_dir): Eliminate goto.
912 (erase_dir_iff_empty): Likewise.
914 2002-01-29 Andrew V. Samoilov <kai@cmail.ru>
916 * dir.c (handle_dirent): Use MSG_ERROR.
917 * charsets.c (translate_character): Use ICONV_CONST.
919 2002-01-22 Pavel Roskin <proski@gnu.org>
921 * screen.c: Don't try to paint anything if width is 0 or less.
922 Reported by Pawel Sakowski <pawel@sakowski.eu.org>
924 * screen.c: Make functions static whenever possible. Remove
926 * panel.h: Remove corresponding declarations.
928 2002-01-21 Pavel Roskin <proski@gnu.org>
930 * util.c: Move replacements for permission bits ...
931 * fs.h: ... here. Add more replacements.
932 * global.h: Include direct.h only with MSVC.
934 * main.c: Include "drive.h", not <drive.h>, do it after panel.h.
935 Use _OS_NT as the condition for including drive.h.
936 * screen.c: Use _OS_NT as the condition for including drive.h.
938 * global.h [_OS_NT]: Include io.h, direct.h and windows.h.
939 Don't redefine struct timeval.
941 * fs.h [_MSC_VER]: Use dirent provided by glib.
943 * global.h [!HAVE_SYS_TIME_H]: Provide a replacement for struct
946 * findme.c: Respect HAVE_UNISTD_H.
949 * global.h: Fallback to sys/utime.h if utime.h is missing.
951 * global.h: Provide fallbacks for getuid(), getgid(), geteuid()
953 * fs.h: Fully trust HAVE_DIRENT_H.
954 * complete.c: Don't include dirent.h directly, fs.h takes care
957 * filegui.c: Likewise.
959 * treestore.c: Likewise.
961 * global.h [!__GNUC__]: Define __attribute__ with one argument.
963 2002-01-20 Pavel Roskin <proski@gnu.org>
965 * screen.c (string_file_size): Translate "UP--DIR".
966 (string_file_size_brief): Translate "SUB-DIR" and "SYMLINK".
968 * dir.c (add_dotdot_to_list): Don't use costly stat() - just put
969 realistic (i.e. bogus) data to the list.
971 * screen.c (string_file_size): Don't display size of ".." - it
972 may take too much time to calculate it on VFS. Show "UP--DIR"
974 (string_file_size_brief): Remove ".." handling - it's now done
975 in string_file_size(). Show "SUB-DIR" for links to directories,
976 "SYMLINK" for other links.
978 2002-01-17 Pavel Roskin <proski@gnu.org>
980 * cmd.c: Remove OS/2 specific code.
984 * main.h: Remove dead declarations.
985 * setup.c: Remove defunct extension alignment support.
989 * main.c: Remove unused toggle_* functions.
991 * dir.c: Show backups by default.
993 2002-01-15 Andrew V. Samoilov <kai@cmail.ru>
995 * file.c (copy_dir_dir): Check the destination is a directory
996 if it exists. Reported by Thomas <metaf4@pseudonym.org>.
998 2002-01-09 Andrew V. Samoilov <kai@cmail.ru>
1000 * util.c (string_perm) [S_IFDOOR]: Support Solaris doors.
1001 * screen.c (string_file_type) [S_IFDOOR]: Likewise.
1003 2001-12-21 Pavel Roskin <proski@gnu.org>
1005 * hotlist.c (hotlist_callback): Recognize "delete" key.
1007 * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang/slang-mc.h to
1009 [HAVE_SYSTEM_SLANG]: Use angle brackets for slang.h.
1011 * myslang.h [!HAVE_SYSTEM_SLANG]: Include slang-mc.h directly
1012 to avoid relying on symlinks.
1014 2001-12-18 Pavel Roskin <proski@gnu.org>
1016 * utilunix.c (init_groups): Don't return prematurely if the
1017 primary group cannot be found (it can happen on Cygwin).
1019 2001-12-10 Pavel Roskin <proski@gnu.org>
1021 * dir.c (do_reload_dir): Hash-table added.
1022 From Björn Eriksson <mdeans@algonet.se>
1024 2001-12-03 Pavel Roskin <proski@gnu.org>
1026 * dir.c (do_reload_dir): Optimize the logic - count the marks
1027 and only match new entries against old entries if at least one
1028 mark has not been transferred.
1029 From Björn Eriksson <mdeans@algonet.se>
1031 2001-11-29 Pavel Roskin <proski@gnu.org>
1033 * main.c (midnight_callback): Implement "auto menus".
1035 * layout.c: Make more variables static.
1037 * cons.saver.c: Define LINUX_CONS_SAVER_C so that some parts
1038 of cons.saver.h can be omitted.
1039 * cons.saver.h: Declare nothing but constants if
1040 LINUX_CONS_SAVER_C is defined.
1042 2001-11-14 Pavel Roskin <proski@gnu.org>
1044 Fully eliminate all references to HAVE_X and HAVE_GNOME.
1046 * dir.c (do_sort): Correctly handle the case when there is no
1047 ".." entry (i.e. panelized mode).
1049 2001-11-14 Andrew V. Samoilov <kai@cmail.ru>
1051 * view.c (do_view_init): Make sure _file is not
1052 an empty string before mc_stat and mc_open.
1055 2001-11-14 Pavel Roskin <proski@gnu.org>
1057 * panelize.c (do_external_panelize): Re-sort the panel according
1058 to the current settings.
1060 * find.c (do_find): Re-sort the panel according to the current
1061 settings when doing panelizing.
1063 * dir.c (sort_type_to_name): Remove, it's unused in the text
1065 (sort_name_to_type): Likewise.
1066 * dir.h: Adjust to match.
1068 * mouse.c: Add default cases to fix warnings with gcc-2.96.
1070 2001-11-12 Pavel Roskin <proski@gnu.org>
1072 * main.c: Remove support for subshell debugging. Firstly, it
1073 was broken. Secondly, every developer should be able to add
1074 this code when needed. Finally, there is no need to expose the
1075 option to the user and translate it into 30 languages.
1076 * subshell.h: Remove debug_subshell.
1077 * subshell.c: Likewise.
1079 2001-11-12 Andrew V. Samoilov <kai@cmail.ru>
1081 * mad.h: Enable glib support.
1083 * mad.[ch] (mad_get_current_dir): New function to use instead
1084 of g_get_current_dir.
1085 (mad_tempnam): Add file and line parameters.
1086 (mad_alloc0): Make file parameter const.
1087 (mad_realloc): Likewise.
1088 (mad_strdup): Likewise.
1089 (mad_strndup): Likewise.
1090 (mad_free): Likewise.
1091 (mad_finalize): Likewise.
1093 2001-11-07 Andrew V. Samoilov <kai@cmail.ru>
1095 * cmd.c (guess_message_value): Make val static const array.
1096 (smblink_cmd) [!WITH_SAMBA]: Eliminated.
1098 * dlg.c (add_widget): Check for what is not NULL
1099 before everything else.
1101 * slint.c (slang_reset_softkeys): Make display static const
1102 array. Use sizeof (display) - 1 instead of strlen display.
1103 (color_terminals): Make static const array.
1104 (key_table): Make const.
1106 (dealloc_color_pairs) [HAVE_MAD]: New function. Release
1107 memory allocated in try_alloc_color_pair.
1108 (slang_shutdown) [HAVE_MAD]: Call dealloc_color_pairs.
1109 (try_alloc_color_pair): Move struct c outside function.
1111 2001-10-29 Andrew V. Samoilov <kai@cmail.ru>
1113 * charsets.c (load_codepages_list): Use glib memory allocation
1115 (free_codepages_list) [HAVE_MAD]: New function to release
1116 memory allocated in load_codepages_list.
1117 * charsets.h: Declare free_codepages_list.
1119 * main.c [HAVE_CHARSET]: Include charsets.h.
1120 (main) [HAVE_MAD && HAVE_CHARSET]: Call free_codepages_list.
1121 (program_name): Commented out.
1123 2001-10-26 Andrew V. Samoilov <kai@cmail.ru>
1125 * key.c (push_char): Fix buffer length calculation.
1126 By David Kaelbling <drk@sgi.com>.
1127 http://bugzilla.gnome.org/show_bug.cgi?id=60932
1129 (define_sequence): Likewise.
1130 (key_define_t): Add const declaration.
1132 2001-10-22 Pavel Roskin <proski@gnu.org>
1134 * main.h: Declare view_one_file and edit_one_file.
1136 2001-10-22 Andrew V. Samoilov <kai@cmail.ru>
1138 * dialog.h: Include global.h.
1139 (message): Specify __attribute__.
1141 2001-10-20 Pavel Roskin <proski@gnu.org>
1143 * main.h (print_vfs_message): Specify __attribute__.
1145 2001-10-19 Pavel Roskin <proski@gnu.org>
1147 * global.h: Define __attribute__ to an empty string for non-gcc
1148 compilers so that it's safe to use.
1150 2001-10-18 Pavel Roskin <proski@gnu.org>
1152 * view.c (init_growing_view): Revert last change, it was wrong.
1153 (view_hook): Don't check that the file is regular - it's now
1154 done in do_view_init(). This fixes update problem in quick view
1155 when moving cursor from a regular file to a directory.
1157 * view.c (do_view_init): Only accept regular files. Use stat(),
1158 not fstat() because open() would hang on pipes. Avoid opening
1160 (init_growing_view): Take file descriptor, not the filename.
1161 (load_view_file): Likewise.
1163 2001-10-01 Pavel Roskin <proski@gnu.org>
1165 * boxes.c (tree): Rename to tree_box() to avoid confusion.
1166 Adjust all callers and headers.
1167 * main.c (tree_box): Rename to tree_box_cmd().
1169 * tree.c (set_navig_label): Get argument "tree".
1170 (set_navig_label): Likewise. Adjust all callers. Don't cast
1171 function tree() to (Widget *) - it's wrong and dangerous.
1173 * widget.h: Use type "buttonbarfn" more consistently.
1174 * widget.c: Likewise.
1176 * setup.c [!USE_VFS]: Warning fix.
1177 * hotlist.c [!USE_VFS]: Likewise.
1179 * tree.c (tree_navigation_flag): Should not be static.
1181 * screen.c (panel_format_modified): Use more portable cast.
1183 * fileopctx.h: Define new type mc_stat_fn.
1184 * filegui.c (file_mask_dialog): Cast mc_stat and mc_lstat to
1185 mc_stat_fn to prevent warnings without VFS support.
1186 * fileopctx.c (file_op_context_new): Likewise.
1188 2001-09-23 Andrew V. Samoilov <kai@cmail.ru>
1190 * find.c: Include rx.h or regex.h
1191 (get_line_at): New function. Returns malloc()ed null-terminated
1192 line from file file_fd. Input is buffered in buf_size long
1194 (search_content): Don't use external egrep.
1195 Use get_line_at and regexp.
1197 2001-09-21 Pavel Roskin <proski@gnu.org>
1199 * cmd.c: Change all "long" variables to "off_t" whenever they
1200 are used to store file sizes.
1203 * fileopctx.h: Likewise.
1205 * filegui.c: Likewise.
1206 (show_bar): Take "double" arguments. Normalize arguments of
1207 gauge_set_value() before converting them to "int".
1209 2001-09-17 Pavel Roskin <proski@gnu.org>
1211 * mouse.h: Major cleanup and interface change. init_mouse()
1212 should only be called once, disable_mouse() and enable_mouse()
1213 should be used later. Distinguish between disabled and
1214 undetected mouse. Remove debugging stuff. Adjust all users.
1215 * mouse.c: Implementation of the above.
1216 * key.c: Don't use gpm_flag - check mouse_enabled instead.
1218 2001-09-15 Pavel Roskin <proski@gnu.org>
1220 * view.c: Cleanup of preprocessor directives.
1222 * widget.c: Likewise.
1223 * widget.h: Likewise.
1225 * textconf.h: Get rid of all PORT_HAS_*. Adjust all users.
1226 Continued eliminating GNOME code.
1228 * cmd.c: Clean up unused GNOME code and some ifdef's.
1232 * setup.c: Likewise.
1234 * cmd.c (guess_message_value): Remove the argument. Adjust all
1237 * textconf.c (features): Remove "edition", minor fixes.
1238 (version): Don't report the current locale - it's meaningless,
1239 especially if ENABLE_NLS is not defined.
1241 * textconf.h: Remove status_using_ncurses - it's useless now.
1242 Adjust all users. Call do_exit_ca_mode() and do_enter_ca_mode()
1245 * main.c (init_xterm_support): Don't enable xterm_flag just
1246 because of "kmous" in terminfo. Setiing this flag means much
1247 more than just mouse support. Recognize terminals beginning
1248 with "rxvt" and set xterm_flag for them.
1250 * cmd.c (view_other_cmd): Don't check use_mouse_p before calling
1251 init_mouse() and shut_mouse(), since those functions decide
1252 themselves what to do.
1253 * layout.c (done_screen): Likewise.
1254 * main.c (setup_mc): Likewise.
1255 * text.c (edition_post_exec): Likewise.
1256 (edition_pre_exec): Likewise.
1258 * user.h: Fix location of the home editor menu.
1259 Reported by David Martin <dmartina@excite.es>
1261 * mouse.h: Export xmouse_seq.
1262 * mouse.c (init_mouse): Use xmouse_seq instead of hardcoded
1263 xterm mouse sequence.
1264 * main.c (setup_post): Join with setup_mc().
1265 (init_xterm_support): New function. Check mouse capability.
1266 (OS_Setup): Remove parts that are now in init_xterm_support().
1268 2001-09-14 Pavel Roskin <proski@gnu.org>
1270 * key.c (get_event): Recognize KEY_MOUSE, not just MCKEY_MOUSE.
1271 * mouse.c: Don't use or emulate keyok(), since MC understands
1274 2001-09-11 Pavel Roskin <proski@gnu.org>
1276 * cmd.c (check_for_default): Make accessible from other files.
1277 * cmd.h: Declare check_for_default().
1279 2001-09-10 Pavel Roskin <proski@gnu.org>
1281 * layout.c: Use HAVE_TERMIOS_H and HAVE_SYS_IOCTL_H more
1283 * mouse.c: Likewise.
1284 * subshell.c: Likewise.
1286 * util.c: Remove unused includes.
1288 * Makefile.am (mc_LDADD): Don't use LSLANG and LGPM, since they
1289 are now included into MCLIBS.
1291 * Makefile.am (mc_LDADD): Use INTLLIBS provided by gettext
1294 2001-09-09 Pavel Roskin <proski@gnu.org>
1296 * hotlist.c (load_hotlist): If cannot open hotlist, don't assume
1297 that it needs to be migrated and don't warn the user.
1299 2001-09-08 Pavel Roskin <proski@gnu.org>
1301 * Makefile.am: Fix definitions of CONFDIR and LOCALEDIR.
1303 * subshell.c: Move definitions of WEXITSTATUS and WIFEXITED
1304 below all includes so that they can be defined elsewhere.
1306 2001-09-07 Pavel Roskin <proski@gnu.org>
1308 * myslang.h: Specify arguments to function-like macros or remove
1309 them if they are unused.
1311 * main.c: Remove old debugging code. Remove external function
1313 (menu_bar_event): Remove, it's unused.
1314 * main.h: Declare get_mc_lib_dir() and force_ugly_line_drawing.
1315 * layout.c: Remove all external declarations.
1317 * main.c (main): Call save_stop_handler() - it was ifdef'd out
1320 * main.c: Remove all GNOME code.
1322 * cmd.c: No need to define "MIDNIGHT" before including vfs.h.
1324 * user.h: Remove all dirty tricks with "MIDNIGHT" - they are not
1327 * global.h: Include io.h, pwd.h, grp.h and utime.h. Adjust all
1328 sources not to include them and to include global.h at the right
1331 * global.h: Include all time-related system includes, since
1332 it's non-trivial (order, conflicts) and is better handled in one
1335 2001-09-06 Pavel Roskin <proski@gnu.org>
1337 * fsusage.c: Include sys/param.h before sys/mount.h - it's
1338 required on some systems.
1339 * mountlist.c: Likewise.
1340 From Timur Bakeyev <mc@bat.ru>
1342 2001-09-04 Pavel Roskin <proski@gnu.org>
1344 * Makefile.am: Don't use substituted values directly. Define
1345 CHARSET_SRC unconditionally. Join SRCS and HDRS.
1347 2001-09-03 Pavel Roskin <proski@gnu.org>
1349 * widget.c (label_new): Don't calculate dimensions of multiline
1350 labels, since they cannot be changed and msglen() is already
1351 used when the dialog is created.
1353 * Makefile.in: Converted to ...
1354 * Makefile.am: ... this.
1356 * slint.c: Make more data and function static.
1357 * key.h: Remove declarations that are now static.
1358 * myslang.h: Likewise.
1360 * x.h: Remove. Adjust all users. Make sure that global.h is
1361 included instead. Don't include sys/param.h unconditionally -
1362 rely on global.h taking care of it.
1363 * Makefile.in: Remove x.h.
1365 * color.c: Remove unused code.
1366 * color.h: Likewise.
1368 2001-09-02 Pavel Roskin <proski@gnu.org>
1370 * key.c: Remove support for BUGGY_CURSES.
1372 * tty.h: Remove support for old curses and GNOME.
1373 * global.h: Likewise.
1375 * widget.c (label_new): Set initial width of the widget based on
1378 * view.c (hex_search): Don't use sscanf() to search for quoted
1379 strings - use strchr instead.
1381 2001-08-31 23:14:21 Timur Bakeyev <mc@bat.ru>
1383 * utilunix.c: init_groups(), destroy_groups(), get_user_permissions()
1384 rewritten to use GTree structure and functions. Add new static helper
1385 functions mc_gid_compare() and mc_gid_destroy().
1387 * util.h: Removed deprecated structure user_in_groups.
1389 * screen.c: Fixed typo in format report error string.
1391 2001-08-31 23:14:21 Timur Bakeyev <mc@bat.ru>
1393 * utilunix.c: get_user_rights() renamed into get_user_permissions().
1394 delete_groups() renamed into destroy_groups().
1396 * screen.c: Likewise.
1399 2001-08-27 Pavel Roskin <proski@gnu.org>
1401 * cmd.c (dirsizes_cmd): Don't cast st_size to long - use off_t
1402 instead, since off_t can be longer.
1403 Reported by Radovan Bukoci <rado@autoparts.sk>
1405 2001-08-30 David Martin <dmartina@excite.es>
1407 * info.c (info_show_info): Use size_trunc_len() instead of
1408 print_bytesize(). Don't assume English word ordering. Add
1409 singular message when single block.
1410 * win.c (print_bytesize): Remove.
1411 (sprint_bytesize): Remove.
1412 * win.h: Remove print_bytesize() and sprint_bytesize().
1414 * util.c (size_trunc_len): Add units parameter. Change all
1417 * util.c (size_trunc_len): Print size values with some (little)
1418 sense for tiny and even wee lengths (i.e. squeezed X terminals).
1420 * info.c (info_show_info): Move comment line just before
1421 translatable message so it's shown in .po files to alert
1422 translators. The message (translated) is used to set the start
1423 column (so the available width) for some "truncatable" strings.
1425 2001-08-27 Pavel Roskin <proski@gnu.org>
1427 * key.c (learn_key): Turn off keypad to disable intepreting keys
1429 Reported by Frederic L. W. Meunier <fredlwm@pervalidus.net>
1431 2001-08-26 Pavel Roskin <proski@gnu.org>
1433 * xcurses.c: Remove.
1434 * Makefile.in: Remove all references to xcurses.c.
1436 2001-08-24 Pavel Roskin <proski@gnu.org>
1438 * user.h: Include "../edit/edit-widget.h", not
1439 "../gtkedit/edit-widget.h".
1441 * subshell.c: Use standard Autoconf symbols to determine whether
1442 to include <stropts.h> and <grp.h>.
1444 2001-08-23 Pavel Roskin <proski@gnu.org>
1446 * subshell.c (feed_subshell): Don't wait forever after the first
1447 select() call if fail_on_error is true. This alleviates hang
1448 with zsh on QNX Neutrino.
1450 2001-08-21 Pavel Roskin <proski@gnu.org>
1452 * view.h: Declare view_dlg.
1453 * main.h: Declare edit_dlg.
1454 * layout.c (change_screen_size): Remove external declarations
1455 inside the function.
1457 2001-08-20 Pavel Roskin <proski@gnu.org>
1459 * view.c (load_view_file) [!HAVE_MMAP]: Warning fix.
1461 2001-08-19 Pavel Roskin <proski@gnu.org>
1463 * main.c (mc_maybe_editor_or_viewer) [!USE_INTERNAL_EDIT]:
1464 Reenable to make "mc -v" possible.
1465 (do_nc): Call mc_maybe_editor_or_viewer() even if the editor
1467 (argument_table) [!USE_INTERNAL_EDIT]: Disable "-e".
1469 2001-08-19 Andrew V. Samoilov <sav@bcs.zp.ua>
1471 * view.c (view_handle_key) [HAVE_CHARSET]: Remove unneeded
1474 2001-08-19 Pavel Roskin <proski@gnu.org>
1476 * screen.c [HAVE_X]: Disable unused code.
1478 * fs.h: Correctly include <sys/param.h>.
1479 * x.h: Include "global.h". Move all contents ...
1482 * regex.c (regex_compile): Warning fix for ambiguous else.
1484 2001-08-18 Pavel Roskin <proski@gnu.org>
1486 * key.c (xmouse_get_event): Filter out GPM_UP events that don't
1487 follow a GPM_DOWN event. Filter out events with unknown button
1488 numbers, such as mouse wheel events.
1489 (get_event): Return EV_NONE if xmouse_get_event() decided to
1492 * main.c (init_sigchld): Disable subshell if SIGCHLD handler
1493 cannot be installed.
1495 * x.h: Instead of undefining MIX and MAX after <gnome.h> make
1496 sure that <sys/param.h> is included before <gnome.h>.
1498 2001-08-17 Pavel Roskin <proski@gnu.org>
1500 * key.c (mc_bindings) [linux]: Remove old hack - recognizing
1501 "\e[2~" on all terminals.
1503 2001-08-16 Pavel Roskin <proski@gnu.org>
1505 * charsets.c (load_codepages_list): Print a warning if
1506 mc.charset cannot be opened.
1507 * setup.c (load_setup) [HAVE_CHARSET]: Remove all popup messages
1508 because it's to early to use them - ncurses would crash.
1510 2001-08-15 Pavel Roskin <proski@gnu.org>
1512 * util.c (strip_ctrl_codes): Rewrite using pointers. Fix
1513 stripping sequences beginning with "\e[". Check is_printable().
1515 * man2hlp.c: Remove HTML support. Remove old link support.
1517 (print_string): Handle backslashes in verbatim mode too.
1519 * main.c (setup_pre) [HAVE_CHARSET]: Fix compilation with
1522 * textconf.c (features): Fix interpretation of
1524 From David Martin <dmartina@excite.es>
1526 2001-08-14 Pavel Roskin <proski@gnu.org>
1528 * key.h (define_sequence): Change declaration to return int.
1529 * key.c (define_sequence): Return 1 on success, 0 on error.
1530 * learn.c (learn_button): Don't accept sequence if
1531 define_sequence() has failed.
1533 2001-08-12 Pavel Roskin <proski@gnu.org>
1535 * learn.c (learn_save): Fix memory leak.
1537 * dir.c (string_sortcomp) [HAVE_STRCOLL]: Make static.
1539 * cmd.c (guess_message_value): Typo - replace "LC_MESSAGE" with
1542 * dir.c (string_sortcomp) [HAVE_STRCOLL]: Always use strcmp()
1543 for case sensitive sort. For case insensitive sort use
1544 strcoll() if it's case insensitive for ASCII and g_strcasecmp()
1547 2001-08-11 Pavel Roskin <proski@gnu.org>
1549 * achown.c (chown_advanced_cmd): Remove dead code.
1550 * chown.c (chown_cmd): Likewise.
1551 * chmod.c (chmod_cmd): Likewise.
1553 * charsets.c (load_codepages_list): Use concat_dir_and_file().
1555 * mad.h: Disable glib support - it doesn't work properly.
1557 2001-08-07 Pavel Roskin <proski@gnu.org>
1559 * view.c: Warning fixes. Include "cmd.h". Rename help_cmd()
1561 (view_handle_key) [HAVE_X]: Disable '!' and Ctrl-O.
1563 * main.c (do_execute): Don't show prompt if the command is empty
1564 and the subshell is not running.
1565 * view.c (view_handle_key): Add support for Ctrl-O in the viewer.
1566 Suggested by Walery Studennikov <despair@sama.ru>
1568 2001-08-06 Pavel Roskin <proski@gnu.org>
1570 * boxes.c (display_init): Associate correct help topic.
1571 (sort_box): Likewise.
1572 (set_panel_filter): Likewise.
1573 * option.c (init_configure): Likewise.
1574 * menu.c (menubar_handle_key): Show help dependent on the active
1577 2001-08-06 Andrew V. Samoilov <kai@cmail.ru>
1579 * mad.c (mad_strdup): Return NULL if NULL is passed.
1581 * view.c (block_search): Return the position where the block was
1582 found as declared in comment.
1583 (hex_search): Don't increase pos, block_search returns now right
1586 2001-08-03 Andrew V. Samoilov <kai@cmail.ru>
1588 * mad.[ch] (mad_check): Declare file parameter const.
1589 (mad_alloc): Likewise. Don't truncate it.
1590 (mad_abort): Declare message and file parameters const.
1592 2001-08-03 Pavel Roskin <proski@gnu.org>
1594 * file.c: Warning fix. Include global.h before other local
1596 * filegui.c: Likewise.
1597 (fmd_init_i18n) [!ENABLE_NLS]: Completely disable.
1598 * i18n.h [!ENABLE_NLS]: Warning fix.
1599 * learn.c (init_learn): Move do_refresh() call immediately
1600 before cleate_dlg(). Warning fix.
1602 2001-07-31 Pavel Roskin <proski@gnu.org>
1604 * Makefile.in: "install" now depends on "all".
1605 Reported by Walery Studennikov <despair@sama.ru>
1607 2001-07-31 Andrew V. Samoilov <kai@cmail.ru>
1609 * util.c [!HAVE_X] (is_printable): Don't duplicate declarations from
1611 (load_file): Use fopen and fstat to prevent race conditions.
1612 (size_trunc): Make suffix const array.
1613 (strip_password): Make prefixes const array.
1614 (file_date): Make fmt auto variable.
1615 * color.c (color_table): Make constant array.
1616 * widget.[ch] (label_new): Make text parameter const.
1617 * menu.c (create_menu): Don't localize name, it is always done.
1618 * find.c (find_parameters): Fix hotkeys duplication.
1619 * complete.c (command_completion_function): Don't stop $PATH
1620 processing on empty entry. Interpret it as current directory.
1622 2001-07-31 Pavel Roskin <proski@gnu.org>
1624 * charsets.c: Warning fixes.
1625 * charsets.h: Likewise.
1626 * selcodepage.c: Likewise.
1627 * selcodepage.h: Likewise.
1629 * Makefile.in: Move most logic around gindex.pl into gindex.pl.
1630 Don't use maintainer-only rules since mc.hlp won't be removed
1631 now if perl is missing or gindex.pl fails.
1632 * gindex.pl: Run man2hlp internally. Use files given as
1633 arguments instead of stdin and stdout.
1635 2001-07-30 Pavel Roskin <proski@gnu.org>
1637 * mad.c: Don't use g_calloc - it's missing in glib 1.2.x.
1638 * mad.h: Likewise. Use mad_alloc0() to emulate calloc().
1640 * view.h: Simplify, respect WANT_WIDGETS setting.
1642 2001-07-28 Pavel Roskin <proski@gnu.org>
1644 * view.c (view_ok_to_quit): Make global - it's needed for GMC.
1645 * view.h: Declare view_ok_to_quit().
1647 2001-07-27 Pavel Roskin <proski@gnu.org>
1649 * util.c [!USE_VFS] (get_current_wd): Resurrect, this time using
1650 g_get_current_dir().
1652 * background.h: Remove WITH_BACKGROUND, it's now in extraconf.h.
1653 * background.c: Use WITH_BACKGROUND instead of USE_NETCODE.
1655 * util.c (mc_mkstemps): Don't prepend $TMPDIR if prefix contains
1658 2001-07-26 Pavel Roskin <proski@gnu.org>
1660 * cmd.c (do_link): Append filename to the default symlink
1661 target. Don't add path separator if there is no listing on
1662 the other panel. Avoid using fixed size buffers.
1663 From Max Schedriviy <max@tavrida.net>
1665 * main.c [HAVE_X]: Disable eight_bit_clean and full_eight_bits.
1666 * util.c (is_printable) [HAVE_X]: Simplify.
1668 2001-07-25 Pavel Roskin <proski@gnu.org>
1670 * cmd.c (do_link): Simplify. Don't silently exit if the source
1671 file is not regular - let user see the error if any.
1673 2001-07-24 Pavel Roskin <proski@gnu.org>
1675 * achown.c (ch_perm): Make constant array.
1676 (chown_info_update): Use set_perm_by_flags(), not set_perm().
1679 * achown.c: Make all global variables static. Fix help.
1680 * complete.c: Likewise.
1681 * chmod.c: Make all global variables static.
1682 * chown.c: Likewise.
1683 * chmod.h: Remove all variables.
1685 2001-07-23 Pavel Roskin <proski@gnu.org>
1687 * user.c: Eliminate static variable s_editwidget. Pass
1688 edit_widget as argument. All callers changed.
1689 (expand_format): Fix expansion of %n and %b for the editor.
1690 * util.c: Remove dead code.
1692 * setup.c (load_keys_from_section): Give terminal-specific
1693 settings preference over settings from [terminal:general].
1695 2001-07-22 Pavel Roskin <proski@gnu.org>
1697 * setup.c (load_keys_from_section): Give ~/.mc/ini preference
1700 2001-07-20 Pavel Roskin <proski@gnu.org>
1702 * dlg.c: Remove dependency on definitions in gconf.h.
1704 * widget.c (input_callback) [HAVE_X]: Disable Ctrl-q - it
1707 * file.c (panel_get_file): Use g_assert_not_reached().
1708 * key.c (xgetch_second): Make static.
1710 2001-07-19 Pavel Roskin <proski@gnu.org>
1712 * user.c (check_format_view): Match "unform" instead of
1713 "unformated" because some users may spell this word correctly.
1715 2001-07-17 Pavel Roskin <proski@gnu.org>
1717 * util.c (get_current_wd): Remove. It's obsoleted by
1718 g_get_current_dir() from glib.
1720 * ext.c (exec_extension): Add the `rm' command to the end of
1721 temporary scripts so that they erase themselves.
1723 * util.c (mc_mkstemps): Always use "unsigned long" for enthropy,
1724 since gcc-2.7.2.1 on SunOS doesn't understand __extension__ and
1725 checking for "long long" is not worth the trouble.
1726 Reported by David Martin <dmartina@excite.es>
1728 2001-07-16 Pavel Roskin <proski@gnu.org>
1730 * utilunix.c (mc_doublepopen): Use _exit() instead of exit()
1731 and don't close any unrelated file descriptors. Explicitly
1734 2001-07-15 Pavel Roskin <proski@gnu.org>
1736 * mad.h: Include stdio.h to prevent redefining mad_tempnam().
1737 * main.c [HAVE_X && HAVE_MAD]: Don't call done_key().
1739 * dlg.h: Remove declarations of non-existent functions.
1740 [HAVE_X]: Disable color constants - they shouldn't be used.
1742 * boxes.c [WITH_SMBFS] (vfs_smb_get_authinfo): Copied from
1743 vfs/smbfs.c, function authinfo_get_authinfo_from_user().
1745 * cmd.c [HAVE_X]: Disable source routing dialog and panel
1747 * main.c (ctl_x_map): Simplify preprocessor directives.
1749 2001-07-14 Pavel Roskin <proski@gnu.org>
1751 * screen.c (panel_keymap) [HAVE_X]: Disable Alt-H - it's not
1752 implemented properly for GNOME.
1753 * main.c (directory_history_list) [HAVE_X]: Disable.
1755 * panelize.c [HAVE_X]: Disable unused code.
1757 * main.c [HAVE_X]: Disable Ctrl-X sequences.
1759 * find.c: Remove code unused in the text edition.
1761 * main.c [HAVE_X]: Eliminate setup_post() and partly done_mc().
1763 * utilunix.c (uid_cache): Make static.
1764 (gid_cache): Likewise.
1765 (init_uid_gid_cache): Remove.
1766 * main.c (setup_post): Don't call init_uid_gid_cache().
1768 * main.c (default_map) [HAVE_X]: Disable Alt-T.
1769 * cmd.c [HAVE_X]: Eliminate set_basic_panel_listing_to() and
1770 toggle_listing_cmd().
1772 2001-07-13 Pavel Roskin <proski@gnu.org>
1774 * utilunix.c (canonicalize_pathname): Don't handle PATH_SEP
1775 after backslash in a special way.
1777 2001-07-12 Pavel Roskin <proski@gnu.org>
1779 * subshell.c (init_subshell): Run "set echo_style=both" at
1780 startup to ensure that echo in tcsh understands octal numbers.
1781 Reported by Francis Kwok <francis.kwok@alcatel.com>
1783 * Makefile.in (OURLIBS): Merge with ...
1784 (LIBS): ... this. Add @LIBICONV@.
1785 Reported by Libor Motyèka <l_motycka@ortex.cz>
1787 * subshell.c (subshell_name_quote): New function. Quote all
1788 characters as octals, use command substitution.
1789 (do_subshell_chdir): Use subshell_name_quote(). Don't change
1790 terminal settings when the quoted path is sent to the shell -
1793 2001-07-12 Andrew V. Samoilov <kai@cmail.ru>
1795 * main.c: Eliminate iconify_on_exec.
1796 [!HAVE_GNOME]: Eliminate nowindows, nodesktop, twopanel,
1797 display_linksdir and cmdline_geometry.
1798 (sigchld_handler_no_subshell): Comment fixes.
1799 (midnight_callback): Likewise.
1800 (print_mc_usage): Use fputs, not fprintf.
1801 (print_color_usage): Likewise.
1802 (argument_table): Assign 'r' with force_subshell_execution and 'U'
1804 (process_args): Don't deal with 'r', 'U' and 'X' options.
1805 (setup_mc) [HAVE_GNOME]: Eliminate more code.
1807 setup.c (options): Eliminate iconify_on_exec.
1809 2001-07-10 Andrew V. Samoilov <kai@cmail.ru>
1811 * view.c (hex_search): Release buffer after use.
1813 2001-07-09 Pavel Roskin <proski@gnu.org>
1815 * view.c (hex_search): Reimplement parser using sscanf. Add
1816 support for decimal and octal numbers. Add error reporting.
1817 Allocate buffer dynamically.
1819 * hotlist.c: Add comments to avoid confusion between
1820 done_hotlist() and hotlist_done().
1821 (hotlist_done): Set l_hotlist to NULL.
1822 (add2hotlist): Load hotlist if it's neither loaded nor loading.
1823 This fixes Ctrl-x h. Fix compiler warning.
1825 * hotlist.c: Make more variables and functions static.
1827 2001-07-08 Pavel Roskin <proski@gnu.org>
1829 * ext.c (exec_extension) [HAVE_X]: Free file_name. Add comment
1830 explaining why it cannot be unlinked there.
1832 2001-07-06 Pavel Roskin <proski@gnu.org>
1834 * ext.c (exec_extension): Unlink temporary file earlier if it's
1835 not going to be used.
1838 * Makefile.in: Use additional quotes to preserve @prefix@ when
1839 Makefile is generated.
1841 * Makefile.in: Don't use SEDCMD2, use sed.
1843 * cons.saver.c: New variable console_minor. Eliminate variables
1845 (check_file): Set console_minor to the minor device number of
1846 the console. Disallow /dev/tty0.
1847 (detect_console): Don't parse tty_name, instead make sure that
1848 it corresponds to console_minor. Check console first. Fallback
1849 to /dev/vcc/a* if /dev/vcsa* cannot be opened.
1850 (save_console): Use console_minor.
1851 (restore_console): Likewise.
1853 * cons.saver.c (check_file): Eliminate using text messages to
1854 indicate errors. Improve debug messages.
1855 (detect_console): Likewise.
1856 (main): Adjust call to detect_console.
1858 * main.c (sigchld_handler_no_subshell): Don't restart cons.saver
1860 * subshell.c (sigchld_handler): Likewise.
1862 2001-07-05 Pavel Roskin <proski@gnu.org>
1864 * main.c (midnight_callback): Don't handle any events except
1865 Ctrl-x combinations on DLG_KEY event if the menu is active.
1867 * main.c (load_prompt): Don't change prompt if midnight_dlg is
1868 not the current dialog.
1870 2001-06-28 Pavel Roskin <proski@gnu.org>
1872 * util.c (size_trunc_len): New function - print file size to
1873 a buffer of limited length.
1874 * util.h: Declare size_trunc_len().
1875 * screen.c (string_file_size): Use size_trunc_len().
1877 2001-06-26 Pavel Roskin <proski@gnu.org>
1880 * Makefile.in (SRCS): Remove xslint.c.
1882 2001-06-25 Pavel Roskin <proski@gnu.org>
1884 * key.c (ctrl_pressed): Don't limit functionality to Linux.
1885 * screen.c (prev_page_key): Don't require console_flag to be set
1886 to use ctrl_pressed(), only require that HAVE_X is undefined.
1887 (next_page_key): Likewise.
1888 * widget.c (key_left): Don't limit functionality to Linux.
1889 (key_right): Likewise.
1891 * main.h: Use "ifdef HAVE_GNOME", not "if HAVE_GNOME". Fix the
1892 order of conditionals and put comments on endifs.
1894 2001-06-25 Andrew V. Samoilov <sav@bcs.zp.ua>
1896 * view.c [HAVE_CHARSET]: Include selcodepage.h.
1897 (view_new): Use g_new0.
1898 (ruler): Make static.
1900 * complete.c (filename_completion_function): Clean it up.
1901 (command_completion_function): Make words, bash_reserved and
1902 bash_builtins const, use concat_dir_and_file.
1903 (fetch_hosts): Fix typo, style fixes.
1905 2001-06-23 Pavel Roskin <proski@gnu.org>
1907 * mem.h: Undefine bcopy(), bcmp() and bzero() before redefining
1910 2001-06-22 Pavel Roskin <proski@gnu.org>
1912 * ext.c (exec_extension) [HAVE_X]: Disable console handling.
1914 * cons.handler.c: Reorganize includes. Fix warnings on BSD.
1915 * rxvt.c (rxvt_extensions): Make static.
1916 * main.c (sigchld_handler_no_subshell) [!__linux__]: Don't try
1917 to restart cons.saver.
1918 * subshell.c (sigchld_handler) [!__linux__]: Likewise.
1920 * fsusage.c: Use HAVE_INFOMOUNT.
1921 * mountlist.c: Likewise. Fix condition when mount_list is
1923 (fstype_to_string): Rename mount_list to mlist to avoid
1924 confusion with the file-scoped static variable.
1926 * cmd.c [HAVE_X]: Disable more code. Reorder includes.
1928 2001-06-20 Pavel Roskin <proski@gnu.org>
1930 * main.c: Remove MenuBarEmpty. From Andrew V. Samoilov.
1932 * wtools.c [HAVE_X]: Disable quick dialog routines.
1934 * setup.c (save_setup) [HAVE_X]: Don't save the [Dirs] section.
1935 (load_setup) [HAVE_X]: Don't load the [Dirs] section.
1936 * main.c [HAVE_X]: Disable other_dir and boot_current_is_left.
1939 2001-06-19 Pavel Roskin <proski@gnu.org>
1941 * background.h: Correct condition when WITH_BACKGROUND is
1943 * fsusage.c: Rearrange the includes. Define HAVE_QNX_MOUNT
1944 for old QNX and use it instead of __QNX__.
1945 * mountlist.c: Likewise.
1946 * keyxdef.c: Define HAVE_QNX_KEYS for old QNX and use it instead
1949 2001-06-18 Pavel Roskin <proski@gnu.org>
1951 * main.c [HAVE_X]: Disable change_panel(),
1952 copy_current_readlink() and copy_other_readlink().
1953 Don't do anything with cmdline and command_prompt.
1954 * screen.c [HAVE_X]: Disable panel_event(), chdir_other_panel()
1955 and chdir_to_readlink(). Adjust all callers.
1956 (panel_key) [HAVE_X]: Don't use command_prompt - always
1957 start search on alphanumeric keys.
1958 * setup.c [HAVE_X]: Disable save_layout(), load_layout(), struct
1959 layout. Adjust all dependencies.
1961 * utilunix.c (init_my_statfs): Move this ...
1962 * util.c (my_statfs): ... and this ...
1963 * mountlist.c: ... here.
1964 * util.h: Move mountlist-related declarations ...
1965 * mountlist.h: ... here.
1966 * info.c: Include mountlist.h.
1968 2001-06-17 David Martin <dmartina@excite.es>
1970 * hotlist.c (init_movelist): Don't assume English word ordering
1973 2001-06-16 Andrew V. Samoilov <sav@bcs.zp.ua>
1975 * wtools.c (message): Possible buffer overflow fixed.
1976 (query_callback) [HAVE_X]: Disable more code.
1977 (listbox_refresh) [!HAVE_X]: Became a macro.
1978 * hotlist.c (init_i18n_stuff): Mark cancel_but for translation.
1980 * tree.c (tree_copy, tree_move): Possible memory leaking fixed.
1981 (tree_keymap): Constified.
1983 2001-06-15 Pavel Roskin <proski@gnu.org>
1985 * panelize.c: Define DIR_H_INCLUDE_HANDLE_DIRENT earlier, since
1986 the GNOME edition includes dir.h from other headers.
1988 * background.c: Include "x.h".
1989 * panelize.c: Likewise.
1990 * treestore.c: Likewise.
1993 * command.c: Reorder includes. Include "x.h".
1994 * complete.c: Likewise.
1996 * user.h: Declare user_menu_cmd() unconditionally.
1997 * i18n.h [GAVE_GNOME]: Remove code that is now in x.h.
1999 * tty.h [HAVE_X]: Define beep() to gdk_beep().
2001 2001-06-14 Pavel Roskin <proski@gnu.org>
2003 * xtty.h: Remove, move contents ...
2005 [HAVE_X]: Define attrset(), mc_refresh(), enable_interrupt_key()
2006 and disable_interrupt_key(). Don't declare mc_refresh().
2007 * view.c: Use braces around widget_move() since it's empty in
2009 * xslint.c: Eliminate attrset() and mc_refresh().
2010 * Makefile.in: Remove xtty.h.
2012 * cons.handler.c (handle_console): Remove useless default.
2013 * ext.c (regex_command): Initialize include_target_len.
2014 * find.c [HAVE_GNOME]: Eliminate untyped declarations.
2015 * fsusage.c: Remove untyped declaration of statfs().
2016 [_AIX && _I386]: Rename statfs to aix_statfs and move
2017 it before get_fs_usage(). Define statfs to aix_statfs.
2019 * achown.c: Eliminate untyped declarations.
2020 * boxes.c: Likewise.
2021 * cons.saver.c: Likewise.
2022 * hotlist.c: Likewise.
2023 * panelize.c: Likewise.
2025 * main.c: Likewise. Make undeclared functions static.
2026 * treestore.c: Make undeclared functions static.
2028 * widget.c: Likewise.
2030 * main.h: Fix prototype of exec_shell.
2031 * tree.c: Make all functions static when possible.
2032 * tree.h: Changes for the above.
2034 * text.c [HAVE_X]: Remove useless #error.
2035 * cons.saver.c: Indent #error to hide it from old compilers.
2037 2001-06-13 Pavel Roskin <proski@gnu.org>
2039 * screen.c (display_mini_info): Avoid nested i18n calls.
2040 (parse_panel_size): Warning fix.
2041 * user.c [HAVE_X]: Warning fix.
2042 (check_format_var): Avoid nested i18n calls. Improve messages.
2044 * screen.c (user_file_menu_cmd) [HAVE_X]: Disable.
2045 (panel_callback) [HAVE_X]: Don't define labels, they are unused.
2046 * user.c [HAVE_X]: Disable all user menu code.
2048 * color.c (color_table): Make static. Only use in text edition.
2049 * xtty.h: Remove unused definitions.
2051 * slint.c (slang_init): Check screen dimensions and exit if they
2052 are abnormal. This may happen due to a S-Lang bug when the TERM
2053 is set to a value not listed in termcap or terminfo.
2055 2001-06-12 Pavel Roskin <proski@gnu.org>
2057 * boxes.c [HAVE_CHARSET]: Localize more strings. Lay out the
2058 encoding dialog using the translated title length. Remove
2059 useless preprocessor directives.
2060 From David Martin <dmartina@excite.es>
2062 2001-06-11 Andrew V. Samoilov <sav@bcs.zp.ua>
2064 * dlg.[ch] (x_set_dialog_title): title constified.
2065 (create_dlg): Use g_new0 instead of g_new.
2067 * selcodepage.c (do_select_codepage): Fix compilation.
2069 2001-06-09 Pavel Roskin <proski@gnu.org>
2071 * util.c (load_mc_home_file): New function. Load file from
2072 mc_home, but try localized version of that file first.
2073 * util.h: Declare load_mc_home_file().
2074 * help.c (interactive_display): Use load_mc_home_file(). If the
2075 first argument is NULL assume mc.hlp.
2076 * dlg.c (dialog_handle_key): Use interactive_display() without
2077 specifying the help file.
2078 * tree.c (tree_copy): Likewise.
2079 * cmd.c (help_cmd): Likewise.
2080 (get_random_hint): Use load_mc_home_file().
2081 From Andrew V. Samoilov.
2083 2001-06-07 Andrew V. Samoilov <sav@bcs.zp.ua>
2085 * charsets.h: Define CHARSETS_INDEX without leading LIBDIR.
2087 * charsets.c (translate_character): Warning fix.
2088 (init_translation_table): Don't deal with printable.
2089 This one is initialized by init_printable_table ().
2090 (load_codepages_list): Use CHARSETS_INDEX.
2092 * selcodepage.c (do_select_codepage): Messages marked for i18n.
2093 * setup.c (load_setup): Eliminate errbuf. Fix error message.
2095 2001-06-07 Pavel Roskin <proski@gnu.org>
2097 * setup.c (load_setup): Call init_printable_table() and
2098 init_translation_table() regardless of other failures.
2100 * charsets.c (get_codepage_index): Warning fix.
2101 (init_printable_table): New function.
2102 * charsets.h: Declare init_printable_table().
2103 * setup.c (load_setup): Uncomment init_printable_table().
2105 * cons.saver.c: Make all functions except main() static.
2106 * mfmt.c (omain): Remove, it's unused.
2108 2001-06-06 Pavel Roskin <proski@gnu.org>
2110 * main.c (done_mc) [HAVE_X]: Don't use xterm_flag.
2111 (midnight_callback) [HAVE_X]: Don't handle any keys except
2113 Remove useless preprocessor conditionals.
2114 * win.c [HAVE_X]: Disable unused functions.
2116 * file.c: Add comments after every endif.
2117 [HAVE_GNOME] [!WITH_BACKGROUND]: Fix compilation.
2119 2001-06-06 Andrew V. Samoilov <sav@bcs.zp.ua>
2121 * main.c [HAVE_CHARSET]: Remove source_codepage and display_codepage.
2122 They are declared in selcodepage.c.
2123 * setup.c [USE_VFS]: Remove declarations for variables which are
2124 declared in vfs/ftpfs.c.
2125 (load_setup) [HAVE_CHARSET]: init_printable_table commented
2126 out to enable compilation. Error strings tagged for translation.
2127 (init_setup): Optimized.
2128 * boxes.c (sel_charset_button): Eliminate C++ comment.
2129 (new_display_codepage): Made static.
2130 (display_bits_box): Use "%s" for plain string in message.
2132 2001-06-05 Pavel Roskin <proski@gnu.org>
2134 * boxes.c [HAVE_CHARSET]: New charset selection dialog.
2135 * main.c [HAVE_CHARSET]: Don't use eight_bit_clean and
2136 full_eight_bits. Use source_codepage and display_codepage to
2137 deduce the terminal 8-bitness.
2138 * main.h [HAVE_CHARSET]: Change to match main.c.
2139 * setup.c [HAVE_CHARSET]: Implement saving and loading charset
2141 * util.c (is_printable) [HAVE_CHARSET]: Use charset settings.
2142 * view.c [HAVE_CHARSET]: Implement charset support.
2143 From Walery Studennikov <hqsoftware@mail.ru>.
2145 * selcodepage.c (do_select_codepage): New function.
2146 * selcodepage.h: Declare it.
2147 From Walery Studennikov <hqsoftware@mail.ru>.
2149 * mfmt.c (omain): Warning fix.
2151 * key.c [HAVE_TEXTMODE_X11_SUPPORT]: Rename `display' to
2152 `x11_display' and `w' to `x11_window'. Make them static.
2153 (init_textmode_x11_support): Include into init_key().
2154 (done_textmode_x11_support): Include into done_key().
2155 (k_dispose): Make static.
2156 (s_dispose): Likewise.
2157 * key.h: Remove init_textmode_x11_support() and
2158 done_textmode_x11_support().
2159 * main.c: Don't call init_textmode_x11_support() and
2160 done_textmode_x11_support().
2162 * achown.c: Make global variables static if possible. Remove now
2163 useless preprocessor directives, since this file is now used in
2164 the text edition only.
2165 * boxes.c: Remove useless ifdefs.
2166 [USE_VFS]: Don't undef USE_NETCODE - it's done in extraconf.h.
2167 * cmd.c [USE_VFS]: Don't undef USE_NETCODE.
2168 * chmod.c: Remove useless ifdefs.
2169 * filegui.c: Likewise.
2170 * hotlist.c: Likewise.
2172 * layout.c: Likewise.
2173 * listmode.c: Likewise.
2174 * option.c: Likewise.
2175 * subshell.c: Likewise.
2176 * help.c: Remove useless ifdefs. Make global variables static if
2179 * learn.c: Likewise.
2181 2001-06-04 Andrew V. Samoilov <sav@bcs.zp.ua>
2183 * charsets.c (load_codepages_list): Lines in mc.charset beginning
2184 with a # are comments. Use "default character_set_name" in mc.charset
2185 to set default codepage for your system.
2186 (xstrncpy): Eliminate.
2188 2001-06-04 Pavel Roskin <proski@gnu.org>
2190 * cmd.c (edit_symlink_cmd) [!HAVE_GNOME]: Warn if the current
2191 selection is not a symbolic link.
2193 2001-06-02 Pavel Roskin <proski@gnu.org>
2195 * cmd.c (free_vfs_now) [HAVE_GNOME]: Eliminate.
2196 (reselect_vfs) [HAVE_GNOME]: Likewise.
2197 * main.c (ctl_x_map) [HAVE_GNOME]: Disable add2hotlist_cmd.
2198 (done_mc) [HAVE_X]: Don't call save_hotlist().
2199 * setup.c (save_setup) [HAVE_X]: Likewise.
2200 (done_setup) [HAVE_X]: Don't call done_hotlist().
2202 2001-06-01 Pavel Roskin <proski@gnu.org>
2204 * hotlist.c [HAVE_X]: Don't use ctrl_pressed().
2205 * widget.c [HAVE_X]: Likewise.
2206 * main.c [HAVE_X]: Likewise. Don't call init_key() and
2207 init_key_input_fd().
2208 * setup.c [HAVE_X]: Remove some variables that make no sence
2209 for the GNOME edition. Eliminate save_panel_types().
2210 * view.c [!PORT_WANTS_VIEW]: Eliminate view_mode_callback().
2212 * view.c [HAVE_X]: Define is_idle() to 1. Warning fix.
2214 * file.c (copy_file_file): Initialize src_uid, src_gid, src_mode
2215 and file_size to avoid a warning.
2217 2001-05-31 Pavel Roskin <proski@gnu.org>
2219 * charsets.c: Include config.h before everything else.
2220 * selcodepage.c: Likewise.
2222 * textconf.c (features): Use longer strings to avoid enforcing
2223 english word ordering on the translations. Capitalize sentences.
2224 From Walery Studennikov: Indicate charset support.
2225 (version): Use fputs, not fprintf.
2227 * Makefile.in: Add charsets.c, charsets.h, selcodepage.c and
2228 selcodepage.h. Compile them if the charset support is enabled.
2229 Distribute them always.
2231 2001-05-30 Pavel Roskin <proski@gnu.org>
2233 * charsets.c: New file for charset conversion support.
2234 From Walery Studennikov.
2235 * charsets.h: Likewise.
2236 * selcodepage.c: Likewise.
2237 * selcodepage.h: Likewise.
2239 * layout.c (init_curses) [!HAVE_SLANG]: Set ESCDELAY to 0 if
2240 possible to prevent ncurses from waiting after escape.
2242 2001-05-29 Pavel Roskin <proski@gnu.org>
2244 * cmd.c (quick_cd_cmd) [HAVE_GNOME]: Disable.
2245 * main.c (sort_cmd) [HAVE_GNOME]: Likewise.
2246 (ctl_x_map) [HAVE_GNOME]: Disable "Ctrl-x j" - background jobs.
2248 * color.c (init_colors) [HAVE_SLANG]: Use "default" instead of
2249 NULL as color names - this works even if COLORFGBG is unset.
2250 Don't check HAS_DIRECT_COLOR_ACCESS - it's now meaningless.
2252 * color.h: Define DEFAULT_COLOR_INDEX and DEFAULT_COLOR in the
2253 same way regardless of HAVE_SLANG.
2254 * color.c (init_colors) [USE_NCURSES]: Initialize the default
2257 * subshell.c (pty_open_master) [!HAVE_SCO && HAVE_GRANTPT]:
2258 Don't try to close a file that wasn't opened.
2260 * xslint.c: Remove slang_init() and FIXME in the comment.
2261 * main.c (main) [!HAVE_SLANG]: Don't call slang_init().
2263 2001-05-28 Pavel Roskin <proski@gnu.org>
2265 * myslang.h: Use HAVE_SLANG_SLANG_H instead of non-standard
2266 SLANG_H_INSIDE_SLANG_DIR.
2268 * xslint.c: Remove unused functions.
2270 * color.c (init_colors) [HAVE_SLANG]: Use SLtt_set_color() to
2271 associate the default colors with DEFAULT_COLOR_INDEX. The old
2272 code would unset alternative charset without making S-Lang aware
2274 Thanks to John E. Davis <davis@space.mit.edu>
2275 * widget.c (update_input) [HAVE_SLANG]: Revert last change - it
2278 2001-05-28 Andrew V. Samoilov <sav@bcs.zp.ua>
2280 * main.c: Correct some comments after #endif
2281 (shell): Remove comment and #ifdef around shell variable.
2282 (process_args) [HAVE_SUBSHELL_SUPPORT]: All related args enclosed
2283 between one #ifdef ... #endif pair.
2284 (process_args): smbfs_set_debug () takes a debug level as argument,
2287 2001-05-27 Pavel Roskin <proski@gnu.org>
2289 * main.c (OS_Setup) [!HAVE_X]: Exit immediately if TERM
2290 environment variable is unset or empty.
2292 2001-05-25 Pavel Roskin <proski@gnu.org>
2294 * cmd.c: Clean up useless preprocessor directives.
2295 (symlink_cmd): Warning fix.
2296 * dlg.c (dialog_handle_key) [HAVE_X]: Disable suspend on Ctrl-z.
2297 * main.c (do_suspend_cmd) [HAVE_GNOME]: Remove.
2298 (suspend_cmd) [HAVE_GNOME]: Likewise.
2300 2001-05-24 Pavel Roskin <proski@gnu.org>
2302 * widget.c (update_input) [HAVE_SLANG]: Work around a bug in
2303 SLang 1.x - set charset to alternative when printing spaces.
2305 2001-05-22 Pavel Roskin <proski@gnu.org>
2307 * ext.c (exec_extension): Use g_free() on the result of
2308 mc_mkstemps(). Don't free it if mc_mkstemps() fails - it's not
2310 * user.c (execute_menu_command): Likewise.
2311 * util.c (mc_mkstemps): Return NULL in the filename in the case
2312 of failure. Remove support for NULL as the first argument.
2313 From Andrew V. Samoilov.
2315 2001-05-21 Pavel Roskin <proski@gnu.org>
2317 * ext.c (exec_extension): Use mc_mkstemps().
2318 * user.c (execute_menu_command): Use mc_mkstemps().
2319 * util.c (mc_mkstemps): New function - safely create and
2320 open temporary file. Return the handle and the name.
2321 * util.h: Declarations for init_tmpdir() and mc_mkstemps().
2322 Define TMPDIR_DEFAULT and SCRIPT_SUFFIX.
2324 2001-05-18 Pavel Roskin <proski@gnu.org>
2326 * TODO: Remove Tk-related entries.
2327 * boxes.c [HAVE_TK]: Remove. Don't need INPUT_INDEX anymore.
2328 * screen.c [HAVE_TK]: Remove.
2329 (panel_event): Made static.
2330 * chmod.c [HAVE_TK]: Remove.
2331 * cmd.c [HAVE_TK]: Likewise.
2332 * help.c [HAVE_TK]: Likewise.
2333 * hotlist.c [HAVE_TK]: Likewise.
2334 * info.c [HAVE_TK]: Likewise.
2335 * view.c [HAVE_TK]: Likewise.
2336 * view.h [HAVE_TK]: Likewise.
2337 * widget.c [HAVE_TK]: Likewise.
2338 * wtools.c [HAVE_TK]: Likewise.
2340 * TODO: Remove XView-related entries.
2341 * menu.h [HAVE_XVIEW]: Remove all XView-related code.
2343 2001-05-17 Pavel Roskin <proski@gnu.org>
2345 * subshell.c (pty_open_master) [HAVE_SCO]: Fix ambigous `else'.
2346 [!HAVE_SCO && !HAVE_GRANTPT]: Likewise.
2348 2001-05-16 Pavel Roskin <proski@gnu.org>
2350 * subshell.c: Define _GNU_SOURCE to enable prototypes for
2351 allocating pseudo-terminals on GNU systems.
2353 * subshell.c (init_subshell_child): New function to initialize
2354 child process and run subshell. Code moved from ...
2355 (init_subshell): ... here.
2357 * subshell.c (init_subshell): Don't close pty_slave if is wasn't
2358 open. Initialize it with -1.
2360 2001-05-14 Pavel Roskin <proski@gnu.org>
2362 * main.c [HAVE_GNOME]: Disable more code.
2363 * cmd.c [HAVE_GNOME]: Likewise.
2365 * background.h: Omit definitions that require FileOpContext if
2366 fileopctx.h has not been included yet.
2368 * background.c (real_message_2s): Declare arguments "const" when
2370 (real_message_3s): Likewise.
2371 * wtools.c (message): Likewise.
2372 * background.h: Change declarations to match.
2373 * dialog.h: Likewise.
2375 * boxes.c [HAVE_GNOME]: Disable unused code.
2376 * find.c [HAVE_GNOME]: Likewise.
2377 * complete.c [HAVE_GNOME]: Likewise.
2378 * main.c [HAVE_GNOME]: Likewise.
2380 * screen.c (adjust_top_file): Enable only if it's used, i.e.
2381 when PORT_HAS_PAINT_FRAME in undefined.
2382 * wtools.c (listbox_refresh): Disable for HAVE_X, define to
2383 an empty macro instead.
2384 (listbox_callback): Call listbox_refresh() regardless of HAVE_X.
2385 (create_listbox_window): Likewise.
2387 * fsusage.c: Include stdlib.h for abort().
2388 * tree.c (tree_mkdir_cmd): Disable tree_mkdir_cmd() since it's
2390 * widget.c: Declare x_radio_toggle() with arguments.
2392 * util.h: Remove declarations of some functions defined in
2395 2001-05-14 Andrew V. Samoilov <sav@bcs.zp.ua>
2397 * background.c (real_message_1s, message_1s): third parameter is
2398 used by message () as printf pattern, so "%s" has to be added
2399 if plain string must be shown but printf conversion
2400 specification(s) may be there.
2401 * view.c (do_view_init): ditto
2402 * user.c (debug_out): ditto
2403 * utilunux.c (close_error_pipe, check_error_pipe): ditto
2405 * background.[ch], vfs/util-alone.c (message_1s): third parameter
2408 2001-04-27 Andrew V. Samoilov <sav@bcs.zp.ua>
2410 * find.c (search_content): Redo recent change without infinite loop ;-),
2411 egrep_path hardcoded to "egrep" as it is done in locate_egrep ()
2413 (locate_egrep): commented out
2415 (rotating_dash) [!HAVE_X]: moved into do_search to prevent warning
2417 2001-04-26 Pavel Roskin <proski@gnu.org>
2419 * find.c (search_content): Undo a recent change that caused an
2422 2001-04-24 Andrew V. Samoilov <sav@bcs.zp.ua>
2424 * view.c (get_line_at): previous newline is right condition
2425 for regexp '^' pattern also, fixed
2427 (search) [HAVE_GNOME]: gnome_message_box_new doesn't expand printf
2428 pattern, so g_strdup_printf used
2430 * find.c (find_parameters): don't use stat structure if mc_stat failed
2432 2001-04-17 Pavel Roskin <proski@gnu.org>
2434 * subshell.c (init_raw_mode): New function, separated from ...
2435 (invoke_subshell): ... this.
2436 (init_subshell): Initialize raw_mode here instead of delayng it
2437 until invoke_subshell(). Otherwise the current mode may have
2438 been changed by edition_pre_exec(), which caused Ctrl-O to be
2439 ignored on FreeBSD if a command has been run before switching
2442 2001-04-06 Pavel Roskin <proski@gnu.org>
2444 * chmod.c (stat_file): Allow chmod and chown on special files.
2446 * cons.handler.c: Include "global.h" for exit().
2448 * Makefile.in: Add dependencies between mc and static libraries
2451 2001-04-06 Andrew V. Samoilov <sav@bcs.zp.ua>
2453 * find.c (find_parameters): Add a checkbox for case insensitive
2455 (search_content): Pass `-i' to egrep for case insensitive
2458 2001-03-30 Andrew V. Samoilov <sav@bcs.zp.ua>
2460 * panel.h, screen.c (panel_new): panel_name constified to do gcc
2461 some more happy when gmc is compiled
2463 2001-03-18 Miguel de Icaza <miguel@ximian.com>
2465 * widget.c (forward_word, backward_word): Revert Timur's patch
2466 from last year which made the behaviour for advancing words not
2467 match the one in Emacs.
2469 2001-03-02 Pavel Roskin <proski@gnu.org>
2471 * key.c (mi_getch): Discard non-events (EV_NONE), but not
2474 2001-02-26 Pavel Roskin <proski@gnu.org>
2476 * cmd.c (edit_cmd) [HAVE_GNOME]: Use gmc_edit(). Don't use
2478 (ext_cmd) [HAVE_GNOME]: Don't compile for GNOME.
2479 * ext.c (regex_command) [HAVE_GNOME]: Likewise.
2480 * ext.h [HAVE_GNOME]: Don't define MC_USER_EXT and MC_LIB_EXT.
2482 * main.c (main): Don't call edit_init_file() - the editor should
2483 care about its files itself.
2485 2001-02-09 Pavel Roskin <proski@gnu.org>
2487 * main.c (main): Fix compilation error when configured without
2490 2001-02-07 Andrew V. Samoilov <sav@bcs.zp.ua>
2492 * main.c (main): Do not fork subshell for mcedit/mcview.
2494 2001-01-27 Pavel Roskin <proski@gnu.org>
2496 * cons.handler.c (handle_console): Check the result of ttyname().
2498 * main.c (handle_args): Exit if no arguments are given to mcview.
2499 [HAVE_GNOME]: Don't examine argv[0] - it's done separately.
2501 * dir.c: Respect HAVE_STRCOLL. Added a comment about strcoll().
2503 2001-01-26 Pablo Saratxaga <pablo@mandrakesoft.com>
2505 * file.c: moved a comment one line down so it becomes visible on the
2506 translators' po files. Also added gettext:no-c-format comments for
2507 a few strings with % in them that are not C format printf codes.
2509 2001-01-21 Andrew V. Samoilov <sav@bcs.zp.ua>
2511 * subshell.c (do_subshell_chdir): temporary patch to prevent command
2512 execution for directory names containing 0x03 (intr) 0x14.
2513 See http://www.securityfocus.com/vdb/?id=2016 for details.
2514 Subshell still can't chdir to such directories :(
2516 * subshell.[ch] (do_subshell_chdir): directory constified
2518 2001-01-17 Pavel Roskin <proski@gnu.org>
2520 * Makefile.in: Respect LDFLAGS when linking cons.saver.
2522 2000-11-20 Andrew V. Samoilov <sav@bcs.zp.ua>
2524 * view.c: Fixed long existed bugs in internal viewer. When search is
2525 doing in binary file it ignore skipped zero(es), so cursor is before
2526 searched expression and next search find the same string. Also regexp
2527 search could return wrong results for '^ ?' expressions.
2529 (get_line_at): skipped: new parameter for number of skipped zero(es)
2531 (search): new features of get_line_at used.
2533 2000-11-16 Andrew V. Samoilov <sav@bcs.zp.ua>
2535 * cons.saver.c (check_file): close fd on error. There was a bug, which
2536 allowed luser to write '\0' char to any symlinkable file in Linux
2537 system which don't ensure that fd's 0, 1, and 2 are open on startup
2538 of a SUID/SGID binary.
2539 Based on patch from bugtrack by Maurycy Prodeus <z33d@ETH-SECURITY.NET>.
2541 2000-11-14 Andrew V. Samoilov <sav@bcs.zp.ua>
2543 * layout.c (print_vfs_message): format string vulnerability fixed
2545 2000-11-03 Andrew V. Samoilov <sav@bcs.zp.ua>
2547 * main.c (CmdMenu): don't include edit_user_menu_cmd ()
2548 if USE_INTERNAL_EDIT is not defined
2549 (main): call edit_init_file () if USE_INTERNAL_EDIT is defined only
2550 (listmode_cmd): messages are localized
2552 2000-11-02 Pavel Roskin <proski@gnu.org>
2554 * layout.c [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Declare
2555 low_level_change_screen_size().
2556 (flag_winch) [PORT_NEEDS_CHANGE_SCREEN_SIZE]: Call
2557 low_level_change_screen_size(). From Andrew V. Samoilov.
2559 2000-10-04 Pavel Roskin <proski@gnu.org>
2561 * user.c (expand_format): Fixed processing of "%s".
2563 2000-09-30 Pavel Roskin <proski@gnu.org>
2565 * Makefile.in: Added an explicit rule for man2hlp.
2567 2000-09-26 Pavel Roskin <proski@gnu.org>
2569 * listmode.c, listmode.h, main.c: Consistently using define
2570 LISTMODE_EDITOR to enable the experimental listmode editor.
2571 * main.c: Don't allow two adjacent separators in the Command
2574 2000-09-22 Pavel Roskin <proski@gnu.org>
2576 * fixhlp.c: Removed.
2577 * Makefile.in: Removed all references to fixhlp.c
2579 2000-09-14 Pavel Roskin <proski@gnu.org>
2581 * features.h: Joined with textconf.h to avoid name clash with
2583 * features.c: Renamed to ...
2584 * textconf.c: ... this
2585 * Makefile.in, cmd.c, main.c, text.c: necessary adjustments
2587 * Makefile.in: Don't make softlinks to the libraries
2589 2000-09-13 Pavel Roskin <proski@gnu.org>
2591 * Makefile.in: Only rebuild mc.hlp in the maintainer mode.
2593 2000-09-01 Pavel Roskin <proski@gnu.org>
2595 * fixhlp.c: fixed compile errors and warnings
2597 2000-08-30 Pavel Roskin <proski@gnu.org>
2599 * dirhist.c, dirhist.h: removed
2601 * features.h, keys.h, textconf.h, x.h: added protection against
2604 2000-08-23 Pavel Roskin <proski@gnu.org>
2606 * features.c: include <sys/param.h> to avoid a warning
2608 * main.c [HAVE_X]: print_mc_usage() and print_color_usage()
2610 version() moved to ...
2611 * features.inc: ... here, renamed to features.c
2612 * main.h: status_using_ncurses moved to ...
2613 * features.h: ... here
2614 * cmd.c, text.c: include "features.h"
2615 * cmd.h: include "panel.h"
2616 * Makefile.in: changed to use features.h and features.c
2618 2000-08-22 Pavel Roskin <proski@gnu.org>
2620 * main.c [HAVE_GNOME]: disable chmod and chown - they were
2621 broken and obsoleted by the "Properties" dialog
2623 * cmd.c [HAVE_X]: Removed dependency on status_using_ncurses
2625 * man2hlp.c: Removed undocumented feature - when converting
2626 to HTML some output would go to index.html instead of stdout
2628 2000-08-16 Pavel Roskin <proski@gnu.org>
2630 * gindex.pl: Enable warnings. Existing warnings fixed.
2632 * Makefile.in: mc.hlp now depends on man2hlp.c instead of
2633 man2hlp - this avoids some rebuilds of mc.hlp
2635 2000-08-15 Pavel Roskin <proski@gnu.org>
2637 * mc.hlp: removed. It's a derived file
2638 * Makefile.in: Fixed dependencies for $(srcdir)/mc.hlp
2639 Build $(srcdir)/mc.hlp but allow a failure (e.g. no perl)
2641 2000-08-11 Frederic L. W. Meunier <fredlwm@pervalidus.net>
2643 * Makefile.in: Don't compile mfmt, compile mcmfmt directly.
2645 2000-08-08 Andrew V. Samoilov <sav@bcs.zp.ua>
2647 * hotlist.c (done_hotlist): static tkn_buf, tkn_buf_length and
2648 tkn_length nullified after tkn_buf is freed to prevent crashes.
2650 (new_hotlist): became a macro
2652 * background.c (real_message_[123]s): title is really prepended
2653 by "Background process:" string now if mode == Background
2655 (background_attention): resstr NULLified to prevent warning
2657 2000-06-26 Andrew V. Samoilov <sav@bcs.zp.ua>
2659 * screen.c (display_mini_info): two different patterns are
2660 used now: for one file and for other cases
2662 2000-06-16 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
2664 * cons_saver: support linux with devfs, patch by pavenis@lanet.lv
2666 2000-06-14 Andrew V. Samoilov <sav@bcs.zp.ua>
2668 * panel.h, util.[ch] (struct WPanel, size_trunc, size_trunc_sep): size
2669 parameters and WPanel.total field became double, thus, total size
2670 of selected files/directories is shown in the mini status correctly
2671 when it exceeds 2 GB.
2673 2000-05-25 Andrew V. Samoilov <sav@bcs.zp.ua>
2675 * slint.c (init_pair): segfault fixed when mcedit -b called
2677 * user.c (check_format_var): error messages are localized
2679 (expand_format, user_menu_cmd): memory leaking for %e and %k macro
2680 fixed; segfault fixed when %m macro is used outside user_menu_cmd ()
2682 * ext.c (regex_command): memory leaking fixed when user extension
2685 (exec_extension): error message for changed mc.ext file format
2686 are localized -- does we really must be worry about mc 3.0 ?
2688 * widget.c (history_put): counter is initialized again
2690 2000-05-11 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2692 * src/user.c: fix segfault when Shift-F4, Shift-F1, so when menu
2693 content condition y, macro %y
2695 2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2697 * src/user.c: Add macro %k it is block file name
2698 Add macro %e it is error file name
2699 Add macro %i it is cursor column indent of spaces, only for edit
2700 Add macro %y, it is syntax of current file in editor, only for edit
2701 Add condition y, it is syntax pattern of current file in edit
2702 Add macro %x it is extension of current file
2703 Add macro %m it is current menu filename
2705 2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2707 * gtkedit/editcmd.c: Modify External Formatter (was C indent formatter) .
2708 Autocreate a scripts in home, from templates /usr/lib/mc/edit.indent.rc,
2709 edit.ispell.rc, etc. Remove leading and trailing spaces into _(""),
2710 (the message of David H. Martin <dmartina@usa.net>)
2712 2000-05-05 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2714 * src/user.c: Add condition (x filename) into mc.menu .
2715 for "Open next a free console" and like.
2717 2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2719 * src/user.c: fix segfault in chunk_alloc of glibc, when into condition
2720 of .mnu we have quoted space. (~.mc/menu: + f \.\ test$).
2722 2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2725 Add ability user edit menus: system: /usr/lib/mc/cedit.menu,
2726 * gtkedit/editmenu.c: home: ~/.cedit.menu, local: .cedit.menu
2727 Marked block is access now from an user edit menu
2728 Access ~/.cedit/cooledit.block for insert to cursor place from
2730 Created system cedit.menu
2732 2000-05-04 Valery Kornienkov <vlk@dimavb.st.simbirsk.su>
2734 * gtkedit/editdraw.c:
2735 Improved a status string of cool editor for best understand,
2736 and to add char,hex view.
2738 2000-04-17 Andrew V. Samoilov <sav@bcs.zp.ua>
2740 * widget.c: (history_put): profile is free()d if chmod failed,
2741 (input_map): added const qualifier
2742 * utilunix.c, util.h: (tilde_expand): added const qualifier
2743 * cmd.c: (nice_cd): i18n update,
2744 (source_routing): typo fixed, source is free()d after use
2745 * screen.c: i18n changes, (panel_keymap): added const qualifier
2746 * view.[ch]: (view, view_init, do_view_init): added const qualifier
2748 2000-04-15 Timur Bakeyev <mc@bat.ru>
2750 * dir.c (string_sortcomp): strcmp() replaced with strcoll() to make
2751 directory listing LOCALE sensitive. I assume, strcoll exists everywhere,
2754 2000-04-15 Timur Bakeyev <mc@bat.ru>
2756 * dlg.c: Commited at last patch, that fixes screwed up right panel in
2757 a long format. Occasionaly, all my colors problems also gone. All thanks
2758 to Norbert Warmuth <nwarmuth@privat.circular.de>, who tracked down the
2759 problem, blames to me and Federico :)
2761 2000-04-12 Timur Bakeyev <mc@bat.ru>
2763 * widget.c ([forward|backward]_word): Changed one more time - now it
2764 skips alpnums and THEN spaces+punct. That gives almost the same re-
2765 sults, but twice quicker. Hope, this will be accepted.
2767 2000-04-06 Timur Bakeyev <mc@bat.ru>
2769 * widget.c ([forward|backward]_word): Changed logic of moving - now,
2770 it skips only spaces+punct OR alnum. Reason to do it so - deleting lines
2771 like "lynx http://www.gnome.org", where "lynx http:" part was erased
2772 in one operation. That's nasty, IMHO. Made this a separate commit, so,
2773 if it seriously breaks compatability it's easy to revert it. Still hope,
2776 2000-04-06 Timur Bakeyev <mc@bat.ru>
2778 * file.c, widget.[ch]: Fixed long existing problems with filenames
2779 and input widgets, then char is greater than 128. They were processed
2780 incorrectly. As usual, char != unsigned char problem.
2782 2000-03-03 Björn Eriksson <mdeans@algonet.se>
2784 * Similar patches came from Andrew V. Samoilov <sav@bcs.zp.ua>.
2786 * mad.[ch]: Some functions wrongly by-passed mad_alloc*() (causing
2787 problems when later g_free()ed.
2789 * Added mad_strndup().
2791 * Repeated code collected in mad_fatal_error().
2793 * The gcc-extension/C99-standard variable argument macros (adding
2794 __FILE__, __LINE__ before ', ...') would be nice.
2796 * Alloc_idx_hint and code added, the mad code was way too slow for my
2797 poor computer. A hash-table would be nice.
2799 * (mad_strconcat, mad_strdup_vprintf): g_malloc and g_new are
2800 undefined at the top of mad.c, so mad_alloc must be used.
2802 2000-02-23 Norbert Warmuth <nwarmuth@privat.circular.de>
2804 * main.c (parse_control_file): add missing right parentheses
2806 * boxes.c: fix incorrect initialization of array of structure (gcc
2807 version 2.96 20000131 chokes on it).
2809 2000-02-18 Paul Sheer <psheer@obsidian.co.za>
2811 * gtkedit/*.[ch], edit.c et al: updates to reflect
2812 cooledit-3.13.0. See CVS commits and cooledit ChangeLog
2815 2000-02-10 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
2817 * setup.c (load_setup): remove duplicate loading of anonymous
2818 passwd by do_load_string(), it is doing by
2819 ftpfs_init_passwd. (Patch by sav@bcs.zp.ua)
2821 2000-02-04 "David H.Martin" <dmartina@usa.net>
2823 * src/widget.c (input_new): Change NULL to empty strings and avoid
2824 crashing when string functions are called.
2825 * src/boxes.c (configure_vfs): Remove local change to empty string.
2826 * src/setup.c (load setup): Load anonymous password
2828 2000-02-03 Andrew V. Samoilov <sav@bcs.zp.ua>
2830 * setup.c (load_setup): call ftpfs_init_passwd to avoid segfault
2832 2000-01-24 Andrew V. Samoilov <sav@bcs.zp.ua>
2834 * main.c (parse_control_file): add extra secutity checks for
2835 control file. It cannot be group/world writable;
2836 (ctl_x_map, default_map, argument_table): added const qualifier.
2838 * fixed segfault in print_mc_usage
2840 2000-01-24 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
2842 * cmd.c (nice_cd): disabled ability to go to home.
2844 2000-01-02 viro@math.psu.edu
2846 * src/subshell.c: Reason: in feed_subshell() we are trying to read
2847 from shell pty,check for retval==-1 && errno != EIO. In that case
2848 we flame and exit. Otherwise we are trying to write what we've
2849 read. Good luck doing it if we got errno==EIO, which is _normal_
2850 for situation when shell just died. Resulting write(1,foo,~0U) is
2851 somewhat excessively, erm, verbose.
2853 1999-12-21 Pavel Roskin <pavel_roskin@geocities.com>
2855 * src/main.c, src/view.c: #warning's replaced with FIXME's.
2856 They were not for users, but for developers
2858 1999-11-11 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
2860 * main.c, cmd.c: add possibility to free VFS now
2862 1999-11-03 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
2864 * layout.c: always display status line. It contains vital
2865 information for ftpfs
2867 1999-03-19 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
2869 * profile.c (str_translate_newline_dup): someone likes to pass
2870 NULL's around. Warn instead of segfault.
2872 1999-11-02 Miguel de Icaza <miguel@gnu.org>
2874 * main.c (OS_Setup): Do not warn if TERM is not set for the GNOME edition.
2876 1999-09-21 Federico Mena Quintero <federico@redhat.com>
2878 * dlg.c (dlg_broadcast_msg_to): Sigh. Put in a GrossHack(tm) to
2879 unfocus what will be a WInput when a panel is initialized.
2881 1999-09-21 Federico Mena Quintero <federico@redhat.com>
2883 * dlg.c (init_dlg): Walk the list of widgets only if it exists.
2884 (dlg_broadcast_msg_to): Use safer list-walking code for if someone
2885 inserts a widget inside the message broadcast.
2887 1999-09-20 Federico Mena Quintero <federico@redhat.com>
2889 The following is a patch from Volker Braun
2890 <volker.braun@physik.hu-berlin.de> to fix column resizing in the
2893 * setup.c (options): Declare the column width option values.
2894 (save_configure): Save the default user format.
2895 (load_setup): Load the default user format.
2897 * panel.h (WPanel): Added a field for the column widths.
2899 1999-09-19 Andrew V. Samoilov <sav@bcs.zp.ua>
2901 * user.c (check_patterns): char* is used instead of char [] in sizeof
2903 * util.c (string_perm): prefix named pipes by 'p' and not by `s'
2905 1999-09-19 Norbert Warmuth <nwarmuth@privat.circular.de>
2907 * mad.c, mad.h, util.c, util.h: Move mad-functions from util.[ch]
2910 * option.c: Include files reordered in order to make it compile with
2913 * mad.c (mad_init): New function. Initialize debug FILE pointer to
2914 stderr (moved to a function because not on every system stderr is
2916 (mad_set_debug): added const qualifier
2918 * main.c (main): call mad_init
2920 1999-09-14 Norbert Warmuth <nwarmuth@privat.circular.de>
2922 * widget.[ch] (input_new): added const qualifier
2924 * util.c (wipe_password): Check for NULL.
2926 1999-09-13 Federico Mena Quintero <federico@redhat.com>
2928 * treestore.c: Removed tree_store_destroy(), renamed
2929 tree_store_init() to tree_store_get().
2931 * tree.c (tree_destroy): Do not destroy the tree store.
2932 (tree_new): Get the tree store, do not initialize it.
2934 * treestore.c (tree_store_init): Do not set the linked list
2937 * panel.h (WPanel): Added a new field that indicates whether the
2938 user is dragging something over the tree.
2940 1999-08-31 Federico Mena Quintero <federico@redhat.com>
2942 * main.c: In the GNOME version, we want cd_symlinks to be FALSE.
2943 The VFS should never have to look at this variable, but alas, it
2944 does. BUGFIX: Red Hat Bugzilla #2344.
2946 * setup.c: Disable cd_symlinks in the GNOME version.
2948 1999-08-30 Norbert Warmuth <nwarmuth@privat.circular.de>
2950 * main.c (print_mc_usage): Print the bug reporting address.
2951 (main): Put prompt in a new line at termination.
2953 1999-08-27 Federico Mena Quintero <federico@redhat.com>
2955 * ext.c (quote_block): How did this ever work? People, if you
2956 realloc() things, don't keep pointers to stuff inside the original
2959 * screen.c (do_enter_on_file_entry): Pass in the full name to
2962 * dir.[ch] (if_link_is_exe): Take in the full name, not the directory
2965 1999-08-15 Norbert Warmuth <nwarmuth@privat.circular.de>
2967 * cmd.c (guess_message_value): New function. Determine locale used
2970 (get_random_hint): use guess_message_value
2972 1999-08-15 David Martin <dmartina@usa.net>
2974 * boxes.c: (symlink_dialog): Move dialog misaligned elements
2976 * cmd.c (get_random_hint): Look for localized hint files
2978 1999-08-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
2980 * ext.c: Added missing include file.
2982 1999-08-08 David Martin <dmartina@usa.net>
2984 * menu.c: (create_menu): Adjust "#ifdef ENABLE_NLS" so that menus
2985 get the right size even when NLS is disabled.
2987 1999-08-06 Norbert Warmuth <nwarmuth@privat.circular.de>
2989 * screen.c (string_file_[amc]time): These three functions use
2990 file_date which returns a pointer to a static buffer. In the
2991 Gnome edition this buffer has to be coppied to a static buffer
2992 which isn't used in the other two functions (Fix Bug #1766).
2994 * util.c, util.h: Moved some constants to util.h
2996 1999-08-04 Norbert Warmuth <nwarmuth@privat.circular.de>
2998 * widget.c (push_history): Add SMB Link to the list of input dialogs
2999 where urls are input without vfs prefix.
3001 Translate the titles of these input dialogs only once.
3003 Removed Gnome specific code because the Gnome edition doesn't use
3004 the input history any more.
3006 * util.c (strip_password): Add /#smb: to the list of urls which might
3007 be input with password.
3009 1999-08-03 Norbert Warmuth <nwarmuth@privat.circular.de>
3011 * poptalloca.h: New file with definitions for alloca. Note: alloca
3012 is defined as malloc on systems which fail to support alloca. Don't
3013 include this file if you frequently use alloca.
3015 * findme.c, popt*.c: include poptalloca.h
3017 * Makefile.in: added poptalloca.h
3019 * menu.c (create_menu): set minimum menu width to 20 characters as
3020 it used to be (this was part of davids patches but I haven't
3023 1999-08-01 David Martin <dmartina@usa.net>
3025 * menu.c (create_menu, menubar_drop_compute, menubar_paint_idx):
3026 Discount '&' for hotkeys when checking menu widths to avoid the
3028 Moved this accounting from the drawing to the creating function.
3030 * widget.c: Translate History box tittle.
3032 1999-07-21 Norbert Warmuth <nwarmuth@privat.circular.de>
3034 * popt.c, popt.h, poptconfig.c, popthelp.c, poptparse.c: updated
3035 to the version found in the popt module
3037 * features.inc: added report information for smbfs
3039 1999-06-01 Robert Brady <rwb197@ecs.soton.ac.uk>
3041 * file.c (move_dir_dir): Give an error when an attempt is made to
3042 move an empty directory into itself.
3044 1999-06-24 smil@linuxfan.com
3046 * view.c (view_update_bytes_per_line, display): show correctly the
3047 offset of the file (full 8 digit), display offset in bold colour
3049 (view_labels): use goto_addr instead of goto_line in hex mode
3051 (goto_addr): New function. Goto offset address in hex mode.
3053 * view.h: use unsigned long for hexedit cursor position in file
3055 1999-06-24 Norbert Warmuth <nwarmuth@privat.circular.de>
3057 * menu.c (menubar_execute): Now needs an additional do_refresh in order
3058 to make layout changes visible.
3060 1999-06-01 Robert Brady <rwb197@ecs.soton.ac.uk>
3062 * file.c (move_dir_dir): Give an error when an attempt is made to
3063 move an empty directory into itself.
3065 1999-06-22 Norbert Warmuth <nwarmuth@privat.circular.de>
3067 * cmd.c (quick_view_cmd): Change panel when the file we want to
3068 view isn't in the current panel (prevents a "file not found"
3071 * menu.c (menubar_execute): De-activate the menubar previous to
3072 invoking the callback. This is needed to make change_panel in
3073 quick_view_cmd work (the activated menubar doesn't allow unfocus,
3074 i.e. dlg_one_down|up don't change anything).
3076 * view.c (do_view_init): improved error handling w.r.t quick view
3077 (mc used to dump core when the file to view couldn't be opened).
3079 1999-06-22 David Martin <dmartina@usa.net>
3081 * view.c (display): added view_gotoxy's in order to make the gnome
3082 edition operational in hex mode.
3084 Fri Jun 18 11:29:56 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3086 * user.c (user_menu_cmd): Allow national characters as hotkeys.
3087 Don't dump core when the menu file contains only empty lines
3089 * view.c (search, block_search): Use the correct column for the
3090 percent display while searching.
3092 1999-06-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3094 * complete.c (complete_engine): Put an #ifndef HAVE_GNOME around
3095 the completion/query engine. Make the Gnome version just beep
3096 instead. We do not have the completion/query engine for Gtk.
3098 1999-06-09 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
3100 * cmd.c (configure_panel_listing): no more code duplication
3102 * screen.c (panel_new): no more code duplication
3103 (set_panel_formats): warn user when he gives bogus format, move
3104 checks into set_panel_formats
3106 1999-06-01 Akira Higuchi <a-higuti@math.sci.hokudai.ac.jp>
3108 * util.c (is_printable): in GNOME all characters are printable.
3110 1999-05-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
3112 * main.c (handle_args): Handle --desktop-linksdir without using X
3114 1999-05-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
3116 * treestore.c (should_skip_directory): Add fix from Wayne Roberts
3117 to actually acknowledge the settings of mc.global.
3119 1999-05-24 Brandon S. Allbery <allbery@ece.cmu.edu>
3121 * subshell.c (pty_open_master): Added missing comma.p
3123 Mon May 17 07:37:12 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3125 * subshell.c (pty_open_master): use getpt () if available to open
3126 the master side of the pty. getpt () is a glibc extension and is
3127 needed when glibc 2.1.x is used with a (linux) kernel without unix98
3128 style ptys (if there is no /dev/ptmx getpt falls back to bsd style
3131 * filegui.c (check_progress_buttons): Don't update the Gpm mouse
3132 cursor when we check for events. It causes a flickering cursor on a
3133 different virtual console.
3135 1999-05-12 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
3137 * cons.saver.c (main): change cons.saver so it can be run without
3138 root privileges. It is well possible to run cons.saver with
3139 privileges only to /dev/vcsa: create new user and make vcsa's
3140 owned by that user instead of root.
3142 Distribution maintainers please take this text as idea of what you
3143 should do to make your system more secure.
3145 1999-05-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
3147 * cmd.c (view_file_at_line): gmc_view never fails, so we handle
3150 1999-04-29 Federico Mena Quintero <federico@nuclecu.unam.mx>
3152 * chmod.c (chmod_cmd): Missing _ in _().
3153 (chmod_cmd): Added braces around nested if/else.
3155 * widget.c (is_in_input_map): Added braces around nested if/else.
3156 (listbox_remove_current): Likewise.
3158 * subshell.c (read_subshell_prompt): Likewise.
3160 * view.c (view_status): Likewise.
3162 Tue Apr 27 20:31:13 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3164 * util.c (strip_home_and_password): Don't split the path in the
3165 middle of a directory, e.g. "/home/bofh" will not be translated to
3166 "~h" (fixes the bug reported by Alex Fortuna <alex@rdc.ru>)
3168 1999-04-25 Sergei Ivanov <svivanov@pdmi.ras.ru>
3170 * find.c: The origin of the bug is in the function do_search (file
3171 find.c). It limits the number of subdirectories to scan by the
3172 number stat.st_nlink-2, or infinite if st_nlink<2. On tar vfs,
3173 st_nlink is always 1, so it should be the second case.
3175 But before doing stat, do_search does opendir. And opendir on tar
3176 vfs (vfs_s_opendir in vfs/direntry.c) increases the st_nlink value
3177 in the stat data! So mc_stat called after mc_opendir on tar vfs
3178 returns st_nlink==2 instead of 1. This is interpreted as if the
3179 directory had no subdirs, thus subdirs are not searched in.
3181 Changing the order of calls to mc_stat and mc_opendir fixes the
3184 1999-03-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
3186 * setup.c (save_setup): Only save this if there is a current panel
3188 Wed Apr 21 21:47:15 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3190 * ext.c (exec_extension): Use tempnam instead of tmpnam (AIX doesn't
3191 like the latter when compiled with -mthreads).
3193 * user.c (execute_menu_command): ditto.
3195 Wed Apr 21 20:40:38 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3197 * Makefile.in: use MCCFLAGS and MCLIBS
3199 Wed Apr 21 20:19:45 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3201 * key.c (get_modifier): Query the state of the modifier keys when
3202 running inside a terminal emulation under X11.
3204 * key.c (init_textmode_x11_support, done_textmode_x11_support): new
3205 functions, only used in the text edition. Connect to and disconnect
3206 from the X Server when DISPLAY is set.
3208 * key.h: added prototypes for the new functions
3210 * main.c (main): call (init|done)_textmode_x11_support
3212 Sat Apr 17 13:04:19 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3214 * view.c (do_view_init): Enable viewing of files with negative
3215 st_size (This reverts parts of a patch I commited recently. Miguel
3216 provided a better fix for this issue).
3218 1999-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
3220 * view.c (regexp_search): Use unsigned longs for all of the
3221 offsets here. Fixes crash reported on bugtraq.
3223 1999-04-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
3225 * treestore.c (tree_store_save_to): Moved the functionality from
3226 tree_store_save() to here.
3227 (tree_store_save): Save the tree in the default location in an
3229 (tree_store_load_from): Moved the functionality from
3230 tree_store_load() to here.
3231 (tree_store_load): Load the tree from the default location.
3233 * treestore.h (MC_TREE_TMP): Added a #define for the temporary
3234 name we'll use when saving the tree. Moved the #defines from
3235 tree.h over to here.
3237 * main.c (main): Use tree_store_load() and tree_store_save().
3238 Removed the mc_tree_store_load/save() versions.
3240 * tree.c (load_tree): Use tree_store_load().
3241 (save_tree): Use tree_store_save().
3243 Fri Apr 16 07:51:42 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3245 * wtools.c (message): Use g_vsnprintf instead of vsprintf.
3247 Fri Apr 16 07:50:59 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3249 * view.c (do_view_init): Don't view files with negative file size.
3250 Added some error checking (I'm not sure whether this is needed).
3252 1999-04-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
3254 * panel.h (WPanel): Added a drag_tree_row field to the WPanel
3255 structure. This is used to keep track of the highlighted row in
3256 the tree for drag and drop. Also, added drag_tree_timeout_id to
3257 hold the node expand timeout. Also, added drag_tree_fe to hold
3258 the file_entry for the currently highlighted row in the tree.
3260 1999-04-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
3262 * utilunix.c (my_system): Set up default signal handlers for childs.
3264 Tue Apr 13 07:14:10 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3266 * slint.c (getch): Quit MC when SLang_getkey returns an error. Looking
3267 at the code that's only the case when we read EOF from stdin.
3269 This fixes the problem where MC consumes a lot of cpu time while
3270 reading EOF from stdin in a tight loop. This situation arises when the
3271 terminal line/connection drops without MC being sent SIGHUP.
3273 Tue Apr 13 07:13:10 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3275 * slint.c (SLang_input_pending2): don't store SLANG_GETKEY_ERROR (int)
3276 in the input buffer (char).
3278 1999-04-12 Andrew T. Veliath <andrewtv@usa.net>
3280 * main.c (_do_panel_cd): If we are using GNOME, and the panel is a
3281 desktop panel, open up a new panel for the contents.
3283 1999-04-09 Federico Mena Quintero <federico@nuclecu.unam.mx>
3285 * tree.c (tree_start_search): Renamed from start_search() to avoid
3286 collisions with screen.c:start_search().
3288 * panel.h: Added prototype for start_search().
3290 1999-04-09 Rosanna Yuen <rwsy@mit.edu>
3292 * screen.c (do_enter_on_file_entry): split GNOME version and
3294 (parse_display_format): listen to the warning.
3296 1999-04-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3298 * treestore.c (tree_store_load): Do not load non-local file
3300 (tree_store_save): Do not save non-local file systems
3302 1999-04-07 Jonathan Blandford <jrb@redhat.com>
3304 * screen.c (do_enter_on_file_entry): added a consistent behaviour
3307 1999-04-06 David Martin <dmartina@usa.net>
3309 * info.c (text out of box and locale layout).
3311 * util.c: If gmc uses strftime() why mc doesn't?
3313 * view.c: a) Tune status line so it does fit in a Quick View Panel
3314 b) Let Hex View resize cleanly. I think it's fixed for panel
3315 re-split and SIGWINCH signal in xterm. gmc still fails. There was
3316 a tiny risk of division by zero when pressing F4 in a very small
3317 box. True hard work... Must try and check it.
3319 1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
3321 * main.c (main): Call mc_tree_store_save() when the program
3324 1999-04-05 Miguel de Icaza <miguel@nuclecu.unam.mx>
3326 * find.c (setup_gui): Do not scroll horizontally. Why does the
3327 CList behave like this?
3329 * setup.c: Save desktop information.
3331 1999-04-05 Federico Mena Quintero <federico@nuclecu.unam.mx>
3333 * cons.saver.c (main): dup2() may be interrupted; take this into
3334 account. Do we need to fcntl() stderr, or is it enough to close()
3335 it before recreating it?
3337 1999-03-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
3339 * dlg.c (dlg_run_done): Do not call the callback of a NULL current
3342 * setup.h: Added missing prototype for setup_init().
3344 * filegui.c (check_progress_buttons): Added a missing return
3347 * dlg.c (remove_widget): Added a missing return value.
3349 * main.c: Removed the global directory_list variable.
3350 Removed the main_corba_register_server() function.
3352 * main.h: Removed the global run_desktop variable.
3354 * panel.h: Now the panel structure has a unique numerical ID used
3355 for session management.
3357 * screen.c (panel_new): Maintain a unique ID for each panel.
3359 * main.c (maybe_display_linksdir): Handle display of the desktop
3361 (main): Call gnome_check_super_user().
3362 (init_corba_with_args): Call corba_init_server().
3364 * main.c (init_corba_with_args): Do CORBA initialization here. Also
3365 removed the global force_activation option.
3367 1999-03-29 Jonathan Blandford <jrb@redhat.com>
3369 * main.c (main): updated message.
3371 Sun Mar 28 23:52:08 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3373 * util.c (is_printable): Character 155 is non printable even when
3374 full eight bit output is enabled (on the linux console 155 is
3375 interpreted as "ESC [").
3377 1999-03-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
3379 Patch courtesy of John Bley (jbb6@acpub.duke.edu):
3381 * background.c (do_background): Use pid_t instead of int.
3383 * subshell.c (sigchld_handler): Likewise.
3385 1999-03-24 Federico Mena Quintero <federico@nuclecu.unam.mx>
3387 * Makefile.in: Use mcsrclibdir where appropriate.
3389 1999-03-22 Miguel de Icaza <miguel@nuclecu.unam.mx>
3391 * treestore.c (process_special_dirs): Free memory here.
3393 Fix test: Skip only "." and "..", before it could skip "?.".
3395 1999-03-22 David Martin <dmartina@mailexcite.com>
3397 * wtools.c (real_input_dialog_help): Do a strncmp with the lenght
3398 of th same translated "Password:" string.
3400 Mon Mar 22 02:05:28 1999 Timur Bakeyev <mc@bat.ru>
3402 * screen.c (file_entry_color): Dropped. Code went to file_compute_color.
3404 * screen (format_file): Add check, that avoids reported error, when
3405 long file list -> quick view -> brief file list gives core dump.
3407 1999-03-19 Jonathan Blandford <jrb@redhat.com>
3409 * main.c (main): We don't want to restart if we hit cancel.
3411 * file.c (panel_operate): Ugly hack for GNOME. We only treat the
3412 copy as if it were many files, and skip the only_one branch.
3414 1999-03-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
3416 * utilunix.c (close_error_pipe): Inform parent of the return value
3417 of any command here. This allows the desktop to launch a terminal
3418 only if it succeeded in mounting the directory.
3420 Thu Mar 18 16:09:09 1999 Timur Bakeyev <mc@bat.ru>
3422 * panel.h, screen.c: Add an ability to center justify fields in the
3423 panel, in addition to left and right justification. Just for fun.
3424 Try =name in user format.
3426 * util.c (name_quote): Quote "~@^|;:". Hope, that's all :)
3428 1999-03-17 Jonathan Blandford <jrb@redhat.com>
3430 * main.c (main): Put in a warning when run as root.
3432 1999-03-15 Federico Mena Quintero <federico@nuclecu.unam.mx>
3434 * boxes.c (symlink_dialog): Put this inside an "#ifndef
3435 HAVE_GNOME" since we now provide a nicer version of the dialog.
3437 * wtools.c (real_input_dialog_help): Removed un-needed #ifdef.
3439 * cmd.c (edit_symlink_cmd): Generate the title of the dialog after
3440 we have computed the source filename.
3441 (edit_symlink_cmd): Use g_strdup_printf() instead of g_strconcat()
3442 for better internationalization.
3444 * wtools.c: Removed unused function input_dialog_help_2().
3445 (real_input_dialog_help): Put this inside an "#ifndef HAVE_GNOME",
3446 because now the Gnome version implements its own pretty dialog.
3448 1999-03-14 Miguel de Icaza <miguel@nuclecu.unam.mx>
3450 * dlg.c (dlg_select_nth_widget): Handle the case where h->current
3453 1999-03-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
3455 * file.c (erase_file): Here we need to mc_lstat(), not mc_stat().
3456 Since we use the resulting buf.st_size to update the progress, we
3457 need the size of unresolved links. This also makes it consistent
3458 with screen.c:do_file_mark().
3460 * screen.c (select_item): Return immediately if this is a desktop
3463 1999-03-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
3465 * subshell.c (pty_open_slave): Glibc-2.1-based Linux kernels have
3466 grantpt() but they do lack SysV streams. Handle this. Noticed by
3469 1999-03-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3471 * util.h: Added prototype for g_readlink(). Miggie boy should add
3472 prototypes when he adds public functions.
3474 1999-03-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
3476 * utilunix.c (g_readlink): Fixed two bugs spotted by Morten
3477 Wellinder. Boy, Morten has such a good eye!
3479 1999-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
3481 * file.c (erase_dir): Erase metadata for directories as well.
3482 (erase_dir_iff_empty): Likewise.
3483 (copy_file_file): Delete/copy the metadata even for
3484 char/block/sock/fifo files. Same thing for when copying symlinks.
3485 (copy_dir_dir): Delete/copy the metadata.
3486 (move_dir_dir): Delete/move the metadata.
3487 (recursive_erase): Delete the metadata.
3489 1999-03-08 Federico Mena Quintero <federico@nuclecu.unam.mx>
3491 * file.c (real_query_recursive): Removed an unused variable.
3493 1999-03-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
3495 * utilunix.c (g_readlink): New function. Wraps all the nonsense
3496 of readlink into a nice routine.
3498 * filegui.c: Support ui->ctx to be NULL, as file.c will set this
3499 to NULL for background operations.
3501 * background.c (do_background): Handle EINTR in dup2.
3503 Wed Mar 10 22:21:19 1999 David Martin <dmartina@usa.net>
3505 * util.c (my_putenv): char* was used to store the length of a string
3507 * info.c (info_show_info): cast st_dev and st_ino when passing
3510 1999-03-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3512 * file.c (panel_operate): Always create the ctx->ui. Federico,
3513 can you see if this change is correct from your point of view?
3515 * cmd.c (edit_symlink_cmd): Small fix to improve the messages
3518 Tue Mar 2 22:54:50 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3520 * util.c (name_quote): Quote '<' and '>'.
3522 Tue Mar 2 22:28:39 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3524 * main.c (panel_clean_dir): New function: reset all counters of a
3525 WPanel and clean directory list.
3527 * various places: Use panel_clean_dir instead of clean_dir whenever
3528 a WPanel is available. This solves the problem reported by Enrico
3529 Scholz (screen refresh while panel reload with an old/now invalid
3532 Mon Mar 1 00:18:48 1999 Timur Bakeyev <mc@bat.ru>
3534 * mad.c: Tempnam() returns malloced buffer, so, free() it, not g_free().
3536 1999-02-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
3538 * view.c (view_percent, view_update): Take an extra argument:
3539 update_gui, which controls whether we want to update the displayed
3540 region in the GUI version.
3542 1999-02-25 Jonathan Blandford <jrb@redhat.com>
3544 * cmd.c (symlink_cmd): little change to handle the case when a
3545 desktop panel is passed in.
3547 1999-02-25 Owen Taylor <otaylor@redhat.com>
3549 * fileopctx.h file.c: Moved recursive delete query
3550 dialog into gdialogs.c for GNOME.
3552 1999-02-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
3554 * file.c: Moved FileCopyMode here (thanks to Wolfgang Scherer for
3555 pointing this out) and made it a typedef.
3557 * treestore.c (process_special_dirs): New function.
3558 (should_skip_directory): Load the settings from the global
3559 special.dirs file and from the
3561 * util.c: Test for glibc/linux and if so, do not use getwd, but
3562 getcwd as on this system it is better than popen ("pwd").
3564 1999-02-18 Federico Mena Quintero <federico@nuclecu.unam.mx>
3566 * setup.c: Declare extern int tree_panel_visible for the GNOME
3569 1999-02-17 Federico Mena Quintero <federico@nuclecu.unam.mx>
3571 * dir.c (if_link_is_exe): Made this function take in a directory
3572 argument as well -- the sought file may not be in the cwd, and
3573 file entries do not carry the directory the file refers to.
3575 * screen.c (do_enter_on_file_entry): Pass in the cpanel->cwd to
3578 1999-02-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
3580 * treestore.c (tree_store_rescan): Add code to skip scanning
3581 specially slow directories (/afs, /coda, /...). It is of course,
3584 * setup.c: Export the profile_name setup routine.
3586 Tue Feb 16 21:21:32 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3588 * popt.c: Compilation fix: on systems without setreuid use setuid.
3590 Tue Feb 16 21:18:08 1999 David Martin <dmartina@usa.net>
3592 * achown.c: Make buttons fit in the (new) translated
3593 Advanced Chown dialog.
3595 1999-02-16 Alexaander Savelyev <fano@ham.kiev.ua>
3597 * subshell.c (exit_subshell): Use the size of the buffer, not
3598 sizeof of the pointer to the buffer.
3600 Sun Feb 14 02:59:09 1999 Timur Bakeyev <mc@bat.ru>
3602 * utilunix.c (my_system): Fix the order of preferenses, as setuid
3603 more desirable on BSD systems. Terminate execl[p]() with NULL, as
3604 this is formally correct.
3606 1999-02-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
3608 * dir.c (do_load_dir): Added missing calls to tree_store_end_check.
3610 * find.c (add_to_list): Pass the data pointer as well.
3612 Fri Feb 12 06:36:58 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3614 * utilunix.c (my_system): Compilation fix: on systems without
3615 setreuid use setuid.
3617 1999-02-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3619 * panel.h (WPanel): Removed unused field "corbadat".
3621 1999-02-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
3623 * screen.c: Make delete key delete files.
3625 * dir.c (do_reload_dir): Add a couple of missing calls to tree_store_end_check.
3627 1999-02-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
3629 * main.h: Added prototype for main_corba_register_server().
3631 1999-02-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
3633 * view.c (search): Provide GNOME specific code for the search progress
3635 * treestore.c: Add a new hook system to hint a tree freeze/thaw.
3637 * setup.c: In the GNOME version, we do not show the dot files by default.
3639 1999-02-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3641 * file.c (copy_file_file): Add support for the GNOME metadata here.
3642 (move_file_file): Add support for the GNOME metadata here.
3644 1999-02-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
3646 * treestore.c (tree_store_add_entry): Use g_new0 to allocate the tree_entry.
3648 (tree_store_notify_add): Close, but no cigar. The
3649 bug was deeper: This list keeps names, not tree_entries.
3651 1999-02-07 Federico Mena Quintero <federico@nuclecu.unam.mx>
3653 * treestore.c (tree_store_notify_add): A tree_store_add_fn wants a
3654 string, not a tree_entry, so pass a string to it.
3656 1999-02-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
3658 * treestore.c: Revert all of the stack changes. Now the treestore
3659 is again non-re-entrant. Being re-entrat was only covering up for
3660 bugs in other places.
3662 Now we postpone notifications for additions at
3663 tree_store_end_check, not before.
3665 1999-02-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
3667 * treestore.c (tree_store_remove_entry): Removed unused code for
3668 base_sublevel computation.
3670 Sun Feb 7 06:11:48 1999 Timur Bakeyev <mc@bat.ru>
3672 * Makefile.in: Change calls to xmkdir to mkinstalldirs - this is more
3675 * xmkdir removed - we have mkinstalldirs.
3677 1999-02-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
3679 * cmd.c (view_other_cmd): Do not use \r in translatable strings.
3681 1999-02-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
3683 * widget.c (push_history): Only do check the history headings if
3684 the widget has a history entry bound to it.
3686 1999-02-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
3688 * treestore.c (tree_store_start_check, tree_store_mark_checked,
3689 tree_store_end_check): Use a stack for check_name. There are far
3690 too many instances that might call the end_check.
3692 Wed Feb 3 23:55:54 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3694 * widget.c (history_put): set the access rights correctly when
3695 the history file is created initially. Don't save the history
3696 if we can't set the access rights.
3698 1999-02-01 Jonathan Blandford <jrb@redhat.com>
3700 * setup.c: save we_can_afford_the_speed
3702 Wed Feb 3 22:27:04 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3704 * util.c (strip_password): Extented to find the url in the first
3705 parameter. The second parameter tells whether it should search the
3706 url (indicated by known prefixes) in the first parameter or whether
3707 the first parameter is a url without a prefix ("ftp://", "/#ftp:",
3710 * main.c (directory_history_add): Strip the password (if any) from
3711 the freshly added value.
3713 * widget.c (push_history): ditto. There's a ugly special casing
3714 necessary for the network and ftp link dialogs (urls are entered
3717 * widget.c (history_put): Restrict read and write access to the
3718 history file to the owner (Just in case I forgot to strip passwords
3721 Mon Feb 1 00:43:15 1999 Timur Bakeyev <mc@bat.ru>
3723 * screen.c (to_buffer): Code of the function rewritten, as a side
3724 effect added J_CENTER (who needs this?). Also, justification flags
3725 got twins with _FIT suffix, which tries to fit name in the field with-
3726 out truncation (uses name_trunc()). This unifies behaviour of CList
3727 variants and text-bases widgets.
3729 * screen.c: Remove HAVE_GNOME wrappers around string_file_[name|owner|
3730 group]() - not necessary, to_buffer() doing this work.
3732 Sun Jan 31 19:49:00 1999 Norbert Warmuth <nwarmuth@privat.circular.de>
3734 * hotlist.c (add_new_entry_input, add_new_group_input): Make the
3735 quick_widget arrays static and various changes needed because they
3736 are now static. add_widgets_i18n recalculates button positions
3737 which get lost when the quick_widget arrays are non static.
3739 * screen.c (to_buffer): nul terminate string when using strncpy
3741 * setup.c: Save and restore new option ftpfs_first_cd_then_ls.
3743 1999-01-31 Federico Mena Quintero <federico@nuclecu.unam.mx>
3745 * file.c (panel_operate_generate_prompt): Removed the cmd_buf
3746 argument, since it is a global variable anyway (this function is
3747 only called once from file.c, and the global cmd_buf was being
3749 (panel_operate): Do not pass cmd_buf to
3750 panel_operate_generate_prompt().
3751 Thanks to Alexander Savelyev <fano@vcom.kiev.ua> for noticing this.
3753 1999-01-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
3755 * achown.c (XTRACT): Add missing call to _().
3757 1999-01-26 Federico Mena Quintero <federico@nuclecu.unam.mx>
3759 * panel.h: Fixup #includes.
3761 1999-01-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
3763 * cons.saver.c: Removed glib from the suid app
3765 Wed Jan 27 03:17:44 1999 Timur Bakeyev <mc@bat.ru>
3767 * Converted memory managment to Glib. Now we use g_new()/g_malloc()/
3768 g_strdup()/g_free() routings. Also, copy_strings() replaced by
3769 g_strconcat(), strcasecmp() -> g_strcasecmp(),and sprintf() by
3772 * Some sequences of malloc()/sprintf() changed to g_strdup_printf().
3774 * mad.[ch]: Modified, to work with new GLib's memory managment. Fixed
3775 a missing #undef for tempnam, which caused dead loop. Add several new
3776 functions to emulate GLib memory managment.
3778 *main.c, mad.[ch]: Add a new switch "-M", which allows to redirect MAD
3779 messages to the file.
3781 * util.[ch], utilunix.c: Modified, deleted our variants of strcasecmp()
3782 and strdup() - we have g_ equivalences. Remove get_full_name() - it is
3783 similar to concat_dir_and_file(). Some other tricks with g_* functions.
3785 * global.h: Modified, extended. Now it is main memory mangment include -
3786 i.e. all inclusions of <stdlib.h>, <malloc.h>, <glib.h>, "fs.h", "mem.h",
3787 "util.h" and "mad.h" done there. This elimanates problem with proper or-
3790 * All around the source - changed order of #include's, most of them gone
3791 to global.h (see above), minor changes, like "0" -> NULL in string func-
3794 1999-01-25 Alexander Savelyev <fano@vcom.kiev.ua>
3796 * ext.c (exec_extension): Always use /bin/sh. Not the user
3799 1999-01-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
3801 * treestore.c (tree_store_remove_entry_remove_hook): Missing
3802 function. To remove a notification hook.
3803 (tree_store_notify_add, tree_store_add_entry_add_hook,
3804 tree_store_remove_entry_add_hook): New functions to notify of
3805 additions to the treestore.
3807 * tree.c (tree_destroy): Remove the callback hook when we go
3810 1999-01-21 Miguel de Icaza <miguel@nuclecu.unam.mx>
3812 * option.c (init_configure): One line patch from Alexander
3813 Savelyev to transalate all strings.
3815 1999-01-18 Pavel Machek <pavel@artax.karlin.mff.cuni.cz>
3817 * file.c: Killed operation_names: they seemed same to op_names to
3818 me, and compilation failed on them (initializer element is not a
3819 constant). Maybe miguel tagged too many strings for localization?
3822 * ext.c: we use /tmp in "creative" way: creating there file and
3823 then executing it. I do not see how it is needed. Marked with FIXME.
3825 Thu Jan 21 01:11:24 1999 Timur Bakeyev <mc@bat.ru>
3827 * mad.[ch], util.[ch]: commit changes, that allow coexist (temporary)
3828 GLib'ed VFS and not still converted MC itself.
3830 1999-01-20 Federico Mena Quintero <federico@nuclecu.unam.mx>
3832 * treestore.c (tree_store_start_check): Use mc_stat(), not stat().
3833 (tree_store_rescan): Use mc_lstat(), not lstat().
3835 Tue Jan 19 05:28:04 1999 Timur Bakeyev <mc@bat.ru>
3837 * ext.c, filenot.c, main.c, screen.c, treestore.c: add missed #include's
3838 and moved glib.h so, it follows "fs.h", but preceed "util.h" and "mad.h".
3839 There were conflicts during compilation with MAD and GLibed vfs.
3841 Mon Jan 18 21:23:29 1999 Paul Sheer <psheer@obsidian.co.za>
3843 * cmd.c: update_panels (UP_OPTIMIZE, UP_KEEPSEL); instead
3844 of reread after editing a file.
3846 1999-01-18 Arturo Espinosa <arturo@nuclecu.unam.mx>
3848 * file.c: Use N_ instead of _ for some of miguel's last tags.
3850 1999-01-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
3852 * file.c: Tag some more strings for localization.
3854 1999-01-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
3856 * cmd.c (mkdir_cmd): Please, check your pointer usage.
3858 Thu Jan 14 13:18:58 1999 Timur Bakeyev <mc@bat.ru>
3860 * screen.c (string_file_[owner|group]): Workaround the fact, that some
3861 systems have user and group names greater than 8 symbols. Now we trun-
3864 1999-01-13 Federico Mena Quintero <federico@nuclecu.unam.mx>
3866 * treestore.c (tree_store_load): Use g_return_val_if_fail(), not
3868 (tree_store_rescan): Added parentheses to clarify || and &&.
3870 * tree.c (tree_add_entry): Removed unused variable.
3872 * treestore.h: Added prototype for tree_store_start_check_cwd().
3874 1999-01-13 Miguel de Icaza <miguel@nuclecu.unam.mx>
3876 * view.c (search): Missing condition.
3878 * treestore.c (tree_store_opendir): Simplistic fix. This is not
3881 1999-01-12 Federico Mena Quintero <federico@nuclecu.unam.mx>
3883 * panelize.h: Added prototype for do_external_panelize().
3885 * screen.c (move_selection): Unused variable fixes for HAVE_X.
3887 * boxes.c (configure_vfs): Removed an unused variable.
3889 1999-01-12 Jonathan Blandford <jrb@redhat.com>
3891 * cmd.c (mkdir_cmd): now mkdir_cmd will accept relative, and
3892 absolute directories.
3894 Tue Jan 12 13:40:46 1999 Timur Bakeyev <mc@bat.ru>
3896 * gtkedit(syntax.c): Fixed a typo in Pascal syntax.
3898 1999-01-12 Miguel de Icaza <miguel@nuclecu.unam.mx>
3900 * treestore.c (tree_store_save): Add signature for version 2.0 of
3903 1999-01-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
3905 * file.c (do_file_error): Made static.
3906 (query_recursive): Have cases for background/foreground operation.
3907 (do_file_error): Likewise.
3909 * background.c: Removed the bg_ctx global, since now all the
3910 contexts are carried around by the functions that actually need
3913 * fileopctx.h (FileOpContext): Moved the op_preserve field to here.
3915 * filegui.c (file_mask_dialog): Removed the ui assertion, since
3916 now the op_preserve field is kept in the main context structure.
3918 1999-01-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
3920 * util.c: Provide workarounds for Linux kernel bug.
3922 Sun Jan 10 02:18:33 1999 Timur Bakeyev <mc@bat.ru>
3924 * screen.c(string_file_size): Fixed (incorrect?) printing of device num-
3925 bers. Major should never be greater 255.
3927 1999-01-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
3929 * dir.c (handle_dirent): Use the tree_store now.
3930 (handle_path): ditto.
3931 (do_load_dir): ditto.
3932 (do_load_dir): ditto.
3933 (do_reload_dir): ditto.
3934 (do_reload_dir): ditto.
3936 * treestore.c (tree_store_save): New file
3937 (encode): New routine used to encode pathnames in a safe way that
3938 are saved to the mc/.tree file.
3939 (decode): New routine, used to decode the pathnames we encoded in
3940 the step above. Aint love grand?
3942 * tree.c (load_tree): Kill dead code.
3944 Moved all of the tree store information into a new file:
3945 treestore. To be reused by the Gnome code.
3947 1999-01-08 Ilya Zakharevich <ilya@math.ohio-state.edu>
3949 * popt.c: OS/2 and Windows NT portability fix.
3951 1999-01-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
3953 * file.c (panel_operate_flags): Only show this dialog box if it is
3954 a copy or move operation
3956 1999-01-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
3958 * background.c (do_background): Make it a bit saner. Now we store
3959 a per-child-process FileOpContext structure.
3961 * fileopctx.h: New file with declarations for the file operation
3964 * fileopctx.c (file_op_context_new): New function to create a file
3965 operation context with the default file mask values.
3966 (file_op_context_destroy): New function to destroy a file
3967 operation context and its associated UI, if appropriate.
3969 * filegui.h: Use complete prototype for fmd_init_i18n().
3971 * filegui.c (FileOpContextUI): New structure that describes the UI
3972 and internal data for file operation contexts in the text mode
3974 (file_op_context_create_ui): Renamed from create_op_win() and
3975 made it use a context instead of global variables.
3976 (file_op_context_destroy_ui): Likewise, renamed from
3978 (fmd_widgets): Removed an #ifdef HAVE_XVIEW bit and moved the
3979 initialization of the result pointers to file_mask_dialog(), as we
3980 need to use the pointers to the fields inside the file op context now.
3981 Made all the functions use a file operation context.
3982 (file_mask_dialog): Always call fmd_init_i18n(); it will take care
3983 of idempotence by itself.
3984 (fmd_init_i18n): Now the code that makes sure this function is
3985 only called once is here.
3987 * cmd.c (check_for_default): Make it use a file operation context.
3988 * tree.c (tree_copy): Likewise.
3989 (tree_move): Likewise.
3990 (tree_rmdir_cmd): Likewise.
3992 * file.c: Removed file_progress_replace_progress and
3993 file_progress_replace_filename -- they are only used in filegui.c
3994 as part of the UI for the file operation context.
3995 (panel_operate_generate_prompt): Made static.
3996 (panel_operate_generate_prompt): Always call fmd_init_i18n(); it
3997 will take care of idempotence by itself.
3998 (panel_operate): Removed the panel_operate_def() function, and
3999 made panel_operate() take an extra "ask_user" argument.
4000 (query_recursive): Made static.
4002 * background.c (background_attention): Made static.
4003 (register_task_running): Made static.
4004 (do_background): Now takes a file operation context as an
4005 argument. It stores the pid of the child there.
4007 * Makefile.in: Added fileopctx.[ch].
4009 1999-01-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
4011 * widget.c (listbox_new): Assing l->height.
4013 1999-01-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
4015 * main.c (update_one_panel_widget): GNOME version does the panel
4016 update here (this is an optimization, as we do not want do_refresh
4019 * dialog.c (do_refresh): Remove this optimization as it was
4020 disabling the repainting of the screen contents.
4022 * hotlist.c (done_hotlist): The hotlist might not be loaded
4025 1999-01-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
4027 * widget.c (listbox_new): Under GNOME, height of the listbox might
4028 be less than zero (due to LINES/COLS being set to zero there). So
4029 for bow, set the height to 1. This needs to be propery computed
4030 in x_create_listbox.
4032 * main.c (main): Do not load the hotlist here anymore. We
4033 auto-load it on the setup(?).
4035 1998-12-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
4037 * main.c (main): Removed old, unused code.
4038 (setup_panels_and_run_mc): Register the corba server here, not
4039 before, as the program is not ready to accept any commands yet.
4041 * screen.c (panel_set_sort_order): New routine to set the sorting
4043 (panel_re_sort): New routine to force a resort on a panel.
4045 * main.c (sort_cmd): Use the new routines.
4047 1998-12-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
4049 * cmd.c (check_for_default): Make this compile.
4051 Tue Dec 29 22:25:34 1998 Timur Bakeyev <mc@bat.ru>
4053 * mountlist.c: Compress all xBSD systems to one line and add check
4054 for MOUNT_UFS - it seems, that 4.4BSD and 4.4BSD2 systems different-
4055 ly handles FS names. (currently affects BSDI and FreeBSD)
4057 Tue Dec 29 16:34:02 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4059 * file.c (progress_update_one): Ignore files in subdirectories
4060 when panel totals haven't been computed.
4062 (erase_dir, erase_file): update progress bar (i.e. make it work
4065 (panel_operate_flags): Don't compute panel totals for OP_MOVE.
4066 When moving files on the same filesystem computing totals might
4067 last much longer than the actual move operation.
4069 (various places): adpations for the above changes.
4071 Mon Dec 28 22:15:43 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4073 * slint.c (try_alloc_color_pair): Changed hardcoded values into
4076 Mon Dec 28 20:22:59 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4078 * color.c, text.c: Added color "stalledlink" which is used for
4079 stalled symbolic links. Formerly "viewunderline" was used for
4080 this (IMO bad because function and name didn't match).
4081 According to the man page the color keyword for executable files
4082 is `executable' and not `execute' -- changed.
4084 * color.c, color.h: When using SLang some color indexes are not
4085 freely choosable (DEFAULT_COLOR clashed with A_BOLD_REVERSE).
4086 Solved by adding holes in color_map.
4088 * find.c (do_search): fixed possible memory leak
4090 Sat Dec 26 09:53:39 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4092 * layout.c: include sys/ioctl.h to get definition of TIOCGWINSZ
4093 (fixes problem with screen resize).
4095 Fri Dec 25 20:19:57 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4097 * file.c (panel_operate_flags): Don't change file progress count and
4098 size twice for every file.
4100 (panel_compute_totals): Initialize return values to zero before
4101 calculating anything.
4103 (panel_operate_def, panel_operate): return a value
4105 Thu Dec 24 19:00:05 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4107 * screen.c (recalculate_panel_summary): new function which recalculates
4108 the summary information for the mini-status.
4110 * screen.c (panel_reload): use recalculate_panel_summary
4112 * screen.c (do_file_mark): Honour that dirsizes computed is now a
4115 Thu Dec 24 18:53:16 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4117 * option.c: Added Compute Totals to the configuration dialog.
4119 * file.c (compute_dir_size): made non static
4121 (panel_operate_flags): Don't compute directory sizes if verbose
4124 Thu Dec 24 18:42:52 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4126 * cmd.c (dirsizes_cmd): Rewritten to use compute_dir_size as suggested
4127 by Miguel, i.e. get rid of du. Now the dirsizes_cmd honours a
4128 selection and computes sizes only for marked directories. Possible
4129 improvement: add a dialog (or C-C?) to abort computation.
4131 * dir.h (file_entry), panel.h (WPanel): Made the dirsizes computed
4132 flag a per file flag.
4134 * dir.c, find.c, panelize.c, screen.c: Adapted to new file_entry and
4137 * features.inc: Deleted DUSUM information
4139 * mc.hlp: remade because of changes in doc/mc.1.in
4141 1998-12-22 Jonathan Blandford <jrb@redhat.com>
4143 * file.c: add a HAVE_GNOME only function
4145 Mon Dec 21 22:39:35 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4147 * mountlist.c: Define xBSD on FreeBSD.
4149 * main.c (parse_an_arg): New function, popt callback. Option
4150 parsing in gmc was broken. The gnome*_init_with_popt_table free
4151 the option tables and gmc tried to use the option tables later.
4153 * main.c (handle_args): In the Gnome edition don't parse the
4154 options a second time.
4156 * boxes.c (configure_vfs), setup.c: Deleted obsolete options.
4157 tar.gz files are now always unzipped to a temporary file on disk.
4159 Mon Dec 21 14:28:55 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4161 * filenot.c (my_mkdir_rec): Someone broke this completely by deleting
4162 a line. Funny things happen if you use an already freed pointer.
4163 Improved error handling: try to make directories recursivly until
4164 mkdir succeeds or fails with errno != ENOENT. Now you will get the
4165 correct error message when you don't have permission to create a
4168 * mountlist.c: Deleted function prototypes for strdup and strstr,
4169 they might conflict with definitions in the system header files.
4171 Wed Dec 16 14:41:15 1998 Paul Sheer <psheer@obsidian.co.za>
4173 * gtkedit.c, editwidget.c: gnome selection now works with the
4176 Wed Dec 16 06:27:00 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4178 * screen.c (Xtry_to_select): Don't select a similar file when
4179 "name" can't be found in the panel (when deleting files the
4180 selection jumpped from the deleted "file" to a directory which
4181 started with the same character as "file", annoying).
4182 Strip known vfs suffixes from "name" before trying to select
4183 (I think Timur made this suggestion a few months ago). Know the
4184 vfs is mature enough to do this.
4186 1998-12-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
4188 * dir.c (link_isdir): Remove unused variable.
4190 Sun Dec 13 18:35:05 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4192 * screen.c (panel_reload): Don't set panel->selected to zero here,
4193 keep it's value if possible or set it to panel->count - 1 (I disliked
4194 the jumping cursor when deleting files).
4196 1998-12-11 Michael Fulbright <msf@majestic.labs.redhat.com>
4198 * file.c (panel_operate_generate_prompt): Changes the text
4199 for GNOME dialogs. --jrb
4201 1998-12-10 Miguel de Icaza <miguel@nuclecu.unam.mx>
4203 * main.c (try_to_select): We do not need to select the item
4204 manually in this case, as the X code will do this for us.
4206 Fri Dec 11 00:05:50 1998 Paul Sheer <psheer@obsidian.co.za>
4208 * syntax.c, slint.c, color.c, color.h: editor now has its
4209 own color configuration so you can set editor background
4210 colors with MC_COLOR_TABLE.
4212 1998-12-10 Paul Sheer <psheer@obsidian.co.za>
4214 * syntax.c: perl syntax highlighting. syntax highlighting
4215 bug fizes for python and sh.
4217 * edit.c: new method of finding line offsets from line
4218 number (for cooledit for python stuff).
4220 Mon Nov 30 21:10:30 1998 Pavel Machek <pavel@bug.ucw.cz>
4222 * file.c (copy_file_file): minor code beatifulling: replace goto's
4223 with while loops (it is both shorter and nicer :-)
4224 (panel_operate): hopefully done WANT_STALE_DATA right. We really
4225 should kill ftpfs_hint_reread hack soon.
4227 * cmd.c (dirsizes_cmd): report error if you are on non-local
4228 filesystem. (As oposed to silently failing.)
4230 1998-12-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
4232 * screen.c (panel_reload): Set panel->selected to zero here, this
4233 will at least guarantee that we do not try to fetch anything
4236 * main.c: The bar2 is gone as well.
4238 Tue Dec 8 19:19:39 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4240 * cmd.c (dirsizes_cmd): Fixed possible buffer overflow
4242 1998-12-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
4244 * screen.c (do_enter): Return the value from this.
4246 1998-12-06 Federico Mena Quintero <federico@nuclecu.unam.mx>
4248 * dir.c (link_isdir): Fetch the information from
4249 file->f.link_to_dir, since we already have it.
4251 * dir.h (file_entry): Removed the `cache' field in this structure,
4252 as it was only used for the deprecated Xview version.
4253 Also, removed the `exists' field, as it was not being used anywhere.
4255 * dir.c: Removed all occurrences of file_entry->cache.
4257 * find.c: Removed all occurrences of file_entry->cache.
4259 * panelize.c: Removed all occurrences of file_entry->cache.
4261 * screen.c (do_enter_on_file_entry): New public function that
4262 implements the functionality in do_enter(), but based on a file
4263 entry rather than on a panel.
4264 (do_enter): Use do_enter_on_file_entry() with the selection of the
4265 panel as an argument.
4267 1998-12-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
4269 * cmd.c, tree.c: Updated to the new file.c api.
4271 * file.c: (copy_file_file, copy_dir_dir, move_file_file,
4272 move_dir_dir): Updated to work with the new updating stuff.
4274 * setup.c: New configuration option to compute the totals to be
4277 * file.c (compute_dir_size, panel_compute_totals): New routines to
4278 compute the total ammount of information that is going to be
4281 1998-12-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
4283 * ext.h: GNOME edition uses a different set of .ext files.
4285 * lib/mc-gnome.ext.in: New file with GNOME-specific bindings.
4287 1998-12-02 Miguel de Icaza <miguel@nuclecu.unam.mx>
4289 * GNORBA integration. We now produce two binaries: gmc and
4290 corba-gmc (that way, I dont interfere with other's work).
4292 * Added prototypes, made private functions static, clean up
4293 various silly warnings.
4295 * main.c (main): Removed crufty init_sigfatal code.
4297 * cmd.c (do_link): More slang dependecies are fixed for the X
4300 * keys.h (enum): Moved key definitions here.
4302 * tty.h: MOve towards slang freedom for the GNOME port.
4304 1998-12-01 Jonathan Blandford <jrb@redhat.com>
4306 * file.c (panel_operate_generate_prompt): moved from filegui.c
4308 1998-11-30 Federico Mena Quintero <federico@nuclecu.unam.mx>
4310 * panel.h (WPanel): Added the missing tree/pane/view_table fields
4311 to the Gnome part of the structure.
4313 1998-11-26 Miguel de Icaza <miguel@nuclecu.unam.mx>
4315 * cons.saver.c (main): Make sure stderr is always valid.
4316 (main): Also check that stderr_fd is not -1.
4318 Wed Nov 25 22:16:19 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4320 * cmd.c (dirsizes_cmd): Quote characters with a special meaning
4321 when passing it to du.
4323 1998-11-23 Federico Mena Quintero <federico@nuclecu.unam.mx>
4325 * dlg.c (dlg_try_hotkey): Removed unused declaration of input_event.
4326 (dlg_key_event): Return 1 if handled the tab key.
4328 * filegui.h: Added prototypes for file_progress_show_{source,target,deleting}().
4330 Sun Nov 22 22:30:50 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4332 * autogen.sh: replaced "cat *.m4" with a call to aclocal. Concatenate
4333 mc-aclocal.m4 and gettext.m4 to acinclude.m4. The other way round
4334 would have been to add three more m4 files to the replaced cat line
4335 (including cond.m4 from automake-1.3b).
4337 Fixed OBJ_DIR handling.
4339 Sun Nov 15 00:37:58 1998 Pavel Machek <pavel@bug.ucw.cz>
4341 * mad.c (mad_tempnam): needed wrapper for tempnam added
4343 1998-11-17 Miguel de Icaza <miguel@nuclecu.unam.mx>
4345 * dlg.c (destroy_dlg): Do not refresh.
4347 * filegui.c: New file. We keep all of the user interface code for
4348 the text edition in this file now. This should be a per-GUI port
4351 1998-11-11 Federico Mena Quintero <federico@nuclecu.unam.mx>
4353 * panel.h (WPanel): Instead of the "#ifdef GNOME" mess in the
4354 WPanel structure, we now have a single opaque pointer to UI data,
4355 called port_ui. GUI stuff specific to each port should be here.
4356 This is a work in progress.
4358 1998-11-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
4360 * setup.c: Removed the icons_snap_to_grid and
4361 want_transparent_{icons,text} options.
4363 Thu Nov 5 12:10:10 1998 Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
4365 * file.c (panel_operate): check for null pointer before passing it
4368 Wed Nov 4 17:51:43 1998 Pavel Roskin <pavel_roskin@geocities.com>
4370 * src/findme.h: added from popt-1.2 by RedHat
4372 * src/Makefile.in: appropriate changes to use new popt
4374 Sun Nov 1 20:59:05 1998 Pavel Machek <pavel@bug.ucw.cz>
4376 * file.c (erase_file): translated goto into while loop (it is both
4377 shorter AND cleaner)
4379 * subshell.c (feed_subshell): do NOT print anything if we get
4380 errors/eofs from read(subshell) - this fixes (or at least hides)
4381 nasty bug where typing "exit" on mc prompt prints lots of garbage
4382 and falls into infinite loop. Someone with better knowledge should
4383 read feed_subshell(), and make it handle errors properly. (Why do
4384 we ignore EIO for example?)
4386 Sun Oct 18 22:56:17 1998 Pavel Machek <pavel@bug.ucw.cz>
4388 * view.c: we now rely on sfs to do file decompressing for us. That
4389 has advantage of displaying #ugz at first line, so user knows what
4390 we are doing behind his back
4392 * view.c: fix indentation, fallback to read whole file if mmap fails.
4394 1998-11-01 Federico Mena Quintero <federico@nuclecu.unam.mx>
4396 * setup.c: #ifdef'ed out stuff in the menus that will get changed
4397 as I rewrite the desktop part.
4399 1998-10-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
4401 * layout.c (print_vfs_message): Use g_snprintf instead of
4405 1998-10-30 Sung-Hyun Nam <namsh@lgic.co.kr>
4407 * color.c, slint.c: support transparent background if user use
4408 'default' keyword for background color.
4410 Mon Oct 26 00:31:53 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4412 * configure.in, Make.common.in: Split CPPFLAGS into CPPFLAGS and
4413 MCCPPFLAGS. The last one contains references to variables which are
4414 not available in every Makefile.in (namely intl/Makefile.in). Without
4415 the split `-I ' was passed to the compiler (the compiler on DU 4.0
4416 interprets -I as "don't search include files in /usr/include").
4418 Thu Oct 22 20:41:50 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4420 * configure.in (subshell): Don't define inline to be empty
4421 when compiling with non-gcc compiler. AC_C_INLINE (invoked in
4422 AM_GETTEXT_GNU) already defines inline if necessary.
4424 Thu Oct 22 20:41:16 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4426 * panelize.c (do_external_panelize): Not zeroing some fields
4427 in cpanel led sometimes to segfaults.
4429 Thu Oct 22 20:31:17 1998 Pavel Roskin <pavel_roskin@geocities.com>
4431 * lib/mc.ext.in: *.jar and *.JAR treated like *.zip and *.ZIP
4433 Fri Oct 16 12:10:56 1998 Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
4435 * cmd.c (quick_chdir_cmd): you must check for return code of
4436 do_cd(). (Fixed error for here, but more such bugs are present in
4437 src/ tree. Or maybe move error checking into do_cd?)
4439 * command.c: warn user if he is pressing enter while on non-local
4440 filesystem. (Prev. behaviour was fail silently to do anything,
4443 Mon Oct 12 22:47:53 1998 Pavel Machek <pavel@bug.ucw.cz>
4445 * file.c (copy_file_file): MCCTL_SETREMOTECOPY is no longer used
4447 * file.c (copy_file_file): do_reget is now correctly done using
4450 Wed Oct 7 22:20:37 1998 Pavel Machek <pavel@bug.ucw.cz>
4452 * file.c: Ask user if (s)he wants to delete incomplete file
4454 Sun Oct 11 20:21:20 1998 Peter Kleiweg <kleiweg@let.rug.nl>
4456 * mfmt.c (main): When there are an even number of empty lines
4457 between messages, all goes well, but when the number of empty
4458 lines between messages is odd, the program fails.
4460 Sun Oct 11 20:11:16 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4462 * setup.c: Option ftpfs_use_unix_list_options was saved from
4463 and restored to the wrong variable (ftpfs_use_passive_connections).
4465 Mon Oct 5 21:33:14 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4467 * screen.c (parse_display_format): Don't dereference NULL pointer
4468 when format string is an empty string.
4470 Mon Oct 5 19:59:56 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4472 * main.c (translate_url_to_new_syntax): Translate ftp:// to an
4473 absolute path instead of a relative path (fix to "hotlist" bug
4474 reported by Andrej). This means we drop the "return to last dir"
4475 feature for ftpfs (when leaving ftpfs with ".." returns to the
4476 directory visited before entering the ftpfs).
4478 Sat Oct 3 00:54:23 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4480 * gtkedit/Makefile.in (EDITOBJS): removed one wrong \\ (line
4483 Thu Oct 1 18:43:34 1998 Pavel Roskin <pavel_roskin@geocities.com>
4485 * file.c: Commented out search for egrep because execvp() does
4488 * utilunix.c: vfs_uid should not be used if VFS is disabled
4490 Tue Sep 29 17:53:56 1998 Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
4492 * main.c: removed stupid reference to {sfs,extfs}_which
4494 * screen.c: fixed higlighting to go for longest match if it does
4495 not find exact match. This is so that it works well with vfs (and
4496 needs _NO_ knowledge about vfs layer).
4498 Tue Sep 29 14:02:56 1998 Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
4500 * layout.c (print_vfs_message): fixed buffer overrun by
4501 vsnprintf. Unfortunately I have no clue how to do this portably.
4503 Tue Sep 29 11:42:32 1998 Pavel Roskin <pavel_roskin@geocities.com>
4505 * setup.c: Corrected code which prevents using icon view by
4506 ports which don't support it
4508 Mon Sep 28 21:55:13 1998 Norbert Warmuth <nwarmuth@privat.circular.de>
4510 * find.c: Changed hotkey of the continue-button (both Chdir and
4513 * Makefile.in: search config.status in builddir and not in rootdir,
4514 i.e. make it compile for builddir != srcdir
4516 Wed Sep 23 14:06:44 1998 Pavel Machek <pavel@atrey.karlin.mff.cuni.cz>
4518 * src/file.c: Made file.c use new O_LINEAR mode (so copying from
4519 ftp works nicely, again)
4521 Fri Sep 18 14:15:43 1998 Pavel Roskin <pavel_roskin@geocities.com>
4523 * src/mad.c: All messages are sent to stderr and terminate with \r\n
4525 * src/hotlist.c: Harmless memory leak fixed
4527 * xv/Makefile.in, xv/xvmain.c, xv/xvscreen.c: Minor fixes to
4528 make compilation of the XV port possible (currently without
4531 Thu Sep 17 07:32:23 1998 Norbert Warmuth <k3190@fh-sw.de>
4533 * Makefile.in: After creating symlinks invoke another instance of
4534 make to build libvfs.a. Otherwise make will not know how to build
4535 the object files if symlinks have been created.
4536 Added target cleansourcelinks (invoked with make distclean).
4538 Tue Sep 15 22:41:24 1998 Paul Sheer <psheer@obsidian.co.za>
4540 * edit.c, editwidget.c, gtkedit.c: fixed segfault when trying to
4541 edit a non-file under gmc.
4543 Tue Sep 15 21:52:00 1998 Norbert Warmuth <k3190@fh-sw.de>
4545 * mc.hlp, doc/mc.1.in, doc/mc.sgml: updated my EMail address
4547 Tue Sep 15 20:51:42 1998 Norbert Warmuth <k3190@fh-sw.de>
4549 * setup.c: save and restore new global variable/option
4550 ftp_use_unix_list_options
4552 Tue Sep 15 01:02:34 1998 Paul Sheer <psheer@obsidian.co.za>
4554 * gtkedit: Directory added. This directory contains all the editor
4555 code modified to work with gnome. Mcedit now works properly under
4556 gnome with a slightly reduced set of features.
4558 * gscreen.c gscreen.h screen.c: Modified to respond to F4 on a file
4559 and start the new gtkedit internal editor.
4561 1998-09-14 Norbert Warmuth <k3190@fh-sw.de>
4563 * file.c (move_dir_dir): Fixed severe bug reported by Andrew Pechenov
4564 <zx80@demo.ru> (losing files when moving directories cross filesystem
4565 boundaries): make sure erase_list is emptied always not only when we
4568 Sat Sep 12 02:59:43 1998 Timur Bakeyev <mc@bat.ru>
4570 * screen.c: Xtry_to_select() Remove extfs hack to the main.c. Change
4571 for() cycle to the x_basename() call (Thanks to Pavel Roskin).
4572 Add (key_callback) do_enter() to prevent warnings.
4574 * main.c: Rename cd_try_to_select() to the get_parent_dir_name(). Now
4575 it process VFS postfixes too. Reduced number of loops against prev hack.
4577 Fri Sep 11 15:27:59 1998 Pavel Machek <pavel@ucw.cz>
4579 * screen.c: make cd .. from extfs file highlight it
4581 Tue Sep 8 13:10:32 1998 Pavel Roskin <pavel_roskin@geocities.com>
4583 * autogen.sh: Don't destroy aclocal.m4 if "macros" directory
4586 * layout.c: Use stdout instead of stderr in set_hintbar()
4588 Mon Aug 31 12:40:29 1998 Pavel Machek <pavel@ucw.cz>
4590 * cmd.c: added view_file_cmd which asks user which file to view -
4591 _very_ usefull with vfs (now you can browse web with mc: try
4592 /#url:http:||atrey.karlin.mff.cuni.cz|~pavel#uhtml)
4594 Thu Aug 27 19:52:45 1998 Pavel Roskin <pavel_roskin@geocities.com>
4596 * Make.common.in: Don't define VERSION anymore
4598 * configure.in: this is the right place for VERSION definition
4600 * acconfig.h: does not include file "VERSION" anymore
4602 * config.h.in: rebuilt by autoheader
4604 * VERSION: removed from CVS and added to .cvsignore since it
4605 is rebuilt every time as configure is run
4607 1998-08-20 Raja R Harinath <harinath@cs.umn.edu>
4609 * mad.h: Include stdlib.h/malloc.h first, to prevent prototypes
4610 from being clobbered by the subsequent macro defines.
4612 Wed Aug 12 15:56:46 1998 Pavel Roskin <pavel_roskin@geocities.com>
4614 * edit.h: added "../" before some includes to avoid unnecessary
4615 "-I" options for the PC port makefiles.
4617 Sun Aug 9 22:39:12 1998 Janne Kukonlehto <jtklehto@paju.oulu.fi>
4619 * mad.h (calloc): Added parentheses around the arguments as
4620 suggested by Steef Boerrigter <sxmboer@sci.kun.nl>.
4622 Fri Jul 31 09:04:35 1998 Pavel Roskin <pavel_roskin@geocities.com>
4624 * syntax.c: makefile* will be highlighted as Makefile*
4626 1998-07-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
4628 * main.c (translated_mc_chdir): Quick hack to make the old
4629 url-like pathnames to be used on the command line.
4631 1998-06-22 T.E.Dickey <dickey@clark.net>
4633 * keyxdef.c: Fix for compiling with ncurses.
4635 Fri Jul 24 00:44:37 1998 Tom Tromey <tromey@cygnus.com>
4637 * mc-local.m4 (AC_STRUCT_LINGER): Moved into macros/linger.m4.
4638 * autogen.sh: Include linger.m4 in aclocal.m4.
4639 * Makefile.in (GNOME_M4_FILES): Include linger.m4.
4641 Thu Jul 23 22:44:16 1998 Tom Tromey <tromey@cygnus.com>
4643 * Makefile.in (aclocal.m4): Depend on all source files. Include
4644 gnome-vfs.m4 and gnome-undelfs.m4.
4645 (GNOME_M4_FILES): New macro.
4646 * autogen.sh: Include gnome-vfs.m4 and gnome-undelfs.m4 in
4648 * configure.in: Use GNOME_VFS_CHECKS and GNOME_UNDELFS_CHECKS
4649 macros instead of in-line checks. Create vfs/Makefile from
4652 Thu Jul 23 19:49:12 1998 Pavel Roskin <pavel_roskin@geocities.com>
4654 * hotlist.c: corrected layout of the warning which appears
4655 if ~/.mc doesn't exist. Appropriate changes in translations.
4657 Wed Jul 15 00:41:01 1998 Paul Sheer <psheer@obsidian.co.za>
4659 * edit.c, editwidget.c, * syntax.c: Syntax
4660 editdraw.c, editmenu, editcmd.c: highlighting for Pascal
4661 Added column text highlighting added.
4662 and block movements.
4664 1998-07-04 Carsten Schaar <nhadcasc@fs-maphy.uni-hannover.de>
4666 * main.c (main): 'session_management_setup' will be called after
4669 Wed Jun 18 Pavel Machek <pavel@ucw.cz>
4671 * i18n.h: we do not want i18n in case of compiling standalone
4674 Fri Jun 5 23:34:20 1998 Timur I. Bakeyev <timur@comtat.kazan.ru>
4676 * screen.c (file_entry_color): take care about BSD core dumps
4677 which have names program.core instead of core
4679 Mon Jun 1 15:41:20 1998 Norbert Warmuth <k3190@fh-sw.de>
4681 * main.c (translate_url_to_new_syntax): translate the common
4682 ftp url syntax to the syntax used by the new vfs code.
4684 (_do_panel_cd): First translate the path if necessary. This makes
4685 it possible to enter ftp://host on the commandline and in the
4686 directory hotlist. We might need to move the translation code
4687 to the vfs layer if there are other places where we want to enter
4690 Mon Jun 1 12:33:08 1998 Alexander V. Lukyanov <lav@yars.free.net>
4692 * configure.in: allowed to use `configure --with-included-gettext'
4693 on systems (like solaris) that have their own libintl
4695 1998-05-31 Miguel de Icaza <miguel@nuclecu.unam.mx>
4697 * complete.c (filename_completion_function): Use the vfs routines
4698 for name completion.
4700 1998-05-31 Jakub Jelinek <jj@ultra.linux.cz>
4702 * complete.c (complete_engine): Fix completions.
4704 Sun May 31 10:23:01 1998 Norbert Warmuth <k3190@fh-sw.de>
4706 * key.c (define_sequence): If a sequence clashes the last
4707 definition made will be used. This makes it possible to override
4708 wrong definitions in terminfo/termcap database with learn keys (or
4709 the appropriate entries in mc.lib and ~/.mc/ini).
4711 * widget.c (show_hist): Don't display the listbox partly
4712 off screen (the left panel's history started in column - 2).
4714 * keyxdef.c: include tty.h instead of myslang.h as suggested by
4715 Tamasi Gyorgy <gt_cosy@usa.net>
4717 Fri May 29 15:41:19 1998 Alexander V. Lukyanov <lav@yars.free.net>
4719 * widget.c (update_input): this patch allows entering 8-bit
4720 characters in input fields without screwing attributes. (the
4721 same old sign extension...)
4723 Wed May 27 22:23:48 1998 Ed Cogburn <ecogburn@greene.xtn.net>
4725 * lib/xterm.ti: The 'xterm-color' definition needs 'sgr0'. The tic
4726 program from ncurses 4.2 doesn't like the xterm.ti file that comes
4729 Wed May 27 15:29:01 1998 Alexander V. Lukyanov <lav@yars.free.net>
4731 * key.c (get_key_code): characters with high bit set were input
4732 as 0x80 char when use_8th_bit_as_meta was set
4734 1998-05-25 Miguel de Icaza <miguel@nuclecu.unam.mx>
4736 * ext.h (MC_USER_EXT): New name for the per-user extension file
4737 (this needs redoing to concatenate this + the system stuff instead
4738 of the overwrite stuff we have now). Now it is called the ~/.mc/ext-n
4740 Mon May 25 23:32:35 1998 Norbert Warmuth <k3190@fh-sw.de>
4742 * editdraw.c (print_to_widget): Ifdef'd SLang specific code in order
4743 to make it compile with ncurses. Syntax highlighting in the
4744 internal editor is already disabled when SLang isn't used.
4746 1998-05-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
4748 * widget.c (port_region_marked_for_delete): New per-port
4749 piece of code: Provides a way for good selection killing.
4751 Sun May 24 02:45:03 1998 Norbert Warmuth <k3190@fh-sw.de>
4753 * utilunix.c, util.h (errno_dir_not_empty): deleted
4755 Sat May 23 22:29:57 1998 Norbert Warmuth <k3190@fh-sw.de>
4757 * file.c (check_dir_is_empty): New function which takes a path and
4758 returns -1 on error, 1 if there are no entries besides "." and
4759 ".." in the directory path points to, 0 else. This function
4760 actually opens and reads the directory and doesn't do tricks we
4761 used to do with rmdir.
4763 * file.c (erase_dir, erase_dir_iff_empty): Use check_dir_is_empty
4764 to detect non empty directories. The old code tried to remove the
4765 directory and decided on errno whether the failure of rmdir was
4766 caused by a non empty directory or whether there was a different
4768 Unfortunatly not every filesystem sets errno to EDIRNOTEMPTY if
4769 you try to delete a non empty directory. Namely the linux user
4770 space nfs server sets errno to EIO, Suns nfs server sets it to
4771 EEXIST and the AIX nfs server sets it to ??? (Steve reported
4772 problems on AIX so I guess AIX sets errno to a value we currently
4775 1998-maj-18 Tamasi Gyorgy (gt_cosy@usa.net)
4777 * lib/mc.menu: 'Z' on 'tar.Z' and 'tar.z' files: '%f' -> '$1'.
4779 * lib/mc.ext.in.qnx.diff, lib/mc.menu.qnx.diff (QNX): modified
4780 'mc.ext.in' (tar -t: output to stderr); modified 'mc.menu' (tar is
4781 not GNU tar: doesn't know '-z'); support for '*.tar.F':
4782 'freeze'-compressed tar files [No automatic configure/install
4783 implemented: patches must be applied before running 'configure'
4784 (mc.ext.in.qnx.diff: this patch can be not only QNX-specific...)]
4786 * lib/Makefile.in: 'mc.ext.in.qnx.diff' and 'mc.menu.qnx.diff' added
4791 SLTT_TRANSP_ACS_PATCH dependant code:
4793 The problem: some terminals (QNX/qansi*, SCO OS5/ansi [?]) map the
4794 whole upper half of the ASCII table to the lower half, when
4795 alt-char-set is activated with the smacs/as string-sequence. This
4796 means, that if 0 <= ch < 128 written to the terminal, it will be
4797 translated to (ch+128) automatically by the terminal: so not only
4798 the line-drawing characters can be written, when the alt-char-set
4799 is activated. It implicitly means, that space, NL, CR, etc.
4800 characters (exactly: anything besides the "standard" line drawing
4801 characters) can not be written directly to the terminal, when the
4802 alt-char-set is activated, because writing these characters
4803 doesn't cause an implicit/temporary switching-back to the standard
4806 The original code in SLang assumes that space, NL, CR, etc. can be
4807 printed when alt-char-set is activated. If SLTT_TRANSP_ACS_PATCH
4808 is defined, the modified code will not use this assumption.
4809 [Remark: the patch-code is not the most exact solution, but
4812 QNX_QANSI_SLANG_COMPAT_ACS_PATCH dependant code:
4814 A more OS/terminal-specific solution for the problem mentioned
4815 above (->SLTT_TRANSP_ACS_PATCH).
4817 If QNX_QANSI_SLANG_COMPAT_ACS is defined, the default smacs/sa,
4818 rmacs/ae, acsc/ac [and sgr/sa, if it would be used!] command
4819 sequences will be replaced internally with the "old style"
4820 (pre-QNX 4.23) sequences in case of QNX/qansi terminals. Using
4821 these optional command sequences the terminal remains compatible
4822 with the original SLang code (without using the workaround-code
4823 enabled by defining SLTT_TRANSP_ACS_PATCH).
4827 Currently SLTT_TRANSP_ACS_PATCH is not auto-configured by
4828 'configure'. (Must be manually defined...)
4830 There is some (QNX-specific) auto-configuration hand-coded in the
4833 #ifdef SLTT_TRANSP_ACS_PATCH
4834 # if defined(__QNX__) && defined(QNX_QANSI_SLANG_COMPAT_ACS)
4835 # undef SLTT_TRANSP_ACS_PATCH
4838 # if defined(__QNX__) && !defined(QNX_QANSI_SLANG_COMPAT_ACS)
4839 # define QNX_QANSI_SLANG_COMPAT_ACS 1
4843 * slang/slutty.c: "newtty.c_iflag &= ~(ECHO | INLCR | ICRNL);"
4844 ECHO(0x08) is a c_lflag bit, it means PARMRK(0x08) in c_iflag. (!?!)
4846 * src/file.c: 'do_reget' can be extern if (USE_VFS && USE_NETCODE),
4849 * src/find.c (search_content()): Variable 'i' "must be" 'int', not
4850 'char'. ["i == -1": (buggy?) WCC 10.6 doesn't convert automatically
4851 (int)(-1) to (char)(-1) (GCC does), so "comparison result always 0"
4852 warning produced. It is cleaner to define 'i' as 'int', than cast
4853 '-1' to 'char', because 'read()' returns 'int'.]
4855 * src/key.c (init_key()): Call load_xtra_key_defines() and clear
4856 'use_8th_bit_as_meta' by default under QNX, if a 'qnx*' terminal
4857 detected. (A saved config file (mc.ini) can override it later...)
4859 * src/key.h: Declare load_xtra_key_defines().
4861 * src/keyxdef.c: Provides a method to define some platform-specific
4862 additional key mappings. (e.g. QNX terminals can handle most of
4863 META-? combinations as ALT-?...) ('keyxdef.c' currently not listed
4866 * src/layout.c: TIOCGWINSZ must be available (so <sys/ioctl.h> (?)
4867 included), because window-resizing code doesn't work, if not defined.
4869 * src/main.c: 'print_usage()' is reserved name in the QNX run-time
4870 library, so 'print_usage()' renamed to 'print_mc_usage()'
4872 * src/mouse.c (QNX): ncurses 1.9.8a ported to QNX doesn't provide the
4873 'SP' pointer as a global symbol in the library, so the keyok()
4874 emulation currently can not be used under QNX (4.24 & Watcom C 10.6
4877 * src/slint.c (QNX): 'qansi*' terminals added to the color_terminals[]
4880 * src/subshell.c, src/utilunix.c (QNX): include <unix.h> to get
4881 prototype for exec*()!!! [See README.QNX/Section 1.4 about the
4882 dangerous "No prototype for <function>" warnings emitted by Watcom C,
4883 if <function> is a 'printf()'-style function having variable number
4884 of arguments and you compile your source with the default register
4885 calling convention!!!]
4887 * Makefile.in: 'keyxdef' module added to SRCS and OBJS.
4889 * <mc-root>/README.QNX: QNX-specific notes.
4891 * <mc-root>/configure (line 3369), <mc-root>/configure.in (line 88):
4892 'test x$CCOPTS = x;' modified to 'test "x$CCOPTS" = x;'
4894 * <mc-root>/Makefile.in: README.QNX added to DISTMAIN.
4896 Thu May 21 00:09:45 1998 Norbert Warmuth <k3190@fh-sw.de>
4898 * menu.c (menubar_event): Don't set menubar->selected to the
4899 invalid value -1. Fix for the bug reported by root@liepa.soften.ktu.lt
4901 * menu.c (menubar_drop_compute): removed the check for inrange
4902 items which isn't necessary any longer.
4904 Wed May 20 16:27:56 1998 Norbert Warmuth <k3190@fh-sw.de>
4906 * widget.c (history_put): input line history was defunct because
4907 there was an #ifndef where an #ifdef should be.
4908 Btw. PORT_WIDGET_WANTS_HISTORY seems incomplete because a lot of
4909 history code is included even when this define is undefined.
4911 1998-05-19 Tamasi Gyorgy <gt_cosy@usa.net>
4913 * src/*: Until I get a better ChangeLog: Tamasi's port of the
4916 1998-05-19 Alexander Lukyanov <lav@yars.free.net>
4918 * Makefile.in: Distirbution fix so that people are not forced to
4921 1998-05-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
4923 * ext.c: Memory leak fixed.
4925 Mon May 18 22:24:09 1998 Norbert Warmuth <k3190@fh-sw.de>
4926 * lib/mc.ini.in: s/reges/regex/
4928 * main.c (process_args): return void, the return value was only
4929 used once but wrong (-h displayed help twice).
4930 (handle_args): -h: don't display help twice
4931 (print_usage): Don't print program name and version, that's
4932 already done by version(0).
4934 * menu.c (menubar_paint_idx): Highlight Hotkeys also on slow
4935 terminals (hotkeys were not displayed at all).
4937 1998-05-18 Miguel de Icaza <miguel@nuclecu.unam.mx>
4939 * menu.c (menubar_drop_compute): Check for inrange items.
4941 1998-05-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
4943 * color.c (init_colors): Provide X-only version of color
4946 Thu May 14 01:56:11 1998 Norbert Warmuth <k3190@fh-sw.de>
4948 * configure.in: Don't add -lintl to LIBS when included gettext is
4949 used (further checks for libraries would fail because libintl.a
4950 isn't build, yet). Instead use and substitute LINTL.
4952 * Makefile.in (OURLIBS): add @LINTL@
4954 Tue May 12 17:45:49 1998 <psheer@obsidian.co.za>
4956 * syntax.c: yet more minor modifications.
4958 1998-05-11 Miguel de Icaza <miguel@nuclecu.unam.mx>
4960 * main.c: New default: auto-save setup.
4962 * screen.c (move_right, move_left): Add support for icon-view movement.
4964 1998-05-09 Miguel de Icaza <miguel@nuclecu.unam.mx>
4966 * setup.c (panel_load_setup): On non-icon editions, fall back to
4969 Sun May 10 13:27:50 1998 Norbert Warmuth <k3190@fh-sw.de>
4971 * widget.c (handle_char): Don't try to to delete default text in
4972 input widget more than once. Right after MC's start copy_filename
4973 (ESC Enter) failed because a flag wasn't cleared while characters
4974 were stuffed into the commandline (Andrej reported this bug).
4976 * main.c (copy_readlink): usr mc_readlink instead of readlink
4978 * file.c: Changed default for the copy/move option "dive into
4979 subdir if exists" to off (note: this was only possible after the
4982 (copy_dir_dir): Activated the previously uncommented code which
4983 implements "Dive into subdirs". Even when there's no case where we
4984 actually would like that behaviour it is a documented feature.
4985 Though I don't wanted to change the default behavour. Hence the
4988 (file_mask_defaults): set dive_into_subdirs
4990 (file_mask_dialog): Fix for debian Bug #20727: Move operation with
4991 "[ ] Dive into subdir if exists" and destination filename not
4992 wildcarded. If destination is an existing directory then files
4993 will be moved into this directory. If destination is not an
4994 existing directory then src file will be renamed (one file
4995 selected) or an error will be displayed (more than one file
4998 (file_mask_dialog): made the option "Using shell patterns" local
4999 to the current copy/move operation, i.e. this option is always
5000 initialized with the global options's value. Previously it affected
5001 the global Options/Configuration/shell Patterns.
5002 Another possiblilty would be to make the global option a default
5003 option on startup and keep changes in the copy/move dialog
5004 (without saving these changes with save setup).
5006 * setup.c: Don't save and load options which can be changed
5007 outside the options menu. For example I don't like that
5008 preserve_uid_gid and dive_into_subdirs from the copy/move dialog
5009 are saved and restored (strange, what about the other options from
5011 It would be much cleaner to make these option read-only. This way
5012 one could edit ~/.mc/ini to provide default option setting on
5013 startup and "Save setup" wouldn't have side effects outside the
5016 Sun May 10 13:24:20 1998 Norbert Warmuth <k3190@fh-sw.de>
5018 * doc/mc.1.in, doc/mc.sgml, mc.hlp: Updated to reflect new default
5019 for dive into subdirs.
5021 Sun May 10 13:21:45 1998 Norbert Warmuth <k3190@fh-sw.de>
5023 * edit/syntax.c: Disable debug messages on stderr.
5025 * edit/edit.h: Added missing _()
5027 1998-05-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
5029 * layout.c (flag_winch): Propagate the window change to the slave
5030 pty even when not running our event loop. The resize_subshell
5031 routine is thread safe.
5033 * dlg.c (update_cursor, dlg_broadcast_msg_to): Do not send
5034 messages if no widgets are on the Dlg_head, this happens now with
5035 the gmc code, as we can have all of the windows shut down.
5037 Wed May 6 13:46:37 1998 Paul Sheer <psheer@obsidian.co.za>
5039 * syntax.c: more bug fixes.
5041 1998-05-04 Miguel de Icaza <miguel@nuclecu.unam.mx>
5043 * view.c (view_quit_cmd): Use dlg_stop.
5045 * main.c (ctl_x_cmd): Implement ctl-x handling as a state of the
5046 key press events. Drop the usage of mi_getch to acomplish this
5048 (midnight_callback): Deal with the current map depending on the
5051 Mon May 4 10:21:31 1998 Norbert Warmuth <k3190@fh-sw.de>
5053 * background.c (message_1s1d): the unprocessed string with %d was
5054 passed to message_1s; fixed small memory leak
5056 * widget.c (button_callback): WIDGET_CURSOR: make cursor position
5057 dependend from button type (fixes the off by one bug in advanced
5060 * file.c (copy_file_file): Schedule deletion of short target file
5061 only when we created or truncated the target file and not already
5062 when we decided to overwrite an existing file.
5064 1998-05-03 Miguel de Icaza <miguel@nuclecu.unam.mx>
5066 * boxes.c (task_cb): Use kill, not INT, as we are catching INT in
5069 Sat May 2 14:07:05 1998 Paul Sheer <psheer@obsidian.co.za>
5071 * setup.c: ALT('H') now shows a directory history - that
5072 ESC SHIFT-h or ALT-SHIFT-h
5074 Fri May 1 17:45:58 1998 Paul Sheer <psheer@obsidian.co.za>
5076 * syntax.c: initial support for LaTeX 2.09 files added,
5078 * syntax.c: some minor bug fixes. and reorganisation
5079 of context and keyword priorities.
5081 Fri May 1 11:24:21 1998 Paul Sheer <psheer@obsidian.co.za>
5083 * syntax.c: syntax highlighting segfaults when editing a binary
5086 Thu Apr 30 12:23:50 1998 Alex Tkachenko <alex@bcs.zp.ua>
5088 * src/file.c: lot of i18n of file Copy/Move/Delete operations. Maintainers
5089 of message catalogs please notice introduced op_names1 and formats for
5092 * src/boxes.c: i18n of background jobs control and quick cd
5095 * src/menu.c (menubar_arrange): resizing of menubar upon changes of
5096 window size is now controlled by preprocessor symbol RESIZABLE_MENUBAR
5097 (now it's off by default, as requested in mailing list). If it is off,
5098 menubar items are separated with fixed number of spaces (3).
5100 * src/layout.c, edit/editwidget.c: calls to menubar_arrange ifdef'ed
5103 1998-04-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
5105 * main.c (parse_an_arg): GNOME edition keeps track of various
5106 --geometry and various directories passed.
5108 1998-04-29 Miguel de Icaza <miguel@nuclecu.unam.mx>
5110 * main.c (update_panels): Great API simplification. update_panels
5111 only cares about the contents of the current panel, every other
5112 panel keeps the current selection (this was the behaviour
5115 update_panels can be provided in a per-port fashion as well.
5117 Wed Apr 29 03:06:09 1998 Paul Sheer <psheer@obsidian.co.za>
5119 * syntax.c: some optimisations, as well as support for
5120 syntax highlighting of Makefiles and ChangeLog files.
5121 Fixed some syntax highlighting bugs. All C and C++
5124 Tue Apr 28 06:11:08 1998 Norbert Warmuth <k3190@fh-sw.de>
5126 * view.c (toggle_wrap_mode, toggle_hex_mode): Force recalculation
5127 of bottom_first (we mustn't use an already calculated and cached
5128 value because it is invalid for the new mode and the End key would
5129 not move to the end of the file).
5131 * configure.in: Renamed the option `--with-our-slang' to
5132 `--with-included-slang' (this one looks better because we also
5133 have an `--with-included-gettext').
5134 Make the option `--with-ext2undel' recognice a given path.
5136 * cmd.c (view_file_at_line): In plain view (F13) set the default
5137 magic flag to zero in order to view the file content unprocessed
5138 (esp. don't uncompress files if they are compressed). The
5139 view_simple_cmd got broken when the default magic flag in view.c
5140 was changed from 0 to 1.
5142 * view.c (do_view_init, goto_line): Set wrap mode temporary off
5143 to make goto line number work, i.e. `line number' now always means
5144 line number in file and not line number on screen (in wrap mode
5145 one long line wrapped once is displayed in two lines on the screen).
5146 That's important when the viewer is invoked from the find file
5147 dialog to display even in wrap mode approxiamtly the part of the
5148 file where we found the content we searched for.
5150 (move_forward2): In wrap mode lines were sometimes counted wrong
5151 causing cursor up to move more than one line.
5153 (move_backward2): Fixed the movement in wrap mode.
5155 (change_viewer): Always re-init viewer when we have a filename,
5156 i. e. if the viewer is invoked with simple_view_cmd then we can switch
5157 with the F8 key between unprocessed file content und uncompressed
5159 (view_init): re-init view also when magic flag was altered
5161 1998-04-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
5163 * screen.c (is_a_panel): Added a routine to determine if a widget
5166 1998-04-27 Miguel de Icaza <miguel@nuclecu.unam.mx>
5168 * screen.c (file_entry_color): Check if fe->fname has something.
5170 Sun Apr 26 00:21:12 1998 Norbert Warmuth <k3190@fh-sw.de>
5172 * slint.c: Applied the patch from Bill Nottingham <wen1@cec.wustl.edu>
5173 to make it link against SLang >=1.0.
5174 I reviewed the diffs to the part of SLang we use and there are no
5175 further changes to MC necessary (one function's return value
5176 changed it's meaning but we don't use this return value).
5178 * configure.in: Undone the change which prevented linkage against
5181 Sat Apr 25 13:41:43 1998 Paul Sheer <psheer@obsidian.co.za>
5183 * edit.h, syntax.h: some optimisations to improve syntax
5186 1998-04-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
5188 * color.h: Move the CTYPE definition
5190 Fri Apr 24 16:43:25 1998 Paul Sheer <psheer@obsidian.co.za>
5192 * main.h, setup.c: editor_syntax_highlighting option added
5195 Fri Apr 24 14:54:06 1998 Paul Sheer <psheer@obsidian.co.za>
5197 * syntax.c: added. this files reads ~/.cedit/mcsyntax and
5198 processes generic rules for syntax highlighting of different
5199 file types. Syntax highlighting does not store an attribute byte
5200 for each byte of the edit buffer. Rather, it calculates colours
5201 on the fly, with an optimised algorithm, as the text is being
5204 * edit.c, edit.h, editwidget.c, editdraw.c: changes to facilitate
5205 syntax highlighting.
5207 * editoptions.c: dialog box updated with a syntax highlighting
5210 * slint.c: new function alloc_color_pair(). This allocates a new
5211 color index. init_pair() itself now records the last colour index
5212 so that colours can be added on to the end of the colour list
5213 with alloc_color_pair().
5215 * slint.c: new function try_alloc_color_pair() returns a new index
5216 for a color with named fg and bg. Checks if that named colour
5217 already exists before setting a new index.
5219 1998-04-23 Miguel de Icaza <miguel@nuclecu.unam.mx>
5221 * user.c (execute_menu_command): Create temporary file exclusively
5224 * main.c (do_execute), utilunix.c (my_system), gutil.c, ext.c:
5225 Changed the way we execute programs. Now a new set of flags exist
5226 that indicates how the execution is done. In ports that execute
5227 by sending the process to background, when executing temporary
5228 files, we have to remove the files after the child process has
5229 finished executing the code not after the calling do_execute.
5231 * ext.c (exec_extension): Create temporary file exclusively.
5233 Mon Apr 20 01:32:20 1998 Norbert Warmuth <k3190@fh-sw.de>
5235 * configure.in: Don't try to link MC against SLang >= 1.0. I will
5236 remove this restriction when I'm sure that it's save to use the new
5237 version (the documentation to SLang mentions some changes of
5240 1998-04-16 Miguel de Icaza <miguel@nuclecu.unam.mx>
5242 * file.h: Added prototype for copy_dir_dir.
5244 * file.c (real_do_file_error): use the proper flags, this is not a
5245 D_INSERT dialog box, for what it is worth. Important bug fix.
5247 * utilunix.c (get_owner): Declare.
5249 * widget.h: Added various missing prototypes for the X edition.
5250 * view.h: Added various missing prototypes for the X edition.
5251 * widget.c (x_radio_toggle): New per-port variable: PORT_HAS_RADIO_TOGGLE
5253 1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
5255 * screen.c (GT): Assign two spaces for the minimum size of the
5256 "type" field for the GNOME edition. This gives some extra space
5257 for the icon that gets displayed.
5259 * dlg.c (remove_widget): New function: used to remove a widget
5260 from an existing Dlg_head;
5261 (destroy_widget): Destroy a specific Widget.
5262 (add_widgetl): Extended to deal with the fact that a running
5263 Dlg_head can become empty.
5265 * panelize.c (l_call): Update the input line every time the user
5266 selects the entry with the mouse (pretty common in the gnome
5269 * hotlist.c (add_new_group_input): Removed an extra field that was
5272 * find.c (find_parameters): Tree button is gone for gnome until we
5273 get the tree function working on gnome.
5275 * cmd.c (save_setup_cmd): Per Elliot's suggestion, do not pop up a
5276 dialog box to inform the user about the saved setup.
5278 1998-04-15 Pavel Machek <pavel@elf.ucw.cz>
5280 * cmd.c: Report failed chdir attempts.
5282 Wed Apr 15 10:48:41 1998 Alex Tkachenko <alex@bcs.zp.ua>
5284 * src/hotlist.c: changes to hotlist boxes i18n.
5286 * src/panelize.c: changes to panelize boxes i18n.
5288 * src/wtools.c (query_dialog): Take care about possible '&' in
5289 button names while calculating window sizes and button positions.
5291 1998-04-15 Miguel de Icaza <miguel@nuclecu.unam.mx>
5293 * screen.c (string_file_nlinks): The buffer was too small and we
5294 were overwriting parts of it.
5296 * subshell.c (do_subshell_chdir): Memory leak fix.
5298 * find.c (do_search): Do not use undefined order of evaluation.
5300 * user.c: Do not use undefined order of evaluation.
5302 * dlg.c (init_dlg): Do init the default return value.
5304 Sun Apr 12 03:09:17 1998 Norbert Warmuth <k3190@fh-sw.de>
5306 * cmd.c (view_other_cmd): #ifdef'd application_keypad_mode and
5307 numeric_keypad_mode (don't include it in non text editions)
5309 Sun Apr 12 02:48:26 1998 Norbert Warmuth <k3190@fh-sw.de>
5311 * xv/xvscreen.c: removed duplicate (conflicting) definition
5314 Sun Apr 12 02:24:57 1998 Norbert Warmuth <k3190@fh-sw.de>
5316 * text.c (edition_post_exec), cmd.c (view_other_cmd): Don't change
5317 the keypad mode when we don't use the alternate plus minus. Pavel
5318 forgot an if-clause when he replaced the escape sequences (or
5319 another point of view: I forgot one if-clause at different place).
5321 Fri Apr 10 17:35:23 1998 Philippe De Muyter <phdm@macqel.be>
5323 * configure.in (AC_NCURSES): When checking for library location,
5324 put -L option before -l option, not after.
5326 Fri Apr 10 10:35:06 1998 Norbert Warmuth <k3190@fh-sw.de>
5328 * file.c (file_mask_dialog): When the shell patterns option was
5329 off source_mask was freed twice.
5331 1998-04-10 Marc Ewing <marc@redhat.com>
5333 * panel.h: added up_b
5335 1998-04-08 Miguel de Icaza <miguel@nuclecu.unam.mx>
5337 * widget.c (update_input): Set the used flag early in update_input
5338 to allow X widget to catch the right value
5340 * screen.c (do_enter): Return the status for the operation.
5342 * main.c (main): Sigh. This was hard. I added support for argp.
5343 Right now we support both argp for the GNOME edition and popt for
5344 the other editions. I will remove popt support in the future and
5347 * dlg.c (add_widgetl): Adding widgets to an already running dialog
5348 had some flaws. Fix this.
5350 Wed Apr 8 11:15:29 1998 Alex Tkachenko <alex@bcs.zp.ua>
5352 * src/find.c: changes to find_parameters/find_file i18n.
5354 * src/widget.c: new function introduced, button_scan_hotkey();
5355 button_new() and button_set_text() fixed to use mentioned function.
5357 * src/key.[ch], src/dlg.c: changes to make recognition of ESC char as
5358 ALT(c) possible for 8-bit chars. (By replacing 'A'/'Z' comparisons with
5359 call to isalpha() in the way proposed by Norbert).
5361 * src/boxes.c: changes to display box i18n
5363 * src/learn.c: changes to learn key dialog i18n
5365 1998-04-07 Miguel de Icaza <miguel@nuclecu.unam.mx>
5367 * main.c (update_one_panel_widget): New routine: Updates a panel
5368 based on the widget, not the index. Used by the GUI versions.
5370 * find.c (find_file): Cancel idle tasks before we destroy the find
5373 * dlg.c (destroy_dlg): Call x_destroy_dlg_start, a new hook that
5374 is invoked to allow the frontend code to prepare for dialog
5375 destruction. Only the Gnome edition is using this: it uses this
5376 to hide the dialog and avoid flickering.
5378 * main.c: dtterm also has mouse support.
5380 1998-04-06 Miguel de Icaza <miguel@nuclecu.unam.mx>
5382 * wtools.c (quick_callback): Process DLG_KEY events on X.
5384 * utilunix.c (max_open_files): new routine; Used to figure out
5385 the number of available file descriptors.
5387 Sat Apr 4 00:16:49 1998 Alex Tkachenko <alex@bcs.zp.ua>
5389 * src/layout.c: changes to layout dialog box i18n
5391 * src/option.c: changes to configure box i18n
5393 * src/cmd.c: added N_() macro for machine_str
5395 * src/wtools.c (real_input_dialog_help): ok/cancel buttons are places
5396 symmetrically spaced relatively to center of the box. It produces
5397 nicer appearance with i18n (IMO :)
5399 * src/boxes.c (confirm_box): i18n stuff added.
5401 Mon Apr 6 07:48:22 1998 Pavel Roskin <pavel_roskin@geocities.com>
5403 * Makefile.in: "make dist" works with bash 1.x again
5405 Fri Apr 3 05:23:20 1998 Alex Tkachenko <alex@bcs.zp.ua>
5407 * configure.in: ALL_LINGUAS test added, to allow specify list
5408 of languages to be installed by setting env variable before
5409 configure. If it is empty, it defaults to full list.
5411 * src/menu.h menu_entry.{hot_pos, is_dupped} dropped
5413 * src/menu.c: consistency fixes: pull-down menu items are now
5414 accessible either with arrow keys or with hotkeys, denoted with &
5415 (and highlighted). (key combinations, placed to the right of items
5416 intended to be used from outside the menus). Freeing menu entries
5417 removed as it no longer needed
5419 * src/main.c, edit/editmenu.c: menubar init code is changed to conform
5422 * edit/edit.h: use of "Cancel" in error_dialogs replaced with
5423 "Dismiss", to avoid collisions in translation of "Cancel" in other
5424 places with this case.
5426 * src/boxes.c: select_format() and it's support removed, as it is
5427 obsoleted by input line history feature. display_init()/display_callback
5428 fixed to suite i18n changes. sort_box() - alike.
5430 * src/option.c: pause_options added &'s and gettext calls to expand
5431 statically assigned values.
5433 * src/widget.c: (radio_callback) hotkey recognition is changed to
5434 &-notation, rather than simple uppercase.
5436 * src/dlg.c: (dlg_try_hotkey) plain symbol comparison replaced with
5437 call to isalpha(), this fixes errorneous exit from input line, when
5438 button hotkey is 8-bit NLS char.
5440 Fri Apr 3 12:23:28 1998 Norbert Warmuth <k3190@fh-sw.de>
5442 * TODO: Removed obsolete entries: Similar entries in tree view
5443 are displayed correct; user specific files has been moved
5445 Added: Check what to do with menubar_arrange/destroy_menu stubs
5446 in tk/tkmenu.c; the interal editor (not portet yet) adds entries
5447 to the wrong menubar
5449 Wed Apr 1 00:15:30 1998 Norbert Warmuth <k3190@fh-sw.de>
5451 * key.c, key.h (numeric_keypad_mode, application_keypad_mode): New
5452 functions which encapsulate two hardcoded escape sequences from main.c.
5454 * main.c (main): Use the two new functions from key.c
5456 * main.c, screen.c: Moved all file selection keys from the default
5457 keymap to the keymap for panels in listing mode.
5458 Changed *_selection_cmd to *_selection_cmd_panel in panel_keymap
5459 (functions in panel_keymap get a WPanel * as first parameter,
5460 i.e. the indirection with cpanel isn't necessary).
5462 * main.c (midnight_callback): Keys '*' and '-' were not treated
5463 when only_leading_plus_minus==0;
5464 Optimized the if-clauses a little bit (i.e. removed duplicate
5465 checks). More optimation is possible but it would make the whole
5466 stuff completly unreadable.
5468 * key.c (correct_key_code): KP_ADD, KP_SUBTRACT and KP_MULTIPLY
5469 will be translated to +, - and * only if the option
5470 alternate_plus_minus is turned off.
5472 * learn.c (learn_keys): Turn alternate_plus_minus temporarily on
5473 to avoid translation of KP_ADD, KP_SUBTRACT and KP_MULTIPLY in
5474 correct_key_code/make sure keypad is in application mode (makes it
5475 possible to learn this keys).
5477 * cmd.c (reverse_selection_cmd_panel): New function (renamed from
5478 reverse_selection_cmd, takes a WPanel * as parameter, references to
5479 cpanel changed to panel/the passed parameter).
5480 reverse_selection_cmd now simply calls this function with cpanel.
5481 This pair was missing among the *_selection_cmd* functions.
5483 * cmd.h: Added function prototypes.
5485 1998-03-31 Paul Sheer <psheer@obsidian.co.za>
5487 * cmd.c (nice_cd): Forgot to invoke the history registration in
5490 1998-03-30 Miguel de Icaza <miguel@nuclecu.unam.mx>
5492 * menu.c (destroy_menu): Implement destroy_menu for all of the
5493 ports as a routine that frees the menu entries if
5494 internationalization has been enabled.
5496 * wtools.c (quick_dialog_skip): Do not i18n any string that is empty.
5498 Sun Mar 29 23:02:09 1998 Alex Tkachenko <alex@bcs.zp.ua>
5500 * src/menu.[ch]: new member to menu_entry (hot_pos) introduced to make
5501 internationalized version of menu use externally defined hotkeys
5502 (denoted with preceding &). create_menu() fixed to load intl text of
5503 the entries. Some fixes around menu.c to enable usage of reloaded
5506 * main.c, editmenu.c: menu initialization code fixed to conform new
5507 menu structure. editmenu init code includes N_(..) now.
5509 * menu.c, layout.c, editwidget.c: bar menu items displacement is made
5510 dynamically upon initialization and window size changes. Mouse event
5511 processing is fixed accordingly.
5513 Sat Mar 28 13:18:36 1998 Alex Tkachenko <alex@bcs.zp.ua>
5515 * src/screen.c: (repaint_file) last patches to format_file() in the
5516 same file broke appearance of panels in brief mode -- fixed.
5518 Mon Mar 30 20:02:49 1998 Paul Sheer <psheer@obsidian.co.za>
5520 * main.c, screen.c, dirhist.c, dirhist.h, main.h, widget.c,
5521 main.h and others?: Directory history added. The previous
5522 directory history code was removed. The directory history now
5523 loads and saves using the same routines as the input widget. The
5524 keys meta-y, and meta-u are used to go backward and forward
5525 through the history. The buttons to the right and left of the
5526 current directory display on the panel can be used as well. The
5527 v button brings up a history, but no key is assigned to this.
5528 Discussion as to correct color and shape of these buttons is
5529 open. show_hist() in widget.c is made generic to be called for
5530 any widget. Help pages still needed to be added for the
5533 Wed Mar 25 19:05:31 1998 Norbert Warmuth <k3190@fh-sw.de>
5535 * view.c (view_done): Set monitor off before deleting the view
5538 * subshell.c (init_subshell): Added ':q' to $cwd in the precmd for
5539 tcsh. It preventes command and filename substitution (e.g. for
5540 a directory named "[word] words")
5542 Mon Mar 23 18:06:10 1998 Norbert Warmuth <k3190@fh-sw.de>
5544 * main.c: Deleted some old and unused code
5546 1998-03-24 Miguel de Icaza <miguel@nuclecu.unam.mx>
5548 * All over the src/ directory: Internationalization changes.
5550 * background.c: Avoid buffer over-runs and reduce number of
5551 internationalization strings.
5553 Mon Mar 23 14:04:07 1998 Philippe De Muyter <phdm@macqel.be>
5555 * configure.in (nlink_t): Check it using AC_CHECK_TYPE.
5556 * acconfig.h (nlink_t): New define slot.
5558 Mon Mar 23 08:17:55 1998 Pavel Roskin <pavel_roskin@geocities.com>
5560 * src/main.c: mcedit can be named mce or mcedit.exe - only
5561 3 first letters are significant. The same for mcview.
5562 Console is always saved in do_execute() if it was saved there.
5564 * src/util.h: STRNOMP introduced (strncmp on unix and strnicmp
5567 * slang/slgetkey.c: SLang_getkey() and SLang_input_pending()
5570 * myslang.h: using fast one_vline() and one_hline() for OS2_NT
5572 Mon Mar 23 00:47:51 1998 Norbert Warmuth <k3190@fh-sw.de>
5574 * autogen.sh: added support for builddir != srcdir
5576 * doc/Makefile.in: The manual pages are generated files and
5577 located in the builddir and not in the srcdir.
5579 * find.c (find_file): Use the same hotkey for the panelize button
5580 as we use with the external panelize command.
5582 Fri Mar 20 17:51:01 1998 Norbert Warmuth <k3190@fh-sw.de>
5584 * myslang.h: --with-ncurses didn't compile: renamed
5585 KEY_BACKTAB to KEY_BTAB (the name ncurses uses)
5587 * dlg.c (dlg_key_event): likewise
5589 1998-03-19 Miguel de Icaza <miguel@nuclecu.unam.mx>
5591 * screen.c: Remove KEY_DC forever. This should have never been
5594 Wed Mar 18 22:08:34 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5596 * achown.c (do_enter_key): call endgrent, endpwent.
5598 * chown.c (init_chown): call endgrent, endpwent.
5600 Tue Mar 17 23:58:40 1998 Pavel Machek <pavel@elf.ucw.cz>
5602 * src/file.c: Fix for the case where the disk gets full.
5604 Tue Mar 16 18:35:53 1998 Stas Maximov <stmax@u213.srcc.msu.su>
5606 * src/hotlist.c default values for dialogs which add entries to hotlist
5607 are now set to the current directory.
5609 Tue Mar 10 14:42:01 1998 Stas Maximov <stmax@u213.srcc.msu.su>
5611 * vfs/extfs.c, lib/mc.ext, vfs/extfs/extfs.ini, vfs/extfs/cpio.in
5612 Added support for cpio extfs including compressed and gziped
5613 cpio archives. compress and gzip handled separately because I saw
5614 a lot of systems which have compress, but don't have gzip.
5616 Sat Feb 21 16:46:49 1998 Stas Maximov <stmax@u213.srcc.msu.su>
5618 * src/subshell.c: failed to grantpt on SVR4 due to zero-initialized
5619 subshell_pid. sigaction handler for SIGCHLD does waitpid(subshell_pid,
5620 ...) and when subshell_pid == 0 it steals the zombie from grantpt(3)
5621 which does fork/exec/waitpid for suid program to set the permissions on
5622 pty. It's enough to initialize it to 1 or -2.
5624 1998-03-16 Federico Mena Quintero <federico@nuclecu.unam.mx>
5626 * util.c (convert_pattern): Now the internal buffer is malloc()ed
5627 instead of being static. This is required for long patterns.
5628 (regexp_match): Free the pattern after calling convert_pattern().
5630 * file.c (file_mask_dialog): Free the source_mask after calling
5633 Mon Mar 16 13:03:45 1998 Pavel Roskin <pavel_roskin@geocities.com>
5635 * cmd.c: Internal edit is used by default. vi may be
5636 confusing for some users.
5638 * tree.c: tree_rmdir_cmd() should not return any value,
5639 because it is not analyzed for errors.
5641 * main.c: NT code: use O_BINARY instead of _O_BINARY
5643 * util.c: DO not test for arguments that do not make sense under
5646 * file.c: utime.h always included for Windows NT port.
5648 * view.c: Events are flushed only if the ports supports it.
5650 Mon Mar 16 12:30:39 1998 Stas Maximov <stmax@u213.srcc.msu.su>
5652 * hotlist.c: Defaults on the hotlist add-current and new-entry is
5653 the current directory.
5655 Sat Mar 14 17:30:21 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5657 * file.c (panel_operate): Why was the flags in query_dialog set to
5658 D_INSERT is a big mistery. Should be fixed now.
5660 Fri Mar 13 18:10:58 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5662 * dlg.c (dlg_stop): New routine used to finish dialog boxes.
5664 * cmd.c (set_panel_filter_to): Implementation split. To be used
5667 * widget.c (input_new): GNOME-entry widget is inspired in the
5668 WInput + the history patches from Paul. Use the GNOME-entry
5669 history, as this makes it easier to deal with the filter button on
5672 * setup.c (save_panel_types): Do not use if running on the gnome
5673 edition. This need a lot of fixing for making this work with
5674 gnome and session management.
5676 * main.c (do_nc): DO not call setup_panels_and_run_mc as
5677 create_panels in gnome edition does all this.
5679 (setup_mc): Skip part of the setup.
5681 (do_execute): Do not Execute any of the pause code after
5684 Wed Mar 12 17:46:09 1998 Norbert Warmuth <k3190@fh-sw.de>
5686 * screen.c (chdir_other_panel, chdir_to_readlink): Use passed
5687 panel instead of cpanel (removed mixed use of panel and cpanel).
5689 * main.c, screen.c: Deleted F13 from the default keymap, added F13
5690 and F14 to the panel's keymap (the keymap for panels in listing
5691 mode). These two keys are only useful for panels in listing mode.
5692 It seems there are even more candidates for such a move. Especially
5693 select_cmd and unselect_cmd which appeared recently for the GNOME
5694 edition in screen.c act unexpected for panels in tree-mode.
5696 * cmd.c (view_simple_cmd): Added WPanel* to the parameter list.
5698 (edit_cmd_new): No need to get a panel because it is not used.
5700 * panelize.c: Changed hotkey of the Panelize button (Alt-p is
5701 already used by the input line history). I wonder if I should
5702 change it in the find dialog, too (just to have a unique hotkey
5703 for the panelize button).
5705 Wed Mar 11 19:02:48 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5707 * view.c: Lots of changes: Split the X11 code from the main view
5708 program. This is needed to cleanly support the addition of the
5709 Gnome version of the file viewer;
5711 New names for old functions (just a view_ prefix):
5712 view_add_character, view_add_string, view_gotoyx, view_set_color,
5713 view_display_clean. Now all of them take a WView argument (which
5714 is ignored in the macro for the text edition). This is to support
5715 multiple open views at once.
5717 * boxes.c (symlink_dialog): Enable ok/cancel buttons for the Gnome edition.
5719 * cmd.c (link_cmd, symlink_cmd): Provide the filename to operate
5722 Tue Mar 10 20:41:45 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5724 * cmd.c (unselect_cmd_panel, select_cmd_panel): To avoid races on
5725 the X11 version, these routines now take a panel argument at
5728 * widget.c (radio_callback): Call x_radio_focus for FOCUS/UNFOCUS
5730 (button_callback): Fallback to default_msg on WIDGET_FOCUS
5733 1998-03-10 Federico Mena Quintero <federico@nuclecu.unam.mx>
5735 * xslint.c (getch): Added missing "return".
5737 * utilunix.c (init_groups): Added parentheses around
5738 assignment/truth value.
5740 * boxes.c: #include <stdlib.h>
5742 * screen.c (string_inode): Cast fe->buf.st_ino to long to be
5743 consistent with sprintf format.
5745 * main.c (handle_args): Added parentheses around assignment/truth value.
5747 Sat Mar 7 14:33:38 1998 Pavel Roskin <pavel_roskin@geocities.com>
5749 * src/complete.c: obsolete hack for OS/2 and NT removed.
5750 Completion works for NT now (not very good)
5752 * src/main.c: HOME variable is respected by NT and OS/2
5753 versions. If it is missing, we use LIBDIR on OS2_NT and "/"
5756 * src/key.h: SHIFT_PRESSED is set to 0x0010 on NT. This value
5757 doesn't conflict with definitions for ALT and CTRL, but it is
5760 * vfs/vfs.h: Minor changes for OS/2. EMX defines mkdir with
5763 * vfs/tcputil,c, vfs/utilvfs.c: signal.h was includes twice.
5765 * vfs/Makefile.in: undelfs.h is not used and should disapper
5767 * slang/slos2tty.c: new file, copied from SLang-0.99.38,
5768 needed for OS/2 port
5770 * slang/Makefile.in: added slos2tty.c
5772 * vfs/extfs/README: annoying spell errors corrected
5774 * src/main.c: --termcap disabled for OS2_NT because it doesn't
5775 (and cannot) work. ARCH_FLAGS is not needed anymore.
5777 * src/text.c: most includes removed. Added a warning is someone
5778 compiles this file with HAVE_X. Improved color scheme for
5779 consoles with 16 background colors (e.g. OS/2). Hack for OS/2
5782 * src/util.c, src/util.h: STRCOMP and MC_ARCH_FLAGS are moved
5783 to util.h. It may be useful to use them for filenames' completion
5786 Fri Mar 6 19:29:54 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5788 * find.c: Simplify header files: use the fs.h include file.
5790 (use x_flush_events).
5792 * screen.c (string_file_name): In GNOME, the CList widget does the
5793 filename truncation, so we do not do it here.
5795 (panel_new): Initialize all of the wpanel contents to zero. This
5796 will is required by the GNOME X ports (to figure out if a field
5797 has been inited or not).
5799 Thu Mar 5 10:28:40 1998 Norbert Warmuth <k3190@fh-sw.de>
5801 * popt.c (poptParseArgvString): make it compile with the native
5802 compiler on AIX 4.1.3
5804 1998-03-04 Federico Mena Quintero <federico@nuclecu.unam.mx>
5806 * cmd.c: Added #include "x.h"
5808 Wed Mar 4 14:49:55 1998 Norbert Warmuth <k3190@fh-sw.de>
5810 * doc/mc.1.in, mc.hlp: updated (these files haven't been updated
5811 at the last change to mc.sgml)
5813 * doc/mc.sgml: spelling error corrected
5815 * Makefile.in: renamed all references of mc.1 to mc.1.in
5817 * find.c (locate_egrep): Don't use an absolute path if egrep isn't
5818 found at the usual places. Then execvp will search the directories
5819 passed in the environment PATH variable (a little bit slower but
5820 better than a defunct find content).
5822 * tree.c: removed the include file I mistakenly added with my
5825 Tue Mar 3 20:00:36 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5827 * file.c (get_file): Take a panel argument. I am pretty sure that
5828 this is broken for the case where we are copying from a WTree.
5830 (panel_operate): take a panel argument instead of defaulting to
5833 Mon Mar 2 15:54:55 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5835 * dlg.c (create_dlg): Set running to 0 on creation;
5836 (add_widgetl): do widget initialization if the dialog is already
5837 running when this dialog box is created.
5839 Mon Mar 2 12:11:37 1998 Norbert Warmuth <k3190@fh-sw.de>
5841 * vfs/ftpfs.c (changetype): Removed the hack which always forced
5842 sending the command "TYPE I" when changing to binary transfer mode
5843 was requested even when MC thought the connection was already in
5844 binary mode (bucket->isbinary == 1). The correct fix is now in
5847 * vfs/ftpfs.c (login_server): Set the transfer mode stored in
5848 the bucket to UNKNOWN (the bucket might be reused and the old
5849 transfer mode isn't valid any longer).
5851 * screen.c (panel_key): Cleanup: deleted if-clause with -1 (EV_NONE)
5852 which isn't delivered to widgets by the dialog manager; always
5853 return 1 when key was handled; removed the function keys from the
5854 panel's keymap (the function keys are always handled by the
5855 buttonbar); don't eat characters below ' ' (C-l and Shift-F3 now
5856 work even when quick search was started); characters between 32 and
5857 255 start quick search if there is no commandline (no C-s necessary
5860 * tree.c (tree_key): likewise
5862 Tue Feb 24 18:37:36 1998 Stas Maximov <stmax@u213.srcc.msu.su>
5864 * subshell.c: Set subshell_pid to 1 on startup
5866 Fri Feb 13 19:59:39 1998 Alexander Savelyev <fano@VCom.kiev.ua>
5868 * screen.c: KEY_DC is also handled by delete_cmd.
5870 * vfs/ftpfs.c (chdir): sending the CWD command is not necessary
5873 (ftpfs_connection_close): Do not use WAIT_REPLY, closes
5876 (open_data_connection): implement the reget command.
5878 * boxes.c: bigger VFS dialog box.
5880 * file.c (init_replace): Add support for copying files only if the
5881 size differs, and support for regetting ftp files.
5883 Wed Feb 11 20:08:50 1998 Norbert Warmuth <k3190@fh-sw.de>
5885 * user.c (execute_menu_command): Extented the syntax of %-macros
5886 used in the user menu in order to switch quoting on (default) and
5887 off, e.g. %0f means don't quote the expanded macro, %f and %1f mean
5888 quote the expanded macro.
5891 Fri Jan 30 16:43:47 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5893 * dlg.c (create_dlg): Now we pass the flags parameter to the
5894 create_dialog routine.
5896 * tkmain.c (xtoolkit_create_dialog): Check for the grided value
5898 Fri Jan 23 07:28:54 1998 Peter Daum <gator@cs.tu-berlin.de>
5900 * extfs.c (open_extfs_archive): Pass the filename to the list
5903 * extfs/mailfs: New file system for browsing mail files (support
5904 for compressed mail fiels as well).
5906 Fri Jan 23 07:19:18 1998 Pavel Roskin <pavel_roskin@geocities.com>
5908 * edit/edit.h: mc_mkdir requires 2 arguments for any operation
5909 system. Obsolete #ifdef's removed.
5911 * edit/editwidget.c: ansi standard violation removed
5913 * nt/Makefile.NT: default SLang directory is now ../slang. Most
5914 of SLang sources are no more compiled for MC.
5916 * nt/drive.h: new file. Copied from os2/drive.h with minor changes
5918 * nt/ket.nt.c: new way for handling conflicting SHIFT_PRESSED
5919 definitions. get_event can work without blocking. Copy, move
5920 and delete operations work normally.
5922 * nt/slint.nt.c: SLang_getkey2 and Slang_input_pending2 are
5923 copied from src/slint.c
5925 * nt/sys/param.h: annoying warnings temporaly suppressed.
5927 * slang/slvideo.c, slang/slw32tty.c: new files. They contain
5928 changes by Alexander Dong.
5930 * src/myslang.h: definitions for acsii symbols removed, since
5931 they are available in slang.h. Double lines are not used anymore.
5933 * src/panelize.c: sys/wait.h is included only if HAVE_SYS_WAIT_H
5936 * nt/Makefile.NT: text.c is added
5938 * nt/Makefile.VC4: "-debug" switch for linker is not used for
5941 * src/screen.c (show_dir): double lines are no more used by NT and
5944 * src/wtools.c (real_input_dialog_help): layout of input dialog for
5945 XView port is corrected
5947 * edit/edit.h: mc_mkdir requires 2 arguments for any operation
5948 system. Obsolete #ifdef's removed.
5950 * edit/editwidget.c: ansi standard violation removed
5952 Wed Jan 21 14:01:29 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5954 * ext.c (regex_command): reverted the patch that changed tests for
5955 *p == ' ' || *p == '\t' to isspace(). isspace() is true for tabs,
5956 newlines, carriage-returns and vertical tabs as well. Which is
5959 Wed Jan 21 11:58:39 1998 Sung-Hyun Nam <namsh@lgic.co.kr>
5961 * ftpfs.c (retrieve_dir): Avoid compiler warning by testing
5962 explicitly the value.
5964 screen.c (format_file): color not initialized when we met
5967 Wed Jan 21 11:28:21 1998 Alex Tkachenko <alex@bcs.zp.ua>
5969 * cmd.c, utilunix.c: cosmetic changes to reduce compiler warnings
5971 * utilunix.c (my_system): small fix for SCO zombies moved here;
5972 now it returns WEXITSTATUS(status) instead of status itself. While
5973 missing it may not hurt on i.e., linux, on SCO it gives incorrect
5976 * vfs/extfs.c system() calls replaced with my_system() call; this
5977 allows a greater degree of control - fixes SCO system() return value
5978 processing. Notice: plain replacement system() with WEXITSTATUS(system)
5979 does not produce correct behavior (don't ask me why).
5981 * panelize.c (do_external_panelize): similar fixes for pclose()
5982 return value on SCO.
5984 view.c (load_view_file): inverted value of viewer_magic_flag to
5985 put viewer decompression state in accordance with F8 label text.
5986 Also default_nroff_flag is initialized to be 1; thus enabling all
5987 filter processing by default easies mc usage for novice users.
5989 Sun Jan 18 13:47:37 1998 Sung-Hyun Nam <namsh@lgic.co.kr>
5992 * panel.h, tkscreen.h : error when compile dlg.c
5993 * tkconf.h : paint_frame
5994 * screen.c : to include paint_frame
5995 * tkmain.c : I just copied clr_scr() from the text.c
5997 Fri Jan 16 16:19:59 1998 Miguel de Icaza <miguel@nuclecu.unam.mx>
5999 * screen.c (format_file): Do not invoke the file_compute_color
6000 routine for empty lines.
6002 * gmain.c: Color scheme for Gnome
6004 * gscreen.c: Color setup now allocated the GdkColor *.
6006 * color.c: Moved the default color setting to a per-port
6007 location (text.c for the text mode edition); new color
6008 configuration: core; Fixed the case where the color spec was
6009 buggy and we kept on a infinite loop;
6011 Fri Jan 16 13:47:13 1998 Pavel Roskin <pavel_roskin@geocities.com>
6013 * nt/drive.nt.c, nt/chmod.nt.c: Updated button_new and check_new
6016 Fri Jan 16 12:47:39 1998 Norbert Warmuth <k3190@fh-sw.de>
6018 * vfs/ftpfs.c (command): Don't log passwords when the dialog between
6019 server and client is logged to a file (mc -l logfile).
6021 * vfs/ftpfs.c (resolve_symlink, retrieve_dir): When a directory
6022 contains spaces send two commands ("CWD path" and "LIST .") instead of
6023 one command ("LIST path") in order to get directory listings.