comparison src/fns.c @ 1920:c66036f59678

[xemacs-hg @ 2004-02-20 07:29:16 by stephent] GCPRO documentation <87y8qynrj0.fsf@tleepslib.sk.tsukuba.ac.jp>
author stephent
date Fri, 20 Feb 2004 07:29:23 +0000
parents 21549d437f09
children 9c872f33ecbe
comparison
equal deleted inserted replaced
1919:9bde73b8c020 1920:c66036f59678
1138 DEFUN ("nthcdr", Fnthcdr, 2, 2, 0, /* 1138 DEFUN ("nthcdr", Fnthcdr, 2, 2, 0, /*
1139 Take cdr N times on LIST, and return the result. 1139 Take cdr N times on LIST, and return the result.
1140 */ 1140 */
1141 (n, list)) 1141 (n, list))
1142 { 1142 {
1143 /* This function can GC */
1143 REGISTER EMACS_INT i; 1144 REGISTER EMACS_INT i;
1144 REGISTER Lisp_Object tail = list; 1145 REGISTER Lisp_Object tail = list;
1145 CHECK_NATNUM (n); 1146 CHECK_NATNUM (n);
1146 for (i = XINT (n); i; i--) 1147 for (i = XINT (n); i; i--)
1147 { 1148 {
1162 Return the Nth element of LIST. 1163 Return the Nth element of LIST.
1163 N counts from zero. If LIST is not that long, nil is returned. 1164 N counts from zero. If LIST is not that long, nil is returned.
1164 */ 1165 */
1165 (n, list)) 1166 (n, list))
1166 { 1167 {
1168 /* This function can GC */
1167 return Fcar (Fnthcdr (n, list)); 1169 return Fcar (Fnthcdr (n, list));
1168 } 1170 }
1169 1171
1170 DEFUN ("elt", Felt, 2, 2, 0, /* 1172 DEFUN ("elt", Felt, 2, 2, 0, /*
1171 Return element of SEQUENCE at index N. 1173 Return element of SEQUENCE at index N.
1172 */ 1174 */
1173 (sequence, n)) 1175 (sequence, n))
1174 { 1176 {
1177 /* This function can GC */
1175 retry: 1178 retry:
1176 CHECK_INT_COERCE_CHAR (n); /* yuck! */ 1179 CHECK_INT_COERCE_CHAR (n); /* yuck! */
1177 if (LISTP (sequence)) 1180 if (LISTP (sequence))
1178 { 1181 {
1179 Lisp_Object tem = Fnthcdr (n, sequence); 1182 Lisp_Object tem = Fnthcdr (n, sequence);
2718 For the predefined properties for faces, see `set-face-property'. 2721 For the predefined properties for faces, see `set-face-property'.
2719 See also `get', `remprop', and `object-plist'. 2722 See also `get', `remprop', and `object-plist'.
2720 */ 2723 */
2721 (object, property, value)) 2724 (object, property, value))
2722 { 2725 {
2726 /* This function cannot GC */
2723 CHECK_LISP_WRITEABLE (object); 2727 CHECK_LISP_WRITEABLE (object);
2724 2728
2725 if (LRECORDP (object) && XRECORD_LHEADER_IMPLEMENTATION (object)->putprop) 2729 if (LRECORDP (object) && XRECORD_LHEADER_IMPLEMENTATION (object)->putprop)
2726 { 2730 {
2727 if (! XRECORD_LHEADER_IMPLEMENTATION (object)->putprop 2731 if (! XRECORD_LHEADER_IMPLEMENTATION (object)->putprop