aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDmitry Antipov2012-06-19 20:56:28 +0400
committerDmitry Antipov2012-06-19 20:56:28 +0400
commit28be1ada0fb9a4b51cf361dc45208e764bd34143 (patch)
tree30a21470e485d1d9f397d97dcb9a386c578ab746 /src
parent68f12411893785de1cfc2c24ec36059e49af5d55 (diff)
downloademacs-28be1ada0fb9a4b51cf361dc45208e764bd34143.tar.gz
emacs-28be1ada0fb9a4b51cf361dc45208e764bd34143.zip
* alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
* font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c: * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct access to `contents' member of Lisp_Vector objects with AREF and ASET where appropriate.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog8
-rw-r--r--src/alloc.c2
-rw-r--r--src/bytecode.c4
-rw-r--r--src/ccl.c2
-rw-r--r--src/coding.c6
-rw-r--r--src/composite.c4
-rw-r--r--src/data.c2
-rw-r--r--src/dosfns.c40
-rw-r--r--src/font.c14
-rw-r--r--src/image.c10
-rw-r--r--src/keyboard.c82
-rw-r--r--src/lread.c14
-rw-r--r--src/menu.c74
-rw-r--r--src/minibuf.c10
-rw-r--r--src/msdos.c6
-rw-r--r--src/print.c4
-rw-r--r--src/syntax.c19
-rw-r--r--src/window.c4
-rw-r--r--src/xmenu.c84
-rw-r--r--src/xselect.c17
20 files changed, 205 insertions, 201 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 16fcbb07522..019eb87df0d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,11 @@
12012-06-19 Dmitry Antipov <dmantipov@yandex.ru>
2
3 * alloc.c, bytecode.c, ccl.c, coding.c, composite.c, data.c, dosfns.c:
4 * font.c, image.c, keyboard.c, lread.c, menu.c, minibuf.c, msdos.c:
5 * print.c, syntax.c, window.c, xmenu.c, xselect.c: Replace direct
6 access to `contents' member of Lisp_Vector objects with AREF and ASET
7 where appropriate.
8
12012-06-19 Chong Yidong <cyd@gnu.org> 92012-06-19 Chong Yidong <cyd@gnu.org>
2 10
3 * frame.c (delete_frame): When selecting a frame on a different 11 * frame.c (delete_frame): When selecting a frame on a different
diff --git a/src/alloc.c b/src/alloc.c
index 5c6297faae5..7af3b17078e 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -5294,7 +5294,7 @@ Does not copy symbols. Copies strings without text properties. */)
5294 size &= PSEUDOVECTOR_SIZE_MASK; 5294 size &= PSEUDOVECTOR_SIZE_MASK;
5295 vec = XVECTOR (make_pure_vector (size)); 5295 vec = XVECTOR (make_pure_vector (size));
5296 for (i = 0; i < size; i++) 5296 for (i = 0; i < size; i++)
5297 vec->contents[i] = Fpurecopy (XVECTOR (obj)->contents[i]); 5297 vec->contents[i] = Fpurecopy (AREF (obj, i));
5298 if (COMPILEDP (obj)) 5298 if (COMPILEDP (obj))
5299 { 5299 {
5300 XSETPVECTYPE (vec, PVEC_COMPILED); 5300 XSETPVECTYPE (vec, PVEC_COMPILED);
diff --git a/src/bytecode.c b/src/bytecode.c
index 9c7a3fa30cf..08a02ea921d 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1867,8 +1867,8 @@ integer, it is incremented each time that symbol's function is called. */);
1867 { 1867 {
1868 int i = 256; 1868 int i = 256;
1869 while (i--) 1869 while (i--)
1870 XVECTOR (Vbyte_code_meter)->contents[i] = 1870 ASET (Vbyte_code_meter, i,
1871 Fmake_vector (make_number (256), make_number (0)); 1871 Fmake_vector (make_number (256), make_number (0)));
1872 } 1872 }
1873#endif 1873#endif
1874} 1874}
diff --git a/src/ccl.c b/src/ccl.c
index 5da90ad4f04..163d01fe283 100644
--- a/src/ccl.c
+++ b/src/ccl.c
@@ -61,7 +61,7 @@ static Lisp_Object Vccl_program_table;
61 61
62/* Return a hash table of id number ID. */ 62/* Return a hash table of id number ID. */
63#define GET_HASH_TABLE(id) \ 63#define GET_HASH_TABLE(id) \
64 (XHASH_TABLE (XCDR (XVECTOR (Vtranslation_hash_table_vector)->contents[(id)]))) 64 (XHASH_TABLE (XCDR (AREF (Vtranslation_hash_table_vector, (id)))))
65 65
66/* CCL (Code Conversion Language) is a simple language which has 66/* CCL (Code Conversion Language) is a simple language which has
67 operations on one input buffer, one output buffer, and 7 registers. 67 operations on one input buffer, one output buffer, and 7 registers.
diff --git a/src/coding.c b/src/coding.c
index 64826ae16b9..b0359b89cb5 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -3189,7 +3189,7 @@ detect_coding_iso_2022 (struct coding_system *coding,
3189 break; 3189 break;
3190 check_extra_latin: 3190 check_extra_latin:
3191 if (! VECTORP (Vlatin_extra_code_table) 3191 if (! VECTORP (Vlatin_extra_code_table)
3192 || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c])) 3192 || NILP (AREF (Vlatin_extra_code_table, c)))
3193 { 3193 {
3194 rejected = CATEGORY_MASK_ISO; 3194 rejected = CATEGORY_MASK_ISO;
3195 break; 3195 break;
@@ -5464,7 +5464,7 @@ detect_coding_charset (struct coding_system *coding,
5464 if (c < 0xA0 5464 if (c < 0xA0
5465 && check_latin_extra 5465 && check_latin_extra
5466 && (!VECTORP (Vlatin_extra_code_table) 5466 && (!VECTORP (Vlatin_extra_code_table)
5467 || NILP (XVECTOR (Vlatin_extra_code_table)->contents[c]))) 5467 || NILP (AREF (Vlatin_extra_code_table, c))))
5468 break; 5468 break;
5469 found = CATEGORY_MASK_CHARSET; 5469 found = CATEGORY_MASK_CHARSET;
5470 } 5470 }
@@ -10560,7 +10560,7 @@ Don't modify this variable directly, but use `set-coding-system-priority'. */);
10560 Vcoding_category_list = Qnil; 10560 Vcoding_category_list = Qnil;
10561 for (i = coding_category_max - 1; i >= 0; i--) 10561 for (i = coding_category_max - 1; i >= 0; i--)
10562 Vcoding_category_list 10562 Vcoding_category_list
10563 = Fcons (XVECTOR (Vcoding_category_table)->contents[i], 10563 = Fcons (AREF (Vcoding_category_table, i),
10564 Vcoding_category_list); 10564 Vcoding_category_list);
10565 } 10565 }
10566 10566
diff --git a/src/composite.c b/src/composite.c
index 6070e4070f0..79942acad02 100644
--- a/src/composite.c
+++ b/src/composite.c
@@ -240,13 +240,13 @@ get_composition_id (ptrdiff_t charpos, ptrdiff_t bytepos, ptrdiff_t nchars,
240 for (i = 0; i < nchars; i++) 240 for (i = 0; i < nchars; i++)
241 { 241 {
242 FETCH_STRING_CHAR_ADVANCE (ch, string, charpos, bytepos); 242 FETCH_STRING_CHAR_ADVANCE (ch, string, charpos, bytepos);
243 XVECTOR (key)->contents[i] = make_number (ch); 243 ASET (key, i, make_number (ch));
244 } 244 }
245 else 245 else
246 for (i = 0; i < nchars; i++) 246 for (i = 0; i < nchars; i++)
247 { 247 {
248 FETCH_CHAR_ADVANCE (ch, charpos, bytepos); 248 FETCH_CHAR_ADVANCE (ch, charpos, bytepos);
249 XVECTOR (key)->contents[i] = make_number (ch); 249 ASET (key, i, make_number (ch));
250 } 250 }
251 } 251 }
252 else 252 else
diff --git a/src/data.c b/src/data.c
index 2aa27e65d77..ee43b98e6ed 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2134,7 +2134,7 @@ bool-vector. IDX starts at 0. */)
2134 { 2134 {
2135 if (idxval < 0 || idxval >= ASIZE (array)) 2135 if (idxval < 0 || idxval >= ASIZE (array))
2136 args_out_of_range (array, idx); 2136 args_out_of_range (array, idx);
2137 XVECTOR (array)->contents[idxval] = newelt; 2137 ASET (array, idxval, newelt);
2138 } 2138 }
2139 else if (BOOL_VECTOR_P (array)) 2139 else if (BOOL_VECTOR_P (array))
2140 { 2140 {
diff --git a/src/dosfns.c b/src/dosfns.c
index e8c0187172d..11d2258f614 100644
--- a/src/dosfns.c
+++ b/src/dosfns.c
@@ -65,27 +65,27 @@ REGISTERS should be a vector produced by `make-register' and
65 if (no < 0 || no > 0xff || ASIZE (registers) != 8) 65 if (no < 0 || no > 0xff || ASIZE (registers) != 8)
66 return Qnil; 66 return Qnil;
67 for (i = 0; i < 8; i++) 67 for (i = 0; i < 8; i++)
68 CHECK_NUMBER (XVECTOR (registers)->contents[i]); 68 CHECK_NUMBER (AREF (registers, i));
69 69
70 inregs.x.ax = (unsigned long) XFASTINT (XVECTOR (registers)->contents[0]); 70 inregs.x.ax = (unsigned long) XFASTINT (AREF (registers, 0));
71 inregs.x.bx = (unsigned long) XFASTINT (XVECTOR (registers)->contents[1]); 71 inregs.x.bx = (unsigned long) XFASTINT (AREF (registers, 1));
72 inregs.x.cx = (unsigned long) XFASTINT (XVECTOR (registers)->contents[2]); 72 inregs.x.cx = (unsigned long) XFASTINT (AREF (registers, 2));
73 inregs.x.dx = (unsigned long) XFASTINT (XVECTOR (registers)->contents[3]); 73 inregs.x.dx = (unsigned long) XFASTINT (AREF (registers, 3));
74 inregs.x.si = (unsigned long) XFASTINT (XVECTOR (registers)->contents[4]); 74 inregs.x.si = (unsigned long) XFASTINT (AREF (registers, 4));
75 inregs.x.di = (unsigned long) XFASTINT (XVECTOR (registers)->contents[5]); 75 inregs.x.di = (unsigned long) XFASTINT (AREF (registers, 5));
76 inregs.x.cflag = (unsigned long) XFASTINT (XVECTOR (registers)->contents[6]); 76 inregs.x.cflag = (unsigned long) XFASTINT (AREF (registers, 6));
77 inregs.x.flags = (unsigned long) XFASTINT (XVECTOR (registers)->contents[7]); 77 inregs.x.flags = (unsigned long) XFASTINT (AREF (registers, 7));
78 78
79 int86 (no, &inregs, &outregs); 79 int86 (no, &inregs, &outregs);
80 80
81 XVECTOR (registers)->contents[0] = make_number (outregs.x.ax); 81 ASET (registers, 0, make_number (outregs.x.ax));
82 XVECTOR (registers)->contents[1] = make_number (outregs.x.bx); 82 ASET (registers, 1, make_number (outregs.x.bx));
83 XVECTOR (registers)->contents[2] = make_number (outregs.x.cx); 83 ASET (registers, 2, make_number (outregs.x.cx));
84 XVECTOR (registers)->contents[3] = make_number (outregs.x.dx); 84 ASET (registers, 3, make_number (outregs.x.dx));
85 XVECTOR (registers)->contents[4] = make_number (outregs.x.si); 85 ASET (registers, 4, make_number (outregs.x.si));
86 XVECTOR (registers)->contents[5] = make_number (outregs.x.di); 86 ASET (registers, 5, make_number (outregs.x.di));
87 XVECTOR (registers)->contents[6] = make_number (outregs.x.cflag); 87 ASET (registers, 6, make_number (outregs.x.cflag));
88 XVECTOR (registers)->contents[7] = make_number (outregs.x.flags); 88 ASET (registers, 7, make_number (outregs.x.flags));
89 89
90 return registers; 90 return registers;
91} 91}
@@ -109,7 +109,7 @@ Return the updated VECTOR. */)
109 dosmemget (offs, len, buf); 109 dosmemget (offs, len, buf);
110 110
111 for (i = 0; i < len; i++) 111 for (i = 0; i < len; i++)
112 XVECTOR (vector)->contents[i] = make_number (buf[i]); 112 ASET (vector, i, make_number (buf[i]));
113 113
114 return vector; 114 return vector;
115} 115}
@@ -132,8 +132,8 @@ DEFUN ("msdos-memput", Fdos_memput, Sdos_memput, 2, 2, 0,
132 132
133 for (i = 0; i < len; i++) 133 for (i = 0; i < len; i++)
134 { 134 {
135 CHECK_NUMBER (XVECTOR (vector)->contents[i]); 135 CHECK_NUMBER (AREF (vector, i));
136 buf[i] = (unsigned char) XFASTINT (XVECTOR (vector)->contents[i]) & 0xFF; 136 buf[i] = (unsigned char) XFASTINT (AREF (vector, i)) & 0xFF;
137 } 137 }
138 138
139 dosmemput (buf, len, offs); 139 dosmemput (buf, len, offs);
diff --git a/src/font.c b/src/font.c
index dbea3a3ca3c..f9e0e5bdcc0 100644
--- a/src/font.c
+++ b/src/font.c
@@ -4877,13 +4877,13 @@ If the named font is not yet loaded, return nil. */)
4877 font = XFONT_OBJECT (font_object); 4877 font = XFONT_OBJECT (font_object);
4878 4878
4879 info = Fmake_vector (make_number (7), Qnil); 4879 info = Fmake_vector (make_number (7), Qnil);
4880 XVECTOR (info)->contents[0] = AREF (font_object, FONT_NAME_INDEX); 4880 ASET (info, 0, AREF (font_object, FONT_NAME_INDEX));
4881 XVECTOR (info)->contents[1] = AREF (font_object, FONT_FULLNAME_INDEX); 4881 ASET (info, 1, AREF (font_object, FONT_FULLNAME_INDEX));
4882 XVECTOR (info)->contents[2] = make_number (font->pixel_size); 4882 ASET (info, 2, make_number (font->pixel_size));
4883 XVECTOR (info)->contents[3] = make_number (font->height); 4883 ASET (info, 3, make_number (font->height));
4884 XVECTOR (info)->contents[4] = make_number (font->baseline_offset); 4884 ASET (info, 4, make_number (font->baseline_offset));
4885 XVECTOR (info)->contents[5] = make_number (font->relative_compose); 4885 ASET (info, 5, make_number (font->relative_compose));
4886 XVECTOR (info)->contents[6] = make_number (font->default_ascent); 4886 ASET (info, 6, make_number (font->default_ascent));
4887 4887
4888#if 0 4888#if 0
4889 /* As font_object is still in FONT_OBJLIST of the entity, we can't 4889 /* As font_object is still in FONT_OBJLIST of the entity, we can't
diff --git a/src/image.c b/src/image.c
index bd3a0822fe9..103f0a7feb6 100644
--- a/src/image.c
+++ b/src/image.c
@@ -2366,7 +2366,7 @@ xbm_image_p (Lisp_Object object)
2366 for one line of the image. */ 2366 for one line of the image. */
2367 for (i = 0; i < height; ++i) 2367 for (i = 0; i < height; ++i)
2368 { 2368 {
2369 Lisp_Object elt = XVECTOR (data)->contents[i]; 2369 Lisp_Object elt = AREF (data, i);
2370 2370
2371 if (STRINGP (elt)) 2371 if (STRINGP (elt))
2372 { 2372 {
@@ -2939,7 +2939,7 @@ xbm_load (struct frame *f, struct image *img)
2939 p = bits = (char *) alloca (nbytes * img->height); 2939 p = bits = (char *) alloca (nbytes * img->height);
2940 for (i = 0; i < img->height; ++i, p += nbytes) 2940 for (i = 0; i < img->height; ++i, p += nbytes)
2941 { 2941 {
2942 Lisp_Object line = XVECTOR (data)->contents[i]; 2942 Lisp_Object line = AREF (data, i);
2943 if (STRINGP (line)) 2943 if (STRINGP (line))
2944 memcpy (p, SDATA (line), nbytes); 2944 memcpy (p, SDATA (line), nbytes);
2945 else 2945 else
@@ -3749,7 +3749,7 @@ xpm_put_color_table_v (Lisp_Object color_table,
3749 int chars_len, 3749 int chars_len,
3750 Lisp_Object color) 3750 Lisp_Object color)
3751{ 3751{
3752 XVECTOR (color_table)->contents[*chars_start] = color; 3752 ASET (color_table, *chars_start, color);
3753} 3753}
3754 3754
3755static Lisp_Object 3755static Lisp_Object
@@ -3757,7 +3757,7 @@ xpm_get_color_table_v (Lisp_Object color_table,
3757 const unsigned char *chars_start, 3757 const unsigned char *chars_start,
3758 int chars_len) 3758 int chars_len)
3759{ 3759{
3760 return XVECTOR (color_table)->contents[*chars_start]; 3760 return AREF (color_table, *chars_start);
3761} 3761}
3762 3762
3763static Lisp_Object 3763static Lisp_Object
@@ -8503,7 +8503,7 @@ gs_image_p (Lisp_Object object)
8503 if (ASIZE (tem) != 4) 8503 if (ASIZE (tem) != 4)
8504 return 0; 8504 return 0;
8505 for (i = 0; i < 4; ++i) 8505 for (i = 0; i < 4; ++i)
8506 if (!INTEGERP (XVECTOR (tem)->contents[i])) 8506 if (!INTEGERP (AREF (tem, i)))
8507 return 0; 8507 return 0;
8508 } 8508 }
8509 else 8509 else
diff --git a/src/keyboard.c b/src/keyboard.c
index c0b2ba2f469..3e197ab4938 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -625,7 +625,7 @@ echo_now (void)
625 if (i == this_single_command_key_start) 625 if (i == this_single_command_key_start)
626 before_command_echo_length = echo_length (); 626 before_command_echo_length = echo_length ();
627 627
628 c = XVECTOR (this_command_keys)->contents[i]; 628 c = AREF (this_command_keys, i);
629 if (! (EVENT_HAS_PARAMETERS (c) 629 if (! (EVENT_HAS_PARAMETERS (c)
630 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement))) 630 && EQ (EVENT_HEAD_KIND (EVENT_HEAD (c)), Qmouse_movement)))
631 echo_char (c); 631 echo_char (c);
@@ -4269,7 +4269,7 @@ timer_start_idle (void)
4269 4269
4270 if (!VECTORP (timer) || ASIZE (timer) != 8) 4270 if (!VECTORP (timer) || ASIZE (timer) != 8)
4271 continue; 4271 continue;
4272 XVECTOR (timer)->contents[0] = Qnil; 4272 ASET (timer, 0, Qnil);
4273 } 4273 }
4274} 4274}
4275 4275
@@ -6272,7 +6272,7 @@ lispy_modifier_list (int modifiers)
6272 modifier_list = Qnil; 6272 modifier_list = Qnil;
6273 for (i = 0; (1<<i) <= modifiers && i < NUM_MOD_NAMES; i++) 6273 for (i = 0; (1<<i) <= modifiers && i < NUM_MOD_NAMES; i++)
6274 if (modifiers & (1<<i)) 6274 if (modifiers & (1<<i))
6275 modifier_list = Fcons (XVECTOR (modifier_symbols)->contents[i], 6275 modifier_list = Fcons (AREF (modifier_symbols, i),
6276 modifier_list); 6276 modifier_list);
6277 6277
6278 return modifier_list; 6278 return modifier_list;
@@ -6503,7 +6503,7 @@ modify_event_symbol (ptrdiff_t symbol_num, int modifiers, Lisp_Object symbol_kin
6503 *symbol_table = Fmake_vector (size, Qnil); 6503 *symbol_table = Fmake_vector (size, Qnil);
6504 } 6504 }
6505 6505
6506 value = XVECTOR (*symbol_table)->contents[symbol_num]; 6506 value = AREF (*symbol_table, symbol_num);
6507 } 6507 }
6508 6508
6509 /* Have we already used this symbol before? */ 6509 /* Have we already used this symbol before? */
@@ -6546,7 +6546,7 @@ modify_event_symbol (ptrdiff_t symbol_num, int modifiers, Lisp_Object symbol_kin
6546 if (CONSP (*symbol_table)) 6546 if (CONSP (*symbol_table))
6547 *symbol_table = Fcons (Fcons (symbol_int, value), *symbol_table); 6547 *symbol_table = Fcons (Fcons (symbol_int, value), *symbol_table);
6548 else 6548 else
6549 XVECTOR (*symbol_table)->contents[symbol_num] = value; 6549 ASET (*symbol_table, symbol_num, value);
6550 6550
6551 /* Fill in the cache entries for this symbol; this also 6551 /* Fill in the cache entries for this symbol; this also
6552 builds the Qevent_symbol_elements property, which the user 6552 builds the Qevent_symbol_elements property, which the user
@@ -7553,23 +7553,23 @@ menu_bar_items (Lisp_Object old)
7553 int end = menu_bar_items_index; 7553 int end = menu_bar_items_index;
7554 7554
7555 for (i = 0; i < end; i += 4) 7555 for (i = 0; i < end; i += 4)
7556 if (EQ (XCAR (tail), XVECTOR (menu_bar_items_vector)->contents[i])) 7556 if (EQ (XCAR (tail), AREF (menu_bar_items_vector, i)))
7557 { 7557 {
7558 Lisp_Object tem0, tem1, tem2, tem3; 7558 Lisp_Object tem0, tem1, tem2, tem3;
7559 /* Move the item at index I to the end, 7559 /* Move the item at index I to the end,
7560 shifting all the others forward. */ 7560 shifting all the others forward. */
7561 tem0 = XVECTOR (menu_bar_items_vector)->contents[i + 0]; 7561 tem0 = AREF (menu_bar_items_vector, i + 0);
7562 tem1 = XVECTOR (menu_bar_items_vector)->contents[i + 1]; 7562 tem1 = AREF (menu_bar_items_vector, i + 1);
7563 tem2 = XVECTOR (menu_bar_items_vector)->contents[i + 2]; 7563 tem2 = AREF (menu_bar_items_vector, i + 2);
7564 tem3 = XVECTOR (menu_bar_items_vector)->contents[i + 3]; 7564 tem3 = AREF (menu_bar_items_vector, i + 3);
7565 if (end > i + 4) 7565 if (end > i + 4)
7566 memmove (&XVECTOR (menu_bar_items_vector)->contents[i], 7566 memmove (&AREF (menu_bar_items_vector, i),
7567 &XVECTOR (menu_bar_items_vector)->contents[i + 4], 7567 &AREF (menu_bar_items_vector, i + 4),
7568 (end - i - 4) * sizeof (Lisp_Object)); 7568 (end - i - 4) * sizeof (Lisp_Object));
7569 XVECTOR (menu_bar_items_vector)->contents[end - 4] = tem0; 7569 ASET (menu_bar_items_vector, end - 4, tem0);
7570 XVECTOR (menu_bar_items_vector)->contents[end - 3] = tem1; 7570 ASET (menu_bar_items_vector, end - 3, tem1);
7571 XVECTOR (menu_bar_items_vector)->contents[end - 2] = tem2; 7571 ASET (menu_bar_items_vector, end - 2, tem2);
7572 XVECTOR (menu_bar_items_vector)->contents[end - 1] = tem3; 7572 ASET (menu_bar_items_vector, end - 1, tem3);
7573 break; 7573 break;
7574 } 7574 }
7575 } 7575 }
@@ -7581,10 +7581,10 @@ menu_bar_items (Lisp_Object old)
7581 menu_bar_items_vector = 7581 menu_bar_items_vector =
7582 larger_vector (menu_bar_items_vector, 4, -1); 7582 larger_vector (menu_bar_items_vector, 4, -1);
7583 /* Add this item. */ 7583 /* Add this item. */
7584 XVECTOR (menu_bar_items_vector)->contents[i++] = Qnil; 7584 ASET (menu_bar_items_vector, i, Qnil), i++;
7585 XVECTOR (menu_bar_items_vector)->contents[i++] = Qnil; 7585 ASET (menu_bar_items_vector, i, Qnil), i++;
7586 XVECTOR (menu_bar_items_vector)->contents[i++] = Qnil; 7586 ASET (menu_bar_items_vector, i, Qnil), i++;
7587 XVECTOR (menu_bar_items_vector)->contents[i++] = Qnil; 7587 ASET (menu_bar_items_vector, i, Qnil), i++;
7588 menu_bar_items_index = i; 7588 menu_bar_items_index = i;
7589 } 7589 }
7590 7590
@@ -7610,11 +7610,11 @@ menu_bar_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy1, void *dumm
7610 discard any previously made menu bar item. */ 7610 discard any previously made menu bar item. */
7611 7611
7612 for (i = 0; i < menu_bar_items_index; i += 4) 7612 for (i = 0; i < menu_bar_items_index; i += 4)
7613 if (EQ (key, XVECTOR (menu_bar_items_vector)->contents[i])) 7613 if (EQ (key, AREF (menu_bar_items_vector, i)))
7614 { 7614 {
7615 if (menu_bar_items_index > i + 4) 7615 if (menu_bar_items_index > i + 4)
7616 memmove (&XVECTOR (menu_bar_items_vector)->contents[i], 7616 memmove (&AREF (menu_bar_items_vector, i),
7617 &XVECTOR (menu_bar_items_vector)->contents[i + 4], 7617 &AREF (menu_bar_items_vector, i + 4),
7618 (menu_bar_items_index - i - 4) * sizeof (Lisp_Object)); 7618 (menu_bar_items_index - i - 4) * sizeof (Lisp_Object));
7619 menu_bar_items_index -= 4; 7619 menu_bar_items_index -= 4;
7620 } 7620 }
@@ -7638,11 +7638,11 @@ menu_bar_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy1, void *dumm
7638 if (!i) 7638 if (!i)
7639 return; 7639 return;
7640 7640
7641 item = XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF]; 7641 item = AREF (item_properties, ITEM_PROPERTY_DEF);
7642 7642
7643 /* Find any existing item for this KEY. */ 7643 /* Find any existing item for this KEY. */
7644 for (i = 0; i < menu_bar_items_index; i += 4) 7644 for (i = 0; i < menu_bar_items_index; i += 4)
7645 if (EQ (key, XVECTOR (menu_bar_items_vector)->contents[i])) 7645 if (EQ (key, AREF (menu_bar_items_vector, i)))
7646 break; 7646 break;
7647 7647
7648 /* If we did not find this KEY, add it at the end. */ 7648 /* If we did not find this KEY, add it at the end. */
@@ -7652,22 +7652,22 @@ menu_bar_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy1, void *dumm
7652 if (i + 4 > ASIZE (menu_bar_items_vector)) 7652 if (i + 4 > ASIZE (menu_bar_items_vector))
7653 menu_bar_items_vector = larger_vector (menu_bar_items_vector, 4, -1); 7653 menu_bar_items_vector = larger_vector (menu_bar_items_vector, 4, -1);
7654 /* Add this item. */ 7654 /* Add this item. */
7655 XVECTOR (menu_bar_items_vector)->contents[i++] = key; 7655 ASET (menu_bar_items_vector, i, key), i++;
7656 XVECTOR (menu_bar_items_vector)->contents[i++] 7656 ASET (menu_bar_items_vector, i,
7657 = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME]; 7657 AREF (item_properties, ITEM_PROPERTY_NAME)), i++;
7658 XVECTOR (menu_bar_items_vector)->contents[i++] = Fcons (item, Qnil); 7658 ASET (menu_bar_items_vector, i, Fcons (item, Qnil)), i++;
7659 XVECTOR (menu_bar_items_vector)->contents[i++] = make_number (0); 7659 ASET (menu_bar_items_vector, i, make_number (0)), i++;
7660 menu_bar_items_index = i; 7660 menu_bar_items_index = i;
7661 } 7661 }
7662 /* We did find an item for this KEY. Add ITEM to its list of maps. */ 7662 /* We did find an item for this KEY. Add ITEM to its list of maps. */
7663 else 7663 else
7664 { 7664 {
7665 Lisp_Object old; 7665 Lisp_Object old;
7666 old = XVECTOR (menu_bar_items_vector)->contents[i + 2]; 7666 old = AREF (menu_bar_items_vector, i + 2);
7667 /* If the new and the old items are not both keymaps, 7667 /* If the new and the old items are not both keymaps,
7668 the lookup will only find `item'. */ 7668 the lookup will only find `item'. */
7669 item = Fcons (item, KEYMAPP (item) && KEYMAPP (XCAR (old)) ? old : Qnil); 7669 item = Fcons (item, KEYMAPP (item) && KEYMAPP (XCAR (old)) ? old : Qnil);
7670 XVECTOR (menu_bar_items_vector)->contents[i + 2] = item; 7670 ASET (menu_bar_items_vector, i + 2, item);
7671 } 7671 }
7672} 7672}
7673 7673
@@ -8184,7 +8184,7 @@ static int
8184parse_tool_bar_item (Lisp_Object key, Lisp_Object item) 8184parse_tool_bar_item (Lisp_Object key, Lisp_Object item)
8185{ 8185{
8186 /* Access slot with index IDX of vector tool_bar_item_properties. */ 8186 /* Access slot with index IDX of vector tool_bar_item_properties. */
8187#define PROP(IDX) XVECTOR (tool_bar_item_properties)->contents[IDX] 8187#define PROP(IDX) AREF (tool_bar_item_properties, (IDX))
8188 8188
8189 Lisp_Object filter = Qnil; 8189 Lisp_Object filter = Qnil;
8190 Lisp_Object caption; 8190 Lisp_Object caption;
@@ -8629,7 +8629,7 @@ read_char_minibuf_menu_prompt (int commandflag,
8629 8629
8630 /* Look at the next element of the map. */ 8630 /* Look at the next element of the map. */
8631 if (idx >= 0) 8631 if (idx >= 0)
8632 elt = XVECTOR (vector)->contents[idx]; 8632 elt = AREF (vector, idx);
8633 else 8633 else
8634 elt = Fcar_safe (rest); 8634 elt = Fcar_safe (rest);
8635 8635
@@ -8664,7 +8664,7 @@ read_char_minibuf_menu_prompt (int commandflag,
8664 Lisp_Object upcased_event, downcased_event; 8664 Lisp_Object upcased_event, downcased_event;
8665 Lisp_Object desc = Qnil; 8665 Lisp_Object desc = Qnil;
8666 Lisp_Object s 8666 Lisp_Object s
8667 = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME]; 8667 = AREF (item_properties, ITEM_PROPERTY_NAME);
8668 8668
8669 upcased_event = Fupcase (event); 8669 upcased_event = Fupcase (event);
8670 downcased_event = Fdowncase (event); 8670 downcased_event = Fdowncase (event);
@@ -8682,12 +8682,12 @@ read_char_minibuf_menu_prompt (int commandflag,
8682 s = concat2 (s, tem); 8682 s = concat2 (s, tem);
8683#endif 8683#endif
8684 tem 8684 tem
8685 = XVECTOR (item_properties)->contents[ITEM_PROPERTY_TYPE]; 8685 = AREF (item_properties, ITEM_PROPERTY_TYPE);
8686 if (EQ (tem, QCradio) || EQ (tem, QCtoggle)) 8686 if (EQ (tem, QCradio) || EQ (tem, QCtoggle))
8687 { 8687 {
8688 /* Insert button prefix. */ 8688 /* Insert button prefix. */
8689 Lisp_Object selected 8689 Lisp_Object selected
8690 = XVECTOR (item_properties)->contents[ITEM_PROPERTY_SELECTED]; 8690 = AREF (item_properties, ITEM_PROPERTY_SELECTED);
8691 if (EQ (tem, QCradio)) 8691 if (EQ (tem, QCradio))
8692 tem = build_string (NILP (selected) ? "(*) " : "( ) "); 8692 tem = build_string (NILP (selected) ? "(*) " : "( ) ");
8693 else 8693 else
@@ -9457,7 +9457,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
9457 && current_buffer != starting_buffer) 9457 && current_buffer != starting_buffer)
9458 { 9458 {
9459 GROW_RAW_KEYBUF; 9459 GROW_RAW_KEYBUF;
9460 XVECTOR (raw_keybuf)->contents[raw_keybuf_count++] = key; 9460 ASET (raw_keybuf, raw_keybuf_count, key), raw_keybuf_count++;
9461 keybuf[t++] = key; 9461 keybuf[t++] = key;
9462 mock_input = t; 9462 mock_input = t;
9463 Vquit_flag = Qnil; 9463 Vquit_flag = Qnil;
@@ -9535,7 +9535,7 @@ read_key_sequence (Lisp_Object *keybuf, int bufsize, Lisp_Object prompt,
9535 && BUFFERP (XWINDOW (window)->buffer) 9535 && BUFFERP (XWINDOW (window)->buffer)
9536 && XBUFFER (XWINDOW (window)->buffer) != current_buffer) 9536 && XBUFFER (XWINDOW (window)->buffer) != current_buffer)
9537 { 9537 {
9538 XVECTOR (raw_keybuf)->contents[raw_keybuf_count++] = key; 9538 ASET (raw_keybuf, raw_keybuf_count, key), raw_keybuf_count++;
9539 keybuf[t] = key; 9539 keybuf[t] = key;
9540 mock_input = t + 1; 9540 mock_input = t + 1;
9541 9541
@@ -10566,7 +10566,7 @@ KEEP-RECORD is non-nil. */)
10566 if (NILP (keep_record)) 10566 if (NILP (keep_record))
10567 { 10567 {
10568 for (i = 0; i < ASIZE (recent_keys); ++i) 10568 for (i = 0; i < ASIZE (recent_keys); ++i)
10569 XVECTOR (recent_keys)->contents[i] = Qnil; 10569 ASET (recent_keys, i, Qnil);
10570 total_keys = 0; 10570 total_keys = 0;
10571 recent_keys_index = 0; 10571 recent_keys_index = 0;
10572 } 10572 }
@@ -11585,7 +11585,7 @@ syms_of_keyboard (void)
11585 modifier_symbols = Fmake_vector (make_number (len), Qnil); 11585 modifier_symbols = Fmake_vector (make_number (len), Qnil);
11586 for (i = 0; i < len; i++) 11586 for (i = 0; i < len; i++)
11587 if (modifier_names[i]) 11587 if (modifier_names[i])
11588 XVECTOR (modifier_symbols)->contents[i] = intern_c_string (modifier_names[i]); 11588 ASET (modifier_symbols, i, intern_c_string (modifier_names[i]));
11589 staticpro (&modifier_symbols); 11589 staticpro (&modifier_symbols);
11590 } 11590 }
11591 11591
diff --git a/src/lread.c b/src/lread.c
index a6d77204cf8..96868c2da89 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -3748,7 +3748,7 @@ it defaults to the value of `obarray'. */)
3748 SET_SYMBOL_VAL (XSYMBOL (sym), sym); 3748 SET_SYMBOL_VAL (XSYMBOL (sym), sym);
3749 } 3749 }
3750 3750
3751 ptr = &XVECTOR (obarray)->contents[XINT (tem)]; 3751 ptr = &AREF (obarray, XINT(tem));
3752 if (SYMBOLP (*ptr)) 3752 if (SYMBOLP (*ptr))
3753 XSYMBOL (sym)->next = XSYMBOL (*ptr); 3753 XSYMBOL (sym)->next = XSYMBOL (*ptr);
3754 else 3754 else
@@ -3827,18 +3827,18 @@ OBARRAY defaults to the value of the variable `obarray'. */)
3827 3827
3828 hash = oblookup_last_bucket_number; 3828 hash = oblookup_last_bucket_number;
3829 3829
3830 if (EQ (XVECTOR (obarray)->contents[hash], tem)) 3830 if (EQ (AREF (obarray, hash), tem))
3831 { 3831 {
3832 if (XSYMBOL (tem)->next) 3832 if (XSYMBOL (tem)->next)
3833 XSETSYMBOL (XVECTOR (obarray)->contents[hash], XSYMBOL (tem)->next); 3833 XSETSYMBOL (AREF (obarray, hash), XSYMBOL (tem)->next);
3834 else 3834 else
3835 XSETINT (XVECTOR (obarray)->contents[hash], 0); 3835 XSETINT (AREF (obarray, hash), 0);
3836 } 3836 }
3837 else 3837 else
3838 { 3838 {
3839 Lisp_Object tail, following; 3839 Lisp_Object tail, following;
3840 3840
3841 for (tail = XVECTOR (obarray)->contents[hash]; 3841 for (tail = AREF (obarray, hash);
3842 XSYMBOL (tail)->next; 3842 XSYMBOL (tail)->next;
3843 tail = following) 3843 tail = following)
3844 { 3844 {
@@ -3877,7 +3877,7 @@ oblookup (Lisp_Object obarray, register const char *ptr, ptrdiff_t size, ptrdiff
3877 /* This is sometimes needed in the middle of GC. */ 3877 /* This is sometimes needed in the middle of GC. */
3878 obsize &= ~ARRAY_MARK_FLAG; 3878 obsize &= ~ARRAY_MARK_FLAG;
3879 hash = hash_string (ptr, size_byte) % obsize; 3879 hash = hash_string (ptr, size_byte) % obsize;
3880 bucket = XVECTOR (obarray)->contents[hash]; 3880 bucket = AREF (obarray, hash);
3881 oblookup_last_bucket_number = hash; 3881 oblookup_last_bucket_number = hash;
3882 if (EQ (bucket, make_number (0))) 3882 if (EQ (bucket, make_number (0)))
3883 ; 3883 ;
@@ -3905,7 +3905,7 @@ map_obarray (Lisp_Object obarray, void (*fn) (Lisp_Object, Lisp_Object), Lisp_Ob
3905 CHECK_VECTOR (obarray); 3905 CHECK_VECTOR (obarray);
3906 for (i = ASIZE (obarray) - 1; i >= 0; i--) 3906 for (i = ASIZE (obarray) - 1; i >= 0; i--)
3907 { 3907 {
3908 tail = XVECTOR (obarray)->contents[i]; 3908 tail = AREF (obarray, i);
3909 if (SYMBOLP (tail)) 3909 if (SYMBOLP (tail))
3910 while (1) 3910 while (1)
3911 { 3911 {
diff --git a/src/menu.c b/src/menu.c
index 9ccfffd768c..ce0c7d6df68 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -197,7 +197,7 @@ static void
197push_submenu_start (void) 197push_submenu_start (void)
198{ 198{
199 ensure_menu_items (1); 199 ensure_menu_items (1);
200 XVECTOR (menu_items)->contents[menu_items_used++] = Qnil; 200 ASET (menu_items, menu_items_used, Qnil), menu_items_used++;
201 menu_items_submenu_depth++; 201 menu_items_submenu_depth++;
202} 202}
203 203
@@ -207,7 +207,7 @@ static void
207push_submenu_end (void) 207push_submenu_end (void)
208{ 208{
209 ensure_menu_items (1); 209 ensure_menu_items (1);
210 XVECTOR (menu_items)->contents[menu_items_used++] = Qlambda; 210 ASET (menu_items, menu_items_used, Qlambda), menu_items_used++;
211 menu_items_submenu_depth--; 211 menu_items_submenu_depth--;
212} 212}
213 213
@@ -219,7 +219,7 @@ static void
219push_left_right_boundary (void) 219push_left_right_boundary (void)
220{ 220{
221 ensure_menu_items (1); 221 ensure_menu_items (1);
222 XVECTOR (menu_items)->contents[menu_items_used++] = Qquote; 222 ASET (menu_items, menu_items_used, Qquote), menu_items_used++;
223} 223}
224 224
225/* Start a new menu pane in menu_items. 225/* Start a new menu pane in menu_items.
@@ -231,9 +231,9 @@ push_menu_pane (Lisp_Object name, Lisp_Object prefix_vec)
231 ensure_menu_items (MENU_ITEMS_PANE_LENGTH); 231 ensure_menu_items (MENU_ITEMS_PANE_LENGTH);
232 if (menu_items_submenu_depth == 0) 232 if (menu_items_submenu_depth == 0)
233 menu_items_n_panes++; 233 menu_items_n_panes++;
234 XVECTOR (menu_items)->contents[menu_items_used++] = Qt; 234 ASET (menu_items, menu_items_used, Qt), menu_items_used++;
235 XVECTOR (menu_items)->contents[menu_items_used++] = name; 235 ASET (menu_items, menu_items_used, name), menu_items_used++;
236 XVECTOR (menu_items)->contents[menu_items_used++] = prefix_vec; 236 ASET (menu_items, menu_items_used, prefix_vec), menu_items_used++;
237} 237}
238 238
239/* Push one menu item into the current pane. NAME is the string to 239/* Push one menu item into the current pane. NAME is the string to
@@ -343,10 +343,10 @@ single_menu_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy, void *sk
343 if (!res) 343 if (!res)
344 return; /* Not a menu item. */ 344 return; /* Not a menu item. */
345 345
346 map = XVECTOR (item_properties)->contents[ITEM_PROPERTY_MAP]; 346 map = AREF (item_properties, ITEM_PROPERTY_MAP);
347 347
348 enabled = XVECTOR (item_properties)->contents[ITEM_PROPERTY_ENABLE]; 348 enabled = AREF (item_properties, ITEM_PROPERTY_ENABLE);
349 item_string = XVECTOR (item_properties)->contents[ITEM_PROPERTY_NAME]; 349 item_string = AREF (item_properties, ITEM_PROPERTY_NAME);
350 350
351 if (!NILP (map) && SREF (item_string, 0) == '@') 351 if (!NILP (map) && SREF (item_string, 0) == '@')
352 { 352 {
@@ -363,11 +363,11 @@ single_menu_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy, void *sk
363 front of them. */ 363 front of them. */
364 { 364 {
365 Lisp_Object prefix = Qnil; 365 Lisp_Object prefix = Qnil;
366 Lisp_Object type = XVECTOR (item_properties)->contents[ITEM_PROPERTY_TYPE]; 366 Lisp_Object type = AREF (item_properties, ITEM_PROPERTY_TYPE);
367 if (!NILP (type)) 367 if (!NILP (type))
368 { 368 {
369 Lisp_Object selected 369 Lisp_Object selected
370 = XVECTOR (item_properties)->contents[ITEM_PROPERTY_SELECTED]; 370 = AREF (item_properties, ITEM_PROPERTY_SELECTED);
371 371
372 if (skp->notbuttons) 372 if (skp->notbuttons)
373 /* The first button. Line up previous items in this menu. */ 373 /* The first button. Line up previous items in this menu. */
@@ -378,7 +378,7 @@ single_menu_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy, void *sk
378 while (idx < menu_items_used) 378 while (idx < menu_items_used)
379 { 379 {
380 tem 380 tem
381 = XVECTOR (menu_items)->contents[idx + MENU_ITEMS_ITEM_NAME]; 381 = AREF (menu_items, idx + MENU_ITEMS_ITEM_NAME);
382 if (NILP (tem)) 382 if (NILP (tem))
383 { 383 {
384 idx++; 384 idx++;
@@ -397,8 +397,8 @@ single_menu_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy, void *sk
397 { 397 {
398 if (!submenu && SREF (tem, 0) != '\0' 398 if (!submenu && SREF (tem, 0) != '\0'
399 && SREF (tem, 0) != '-') 399 && SREF (tem, 0) != '-')
400 XVECTOR (menu_items)->contents[idx + MENU_ITEMS_ITEM_NAME] 400 ASET (menu_items, idx + MENU_ITEMS_ITEM_NAME,
401 = concat2 (build_string (" "), tem); 401 concat2 (build_string (" "), tem));
402 idx += MENU_ITEMS_ITEM_LENGTH; 402 idx += MENU_ITEMS_ITEM_LENGTH;
403 } 403 }
404 } 404 }
@@ -430,11 +430,11 @@ single_menu_item (Lisp_Object key, Lisp_Object item, Lisp_Object dummy, void *sk
430#endif /* HAVE_X_WINDOWS || MSDOS */ 430#endif /* HAVE_X_WINDOWS || MSDOS */
431 431
432 push_menu_item (item_string, enabled, key, 432 push_menu_item (item_string, enabled, key,
433 XVECTOR (item_properties)->contents[ITEM_PROPERTY_DEF], 433 AREF (item_properties, ITEM_PROPERTY_DEF),
434 XVECTOR (item_properties)->contents[ITEM_PROPERTY_KEYEQ], 434 AREF (item_properties, ITEM_PROPERTY_KEYEQ),
435 XVECTOR (item_properties)->contents[ITEM_PROPERTY_TYPE], 435 AREF (item_properties, ITEM_PROPERTY_TYPE),
436 XVECTOR (item_properties)->contents[ITEM_PROPERTY_SELECTED], 436 AREF (item_properties, ITEM_PROPERTY_SELECTED),
437 XVECTOR (item_properties)->contents[ITEM_PROPERTY_HELP]); 437 AREF (item_properties, ITEM_PROPERTY_HELP));
438 438
439#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (HAVE_NS) || defined (HAVE_NTGUI) 439#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (HAVE_NS) || defined (HAVE_NTGUI)
440 /* Display a submenu using the toolkit. */ 440 /* Display a submenu using the toolkit. */
@@ -645,27 +645,27 @@ digest_single_submenu (int start, int end, int top_level_items)
645 i = start; 645 i = start;
646 while (i < end) 646 while (i < end)
647 { 647 {
648 if (EQ (XVECTOR (menu_items)->contents[i], Qnil)) 648 if (EQ (AREF (menu_items, i), Qnil))
649 { 649 {
650 submenu_stack[submenu_depth++] = save_wv; 650 submenu_stack[submenu_depth++] = save_wv;
651 save_wv = prev_wv; 651 save_wv = prev_wv;
652 prev_wv = 0; 652 prev_wv = 0;
653 i++; 653 i++;
654 } 654 }
655 else if (EQ (XVECTOR (menu_items)->contents[i], Qlambda)) 655 else if (EQ (AREF (menu_items, i), Qlambda))
656 { 656 {
657 prev_wv = save_wv; 657 prev_wv = save_wv;
658 save_wv = submenu_stack[--submenu_depth]; 658 save_wv = submenu_stack[--submenu_depth];
659 i++; 659 i++;
660 } 660 }
661 else if (EQ (XVECTOR (menu_items)->contents[i], Qt) 661 else if (EQ (AREF (menu_items, i), Qt)
662 && submenu_depth != 0) 662 && submenu_depth != 0)
663 i += MENU_ITEMS_PANE_LENGTH; 663 i += MENU_ITEMS_PANE_LENGTH;
664 /* Ignore a nil in the item list. 664 /* Ignore a nil in the item list.
665 It's meaningful only for dialog boxes. */ 665 It's meaningful only for dialog boxes. */
666 else if (EQ (XVECTOR (menu_items)->contents[i], Qquote)) 666 else if (EQ (AREF (menu_items, i), Qquote))
667 i += 1; 667 i += 1;
668 else if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 668 else if (EQ (AREF (menu_items, i), Qt))
669 { 669 {
670 /* Create a new pane. */ 670 /* Create a new pane. */
671 Lisp_Object pane_name; 671 Lisp_Object pane_name;
@@ -673,7 +673,7 @@ digest_single_submenu (int start, int end, int top_level_items)
673 673
674 panes_seen++; 674 panes_seen++;
675 675
676 pane_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_NAME]; 676 pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME);
677 677
678#ifdef HAVE_NTGUI 678#ifdef HAVE_NTGUI
679 if (STRINGP (pane_name)) 679 if (STRINGP (pane_name))
@@ -893,25 +893,25 @@ find_and_call_menu_selection (FRAME_PTR f, int menu_bar_items_used, Lisp_Object
893 893
894 while (i < menu_bar_items_used) 894 while (i < menu_bar_items_used)
895 { 895 {
896 if (EQ (XVECTOR (vector)->contents[i], Qnil)) 896 if (EQ (AREF (vector, i), Qnil))
897 { 897 {
898 subprefix_stack[submenu_depth++] = prefix; 898 subprefix_stack[submenu_depth++] = prefix;
899 prefix = entry; 899 prefix = entry;
900 i++; 900 i++;
901 } 901 }
902 else if (EQ (XVECTOR (vector)->contents[i], Qlambda)) 902 else if (EQ (AREF (vector, i), Qlambda))
903 { 903 {
904 prefix = subprefix_stack[--submenu_depth]; 904 prefix = subprefix_stack[--submenu_depth];
905 i++; 905 i++;
906 } 906 }
907 else if (EQ (XVECTOR (vector)->contents[i], Qt)) 907 else if (EQ (AREF (vector, i), Qt))
908 { 908 {
909 prefix = XVECTOR (vector)->contents[i + MENU_ITEMS_PANE_PREFIX]; 909 prefix = AREF (vector, i + MENU_ITEMS_PANE_PREFIX);
910 i += MENU_ITEMS_PANE_LENGTH; 910 i += MENU_ITEMS_PANE_LENGTH;
911 } 911 }
912 else 912 else
913 { 913 {
914 entry = XVECTOR (vector)->contents[i + MENU_ITEMS_ITEM_VALUE]; 914 entry = AREF (vector, i + MENU_ITEMS_ITEM_VALUE);
915 /* Treat the pointer as an integer. There's no problem 915 /* Treat the pointer as an integer. There's no problem
916 as long as pointers have enough bits to hold small integers. */ 916 as long as pointers have enough bits to hold small integers. */
917 if ((intptr_t) client_data == i) 917 if ((intptr_t) client_data == i)
@@ -976,32 +976,32 @@ find_and_return_menu_selection (FRAME_PTR f, int keymaps, void *client_data)
976 976
977 while (i < menu_items_used) 977 while (i < menu_items_used)
978 { 978 {
979 if (EQ (XVECTOR (menu_items)->contents[i], Qnil)) 979 if (EQ (AREF (menu_items, i), Qnil))
980 { 980 {
981 subprefix_stack[submenu_depth++] = prefix; 981 subprefix_stack[submenu_depth++] = prefix;
982 prefix = entry; 982 prefix = entry;
983 i++; 983 i++;
984 } 984 }
985 else if (EQ (XVECTOR (menu_items)->contents[i], Qlambda)) 985 else if (EQ (AREF (menu_items, i), Qlambda))
986 { 986 {
987 prefix = subprefix_stack[--submenu_depth]; 987 prefix = subprefix_stack[--submenu_depth];
988 i++; 988 i++;
989 } 989 }
990 else if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 990 else if (EQ (AREF (menu_items, i), Qt))
991 { 991 {
992 prefix 992 prefix
993 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX]; 993 = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
994 i += MENU_ITEMS_PANE_LENGTH; 994 i += MENU_ITEMS_PANE_LENGTH;
995 } 995 }
996 /* Ignore a nil in the item list. 996 /* Ignore a nil in the item list.
997 It's meaningful only for dialog boxes. */ 997 It's meaningful only for dialog boxes. */
998 else if (EQ (XVECTOR (menu_items)->contents[i], Qquote)) 998 else if (EQ (AREF (menu_items, i), Qquote))
999 i += 1; 999 i += 1;
1000 else 1000 else
1001 { 1001 {
1002 entry 1002 entry
1003 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_VALUE]; 1003 = AREF (menu_items, i + MENU_ITEMS_ITEM_VALUE);
1004 if (&XVECTOR (menu_items)->contents[i] == client_data) 1004 if (&AREF (menu_items, i) == client_data)
1005 { 1005 {
1006 if (keymaps != 0) 1006 if (keymaps != 0)
1007 { 1007 {
diff --git a/src/minibuf.c b/src/minibuf.c
index bed9bb39d31..d0e503486fd 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -1266,7 +1266,7 @@ is used to further constrain the set of candidates. */)
1266 { 1266 {
1267 collection = check_obarray (collection); 1267 collection = check_obarray (collection);
1268 obsize = ASIZE (collection); 1268 obsize = ASIZE (collection);
1269 bucket = XVECTOR (collection)->contents[idx]; 1269 bucket = AREF (collection, idx);
1270 } 1270 }
1271 1271
1272 while (1) 1272 while (1)
@@ -1301,7 +1301,7 @@ is used to further constrain the set of candidates. */)
1301 break; 1301 break;
1302 else 1302 else
1303 { 1303 {
1304 bucket = XVECTOR (collection)->contents[idx]; 1304 bucket = AREF (collection, idx);
1305 continue; 1305 continue;
1306 } 1306 }
1307 } 1307 }
@@ -1529,7 +1529,7 @@ with a space are ignored unless STRING itself starts with a space. */)
1529 { 1529 {
1530 collection = check_obarray (collection); 1530 collection = check_obarray (collection);
1531 obsize = ASIZE (collection); 1531 obsize = ASIZE (collection);
1532 bucket = XVECTOR (collection)->contents[idx]; 1532 bucket = AREF (collection, idx);
1533 } 1533 }
1534 1534
1535 while (1) 1535 while (1)
@@ -1564,7 +1564,7 @@ with a space are ignored unless STRING itself starts with a space. */)
1564 break; 1564 break;
1565 else 1565 else
1566 { 1566 {
1567 bucket = XVECTOR (collection)->contents[idx]; 1567 bucket = AREF (collection, idx);
1568 continue; 1568 continue;
1569 } 1569 }
1570 } 1570 }
@@ -1772,7 +1772,7 @@ the values STRING, PREDICATE and `lambda'. */)
1772 { 1772 {
1773 for (i = ASIZE (collection) - 1; i >= 0; i--) 1773 for (i = ASIZE (collection) - 1; i >= 0; i--)
1774 { 1774 {
1775 tail = XVECTOR (collection)->contents[i]; 1775 tail = AREF (collection, i);
1776 if (SYMBOLP (tail)) 1776 if (SYMBOLP (tail))
1777 while (1) 1777 while (1)
1778 { 1778 {
diff --git a/src/msdos.c b/src/msdos.c
index c6213b566b8..c9bee400020 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -2466,12 +2466,10 @@ dos_rawgetc (void)
2466 sc = regs.h.ah; 2466 sc = regs.h.ah;
2467 2467
2468 total_doskeys += 2; 2468 total_doskeys += 2;
2469 XVECTOR (recent_doskeys)->contents[recent_doskeys_index++] 2469 ASET (recent_doskeys, recent_doskeys_index, make_number (c)), recent_doskeys_index++;
2470 = make_number (c);
2471 if (recent_doskeys_index == NUM_RECENT_DOSKEYS) 2470 if (recent_doskeys_index == NUM_RECENT_DOSKEYS)
2472 recent_doskeys_index = 0; 2471 recent_doskeys_index = 0;
2473 XVECTOR (recent_doskeys)->contents[recent_doskeys_index++] 2472 ASET (recent_doskeys, recent_doskeys_index, make_number (sc)), recent_doskeys_index++;
2474 = make_number (sc);
2475 if (recent_doskeys_index == NUM_RECENT_DOSKEYS) 2473 if (recent_doskeys_index == NUM_RECENT_DOSKEYS)
2476 recent_doskeys_index = 0; 2474 recent_doskeys_index = 0;
2477 2475
diff --git a/src/print.c b/src/print.c
index a388832b07b..a632f45bbeb 100644
--- a/src/print.c
+++ b/src/print.c
@@ -1208,7 +1208,7 @@ print_preprocess (Lisp_Object obj)
1208 if (size & PSEUDOVECTOR_FLAG) 1208 if (size & PSEUDOVECTOR_FLAG)
1209 size &= PSEUDOVECTOR_SIZE_MASK; 1209 size &= PSEUDOVECTOR_SIZE_MASK;
1210 for (i = 0; i < size; i++) 1210 for (i = 0; i < size; i++)
1211 print_preprocess (XVECTOR (obj)->contents[i]); 1211 print_preprocess (AREF (obj, i));
1212 if (HASH_TABLE_P (obj)) 1212 if (HASH_TABLE_P (obj))
1213 { /* For hash tables, the key_and_value slot is past 1213 { /* For hash tables, the key_and_value slot is past
1214 `size' because it needs to be marked specially in case 1214 `size' because it needs to be marked specially in case
@@ -1960,7 +1960,7 @@ print_object (Lisp_Object obj, register Lisp_Object printcharfun, int escapeflag
1960 for (i = 0; i < size; i++) 1960 for (i = 0; i < size; i++)
1961 { 1961 {
1962 if (i) PRINTCHAR (' '); 1962 if (i) PRINTCHAR (' ');
1963 tem = XVECTOR (obj)->contents[i]; 1963 tem = AREF (obj, i);
1964 print_object (tem, printcharfun, escapeflag); 1964 print_object (tem, printcharfun, escapeflag);
1965 } 1965 }
1966 if (size < real_size) 1966 if (size < real_size)
diff --git a/src/syntax.c b/src/syntax.c
index 0518a47f92d..1ad66833ff7 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -988,7 +988,7 @@ text property. */)
988 } 988 }
989 989
990 if (val < ASIZE (Vsyntax_code_object) && NILP (match)) 990 if (val < ASIZE (Vsyntax_code_object) && NILP (match))
991 return XVECTOR (Vsyntax_code_object)->contents[val]; 991 return AREF (Vsyntax_code_object, val);
992 else 992 else
993 /* Since we can't use a shared object, let's make a new one. */ 993 /* Since we can't use a shared object, let's make a new one. */
994 return Fcons (make_number (val), match); 994 return Fcons (make_number (val), match);
@@ -3386,32 +3386,31 @@ init_syntax_once (void)
3386 /* Create objects which can be shared among syntax tables. */ 3386 /* Create objects which can be shared among syntax tables. */
3387 Vsyntax_code_object = Fmake_vector (make_number (Smax), Qnil); 3387 Vsyntax_code_object = Fmake_vector (make_number (Smax), Qnil);
3388 for (i = 0; i < ASIZE (Vsyntax_code_object); i++) 3388 for (i = 0; i < ASIZE (Vsyntax_code_object); i++)
3389 XVECTOR (Vsyntax_code_object)->contents[i] 3389 ASET (Vsyntax_code_object, i, Fcons (make_number (i), Qnil));
3390 = Fcons (make_number (i), Qnil);
3391 3390
3392 /* Now we are ready to set up this property, so we can 3391 /* Now we are ready to set up this property, so we can
3393 create syntax tables. */ 3392 create syntax tables. */
3394 Fput (Qsyntax_table, Qchar_table_extra_slots, make_number (0)); 3393 Fput (Qsyntax_table, Qchar_table_extra_slots, make_number (0));
3395 3394
3396 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Swhitespace]; 3395 temp = AREF (Vsyntax_code_object, (int) Swhitespace);
3397 3396
3398 Vstandard_syntax_table = Fmake_char_table (Qsyntax_table, temp); 3397 Vstandard_syntax_table = Fmake_char_table (Qsyntax_table, temp);
3399 3398
3400 /* Control characters should not be whitespace. */ 3399 /* Control characters should not be whitespace. */
3401 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Spunct]; 3400 temp = AREF (Vsyntax_code_object, (int) Spunct);
3402 for (i = 0; i <= ' ' - 1; i++) 3401 for (i = 0; i <= ' ' - 1; i++)
3403 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, i, temp); 3402 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, i, temp);
3404 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, 0177, temp); 3403 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, 0177, temp);
3405 3404
3406 /* Except that a few really are whitespace. */ 3405 /* Except that a few really are whitespace. */
3407 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Swhitespace]; 3406 temp = AREF (Vsyntax_code_object, (int) Swhitespace);
3408 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, ' ', temp); 3407 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, ' ', temp);
3409 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, '\t', temp); 3408 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, '\t', temp);
3410 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, '\n', temp); 3409 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, '\n', temp);
3411 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, 015, temp); 3410 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, 015, temp);
3412 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, 014, temp); 3411 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, 014, temp);
3413 3412
3414 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Sword]; 3413 temp = AREF (Vsyntax_code_object, (int) Sword);
3415 for (i = 'a'; i <= 'z'; i++) 3414 for (i = 'a'; i <= 'z'; i++)
3416 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, i, temp); 3415 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, i, temp);
3417 for (i = 'A'; i <= 'Z'; i++) 3416 for (i = 'A'; i <= 'Z'; i++)
@@ -3439,14 +3438,14 @@ init_syntax_once (void)
3439 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, '\\', 3438 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, '\\',
3440 Fcons (make_number ((int) Sescape), Qnil)); 3439 Fcons (make_number ((int) Sescape), Qnil));
3441 3440
3442 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Ssymbol]; 3441 temp = AREF (Vsyntax_code_object, (int) Ssymbol);
3443 for (i = 0; i < 10; i++) 3442 for (i = 0; i < 10; i++)
3444 { 3443 {
3445 c = "_-+*/&|<>="[i]; 3444 c = "_-+*/&|<>="[i];
3446 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, c, temp); 3445 SET_RAW_SYNTAX_ENTRY (Vstandard_syntax_table, c, temp);
3447 } 3446 }
3448 3447
3449 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Spunct]; 3448 temp = AREF (Vsyntax_code_object, (int) Spunct);
3450 for (i = 0; i < 12; i++) 3449 for (i = 0; i < 12; i++)
3451 { 3450 {
3452 c = ".,;:?!#@~^'`"[i]; 3451 c = ".,;:?!#@~^'`"[i];
@@ -3454,7 +3453,7 @@ init_syntax_once (void)
3454 } 3453 }
3455 3454
3456 /* All multibyte characters have syntax `word' by default. */ 3455 /* All multibyte characters have syntax `word' by default. */
3457 temp = XVECTOR (Vsyntax_code_object)->contents[(int) Sword]; 3456 temp = AREF (Vsyntax_code_object, (int) Sword);
3458 char_table_set_range (Vstandard_syntax_table, 0x80, MAX_CHAR, temp); 3457 char_table_set_range (Vstandard_syntax_table, 0x80, MAX_CHAR, temp);
3459} 3458}
3460 3459
diff --git a/src/window.c b/src/window.c
index 8cdfff04fba..9420d733bc1 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6036,8 +6036,8 @@ saved by this function. */)
6036 tem = Fmake_vector (make_number (n_windows), Qnil); 6036 tem = Fmake_vector (make_number (n_windows), Qnil);
6037 data->saved_windows = tem; 6037 data->saved_windows = tem;
6038 for (i = 0; i < n_windows; i++) 6038 for (i = 0; i < n_windows; i++)
6039 XVECTOR (tem)->contents[i] 6039 ASET (tem, i,
6040 = Fmake_vector (make_number (VECSIZE (struct saved_window)), Qnil); 6040 Fmake_vector (make_number (VECSIZE (struct saved_window)), Qnil));
6041 save_window_save (FRAME_ROOT_WINDOW (f), XVECTOR (tem), 0); 6041 save_window_save (FRAME_ROOT_WINDOW (f), XVECTOR (tem), 0);
6042 XSETWINDOW_CONFIGURATION (tem, data); 6042 XSETWINDOW_CONFIGURATION (tem, data);
6043 return (tem); 6043 return (tem);
diff --git a/src/xmenu.c b/src/xmenu.c
index dc98b980278..08b444f09f2 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -1040,9 +1040,9 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1040 { 1040 {
1041 Lisp_Object key, string, maps; 1041 Lisp_Object key, string, maps;
1042 1042
1043 key = XVECTOR (items)->contents[4 * i]; 1043 key = AREF (items, 4 * i);
1044 string = XVECTOR (items)->contents[4 * i + 1]; 1044 string = AREF (items, 4 * i + 1);
1045 maps = XVECTOR (items)->contents[4 * i + 2]; 1045 maps = AREF (items, 4 * i + 2);
1046 if (NILP (string)) 1046 if (NILP (string))
1047 break; 1047 break;
1048 1048
@@ -1093,7 +1093,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1093 /* Compare the new menu items with the ones computed last time. */ 1093 /* Compare the new menu items with the ones computed last time. */
1094 for (i = 0; i < previous_menu_items_used; i++) 1094 for (i = 0; i < previous_menu_items_used; i++)
1095 if (menu_items_used == i 1095 if (menu_items_used == i
1096 || (!EQ (previous_items[i], XVECTOR (menu_items)->contents[i]))) 1096 || (!EQ (previous_items[i], AREF (menu_items, i))))
1097 break; 1097 break;
1098 if (i == menu_items_used && i == previous_menu_items_used && i != 0) 1098 if (i == menu_items_used && i == previous_menu_items_used && i != 0)
1099 { 1099 {
@@ -1118,7 +1118,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1118 for (i = 0; i < ASIZE (items); i += 4) 1118 for (i = 0; i < ASIZE (items); i += 4)
1119 { 1119 {
1120 Lisp_Object string; 1120 Lisp_Object string;
1121 string = XVECTOR (items)->contents[i + 1]; 1121 string = AREF (items, i + 1);
1122 if (NILP (string)) 1122 if (NILP (string))
1123 break; 1123 break;
1124 wv->name = SSDATA (string); 1124 wv->name = SSDATA (string);
@@ -1145,7 +1145,7 @@ set_frame_menubar (FRAME_PTR f, int first_time, int deep_p)
1145 { 1145 {
1146 Lisp_Object string; 1146 Lisp_Object string;
1147 1147
1148 string = XVECTOR (items)->contents[i + 1]; 1148 string = AREF (items, i + 1);
1149 if (NILP (string)) 1149 if (NILP (string))
1150 break; 1150 break;
1151 1151
@@ -1677,7 +1677,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1677 i = 0; 1677 i = 0;
1678 while (i < menu_items_used) 1678 while (i < menu_items_used)
1679 { 1679 {
1680 if (EQ (XVECTOR (menu_items)->contents[i], Qnil)) 1680 if (EQ (AREF (menu_items, i), Qnil))
1681 { 1681 {
1682 submenu_stack[submenu_depth++] = save_wv; 1682 submenu_stack[submenu_depth++] = save_wv;
1683 save_wv = prev_wv; 1683 save_wv = prev_wv;
@@ -1685,21 +1685,21 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1685 first_pane = 1; 1685 first_pane = 1;
1686 i++; 1686 i++;
1687 } 1687 }
1688 else if (EQ (XVECTOR (menu_items)->contents[i], Qlambda)) 1688 else if (EQ (AREF (menu_items, i), Qlambda))
1689 { 1689 {
1690 prev_wv = save_wv; 1690 prev_wv = save_wv;
1691 save_wv = submenu_stack[--submenu_depth]; 1691 save_wv = submenu_stack[--submenu_depth];
1692 first_pane = 0; 1692 first_pane = 0;
1693 i++; 1693 i++;
1694 } 1694 }
1695 else if (EQ (XVECTOR (menu_items)->contents[i], Qt) 1695 else if (EQ (AREF (menu_items, i), Qt)
1696 && submenu_depth != 0) 1696 && submenu_depth != 0)
1697 i += MENU_ITEMS_PANE_LENGTH; 1697 i += MENU_ITEMS_PANE_LENGTH;
1698 /* Ignore a nil in the item list. 1698 /* Ignore a nil in the item list.
1699 It's meaningful only for dialog boxes. */ 1699 It's meaningful only for dialog boxes. */
1700 else if (EQ (XVECTOR (menu_items)->contents[i], Qquote)) 1700 else if (EQ (AREF (menu_items, i), Qquote))
1701 i += 1; 1701 i += 1;
1702 else if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 1702 else if (EQ (AREF (menu_items, i), Qt))
1703 { 1703 {
1704 /* Create a new pane. */ 1704 /* Create a new pane. */
1705 Lisp_Object pane_name, prefix; 1705 Lisp_Object pane_name, prefix;
@@ -1789,7 +1789,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1789 make the call_data null so that it won't display a box 1789 make the call_data null so that it won't display a box
1790 when the mouse is on it. */ 1790 when the mouse is on it. */
1791 wv->call_data 1791 wv->call_data
1792 = (!NILP (def) ? (void *) &XVECTOR (menu_items)->contents[i] : 0); 1792 = (!NILP (def) ? (void *) &AREF (menu_items, i) : 0);
1793 wv->enabled = !NILP (enable); 1793 wv->enabled = !NILP (enable);
1794 1794
1795 if (NILP (type)) 1795 if (NILP (type))
@@ -1865,32 +1865,32 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
1865 i = 0; 1865 i = 0;
1866 while (i < menu_items_used) 1866 while (i < menu_items_used)
1867 { 1867 {
1868 if (EQ (XVECTOR (menu_items)->contents[i], Qnil)) 1868 if (EQ (AREF (menu_items, i), Qnil))
1869 { 1869 {
1870 subprefix_stack[submenu_depth++] = prefix; 1870 subprefix_stack[submenu_depth++] = prefix;
1871 prefix = entry; 1871 prefix = entry;
1872 i++; 1872 i++;
1873 } 1873 }
1874 else if (EQ (XVECTOR (menu_items)->contents[i], Qlambda)) 1874 else if (EQ (AREF (menu_items, i), Qlambda))
1875 { 1875 {
1876 prefix = subprefix_stack[--submenu_depth]; 1876 prefix = subprefix_stack[--submenu_depth];
1877 i++; 1877 i++;
1878 } 1878 }
1879 else if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 1879 else if (EQ (AREF (menu_items, i), Qt))
1880 { 1880 {
1881 prefix 1881 prefix
1882 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX]; 1882 = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
1883 i += MENU_ITEMS_PANE_LENGTH; 1883 i += MENU_ITEMS_PANE_LENGTH;
1884 } 1884 }
1885 /* Ignore a nil in the item list. 1885 /* Ignore a nil in the item list.
1886 It's meaningful only for dialog boxes. */ 1886 It's meaningful only for dialog boxes. */
1887 else if (EQ (XVECTOR (menu_items)->contents[i], Qquote)) 1887 else if (EQ (AREF (menu_items, i), Qquote))
1888 i += 1; 1888 i += 1;
1889 else 1889 else
1890 { 1890 {
1891 entry 1891 entry
1892 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_VALUE]; 1892 = AREF (menu_items, i + MENU_ITEMS_ITEM_VALUE);
1893 if (menu_item_selection == &XVECTOR (menu_items)->contents[i]) 1893 if (menu_item_selection == &AREF (menu_items, i))
1894 { 1894 {
1895 if (keymaps != 0) 1895 if (keymaps != 0)
1896 { 1896 {
@@ -2058,8 +2058,8 @@ xdialog_show (FRAME_PTR f,
2058 { 2058 {
2059 Lisp_Object pane_name, prefix; 2059 Lisp_Object pane_name, prefix;
2060 const char *pane_string; 2060 const char *pane_string;
2061 pane_name = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_NAME]; 2061 pane_name = AREF (menu_items, MENU_ITEMS_PANE_NAME);
2062 prefix = XVECTOR (menu_items)->contents[MENU_ITEMS_PANE_PREFIX]; 2062 prefix = AREF (menu_items, MENU_ITEMS_PANE_PREFIX);
2063 pane_string = (NILP (pane_name) 2063 pane_string = (NILP (pane_name)
2064 ? "" : SSDATA (pane_name)); 2064 ? "" : SSDATA (pane_name));
2065 prev_wv = xmalloc_widget_value (); 2065 prev_wv = xmalloc_widget_value ();
@@ -2078,10 +2078,10 @@ xdialog_show (FRAME_PTR f,
2078 2078
2079 /* Create a new item within current pane. */ 2079 /* Create a new item within current pane. */
2080 Lisp_Object item_name, enable, descrip; 2080 Lisp_Object item_name, enable, descrip;
2081 item_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_NAME]; 2081 item_name = AREF (menu_items, i + MENU_ITEMS_ITEM_NAME);
2082 enable = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_ENABLE]; 2082 enable = AREF (menu_items, i + MENU_ITEMS_ITEM_ENABLE);
2083 descrip 2083 descrip
2084 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_EQUIV_KEY]; 2084 = AREF (menu_items, i + MENU_ITEMS_ITEM_EQUIV_KEY);
2085 2085
2086 if (NILP (item_name)) 2086 if (NILP (item_name))
2087 { 2087 {
@@ -2110,7 +2110,7 @@ xdialog_show (FRAME_PTR f,
2110 if (!NILP (descrip)) 2110 if (!NILP (descrip))
2111 wv->key = SSDATA (descrip); 2111 wv->key = SSDATA (descrip);
2112 wv->value = SSDATA (item_name); 2112 wv->value = SSDATA (item_name);
2113 wv->call_data = (void *) &XVECTOR (menu_items)->contents[i]; 2113 wv->call_data = (void *) &AREF (menu_items, i);
2114 wv->enabled = !NILP (enable); 2114 wv->enabled = !NILP (enable);
2115 wv->help = Qnil; 2115 wv->help = Qnil;
2116 prev_wv = wv; 2116 prev_wv = wv;
@@ -2177,13 +2177,13 @@ xdialog_show (FRAME_PTR f,
2177 { 2177 {
2178 Lisp_Object entry; 2178 Lisp_Object entry;
2179 2179
2180 if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 2180 if (EQ (AREF (menu_items, i), Qt))
2181 { 2181 {
2182 prefix 2182 prefix
2183 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX]; 2183 = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
2184 i += MENU_ITEMS_PANE_LENGTH; 2184 i += MENU_ITEMS_PANE_LENGTH;
2185 } 2185 }
2186 else if (EQ (XVECTOR (menu_items)->contents[i], Qquote)) 2186 else if (EQ (AREF (menu_items, i), Qquote))
2187 { 2187 {
2188 /* This is the boundary between left-side elts and 2188 /* This is the boundary between left-side elts and
2189 right-side elts. */ 2189 right-side elts. */
@@ -2192,8 +2192,8 @@ xdialog_show (FRAME_PTR f,
2192 else 2192 else
2193 { 2193 {
2194 entry 2194 entry
2195 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_VALUE]; 2195 = AREF (menu_items, i + MENU_ITEMS_ITEM_VALUE);
2196 if (menu_item_selection == &XVECTOR (menu_items)->contents[i]) 2196 if (menu_item_selection == &AREF (menu_items, i))
2197 { 2197 {
2198 if (keymaps != 0) 2198 if (keymaps != 0)
2199 { 2199 {
@@ -2353,7 +2353,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2353 lpane = XM_FAILURE; 2353 lpane = XM_FAILURE;
2354 while (i < menu_items_used) 2354 while (i < menu_items_used)
2355 { 2355 {
2356 if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 2356 if (EQ (AREF (menu_items, i), Qt))
2357 { 2357 {
2358 /* Create a new pane. */ 2358 /* Create a new pane. */
2359 Lisp_Object pane_name, prefix; 2359 Lisp_Object pane_name, prefix;
@@ -2361,8 +2361,8 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2361 2361
2362 maxlines = max (maxlines, lines); 2362 maxlines = max (maxlines, lines);
2363 lines = 0; 2363 lines = 0;
2364 pane_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_NAME]; 2364 pane_name = AREF (menu_items, i + MENU_ITEMS_PANE_NAME);
2365 prefix = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX]; 2365 prefix = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
2366 pane_string = (NILP (pane_name) 2366 pane_string = (NILP (pane_name)
2367 ? "" : SSDATA (pane_name)); 2367 ? "" : SSDATA (pane_name));
2368 if (keymaps && !NILP (prefix)) 2368 if (keymaps && !NILP (prefix))
@@ -2382,7 +2382,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2382 while (j < menu_items_used) 2382 while (j < menu_items_used)
2383 { 2383 {
2384 Lisp_Object item; 2384 Lisp_Object item;
2385 item = XVECTOR (menu_items)->contents[j]; 2385 item = AREF (menu_items, j);
2386 if (EQ (item, Qt)) 2386 if (EQ (item, Qt))
2387 break; 2387 break;
2388 if (NILP (item)) 2388 if (NILP (item))
@@ -2399,7 +2399,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2399 } 2399 }
2400 /* Ignore a nil in the item list. 2400 /* Ignore a nil in the item list.
2401 It's meaningful only for dialog boxes. */ 2401 It's meaningful only for dialog boxes. */
2402 else if (EQ (XVECTOR (menu_items)->contents[i], Qquote)) 2402 else if (EQ (AREF (menu_items, i), Qquote))
2403 i += 1; 2403 i += 1;
2404 else 2404 else
2405 { 2405 {
@@ -2408,11 +2408,11 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2408 char *item_data; 2408 char *item_data;
2409 char const *help_string; 2409 char const *help_string;
2410 2410
2411 item_name = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_NAME]; 2411 item_name = AREF (menu_items, i + MENU_ITEMS_ITEM_NAME);
2412 enable = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_ENABLE]; 2412 enable = AREF (menu_items, i + MENU_ITEMS_ITEM_ENABLE);
2413 descrip 2413 descrip
2414 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_EQUIV_KEY]; 2414 = AREF (menu_items, i + MENU_ITEMS_ITEM_EQUIV_KEY);
2415 help = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_HELP]; 2415 help = AREF (menu_items, i + MENU_ITEMS_ITEM_HELP);
2416 help_string = STRINGP (help) ? SSDATA (help) : NULL; 2416 help_string = STRINGP (help) ? SSDATA (help) : NULL;
2417 2417
2418 if (!NILP (descrip)) 2418 if (!NILP (descrip))
@@ -2526,11 +2526,11 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2526 i = 0; 2526 i = 0;
2527 while (i < menu_items_used) 2527 while (i < menu_items_used)
2528 { 2528 {
2529 if (EQ (XVECTOR (menu_items)->contents[i], Qt)) 2529 if (EQ (AREF (menu_items, i), Qt))
2530 { 2530 {
2531 if (pane == 0) 2531 if (pane == 0)
2532 pane_prefix 2532 pane_prefix
2533 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_PANE_PREFIX]; 2533 = AREF (menu_items, i + MENU_ITEMS_PANE_PREFIX);
2534 pane--; 2534 pane--;
2535 i += MENU_ITEMS_PANE_LENGTH; 2535 i += MENU_ITEMS_PANE_LENGTH;
2536 } 2536 }
@@ -2541,7 +2541,7 @@ xmenu_show (FRAME_PTR f, int x, int y, int for_click, int keymaps,
2541 if (selidx == 0) 2541 if (selidx == 0)
2542 { 2542 {
2543 entry 2543 entry
2544 = XVECTOR (menu_items)->contents[i + MENU_ITEMS_ITEM_VALUE]; 2544 = AREF (menu_items, i + MENU_ITEMS_ITEM_VALUE);
2545 if (keymaps != 0) 2545 if (keymaps != 0)
2546 { 2546 {
2547 entry = Fcons (entry, Qnil); 2547 entry = Fcons (entry, Qnil);
diff --git a/src/xselect.c b/src/xselect.c
index f1eda5d7c85..49a491d4163 100644
--- a/src/xselect.c
+++ b/src/xselect.c
@@ -1816,12 +1816,12 @@ lisp_data_to_selection_data (Display *display, Lisp_Object obj,
1816 ptrdiff_t i; 1816 ptrdiff_t i;
1817 ptrdiff_t size = ASIZE (obj); 1817 ptrdiff_t size = ASIZE (obj);
1818 1818
1819 if (SYMBOLP (XVECTOR (obj)->contents [0])) 1819 if (SYMBOLP (AREF (obj, 0)))
1820 /* This vector is an ATOM set */ 1820 /* This vector is an ATOM set */
1821 { 1821 {
1822 if (NILP (type)) type = QATOM; 1822 if (NILP (type)) type = QATOM;
1823 for (i = 0; i < size; i++) 1823 for (i = 0; i < size; i++)
1824 if (!SYMBOLP (XVECTOR (obj)->contents [i])) 1824 if (!SYMBOLP (AREF (obj, i)))
1825 signal_error ("All elements of selection vector must have same type", obj); 1825 signal_error ("All elements of selection vector must have same type", obj);
1826 1826
1827 *data_ret = xnmalloc (size, sizeof (Atom)); 1827 *data_ret = xnmalloc (size, sizeof (Atom));
@@ -1829,7 +1829,7 @@ lisp_data_to_selection_data (Display *display, Lisp_Object obj,
1829 *size_ret = size; 1829 *size_ret = size;
1830 for (i = 0; i < size; i++) 1830 for (i = 0; i < size; i++)
1831 (*(Atom **) data_ret) [i] 1831 (*(Atom **) data_ret) [i]
1832 = symbol_to_x_atom (dpyinfo, XVECTOR (obj)->contents [i]); 1832 = symbol_to_x_atom (dpyinfo, AREF (obj, i));
1833 } 1833 }
1834 else 1834 else
1835 /* This vector is an INTEGER set, or something like it */ 1835 /* This vector is an INTEGER set, or something like it */
@@ -1839,7 +1839,7 @@ lisp_data_to_selection_data (Display *display, Lisp_Object obj,
1839 if (NILP (type)) type = QINTEGER; 1839 if (NILP (type)) type = QINTEGER;
1840 for (i = 0; i < size; i++) 1840 for (i = 0; i < size; i++)
1841 { 1841 {
1842 if (! RANGED_INTEGERP (X_SHRT_MIN, XVECTOR (obj)->contents[i], 1842 if (! RANGED_INTEGERP (X_SHRT_MIN, AREF (obj, i),
1843 X_SHRT_MAX)) 1843 X_SHRT_MAX))
1844 { 1844 {
1845 /* Use sizeof (long) even if it is more than 32 bits. 1845 /* Use sizeof (long) even if it is more than 32 bits.
@@ -1857,10 +1857,10 @@ lisp_data_to_selection_data (Display *display, Lisp_Object obj,
1857 { 1857 {
1858 if (format == 32) 1858 if (format == 32)
1859 (*((unsigned long **) data_ret)) [i] = 1859 (*((unsigned long **) data_ret)) [i] =
1860 cons_to_x_long (XVECTOR (obj)->contents[i]); 1860 cons_to_x_long (AREF (obj, i));
1861 else 1861 else
1862 (*((short **) data_ret)) [i] = 1862 (*((short **) data_ret)) [i] =
1863 XINT (XVECTOR (obj)->contents[i]); 1863 XINT (AREF (obj, i));
1864 } 1864 }
1865 } 1865 }
1866 } 1866 }
@@ -1895,11 +1895,10 @@ clean_local_selection_data (Lisp_Object obj)
1895 ptrdiff_t size = ASIZE (obj); 1895 ptrdiff_t size = ASIZE (obj);
1896 Lisp_Object copy; 1896 Lisp_Object copy;
1897 if (size == 1) 1897 if (size == 1)
1898 return clean_local_selection_data (XVECTOR (obj)->contents [0]); 1898 return clean_local_selection_data (AREF (obj, 0));
1899 copy = Fmake_vector (make_number (size), Qnil); 1899 copy = Fmake_vector (make_number (size), Qnil);
1900 for (i = 0; i < size; i++) 1900 for (i = 0; i < size; i++)
1901 XVECTOR (copy)->contents [i] 1901 ASET (copy, i, clean_local_selection_data (AREF (obj, i)));
1902 = clean_local_selection_data (XVECTOR (obj)->contents [i]);
1903 return copy; 1902 return copy;
1904 } 1903 }
1905 return obj; 1904 return obj;