1 2003-11-03 Andrew V. Samoilov <sav@bcs.zp.ua>
3 * editcmd.c (edit_mail_dialog): Trivial clean-up.
5 2003-10-23 Andrew V. Samoilov <sav@bcs.zp.ua>
7 * edit-widget.h (struct WEdit): Add GTree *defines field.
8 * syntax.c: Use edit->defines instead of static defines.
10 2003-10-16 Andrew V. Samoilov <sav@bcs.zp.ua>
12 * syntax.c (compare_word_to_right): More checks for braces and
15 2003-10-16 Pavel Roskin <proski@gnu.org>
17 * syntax.c (compare_word_to_right): Fix recent breakage - rules
18 ending with wildcard (e.g. "$+") won't match.
20 2003-10-14 Pavel Roskin <proski@gnu.org>
22 * edit.h: Make static all functions and variables that don't
23 need to be global. Remove unused functions. Adjust all
26 2003-09-22 Pavel Roskin <proski@gnu.org>
28 * syntax.c: Give names to numeric tokens.
30 * syntax.c (compare_word_to_right): Add checks that we don't go
31 beyond text length for certain invalid rules.
32 Reported by Juan C. Olivares <juancri@TAGnet.org>
34 2003-09-12 Pavel Roskin <proski@gnu.org>
36 * editcmd.c (edit_raw_key_query): Use straight widget order.
37 (edit_completion_dialog): Likewise.
38 * editwidget.c (edit): Likewise.
40 2003-09-07 Pavel Roskin <proski@gnu.org>
42 * edit.h: Get rid of WIDGET_COMMAND, update all dependencies.
44 2003-07-31 Andrew V. Samoilov <sav@bcs.zp.ua>
46 * edit-widget.h: Resurrect "dir" field in WEdit to store
47 directory for relative filenames.
49 * edit.c (edit_clean): Release edit->dir.
51 * editcmd.c (edit_save_file): Use absolute filename.
52 Temporarily disable safe save and backups on remote VFS because
53 it doesn't work - again.
55 2003-07-25 Pavel Roskin <proski@gnu.org>
57 * edit.c (edit_execute_cmd): Enable user menu in mcedit.
59 2003-07-20 Pavel Roskin <proski@gnu.org>
61 * editcmd.c (edit_quit_cmd): Rename to ...
62 (edit_ok_to_exit): ... this. Don't stop dialog - this function
63 is called by the dialog code.
64 * editwidget.c (edit_dialog_callback): Process DLG_VALIDATE
65 event. Don't exit it the user wants to continue editing.
66 * edit.c (edit_execute_cmd): Close the dialog - it will ask user
69 * editcmd.c (edit_quit_cmd): Don't save this command in the undo
70 stack. Don't force any refresh. Don't delete unsaved files, do
72 * edit.c (edit_clean): ... here. This ensures that unsaved
73 files from the mcedit command line are erased on Ctrl-n.
75 * editwidget.c (edit): Remove unused variable "framed".
77 2003-07-08 Adam Byrtek <alpha@debian.org>
79 * edit.c (edit_clean): Remove stale lock if any.
81 2003-07-08 Pavel Roskin <proski@gnu.org>
83 * edit-widget.h: Add new field loading_done.
84 * edit.c (edit_init): Set loading_done.
85 (edit_insert): Don't call edit_modification() before the file is
88 * edit-widget.h: Eliminate unused explicit_syntax field.
90 * edit-widget.h: Stop misusing "unsigned char" for boolean.
91 Eliminate have_frame - it's unused. Adjust all dependencies.
93 2003-06-14 Pavel Roskin <proski@gnu.org>
95 * editkeys.c: Leave only distinct entries in cooledit_key_map
96 and emacs_key_map. Move the rest to common_key_map.
98 2003-06-09 Pavel Roskin <proski@gnu.org>
100 * editkeys.c (emacs_key_map): Move Atl-'>' and Alt-'<' ...
101 (common_key_map): ... here.
103 2003-06-05 Andrew V. Samoilov <sav@bcs.zp.ua>
105 * editcmd.c (edit_ext_cmd): Fix memory leak.
107 2003-05-30 Michal Szwaczko <mikey@scene.pl>
109 * editcmd.c: Implement pasting the output of any external
111 * editmenu.c: Add menu entries for that.
112 * editcmddef.h: Add new command CK_ExtCmd.
114 2003-04-04 Adam Byrtek <alpha@debian.org>
116 * edit.c: Move edit_modification() before actions to provide
117 proper repainting if there are dialogs invoked by actions.
119 * editlock.c: Split lock into user@host and pid and report them
122 2003-04-02 Pavel Roskin <proski@gnu.org>
124 * edit.c (edit_load_file): Use vfs_file_is_local(), not
125 vfs_current_is_local().
126 * editlock.c (edit_lock_file): Disable locking on VFS.
128 2003-04-01 Adam Byrtek <alpha@debian.org>
130 * editlock.c, editlock.h: New files. Implement file locking in
131 Emacs style, as documented in JED editor sources.
132 * Makefile.am: Add those files to build tree.
134 * edit-widget.c (WEdit): New property 'locked', 0 on edit_init.
135 * edit.c (edit_modification): Lock buffer on modification.
136 * editcmd.c (edit_save_cmd, edit_save_as_cmd): Handle locking
138 (edit_load_file_from_filename): Unlock. Remove 2 duplicate
139 lines (handled by edit_init).
140 (edit_quit_cmd): Unlock.
142 2003-03-12 Pavel Roskin <proski@gnu.org>
144 * edit.h: Make it easier to tweak buffer size and maximal number
147 2003-03-07 Pavel Roskin <proski@gnu.org>
149 * editkeys.c (common_key_map): Delete previous word by
150 Alt-Backspace. Fix Ctrl-Backspace on some terminals.
151 Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
153 2003-03-06 Andrew V. Samoilov <sav@bcs.zp.ua>
155 * syntax.c (edit_read_syntax_file): Fix segmentation violation.
157 2003-03-03 Andrew V. Samoilov <sav@bcs.zp.ua>
159 * syntax.c (edit_read_syntax_rules): Check for list of defines
160 is already initialized.
161 (edit_read_syntax_file): Process `include ...` before first
162 `file ...`, so color definitions can be stored separately.
164 * syntax.c (subst_defines): New function to substitute defines.
165 (this_try_alloc_color_pair): Move color substitution ...
166 (edit_read_syntax_rules): ... here. Use subst_defines() to
167 substitute colors for contexts and keywords. Allow multiword
170 2003-02-26 Andrew V. Samoilov <sav@bcs.zp.ua>
172 * syntax.c (edit_read_syntax_rules): Add args argument and use
173 it instead of own auto args array to share this area with ...
174 (edit_read_syntax_file): ... this. Adjust for the above.
175 Use strncpy() instead of unsafe strcpy().
177 2003-02-25 Andrew V. Samoilov <sav@bcs.zp.ua>
179 * syntax.c (defines): New static variable for list of defines.
180 (mc_defines_destroy): New function to release memory of key
182 (destroy_defines): New function to destroy list of defines
184 (this_try_alloc_color_pair): Use strncpy() instead of unsafe
185 strcpy(). Use values from list of defines to substitute given
187 (edit_read_syntax_rules): Initialize list of defines and process
188 new "define" keyword. Use strncpy() instead of unsafe strcpy().
189 (edit_free_syntax_rules): Destroy list of defines.
191 2003-02-21 Andrew V. Samoilov <sav@bcs.zp.ua>
193 * editmenu.c (OptMenuEmacs): Define as OptMenu.
194 (SearReplMenuEmacs): Define as SearReplMenu.
195 (EditMenuEmacs): Define as EditMenu.
197 2002-12-28 Pavel Roskin <proski@gnu.org>
199 * editmenu.c (OptMenu): Add "Learn Keys".
200 (OptMenuEmacs): Likewise.
202 2003-01-27 Andrew V. Samoilov <sav@bcs.zp.ua>
204 * edit-widget.h (struct macro): Move definition ...
205 * edit.h: ... here to fix compilation on HP-UX.
207 2002-12-25 Pavel Roskin <proski@gnu.org>
209 * editkeys.c: Move key maps to the file scope. Put common keys
210 to a separate table common_key_map.
211 (edit_translate_key): Remove unused argument x_keycode.
213 * editkeys.c (edit_translate_key): Treat Shift-Enter as return
214 without indent. Useful when pasting multiline text with
215 Shift-button3 or Shift-Insert with autoindent enabled.
217 2002-12-23 Pavel Roskin <proski@gnu.org>
219 * editkeys.c (edit_translate_key): Treat Ctrl-Home and Ctrl-End
220 like Ctrl-PgUp and Ctrl-PgDown respectively.
222 * edit_key_translator.c: Rename to ...
223 * editkeys.c: ... this.
224 * edit.c (edit_translate_key): Move to editkeys.c.
225 * Makefile.am: Adjust for the above.
227 2002-12-21 Pavel Roskin <proski@gnu.org>
229 * edit.c (edit_translate_key): Remove x_state argument, it's now
231 * editwidget.c (get_key_state): Remove.
233 2002-12-18 Andrew V. Samoilov <sav@bcs.zp.ua>
235 * editcmd.c (edit_block_process_cmd): Quote filename.
237 * edit.h (edit_save_mode_t): New enum for file saving mode.
238 * editcmd.c (): Use edit_save_mode_t.
239 (pipe_mail): Quote to, subject and cc with name_quote().
240 * edit.c (edit_get_filter): Use quoted filename.
241 (edit_get_write_filter): Use quoted writename.
242 (edit_push_action): Use g_realloc().
244 2002-12-16 Pavel Roskin <proski@gnu.org>
246 * editcmd.c (edit_goto_cmd): Add support for negative line
247 numbers, which are counted from the last line. Use strtol(), so
248 hex numbers are supported as well.
250 * edit.c: Use edit->stack_disable instead of static variable.
252 2002-12-15 Pavel Roskin <proski@gnu.org>
254 * edit.c (check_file_access): Use non-blocking open() followed
255 by fstat() to avoid race conditions. Don't ask users to
256 recompile the editor.
258 * edit.c (edit_reload): Don't initialize edit->macro_i, because
259 edit_init() takes care of it.
260 * editwidget.c (edit): Likewise.
262 * edit.h: Don't inclide malloc.h. Use g_malloc() and g_free()
263 instead. Adjust all dependencies.
265 * edit.c (edit_load_file): Merge edit_open_file(). Disable fast
266 loading on non-local VFS because the file size can be wrong.
267 (init_dynamic_edit_buffers): Split into edit_init_buffers() and
268 edit_load_file_fast().
270 * edit.c (edit_init): Move file loading to ...
271 (edit_load_file): ... a separate function.
273 * edit.c (init_dynamic_edit_buffers): Remove unused code to
274 support loading text from buffer.
276 2002-12-14 Pavel Roskin <proski@gnu.org>
278 * editcmd.c (edit_split_filename): Rename to edit_set_filename,
279 use g_malloc() and g_free() on edit->filename.
281 2002-12-08 Pavel Roskin <proski@gnu.org>
283 * edit.c (edit_open_file): Remove "text" and "text_size"
284 arguments. Adjust all callers.
286 * edit.c (edit_move_to_column): Remove, use
287 edit_move_to_prev_col() instead.
289 * edit.c: Commit the rest of the position saving code.
290 (edit_load_position): New function, load position.
291 (edit_save_position): New function, save position.
292 (edit_init): Take new argument "line". If it's 0, load position
294 (edit_clean): Save file position to .mc/filepos even if the file
296 * editwidget.c (edit): Don't set the initial line, pass it to
299 2002-12-07 Pavel Roskin <proski@gnu.org>
301 * syntax.c (edit_load_syntax): Reuse more informative error
304 * edit.c (check_file_access): Use O_EXCL when opening new files.
305 Don't allow editing stale symlinks.
306 Reported by Max Derzhak <max@linux.zp.ua>
308 2002-12-05 Pavel Roskin <proski@gnu.org>
310 * edit-widget.h: Remove "from_here" and "to_here".
311 * edit.c (edit_purge_widget): New function - clean struct WEdit
312 except the Widget part.
314 2002-12-04 Pavel Roskin <proski@gnu.org>
316 * editcmd.c: Include dialog.h.
317 Reported by Frédéric L. W. Meunier <lists@pervalidus.net>
319 2002-11-30 Pavel Roskin <proski@gnu.org>
321 * edit.h: Remove "dir" field in WEdit - it's always an empty
322 string. Adjust all dependencies.
324 * editcmd.c (edit_get_load_file): Remove first argument, it's
326 (edit_get_save_file): Likewise.
328 * syntax.c: Make structures key_word, context_rule and
329 _syntax_marker opaque.
331 * edit.c: Use g_malloc() and g_free() on buffers1 and buffers2.
333 (edit_get_buffer_as_text): Remove, it's unused.
335 * editcmd.c (edit_set_search_parameters): Use g_malloc().
336 (edit_complete_word_cmd): Use g_free().
338 2002-11-29 Pavel Roskin <proski@gnu.org>
340 * edit.h: Don't define HAVE_SYNTAXH.
341 * syntax.c: Syntax highlighting is no more optional.
342 (edit_check_spelling): Remove.
344 * editoptions.c (edit_options_dialog): Add "Save file position"
345 option, make "Syntax highlighting" unconditional.
347 * edit.c: First part of the position saving code.
348 (edit_move_to_column): New function.
350 2002-11-29 Andrew V. Samoilov <sav@bcs.zp.ua>
352 * editoptions.c (edit_options_dialog): Use g_free() to release
353 variables allocated in quick_dialog().
355 2002-11-28 Pavel Roskin <proski@gnu.org>
357 * edit-widget.h: Move typedef WEdit and file names ...
358 * edit.h: ... here. Don't include edit-widget.h. Adjust all
361 2002-11-23 Andrew V. Samoilov <sav@bcs.zp.ua>
363 * editoptions.c (edit_options_dialog): Clean up and use g_snprintf()
364 instead of sprintf().
366 2002-11-14 Pavel Roskin <proski@gnu.org>
368 * edit.h: Decentralize includes.
370 * editmenu.c (edit_user_menu_cmd): Move to ../src/cmd.c.
372 * edit.c (edit_delete_line): Don't remove and restore the
373 preceding newline. Don't treat binary zero as newline.
374 From Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
376 2002-11-12 Pavel Roskin <proski@gnu.org>
378 * *.c: Fix all global functions without declarations - declare,
379 make static or remove.
381 * syntax.c (syntax_change_callback): Remove, it's unused.
382 (edit_set_syntax_change_callback): Likewise.
384 * edit.c (edit_execute_cmd): Fool gcc to prevent Y2K warning.
386 * editwidget.c (edit_adjust_size): Use find_buttonbar().
388 2002-11-11 Pavel Roskin <proski@gnu.org>
390 * editcmd.c: Warning fix for compilers that don't understand the
391 "const" keyword and variable size arrays.
393 2002-11-06 Pavel Roskin <proski@gnu.org>
395 * editcmd.c (edit_save_file): Restore ownership before access
396 mode, not after. Otherwise suid bit is lost.
397 Reported by Nerijus Baliunas <nerijus@users.sourceforge.net>
399 2002-10-30 Pavel Roskin <proski@gnu.org>
401 * edit.c: Include charset.h unconditionally, use new conversion
402 functions that don't require ifdefs.
403 * edit_key_translator.c: Likewise.
404 * editcmd.c: Likewise.
405 * editdraw.c: Likewise.
407 2002-10-20 Pavel Roskin <proski@gnu.org>
409 * edit-widget.h: Add new field macro_depth to control depth of
411 * edit.c (edit_execute_macro): Make static. Increment
412 macro_depth on entry, decrement on exit, don't allow it to be
415 * wordproc.c (line_start): Remove incorrect optimization abusing
416 static variables. Internal formatting should be usable now.
418 2002-10-18 Pavel Roskin <proski@gnu.org>
420 * wordproc.c (begin_paragraph): Fix the same off-by-one error as
421 in end_paragraph() - it affects formatting of the paragraph
422 after the first line in the file it that line starts with a dot.
423 Remove unused argument.
425 * wordproc.c (end_paragraph): The last line of the file wasn't
426 tested for being blank, which resulted in the last newline
427 becoming a space after formatting.
429 2002-10-17 Pavel Roskin <proski@gnu.org>
431 * editoptions.c (edit_options_dialog): Don't allow
432 option_tab_spacing to be 0. Reset invalid values to 8.
433 Reported by Ury N. Stankevich <ury@bofh.homeunix.org>
435 2002-10-08 Pavel Roskin <proski@gnu.org>
437 * wordproc.c (format_paragraph): If formatting was successful,
438 scroll to the left to show the formatted paragraph.
440 2002-10-06 Pavel Roskin <proski@gnu.org>
442 * editdraw.c (print_to_widget): Eliminate use of floating point.
445 2002-10-02 Andrew V. Samoilov <sav@bcs.zp.ua>
447 * editcmd.c (edit_insert_column_of_text): Fix infinite loop if
448 block of text is copied past the end of the buffer.
449 By Paul Sheer <psheer@icon.co.za>.
451 (stacked): Don't initialize static arrays by zeros.
453 2002-09-26 Andrew V. Samoilov <sav@bcs.zp.ua>
455 * edit.h (struct key_word): Remove time field.
456 * syntax.c: Remove MAD support.
458 2002-09-24 Pavel Roskin <proski@gnu.org>
460 * editwidget.c (edit): Make edit_dlg local variable.
462 * editmenu.c (edit_drop_menu_cmd): Don't use edit_dlg variable.
464 * edit.c: Remove all references to CR_LF_TRANSLATION.
465 * editcmd.c: Likewise.
467 2002-09-23 Pavel Roskin <proski@gnu.org>
469 * editwidget.c (edit): Install handler for DLG_RESIZE.
471 * editwidget.c (edit): Set edit_dlg to NULL after it's
474 * edit.h: Move style definitions ...
475 * editdraw.c: ... here. Multiply them by 256. Remove unused
477 (print_to_widget): Don't divide style by 256. Simplify logic
478 since we only have 4 styles now.
480 * edit.c (edit_move_forward3): Use caret notation for code 127
482 * editdraw.c (edit_draw_this_line): Likewise. Print '.' for
483 other non-printable characters and remove this code from ...
484 (print_to_widget): ... here.
486 * edit.c (edit_move_forward3): Show '\r' as ^M.
487 * editdraw.c (edit_draw_this_line): Likewise. Use MOD_ABNORMAL
489 From Alexander Varakin <avarakin00@hotmail.com>
491 * edit.h: Remove all references to O_TEXT, USE_O_TEXT and
494 * edit.c: Use O_BINARY when opening files.
495 * editcmd.c: Likewise.
496 From Alexander Varakin <avarakin00@hotmail.com>
498 2002-09-20 Pavel Roskin <proski@gnu.org>
500 * editwidget.c (edit_event): Add support for mouse wheel events.
501 * edit.h: Add missing declarations for edit_move_up() and
504 2002-09-20 Andrew V. Samoilov <sav@bcs.zp.ua>
506 * edit.c: Don't initialize static selection and selection_history.
507 * editdraw.c (status_string): Remove font_width argument.
508 (edit_status): Fix calculation to use last column in the
511 2002-09-04 Pavel Roskin <proski@gnu.org>
513 * edit.c (edit_filters): Use gzip, not compress for *.Z files
514 for consistency with other parts of the code (viewer, mc.ext).
516 2002-09-03 Pavel Roskin <proski@gnu.org>
518 * editcmd.c: Recheck and fix all calls to create_dlg().
519 * editwidget.c: Likewise.
521 2002-09-02 Pavel Roskin <proski@gnu.org>
523 * editcmd.c (edit_raw_key_query): Eliminate
524 x_set_dialog_title().
526 2002-09-01 Pavel Roskin <proski@gnu.org>
528 * editcmd.c (edit_block_process_cmd): Restore third argument
529 (but make it /dev/null) for compatibility with old scripts.
530 Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
532 2002-08-31 Pavel Roskin <proski@gnu.org>
534 * editwidget.c (edit): Avoid passing an uninitialized color
535 array to create_dlg() - pass NULL instead.
537 2002-08-27 Andrew V. Samoilov <sav@bcs.zp.ua>
539 * editcmd.c (edit_printf): Use g_vsnprintf() instead of sprintf().
541 2002-08-24 Pavel Roskin <proski@gnu.org>
543 * edit-widget.h: Eliminate ERROR_FILE.
544 * edit.c: Remove all references to ERROR_FILE.
545 * editcmd.c (edit_block_process_cmd): Revert to using catstrs(),
546 those strings are freed now. Use system(), not execute() to
547 execute commands. Use open_error_pipe() and close_error_pipe()
548 to keep track of errors.
550 2002-08-22 Pavel Roskin <proski@gnu.org>
552 * editcmd.c: Clean up global variables in the completion code.
554 * editwidget.c: Use new dialog flags.
555 * editcmd.c: Likewise.
556 (edit_completion_dialog): Set DLG_COMPACT for the dialog.
558 * editcmd.c (compl_callback): Use common_dialog_repaint().
560 * editcmd.c (raw_callback): Use standard common_dialog_repaint()
563 2002-08-21 Pavel Roskin <proski@gnu.org>
565 * editwidget.c (edit): Make edit_bar a local variable.
567 2002-08-20 Pavel Roskin <proski@gnu.org>
569 * editcmd.c (freestrs): Set freed strings to NULL.
570 (catstrs): Use g_malloc() and g_free().
572 * editcmd.c (freestrs): New function to clean temporary strings.
573 * edit.c (edit_clean): Call freestrs().
575 2002-08-20 David Martin <dmartina@excite.com>
577 * editmenu.c: Use new create_menu() interface.
579 2002-08-18 Pavel Roskin <proski@gnu.org>
581 * editoptions.c: Make some variables static.
582 * edit.h: Take extern declarations from all C files.
584 * editcmd.c (edit_block_process_cmd): Plug memory leak.
585 Simplify logic, reformat.
587 2002-08-02 Paul Sheer <psheer@icon.co.za>
589 * edit.c (edit_push_action): Fix access to uninitialized memory.
592 2002-08-01 Pavel Roskin <proski@gnu.org>
594 * syntax.c: Remove all references to MAD.
596 * edit.h: Don't include mad.h.
598 2002-07-29 Andrew V. Samoilov <kai@cmail.ru>
600 * edit.h (edit_get_load_file): Mark message for translation.
601 (edit_get_save_file): Ditto.
603 2002-07-20 Pavel Roskin <proski@gnu.org>
605 * syntax.c (apply_rules_going_right): Recheck keyword rules when
606 a keyword is found on the left border of a context.
608 2002-07-14 Pavel Roskin <proski@gnu.org>
610 * syntax.c (edit_get_syntax_color): Return colorpair index, not
611 attribute, when syntax highlighting is disabled. Handle black
612 and white mode separately.
614 * syntax.c (edit_load_syntax): Do nothing in black and white
617 * edit.h [!HAVE_SLANG]: Enable syntax highlighting.
618 * editdraw.c [!HAVE_SLANG]: Respect attributes for color pairs
619 by using MY_COLOR_PAIR macro.
621 * edit.h (struct key_word): Remove unused "bg" field, rename
622 "fg" to "color", since it keeps all color information.
623 * syntax.c (edit_get_syntax_color): Replace "fg" and "bg"
624 arguments with a single argument "color".
625 Adjust all dependencies.
627 * editdraw.c (edit_draw_this_line): Fix setting MOD_ABNORMAL
629 (print_to_widget): Fix displaying non-printable characters with
630 ncurses. Set color for every character even if syntax
631 highlighting is not compiled - it's needed to reset color after
632 non-printable characters.
634 * editdraw.c (edit_status): Use EDITOR_NORMAL_COLOR instead of
636 * syntax.c (edit_get_syntax_color) [!HAVE_SYNTAXH]: Likewise.
638 2002-06-24 Pavel Roskin <proski@gnu.org>
640 * edit.c (check_file_access): Return 1 on all errors, document
641 this behavior. Set edit->delete_file to 1 for newly created
643 (edit_open_file): Don't set edit->delete_file, it's now done in
645 Reported by Saso <saso@bojler.dhs.org>
647 2002-05-13 Andrew V. Samoilov <kai@cmail.ru>
649 * editcmd.c (edit_save_file): Call mc_chown() and mc_chmod()
650 before mc_open() to prevent hangs over ftpfs.
652 * edit.h: Remove open, close, write, read and mkdir definitions.
653 * edit.c: Use mc_open, mc_close, mc_write, mc_read, mc_rename,
654 mc_chmod and mc_chown. Don't cast (char *) to (unsigned long)
655 in pointer arithmetics.
656 * editcmd.c: Likewise.
658 2002-03-25 Andrew V. Samoilov <kai@cmail.ru>
660 * syntax.c (edit_read_syntax_file): Use system wide Syntax
661 Highlighting definitions' file if there is no users one.
663 2002-03-18 Pavel Roskin <proski@gnu.org>
665 * edit.h: Use eregex.h, not regex.h.
666 From Alexander Varakin <avarakin00@hotmail.com>
668 2002-02-27 Andrew V. Samoilov <kai@cmail.ru>
670 * editcmd.c (edit_replace_cmd): Eliminate fin_string
671 and use message() to fix possible buffer overflow.
672 (edit_search_cmd): Likewise.
674 2002-02-18 Andrew V. Samoilov <kai@cmail.ru>
676 * syntax.c (convert): Fix buffer overflow for ".*\" cases.
678 2002-01-22 Pavel Roskin <proski@gnu.org>
680 * editdraw.c (edit_scroll_screen_over_cursor): Do nothing if the
681 edit widget has zero width or height.
683 2002-01-21 Pavel Roskin <proski@gnu.org>
685 * edit.c: Rename DELETE to DELCHAR to avoid macro redefinition
689 2002-01-21 Matthias Urban <murban@cs.uni-magdeburg.de>
691 * edit.c: Add support for CK_Complete_Word event.
692 * editcmddef.h: Likewise.
693 * edit_key_translator.c (cooledit_key_map): Bind Alt-Tab to
695 (emacs_key_map): Likewise.
696 * editcmd.c: Implement word completion.
698 2002-01-21 Pavel Roskin <proski@gnu.org>
700 * editmenu.c (CmdMenuEmacs): Add mail command without shortcut.
701 Users of emacs keys should be able to send mail too.
703 2002-01-15 Andrew V. Samoilov <kai@cmail.ru>
705 * syntax.c (syntax_g_free): New macro to release and NULLify
706 glib allocated memory area(s).
707 (strdup_convert): Rename to ...
708 (convert): ... this. Don't strdup() passed string.
709 (get_args): Use convert() instead of strdup_convert().
710 (free_args): Make it do nothing macro.
711 (open_include_file): Eliminate p array. Use glib function to
712 construct error_file_name. Use PATH_SEP instead of '/';
713 (edit_read_syntax_file): Use PATH_SEP_STR.
714 (edit_load_syntax): Use syntax_g_free to release error_file_name.
715 (edit_read_syntax_rules): Likewise.
716 Eliminate c->single_char. It's only written but never read.
718 * edit.h (struct context_rule): Comment out single_char field.
719 It is written once but never read.
721 * edit-widget.h: Use PATH_SEP_STR.
723 2001-12-22 Andrew V. Samoilov <kai@cmail.ru>
725 * editcmd.c (edit_goto_cmd): Use g_free() to release f.
726 (edit_save_file): Use PATH_SEP instead of '/'.
727 Undefine "close" before closing file created by mc_mkstemps.
728 Define close to mc_close() after it - temporary fix.
730 (sprintf_p): Don't cast (char *) to (unsigned long).
732 * syntax.c (read_one_line): Undo last patch - errno is a
733 function on some systems. Check ferror() status before
734 everything else if fgetc() returns EOF.
735 Accept last line without trailing newline.
737 (compare_word_to_right): Don't cast p and q to unsigned long.
738 (apply_rules_going_right): Likewise.
740 2001-12-21 Pavel Roskin <proski@gnu.org>
742 * edit.c (user_menu): Don't move the cursor before and after
744 Reported by Matthias Urban <murban@cs.uni-magdeburg.de>
746 * syntax.c (read_one_line): Clear errno before using it. Don't
747 use the result of fgetc() if errno is EINTR.
749 2001-11-28 Andrew V. Samoilov <kai@cmail.ru>
751 * syntax.c (apply_rules_going_right): Fix crash for lines like
752 \s+ \n lightgray/13 red
754 (read_one_line): Use EOF instead of -1.
755 (get_args): Fix buffer overflow for l without trailing
757 (break_a): New macro.
758 (edit_read_syntax_rules): Use break_a to fix memory leaks.
759 (edit_load_syntax): Eliminate s and use message to prevent
762 * editdraw.c (edit_render): Eliminate f. It's only written
765 2001-11-27 Andrew V. Samoilov <kai@cmail.ru>
767 * editmenu.c (edit_wrap_cmd): Use g_free() on the result
770 2001-11-22 Andrew V. Samoilov <kai@cmail.ru>
772 * editcmd.c (edit_save_file): Use g_free() on the result of
774 (edit_replace_cmd): Fix rare memory leaks.
776 2001-11-19 Andrew V. Samoilov <kai@cmail.ru>
778 * edit.c (edit_renew): Release dir after use.
780 * editcmd.c (edit_replace_dialog): Eliminate tsearch_text,
781 treplace_text and targ_order.
782 (edit_replace_cmd): edit_replace_dialog gives g_malloced
783 strings, so g_strdup/g_free have to be used. Accept only
784 positive pattern number in Scanf search and replace.
785 (edit_save_file): Enable safe save and backups on remote VFS.
787 2001-11-16 Andrew V. Samoilov <kai@cmail.ru>
789 * edit_key_translator.c (cooledit_key_map):
790 Add C-k, CK_Delete_To_Line_End.
792 * edit.c (user_menu): Don't assign block_file twice.
794 2001-11-07 Andrew V. Samoilov <kai@cmail.ru>
796 * edit.c (edit_reload): destroy_dlg g_free()s widget(s), so
797 g_malloc/g_free have to be used.
798 (edit_init): Ditto. Eliminate st.
800 2001-11-05 Andrew V. Samoilov <kai@cmail.ru>
802 * edit.h (edit_execute_cmd): Declare it here.
804 * edit.c: Remove edit_execute_cmd declaration.
805 (edit_execute_cmd): Use edit_print_string instead of edit_printf.
807 * editcmd.c: Remove edit_execute_cmd declaration.
808 (edit_search_dialog): Eliminate tsearch_text.
809 (edit_search_cmd): edit_search_dialog gives g_malloc()ed exp.
810 Use g_strdup/g_free instead of strdup/free.
811 (edit_mail_dialog): quick_dialog use g_strdup, so g_free
813 (edit_load_cmd): input_dialog returns g_malloc(ed) string,
814 so g_free has to be used.
815 (edit_save_block_cmd): Likewise.
816 (edit_insert_file_cmd): Likewise.
817 (edit_sort_cmd): Likewise.
818 (edit_save_as_cmd): Likewise. Memory leak fixed.
820 * bookmark.c (book_mark_clear): Eliminate rend.
821 It's only written but never read.
822 (book_mark_flush): Likewise.
823 (book_mark_inc): Likewise.
824 (book_mark_dec): Likewise.
826 2001-10-23 Pavel Roskin <proski@gnu.org>
828 * edit.c (user_menu): If the error file is missing, treat it as
829 success. Truncate block file unconditionally.
831 2001-10-22 Pavel Roskin <proski@gnu.org>
833 * edit.c: Stop using _EDIT_C definition. Move variable
834 declarations from edit.h, make static or eliminate if possible.
835 Report errors immediately.
837 * editwidget.c (edit): Don't report errors from edit_init(),
838 they are reported in place.
840 2001-10-20 Pavel Roskin <proski@gnu.org>
842 * editcmd.c (sprintf_p): Declare with the printf attribute.
845 * edit.h: Declare edit_printf() with the printf attribute.
847 2001-10-18 Pavel Roskin <proski@gnu.org>
849 * edit.c (check_file_access): Only allow to edit regular files.
850 Use stat() before open() to prevent hangs on pipes, use fstat()
851 afterwards if stat() was unsuccessful.
853 2001-09-17 Pavel Roskin <proski@gnu.org>
855 * edit.h: Don't use macro `stat' - it's already a macro on
856 Solaris 8 with large file support.
857 * editcmd.c: Replace stat() with mc_stat().
860 2001-09-11 Pavel Roskin <proski@gnu.org>
862 * syntax.c (syntax_text): Remove, it's a separate file now.
863 (upgrade_syntax_file): Remove.
864 (edit_read_syntax_file): Use check_for_default().
866 2001-09-08 Pavel Roskin <proski@gnu.org>
868 * edit.h: Remove some useless definitions.
870 2001-09-07 Pavel Roskin <proski@gnu.org>
872 * Makefile.am: Don't define "MIDNIGHT" - it's unused now.
874 * edit.c: Eliminate all code disabled for the text edition.
875 * editcmddef.h: Likewise.
876 * editmenu.c: Likewise.
877 * editwidget.c: Likewise.
878 * syntax.c: Likewise.
879 * wordproc.c: Likewise.
881 * edit-widget.h: Change ~/.cedit to ~/.mc/cedit to keep mcedit
882 files separate from cooledit.
884 * bookmark.c: Eliminate all code disabled for the text edition.
885 * edit-widget.h: Likewise.
886 * editcmd.c: Likewise.
887 * editdraw.c: Likewise.
888 * editoptions.c: Likewise.
890 * edit.h: Eliminate all code disabled for the text edition.
891 Reorder and simplify includes.
894 2001-09-06 Pavel Roskin <proski@gnu.org>
896 * syntax.c (syntax_text): Add PHP support from Cooledit.
898 2001-09-04 Pavel Roskin <proski@gnu.org>
900 * Makefile.am (AM_CFLAGS): Remove CFLAGS, don't use substituted
903 * syntax.c (syntax_text): Remove useless ']' in the Perl and
904 Python rules. Change shell script rule to use more portable
907 * editcmd.c (edit_block_process_cmd): Prepend space to the
908 command to avoid polluting bash history. Document arguments.
909 Fix crash if block is 0 - not used currently.
911 2001-08-26 Pavel Roskin <proski@gnu.org>
913 * Makefile.am: Don't install libedit.a.
915 * Makefile.in: Converted to ...
916 * Makefile.am: ... this.
918 2001-08-24 Pavel Roskin <proski@gnu.org>
920 * Makefile.in (EDITSRC): Add headers.
921 (CPPFLAGS): Remove reference to gtkedit.
923 Copy all necessary files from gtkedit.
924 * Makefile.in (EDITLINKS): Merge with EDITSRC, remove all
927 2001-08-24 Pavel Roskin <proski@gnu.org>
929 * syntax.c (syntax_text): Fix recognizing pdksh and zsh scripts.
931 2001-08-23 Pavel Roskin <proski@gnu.org>
933 * editcmd.c (edit_block_process_cmd): Use execute(), not
934 my_system() to relieve interactive scripts, such as spell
935 checker, from saving and restoring the terminal.
937 2001-08-19 Pavel Roskin <proski@gnu.org>
939 * gtkedit.c: Include <sys/param.h> if present - it should always
940 be included before <glib.h> to avoid redefining MIN and MAX.
941 * editcmd.c [!MIDNIGHT]: Undefine B_ENTER and B_CANCEL before
944 * edit.h: Include <sys/param.h> if present. Include Gtk+
945 headers as system headers.
946 * gtkedit.c: Include Gtk+ headers as system headers.
948 2001-08-18 Pavel Roskin <proski@gnu.org>
950 * syntax.c (syntax_text): Highlight *.pot as PO files.
952 * edit.h [GTK]: Fix definition of edit_message_dialog().
953 * gtkedit.c (gtk_edit_dialog_message): Use "OK" button, not
954 "Cancel", for consistency with the text edition.
956 2001-08-17 Pavel Roskin <proski@gnu.org>
958 * syntax.c (syntax_text): Add support for PO files.
960 2001-08-12 Pavel Roskin <proski@gnu.org>
962 * edit.c: Handle CK_Shell.
963 * editcmddef.h: Define CK_Shell.
964 * editmenu.c (FileMenu): Remove C-o from the "Open file..."
966 (FileMenuEmacs): Likewise.
968 2001-08-06 Andrew V. Samoilov <kai@cmail.ru>
970 * editcmd.c (edit_replace_prompt): Fix menu location calculation.
972 2001-08-01 Pavel Roskin <proski@gnu.org>
974 * editcmd.c (edit_save_file): Temporarily disable safe save
975 and backups on remote VFS because it doesn't work. Use
976 mc_mkstemps() instead of tempnam().
978 2001-07-29 Pavel Roskin <proski@gnu.org>
980 * syntax.c (syntax_text): Add support for S-Lang.
982 2001-07-28 Pavel Roskin <proski@gnu.org>
984 * editcmd.c (menu_save_mode_cmd): Resurrect i18n code lost in
985 the last resync with Cooledit.
986 Reported by David Martin <dmartina@excite.es>
988 * gtkedit.c (gtk_edit_delete_cb): Handler for "delete_event".
991 2001-07-27 Pavel Roskin <proski@gnu.org>
993 * edit.c: Fix include.
995 2001-07-20 Pavel Roskin <proski@gnu.org>
997 * syntax.c (open_include_file) [GTK]: Use mc_home instead of
1000 2001-07-19 Pavel Roskin <proski@gnu.org>
1002 * editcmd.c (edit_canonicalize_pathname): Don't ever use
1003 getwd(), use g_get_current_dir() instead.
1005 * editoptions.c (edit_options_dialog): Call edit_load_syntax()
1006 if user turned syntax highlighting off to unload the rules.
1008 2001-07-17 Pavel Roskin <proski@gnu.org>
1010 * edit.h [MIDNIGHT]: Declare wedit.
1011 * editmenu.c: Remove wedit declaration.
1012 * editoptions.c (edit_options_dialog): Load syntax rules if user
1013 turned syntax highlighting on.
1014 * syntax.c (edit_load_syntax): Don't load rules if syntax
1015 highlighting is disabled.
1017 2001-07-13 Pavel Roskin <proski@gnu.org>
1019 * editoptions.c (edit_options_dialog): Allow numbers for tab
1020 spacing. Reported by mharris@redhat.com.
1021 http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=34852
1023 * editcmd.c (menu_save_mode_cmd): Give meaningful names to the
1024 input fields instead of "i" so that they have separate history.
1025 * editoptions.c (edit_options_dialog): Likewise.
1027 2001-07-11 Pavel Roskin <proski@gnu.org>
1029 * editdraw.c (status_string): Use g_snprintf() instead of
1031 From Libor Motyèka <l_motycka@ortex.cz>
1033 2001-07-10 Pavel Roskin <proski@gnu.org>
1035 * gtkeditkey.c (edit_translate_key): When processing bindings
1036 with Alt check that Shift is not pressed - it's handled later.
1038 2001-07-05 Pavel Roskin <proski@gnu.org>
1040 * editdraw.c: Comment fixes.
1042 2001-06-26 Pavel Roskin <proski@gnu.org>
1044 * edit-widget.h (editor_widget): Rename `stat' to `stat1' to
1045 avoid problems on Solaris with 64-bit file access, when `stat'
1046 is a macro. All users adjusted.
1047 Reported by Maksym Polyakov <polyama@yahoo.com>.
1049 2001-06-25 Pavel Roskin <proski@gnu.org>
1051 * gtkedit.c: Remove home_dir - it's declared in main.c.
1053 2001-06-15 Pavel Roskin <proski@gnu.org>
1055 * editcmd.c (canonicalize_pathname) [GTK]: Rename to ...
1056 (edit_canonicalize_pathname): ... this to avoid namespace clash.
1057 * edit.h [MIDNIGHT]: Include "src/cmd.h" and "src/user.h".
1058 Remove declarations duplicating "src/user.h".
1059 [GTK]: Include "src/dialog.h" and "src/util.h".
1061 * editmenu.c (edit_wrap_cmd): Fix declaration.
1062 (edit_about_cmd): Likewise.
1063 * editwidget.c (get_key_state): Likewise.
1065 * editcmd.c (edit_quit_cmd): Don't use strcmp on the result of
1066 gtk_dialog_cauldron() since it's NULL if the dialog has been
1067 closed without using buttons.
1069 * edit.c (edit_execute_cmd): Put time format to a variable to
1070 avoid gcc warning about Y2K issues with %c in strftime().
1072 2001-06-14 Pavel Roskin <proski@gnu.org>
1074 * edit.c: Declare cmd_F* static. Comment out cmd_F9.
1076 * edit.c: Use indented #error for compatibility with old C
1079 2001-06-13 Pavel Roskin <proski@gnu.org>
1081 * edit.c (edit_execute_cmd) [GTK]: Disable user menu - it
1083 (user_menu) [GTK]: Disable.
1084 * gtkedit.c (tb_items): Use complete words. Disable pull-down
1087 2001-06-09 Pavel Roskin <proski@gnu.org>
1089 * editcmd.c (catstrs): Use interactive_display() without
1090 specifying the help file.
1091 From Andrew V. Samoilov.
1093 2001-06-08 Andrew V. Samoilov <sav@bcs.zp.ua>
1095 * editcmd.c [HAVE_CHARSET]: Really include charset.h.
1096 * editmenu.c (edit_wrap_cmd): Memory leaking fixed.
1098 2001-06-05 Pavel Roskin <proski@gnu.org>
1100 * edit.c [HAVE_CHARSET]: Include charsets.h and selcodepage.h.
1101 * editcmd.c [HAVE_CHARSET]: Add charset conversion support.
1102 * editdraw.c [HAVE_CHARSET]: Likewise.
1103 From Andrew V. Samoilov <sav@bcs.zp.ua>
1104 and Walery Studennikov <hqsoftware@mail.ru>.
1106 2001-06-01 Pavel Roskin <proski@gnu.org>
1108 * gtkedit.h: Warning fix - use stricter declarations for
1109 destroy_me and destroy_me_user_data.
1111 2001-05-31 Pavel Roskin <proski@gnu.org>
1113 * Makefile.in: Define HAVE_X and HAVE_GNOME, not just GTK -
1114 header files are using them.
1116 * editdraw.c (edit_render) [GTK]: Revert previous patch, it
1119 2001-05-31 Andrew V. Samoilov <sav@bcs.zp.ua>
1121 * editdraw.c (edit_status): Use strcpy (s, ) instead of
1122 sprintf (s, "%s", ).
1124 (set_color) [MIDNIGHT]: Became a macro.
1125 (render_edit_text) [defined(MIDNIGHT) || defined(GTK)]: Warning fix.
1126 (edit_render) [GTK]: Eliminate win variable.
1127 (key_pending) [!GTK]: Warning fix.
1129 2001-05-30 Pavel Roskin <proski@gnu.org>
1131 * editdraw.c (status_string): Use is_printable(). Declare
1132 static. Eliminate intermediate buffer. Use memset() for filling.
1133 Print byte as unsigned. Use C notation for hex numbers.
1135 * editdraw.c (status_string): Don't print non-printable chars.
1136 Better formatting. Print "<EOF>" at the end of file instead of
1137 -1. Use snprintf instead of sprintf.
1139 2001-05-30 Andrew V. Samoilov <sav@bcs.zp.ua>
1141 * syntax.c (open_include_file) [MIDNIGHT]: Don't hardcode location
1142 of syntax file(s) with LIBDIR, use mc_home instead.
1143 From Ludovic Drolez <ludovic.drolez@freealter.com>.
1145 (syntax_text): Use perl.syntax to highlight perl modules (.pm).
1147 2001-05-18 Pavel Roskin <proski@gnu.org>
1149 * editcmd.c (edit_replace_prompt): Warning fix.
1151 2001-02-26 Pavel Roskin <proski@gnu.org>
1153 * editcmd.c (edit_delete_macro_cmd) [MIDNIGHT]: Don't use
1154 CK_Macro on the argument to edit_delete_macro().
1156 * edit.c (edit_init_file): Remove, it's useless. All the
1157 necessary files should be created when needed.
1158 * edit.h: Remove declaration of edit_init_file().
1160 2000-11-01 Andrew V. Samoilov <sav@bcs.zp.ua>
1162 * editcmd.c (canonicalize_pathname) [GTK]: memory leaking fixed
1164 2000-10-30 Pavel Roskin <proski@gnu.org>
1166 * editcmd.c (canonicalize_pathname) [GTK]: Make the argument
1168 (edit_split_filename) [GTK]: Make the second argument constant
1169 to match the declaration.
1171 2000-10-30 Andrew V. Samoilov <sav@bcs.zp.ua>
1173 * editcmd.c (edit_save_file): better error handling on writing
1175 (edit_sort_cmd): saved sort options proposed in dialog
1177 edit.h, editcmd.c: declaration for edit_save_block () added
1179 (edit_split_filename): f constified
1181 * edit.c (edit_init) [ENABLE_NLS]: option_whole_chars_search
1182 expanded by national letters using current locale on first call
1184 (edit_file_is_open) [MIDNIGHT]: all occurrences and related code
1187 (edit_execute_cmd): typo in error message fixed
1189 2000-09-30 Pavel Roskin <proski@gnu.org>
1191 * libgettext.h: Removed, shouldn't be here.
1192 * Makefile.in: Adjusted to remove libgettext.h
1194 2000-09-15 Andrew V. Samoilov <sav@bcs.zp.ua>
1196 * editcmd.c (edit_delete_macro, edit_(load|save)_macro_cmd): don't
1197 translate keywords written to macro file or macro don't work, at least
1198 for Cyrillic. Made this as separate commit, so, if it seriously breaks
1199 compatibility it's easy to revert it.
1201 2000-09-15 Andrew V. Samoilov <sav@bcs.zp.ua>
1203 * editcmd.c (edit_save_file): fopen()+fwrite()+fclose() replaced
1204 by open()+write()+close() to restore possibility to edit files
1205 over Midnight Commander's VFSes
1207 (edit_replace_cmd) [MIDNIGHT]: some more right algorithm to calculate
1208 menu coordinates used. I don't like if menu hides replaced text.
1210 (edit_goto_cmd): Memory leaking fixed when f is empty string
1212 2000-09-07 Andrew V. Samoilov <sav@bcs.zp.ua>
1214 * edit.c (check_file_access) [MIDNIGHT,GTK]: error message localized;
1215 some cosmetics changes to avoid annoying warnings
1217 * editcmd.c (edit_save_file): pclose returns 0 on success,
1218 file fclose()d when fwrite fails
1220 (pipe_mail): malloc () + sprintf () replaced by g_strdup_printf ()
1222 * syntax.c (syntax_text): Makefile replaced by [Mm]akefile to cover
1223 makefile and GNUmakefile
1224 (upgrade_syntax_file): infinitive loop fixed when rule file
1225 is outdated but it cannot be unlinked/overwritten
1227 2000-08-30 Pavel Roskin <proski@gnu.org>
1229 * editwidget.c [!MIDNIGHT]: include xdnd.h
1230 * Makefile.in: distribute xdnd.h
1232 2000-08-18 Pavel Roskin <proski@gnu.org>
1234 * Makefile.in: adjusted list of distributed files.
1235 Added rule for rebuilding Makefile
1237 2000-08-08 Pavel Roskin <proski@gnu.org>
1239 * gtkedit.c [GTK]: don't include mousemark.h
1240 * gtkedit.h [GTK]: likewise
1242 2000-08-03 Pavel Roskin <proski@gnu.org>
1244 * mousemark.c, mousemark.h: removed
1245 * Makefile.in: don't distribute mousemark.h
1246 * gtkedit.c [MIDNIGHT]: don't include mousemark.h
1247 * gtkedit.h [MIDNIGHT]: likewise
1249 2000-07-20 Andrew V. Samoilov <sav@bcs.zp.ua>
1251 * gtkedit/editcmd.c (edit_save_file): check fclose()s return value
1252 to prevent loss of data
1253 (edit_block_process_cmd): don't translate empty string
1255 * gtkedit/edit.h (edit_get_write_filter, edit_write_stream,
1256 edit_init_file): added declarations
1258 * edit.c (edit_filters): constified
1259 (edit_get_write_filter): filename constified
1260 (user_menu): don't translate empty string
1262 * syntax.c (syntax_text): constified
1263 (upgrade_syntax_file): syntax_line constified, f closed after use