diff options
author | Miles Bader <miles@gnu.org> | 2006-01-16 08:37:27 +0000 |
---|---|---|
committer | Miles Bader <miles@gnu.org> | 2006-01-16 08:37:27 +0000 |
commit | 41882805d6711e32ac0f066119226d84dbdedc13 (patch) | |
tree | 44f756cef3fbc4de2f229e93613a1a326da7f55d /src/insdel.c | |
parent | 6a2bd1a5019d2130c87ac5cf17f1322bf614b624 (diff) | |
parent | 28f74fdf77eaab2e9daf54e2d5b0b729c5201e4f (diff) | |
download | emacs-41882805d6711e32ac0f066119226d84dbdedc13.tar.gz |
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-97
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 616-696)
- Add lisp/mh-e/.arch-inventory
- Update from CVS
- Merge from gnus--rel--5.10
- Update from CVS: lisp/smerge-mode.el: Add 'tools' to file keywords.
- lisp/gnus/ChangeLog: Remove duplicate entry
* gnus--rel--5.10 (patch 147-181)
- Update from CVS
- Merge from emacs--cvs-trunk--0
- Update from CVS: lisp/mml.el (mml-preview): Doc fix.
- Update from CVS: texi/message.texi: Fix default values.
- Update from CVS: texi/gnus.texi (RSS): Addition.
Diffstat (limited to 'src/insdel.c')
-rw-r--r-- | src/insdel.c | 30 |
1 files changed, 16 insertions, 14 deletions
diff --git a/src/insdel.c b/src/insdel.c index 2a11f5abe7f..174c0c6a153 100644 --- a/src/insdel.c +++ b/src/insdel.c @@ -738,9 +738,10 @@ insert (string, nbytes) { if (nbytes > 0) { - int opoint = PT; - insert_1 (string, nbytes, 0, 1, 0); - signal_after_change (opoint, 0, PT - opoint); + int len = chars_in_text (string, nbytes), opoint; + insert_1_both (string, len, nbytes, 0, 1, 0); + opoint = PT - len; + signal_after_change (opoint, 0, len); update_compositions (opoint, PT, CHECK_BORDER); } } @@ -754,9 +755,10 @@ insert_and_inherit (string, nbytes) { if (nbytes > 0) { - int opoint = PT; - insert_1 (string, nbytes, 1, 1, 0); - signal_after_change (opoint, 0, PT - opoint); + int len = chars_in_text (string, nbytes), opoint; + insert_1_both (string, len, nbytes, 1, 1, 0); + opoint = PT - len; + signal_after_change (opoint, 0, len); update_compositions (opoint, PT, CHECK_BORDER); } } @@ -802,10 +804,10 @@ insert_before_markers (string, nbytes) { if (nbytes > 0) { - int opoint = PT; - - insert_1 (string, nbytes, 0, 1, 1); - signal_after_change (opoint, 0, PT - opoint); + int len = chars_in_text (string, nbytes), opoint; + insert_1_both (string, len, nbytes, 0, 1, 1); + opoint = PT - len; + signal_after_change (opoint, 0, len); update_compositions (opoint, PT, CHECK_BORDER); } } @@ -819,10 +821,10 @@ insert_before_markers_and_inherit (string, nbytes) { if (nbytes > 0) { - int opoint = PT; - - insert_1 (string, nbytes, 1, 1, 1); - signal_after_change (opoint, 0, PT - opoint); + int len = chars_in_text (string, nbytes), opoint; + insert_1_both (string, len, nbytes, 1, 1, 1); + opoint = PT - len; + signal_after_change (opoint, 0, len); update_compositions (opoint, PT, CHECK_BORDER); } } |