diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2013-08-29 20:36:54 +0400 |
---|---|---|
committer | Dmitry Antipov <dmantipov@yandex.ru> | 2013-08-29 20:36:54 +0400 |
commit | 032f74518a71a7fe0afd2e7d0eee11bfb7ae90d9 (patch) | |
tree | cec342cb647d9242855b8f0d4b5a9783d8851176 /src/intervals.c | |
parent | 3f940c5aa6fc1d03e6658cda5c440fb6bd75e4c5 (diff) | |
download | emacs-032f74518a71a7fe0afd2e7d0eee11bfb7ae90d9.tar.gz |
* intervals.c (set_point_from_marker): New function.
* editfns.c (Fgoto_char):
* process.c (Finternal_default_process_filter):
* window.c (select_window_1): Use it.
* buffer.h (set_point_from_marker): Add prototype.
Diffstat (limited to 'src/intervals.c')
-rw-r--r-- | src/intervals.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/intervals.c b/src/intervals.c index f2ddcd01507..671b2a3d527 100644 --- a/src/intervals.c +++ b/src/intervals.c @@ -1821,6 +1821,18 @@ set_point (ptrdiff_t charpos) set_point_both (charpos, buf_charpos_to_bytepos (current_buffer, charpos)); } +/* Set PT from MARKER's clipped position. */ + +void +set_point_from_marker (Lisp_Object marker) +{ + if (XMARKER (marker)->buffer != current_buffer) + error ("Marker points into wrong buffer"); + set_point_both + (clip_to_bounds (BEGV, marker_position (marker), ZV), + clip_to_bounds (BEGV_BYTE, marker_byte_position (marker), ZV_BYTE)); +} + /* If there's an invisible character at position POS + TEST_OFFS in the current buffer, and the invisible property has a `stickiness' such that inserting a character at position POS would inherit the property it, |