aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog40
-rw-r--r--src/alloc.c4
-rw-r--r--src/buffer.c220
-rw-r--r--src/callint.c8
-rw-r--r--src/data.c72
-rw-r--r--src/dispnew.c10
-rw-r--r--src/emacs.c4
-rw-r--r--src/fontset.c66
-rw-r--r--src/frame.c44
-rw-r--r--src/keyboard.c298
-rw-r--r--src/minibuf.c14
-rw-r--r--src/window.c4
12 files changed, 414 insertions, 370 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a4f72ea4a44..c1eff94ee52 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,45 @@
11999-10-24 Ken Raeburn <raeburn@raeburn.org> 11999-10-24 Ken Raeburn <raeburn@raeburn.org>
2 2
3 * alloc.c: Undef HIDE_LISP_IMPLEMENTATION before including
4 lisp.h.
5
6 * buffer.c (Fbuffer_list, Fget_file_buffer, get_truename_buffer,
7 Fbuffer_local_variables, Fother_buffer, record_buffer,
8 set_buffer_internal_1, Fbury_buffer, Fkill_all_local_variables,
9 swap_out_buffer_local_variables, overlays_at, overlays_in,
10 overlay_touches_p, overlay_strings, recenter_overlay_lists,
11 fix_overlays_in_range, fix_overlays_before, Foverlay_get,
12 Foverlay_put, report_overlay_modification, evaporate_overlays):
13 Use XCAR, XCDR, and XFLOAT_DATA instead of explicit member
14 references.
15 * data.c (Fcar, Fcar_safe, Fcdr, Fcdr_safe, Fsetcar, Fsetcdr,
16 swap_in_symval_forwarding, set_internal, default_value,
17 Fset_default, Fmake_variable_buffer_local, Fmake_local_variable,
18 Fmake_variable_frame_local, Flocal_variable_p,
19 Flocal_variable_if_set_p, arithcompare, Fzerop, cons_to_long,
20 Fnumber_to_string, float_arith_driver, Fadd1, Fsub1): Likewise.
21 * dispnew.c (Fframe_or_buffer_changed_p): Likewise.
22 * emacs.c (main): Likewise.
23 * fontset.c (fs_load_font, fs_register_fontset,
24 CACHED_FONTSET_NAME, CACHED_FONTSET_REGEX, Fquery_fontset,
25 Fnew_fontset, Fset_fontset_font): Likewise.
26 * frame.c (do_switch_frame, next_frame, prev_frame,
27 other_visible_frames, Fdelete_frame, Fvisible_frame_list):
28 Likewise.
29 * keyboard.c (read_char, help_char_p, event_to_kboard,
30 kbd_buffer_get_event, timer_start_idle, timer_check,
31 make_lispy_event, apply_modifiers, reorder_modifiers,
32 Fevent_convert_list, lucid_event_type_list_p, menu_bar_items,
33 menu_bar_one_keymap, menu_item_eval_property_1, parse_menu_item,
34 tool_bar_items, read_char_x_menu_prompt, read_key_sequence,
35 Fcommand_execute, Fexecute_extended_command): Likewise.
36 * minibuf.c (read_minibuf, get_minibuffer, Ftry_completion,
37 Fall_completions): Likewise.
38 * window.c (Fset_window_margins): Likewise.
39
40 * callint.c (quotify_args): Don't explicitly use struct
41 Lisp_Cons, use Lisp_Object and XCAR/XCDR instead.
42
3 * s/netbsd.h (HAVE_GETLOADAVG): Define as 1. 43 * s/netbsd.h (HAVE_GETLOADAVG): Define as 1.
4 (UNEXEC, START_FILES, LIB_STANDARD, LIB_GCC): Define ELF versions, 44 (UNEXEC, START_FILES, LIB_STANDARD, LIB_GCC): Define ELF versions,
5 if __ELF__ is defined. 45 if __ELF__ is defined.
diff --git a/src/alloc.c b/src/alloc.c
index 0e3ad2dbf9e..be4ab45168c 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -24,6 +24,10 @@ Boston, MA 02111-1307, USA. */
24/* Note that this declares bzero on OSF/1. How dumb. */ 24/* Note that this declares bzero on OSF/1. How dumb. */
25#include <signal.h> 25#include <signal.h>
26 26
27/* This file is part of the core Lisp implementation, and thus must
28 deal with the real data structures. If the Lisp implementation is
29 replaced, this file likely will not be used. */
30#undef HIDE_LISP_IMPLEMENTATION
27#include "lisp.h" 31#include "lisp.h"
28#include "intervals.h" 32#include "intervals.h"
29#include "puresize.h" 33#include "puresize.h"
diff --git a/src/buffer.c b/src/buffer.c
index 59f4bcc4789..5b1490feba9 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -214,8 +214,8 @@ If the optional arg FRAME is a frame, we return that frame's buffer list.")
214 tail = framelist; 214 tail = framelist;
215 while (! NILP (tail)) 215 while (! NILP (tail))
216 { 216 {
217 general = Fdelq (XCONS (tail)->car, general); 217 general = Fdelq (XCAR (tail), general);
218 tail = XCONS (tail)->cdr; 218 tail = XCDR (tail);
219 } 219 }
220 return nconc2 (framelist, general); 220 return nconc2 (framelist, general);
221 } 221 }
@@ -278,9 +278,9 @@ See also `find-buffer-visiting'.")
278 if (!NILP (handler)) 278 if (!NILP (handler))
279 return call2 (handler, Qget_file_buffer, filename); 279 return call2 (handler, Qget_file_buffer, filename);
280 280
281 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) 281 for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
282 { 282 {
283 buf = Fcdr (XCONS (tail)->car); 283 buf = Fcdr (XCAR (tail));
284 if (!BUFFERP (buf)) continue; 284 if (!BUFFERP (buf)) continue;
285 if (!STRINGP (XBUFFER (buf)->filename)) continue; 285 if (!STRINGP (XBUFFER (buf)->filename)) continue;
286 tem = Fstring_equal (XBUFFER (buf)->filename, filename); 286 tem = Fstring_equal (XBUFFER (buf)->filename, filename);
@@ -296,9 +296,9 @@ get_truename_buffer (filename)
296{ 296{
297 register Lisp_Object tail, buf, tem; 297 register Lisp_Object tail, buf, tem;
298 298
299 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) 299 for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
300 { 300 {
301 buf = Fcdr (XCONS (tail)->car); 301 buf = Fcdr (XCAR (tail));
302 if (!BUFFERP (buf)) continue; 302 if (!BUFFERP (buf)) continue;
303 if (!STRINGP (XBUFFER (buf)->file_truename)) continue; 303 if (!STRINGP (XBUFFER (buf)->file_truename)) continue;
304 tem = Fstring_equal (XBUFFER (buf)->file_truename, filename); 304 tem = Fstring_equal (XBUFFER (buf)->file_truename, filename);
@@ -731,28 +731,28 @@ No argument or nil as argument means use current buffer as BUFFER.")
731 731
732 { 732 {
733 register Lisp_Object tail; 733 register Lisp_Object tail;
734 for (tail = buf->local_var_alist; CONSP (tail); tail = XCONS (tail)->cdr) 734 for (tail = buf->local_var_alist; CONSP (tail); tail = XCDR (tail))
735 { 735 {
736 Lisp_Object val, elt; 736 Lisp_Object val, elt;
737 737
738 elt = XCONS (tail)->car; 738 elt = XCAR (tail);
739 739
740 /* Reference each variable in the alist in buf. 740 /* Reference each variable in the alist in buf.
741 If inquiring about the current buffer, this gets the current values, 741 If inquiring about the current buffer, this gets the current values,
742 so store them into the alist so the alist is up to date. 742 so store them into the alist so the alist is up to date.
743 If inquiring about some other buffer, this swaps out any values 743 If inquiring about some other buffer, this swaps out any values
744 for that buffer, making the alist up to date automatically. */ 744 for that buffer, making the alist up to date automatically. */
745 val = find_symbol_value (XCONS (elt)->car); 745 val = find_symbol_value (XCAR (elt));
746 /* Use the current buffer value only if buf is the current buffer. */ 746 /* Use the current buffer value only if buf is the current buffer. */
747 if (buf != current_buffer) 747 if (buf != current_buffer)
748 val = XCONS (elt)->cdr; 748 val = XCDR (elt);
749 749
750 /* If symbol is unbound, put just the symbol in the list. */ 750 /* If symbol is unbound, put just the symbol in the list. */
751 if (EQ (val, Qunbound)) 751 if (EQ (val, Qunbound))
752 result = Fcons (XCONS (elt)->car, result); 752 result = Fcons (XCAR (elt), result);
753 /* Otherwise, put (symbol . value) in the list. */ 753 /* Otherwise, put (symbol . value) in the list. */
754 else 754 else
755 result = Fcons (Fcons (XCONS (elt)->car, val), result); 755 result = Fcons (Fcons (XCAR (elt), val), result);
756 } 756 }
757 } 757 }
758 758
@@ -928,9 +928,9 @@ If BUFFER is omitted or nil, some interesting buffer is returned.")
928 add_ons = Qnil; 928 add_ons = Qnil;
929 while (CONSP (tem)) 929 while (CONSP (tem))
930 { 930 {
931 if (BUFFERP (XCONS (tem)->car)) 931 if (BUFFERP (XCAR (tem)))
932 add_ons = Fcons (Fcons (Qnil, XCONS (tem)->car), add_ons); 932 add_ons = Fcons (Fcons (Qnil, XCAR (tem)), add_ons);
933 tem = XCONS (tem)->cdr; 933 tem = XCDR (tem);
934 } 934 }
935 tail = nconc2 (Fnreverse (add_ons), tail); 935 tail = nconc2 (Fnreverse (add_ons), tail);
936 936
@@ -1237,9 +1237,9 @@ record_buffer (buf)
1237 frame = selected_frame; 1237 frame = selected_frame;
1238 1238
1239 prev = Qnil; 1239 prev = Qnil;
1240 for (link = Vbuffer_alist; CONSP (link); link = XCONS (link)->cdr) 1240 for (link = Vbuffer_alist; CONSP (link); link = XCDR (link))
1241 { 1241 {
1242 if (EQ (XCONS (XCONS (link)->car)->cdr, buf)) 1242 if (EQ (XCDR (XCAR (link)), buf))
1243 break; 1243 break;
1244 prev = link; 1244 prev = link;
1245 } 1245 }
@@ -1248,20 +1248,20 @@ record_buffer (buf)
1248 we cannot use Fdelq itself here because it allows quitting. */ 1248 we cannot use Fdelq itself here because it allows quitting. */
1249 1249
1250 if (NILP (prev)) 1250 if (NILP (prev))
1251 Vbuffer_alist = XCONS (Vbuffer_alist)->cdr; 1251 Vbuffer_alist = XCDR (Vbuffer_alist);
1252 else 1252 else
1253 XCONS (prev)->cdr = XCONS (XCONS (prev)->cdr)->cdr; 1253 XCDR (prev) = XCDR (XCDR (prev));
1254 1254
1255 XCONS (link)->cdr = Vbuffer_alist; 1255 XCDR (link) = Vbuffer_alist;
1256 Vbuffer_alist = link; 1256 Vbuffer_alist = link;
1257 1257
1258 /* Now move this buffer to the front of frame_buffer_list also. */ 1258 /* Now move this buffer to the front of frame_buffer_list also. */
1259 1259
1260 prev = Qnil; 1260 prev = Qnil;
1261 for (link = frame_buffer_list (frame); CONSP (link); 1261 for (link = frame_buffer_list (frame); CONSP (link);
1262 link = XCONS (link)->cdr) 1262 link = XCDR (link))
1263 { 1263 {
1264 if (EQ (XCONS (link)->car, buf)) 1264 if (EQ (XCAR (link), buf))
1265 break; 1265 break;
1266 prev = link; 1266 prev = link;
1267 } 1267 }
@@ -1272,11 +1272,11 @@ record_buffer (buf)
1272 { 1272 {
1273 if (NILP (prev)) 1273 if (NILP (prev))
1274 set_frame_buffer_list (frame, 1274 set_frame_buffer_list (frame,
1275 XCONS (frame_buffer_list (frame))->cdr); 1275 XCDR (frame_buffer_list (frame)));
1276 else 1276 else
1277 XCONS (prev)->cdr = XCONS (XCONS (prev)->cdr)->cdr; 1277 XCDR (prev) = XCDR (XCDR (prev));
1278 1278
1279 XCONS (link)->cdr = frame_buffer_list (frame); 1279 XCDR (link) = frame_buffer_list (frame);
1280 set_frame_buffer_list (frame, link); 1280 set_frame_buffer_list (frame, link);
1281 } 1281 }
1282 else 1282 else
@@ -1516,31 +1516,31 @@ set_buffer_internal_1 (b)
1516 /* Look down buffer's list of local Lisp variables 1516 /* Look down buffer's list of local Lisp variables
1517 to find and update any that forward into C variables. */ 1517 to find and update any that forward into C variables. */
1518 1518
1519 for (tail = b->local_var_alist; !NILP (tail); tail = XCONS (tail)->cdr) 1519 for (tail = b->local_var_alist; !NILP (tail); tail = XCDR (tail))
1520 { 1520 {
1521 valcontents = XSYMBOL (XCONS (XCONS (tail)->car)->car)->value; 1521 valcontents = XSYMBOL (XCAR (XCAR (tail)))->value;
1522 if ((BUFFER_LOCAL_VALUEP (valcontents) 1522 if ((BUFFER_LOCAL_VALUEP (valcontents)
1523 || SOME_BUFFER_LOCAL_VALUEP (valcontents)) 1523 || SOME_BUFFER_LOCAL_VALUEP (valcontents))
1524 && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue, 1524 && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue,
1525 (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem)))) 1525 (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem))))
1526 /* Just reference the variable 1526 /* Just reference the variable
1527 to cause it to become set for this buffer. */ 1527 to cause it to become set for this buffer. */
1528 Fsymbol_value (XCONS (XCONS (tail)->car)->car); 1528 Fsymbol_value (XCAR (XCAR (tail)));
1529 } 1529 }
1530 1530
1531 /* Do the same with any others that were local to the previous buffer */ 1531 /* Do the same with any others that were local to the previous buffer */
1532 1532
1533 if (old_buf) 1533 if (old_buf)
1534 for (tail = old_buf->local_var_alist; !NILP (tail); tail = XCONS (tail)->cdr) 1534 for (tail = old_buf->local_var_alist; !NILP (tail); tail = XCDR (tail))
1535 { 1535 {
1536 valcontents = XSYMBOL (XCONS (XCONS (tail)->car)->car)->value; 1536 valcontents = XSYMBOL (XCAR (XCAR (tail)))->value;
1537 if ((BUFFER_LOCAL_VALUEP (valcontents) 1537 if ((BUFFER_LOCAL_VALUEP (valcontents)
1538 || SOME_BUFFER_LOCAL_VALUEP (valcontents)) 1538 || SOME_BUFFER_LOCAL_VALUEP (valcontents))
1539 && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue, 1539 && (tem = XBUFFER_LOCAL_VALUE (valcontents)->realvalue,
1540 (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem)))) 1540 (BOOLFWDP (tem) || INTFWDP (tem) || OBJFWDP (tem))))
1541 /* Just reference the variable 1541 /* Just reference the variable
1542 to cause it to become set for this buffer. */ 1542 to cause it to become set for this buffer. */
1543 Fsymbol_value (XCONS (XCONS (tail)->car)->car); 1543 Fsymbol_value (XCAR (XCAR (tail)));
1544 } 1544 }
1545} 1545}
1546 1546
@@ -1682,7 +1682,7 @@ selected window if it is displayed there.")
1682 aelt = Frassq (buffer, Vbuffer_alist); 1682 aelt = Frassq (buffer, Vbuffer_alist);
1683 link = Fmemq (aelt, Vbuffer_alist); 1683 link = Fmemq (aelt, Vbuffer_alist);
1684 Vbuffer_alist = Fdelq (aelt, Vbuffer_alist); 1684 Vbuffer_alist = Fdelq (aelt, Vbuffer_alist);
1685 XCONS (link)->cdr = Qnil; 1685 XCDR (link) = Qnil;
1686 Vbuffer_alist = nconc2 (Vbuffer_alist, link); 1686 Vbuffer_alist = nconc2 (Vbuffer_alist, link);
1687 } 1687 }
1688 1688
@@ -1935,14 +1935,14 @@ the normal hook `change-major-mode-hook'.")
1935 /* Any which are supposed to be permanent, 1935 /* Any which are supposed to be permanent,
1936 make local again, with the same values they had. */ 1936 make local again, with the same values they had. */
1937 1937
1938 for (alist = oalist; !NILP (alist); alist = XCONS (alist)->cdr) 1938 for (alist = oalist; !NILP (alist); alist = XCDR (alist))
1939 { 1939 {
1940 sym = XCONS (XCONS (alist)->car)->car; 1940 sym = XCAR (XCAR (alist));
1941 tem = Fget (sym, Qpermanent_local); 1941 tem = Fget (sym, Qpermanent_local);
1942 if (! NILP (tem)) 1942 if (! NILP (tem))
1943 { 1943 {
1944 Fmake_local_variable (sym); 1944 Fmake_local_variable (sym);
1945 Fset (sym, XCONS (XCONS (alist)->car)->cdr); 1945 Fset (sym, XCDR (XCAR (alist)));
1946 } 1946 }
1947 } 1947 }
1948 1948
@@ -1965,9 +1965,9 @@ swap_out_buffer_local_variables (b)
1965 XSETBUFFER (buffer, b); 1965 XSETBUFFER (buffer, b);
1966 oalist = b->local_var_alist; 1966 oalist = b->local_var_alist;
1967 1967
1968 for (alist = oalist; !NILP (alist); alist = XCONS (alist)->cdr) 1968 for (alist = oalist; !NILP (alist); alist = XCDR (alist))
1969 { 1969 {
1970 sym = XCONS (XCONS (alist)->car)->car; 1970 sym = XCAR (XCAR (alist));
1971 1971
1972 /* Need not do anything if some other buffer's binding is now encached. */ 1972 /* Need not do anything if some other buffer's binding is now encached. */
1973 tem = XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->buffer; 1973 tem = XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->buffer;
@@ -1981,16 +1981,16 @@ swap_out_buffer_local_variables (b)
1981 it is currently set up for. This is so that, if the 1981 it is currently set up for. This is so that, if the
1982 local is marked permanent, and we make it local again 1982 local is marked permanent, and we make it local again
1983 later in Fkill_all_local_variables, we don't lose the value. */ 1983 later in Fkill_all_local_variables, we don't lose the value. */
1984 XCONS (XCONS (tem)->car)->cdr 1984 XCDR (XCAR (tem))
1985 = do_symval_forwarding (XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->realvalue); 1985 = do_symval_forwarding (XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->realvalue);
1986 /* Switch to the symbol's default-value alist entry. */ 1986 /* Switch to the symbol's default-value alist entry. */
1987 XCONS (tem)->car = tem; 1987 XCAR (tem) = tem;
1988 /* Mark it as current for buffer B. */ 1988 /* Mark it as current for buffer B. */
1989 XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->buffer = buffer; 1989 XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->buffer = buffer;
1990 /* Store the current value into any forwarding in the symbol. */ 1990 /* Store the current value into any forwarding in the symbol. */
1991 store_symval_forwarding (sym, 1991 store_symval_forwarding (sym,
1992 XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->realvalue, 1992 XBUFFER_LOCAL_VALUE (XSYMBOL (sym)->value)->realvalue,
1993 XCONS (tem)->cdr); 1993 XCDR (tem));
1994 } 1994 }
1995 } 1995 }
1996} 1996}
@@ -2032,11 +2032,11 @@ overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
2032 2032
2033 for (tail = current_buffer->overlays_before; 2033 for (tail = current_buffer->overlays_before;
2034 GC_CONSP (tail); 2034 GC_CONSP (tail);
2035 tail = XCONS (tail)->cdr) 2035 tail = XCDR (tail))
2036 { 2036 {
2037 int startpos, endpos; 2037 int startpos, endpos;
2038 2038
2039 overlay = XCONS (tail)->car; 2039 overlay = XCAR (tail);
2040 2040
2041 start = OVERLAY_START (overlay); 2041 start = OVERLAY_START (overlay);
2042 end = OVERLAY_END (overlay); 2042 end = OVERLAY_END (overlay);
@@ -2085,11 +2085,11 @@ overlays_at (pos, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
2085 2085
2086 for (tail = current_buffer->overlays_after; 2086 for (tail = current_buffer->overlays_after;
2087 GC_CONSP (tail); 2087 GC_CONSP (tail);
2088 tail = XCONS (tail)->cdr) 2088 tail = XCDR (tail))
2089 { 2089 {
2090 int startpos, endpos; 2090 int startpos, endpos;
2091 2091
2092 overlay = XCONS (tail)->car; 2092 overlay = XCAR (tail);
2093 2093
2094 start = OVERLAY_START (overlay); 2094 start = OVERLAY_START (overlay);
2095 end = OVERLAY_END (overlay); 2095 end = OVERLAY_END (overlay);
@@ -2175,11 +2175,11 @@ overlays_in (beg, end, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
2175 2175
2176 for (tail = current_buffer->overlays_before; 2176 for (tail = current_buffer->overlays_before;
2177 GC_CONSP (tail); 2177 GC_CONSP (tail);
2178 tail = XCONS (tail)->cdr) 2178 tail = XCDR (tail))
2179 { 2179 {
2180 int startpos, endpos; 2180 int startpos, endpos;
2181 2181
2182 overlay = XCONS (tail)->car; 2182 overlay = XCAR (tail);
2183 2183
2184 ostart = OVERLAY_START (overlay); 2184 ostart = OVERLAY_START (overlay);
2185 oend = OVERLAY_END (overlay); 2185 oend = OVERLAY_END (overlay);
@@ -2221,11 +2221,11 @@ overlays_in (beg, end, extend, vec_ptr, len_ptr, next_ptr, prev_ptr)
2221 2221
2222 for (tail = current_buffer->overlays_after; 2222 for (tail = current_buffer->overlays_after;
2223 GC_CONSP (tail); 2223 GC_CONSP (tail);
2224 tail = XCONS (tail)->cdr) 2224 tail = XCDR (tail))
2225 { 2225 {
2226 int startpos, endpos; 2226 int startpos, endpos;
2227 2227
2228 overlay = XCONS (tail)->car; 2228 overlay = XCAR (tail);
2229 2229
2230 ostart = OVERLAY_START (overlay); 2230 ostart = OVERLAY_START (overlay);
2231 oend = OVERLAY_END (overlay); 2231 oend = OVERLAY_END (overlay);
@@ -2277,11 +2277,11 @@ overlay_touches_p (pos)
2277 Lisp_Object tail, overlay; 2277 Lisp_Object tail, overlay;
2278 2278
2279 for (tail = current_buffer->overlays_before; GC_CONSP (tail); 2279 for (tail = current_buffer->overlays_before; GC_CONSP (tail);
2280 tail = XCONS (tail)->cdr) 2280 tail = XCDR (tail))
2281 { 2281 {
2282 int endpos; 2282 int endpos;
2283 2283
2284 overlay = XCONS (tail)->car; 2284 overlay = XCAR (tail);
2285 if (!GC_OVERLAYP (overlay)) 2285 if (!GC_OVERLAYP (overlay))
2286 abort (); 2286 abort ();
2287 2287
@@ -2293,11 +2293,11 @@ overlay_touches_p (pos)
2293 } 2293 }
2294 2294
2295 for (tail = current_buffer->overlays_after; GC_CONSP (tail); 2295 for (tail = current_buffer->overlays_after; GC_CONSP (tail);
2296 tail = XCONS (tail)->cdr) 2296 tail = XCDR (tail))
2297 { 2297 {
2298 int startpos; 2298 int startpos;
2299 2299
2300 overlay = XCONS (tail)->car; 2300 overlay = XCAR (tail);
2301 if (!GC_OVERLAYP (overlay)) 2301 if (!GC_OVERLAYP (overlay))
2302 abort (); 2302 abort ();
2303 2303
@@ -2502,9 +2502,9 @@ overlay_strings (pos, w, pstr)
2502 2502
2503 overlay_heads.used = overlay_heads.bytes = 0; 2503 overlay_heads.used = overlay_heads.bytes = 0;
2504 overlay_tails.used = overlay_tails.bytes = 0; 2504 overlay_tails.used = overlay_tails.bytes = 0;
2505 for (ov = current_buffer->overlays_before; CONSP (ov); ov = XCONS (ov)->cdr) 2505 for (ov = current_buffer->overlays_before; CONSP (ov); ov = XCDR (ov))
2506 { 2506 {
2507 overlay = XCONS (ov)->car; 2507 overlay = XCAR (ov);
2508 if (!OVERLAYP (overlay)) 2508 if (!OVERLAYP (overlay))
2509 abort (); 2509 abort ();
2510 2510
@@ -2531,9 +2531,9 @@ overlay_strings (pos, w, pstr)
2531 Foverlay_get (overlay, Qpriority), 2531 Foverlay_get (overlay, Qpriority),
2532 endpos - startpos); 2532 endpos - startpos);
2533 } 2533 }
2534 for (ov = current_buffer->overlays_after; CONSP (ov); ov = XCONS (ov)->cdr) 2534 for (ov = current_buffer->overlays_after; CONSP (ov); ov = XCDR (ov))
2535 { 2535 {
2536 overlay = XCONS (ov)->car; 2536 overlay = XCAR (ov);
2537 if (!OVERLAYP (overlay)) 2537 if (!OVERLAYP (overlay))
2538 abort (); 2538 abort ();
2539 2539
@@ -2634,8 +2634,8 @@ recenter_overlay_lists (buf, pos)
2634 CONSP (tail); 2634 CONSP (tail);
2635 prev = tail, tail = next) 2635 prev = tail, tail = next)
2636 { 2636 {
2637 next = XCONS (tail)->cdr; 2637 next = XCDR (tail);
2638 overlay = XCONS (tail)->car; 2638 overlay = XCAR (tail);
2639 2639
2640 /* If the overlay is not valid, get rid of it. */ 2640 /* If the overlay is not valid, get rid of it. */
2641 if (!OVERLAY_VALID (overlay)) 2641 if (!OVERLAY_VALID (overlay))
@@ -2645,7 +2645,7 @@ recenter_overlay_lists (buf, pos)
2645 { 2645 {
2646 /* Splice the cons cell TAIL out of overlays_before. */ 2646 /* Splice the cons cell TAIL out of overlays_before. */
2647 if (!NILP (prev)) 2647 if (!NILP (prev))
2648 XCONS (prev)->cdr = next; 2648 XCDR (prev) = next;
2649 else 2649 else
2650 buf->overlays_before = next; 2650 buf->overlays_before = next;
2651 tail = prev; 2651 tail = prev;
@@ -2664,7 +2664,7 @@ recenter_overlay_lists (buf, pos)
2664 2664
2665 /* Splice the cons cell TAIL out of overlays_before. */ 2665 /* Splice the cons cell TAIL out of overlays_before. */
2666 if (!NILP (prev)) 2666 if (!NILP (prev))
2667 XCONS (prev)->cdr = next; 2667 XCDR (prev) = next;
2668 else 2668 else
2669 buf->overlays_before = next; 2669 buf->overlays_before = next;
2670 2670
@@ -2672,11 +2672,11 @@ recenter_overlay_lists (buf, pos)
2672 other_prev = Qnil; 2672 other_prev = Qnil;
2673 for (other = buf->overlays_after; 2673 for (other = buf->overlays_after;
2674 CONSP (other); 2674 CONSP (other);
2675 other_prev = other, other = XCONS (other)->cdr) 2675 other_prev = other, other = XCDR (other))
2676 { 2676 {
2677 Lisp_Object otherbeg, otheroverlay; 2677 Lisp_Object otherbeg, otheroverlay;
2678 2678
2679 otheroverlay = XCONS (other)->car; 2679 otheroverlay = XCAR (other);
2680 if (! OVERLAY_VALID (otheroverlay)) 2680 if (! OVERLAY_VALID (otheroverlay))
2681 abort (); 2681 abort ();
2682 2682
@@ -2686,9 +2686,9 @@ recenter_overlay_lists (buf, pos)
2686 } 2686 }
2687 2687
2688 /* Add TAIL to overlays_after before OTHER. */ 2688 /* Add TAIL to overlays_after before OTHER. */
2689 XCONS (tail)->cdr = other; 2689 XCDR (tail) = other;
2690 if (!NILP (other_prev)) 2690 if (!NILP (other_prev))
2691 XCONS (other_prev)->cdr = tail; 2691 XCDR (other_prev) = tail;
2692 else 2692 else
2693 buf->overlays_after = tail; 2693 buf->overlays_after = tail;
2694 tail = prev; 2694 tail = prev;
@@ -2706,8 +2706,8 @@ recenter_overlay_lists (buf, pos)
2706 CONSP (tail); 2706 CONSP (tail);
2707 prev = tail, tail = next) 2707 prev = tail, tail = next)
2708 { 2708 {
2709 next = XCONS (tail)->cdr; 2709 next = XCDR (tail);
2710 overlay = XCONS (tail)->car; 2710 overlay = XCAR (tail);
2711 2711
2712 /* If the overlay is not valid, get rid of it. */ 2712 /* If the overlay is not valid, get rid of it. */
2713 if (!OVERLAY_VALID (overlay)) 2713 if (!OVERLAY_VALID (overlay))
@@ -2717,7 +2717,7 @@ recenter_overlay_lists (buf, pos)
2717 { 2717 {
2718 /* Splice the cons cell TAIL out of overlays_after. */ 2718 /* Splice the cons cell TAIL out of overlays_after. */
2719 if (!NILP (prev)) 2719 if (!NILP (prev))
2720 XCONS (prev)->cdr = next; 2720 XCDR (prev) = next;
2721 else 2721 else
2722 buf->overlays_after = next; 2722 buf->overlays_after = next;
2723 tail = prev; 2723 tail = prev;
@@ -2741,7 +2741,7 @@ recenter_overlay_lists (buf, pos)
2741 2741
2742 /* Splice the cons cell TAIL out of overlays_after. */ 2742 /* Splice the cons cell TAIL out of overlays_after. */
2743 if (!NILP (prev)) 2743 if (!NILP (prev))
2744 XCONS (prev)->cdr = next; 2744 XCDR (prev) = next;
2745 else 2745 else
2746 buf->overlays_after = next; 2746 buf->overlays_after = next;
2747 2747
@@ -2749,11 +2749,11 @@ recenter_overlay_lists (buf, pos)
2749 other_prev = Qnil; 2749 other_prev = Qnil;
2750 for (other = buf->overlays_before; 2750 for (other = buf->overlays_before;
2751 CONSP (other); 2751 CONSP (other);
2752 other_prev = other, other = XCONS (other)->cdr) 2752 other_prev = other, other = XCDR (other))
2753 { 2753 {
2754 Lisp_Object otherend, otheroverlay; 2754 Lisp_Object otherend, otheroverlay;
2755 2755
2756 otheroverlay = XCONS (other)->car; 2756 otheroverlay = XCAR (other);
2757 if (! OVERLAY_VALID (otheroverlay)) 2757 if (! OVERLAY_VALID (otheroverlay))
2758 abort (); 2758 abort ();
2759 2759
@@ -2763,9 +2763,9 @@ recenter_overlay_lists (buf, pos)
2763 } 2763 }
2764 2764
2765 /* Add TAIL to overlays_before before OTHER. */ 2765 /* Add TAIL to overlays_before before OTHER. */
2766 XCONS (tail)->cdr = other; 2766 XCDR (tail) = other;
2767 if (!NILP (other_prev)) 2767 if (!NILP (other_prev))
2768 XCONS (other_prev)->cdr = tail; 2768 XCDR (other_prev) = tail;
2769 else 2769 else
2770 buf->overlays_before = tail; 2770 buf->overlays_before = tail;
2771 tail = prev; 2771 tail = prev;
@@ -2833,7 +2833,7 @@ fix_overlays_in_range (start, end)
2833 it may look strange. */ 2833 it may look strange. */
2834 for (ptail = &current_buffer->overlays_before; CONSP (*ptail);) 2834 for (ptail = &current_buffer->overlays_before; CONSP (*ptail);)
2835 { 2835 {
2836 overlay = XCONS (*ptail)->car; 2836 overlay = XCAR (*ptail);
2837 endpos = OVERLAY_POSITION (OVERLAY_END (overlay)); 2837 endpos = OVERLAY_POSITION (OVERLAY_END (overlay));
2838 if (endpos < start) 2838 if (endpos < start)
2839 break; 2839 break;
@@ -2856,21 +2856,21 @@ fix_overlays_in_range (start, end)
2856 if (endpos < XINT (current_buffer->overlay_center)) 2856 if (endpos < XINT (current_buffer->overlay_center))
2857 { 2857 {
2858 *pafter = *ptail; 2858 *pafter = *ptail;
2859 pafter = &XCONS (*ptail)->cdr; 2859 pafter = &XCDR (*ptail);
2860 } 2860 }
2861 else 2861 else
2862 { 2862 {
2863 *pbefore = *ptail; 2863 *pbefore = *ptail;
2864 pbefore = &XCONS (*ptail)->cdr; 2864 pbefore = &XCDR (*ptail);
2865 } 2865 }
2866 *ptail = XCONS (*ptail)->cdr; 2866 *ptail = XCDR (*ptail);
2867 } 2867 }
2868 else 2868 else
2869 ptail = &XCONS (*ptail)->cdr; 2869 ptail = &XCDR (*ptail);
2870 } 2870 }
2871 for (ptail = &current_buffer->overlays_after; CONSP (*ptail);) 2871 for (ptail = &current_buffer->overlays_after; CONSP (*ptail);)
2872 { 2872 {
2873 overlay = XCONS (*ptail)->car; 2873 overlay = XCAR (*ptail);
2874 startpos = OVERLAY_POSITION (OVERLAY_START (overlay)); 2874 startpos = OVERLAY_POSITION (OVERLAY_START (overlay));
2875 if (startpos >= end) 2875 if (startpos >= end)
2876 break; 2876 break;
@@ -2890,17 +2890,17 @@ fix_overlays_in_range (start, end)
2890 if (endpos < XINT (current_buffer->overlay_center)) 2890 if (endpos < XINT (current_buffer->overlay_center))
2891 { 2891 {
2892 *pafter = *ptail; 2892 *pafter = *ptail;
2893 pafter = &XCONS (*ptail)->cdr; 2893 pafter = &XCDR (*ptail);
2894 } 2894 }
2895 else 2895 else
2896 { 2896 {
2897 *pbefore = *ptail; 2897 *pbefore = *ptail;
2898 pbefore = &XCONS (*ptail)->cdr; 2898 pbefore = &XCDR (*ptail);
2899 } 2899 }
2900 *ptail = XCONS (*ptail)->cdr; 2900 *ptail = XCDR (*ptail);
2901 } 2901 }
2902 else 2902 else
2903 ptail = &XCONS (*ptail)->cdr; 2903 ptail = &XCDR (*ptail);
2904 } 2904 }
2905 2905
2906 /* Splice the constructed (wrong) lists into the buffer's lists, 2906 /* Splice the constructed (wrong) lists into the buffer's lists,
@@ -2949,9 +2949,9 @@ fix_overlays_before (bp, prev, pos)
2949 overlay whose ending marker is after-insertion-marker if disorder 2949 overlay whose ending marker is after-insertion-marker if disorder
2950 exists). */ 2950 exists). */
2951 while (!NILP (*tailp) 2951 while (!NILP (*tailp)
2952 && ((end = OVERLAY_POSITION (OVERLAY_END (XCONS (*tailp)->car))) 2952 && ((end = OVERLAY_POSITION (OVERLAY_END (XCAR (*tailp))))
2953 >= pos)) 2953 >= pos))
2954 tailp = &XCONS (*tailp)->cdr; 2954 tailp = &XCDR (*tailp);
2955 2955
2956 /* If we don't find such an overlay, 2956 /* If we don't find such an overlay,
2957 or the found one ends before PREV, 2957 or the found one ends before PREV,
@@ -2959,11 +2959,11 @@ fix_overlays_before (bp, prev, pos)
2959 we don't have to fix anything. */ 2959 we don't have to fix anything. */
2960 if (NILP (*tailp) 2960 if (NILP (*tailp)
2961 || end < prev 2961 || end < prev
2962 || NILP (XCONS (*tailp)->cdr)) 2962 || NILP (XCDR (*tailp)))
2963 return; 2963 return;
2964 2964
2965 right_place = tailp; 2965 right_place = tailp;
2966 tailp = &XCONS (*tailp)->cdr; 2966 tailp = &XCDR (*tailp);
2967 2967
2968 /* Now, end position of overlays in the list *TAILP should be before 2968 /* Now, end position of overlays in the list *TAILP should be before
2969 or equal to PREV. In the loop, an overlay which ends at POS is 2969 or equal to PREV. In the loop, an overlay which ends at POS is
@@ -2972,21 +2972,21 @@ fix_overlays_before (bp, prev, pos)
2972 correct order. */ 2972 correct order. */
2973 while (!NILP (*tailp)) 2973 while (!NILP (*tailp))
2974 { 2974 {
2975 end = OVERLAY_POSITION (OVERLAY_END (XCONS (*tailp)->car)); 2975 end = OVERLAY_POSITION (OVERLAY_END (XCAR (*tailp)));
2976 2976
2977 if (end == pos) 2977 if (end == pos)
2978 { /* This overlay is disordered. */ 2978 { /* This overlay is disordered. */
2979 Lisp_Object found = *tailp; 2979 Lisp_Object found = *tailp;
2980 2980
2981 /* Unlink the found overlay. */ 2981 /* Unlink the found overlay. */
2982 *tailp = XCONS (found)->cdr; 2982 *tailp = XCDR (found);
2983 /* Move an overlay at RIGHT_PLACE to the next of the found one. */ 2983 /* Move an overlay at RIGHT_PLACE to the next of the found one. */
2984 XCONS (found)->cdr = *right_place; 2984 XCDR (found) = *right_place;
2985 /* Link it into the right place. */ 2985 /* Link it into the right place. */
2986 *right_place = found; 2986 *right_place = found;
2987 } 2987 }
2988 else if (end == prev) 2988 else if (end == prev)
2989 tailp = &XCONS (*tailp)->cdr; 2989 tailp = &XCDR (*tailp);
2990 else /* No more disordered overlay. */ 2990 else /* No more disordered overlay. */
2991 break; 2991 break;
2992 } 2992 }
@@ -3457,12 +3457,12 @@ DEFUN ("overlay-get", Foverlay_get, Soverlay_get, 2, 2, 0,
3457 fallback = Qnil; 3457 fallback = Qnil;
3458 3458
3459 for (plist = XOVERLAY (overlay)->plist; 3459 for (plist = XOVERLAY (overlay)->plist;
3460 CONSP (plist) && CONSP (XCONS (plist)->cdr); 3460 CONSP (plist) && CONSP (XCDR (plist));
3461 plist = XCONS (XCONS (plist)->cdr)->cdr) 3461 plist = XCDR (XCDR (plist)))
3462 { 3462 {
3463 if (EQ (XCONS (plist)->car, prop)) 3463 if (EQ (XCAR (plist), prop))
3464 return XCONS (XCONS (plist)->cdr)->car; 3464 return XCAR (XCDR (plist));
3465 else if (EQ (XCONS (plist)->car, Qcategory)) 3465 else if (EQ (XCAR (plist), Qcategory))
3466 { 3466 {
3467 Lisp_Object tem; 3467 Lisp_Object tem;
3468 tem = Fcar (Fcdr (plist)); 3468 tem = Fcar (Fcdr (plist));
@@ -3487,12 +3487,12 @@ DEFUN ("overlay-put", Foverlay_put, Soverlay_put, 3, 3, 0,
3487 buffer = Fmarker_buffer (OVERLAY_START (overlay)); 3487 buffer = Fmarker_buffer (OVERLAY_START (overlay));
3488 3488
3489 for (tail = XOVERLAY (overlay)->plist; 3489 for (tail = XOVERLAY (overlay)->plist;
3490 CONSP (tail) && CONSP (XCONS (tail)->cdr); 3490 CONSP (tail) && CONSP (XCDR (tail));
3491 tail = XCONS (XCONS (tail)->cdr)->cdr) 3491 tail = XCDR (XCDR (tail)))
3492 if (EQ (XCONS (tail)->car, prop)) 3492 if (EQ (XCAR (tail), prop))
3493 { 3493 {
3494 changed = !EQ (XCONS (XCONS (tail)->cdr)->car, value); 3494 changed = !EQ (XCAR (XCDR (tail)), value);
3495 XCONS (XCONS (tail)->cdr)->car = value; 3495 XCAR (XCDR (tail)) = value;
3496 goto found; 3496 goto found;
3497 } 3497 }
3498 /* It wasn't in the list, so add it to the front. */ 3498 /* It wasn't in the list, so add it to the front. */
@@ -3615,12 +3615,12 @@ report_overlay_modification (start, end, after, arg1, arg2, arg3)
3615 tail_copied = 0; 3615 tail_copied = 0;
3616 for (tail = current_buffer->overlays_before; 3616 for (tail = current_buffer->overlays_before;
3617 CONSP (tail); 3617 CONSP (tail);
3618 tail = XCONS (tail)->cdr) 3618 tail = XCDR (tail))
3619 { 3619 {
3620 int startpos, endpos; 3620 int startpos, endpos;
3621 Lisp_Object ostart, oend; 3621 Lisp_Object ostart, oend;
3622 3622
3623 overlay = XCONS (tail)->car; 3623 overlay = XCAR (tail);
3624 3624
3625 ostart = OVERLAY_START (overlay); 3625 ostart = OVERLAY_START (overlay);
3626 oend = OVERLAY_END (overlay); 3626 oend = OVERLAY_END (overlay);
@@ -3671,12 +3671,12 @@ report_overlay_modification (start, end, after, arg1, arg2, arg3)
3671 tail_copied = 0; 3671 tail_copied = 0;
3672 for (tail = current_buffer->overlays_after; 3672 for (tail = current_buffer->overlays_after;
3673 CONSP (tail); 3673 CONSP (tail);
3674 tail = XCONS (tail)->cdr) 3674 tail = XCDR (tail))
3675 { 3675 {
3676 int startpos, endpos; 3676 int startpos, endpos;
3677 Lisp_Object ostart, oend; 3677 Lisp_Object ostart, oend;
3678 3678
3679 overlay = XCONS (tail)->car; 3679 overlay = XCAR (tail);
3680 3680
3681 ostart = OVERLAY_START (overlay); 3681 ostart = OVERLAY_START (overlay);
3682 oend = OVERLAY_END (overlay); 3682 oend = OVERLAY_END (overlay);
@@ -3760,10 +3760,10 @@ evaporate_overlays (pos)
3760 hit_list = Qnil; 3760 hit_list = Qnil;
3761 if (pos <= XFASTINT (current_buffer->overlay_center)) 3761 if (pos <= XFASTINT (current_buffer->overlay_center))
3762 for (tail = current_buffer->overlays_before; CONSP (tail); 3762 for (tail = current_buffer->overlays_before; CONSP (tail);
3763 tail = XCONS (tail)->cdr) 3763 tail = XCDR (tail))
3764 { 3764 {
3765 int endpos; 3765 int endpos;
3766 overlay = XCONS (tail)->car; 3766 overlay = XCAR (tail);
3767 endpos = OVERLAY_POSITION (OVERLAY_END (overlay)); 3767 endpos = OVERLAY_POSITION (OVERLAY_END (overlay));
3768 if (endpos < pos) 3768 if (endpos < pos)
3769 break; 3769 break;
@@ -3773,10 +3773,10 @@ evaporate_overlays (pos)
3773 } 3773 }
3774 else 3774 else
3775 for (tail = current_buffer->overlays_after; CONSP (tail); 3775 for (tail = current_buffer->overlays_after; CONSP (tail);
3776 tail = XCONS (tail)->cdr) 3776 tail = XCDR (tail))
3777 { 3777 {
3778 int startpos; 3778 int startpos;
3779 overlay = XCONS (tail)->car; 3779 overlay = XCAR (tail);
3780 startpos = OVERLAY_POSITION (OVERLAY_START (overlay)); 3780 startpos = OVERLAY_POSITION (OVERLAY_START (overlay));
3781 if (startpos > pos) 3781 if (startpos > pos)
3782 break; 3782 break;
@@ -3784,8 +3784,8 @@ evaporate_overlays (pos)
3784 && ! NILP (Foverlay_get (overlay, Qevaporate))) 3784 && ! NILP (Foverlay_get (overlay, Qevaporate)))
3785 hit_list = Fcons (overlay, hit_list); 3785 hit_list = Fcons (overlay, hit_list);
3786 } 3786 }
3787 for (; CONSP (hit_list); hit_list = XCONS (hit_list)->cdr) 3787 for (; CONSP (hit_list); hit_list = XCDR (hit_list))
3788 Fdelete_overlay (XCONS (hit_list)->car); 3788 Fdelete_overlay (XCAR (hit_list));
3789} 3789}
3790 3790
3791/* Somebody has tried to store a value with an unacceptable type 3791/* Somebody has tried to store a value with an unacceptable type
diff --git a/src/callint.c b/src/callint.c
index 644f9bc55c0..8efab94673b 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -148,11 +148,11 @@ quotify_args (exp)
148 Lisp_Object exp; 148 Lisp_Object exp;
149{ 149{
150 register Lisp_Object tail; 150 register Lisp_Object tail;
151 register struct Lisp_Cons *ptr; 151 Lisp_Object next;
152 for (tail = exp; CONSP (tail); tail = ptr->cdr) 152 for (tail = exp; CONSP (tail); tail = next)
153 { 153 {
154 ptr = XCONS (tail); 154 next = XCDR (tail);
155 ptr->car = quotify_arg (ptr->car); 155 XCAR (tail) = quotify_arg (XCAR (tail));
156 } 156 }
157 return exp; 157 return exp;
158} 158}
diff --git a/src/data.c b/src/data.c
index ff361c87f01..d5a739c4c61 100644
--- a/src/data.c
+++ b/src/data.c
@@ -510,7 +510,7 @@ Error if arg is not nil and not a cons cell. See also `car-safe'.")
510 while (1) 510 while (1)
511 { 511 {
512 if (CONSP (list)) 512 if (CONSP (list))
513 return XCONS (list)->car; 513 return XCAR (list);
514 else if (EQ (list, Qnil)) 514 else if (EQ (list, Qnil))
515 return Qnil; 515 return Qnil;
516 else 516 else
@@ -524,7 +524,7 @@ DEFUN ("car-safe", Fcar_safe, Scar_safe, 1, 1, 0,
524 Lisp_Object object; 524 Lisp_Object object;
525{ 525{
526 if (CONSP (object)) 526 if (CONSP (object))
527 return XCONS (object)->car; 527 return XCAR (object);
528 else 528 else
529 return Qnil; 529 return Qnil;
530} 530}
@@ -539,7 +539,7 @@ Error if arg is not nil and not a cons cell. See also `cdr-safe'.")
539 while (1) 539 while (1)
540 { 540 {
541 if (CONSP (list)) 541 if (CONSP (list))
542 return XCONS (list)->cdr; 542 return XCDR (list);
543 else if (EQ (list, Qnil)) 543 else if (EQ (list, Qnil))
544 return Qnil; 544 return Qnil;
545 else 545 else
@@ -553,7 +553,7 @@ DEFUN ("cdr-safe", Fcdr_safe, Scdr_safe, 1, 1, 0,
553 Lisp_Object object; 553 Lisp_Object object;
554{ 554{
555 if (CONSP (object)) 555 if (CONSP (object))
556 return XCONS (object)->cdr; 556 return XCDR (object);
557 else 557 else
558 return Qnil; 558 return Qnil;
559} 559}
@@ -567,7 +567,7 @@ DEFUN ("setcar", Fsetcar, Ssetcar, 2, 2, 0,
567 cell = wrong_type_argument (Qconsp, cell); 567 cell = wrong_type_argument (Qconsp, cell);
568 568
569 CHECK_IMPURE (cell); 569 CHECK_IMPURE (cell);
570 XCONS (cell)->car = newcar; 570 XCAR (cell) = newcar;
571 return newcar; 571 return newcar;
572} 572}
573 573
@@ -580,7 +580,7 @@ DEFUN ("setcdr", Fsetcdr, Ssetcdr, 2, 2, 0,
580 cell = wrong_type_argument (Qconsp, cell); 580 cell = wrong_type_argument (Qconsp, cell);
581 581
582 CHECK_IMPURE (cell); 582 CHECK_IMPURE (cell);
583 XCONS (cell)->cdr = newcdr; 583 XCDR (cell) = newcdr;
584 return newcdr; 584 return newcdr;
585} 585}
586 586
@@ -846,7 +846,7 @@ swap_in_symval_forwarding (symbol, valcontents)
846 if (NILP (tem1) || current_buffer != XBUFFER (tem1) 846 if (NILP (tem1) || current_buffer != XBUFFER (tem1)
847 || !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)) 847 || !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame))
848 { 848 {
849 tem1 = XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car; 849 tem1 = XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr);
850 Fsetcdr (tem1, 850 Fsetcdr (tem1,
851 do_symval_forwarding (XBUFFER_LOCAL_VALUE (valcontents)->realvalue)); 851 do_symval_forwarding (XBUFFER_LOCAL_VALUE (valcontents)->realvalue));
852 tem1 = assq_no_quit (symbol, current_buffer->local_var_alist); 852 tem1 = assq_no_quit (symbol, current_buffer->local_var_alist);
@@ -864,7 +864,7 @@ swap_in_symval_forwarding (symbol, valcontents)
864 else 864 else
865 XBUFFER_LOCAL_VALUE (valcontents)->found_for_buffer = 1; 865 XBUFFER_LOCAL_VALUE (valcontents)->found_for_buffer = 1;
866 866
867 XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car = tem1; 867 XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr) = tem1;
868 XSETBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer, current_buffer); 868 XSETBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer, current_buffer);
869 XBUFFER_LOCAL_VALUE (valcontents)->frame = selected_frame; 869 XBUFFER_LOCAL_VALUE (valcontents)->frame = selected_frame;
870 store_symval_forwarding (symbol, 870 store_symval_forwarding (symbol,
@@ -1006,7 +1006,7 @@ set_internal (symbol, newval, bindflag)
1006 1006
1007 /* What value are we caching right now? */ 1007 /* What value are we caching right now? */
1008 current_alist_element 1008 current_alist_element
1009 = XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car; 1009 = XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr);
1010 1010
1011 /* If the current buffer is not the buffer whose binding is 1011 /* If the current buffer is not the buffer whose binding is
1012 currently cached, or if it's a Lisp_Buffer_Local_Value and 1012 currently cached, or if it's a Lisp_Buffer_Local_Value and
@@ -1015,7 +1015,7 @@ set_internal (symbol, newval, bindflag)
1015 if (current_buffer != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer) 1015 if (current_buffer != XBUFFER (XBUFFER_LOCAL_VALUE (valcontents)->buffer)
1016 || !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame) 1016 || !EQ (selected_frame, XBUFFER_LOCAL_VALUE (valcontents)->frame)
1017 || (BUFFER_LOCAL_VALUEP (valcontents) 1017 || (BUFFER_LOCAL_VALUEP (valcontents)
1018 && EQ (XCONS (current_alist_element)->car, 1018 && EQ (XCAR (current_alist_element),
1019 current_alist_element))) 1019 current_alist_element)))
1020 { 1020 {
1021 /* Write out the cached value for the old buffer; copy it 1021 /* Write out the cached value for the old buffer; copy it
@@ -1062,7 +1062,7 @@ set_internal (symbol, newval, bindflag)
1062 } 1062 }
1063 1063
1064 /* Cache the new buffer's assoc in CURRENT-ALIST-ELEMENT. */ 1064 /* Cache the new buffer's assoc in CURRENT-ALIST-ELEMENT. */
1065 XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car 1065 XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr)
1066 = tem1; 1066 = tem1;
1067 1067
1068 /* Set BUFFER and FRAME for binding now loaded. */ 1068 /* Set BUFFER and FRAME for binding now loaded. */
@@ -1117,12 +1117,12 @@ default_value (symbol)
1117 ordinary setq stores just that slot. So use that. */ 1117 ordinary setq stores just that slot. So use that. */
1118 Lisp_Object current_alist_element, alist_element_car; 1118 Lisp_Object current_alist_element, alist_element_car;
1119 current_alist_element 1119 current_alist_element
1120 = XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car; 1120 = XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr);
1121 alist_element_car = XCONS (current_alist_element)->car; 1121 alist_element_car = XCAR (current_alist_element);
1122 if (EQ (alist_element_car, current_alist_element)) 1122 if (EQ (alist_element_car, current_alist_element))
1123 return do_symval_forwarding (XBUFFER_LOCAL_VALUE (valcontents)->realvalue); 1123 return do_symval_forwarding (XBUFFER_LOCAL_VALUE (valcontents)->realvalue);
1124 else 1124 else
1125 return XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->cdr; 1125 return XCDR (XBUFFER_LOCAL_VALUE (valcontents)->cdr);
1126 } 1126 }
1127 /* For other variables, get the current value. */ 1127 /* For other variables, get the current value. */
1128 return do_symval_forwarding (valcontents); 1128 return do_symval_forwarding (valcontents);
@@ -1197,11 +1197,11 @@ for this variable.")
1197 return Fset (symbol, value); 1197 return Fset (symbol, value);
1198 1198
1199 /* Store new value into the DEFAULT-VALUE slot */ 1199 /* Store new value into the DEFAULT-VALUE slot */
1200 XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->cdr = value; 1200 XCDR (XBUFFER_LOCAL_VALUE (valcontents)->cdr) = value;
1201 1201
1202 /* If that slot is current, we must set the REALVALUE slot too */ 1202 /* If that slot is current, we must set the REALVALUE slot too */
1203 current_alist_element 1203 current_alist_element
1204 = XCONS (XBUFFER_LOCAL_VALUE (valcontents)->cdr)->car; 1204 = XCAR (XBUFFER_LOCAL_VALUE (valcontents)->cdr);
1205 alist_element_buffer = Fcar (current_alist_element); 1205 alist_element_buffer = Fcar (current_alist_element);
1206 if (EQ (alist_element_buffer, current_alist_element)) 1206 if (EQ (alist_element_buffer, current_alist_element))
1207 store_symval_forwarding (symbol, XBUFFER_LOCAL_VALUE (valcontents)->realvalue, 1207 store_symval_forwarding (symbol, XBUFFER_LOCAL_VALUE (valcontents)->realvalue,
@@ -1280,7 +1280,7 @@ The function `default-value' gets the default value and `set-default' sets it.")
1280 if (EQ (valcontents, Qunbound)) 1280 if (EQ (valcontents, Qunbound))
1281 XSYMBOL (variable)->value = Qnil; 1281 XSYMBOL (variable)->value = Qnil;
1282 tem = Fcons (Qnil, Fsymbol_value (variable)); 1282 tem = Fcons (Qnil, Fsymbol_value (variable));
1283 XCONS (tem)->car = tem; 1283 XCAR (tem) = tem;
1284 newval = allocate_misc (); 1284 newval = allocate_misc ();
1285 XMISCTYPE (newval) = Lisp_Misc_Buffer_Local_Value; 1285 XMISCTYPE (newval) = Lisp_Misc_Buffer_Local_Value;
1286 XBUFFER_LOCAL_VALUE (newval)->realvalue = XSYMBOL (variable)->value; 1286 XBUFFER_LOCAL_VALUE (newval)->realvalue = XSYMBOL (variable)->value;
@@ -1337,7 +1337,7 @@ Use `make-local-hook' instead.")
1337 { 1337 {
1338 Lisp_Object newval; 1338 Lisp_Object newval;
1339 tem = Fcons (Qnil, do_symval_forwarding (valcontents)); 1339 tem = Fcons (Qnil, do_symval_forwarding (valcontents));
1340 XCONS (tem)->car = tem; 1340 XCAR (tem) = tem;
1341 newval = allocate_misc (); 1341 newval = allocate_misc ();
1342 XMISCTYPE (newval) = Lisp_Misc_Some_Buffer_Local_Value; 1342 XMISCTYPE (newval) = Lisp_Misc_Some_Buffer_Local_Value;
1343 XBUFFER_LOCAL_VALUE (newval)->realvalue = XSYMBOL (variable)->value; 1343 XBUFFER_LOCAL_VALUE (newval)->realvalue = XSYMBOL (variable)->value;
@@ -1359,7 +1359,7 @@ Use `make-local-hook' instead.")
1359 find_symbol_value (variable); 1359 find_symbol_value (variable);
1360 1360
1361 current_buffer->local_var_alist 1361 current_buffer->local_var_alist
1362 = Fcons (Fcons (variable, XCONS (XBUFFER_LOCAL_VALUE (XSYMBOL (variable)->value)->cdr)->cdr), 1362 = Fcons (Fcons (variable, XCDR (XBUFFER_LOCAL_VALUE (XSYMBOL (variable)->value)->cdr)),
1363 current_buffer->local_var_alist); 1363 current_buffer->local_var_alist);
1364 1364
1365 /* Make sure symbol does not think it is set up for this buffer; 1365 /* Make sure symbol does not think it is set up for this buffer;
@@ -1474,7 +1474,7 @@ See `modify-frame-parameters'.")
1474 if (EQ (valcontents, Qunbound)) 1474 if (EQ (valcontents, Qunbound))
1475 XSYMBOL (variable)->value = Qnil; 1475 XSYMBOL (variable)->value = Qnil;
1476 tem = Fcons (Qnil, Fsymbol_value (variable)); 1476 tem = Fcons (Qnil, Fsymbol_value (variable));
1477 XCONS (tem)->car = tem; 1477 XCAR (tem) = tem;
1478 newval = allocate_misc (); 1478 newval = allocate_misc ();
1479 XMISCTYPE (newval) = Lisp_Misc_Some_Buffer_Local_Value; 1479 XMISCTYPE (newval) = Lisp_Misc_Some_Buffer_Local_Value;
1480 XBUFFER_LOCAL_VALUE (newval)->realvalue = XSYMBOL (variable)->value; 1480 XBUFFER_LOCAL_VALUE (newval)->realvalue = XSYMBOL (variable)->value;
@@ -1513,10 +1513,10 @@ BUFFER defaults to the current buffer.")
1513 || SOME_BUFFER_LOCAL_VALUEP (valcontents)) 1513 || SOME_BUFFER_LOCAL_VALUEP (valcontents))
1514 { 1514 {
1515 Lisp_Object tail, elt; 1515 Lisp_Object tail, elt;
1516 for (tail = buf->local_var_alist; CONSP (tail); tail = XCONS (tail)->cdr) 1516 for (tail = buf->local_var_alist; CONSP (tail); tail = XCDR (tail))
1517 { 1517 {
1518 elt = XCONS (tail)->car; 1518 elt = XCAR (tail);
1519 if (EQ (variable, XCONS (elt)->car)) 1519 if (EQ (variable, XCAR (elt)))
1520 return Qt; 1520 return Qt;
1521 } 1521 }
1522 } 1522 }
@@ -1561,10 +1561,10 @@ BUFFER defaults to the current buffer.")
1561 if (SOME_BUFFER_LOCAL_VALUEP (valcontents)) 1561 if (SOME_BUFFER_LOCAL_VALUEP (valcontents))
1562 { 1562 {
1563 Lisp_Object tail, elt; 1563 Lisp_Object tail, elt;
1564 for (tail = buf->local_var_alist; CONSP (tail); tail = XCONS (tail)->cdr) 1564 for (tail = buf->local_var_alist; CONSP (tail); tail = XCDR (tail))
1565 { 1565 {
1566 elt = XCONS (tail)->car; 1566 elt = XCAR (tail);
1567 if (EQ (variable, XCONS (elt)->car)) 1567 if (EQ (variable, XCAR (elt)))
1568 return Qt; 1568 return Qt;
1569 } 1569 }
1570 } 1570 }
@@ -1896,8 +1896,8 @@ arithcompare (num1, num2, comparison)
1896 if (FLOATP (num1) || FLOATP (num2)) 1896 if (FLOATP (num1) || FLOATP (num2))
1897 { 1897 {
1898 floatp = 1; 1898 floatp = 1;
1899 f1 = (FLOATP (num1)) ? XFLOAT (num1)->data : XINT (num1); 1899 f1 = (FLOATP (num1)) ? XFLOAT_DATA (num1) : XINT (num1);
1900 f2 = (FLOATP (num2)) ? XFLOAT (num2)->data : XINT (num2); 1900 f2 = (FLOATP (num2)) ? XFLOAT_DATA (num2) : XINT (num2);
1901 } 1901 }
1902#else 1902#else
1903 CHECK_NUMBER_COERCE_MARKER (num1, 0); 1903 CHECK_NUMBER_COERCE_MARKER (num1, 0);
@@ -2000,7 +2000,7 @@ DEFUN ("zerop", Fzerop, Szerop, 1, 1, 0, "Return t if NUMBER is zero.")
2000 2000
2001 if (FLOATP (number)) 2001 if (FLOATP (number))
2002 { 2002 {
2003 if (XFLOAT(number)->data == 0.0) 2003 if (XFLOAT_DATA (number) == 0.0)
2004 return Qt; 2004 return Qt;
2005 return Qnil; 2005 return Qnil;
2006 } 2006 }
@@ -2035,10 +2035,10 @@ cons_to_long (c)
2035 Lisp_Object top, bot; 2035 Lisp_Object top, bot;
2036 if (INTEGERP (c)) 2036 if (INTEGERP (c))
2037 return XINT (c); 2037 return XINT (c);
2038 top = XCONS (c)->car; 2038 top = XCAR (c);
2039 bot = XCONS (c)->cdr; 2039 bot = XCDR (c);
2040 if (CONSP (bot)) 2040 if (CONSP (bot))
2041 bot = XCONS (bot)->car; 2041 bot = XCAR (bot);
2042 return ((XINT (top) << 16) | XINT (bot)); 2042 return ((XINT (top) << 16) | XINT (bot));
2043} 2043}
2044 2044
@@ -2060,7 +2060,7 @@ NUMBER may be an integer or a floating point number.")
2060 { 2060 {
2061 char pigbuf[350]; /* see comments in float_to_string */ 2061 char pigbuf[350]; /* see comments in float_to_string */
2062 2062
2063 float_to_string (pigbuf, XFLOAT(number)->data); 2063 float_to_string (pigbuf, XFLOAT_DATA (number));
2064 return build_string (pigbuf); 2064 return build_string (pigbuf);
2065 } 2065 }
2066#endif /* LISP_FLOAT_TYPE */ 2066#endif /* LISP_FLOAT_TYPE */
@@ -2249,7 +2249,7 @@ float_arith_driver (accum, argnum, code, nargs, args)
2249 2249
2250 if (FLOATP (val)) 2250 if (FLOATP (val))
2251 { 2251 {
2252 next = XFLOAT (val)->data; 2252 next = XFLOAT_DATA (val);
2253 } 2253 }
2254 else 2254 else
2255 { 2255 {
@@ -2520,7 +2520,7 @@ Markers are converted to integers.")
2520 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0); 2520 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0);
2521 2521
2522 if (FLOATP (number)) 2522 if (FLOATP (number))
2523 return (make_float (1.0 + XFLOAT (number)->data)); 2523 return (make_float (1.0 + XFLOAT_DATA (number)));
2524#else 2524#else
2525 CHECK_NUMBER_COERCE_MARKER (number, 0); 2525 CHECK_NUMBER_COERCE_MARKER (number, 0);
2526#endif /* LISP_FLOAT_TYPE */ 2526#endif /* LISP_FLOAT_TYPE */
@@ -2539,7 +2539,7 @@ Markers are converted to integers.")
2539 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0); 2539 CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (number, 0);
2540 2540
2541 if (FLOATP (number)) 2541 if (FLOATP (number))
2542 return (make_float (-1.0 + XFLOAT (number)->data)); 2542 return (make_float (-1.0 + XFLOAT_DATA (number)));
2543#else 2543#else
2544 CHECK_NUMBER_COERCE_MARKER (number, 0); 2544 CHECK_NUMBER_COERCE_MARKER (number, 0);
2545#endif /* LISP_FLOAT_TYPE */ 2545#endif /* LISP_FLOAT_TYPE */
diff --git a/src/dispnew.c b/src/dispnew.c
index a92ee9159d1..952429dc6ce 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -5693,9 +5693,9 @@ the current state.\n")
5693 No need to test for the end of the vector 5693 No need to test for the end of the vector
5694 because the last element of the vector is lambda 5694 because the last element of the vector is lambda
5695 and that will always cause a mismatch. */ 5695 and that will always cause a mismatch. */
5696 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) 5696 for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
5697 { 5697 {
5698 buf = XCONS (XCONS (tail)->car)->cdr; 5698 buf = XCDR (XCAR (tail));
5699 /* Ignore buffers that aren't included in buffer lists. */ 5699 /* Ignore buffers that aren't included in buffer lists. */
5700 if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ') 5700 if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ')
5701 continue; 5701 continue;
@@ -5714,7 +5714,7 @@ the current state.\n")
5714 n = 1; 5714 n = 1;
5715 FOR_EACH_FRAME (tail, frame) 5715 FOR_EACH_FRAME (tail, frame)
5716 n += 2; 5716 n += 2;
5717 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) 5717 for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
5718 n += 3; 5718 n += 3;
5719 /* Reallocate the vector if it's grown, or if it's shrunk a lot. */ 5719 /* Reallocate the vector if it's grown, or if it's shrunk a lot. */
5720 if (n > XVECTOR (frame_and_buffer_state)->size 5720 if (n > XVECTOR (frame_and_buffer_state)->size
@@ -5727,9 +5727,9 @@ the current state.\n")
5727 *vecp++ = frame; 5727 *vecp++ = frame;
5728 *vecp++ = XFRAME (frame)->name; 5728 *vecp++ = XFRAME (frame)->name;
5729 } 5729 }
5730 for (tail = Vbuffer_alist; CONSP (tail); tail = XCONS (tail)->cdr) 5730 for (tail = Vbuffer_alist; CONSP (tail); tail = XCDR (tail))
5731 { 5731 {
5732 buf = XCONS (XCONS (tail)->car)->cdr; 5732 buf = XCDR (XCAR (tail));
5733 /* Ignore buffers that aren't included in buffer lists. */ 5733 /* Ignore buffers that aren't included in buffer lists. */
5734 if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ') 5734 if (XSTRING (XBUFFER (buf)->name)->data[0] == ' ')
5735 continue; 5735 continue;
diff --git a/src/emacs.c b/src/emacs.c
index 97ed060bb74..7acf3f59e4d 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1077,11 +1077,11 @@ the Bugs section of the Emacs manual or the file BUGS.\n", argv[0]);
1077 } 1077 }
1078 1078
1079 for (tail = Vbuffer_alist; CONSP (tail); 1079 for (tail = Vbuffer_alist; CONSP (tail);
1080 tail = XCONS (tail)->cdr) 1080 tail = XCDR (tail))
1081 { 1081 {
1082 Lisp_Object buffer; 1082 Lisp_Object buffer;
1083 1083
1084 buffer = Fcdr (XCONS (tail)->car); 1084 buffer = Fcdr (XCAR (tail));
1085 /* Verify that all buffers are empty now, as they 1085 /* Verify that all buffers are empty now, as they
1086 ought to be. */ 1086 ought to be. */
1087 if (BUF_Z (XBUFFER (buffer)) > BUF_BEG (XBUFFER (buffer))) 1087 if (BUF_Z (XBUFFER (buffer)) > BUF_BEG (XBUFFER (buffer)))
diff --git a/src/fontset.c b/src/fontset.c
index 2a73ab2ccdc..7b602092610 100644
--- a/src/fontset.c
+++ b/src/fontset.c
@@ -218,24 +218,24 @@ fs_load_font (f, font_table, charset, fontname, fontset)
218 for (i = MIN_CHARSET_OFFICIAL_DIMENSION1; i <= MAX_CHARSET; i++) 218 for (i = MIN_CHARSET_OFFICIAL_DIMENSION1; i <= MAX_CHARSET; i++)
219 fontp->encoding[i] = 1; 219 fontp->encoding[i] = 1;
220 /* Then override them by a specification in Vfont_encoding_alist. */ 220 /* Then override them by a specification in Vfont_encoding_alist. */
221 for (list = Vfont_encoding_alist; CONSP (list); list = XCONS (list)->cdr) 221 for (list = Vfont_encoding_alist; CONSP (list); list = XCDR (list))
222 { 222 {
223 elt = XCONS (list)->car; 223 elt = XCAR (list);
224 if (CONSP (elt) 224 if (CONSP (elt)
225 && STRINGP (XCONS (elt)->car) && CONSP (XCONS (elt)->cdr) 225 && STRINGP (XCAR (elt)) && CONSP (XCDR (elt))
226 && (fast_c_string_match_ignore_case (XCONS (elt)->car, fontname) 226 && (fast_c_string_match_ignore_case (XCAR (elt), fontname)
227 >= 0)) 227 >= 0))
228 { 228 {
229 Lisp_Object tmp; 229 Lisp_Object tmp;
230 230
231 for (tmp = XCONS (elt)->cdr; CONSP (tmp); tmp = XCONS (tmp)->cdr) 231 for (tmp = XCDR (elt); CONSP (tmp); tmp = XCDR (tmp))
232 if (CONSP (XCONS (tmp)->car) 232 if (CONSP (XCAR (tmp))
233 && ((i = get_charset_id (XCONS (XCONS (tmp)->car)->car)) 233 && ((i = get_charset_id (XCAR (XCAR (tmp))))
234 >= 0) 234 >= 0)
235 && INTEGERP (XCONS (XCONS (tmp)->car)->cdr) 235 && INTEGERP (XCDR (XCAR (tmp)))
236 && XFASTINT (XCONS (XCONS (tmp)->car)->cdr) < 4) 236 && XFASTINT (XCDR (XCAR (tmp))) < 4)
237 fontp->encoding[i] 237 fontp->encoding[i]
238 = XFASTINT (XCONS (XCONS (tmp)->car)->cdr); 238 = XFASTINT (XCDR (XCAR (tmp)));
239 } 239 }
240 } 240 }
241 } 241 }
@@ -328,12 +328,12 @@ fs_register_fontset (f, fontset_info)
328 int i; 328 int i;
329 329
330 if (!CONSP (fontset_info) 330 if (!CONSP (fontset_info)
331 || !STRINGP (XCONS (fontset_info)->car) 331 || !STRINGP (XCAR (fontset_info))
332 || !CONSP (XCONS (fontset_info)->cdr)) 332 || !CONSP (XCDR (fontset_info)))
333 /* Invalid data in FONTSET_INFO. */ 333 /* Invalid data in FONTSET_INFO. */
334 return -1; 334 return -1;
335 335
336 name = XCONS (fontset_info)->car; 336 name = XCAR (fontset_info);
337 if ((fontset = fs_query_fontset (f, XSTRING (name)->data)) >= 0) 337 if ((fontset = fs_query_fontset (f, XSTRING (name)->data)) >= 0)
338 /* This fontset already exists on frame F. */ 338 /* This fontset already exists on frame F. */
339 return fontset; 339 return fontset;
@@ -351,21 +351,21 @@ fs_register_fontset (f, fontset_info)
351 fontsetp->font_indexes[i] = FONT_NOT_OPENED; 351 fontsetp->font_indexes[i] = FONT_NOT_OPENED;
352 } 352 }
353 353
354 for (fontlist = XCONS (fontset_info)->cdr; CONSP (fontlist); 354 for (fontlist = XCDR (fontset_info); CONSP (fontlist);
355 fontlist = XCONS (fontlist)->cdr) 355 fontlist = XCDR (fontlist))
356 { 356 {
357 Lisp_Object tem = Fcar (fontlist); 357 Lisp_Object tem = Fcar (fontlist);
358 int charset; 358 int charset;
359 359
360 if (CONSP (tem) 360 if (CONSP (tem)
361 && (charset = get_charset_id (XCONS (tem)->car)) >= 0 361 && (charset = get_charset_id (XCAR (tem))) >= 0
362 && STRINGP (XCONS (tem)->cdr)) 362 && STRINGP (XCDR (tem)))
363 { 363 {
364 fontsetp->fontname[charset] 364 fontsetp->fontname[charset]
365 = (char *) xmalloc (XSTRING (XCONS (tem)->cdr)->size + 1); 365 = (char *) xmalloc (XSTRING (XCDR (tem))->size + 1);
366 bcopy (XSTRING (XCONS (tem)->cdr)->data, 366 bcopy (XSTRING (XCDR (tem))->data,
367 fontsetp->fontname[charset], 367 fontsetp->fontname[charset],
368 XSTRING (XCONS (tem)->cdr)->size + 1); 368 XSTRING (XCDR (tem))->size + 1);
369 } 369 }
370 else 370 else
371 /* Broken or invalid data structure. */ 371 /* Broken or invalid data structure. */
@@ -400,8 +400,8 @@ fs_register_fontset (f, fontset_info)
400 the corresponding regular expression. */ 400 the corresponding regular expression. */
401static Lisp_Object Vcached_fontset_data; 401static Lisp_Object Vcached_fontset_data;
402 402
403#define CACHED_FONTSET_NAME (XSTRING (XCONS (Vcached_fontset_data)->car)->data) 403#define CACHED_FONTSET_NAME (XSTRING (XCAR (Vcached_fontset_data))->data)
404#define CACHED_FONTSET_REGEX (XCONS (Vcached_fontset_data)->cdr) 404#define CACHED_FONTSET_REGEX (XCDR (Vcached_fontset_data))
405 405
406/* If fontset name PATTERN contains any wild card, return regular 406/* If fontset name PATTERN contains any wild card, return regular
407 expression corresponding to PATTERN. */ 407 expression corresponding to PATTERN. */
@@ -473,9 +473,9 @@ If REGEXPP is non-nil, PATTERN is a regular expression.")
473 else 473 else
474 regexp = pattern; 474 regexp = pattern;
475 475
476 for (tem = Vglobal_fontset_alist; CONSP (tem); tem = XCONS (tem)->cdr) 476 for (tem = Vglobal_fontset_alist; CONSP (tem); tem = XCDR (tem))
477 { 477 {
478 Lisp_Object fontset_name = XCONS (XCONS (tem)->car)->car; 478 Lisp_Object fontset_name = XCAR (XCAR (tem));
479 if (!NILP (regexp)) 479 if (!NILP (regexp))
480 { 480 {
481 if (fast_c_string_match_ignore_case (regexp, 481 if (fast_c_string_match_ignore_case (regexp,
@@ -574,14 +574,14 @@ FONTLIST is an alist of charsets vs corresponding font names.")
574 XSTRING (name)->data, XSTRING (fullname)->data); 574 XSTRING (name)->data, XSTRING (fullname)->data);
575 575
576 /* Check the validity of FONTLIST. */ 576 /* Check the validity of FONTLIST. */
577 for (tail = fontlist; CONSP (tail); tail = XCONS (tail)->cdr) 577 for (tail = fontlist; CONSP (tail); tail = XCDR (tail))
578 { 578 {
579 Lisp_Object tem = XCONS (tail)->car; 579 Lisp_Object tem = XCAR (tail);
580 int charset; 580 int charset;
581 581
582 if (!CONSP (tem) 582 if (!CONSP (tem)
583 || (charset = get_charset_id (XCONS (tem)->car)) < 0 583 || (charset = get_charset_id (XCAR (tem))) < 0
584 || !STRINGP (XCONS (tem)->cdr)) 584 || !STRINGP (XCDR (tem)))
585 error ("Elements of fontlist must be a cons of charset and font name"); 585 error ("Elements of fontlist must be a cons of charset and font name");
586 } 586 }
587 587
@@ -632,14 +632,14 @@ If FRAME is omitted or nil, all frames are affected.")
632 if (NILP (frame)) 632 if (NILP (frame))
633 { 633 {
634 Lisp_Object fontset_info = Fassoc (fullname, Vglobal_fontset_alist); 634 Lisp_Object fontset_info = Fassoc (fullname, Vglobal_fontset_alist);
635 Lisp_Object tem = Fassq (charset_symbol, XCONS (fontset_info)->cdr); 635 Lisp_Object tem = Fassq (charset_symbol, XCDR (fontset_info));
636 636
637 if (NILP (tem)) 637 if (NILP (tem))
638 XCONS (fontset_info)->cdr 638 XCDR (fontset_info)
639 = Fcons (Fcons (charset_symbol, fontname), 639 = Fcons (Fcons (charset_symbol, fontname),
640 XCONS (fontset_info)->cdr); 640 XCDR (fontset_info));
641 else 641 else
642 XCONS (tem)->cdr = fontname; 642 XCDR (tem) = fontname;
643 } 643 }
644 644
645 /* Then, update information in the specified frame or all existing 645 /* Then, update information in the specified frame or all existing
@@ -671,7 +671,7 @@ If FRAME is omitted or nil, all frames are affected.")
671 if (set_frame_fontset_func 671 if (set_frame_fontset_func
672 && !NILP (font_param) 672 && !NILP (font_param)
673 && !strcmp (XSTRING (fullname)->data, 673 && !strcmp (XSTRING (fullname)->data,
674 XSTRING (XCONS (font_param)->cdr)->data)) 674 XSTRING (XCDR (font_param))->data))
675 /* This fontset is the default fontset on frame TEM. 675 /* This fontset is the default fontset on frame TEM.
676 We may have to resize this frame because of new 676 We may have to resize this frame because of new
677 ASCII font. */ 677 ASCII font. */
diff --git a/src/frame.c b/src/frame.c
index e5f80fdea16..8298a01aa17 100644
--- a/src/frame.c
+++ b/src/frame.c
@@ -631,9 +631,9 @@ do_switch_frame (frame, no_enter, track)
631 /* If FRAME is a switch-frame event, extract the frame we should 631 /* If FRAME is a switch-frame event, extract the frame we should
632 switch to. */ 632 switch to. */
633 if (CONSP (frame) 633 if (CONSP (frame)
634 && EQ (XCONS (frame)->car, Qswitch_frame) 634 && EQ (XCAR (frame), Qswitch_frame)
635 && CONSP (XCONS (frame)->cdr)) 635 && CONSP (XCDR (frame)))
636 frame = XCONS (XCONS (frame)->cdr)->car; 636 frame = XCAR (XCDR (frame));
637 637
638 /* This used to say CHECK_LIVE_FRAME, but apparently it's possible for 638 /* This used to say CHECK_LIVE_FRAME, but apparently it's possible for
639 a switch-frame event to arrive after a frame is no longer live, 639 a switch-frame event to arrive after a frame is no longer live,
@@ -659,17 +659,17 @@ do_switch_frame (frame, no_enter, track)
659 { 659 {
660 Lisp_Object tail; 660 Lisp_Object tail;
661 661
662 for (tail = Vframe_list; CONSP (tail); tail = XCONS (tail)->cdr) 662 for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail))
663 { 663 {
664 Lisp_Object focus; 664 Lisp_Object focus;
665 665
666 if (!FRAMEP (XCONS (tail)->car)) 666 if (!FRAMEP (XCAR (tail)))
667 abort (); 667 abort ();
668 668
669 focus = FRAME_FOCUS_FRAME (XFRAME (XCONS (tail)->car)); 669 focus = FRAME_FOCUS_FRAME (XFRAME (XCAR (tail)));
670 670
671 if (FRAMEP (focus) && XFRAME (focus) == SELECTED_FRAME ()) 671 if (FRAMEP (focus) && XFRAME (focus) == SELECTED_FRAME ())
672 Fredirect_frame_focus (XCONS (tail)->car, frame); 672 Fredirect_frame_focus (XCAR (tail), frame);
673 } 673 }
674 } 674 }
675#else /* ! 0 */ 675#else /* ! 0 */
@@ -893,11 +893,11 @@ next_frame (frame, minibuf)
893 CHECK_LIVE_FRAME (frame, 0); 893 CHECK_LIVE_FRAME (frame, 0);
894 894
895 while (1) 895 while (1)
896 for (tail = Vframe_list; CONSP (tail); tail = XCONS (tail)->cdr) 896 for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail))
897 { 897 {
898 Lisp_Object f; 898 Lisp_Object f;
899 899
900 f = XCONS (tail)->car; 900 f = XCAR (tail);
901 901
902 if (passed 902 if (passed
903 && FRAME_KBOARD (XFRAME (f)) == FRAME_KBOARD (XFRAME (frame))) 903 && FRAME_KBOARD (XFRAME (f)) == FRAME_KBOARD (XFRAME (frame)))
@@ -968,11 +968,11 @@ prev_frame (frame, minibuf)
968 abort (); 968 abort ();
969 969
970 prev = Qnil; 970 prev = Qnil;
971 for (tail = Vframe_list; CONSP (tail); tail = XCONS (tail)->cdr) 971 for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail))
972 { 972 {
973 Lisp_Object f; 973 Lisp_Object f;
974 974
975 f = XCONS (tail)->car; 975 f = XCAR (tail);
976 if (!FRAMEP (f)) 976 if (!FRAMEP (f))
977 abort (); 977 abort ();
978 978
@@ -1087,11 +1087,11 @@ other_visible_frames (f)
1087 1087
1088 for (frames = Vframe_list; 1088 for (frames = Vframe_list;
1089 CONSP (frames); 1089 CONSP (frames);
1090 frames = XCONS (frames)->cdr) 1090 frames = XCDR (frames))
1091 { 1091 {
1092 Lisp_Object this; 1092 Lisp_Object this;
1093 1093
1094 this = XCONS (frames)->car; 1094 this = XCAR (frames);
1095 /* Verify that the frame's window still exists 1095 /* Verify that the frame's window still exists
1096 and we can still talk to it. And note any recent change 1096 and we can still talk to it. And note any recent change
1097 in visibility. */ 1097 in visibility. */
@@ -1148,7 +1148,7 @@ but if the second optional argument FORCE is non-nil, you may do so.")
1148#if 0 1148#if 0
1149 /* This is a nice idea, but x_connection_closed needs to be able 1149 /* This is a nice idea, but x_connection_closed needs to be able
1150 to delete the last frame, if it is gone. */ 1150 to delete the last frame, if it is gone. */
1151 if (NILP (XCONS (Vframe_list)->cdr)) 1151 if (NILP (XCDR (Vframe_list)))
1152 error ("Attempt to delete the only frame"); 1152 error ("Attempt to delete the only frame");
1153#endif 1153#endif
1154 1154
@@ -1160,10 +1160,10 @@ but if the second optional argument FORCE is non-nil, you may do so.")
1160 1160
1161 for (frames = Vframe_list; 1161 for (frames = Vframe_list;
1162 CONSP (frames); 1162 CONSP (frames);
1163 frames = XCONS (frames)->cdr) 1163 frames = XCDR (frames))
1164 { 1164 {
1165 Lisp_Object this; 1165 Lisp_Object this;
1166 this = XCONS (frames)->car; 1166 this = XCAR (frames);
1167 1167
1168 if (! EQ (this, frame) 1168 if (! EQ (this, frame)
1169 && EQ (frame, 1169 && EQ (frame,
@@ -1280,9 +1280,9 @@ but if the second optional argument FORCE is non-nil, you may do so.")
1280 1280
1281 for (frames = Vframe_list; 1281 for (frames = Vframe_list;
1282 CONSP (frames); 1282 CONSP (frames);
1283 frames = XCONS (frames)->cdr) 1283 frames = XCDR (frames))
1284 { 1284 {
1285 f = XFRAME (XCONS (frames)->car); 1285 f = XFRAME (XCAR (frames));
1286 if (!FRAME_MINIBUF_ONLY_P (f)) 1286 if (!FRAME_MINIBUF_ONLY_P (f))
1287 { 1287 {
1288 last_nonminibuf_frame = f; 1288 last_nonminibuf_frame = f;
@@ -1308,12 +1308,12 @@ but if the second optional argument FORCE is non-nil, you may do so.")
1308 1308
1309 for (frames = Vframe_list; 1309 for (frames = Vframe_list;
1310 CONSP (frames); 1310 CONSP (frames);
1311 frames = XCONS (frames)->cdr) 1311 frames = XCDR (frames))
1312 { 1312 {
1313 Lisp_Object this; 1313 Lisp_Object this;
1314 struct frame *f1; 1314 struct frame *f1;
1315 1315
1316 this = XCONS (frames)->car; 1316 this = XCAR (frames);
1317 if (!FRAMEP (this)) 1317 if (!FRAMEP (this))
1318 abort (); 1318 abort ();
1319 f1 = XFRAME (this); 1319 f1 = XFRAME (this);
@@ -1662,9 +1662,9 @@ DEFUN ("visible-frame-list", Fvisible_frame_list, Svisible_frame_list,
1662 Lisp_Object value; 1662 Lisp_Object value;
1663 1663
1664 value = Qnil; 1664 value = Qnil;
1665 for (tail = Vframe_list; CONSP (tail); tail = XCONS (tail)->cdr) 1665 for (tail = Vframe_list; CONSP (tail); tail = XCDR (tail))
1666 { 1666 {
1667 frame = XCONS (tail)->car; 1667 frame = XCAR (tail);
1668 if (!FRAMEP (frame)) 1668 if (!FRAMEP (frame))
1669 continue; 1669 continue;
1670 f = XFRAME (frame); 1670 f = XFRAME (frame);
diff --git a/src/keyboard.c b/src/keyboard.c
index ab331cadcbe..eb050c05c25 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1849,16 +1849,16 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
1849 reread = 0; 1849 reread = 0;
1850 if (CONSP (Vunread_post_input_method_events)) 1850 if (CONSP (Vunread_post_input_method_events))
1851 { 1851 {
1852 c = XCONS (Vunread_post_input_method_events)->car; 1852 c = XCAR (Vunread_post_input_method_events);
1853 Vunread_post_input_method_events 1853 Vunread_post_input_method_events
1854 = XCONS (Vunread_post_input_method_events)->cdr; 1854 = XCDR (Vunread_post_input_method_events);
1855 1855
1856 /* Undo what read_char_x_menu_prompt did when it unread 1856 /* Undo what read_char_x_menu_prompt did when it unread
1857 additional keys returned by Fx_popup_menu. */ 1857 additional keys returned by Fx_popup_menu. */
1858 if (CONSP (c) 1858 if (CONSP (c)
1859 && (SYMBOLP (XCONS (c)->car) || INTEGERP (XCONS (c)->car)) 1859 && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))
1860 && NILP (XCONS (c)->cdr)) 1860 && NILP (XCDR (c)))
1861 c = XCONS (c)->car; 1861 c = XCAR (c);
1862 1862
1863 reread = 1; 1863 reread = 1;
1864 goto reread_first; 1864 goto reread_first;
@@ -1875,15 +1875,15 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
1875 1875
1876 if (CONSP (Vunread_command_events)) 1876 if (CONSP (Vunread_command_events))
1877 { 1877 {
1878 c = XCONS (Vunread_command_events)->car; 1878 c = XCAR (Vunread_command_events);
1879 Vunread_command_events = XCONS (Vunread_command_events)->cdr; 1879 Vunread_command_events = XCDR (Vunread_command_events);
1880 1880
1881 /* Undo what read_char_x_menu_prompt did when it unread 1881 /* Undo what read_char_x_menu_prompt did when it unread
1882 additional keys returned by Fx_popup_menu. */ 1882 additional keys returned by Fx_popup_menu. */
1883 if (CONSP (c) 1883 if (CONSP (c)
1884 && (SYMBOLP (XCONS (c)->car) || INTEGERP (XCONS (c)->car)) 1884 && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))
1885 && NILP (XCONS (c)->cdr)) 1885 && NILP (XCDR (c)))
1886 c = XCONS (c)->car; 1886 c = XCAR (c);
1887 1887
1888 reread = 1; 1888 reread = 1;
1889 goto reread_for_input_method; 1889 goto reread_for_input_method;
@@ -1891,15 +1891,15 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
1891 1891
1892 if (CONSP (Vunread_input_method_events)) 1892 if (CONSP (Vunread_input_method_events))
1893 { 1893 {
1894 c = XCONS (Vunread_input_method_events)->car; 1894 c = XCAR (Vunread_input_method_events);
1895 Vunread_input_method_events = XCONS (Vunread_input_method_events)->cdr; 1895 Vunread_input_method_events = XCDR (Vunread_input_method_events);
1896 1896
1897 /* Undo what read_char_x_menu_prompt did when it unread 1897 /* Undo what read_char_x_menu_prompt did when it unread
1898 additional keys returned by Fx_popup_menu. */ 1898 additional keys returned by Fx_popup_menu. */
1899 if (CONSP (c) 1899 if (CONSP (c)
1900 && (SYMBOLP (XCONS (c)->car) || INTEGERP (XCONS (c)->car)) 1900 && (SYMBOLP (XCAR (c)) || INTEGERP (XCAR (c)))
1901 && NILP (XCONS (c)->cdr)) 1901 && NILP (XCDR (c)))
1902 c = XCONS (c)->car; 1902 c = XCAR (c);
1903 reread = 1; 1903 reread = 1;
1904 goto reread_for_input_method; 1904 goto reread_for_input_method;
1905 } 1905 }
@@ -2037,7 +2037,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2037 if (single_kboard) 2037 if (single_kboard)
2038 abort (); 2038 abort ();
2039 while (CONSP (*tailp)) 2039 while (CONSP (*tailp))
2040 tailp = &XCONS (*tailp)->cdr; 2040 tailp = &XCDR (*tailp);
2041 if (!NILP (*tailp)) 2041 if (!NILP (*tailp))
2042 abort (); 2042 abort ();
2043 *tailp = Fcons (c, Qnil); 2043 *tailp = Fcons (c, Qnil);
@@ -2112,8 +2112,8 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2112 if (nmaps > 0 && INTERACTIVE 2112 if (nmaps > 0 && INTERACTIVE
2113 && !NILP (prev_event) 2113 && !NILP (prev_event)
2114 && EVENT_HAS_PARAMETERS (prev_event) 2114 && EVENT_HAS_PARAMETERS (prev_event)
2115 && !EQ (XCONS (prev_event)->car, Qmenu_bar) 2115 && !EQ (XCAR (prev_event), Qmenu_bar)
2116 && !EQ (XCONS (prev_event)->car, Qtool_bar) 2116 && !EQ (XCAR (prev_event), Qtool_bar)
2117 /* Don't bring up a menu if we already have another event. */ 2117 /* Don't bring up a menu if we already have another event. */
2118 && NILP (Vunread_command_events) 2118 && NILP (Vunread_command_events)
2119 && unread_command_char < 0) 2119 && unread_command_char < 0)
@@ -2179,8 +2179,8 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2179 or sentinel or filter. */ 2179 or sentinel or filter. */
2180 if (CONSP (Vunread_command_events)) 2180 if (CONSP (Vunread_command_events))
2181 { 2181 {
2182 c = XCONS (Vunread_command_events)->car; 2182 c = XCAR (Vunread_command_events);
2183 Vunread_command_events = XCONS (Vunread_command_events)->cdr; 2183 Vunread_command_events = XCDR (Vunread_command_events);
2184 } 2184 }
2185 2185
2186 /* Read something from current KBOARD's side queue, if possible. */ 2186 /* Read something from current KBOARD's side queue, if possible. */
@@ -2191,15 +2191,15 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2191 { 2191 {
2192 if (!CONSP (current_kboard->kbd_queue)) 2192 if (!CONSP (current_kboard->kbd_queue))
2193 abort (); 2193 abort ();
2194 c = XCONS (current_kboard->kbd_queue)->car; 2194 c = XCAR (current_kboard->kbd_queue);
2195 current_kboard->kbd_queue 2195 current_kboard->kbd_queue
2196 = XCONS (current_kboard->kbd_queue)->cdr; 2196 = XCDR (current_kboard->kbd_queue);
2197 if (NILP (current_kboard->kbd_queue)) 2197 if (NILP (current_kboard->kbd_queue))
2198 current_kboard->kbd_queue_has_data = 0; 2198 current_kboard->kbd_queue_has_data = 0;
2199 input_pending = readable_events (0); 2199 input_pending = readable_events (0);
2200 if (EVENT_HAS_PARAMETERS (c) 2200 if (EVENT_HAS_PARAMETERS (c)
2201 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qswitch_frame)) 2201 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qswitch_frame))
2202 internal_last_event_frame = XCONS (XCONS (c)->cdr)->car; 2202 internal_last_event_frame = XCAR (XCDR (c));
2203 Vlast_event_frame = internal_last_event_frame; 2203 Vlast_event_frame = internal_last_event_frame;
2204 } 2204 }
2205 } 2205 }
@@ -2251,7 +2251,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2251 { 2251 {
2252 Lisp_Object *tailp = &kb->kbd_queue; 2252 Lisp_Object *tailp = &kb->kbd_queue;
2253 while (CONSP (*tailp)) 2253 while (CONSP (*tailp))
2254 tailp = &XCONS (*tailp)->cdr; 2254 tailp = &XCDR (*tailp);
2255 if (!NILP (*tailp)) 2255 if (!NILP (*tailp))
2256 abort (); 2256 abort ();
2257 *tailp = Fcons (c, Qnil); 2257 *tailp = Fcons (c, Qnil);
@@ -2357,9 +2357,9 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2357 return just menu-bar for now. Modify the mouse click event 2357 return just menu-bar for now. Modify the mouse click event
2358 so we won't do this twice, then queue it up. */ 2358 so we won't do this twice, then queue it up. */
2359 if (EVENT_HAS_PARAMETERS (c) 2359 if (EVENT_HAS_PARAMETERS (c)
2360 && CONSP (XCONS (c)->cdr) 2360 && CONSP (XCDR (c))
2361 && CONSP (EVENT_START (c)) 2361 && CONSP (EVENT_START (c))
2362 && CONSP (XCONS (EVENT_START (c))->cdr)) 2362 && CONSP (XCDR (EVENT_START (c))))
2363 { 2363 {
2364 Lisp_Object posn; 2364 Lisp_Object posn;
2365 2365
@@ -2483,9 +2483,9 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2483 goto retry; 2483 goto retry;
2484 } 2484 }
2485 /* It returned one event or more. */ 2485 /* It returned one event or more. */
2486 c = XCONS (tem)->car; 2486 c = XCAR (tem);
2487 Vunread_post_input_method_events 2487 Vunread_post_input_method_events
2488 = nconc2 (XCONS (tem)->cdr, Vunread_post_input_method_events); 2488 = nconc2 (XCDR (tem), Vunread_post_input_method_events);
2489 } 2489 }
2490 2490
2491 reread_first: 2491 reread_first:
@@ -2612,8 +2612,8 @@ help_char_p (c)
2612 2612
2613 if (EQ (c, Vhelp_char)) 2613 if (EQ (c, Vhelp_char))
2614 return 1; 2614 return 1;
2615 for (tail = Vhelp_event_list; CONSP (tail); tail = XCONS (tail)->cdr) 2615 for (tail = Vhelp_event_list; CONSP (tail); tail = XCDR (tail))
2616 if (EQ (c, XCONS (tail)->car)) 2616 if (EQ (c, XCAR (tail)))
2617 return 1; 2617 return 1;
2618 return 0; 2618 return 0;
2619} 2619}
@@ -2805,7 +2805,7 @@ event_to_kboard (event)
2805 Lisp_Object frame; 2805 Lisp_Object frame;
2806 frame = event->frame_or_window; 2806 frame = event->frame_or_window;
2807 if (CONSP (frame)) 2807 if (CONSP (frame))
2808 frame = XCONS (frame)->car; 2808 frame = XCAR (frame);
2809 else if (WINDOWP (frame)) 2809 else if (WINDOWP (frame))
2810 frame = WINDOW_FRAME (XWINDOW (frame)); 2810 frame = WINDOW_FRAME (XWINDOW (frame));
2811 2811
@@ -3028,8 +3028,8 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
3028 if (CONSP (Vunread_command_events)) 3028 if (CONSP (Vunread_command_events))
3029 { 3029 {
3030 Lisp_Object first; 3030 Lisp_Object first;
3031 first = XCONS (Vunread_command_events)->car; 3031 first = XCAR (Vunread_command_events);
3032 Vunread_command_events = XCONS (Vunread_command_events)->cdr; 3032 Vunread_command_events = XCDR (Vunread_command_events);
3033 *kbp = current_kboard; 3033 *kbp = current_kboard;
3034 return first; 3034 return first;
3035 } 3035 }
@@ -3170,7 +3170,7 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
3170 3170
3171 frame = event->frame_or_window; 3171 frame = event->frame_or_window;
3172 if (CONSP (frame)) 3172 if (CONSP (frame))
3173 frame = XCONS (frame)->car; 3173 frame = XCAR (frame);
3174 else if (WINDOWP (frame)) 3174 else if (WINDOWP (frame))
3175 frame = WINDOW_FRAME (XWINDOW (frame)); 3175 frame = WINDOW_FRAME (XWINDOW (frame));
3176 3176
@@ -3197,8 +3197,8 @@ kbd_buffer_get_event (kbp, used_mouse_menu)
3197 that as the `event with parameters' for this selection. */ 3197 that as the `event with parameters' for this selection. */
3198 if ((event->kind == menu_bar_event 3198 if ((event->kind == menu_bar_event
3199 || event->kind == TOOL_BAR_EVENT) 3199 || event->kind == TOOL_BAR_EVENT)
3200 && !(CONSP (obj) && EQ (XCONS (obj)->car, Qmenu_bar)) 3200 && !(CONSP (obj) && EQ (XCAR (obj), Qmenu_bar))
3201 && !(CONSP (obj) && EQ (XCONS (obj)->car, Qtool_bar)) 3201 && !(CONSP (obj) && EQ (XCAR (obj), Qtool_bar))
3202 && used_mouse_menu) 3202 && used_mouse_menu)
3203 *used_mouse_menu = 1; 3203 *used_mouse_menu = 1;
3204#endif 3204#endif
@@ -3350,11 +3350,11 @@ timer_start_idle ()
3350 EMACS_GET_TIME (timer_idleness_start_time); 3350 EMACS_GET_TIME (timer_idleness_start_time);
3351 3351
3352 /* Mark all idle-time timers as once again candidates for running. */ 3352 /* Mark all idle-time timers as once again candidates for running. */
3353 for (timers = Vtimer_idle_list; CONSP (timers); timers = XCONS (timers)->cdr) 3353 for (timers = Vtimer_idle_list; CONSP (timers); timers = XCDR (timers))
3354 { 3354 {
3355 Lisp_Object timer; 3355 Lisp_Object timer;
3356 3356
3357 timer = XCONS (timers)->car; 3357 timer = XCAR (timers);
3358 3358
3359 if (!VECTORP (timer) || XVECTOR (timer)->size != 8) 3359 if (!VECTORP (timer) || XVECTOR (timer)->size != 8)
3360 continue; 3360 continue;
@@ -3426,10 +3426,10 @@ timer_check (do_it_now)
3426 /* Skip past invalid timers and timers already handled. */ 3426 /* Skip past invalid timers and timers already handled. */
3427 if (!NILP (timers)) 3427 if (!NILP (timers))
3428 { 3428 {
3429 timer = XCONS (timers)->car; 3429 timer = XCAR (timers);
3430 if (!VECTORP (timer) || XVECTOR (timer)->size != 8) 3430 if (!VECTORP (timer) || XVECTOR (timer)->size != 8)
3431 { 3431 {
3432 timers = XCONS (timers)->cdr; 3432 timers = XCDR (timers);
3433 continue; 3433 continue;
3434 } 3434 }
3435 vector = XVECTOR (timer)->contents; 3435 vector = XVECTOR (timer)->contents;
@@ -3438,16 +3438,16 @@ timer_check (do_it_now)
3438 || !INTEGERP (vector[3]) 3438 || !INTEGERP (vector[3])
3439 || ! NILP (vector[0])) 3439 || ! NILP (vector[0]))
3440 { 3440 {
3441 timers = XCONS (timers)->cdr; 3441 timers = XCDR (timers);
3442 continue; 3442 continue;
3443 } 3443 }
3444 } 3444 }
3445 if (!NILP (idle_timers)) 3445 if (!NILP (idle_timers))
3446 { 3446 {
3447 timer = XCONS (idle_timers)->car; 3447 timer = XCAR (idle_timers);
3448 if (!VECTORP (timer) || XVECTOR (timer)->size != 8) 3448 if (!VECTORP (timer) || XVECTOR (timer)->size != 8)
3449 { 3449 {
3450 idle_timers = XCONS (idle_timers)->cdr; 3450 idle_timers = XCDR (idle_timers);
3451 continue; 3451 continue;
3452 } 3452 }
3453 vector = XVECTOR (timer)->contents; 3453 vector = XVECTOR (timer)->contents;
@@ -3456,7 +3456,7 @@ timer_check (do_it_now)
3456 || !INTEGERP (vector[3]) 3456 || !INTEGERP (vector[3])
3457 || ! NILP (vector[0])) 3457 || ! NILP (vector[0]))
3458 { 3458 {
3459 idle_timers = XCONS (idle_timers)->cdr; 3459 idle_timers = XCDR (idle_timers);
3460 continue; 3460 continue;
3461 } 3461 }
3462 } 3462 }
@@ -3467,7 +3467,7 @@ timer_check (do_it_now)
3467 this timer becomes ripe (negative if it's already ripe). */ 3467 this timer becomes ripe (negative if it's already ripe). */
3468 if (!NILP (timers)) 3468 if (!NILP (timers))
3469 { 3469 {
3470 timer = XCONS (timers)->car; 3470 timer = XCAR (timers);
3471 vector = XVECTOR (timer)->contents; 3471 vector = XVECTOR (timer)->contents;
3472 EMACS_SET_SECS (timer_time, 3472 EMACS_SET_SECS (timer_time,
3473 (XINT (vector[1]) << 16) | (XINT (vector[2]))); 3473 (XINT (vector[1]) << 16) | (XINT (vector[2])));
@@ -3479,7 +3479,7 @@ timer_check (do_it_now)
3479 based on the next idle timer. */ 3479 based on the next idle timer. */
3480 if (!NILP (idle_timers)) 3480 if (!NILP (idle_timers))
3481 { 3481 {
3482 idle_timer = XCONS (idle_timers)->car; 3482 idle_timer = XCAR (idle_timers);
3483 vector = XVECTOR (idle_timer)->contents; 3483 vector = XVECTOR (idle_timer)->contents;
3484 EMACS_SET_SECS (idle_timer_time, 3484 EMACS_SET_SECS (idle_timer_time,
3485 (XINT (vector[1]) << 16) | (XINT (vector[2]))); 3485 (XINT (vector[1]) << 16) | (XINT (vector[2])));
@@ -3498,26 +3498,26 @@ timer_check (do_it_now)
3498 if (EMACS_TIME_NEG_P (temp)) 3498 if (EMACS_TIME_NEG_P (temp))
3499 { 3499 {
3500 chosen_timer = timer; 3500 chosen_timer = timer;
3501 timers = XCONS (timers)->cdr; 3501 timers = XCDR (timers);
3502 difference = timer_difference; 3502 difference = timer_difference;
3503 } 3503 }
3504 else 3504 else
3505 { 3505 {
3506 chosen_timer = idle_timer; 3506 chosen_timer = idle_timer;
3507 idle_timers = XCONS (idle_timers)->cdr; 3507 idle_timers = XCDR (idle_timers);
3508 difference = idle_timer_difference; 3508 difference = idle_timer_difference;
3509 } 3509 }
3510 } 3510 }
3511 else if (! NILP (timers)) 3511 else if (! NILP (timers))
3512 { 3512 {
3513 chosen_timer = timer; 3513 chosen_timer = timer;
3514 timers = XCONS (timers)->cdr; 3514 timers = XCDR (timers);
3515 difference = timer_difference; 3515 difference = timer_difference;
3516 } 3516 }
3517 else 3517 else
3518 { 3518 {
3519 chosen_timer = idle_timer; 3519 chosen_timer = idle_timer;
3520 idle_timers = XCONS (idle_timers)->cdr; 3520 idle_timers = XCDR (idle_timers);
3521 difference = idle_timer_difference; 3521 difference = idle_timer_difference;
3522 } 3522 }
3523 vector = XVECTOR (chosen_timer)->contents; 3523 vector = XVECTOR (chosen_timer)->contents;
@@ -4391,8 +4391,8 @@ make_lispy_event (event)
4391 Lisp_Object down; 4391 Lisp_Object down;
4392 4392
4393 down = Fnth (make_number (2), start_pos); 4393 down = Fnth (make_number (2), start_pos);
4394 if (EQ (event->x, XCONS (down)->car) 4394 if (EQ (event->x, XCAR (down))
4395 && EQ (event->y, XCONS (down)->cdr)) 4395 && EQ (event->y, XCDR (down)))
4396 { 4396 {
4397 event->modifiers |= click_modifier; 4397 event->modifiers |= click_modifier;
4398 } 4398 }
@@ -4617,8 +4617,8 @@ make_lispy_event (event)
4617 if (! CONSP (event->frame_or_window)) 4617 if (! CONSP (event->frame_or_window))
4618 abort (); 4618 abort ();
4619 4619
4620 f = XFRAME (XCONS (event->frame_or_window)->car); 4620 f = XFRAME (XCAR (event->frame_or_window));
4621 files = XCONS (event->frame_or_window)->cdr; 4621 files = XCDR (event->frame_or_window);
4622 4622
4623 /* Ignore mouse events that were made on frames that 4623 /* Ignore mouse events that were made on frames that
4624 have been deleted. */ 4624 have been deleted. */
@@ -4630,7 +4630,7 @@ make_lispy_event (event)
4630 4630
4631 if (!WINDOWP (window)) 4631 if (!WINDOWP (window))
4632 { 4632 {
4633 window = XCONS (event->frame_or_window)->car; 4633 window = XCAR (event->frame_or_window);
4634 posn = Qnil; 4634 posn = Qnil;
4635 } 4635 }
4636 else 4636 else
@@ -4685,7 +4685,7 @@ make_lispy_event (event)
4685 /* The event value is in the cdr of the frame_or_window slot. */ 4685 /* The event value is in the cdr of the frame_or_window slot. */
4686 if (!CONSP (event->frame_or_window)) 4686 if (!CONSP (event->frame_or_window))
4687 abort (); 4687 abort ();
4688 return XCONS (event->frame_or_window)->cdr; 4688 return XCDR (event->frame_or_window);
4689#endif 4689#endif
4690 4690
4691 case TOOL_BAR_EVENT: 4691 case TOOL_BAR_EVENT:
@@ -5049,7 +5049,7 @@ apply_modifiers (modifiers, base)
5049 entry = assq_no_quit (index, cache); 5049 entry = assq_no_quit (index, cache);
5050 5050
5051 if (CONSP (entry)) 5051 if (CONSP (entry))
5052 new_symbol = XCONS (entry)->cdr; 5052 new_symbol = XCDR (entry);
5053 else 5053 else
5054 { 5054 {
5055 /* We have to create the symbol ourselves. */ 5055 /* We have to create the symbol ourselves. */
@@ -5107,8 +5107,8 @@ reorder_modifiers (symbol)
5107 Lisp_Object parsed; 5107 Lisp_Object parsed;
5108 5108
5109 parsed = parse_modifiers (symbol); 5109 parsed = parse_modifiers (symbol);
5110 return apply_modifiers ((int) XINT (XCONS (XCONS (parsed)->cdr)->car), 5110 return apply_modifiers ((int) XINT (XCAR (XCDR (parsed))),
5111 XCONS (parsed)->car); 5111 XCAR (parsed));
5112} 5112}
5113 5113
5114 5114
@@ -5249,8 +5249,8 @@ has the same base event type and all the specified modifiers.")
5249 Lisp_Object elt; 5249 Lisp_Object elt;
5250 int this = 0; 5250 int this = 0;
5251 5251
5252 elt = XCONS (rest)->car; 5252 elt = XCAR (rest);
5253 rest = XCONS (rest)->cdr; 5253 rest = XCDR (rest);
5254 5254
5255 /* Given a symbol, see if it is a modifier name. */ 5255 /* Given a symbol, see if it is a modifier name. */
5256 if (SYMBOLP (elt) && CONSP (rest)) 5256 if (SYMBOLP (elt) && CONSP (rest))
@@ -5385,10 +5385,10 @@ lucid_event_type_list_p (object)
5385 if (! CONSP (object)) 5385 if (! CONSP (object))
5386 return 0; 5386 return 0;
5387 5387
5388 for (tail = object; CONSP (tail); tail = XCONS (tail)->cdr) 5388 for (tail = object; CONSP (tail); tail = XCDR (tail))
5389 { 5389 {
5390 Lisp_Object elt; 5390 Lisp_Object elt;
5391 elt = XCONS (tail)->car; 5391 elt = XCAR (tail);
5392 if (! (INTEGERP (elt) || SYMBOLP (elt))) 5392 if (! (INTEGERP (elt) || SYMBOLP (elt)))
5393 return 0; 5393 return 0;
5394 } 5394 }
@@ -5831,13 +5831,13 @@ menu_bar_items (old)
5831 5831
5832 /* Move to the end those items that should be at the end. */ 5832 /* Move to the end those items that should be at the end. */
5833 5833
5834 for (tail = Vmenu_bar_final_items; CONSP (tail); tail = XCONS (tail)->cdr) 5834 for (tail = Vmenu_bar_final_items; CONSP (tail); tail = XCDR (tail))
5835 { 5835 {
5836 int i; 5836 int i;
5837 int end = menu_bar_items_index; 5837 int end = menu_bar_items_index;
5838 5838
5839 for (i = 0; i < end; i += 4) 5839 for (i = 0; i < end; i += 4)
5840 if (EQ (XCONS (tail)->car, XVECTOR (menu_bar_items_vector)->contents[i])) 5840 if (EQ (XCAR (tail), XVECTOR (menu_bar_items_vector)->contents[i]))
5841 { 5841 {
5842 Lisp_Object tem0, tem1, tem2, tem3; 5842 Lisp_Object tem0, tem1, tem2, tem3;
5843 /* Move the item at index I to the end, 5843 /* Move the item at index I to the end,
@@ -5894,11 +5894,11 @@ menu_bar_one_keymap (keymap)
5894 menu_bar_one_keymap_changed_items = Qnil; 5894 menu_bar_one_keymap_changed_items = Qnil;
5895 5895
5896 /* Loop over all keymap entries that have menu strings. */ 5896 /* Loop over all keymap entries that have menu strings. */
5897 for (tail = keymap; CONSP (tail); tail = XCONS (tail)->cdr) 5897 for (tail = keymap; CONSP (tail); tail = XCDR (tail))
5898 { 5898 {
5899 item = XCONS (tail)->car; 5899 item = XCAR (tail);
5900 if (CONSP (item)) 5900 if (CONSP (item))
5901 menu_bar_item (XCONS (item)->car, XCONS (item)->cdr); 5901 menu_bar_item (XCAR (item), XCDR (item));
5902 else if (VECTORP (item)) 5902 else if (VECTORP (item))
5903 { 5903 {
5904 /* Loop over the char values represented in the vector. */ 5904 /* Loop over the char values represented in the vector. */
@@ -6007,7 +6007,7 @@ menu_item_eval_property_1 (arg)
6007{ 6007{
6008 /* If we got a quit from within the menu computation, 6008 /* If we got a quit from within the menu computation,
6009 quit all the way out of it. This takes care of C-] in the debugger. */ 6009 quit all the way out of it. This takes care of C-] in the debugger. */
6010 if (CONSP (arg) && EQ (XCONS (arg)->car, Qquit)) 6010 if (CONSP (arg) && EQ (XCAR (arg), Qquit))
6011 Fsignal (Qquit, Qnil); 6011 Fsignal (Qquit, Qnil);
6012 6012
6013 return Qnil; 6013 return Qnil;
@@ -6070,31 +6070,31 @@ parse_menu_item (item, notreal, inmenubar)
6070 /* Save the item here to protect it from GC. */ 6070 /* Save the item here to protect it from GC. */
6071 XVECTOR (item_properties)->contents[ITEM_PROPERTY_ITEM] = item; 6071 XVECTOR (item_properties)->contents[ITEM_PROPERTY_ITEM] = item;
6072 6072
6073 item_string = XCONS (item)->car; 6073 item_string = XCAR (item);
6074 6074
6075 start = item; 6075 start = item;
6076 item = XCONS (item)->cdr; 6076 item = XCDR (item);
6077 if (STRINGP (item_string)) 6077 if (STRINGP (item_string))
6078 { 6078 {
6079 /* Old format menu item. */ 6079 /* Old format menu item. */
6080 XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME] = item_string; 6080 XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME] = item_string;
6081 6081
6082 /* Maybe help string. */ 6082 /* Maybe help string. */
6083 if (CONSP (item) && STRINGP (XCONS (item)->car)) 6083 if (CONSP (item) && STRINGP (XCAR (item)))
6084 { 6084 {
6085 XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP] 6085 XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP]
6086 = XCONS (item)->car; 6086 = XCAR (item);
6087 start = item; 6087 start = item;
6088 item = XCONS (item)->cdr; 6088 item = XCDR (item);
6089 } 6089 }
6090 6090
6091 /* Maybee key binding cache. */ 6091 /* Maybee key binding cache. */
6092 if (CONSP (item) && CONSP (XCONS (item)->car) 6092 if (CONSP (item) && CONSP (XCAR (item))
6093 && (NILP (XCONS (XCONS (item)->car)->car) 6093 && (NILP (XCAR (XCAR (item)))
6094 || VECTORP (XCONS (XCONS (item)->car)->car))) 6094 || VECTORP (XCAR (XCAR (item)))))
6095 { 6095 {
6096 cachelist = XCONS (item)->car; 6096 cachelist = XCAR (item);
6097 item = XCONS (item)->cdr; 6097 item = XCDR (item);
6098 } 6098 }
6099 6099
6100 /* This is the real definition--the function to run. */ 6100 /* This is the real definition--the function to run. */
@@ -6112,47 +6112,47 @@ parse_menu_item (item, notreal, inmenubar)
6112 { 6112 {
6113 /* New format menu item. */ 6113 /* New format menu item. */
6114 XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME] 6114 XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME]
6115 = XCONS (item)->car; 6115 = XCAR (item);
6116 start = XCONS (item)->cdr; 6116 start = XCDR (item);
6117 if (CONSP (start)) 6117 if (CONSP (start))
6118 { 6118 {
6119 /* We have a real binding. */ 6119 /* We have a real binding. */
6120 XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF] 6120 XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF]
6121 = XCONS (start)->car; 6121 = XCAR (start);
6122 6122
6123 item = XCONS (start)->cdr; 6123 item = XCDR (start);
6124 /* Is there a cache list with key equivalences. */ 6124 /* Is there a cache list with key equivalences. */
6125 if (CONSP (item) && CONSP (XCONS (item)->car)) 6125 if (CONSP (item) && CONSP (XCAR (item)))
6126 { 6126 {
6127 cachelist = XCONS (item)->car; 6127 cachelist = XCAR (item);
6128 item = XCONS (item)->cdr; 6128 item = XCDR (item);
6129 } 6129 }
6130 6130
6131 /* Parse properties. */ 6131 /* Parse properties. */
6132 while (CONSP (item) && CONSP (XCONS (item)->cdr)) 6132 while (CONSP (item) && CONSP (XCDR (item)))
6133 { 6133 {
6134 tem = XCONS (item)->car; 6134 tem = XCAR (item);
6135 item = XCONS (item)->cdr; 6135 item = XCDR (item);
6136 6136
6137 if (EQ (tem, QCenable)) 6137 if (EQ (tem, QCenable))
6138 XVECTOR (item_properties)->contents[ITEM_PROPERTY_ENABLE] 6138 XVECTOR (item_properties)->contents[ITEM_PROPERTY_ENABLE]
6139 = XCONS (item)->car; 6139 = XCAR (item);
6140 else if (EQ (tem, QCvisible) && !notreal) 6140 else if (EQ (tem, QCvisible) && !notreal)
6141 { 6141 {
6142 /* If got a visible property and that evaluates to nil 6142 /* If got a visible property and that evaluates to nil
6143 then ignore this item. */ 6143 then ignore this item. */
6144 tem = menu_item_eval_property (XCONS (item)->car); 6144 tem = menu_item_eval_property (XCAR (item));
6145 if (NILP (tem)) 6145 if (NILP (tem))
6146 return 0; 6146 return 0;
6147 } 6147 }
6148 else if (EQ (tem, QChelp)) 6148 else if (EQ (tem, QChelp))
6149 XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP] 6149 XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP]
6150 = XCONS (item)->car; 6150 = XCAR (item);
6151 else if (EQ (tem, QCfilter)) 6151 else if (EQ (tem, QCfilter))
6152 filter = item; 6152 filter = item;
6153 else if (EQ (tem, QCkey_sequence)) 6153 else if (EQ (tem, QCkey_sequence))
6154 { 6154 {
6155 tem = XCONS (item)->car; 6155 tem = XCAR (item);
6156 if (NILP (cachelist) 6156 if (NILP (cachelist)
6157 && (SYMBOLP (tem) || STRINGP (tem) || VECTORP (tem))) 6157 && (SYMBOLP (tem) || STRINGP (tem) || VECTORP (tem)))
6158 /* Be GC protected. Set keyhint to item instead of tem. */ 6158 /* Be GC protected. Set keyhint to item instead of tem. */
@@ -6160,25 +6160,25 @@ parse_menu_item (item, notreal, inmenubar)
6160 } 6160 }
6161 else if (EQ (tem, QCkeys)) 6161 else if (EQ (tem, QCkeys))
6162 { 6162 {
6163 tem = XCONS (item)->car; 6163 tem = XCAR (item);
6164 if (CONSP (tem) || (STRINGP (tem) && NILP (cachelist))) 6164 if (CONSP (tem) || (STRINGP (tem) && NILP (cachelist)))
6165 XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ] 6165 XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ]
6166 = tem; 6166 = tem;
6167 } 6167 }
6168 else if (EQ (tem, QCbutton) && CONSP (XCONS (item)->car)) 6168 else if (EQ (tem, QCbutton) && CONSP (XCAR (item)))
6169 { 6169 {
6170 Lisp_Object type; 6170 Lisp_Object type;
6171 tem = XCONS (item)->car; 6171 tem = XCAR (item);
6172 type = XCONS (tem)->car; 6172 type = XCAR (tem);
6173 if (EQ (type, QCtoggle) || EQ (type, QCradio)) 6173 if (EQ (type, QCtoggle) || EQ (type, QCradio))
6174 { 6174 {
6175 XVECTOR (item_properties)->contents[ITEM_PROPERTY_SELECTED] 6175 XVECTOR (item_properties)->contents[ITEM_PROPERTY_SELECTED]
6176 = XCONS (tem)->cdr; 6176 = XCDR (tem);
6177 XVECTOR (item_properties)->contents[ITEM_PROPERTY_TYPE] 6177 XVECTOR (item_properties)->contents[ITEM_PROPERTY_TYPE]
6178 = type; 6178 = type;
6179 } 6179 }
6180 } 6180 }
6181 item = XCONS (item)->cdr; 6181 item = XCDR (item);
6182 } 6182 }
6183 } 6183 }
6184 else if (inmenubar || !NILP (start)) 6184 else if (inmenubar || !NILP (start))
@@ -6202,7 +6202,7 @@ parse_menu_item (item, notreal, inmenubar)
6202 def = XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF]; 6202 def = XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF];
6203 if (!NILP (filter)) 6203 if (!NILP (filter))
6204 { 6204 {
6205 def = menu_item_eval_property (list2 (XCONS (filter)->car, 6205 def = menu_item_eval_property (list2 (XCAR (filter),
6206 list2 (Qquote, def))); 6206 list2 (Qquote, def)));
6207 6207
6208 XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF] = def; 6208 XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF] = def;
@@ -6247,22 +6247,22 @@ parse_menu_item (item, notreal, inmenubar)
6247 { 6247 {
6248 /* We have to create a cachelist. */ 6248 /* We have to create a cachelist. */
6249 CHECK_IMPURE (start); 6249 CHECK_IMPURE (start);
6250 XCONS (start)->cdr = Fcons (Fcons (Qnil, Qnil), XCONS (start)->cdr); 6250 XCDR (start) = Fcons (Fcons (Qnil, Qnil), XCDR (start));
6251 cachelist = XCONS (XCONS (start)->cdr)->car; 6251 cachelist = XCAR (XCDR (start));
6252 newcache = 1; 6252 newcache = 1;
6253 tem = XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ]; 6253 tem = XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ];
6254 if (!NILP (keyhint)) 6254 if (!NILP (keyhint))
6255 { 6255 {
6256 XCONS (cachelist)->car = XCONS (keyhint)->car; 6256 XCAR (cachelist) = XCAR (keyhint);
6257 newcache = 0; 6257 newcache = 0;
6258 } 6258 }
6259 else if (STRINGP (tem)) 6259 else if (STRINGP (tem))
6260 { 6260 {
6261 XCONS (cachelist)->cdr = Fsubstitute_command_keys (tem); 6261 XCDR (cachelist) = Fsubstitute_command_keys (tem);
6262 XCONS (cachelist)->car = Qt; 6262 XCAR (cachelist) = Qt;
6263 } 6263 }
6264 } 6264 }
6265 tem = XCONS (cachelist)->car; 6265 tem = XCAR (cachelist);
6266 if (!EQ (tem, Qt)) 6266 if (!EQ (tem, Qt))
6267 { 6267 {
6268 int chkcache = 0; 6268 int chkcache = 0;
@@ -6274,13 +6274,13 @@ parse_menu_item (item, notreal, inmenubar)
6274 prefix = XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ]; 6274 prefix = XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ];
6275 if (CONSP (prefix)) 6275 if (CONSP (prefix))
6276 { 6276 {
6277 def = XCONS (prefix)->car; 6277 def = XCAR (prefix);
6278 prefix = XCONS (prefix)->cdr; 6278 prefix = XCDR (prefix);
6279 } 6279 }
6280 else 6280 else
6281 def = XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF]; 6281 def = XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF];
6282 6282
6283 if (NILP (XCONS (cachelist)->car)) /* Have no saved key. */ 6283 if (NILP (XCAR (cachelist))) /* Have no saved key. */
6284 { 6284 {
6285 if (newcache /* Always check first time. */ 6285 if (newcache /* Always check first time. */
6286 /* Should we check everything when precomputing key 6286 /* Should we check everything when precomputing key
@@ -6314,16 +6314,16 @@ parse_menu_item (item, notreal, inmenubar)
6314 && ! NILP (Fget (def, Qmenu_alias))) 6314 && ! NILP (Fget (def, Qmenu_alias)))
6315 def = XSYMBOL (def)->function; 6315 def = XSYMBOL (def)->function;
6316 tem = Fwhere_is_internal (def, Qnil, Qt, Qnil); 6316 tem = Fwhere_is_internal (def, Qnil, Qt, Qnil);
6317 XCONS (cachelist)->car = tem; 6317 XCAR (cachelist) = tem;
6318 if (NILP (tem)) 6318 if (NILP (tem))
6319 { 6319 {
6320 XCONS (cachelist)->cdr = Qnil; 6320 XCDR (cachelist) = Qnil;
6321 chkcache = 0; 6321 chkcache = 0;
6322 } 6322 }
6323 } 6323 }
6324 else if (!NILP (keyhint) && !NILP (XCONS (cachelist)->car)) 6324 else if (!NILP (keyhint) && !NILP (XCAR (cachelist)))
6325 { 6325 {
6326 tem = XCONS (cachelist)->car; 6326 tem = XCAR (cachelist);
6327 chkcache = 1; 6327 chkcache = 1;
6328 } 6328 }
6329 6329
@@ -6333,20 +6333,20 @@ parse_menu_item (item, notreal, inmenubar)
6333 tem = Fkey_description (tem); 6333 tem = Fkey_description (tem);
6334 if (CONSP (prefix)) 6334 if (CONSP (prefix))
6335 { 6335 {
6336 if (STRINGP (XCONS (prefix)->car)) 6336 if (STRINGP (XCAR (prefix)))
6337 tem = concat2 (XCONS (prefix)->car, tem); 6337 tem = concat2 (XCAR (prefix), tem);
6338 if (STRINGP (XCONS (prefix)->cdr)) 6338 if (STRINGP (XCDR (prefix)))
6339 tem = concat2 (tem, XCONS (prefix)->cdr); 6339 tem = concat2 (tem, XCDR (prefix));
6340 } 6340 }
6341 XCONS (cachelist)->cdr = tem; 6341 XCDR (cachelist) = tem;
6342 } 6342 }
6343 } 6343 }
6344 6344
6345 tem = XCONS (cachelist)->cdr; 6345 tem = XCDR (cachelist);
6346 if (newcache && !NILP (tem)) 6346 if (newcache && !NILP (tem))
6347 { 6347 {
6348 tem = concat3 (build_string (" ("), tem, build_string (")")); 6348 tem = concat3 (build_string (" ("), tem, build_string (")"));
6349 XCONS (cachelist)->cdr = tem; 6349 XCDR (cachelist) = tem;
6350 } 6350 }
6351 6351
6352 /* If we only want to precompute equivalent key bindings, stop here. */ 6352 /* If we only want to precompute equivalent key bindings, stop here. */
@@ -6483,7 +6483,7 @@ tool_bar_items (reuse, nitems)
6483 Lisp_Object tail; 6483 Lisp_Object tail;
6484 6484
6485 /* KEYMAP is a list `(keymap (KEY . BINDING) ...)'. */ 6485 /* KEYMAP is a list `(keymap (KEY . BINDING) ...)'. */
6486 for (tail = keymap; CONSP (tail); tail = XCONS (tail)->cdr) 6486 for (tail = keymap; CONSP (tail); tail = XCDR (tail))
6487 { 6487 {
6488 Lisp_Object keydef = XCAR (tail); 6488 Lisp_Object keydef = XCAR (tail);
6489 if (CONSP (keydef)) 6489 if (CONSP (keydef))
@@ -6823,8 +6823,8 @@ read_char_x_menu_prompt (nmaps, maps, prev_event, used_mouse_menu)
6823 /* If we got to this point via a mouse click, 6823 /* If we got to this point via a mouse click,
6824 use a real menu for mouse selection. */ 6824 use a real menu for mouse selection. */
6825 if (EVENT_HAS_PARAMETERS (prev_event) 6825 if (EVENT_HAS_PARAMETERS (prev_event)
6826 && !EQ (XCONS (prev_event)->car, Qmenu_bar) 6826 && !EQ (XCAR (prev_event), Qmenu_bar)
6827 && !EQ (XCONS (prev_event)->car, Qtool_bar)) 6827 && !EQ (XCAR (prev_event), Qtool_bar))
6828 { 6828 {
6829 /* Display the menu and get the selection. */ 6829 /* Display the menu and get the selection. */
6830 Lisp_Object *realmaps 6830 Lisp_Object *realmaps
@@ -6842,7 +6842,7 @@ read_char_x_menu_prompt (nmaps, maps, prev_event, used_mouse_menu)
6842 { 6842 {
6843 Lisp_Object tem; 6843 Lisp_Object tem;
6844 6844
6845 record_menu_key (XCONS (value)->car); 6845 record_menu_key (XCAR (value));
6846 6846
6847 /* If we got multiple events, unread all but 6847 /* If we got multiple events, unread all but
6848 the first. 6848 the first.
@@ -6852,22 +6852,22 @@ read_char_x_menu_prompt (nmaps, maps, prev_event, used_mouse_menu)
6852 to indicate that they came from a mouse menu, 6852 to indicate that they came from a mouse menu,
6853 so that when present in last_nonmenu_event 6853 so that when present in last_nonmenu_event
6854 they won't confuse things. */ 6854 they won't confuse things. */
6855 for (tem = XCONS (value)->cdr; !NILP (tem); 6855 for (tem = XCDR (value); !NILP (tem);
6856 tem = XCONS (tem)->cdr) 6856 tem = XCDR (tem))
6857 { 6857 {
6858 record_menu_key (XCONS (tem)->car); 6858 record_menu_key (XCAR (tem));
6859 if (SYMBOLP (XCONS (tem)->car) 6859 if (SYMBOLP (XCAR (tem))
6860 || INTEGERP (XCONS (tem)->car)) 6860 || INTEGERP (XCAR (tem)))
6861 XCONS (tem)->car 6861 XCAR (tem)
6862 = Fcons (XCONS (tem)->car, Qnil); 6862 = Fcons (XCAR (tem), Qnil);
6863 } 6863 }
6864 6864
6865 /* If we got more than one event, put all but the first 6865 /* If we got more than one event, put all but the first
6866 onto this list to be read later. 6866 onto this list to be read later.
6867 Return just the first event now. */ 6867 Return just the first event now. */
6868 Vunread_command_events 6868 Vunread_command_events
6869 = nconc2 (XCONS (value)->cdr, Vunread_command_events); 6869 = nconc2 (XCDR (value), Vunread_command_events);
6870 value = XCONS (value)->car; 6870 value = XCAR (value);
6871 } 6871 }
6872 else if (NILP (value)) 6872 else if (NILP (value))
6873 value = Qt; 6873 value = Qt;
@@ -7550,7 +7550,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7550 /* If the side queue is non-empty, ensure it begins with a 7550 /* If the side queue is non-empty, ensure it begins with a
7551 switch-frame, so we'll replay it in the right context. */ 7551 switch-frame, so we'll replay it in the right context. */
7552 if (CONSP (interrupted_kboard->kbd_queue) 7552 if (CONSP (interrupted_kboard->kbd_queue)
7553 && (key = XCONS (interrupted_kboard->kbd_queue)->car, 7553 && (key = XCAR (interrupted_kboard->kbd_queue),
7554 !(EVENT_HAS_PARAMETERS (key) 7554 !(EVENT_HAS_PARAMETERS (key)
7555 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (key)), 7555 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (key)),
7556 Qswitch_frame)))) 7556 Qswitch_frame))))
@@ -7714,7 +7714,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7714 /* For a mouse click, get the local text-property keymap 7714 /* For a mouse click, get the local text-property keymap
7715 of the place clicked on, rather than point. */ 7715 of the place clicked on, rather than point. */
7716 if (last_real_key_start == 0 7716 if (last_real_key_start == 0
7717 && CONSP (XCONS (key)->cdr) 7717 && CONSP (XCDR (key))
7718 && ! localized_local_map) 7718 && ! localized_local_map)
7719 { 7719 {
7720 Lisp_Object map_here, start, pos; 7720 Lisp_Object map_here, start, pos;
@@ -7722,7 +7722,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7722 localized_local_map = 1; 7722 localized_local_map = 1;
7723 start = EVENT_START (key); 7723 start = EVENT_START (key);
7724 7724
7725 if (CONSP (start) && CONSP (XCONS (start)->cdr)) 7725 if (CONSP (start) && CONSP (XCDR (start)))
7726 { 7726 {
7727 pos = POSN_BUFFER_POSN (start); 7727 pos = POSN_BUFFER_POSN (start);
7728 if (INTEGERP (pos) 7728 if (INTEGERP (pos)
@@ -7780,9 +7780,9 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7780 goto replay_key; 7780 goto replay_key;
7781 } 7781 }
7782 } 7782 }
7783 else if (CONSP (XCONS (key)->cdr) 7783 else if (CONSP (XCDR (key))
7784 && CONSP (EVENT_START (key)) 7784 && CONSP (EVENT_START (key))
7785 && CONSP (XCONS (EVENT_START (key))->cdr)) 7785 && CONSP (XCDR (EVENT_START (key))))
7786 { 7786 {
7787 Lisp_Object posn; 7787 Lisp_Object posn;
7788 7788
@@ -7847,7 +7847,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7847 int modifiers; 7847 int modifiers;
7848 7848
7849 breakdown = parse_modifiers (head); 7849 breakdown = parse_modifiers (head);
7850 modifiers = XINT (XCONS (XCONS (breakdown)->cdr)->car); 7850 modifiers = XINT (XCAR (XCDR (breakdown)));
7851 /* Attempt to reduce an unbound mouse event to a simpler 7851 /* Attempt to reduce an unbound mouse event to a simpler
7852 event that is bound: 7852 event that is bound:
7853 Drags reduce to clicks. 7853 Drags reduce to clicks.
@@ -7916,7 +7916,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7916 } 7916 }
7917 7917
7918 new_head 7918 new_head
7919 = apply_modifiers (modifiers, XCONS (breakdown)->car); 7919 = apply_modifiers (modifiers, XCAR (breakdown));
7920 new_click 7920 new_click
7921 = Fcons (new_head, Fcons (EVENT_START (key), Qnil)); 7921 = Fcons (new_head, Fcons (EVENT_START (key), Qnil));
7922 7922
@@ -7999,7 +7999,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
7999 /* Handle symbol with autoload definition. */ 7999 /* Handle symbol with autoload definition. */
8000 if (SYMBOLP (fkey_next) && ! NILP (Ffboundp (fkey_next)) 8000 if (SYMBOLP (fkey_next) && ! NILP (Ffboundp (fkey_next))
8001 && CONSP (XSYMBOL (fkey_next)->function) 8001 && CONSP (XSYMBOL (fkey_next)->function)
8002 && EQ (XCONS (XSYMBOL (fkey_next)->function)->car, Qautoload)) 8002 && EQ (XCAR (XSYMBOL (fkey_next)->function), Qautoload))
8003 do_autoload (XSYMBOL (fkey_next)->function, 8003 do_autoload (XSYMBOL (fkey_next)->function,
8004 fkey_next); 8004 fkey_next);
8005 8005
@@ -8123,7 +8123,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
8123 /* Handle symbol with autoload definition. */ 8123 /* Handle symbol with autoload definition. */
8124 if (SYMBOLP (keytran_next) && ! NILP (Ffboundp (keytran_next)) 8124 if (SYMBOLP (keytran_next) && ! NILP (Ffboundp (keytran_next))
8125 && CONSP (XSYMBOL (keytran_next)->function) 8125 && CONSP (XSYMBOL (keytran_next)->function)
8126 && EQ (XCONS (XSYMBOL (keytran_next)->function)->car, Qautoload)) 8126 && EQ (XCAR (XSYMBOL (keytran_next)->function), Qautoload))
8127 do_autoload (XSYMBOL (keytran_next)->function, 8127 do_autoload (XSYMBOL (keytran_next)->function,
8128 keytran_next); 8128 keytran_next);
8129 8129
@@ -8259,7 +8259,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
8259 int modifiers; 8259 int modifiers;
8260 8260
8261 breakdown = parse_modifiers (key); 8261 breakdown = parse_modifiers (key);
8262 modifiers = XINT (XCONS (XCONS (breakdown)->cdr)->car); 8262 modifiers = XINT (XCAR (XCDR (breakdown)));
8263 if (modifiers & shift_modifier) 8263 if (modifiers & shift_modifier)
8264 { 8264 {
8265 Lisp_Object new_key; 8265 Lisp_Object new_key;
@@ -8269,7 +8269,7 @@ read_key_sequence (keybuf, bufsize, prompt, dont_downcase_last,
8269 8269
8270 modifiers &= ~shift_modifier; 8270 modifiers &= ~shift_modifier;
8271 new_key = apply_modifiers (modifiers, 8271 new_key = apply_modifiers (modifiers,
8272 XCONS (breakdown)->car); 8272 XCAR (breakdown));
8273 8273
8274 keybuf[t - 1] = new_key; 8274 keybuf[t - 1] = new_key;
8275 mock_input = t; 8275 mock_input = t;
@@ -8537,7 +8537,7 @@ a special event, so ignore the prefix argument and don't clear it.")
8537 { 8537 {
8538 tem = Fnthcdr (Vhistory_length, Vcommand_history); 8538 tem = Fnthcdr (Vhistory_length, Vcommand_history);
8539 if (CONSP (tem)) 8539 if (CONSP (tem))
8540 XCONS (tem)->cdr = Qnil; 8540 XCDR (tem) = Qnil;
8541 } 8541 }
8542 } 8542 }
8543 8543
@@ -8580,14 +8580,14 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
8580 8580
8581 if (EQ (prefixarg, Qminus)) 8581 if (EQ (prefixarg, Qminus))
8582 strcpy (buf, "- "); 8582 strcpy (buf, "- ");
8583 else if (CONSP (prefixarg) && XINT (XCONS (prefixarg)->car) == 4) 8583 else if (CONSP (prefixarg) && XINT (XCAR (prefixarg)) == 4)
8584 strcpy (buf, "C-u "); 8584 strcpy (buf, "C-u ");
8585 else if (CONSP (prefixarg) && INTEGERP (XCONS (prefixarg)->car)) 8585 else if (CONSP (prefixarg) && INTEGERP (XCAR (prefixarg)))
8586 { 8586 {
8587 if (sizeof (int) == sizeof (EMACS_INT)) 8587 if (sizeof (int) == sizeof (EMACS_INT))
8588 sprintf (buf, "%d ", XINT (XCONS (prefixarg)->car)); 8588 sprintf (buf, "%d ", XINT (XCAR (prefixarg)));
8589 else if (sizeof (long) == sizeof (EMACS_INT)) 8589 else if (sizeof (long) == sizeof (EMACS_INT))
8590 sprintf (buf, "%ld ", (long) XINT (XCONS (prefixarg)->car)); 8590 sprintf (buf, "%ld ", (long) XINT (XCAR (prefixarg)));
8591 else 8591 else
8592 abort (); 8592 abort ();
8593 } 8593 }
diff --git a/src/minibuf.c b/src/minibuf.c
index 2d9ca1b02bf..2cd3dc5aec7 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -360,11 +360,11 @@ read_minibuf (map, initial, prompt, backup_n, expflag,
360 360
361 for (buf_list = Vbuffer_alist; 361 for (buf_list = Vbuffer_alist;
362 CONSP (buf_list); 362 CONSP (buf_list);
363 buf_list = XCONS (buf_list)->cdr) 363 buf_list = XCDR (buf_list))
364 { 364 {
365 Lisp_Object other_buf; 365 Lisp_Object other_buf;
366 366
367 other_buf = XCONS (XCONS (buf_list)->car)->cdr; 367 other_buf = XCDR (XCAR (buf_list));
368 if (STRINGP (XBUFFER (other_buf)->directory)) 368 if (STRINGP (XBUFFER (other_buf)->directory))
369 { 369 {
370 current_buffer->directory = XBUFFER (other_buf)->directory; 370 current_buffer->directory = XBUFFER (other_buf)->directory;
@@ -565,7 +565,7 @@ get_minibuffer (depth)
565 enabled in it. */ 565 enabled in it. */
566 Fbuffer_enable_undo (buf); 566 Fbuffer_enable_undo (buf);
567 567
568 XCONS (tail)->car = buf; 568 XCAR (tail) = buf;
569 } 569 }
570 else 570 else
571 { 571 {
@@ -1026,9 +1026,9 @@ or the symbol from the obarray.")
1026 1026
1027 /* Ignore this element if it fails to match all the regexps. */ 1027 /* Ignore this element if it fails to match all the regexps. */
1028 for (regexps = Vcompletion_regexp_list; CONSP (regexps); 1028 for (regexps = Vcompletion_regexp_list; CONSP (regexps);
1029 regexps = XCONS (regexps)->cdr) 1029 regexps = XCDR (regexps))
1030 { 1030 {
1031 tem = Fstring_match (XCONS (regexps)->car, eltstring, zero); 1031 tem = Fstring_match (XCAR (regexps), eltstring, zero);
1032 if (NILP (tem)) 1032 if (NILP (tem))
1033 break; 1033 break;
1034 } 1034 }
@@ -1280,9 +1280,9 @@ are ignored unless STRING itself starts with a space.")
1280 1280
1281 /* Ignore this element if it fails to match all the regexps. */ 1281 /* Ignore this element if it fails to match all the regexps. */
1282 for (regexps = Vcompletion_regexp_list; CONSP (regexps); 1282 for (regexps = Vcompletion_regexp_list; CONSP (regexps);
1283 regexps = XCONS (regexps)->cdr) 1283 regexps = XCDR (regexps))
1284 { 1284 {
1285 tem = Fstring_match (XCONS (regexps)->car, eltstring, zero); 1285 tem = Fstring_match (XCAR (regexps), eltstring, zero);
1286 if (NILP (tem)) 1286 if (NILP (tem))
1287 break; 1287 break;
1288 } 1288 }
diff --git a/src/window.c b/src/window.c
index 493b2cf018d..ecce77d6df1 100644
--- a/src/window.c
+++ b/src/window.c
@@ -4836,13 +4836,13 @@ A nil width parameter means no margin.")
4836 /* Check widths < 0 and translate a zero width to nil. 4836 /* Check widths < 0 and translate a zero width to nil.
4837 Margins that are too wide have to be checked elsewhere. */ 4837 Margins that are too wide have to be checked elsewhere. */
4838 if ((INTEGERP (left) && XINT (left) < 0) 4838 if ((INTEGERP (left) && XINT (left) < 0)
4839 || (FLOATP (left) && XFLOAT (left)->data <= 0)) 4839 || (FLOATP (left) && XFLOAT_DATA (left) <= 0))
4840 XSETFASTINT (left, 0); 4840 XSETFASTINT (left, 0);
4841 if (INTEGERP (left) && XFASTINT (left) == 0) 4841 if (INTEGERP (left) && XFASTINT (left) == 0)
4842 left = Qnil; 4842 left = Qnil;
4843 4843
4844 if ((INTEGERP (right) && XINT (right) < 0) 4844 if ((INTEGERP (right) && XINT (right) < 0)
4845 || (FLOATP (right) && XFLOAT (right)->data <= 0)) 4845 || (FLOATP (right) && XFLOAT_DATA (right) <= 0))
4846 XSETFASTINT (right, 0); 4846 XSETFASTINT (right, 0);
4847 if (INTEGERP (right) && XFASTINT (right) == 0) 4847 if (INTEGERP (right) && XFASTINT (right) == 0)
4848 right = Qnil; 4848 right = Qnil;