Commit Graph

312 Commits

Author SHA1 Message Date
Pavel Roskin 69a16471a9 edit_ext_cmd(): trivial simplification. 2003-06-05 04:06:37 +00:00
Pavel Roskin f6e1d08562 Typo. 2003-06-02 19:25:15 +00:00
Pavel Roskin 3cd4571dc9 Typos and britainisms. 2003-06-02 18:39:44 +00:00
Pavel Roskin a66e5f511f Add comment for edit_ext_cmd. 2003-05-30 21:14:07 +00:00
Pavel Roskin bdc56f331b * editcmd.c: Implement pasting the output of any external
command.
* editmenu.c: Add menu entries for that.
* editcmddef.h: Add new command CK_ExtCmd.
2003-05-30 21:06:10 +00:00
Pavel Roskin e95373535c * edit.c: Move edit_modification() before actions to provide
proper repainting if there are dialogs invoked by actions.
2003-04-05 01:43:58 +00:00
Pavel Roskin 66a823861f * editlock.c: Split lock into user@host and pid and report them
separately.
2003-04-05 01:29:15 +00:00
Pavel Roskin ebf1bcfa33 * edit.c (edit_load_file): Use vfs_file_is_local(), not
vfs_current_is_local().
* editlock.c (edit_lock_file): Disable locking on VFS.
2003-04-02 22:25:00 +00:00
Pavel Roskin d88b75838a * editlock.c, editlock.h: New files. Implement file locking in
Emacs style, as documented in JED editor sources.
* Makefile.am: Add those files to build tree.

