1 |
/* Lisp object printing and output streams. |
/* Lisp object printing and output streams. |
2 |
Copyright (C) 1985, 86, 88, 93, 94, 95, 97, 98, 1999, 2000, 01, 03, 2004 |
Copyright (C) 1985, 1986, 1988, 1993, 1994, 1995, 1997, 1998, 1999, |
3 |
Free Software Foundation, Inc. |
2000, 2001, 2003, 2004, 2005 Free Software Foundation, Inc. |
4 |
|
|
5 |
This file is part of GNU Emacs. |
This file is part of GNU Emacs. |
6 |
|
|
211 |
} \ |
} \ |
212 |
if (MARKERP (printcharfun)) \ |
if (MARKERP (printcharfun)) \ |
213 |
{ \ |
{ \ |
214 |
if (!(XMARKER (original)->buffer)) \ |
EMACS_INT marker_pos; \ |
215 |
|
if (!(XMARKER (printcharfun)->buffer)) \ |
216 |
error ("Marker does not point anywhere"); \ |
error ("Marker does not point anywhere"); \ |
217 |
if (XMARKER (original)->buffer != current_buffer) \ |
if (XMARKER (printcharfun)->buffer != current_buffer) \ |
218 |
set_buffer_internal (XMARKER (original)->buffer); \ |
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"); \ |
222 |
old_point = PT; \ |
old_point = PT; \ |
223 |
old_point_byte = PT_BYTE; \ |
old_point_byte = PT_BYTE; \ |
224 |
SET_PT_BOTH (marker_position (printcharfun), \ |
SET_PT_BOTH (marker_pos, \ |
225 |
marker_byte_position (printcharfun)); \ |
marker_byte_position (printcharfun)); \ |
226 |
start_point = PT; \ |
start_point = PT; \ |
227 |
start_point_byte = PT_BYTE; \ |
start_point_byte = PT_BYTE; \ |