aboutsummaryrefslogtreecommitdiffstats
path: root/src/print.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/print.c')
-rw-r--r--src/print.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/print.c b/src/print.c
index 8bb55f21248..47e338e8492 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1,6 +1,6 @@
1/* Lisp object printing and output streams. 1/* Lisp object printing and output streams.
2 Copyright (C) 1985, 86, 88, 93, 94, 95, 97, 98, 1999, 2000, 01, 03, 2004 2 Copyright (C) 1985, 1986, 1988, 1993, 1994, 1995, 1997, 1998, 1999,
3 Free Software Foundation, Inc. 3 2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
@@ -211,13 +211,17 @@ void print_interval ();
211 } \ 211 } \
212 if (MARKERP (printcharfun)) \ 212 if (MARKERP (printcharfun)) \
213 { \ 213 { \
214 if (!(XMARKER (original)->buffer)) \ 214 EMACS_INT marker_pos; \
215 if (!(XMARKER (printcharfun)->buffer)) \
215 error ("Marker does not point anywhere"); \ 216 error ("Marker does not point anywhere"); \
216 if (XMARKER (original)->buffer != current_buffer) \ 217 if (XMARKER (printcharfun)->buffer != current_buffer) \
217 set_buffer_internal (XMARKER (original)->buffer); \ 218 set_buffer_internal (XMARKER (printcharfun)->buffer); \
219 marker_pos = marker_position (printcharfun); \
220 if (marker_pos < BEGV || marker_pos > ZV) \
221 error ("Marker is outside the accessible part of the buffer"); \
218 old_point = PT; \ 222 old_point = PT; \
219 old_point_byte = PT_BYTE; \ 223 old_point_byte = PT_BYTE; \
220 SET_PT_BOTH (marker_position (printcharfun), \ 224 SET_PT_BOTH (marker_pos, \
221 marker_byte_position (printcharfun)); \ 225 marker_byte_position (printcharfun)); \
222 start_point = PT; \ 226 start_point = PT; \
223 start_point_byte = PT_BYTE; \ 227 start_point_byte = PT_BYTE; \