Mercurial > hg > xemacs-beta
comparison src/insdel.c @ 1333:1b0339b048ce
[xemacs-hg @ 2003-03-02 09:38:37 by ben]
To: xemacs-patches@xemacs.org
PROBLEMS: Include nt/PROBLEMS and update. Add note about incremental
linking badness.
cmdloop.el, custom.el, dumped-lisp.el, files.el, keydefs.el, keymap.el, lisp-mode.el, make-docfile.el, replace.el, simple.el, subr.el, view-less.el, wid-edit.el: Lots of syncing with FSF 21.2.
Use if-fboundp in wid-edit.el.
New file newcomment.el from FSF.
internals/internals.texi: Fix typo.
(Build-Time Dependencies): New node.
PROBLEMS: Delete.
config.inc.samp, xemacs.mak: Eliminate HAVE_VC6, use SUPPORT_EDIT_AND_CONTINUE in its place.
No incremental linking unless SUPPORT_EDIT_AND_CONTINUE, since it
can cause nasty crashes in pdump. Put warnings about this in
config.inc.samp. Report the full compile flags used for src
and lib-src in the Installation output.
alloc.c, lisp.h, ralloc.c, regex.c: Use ALLOCA() in regex.c to avoid excessive stack allocation.
Also fix subtle problem with REL_ALLOC() -- any call to malloc()
(direct or indirect) may relocate rel-alloced data, causing
buffer text to shift. After any such call, regex must update
all its pointers to such data. Add a system, when
ERROR_CHECK_MALLOC, whereby regex.c indicates all the places
it is prepared to handle malloc()/realloc()/free(), and any
calls anywhere in XEmacs outside of this will trigger an abort.
alloc.c, dialog-msw.c, eval.c, event-stream.c, general-slots.h, insdel.c, lisp.h, menubar-msw.c, menubar-x.c: Change *run_hook*_trapping_problems to take a warning class, not
a string. Factor out code to issue warnings, add flag to
call_trapping_problems() to postpone warning issue, and make
*run_hook*_trapping_problems issue their own warnings tailored
to the hook, postponed in the case of safe_run_hook_trapping_problems()
so that the appropriate message can be issued about resetting to
nil only when not `quit'. Make record_unwind_protect_restoring_int()
non-static.
dumper.c: Issue notes about incremental linking problems under Windows.
fileio.c: Mule-ize encrypt/decrypt-string code.
text.h: Spacing changes.
author | ben |
---|---|
date | Sun, 02 Mar 2003 09:38:54 +0000 |
parents | 804517e16990 |
children | a8d8f419b459 |
comparison
equal
deleted
inserted
replaced
1332:6aa23bb3da6b | 1333:1b0339b048ce |
---|---|
1 /* Buffer insertion/deletion and gap motion for XEmacs. | 1 /* Buffer insertion/deletion and gap motion for XEmacs. |
2 Copyright (C) 1985, 1986, 1991, 1992, 1993, 1994, 1995 | 2 Copyright (C) 1985, 1986, 1991, 1992, 1993, 1994, 1995 |
3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
4 Copyright (C) 1995 Sun Microsystems, Inc. | 4 Copyright (C) 1995 Sun Microsystems, Inc. |
5 Copyright (C) 2001, 2002 Ben Wing. | 5 Copyright (C) 2001, 2002, 2003 Ben Wing. |
6 | 6 |
7 This file is part of XEmacs. | 7 This file is part of XEmacs. |
8 | 8 |
9 XEmacs is free software; you can redistribute it and/or modify it | 9 XEmacs is free software; you can redistribute it and/or modify it |
10 under the terms of the GNU General Public License as published by the | 10 under the terms of the GNU General Public License as published by the |
734 int speccount = specpdl_depth (); | 734 int speccount = specpdl_depth (); |
735 record_unwind_protect (first_change_hook_restore, buffer); | 735 record_unwind_protect (first_change_hook_restore, buffer); |
736 set_buffer_internal (buf); | 736 set_buffer_internal (buf); |
737 in_first_change = 1; | 737 in_first_change = 1; |
738 run_hook_trapping_problems | 738 run_hook_trapping_problems |
739 (0, Qfirst_change_hook, | 739 (Qchange, Qfirst_change_hook, |
740 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); | 740 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); |
741 unbind_to (speccount); | 741 unbind_to (speccount); |
742 } | 742 } |
743 } | 743 } |
744 } | 744 } |
805 /* Obsolete, for compatibility */ | 805 /* Obsolete, for compatibility */ |
806 || !NILP (symbol_value_in_buffer (Qbefore_change_function, buffer))) | 806 || !NILP (symbol_value_in_buffer (Qbefore_change_function, buffer))) |
807 { | 807 { |
808 set_buffer_internal (buf); | 808 set_buffer_internal (buf); |
809 va_run_hook_with_args_trapping_problems | 809 va_run_hook_with_args_trapping_problems |
810 (0, Qbefore_change_functions, 2, | 810 (Qchange, Qbefore_change_functions, 2, |
811 make_int (start), make_int (end), | 811 make_int (start), make_int (end), |
812 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); | 812 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); |
813 /* Obsolete, for compatibility */ | 813 /* Obsolete, for compatibility */ |
814 va_run_hook_with_args_trapping_problems | 814 va_run_hook_with_args_trapping_problems |
815 (0, Qbefore_change_function, 2, | 815 (Qchange, Qbefore_change_function, 2, |
816 make_int (start), make_int (end), | 816 make_int (start), make_int (end), |
817 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); | 817 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); |
818 } | 818 } |
819 } | 819 } |
820 | 820 |
894 { | 894 { |
895 set_buffer_internal (buf); | 895 set_buffer_internal (buf); |
896 /* The actual after-change functions take slightly | 896 /* The actual after-change functions take slightly |
897 different arguments than what we were passed. */ | 897 different arguments than what we were passed. */ |
898 va_run_hook_with_args_trapping_problems | 898 va_run_hook_with_args_trapping_problems |
899 (0, Qafter_change_functions, 3, | 899 (Qchange, Qafter_change_functions, 3, |
900 make_int (start), make_int (new_end), | 900 make_int (start), make_int (new_end), |
901 make_int (orig_end - start), | 901 make_int (orig_end - start), |
902 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); | 902 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); |
903 /* Obsolete, for compatibility */ | 903 /* Obsolete, for compatibility */ |
904 va_run_hook_with_args_trapping_problems | 904 va_run_hook_with_args_trapping_problems |
905 (0, Qafter_change_function, 3, | 905 (Qchange, Qafter_change_function, 3, |
906 make_int (start), make_int (new_end), | 906 make_int (start), make_int (new_end), |
907 make_int (orig_end - start), | 907 make_int (orig_end - start), |
908 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); | 908 INHIBIT_EXISTING_PERMANENT_DISPLAY_OBJECT_DELETION); |
909 } | 909 } |
910 } | 910 } |