diff options
| author | Miles Bader | 2006-02-08 04:26:44 +0000 |
|---|---|---|
| committer | Miles Bader | 2006-02-08 04:26:44 +0000 |
| commit | 380874900ca183ec2fdce91949d841328852d7a8 (patch) | |
| tree | 6918a4182f8657251e83223511aa7827fb8820ed /src/editfns.c | |
| parent | 72b464afc12a7532fc8555352db04c65647c15ae (diff) | |
| parent | c96ec15a58817ac97db5348187e2d8695f609cb5 (diff) | |
| download | emacs-380874900ca183ec2fdce91949d841328852d7a8.tar.gz emacs-380874900ca183ec2fdce91949d841328852d7a8.zip | |
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-13
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 43-57)
- Update from CVS
- Merge from erc--emacs--0
- Make constrain-to-field notice overlays
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 18-21)
- Update from CVS
- Merge from emacs--devo--0
Diffstat (limited to 'src/editfns.c')
| -rw-r--r-- | src/editfns.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/editfns.c b/src/editfns.c index 073ee4bff80..7c2c2a8edd0 100644 --- a/src/editfns.c +++ b/src/editfns.c | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* Lisp functions pertaining to editing. | 1 | /* Lisp functions pertaining to editing. |
| 2 | Copyright (C) 1985, 1986, 1987, 1989, 1993, 1994, 1995, 1996, | 2 | Copyright (C) 1985, 1986, 1987, 1989, 1993, 1994, 1995, 1996, |
| 3 | 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, | 3 | 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, |
| 4 | 2005 Free Software Foundation, Inc. | 4 | 2005, 2006 Free Software Foundation, Inc. |
| 5 | 5 | ||
| 6 | This file is part of GNU Emacs. | 6 | This file is part of GNU Emacs. |
| 7 | 7 | ||
| @@ -717,7 +717,8 @@ Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. */) | |||
| 717 | { | 717 | { |
| 718 | /* If non-zero, then the original point, before re-positioning. */ | 718 | /* If non-zero, then the original point, before re-positioning. */ |
| 719 | int orig_point = 0; | 719 | int orig_point = 0; |
| 720 | int fwd, prev_old, prev_new; | 720 | int fwd; |
| 721 | Lisp_Object prev_old, prev_new; | ||
| 721 | 722 | ||
| 722 | if (NILP (new_pos)) | 723 | if (NILP (new_pos)) |
| 723 | /* Use the current point, and afterwards, set it. */ | 724 | /* Use the current point, and afterwards, set it. */ |
| @@ -736,24 +737,24 @@ Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil. */) | |||
| 736 | 737 | ||
| 737 | if (NILP (Vinhibit_field_text_motion) | 738 | if (NILP (Vinhibit_field_text_motion) |
| 738 | && !EQ (new_pos, old_pos) | 739 | && !EQ (new_pos, old_pos) |
| 739 | && (!NILP (Fget_text_property (new_pos, Qfield, Qnil)) | 740 | && (!NILP (Fget_char_property (new_pos, Qfield, Qnil)) |
| 740 | || !NILP (Fget_text_property (old_pos, Qfield, Qnil)) | 741 | || !NILP (Fget_char_property (old_pos, Qfield, Qnil)) |
| 741 | /* To recognize field boundaries, we must also look at the | 742 | /* To recognize field boundaries, we must also look at the |
| 742 | previous positions; we could use `get_pos_property' | 743 | previous positions; we could use `get_pos_property' |
| 743 | instead, but in itself that would fail inside non-sticky | 744 | instead, but in itself that would fail inside non-sticky |
| 744 | fields (like comint prompts). */ | 745 | fields (like comint prompts). */ |
| 745 | || (XFASTINT (new_pos) > BEGV | 746 | || (XFASTINT (new_pos) > BEGV |
| 746 | && !NILP (Fget_text_property (prev_new, Qfield, Qnil))) | 747 | && !NILP (Fget_char_property (prev_new, Qfield, Qnil))) |
| 747 | || (XFASTINT (old_pos) > BEGV | 748 | || (XFASTINT (old_pos) > BEGV |
| 748 | && !NILP (Fget_text_property (prev_old, Qfield, Qnil)))) | 749 | && !NILP (Fget_char_property (prev_old, Qfield, Qnil)))) |
| 749 | && (NILP (inhibit_capture_property) | 750 | && (NILP (inhibit_capture_property) |
| 750 | /* Field boundaries are again a problem; but now we must | 751 | /* Field boundaries are again a problem; but now we must |
| 751 | decide the case exactly, so we need to call | 752 | decide the case exactly, so we need to call |
| 752 | `get_pos_property' as well. */ | 753 | `get_pos_property' as well. */ |
| 753 | || (NILP (get_pos_property (old_pos, inhibit_capture_property, Qnil)) | 754 | || (NILP (get_pos_property (old_pos, inhibit_capture_property, Qnil)) |
| 754 | && (XFASTINT (old_pos) <= BEGV | 755 | && (XFASTINT (old_pos) <= BEGV |
| 755 | || NILP (Fget_text_property (old_pos, inhibit_capture_property, Qnil)) | 756 | || NILP (Fget_char_property (old_pos, inhibit_capture_property, Qnil)) |
| 756 | || NILP (Fget_text_property (prev_old, inhibit_capture_property, Qnil)))))) | 757 | || NILP (Fget_char_property (prev_old, inhibit_capture_property, Qnil)))))) |
| 757 | /* It is possible that NEW_POS is not within the same field as | 758 | /* It is possible that NEW_POS is not within the same field as |
| 758 | OLD_POS; try to move NEW_POS so that it is. */ | 759 | OLD_POS; try to move NEW_POS so that it is. */ |
| 759 | { | 760 | { |