* edit-widget.c (WEdit): New property 'locked', 0 on edit_init.
* edit.c (edit_modification): Lock buffer on modification.
* editcmd.c (edit_save_cmd, edit_save_as_cmd): Handle locking
during file save.
(edit_load_file_from_filename): Unlock.  Remove 2 duplicate
lines (handled by edit_init).
(edit_quit_cmd): Unlock.
2003-04-02 19:36:10 +00:00
Pavel Roskin d4336795e6 * edit.h: Make it easier to tweak buffer size and maximal number
of buffers.
2003-03-12 07:07:27 +00:00
Pavel Roskin 867704615b * key.c (correct_key_code): Convert unrecognized 0177, Ctrl-h
and Ctrl-d into Delete and Backspace.  Remove all references to
those keys in other files.
2003-03-10 20:27:54 +00:00
Pavel Roskin 7cdbc354c2 * editkeys.c (common_key_map): Delete previous word by
Alt-Backspace.  Fix Ctrl-Backspace on some terminals.
Reported by Andrew V. Samoilov <sav@bcs.zp.ua>
2003-03-07 21:47:32 +00:00
Andrew V. Samoilov 6f35fce869 * syntax.c (edit_read_syntax_file): Fix segmentation violation. 2003-03-06 18:42:33 +00:00
Andrew V. Samoilov 902cd4834b * syntax.c (edit_read_syntax_rules): Check for list of defines
is already initialized.
(edit_read_syntax_file): Process `include ...` before first
`file ...`, so color definitions can be stored separately.
2003-03-04 09:52:40 +00:00
Andrew V. Samoilov 599f3e8bfb * syntax.c (subst_defines): New function to substitute defines.
(this_try_alloc_color_pair): Move color substitution ...
(edit_read_syntax_rules): ... here.  Use subst_defines() to
substitute colors for contexts and keywords.  Allow multiword
defines.
2003-03-03 13:37:45 +00:00
Andrew V. Samoilov 0c03bd9dd3 * (edit_read_syntax_rules): Fix memory corruption if key is redefined 2003-03-03 08:55:11 +00:00
Andrew V. Samoilov f0a33821e6 * syntax.c (edit_read_syntax_rules): Add args argument and it
use instead of own auto args array to share this area with ...
(edit_read_syntax_file): ... this.  Adjust for the above.
Use strncpy() instead of unsafe strcpy().
2003-02-26 19:15:27 +00:00
Andrew V. Samoilov 6a8a443ed2 * syntax.c (edit_read_syntax_rules): Add args argument and it
use instead of own auto args array to share this area with ...
(edit_read_syntax_file): ... this.  Adjust for the above.
Use strncpy() instead of unsafe strcpy().
2003-02-26 19:01:40 +00:00
Andrew V. Samoilov 4dc31f3e06 (this_try_alloc_color_pair): Set fg to f if fg is not NULL. Likewise for
fg and bg.
(edit_free_syntax_rules): Call destroy_defines() even if there is no rules.
2003-02-25 16:16:18 +00:00
Pavel Roskin 0158eaf0f3 * syntax.c (defines): New static variable for list of defines.
(mc_defines_destroy): New function to release memory of key
pair.
(destroy_defines): New function to destroy list of defines
completely.
(this_try_alloc_color_pair): Use strncpy() instead of unsafe
strcpy().  Use values from list of defines to substitute given
parameters.
(edit_read_syntax_rules): Initialize list of defines and process
new "define" keyword.  Use strncpy() instead of unsafe strcpy().
(edit_free_syntax_rules): Destroy list of defines.
2003-02-25 15:07:53 +00:00
Andrew V. Samoilov ebc8d1690a * editmenu.c (OptMenuEmacs): Define as OptMenu.
(SearReplMenuEmacs): Define as SearReplMenu.
(EditMenuEmacs): Define as EditMenu.
2003-02-21 23:32:06 +00:00
Pavel Roskin 0da0c44f87 * (OptMenu): Add "Learn Keys".
(OptMenuEmacs): Likewise.
2003-01-28 17:56:53 +00:00
Andrew V. Samoilov a132b94cf9 * edit-widget.h (struct macro): Move definition ...
* edit.h: ... here to fix compilation on HP-UX.
2003-01-27 15:46:40 +00:00
Pavel Roskin 812bac9a33 * editkeys.c: Move key maps to the file scope. Put common keys
to a separate table common_key_map.
(edit_translate_key): Remove unused argument x_keycode.
2002-12-25 22:53:07 +00:00
Pavel Roskin e0bbeb7085 * editkeys.c (edit_translate_key): Treat Shift-Enter as return
without indent.  Useful when pasting multiline text with
Shift-button3 or Shift-Insert with autoindent enabled.
2002-12-25 05:46:03 +00:00
Pavel Roskin 554acb2837 * editkeys.c (edit_translate_key): Treat Ctrl-Home and Ctrl-End
like Ctrl-PgUp and Ctrl-PgDown respectively.
2002-12-23 10:18:22 +00:00
Pavel Roskin ab43e6db88 * edit_key_translator.c: Rename to ...
* editkeys.c: ... this.
* edit.c (edit_translate_key): Move to editkeys.c.
* Makefile.am: Adjust for the above.
2002-12-23 10:13:35 +00:00
Pavel Roskin 361ec45373 Fix includes. 2002-12-23 10:12:40 +00:00
Pavel Roskin d6947e39cf * edit.c (edit_translate_key): Remove x_state argument, it's now
a part of x_keycode.
* editwidget.c (get_key_state): Remove.
2002-12-21 08:46:50 +00:00
Andrew V. Samoilov 4718c1105d * editcmd.c (edit_block_process_cmd): Quote filename. 2002-12-19 13:01:34 +00:00
Andrew V. Samoilov bce2ba99e9 * edit.h (edit_save_mode_t): New enum for file saving mode.
* editcmd.c (): Use edit_save_mode_t.
(pipe_mail): Quote to, subject and cc with name_quote().
* edit.c (edit_get_filter): Use quoted filename.
(edit_get_write_filter): Use quoted writename.
(edit_push_action): Use g_realloc().
2002-12-18 20:04:39 +00:00
Pavel Roskin e0a241f570 * editcmd.c (edit_goto_cmd): Add support for negative line
numbers, which are counted from the last line.  Use strtol(), so
hex numbers are supported as well.
2002-12-16 07:13:12 +00:00
Pavel Roskin 0454cf6eb1 * edit.c: Use edit->stack_disable instead of static variable. 2002-12-16 05:21:42 +00:00
Pavel Roskin 74714227fb Fix closing the same file twice. 2002-12-16 05:01:02 +00:00
Pavel Roskin 857565ca21 * edit.c (check_file_access): Use non-blocking open() followed
by fstat() to avoid race conditions.  Don't ask users to
recompile the editor.
2002-12-16 01:59:49 +00:00
Pavel Roskin 2eb1245290 Comment change. 2002-12-16 01:38:24 +00:00
Pavel Roskin 8148b4973c * edit.c (edit_reload): Don't initialize edit->macro_i, because
edit_init() takes care of it.
* editwidget.c (edit): Likewise.
2002-12-16 01:27:44 +00:00
Pavel Roskin 2048c47dfb Comment change. 2002-12-15 22:58:33 +00:00
Pavel Roskin aaf569bd48 * edit.h: Don't inclide malloc.h. Use g_malloc() and g_free()
instead.  Adjust all dependencies.
2002-12-15 18:55:53 +00:00
Pavel Roskin 77bd4c7f55 * edit.c (edit_load_file): Merge edit_open_file(). Disable fast
loading on non-local VFS because the file size can be wrong.
(init_dynamic_edit_buffers): Split into edit_init_buffers() and
edit_load_file_fast().
2002-12-15 09:47:25 +00:00
Pavel Roskin 433726e56b * (edit_init): Move file loading to ...
(edit_load_file): ... a separate function.
2002-12-15 08:07:02 +00:00
Pavel Roskin 6716e7ecff * edit.c (init_dynamic_edit_buffers): Remove unused code to
support loading text from buffer.
2002-12-15 06:53:52 +00:00
Pavel Roskin ceb3e9eb60 Comment fixes. 2002-12-15 02:54:00 +00:00
Pavel Roskin ca658f44a6 * editcmd.c (edit_split_filename): Rename to edit_set_filename,
use g_malloc() and g_free() on edit->filename.
2002-12-15 02:40:38 +00:00
Andrew V. Samoilov ce29907cce Fix typo 2002-12-10 08:27:03 +00:00
Pavel Roskin 46958e5630 s/Error trying to/Cannot/ 2002-12-08 09:27:18 +00:00
Pavel Roskin 581cf41929 * edit.c (edit_open_file): Remove "text" and "text_size"
arguments.  Adjust all callers.
2002-12-08 09:10:38 +00:00
Pavel Roskin 78155218a6 * edit.c (edit_move_to_column): Remove, use
edit_move_to_prev_col() instead.
2002-12-08 08:18:57 +00:00
Pavel Roskin c935eaa6c2 * edit.c: Commit the rest of the position saving code.
(edit_load_position): New function, load position.
(edit_save_position): New function, save position.
(edit_init): Take new argument "line".  If it's 0, load position
from .mc/filepos.
(edit_clean): Save file position to .mc/filepos even if the file
is not being saved.
* editwidget.c (edit): Don't set the initial line, pass it to
edit_init().
2002-12-08 07:47:59 +00:00
Pavel Roskin 2f2864e500 * syntax.c (edit_load_syntax): Reuse more informative error
message.
2002-12-08 01:57:35 +00:00
Pavel Roskin c3cdbeb001 * edit.c (check_file_access): Use O_EXCL when opening new files.
Don't allow editing stale symlinks.
Reported by Max Derzhak <max@linux.zp.ua>
2002-12-08 00:55:03 +00:00
Pavel Roskin b64955fbbd s/Failed trying to/Cannot/ 2002-12-08 00:40:11 +00:00
Pavel Roskin f2ccab3adc * edit-widget.h: Remove "from_here" and "to_here".
* edit.c (edit_purge_widget): New function - clean struct WEdit
except the Widget part.
2002-12-06 04:49:58 +00:00
Pavel Roskin dceb3b50d4 * editcmd.c: Include dialog.h.
Reported by Frdric L. W. Meunier <lists@pervalidus.net>
2002-12-04 07:20:19 +00:00
Pavel Roskin 2548ea0e7c Use normal capitalization in English text in the editor menu. 2002-12-01 06:33:58 +00:00
Pavel Roskin 5c0e8be6ca "Privatize" font-related defines. 2002-11-30 19:59:02 +00:00
Pavel Roskin dd7f5798fa * edit.h: Remove "dir" field in WEdit - it's always an empty
string.  Adjust all dependencies.
2002-11-30 19:50:51 +00:00
Pavel Roskin 9a4513aceb * editcmd.c (edit_get_save_file): Remove first argument, it's
unused.
(edit_get_save_file): Likewise.
2002-11-30 18:49:20 +00:00
Pavel Roskin 75fbf0b2f5 * syntax.c: Make structures key_word, context_rule and
_syntax_marker opaque.
2002-11-30 18:07:42 +00:00
Pavel Roskin 41fbb5099f * edit.c: Use g_malloc() and g_free() on buffers1 and buffers2.
Eliminate CMalloc.
(edit_get_buffer_as_text): Remove, it's unused.
2002-11-30 17:53:12 +00:00
Pavel Roskin 29f1543919 * editcmd.c (edit_set_search_parameters): Use g_malloc().
(edit_complete_word_cmd): Use g_free().
2002-11-30 17:41:07 +00:00
Pavel Roskin b628d515c0 * edit.h: Don't define HAVE_SYNTAXH.
* syntax.c: Syntax highlighting is no more optional.
(edit_check_spelling): Remove.
2002-11-30 02:29:43 +00:00
Pavel Roskin c63d61600a * editoptions.c (edit_options_dialog): Add "Save file position"
option, make "Syntax highlighting" unconditional.
2002-11-30 00:41:47 +00:00
Pavel Roskin 527cb0c64c * edit.c: First part of the position saving code.
(edit_move_to_column): New function.
2002-11-30 00:35:07 +00:00
Andrew V. Samoilov 085f43fc8d * editoptions.c (edit_options_dialog): Use g_free() to release
variables allocated in quick_dialog().
2002-11-29 08:28:51 +00:00
Pavel Roskin 18de4488e3 * edit-widget.h: Move typedef WEdit and file names ...
* edit.h: ... here.  Don't include edit-widget.h.  Adjust all
dependencies.
2002-11-29 03:01:06 +00:00
Andrew V. Samoilov 486038e9b4 * editoptions.c (edit_options_dialog): Clean up and use g_snprintf()
instead of sprintf().
2002-11-23 17:26:55 +00:00
Pavel Roskin 5cb2ef30f3 Fix duplicate declarations. 2002-11-15 06:38:55 +00:00
Pavel Roskin 9e1f47ddb7 Remove disabled entries - they give a bad example of
using pseudo-English (a.k.a. Engrish) in the menu.
2002-11-14 22:51:37 +00:00
Pavel Roskin 7969f851bb * edit.h: Decentralize includes. 2002-11-14 19:38:26 +00:00
Pavel Roskin 389ed511de * editmenu.c (edit_user_menu_cmd): Move to ../src/cmd.c. 2002-11-14 06:25:46 +00:00
Pavel Roskin c6e56452ea * exit.c (edit_delete_line): Don't remove and restore the
preceding newline.  Don't treat binary zero as newline.
From Dmitry Semyonov <Dmitry.Semyonov@oktet.ru>
2002-11-14 05:17:56 +00:00
Pavel Roskin e741be7a5d * *.c: Fix all global functions without declarations - declare,
make static or remove.
2002-11-13 04:32:00 +00:00
Pavel Roskin 66f451aac7 * dlg.c (send_message_to): Remove, use send_message() instead.
(send_message): Make inline, remove Dlg_head argument.  Change
all callers.
2002-11-13 02:56:40 +00:00
Pavel Roskin bc70c8cc1e * dlg.h: Remove Dlg_head argument from callback_fn - it's
excessive and can be trivially derived from the widget.
(default_proc): Remove Dlg_head argument.  Change all callers.
2002-11-13 02:27:35 +00:00
Pavel Roskin 47ab84d950 * syntax.c (syntax_change_callback): Remove, it's unused.
(edit_set_syntax_change_callback): Likewise.
2002-11-13 02:13:37 +00:00
Pavel Roskin 2b9d151923 * edit.c (edit_execute_cmd): Fool gcc to prevent Y2K warning. 2002-11-13 02:05:01 +00:00
Pavel Roskin 0106eebda6 * editwidget.c (edit_adjust_size): Use find_buttonbar(). 2002-11-12 23:35:25 +00:00
Pavel Roskin b0481b41bf * menu.h: Remove "*" from the definition of the type "Menu"
for consistency with other types.  Change all dependencies.
(menubar_event): Make static.
2002-11-12 21:01:50 +00:00
Pavel Roskin af883aaecf Fixes in English messages. 2002-11-11 17:27:13 +00:00
Pavel Roskin 4061502e82 * editcmd.c: Warning fix for compilers that don't understand the
"const" keyword and variable size arrays.
2002-11-11 08:06:01 +00:00
Andrew V. Samoilov 2a63d42f09 s/varaibles/variables/
s/declaratrions/declarations/
s/notning/nothing/
s/writting/writing/
s/occurences/occurrences/
2002-11-07 06:52:25 +00:00
Pavel Roskin c626f5fdcc * editcmd.c (edit_save_file): Restore ownership before access
mode, not after.  Otherwise suid bit is lost.
Reported by Nerijus Baliunas <nerijus@users.sourceforge.net>
2002-11-06 18:09:40 +00:00
Pavel Roskin b2fd313167 * edit.c: Include charset.h unconditionally, use new conversion
functions that don't require ifdefs.
* edit_key_translator.c: Likewise.
* editcmd.c: Likewise.
* editdraw.c: Likewise.
2002-10-30 23:56:49 +00:00
Pavel Roskin a84b0fc9cd Fix some of the most ugly abuses of mixed caps in English texts,
especially in button captions.
2002-10-21 22:26:39 +00:00
Pavel Roskin 31f1ddd081 Reuse message " Insert File ". 2002-10-21 05:31:47 +00:00
Pavel Roskin b3614cbd31 Reuse text " Delete macro " with different capitalization. 2002-10-21 05:26:55 +00:00
Pavel Roskin 370797a3e2 Use "Cancel" and "Continue" without spaces. 2002-10-21 05:03:01 +00:00
Pavel Roskin de81dccac6 Reuse " Save macro " message. 2002-10-21 04:31:14 +00:00
Pavel Roskin d3f0a2f61b Remove spaces around "Error" and "Warning" together with their translations.
Also remove spaces from "Quit" and "Search", but leave alone the
translations, that already have them without spaces.
2002-10-21 04:13:49 +00:00
Pavel Roskin 63983758e0 * edit-widget.h: Add new field macro_depth to control depth of
macro recursion.
* edit.c (edit_execute_macro): Make static.  Increment
macro_depth on entry, decrement on exit, don't allow it to be
too large.
2002-10-21 02:06:03 +00:00
Pavel Roskin 7f072959a4 * wordproc.c (line_start): Remove incorrect optimization abusing
static varaibles.  Internal formatting should be usable now.
2002-10-20 17:08:11 +00:00
Pavel Roskin eec9e4b850 * wordproc.c (begin_paragraph): Fix the same off-by-one error as
in end_paragraph() - it affects formatting of the paragraph
after the first line in the file it that line starts with a dot.
Remove unused argument.
2002-10-18 16:43:03 +00:00
Pavel Roskin 387cf0327b * wordproc.c (end_paragraph): The last line of the file wasn't
tested for being blank, which resulted in the last newline
becoming a space after formatting.
2002-10-18 05:25:01 +00:00
Pavel Roskin 2b5fec4594 * editoptions.c (edit_options_dialog): Don't allow
option_tab_spacing to be 0.  Reset invalid values to 8.
Reported by Ury N. Stankevich <ury@bofh.homeunix.org>
2002-10-17 05:43:57 +00:00
Pavel Roskin 346e628955 * wordproc.c (format_paragraph): If formatting was successful,
scroll to the left to show the formatted paragraph.
2002-10-08 05:03:45 +00:00
Pavel Roskin b79fe53f97 Remove unnecessary and incorrect declaration of edit_cursor_to_bol(). 2002-10-08 04:50:20 +00:00
Pavel Roskin 540ffe0db3 * editdraw.c (print_to_widget): Eliminate use of floating point.
Change all callers.
2002-10-06 21:08:20 +00:00
Andrew V. Samoilov b8d41cad3b * (edit_insert_column_of_text): Fix infinite loop if
block of text is copied past the end of the buffer.
By Paul Sheer <psheer@icon.co.za>.

(stacked): Don't initialize static arrays by zeros.
2002-10-02 15:44:35 +00:00
Pavel Roskin da7e82d253 Global removal of RCS Id: flags. 2002-09-26 23:13:45 +00:00