Commit Graph

307 Commits

Author SHA1 Message Date
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
Andrew V. Samoilov
790b85b555 * edit.h (struct key_word): Remove time field.
* syntax.c: Remove MAD support.
2002-09-26 12:23:13 +00:00
Pavel Roskin
e7e6552a03 * editwidget.c (edit): Make edit_dlg local variable. 2002-09-24 15:10:47 +00:00
Pavel Roskin
91f4a75562 * editmenu.c (edit_drop_menu_cmd): Don't use edit_dlg variable. 2002-09-24 15:04:22 +00:00
Pavel Roskin
2e3fc9234b * edit.c: Remove all references to CR_LF_TRANSLATION.
* editcmd.c: Likewise.
2002-09-24 04:35:44 +00:00
Pavel Roskin
996a847666 * editwidget.c (edit): Install handler for DLG_RESIZE. 2002-09-24 03:57:36 +00:00