2014-04-03 Daniel Colascione <dancol@dancol.org>
In all places below, change expressions of the form sizeof(arr) /
- sizeof(arr[0]) to EARRAYSIZE(arr).
+ sizeof(arr[0]) to ARRAYELTS(arr).
* xterm.c (x_term_init): See above.
* data.c (Ffset): Abort if we're trying to set a function call to
a dead lisp object.
- * lisp.h (EARRAYSIZE): New macro.
+ * lisp.h (ARRAYELTS): New macro.
* alloc.c: Include execinfo.h if available.
(SUSPICIOUS_OBJECT_CHECKING): New macro; define unconditionally.
char* end_a = end;
int i;
- for (i = 0; i < EARRAYSIZE (suspicious_objects); ++i) {
+ for (i = 0; i < ARRAYELTS (suspicious_objects); ++i) {
char* suspicious_object = suspicious_objects[i];
if (begin_a <= suspicious_object && suspicious_object < end_a)
return suspicious_object;
eassert (ptr != NULL);
- for (i = 0; i < EARRAYSIZE (suspicious_objects); ++i)
+ for (i = 0; i < ARRAYELTS (suspicious_objects); ++i)
if (suspicious_objects[i] == ptr)
{
rec = &suspicious_free_history[suspicious_free_history_index++];
if (suspicious_free_history_index ==
- EARRAYSIZE (suspicious_free_history))
+ ARRAYELTS (suspicious_free_history))
{
suspicious_free_history_index = 0;
}
memset (rec, 0, sizeof (*rec));
rec->suspicious_object = ptr;
#ifdef HAVE_EXECINFO_H
- backtrace (&rec->backtrace[0], EARRAYSIZE (rec->backtrace));
+ backtrace (&rec->backtrace[0], ARRAYELTS (rec->backtrace));
#endif
suspicious_objects[i] = NULL;
}
/* Right now, we care only about vectors. */
if (VECTORLIKEP (obj)) {
suspicious_objects[suspicious_object_index++] = XVECTOR (obj);
- if (suspicious_object_index == EARRAYSIZE (suspicious_objects))
+ if (suspicious_object_index == ARRAYELTS (suspicious_objects))
suspicious_object_index = 0;
}
#endif
static uniprop_decoder_t uniprop_decoder [] =
{ uniprop_decode_value_run_length };
-static const int uniprop_decoder_count = EARRAYSIZE (uniprop_decoder);
+static const int uniprop_decoder_count = ARRAYELTS (uniprop_decoder);
/* Return the decoder of char-table TABLE or nil if none. */
uniprop_encode_value_run_length,
uniprop_encode_value_numeric };
-static const int uniprop_encoder_count = EARRAYSIZE (uniprop_encoder);
+static const int uniprop_encoder_count = ARRAYELTS (uniprop_encoder);
/* Return the encoder of char-table TABLE or nil if none. */
values[10] = INTEGER_TO_CONS (s.st_ino);
values[11] = INTEGER_TO_CONS (s.st_dev);
- return Flist (EARRAYSIZE (values), values);
+ return Flist (ARRAYELTS (values), values);
}
DEFUN ("file-attributes-lessp", Ffile_attributes_lessp, Sfile_attributes_lessp, 2, 2, 0,
{
int i;
- for (i = 0; i < EARRAYSIZE (vga_colors); i++)
+ for (i = 0; i < ARRAYELTS (vga_colors); i++)
if (xstrcasecmp (name, vga_colors[i]) == 0)
return i;
return build_string (unspecified_fg);
else if (idx == FACE_TTY_DEFAULT_BG_COLOR)
return build_string (unspecified_bg);
- else if (idx >= 0 && idx < EARRAYSIZE (vga_colors))
+ else if (idx >= 0 && idx < ARRAYELTS (vga_colors))
return build_string (vga_colors[idx]);
else
return Qunspecified; /* meaning the default */
}
/* Look for a match with a known old-fashioned option. */
- for (i = 0; i < EARRAYSIZE (standard_args); i++)
+ for (i = 0; i < ARRAYELTS (standard_args); i++)
if (!strcmp (argv[from], standard_args[i].name))
{
options[from] = standard_args[i].nargs;
match = -1;
- for (i = 0; i < EARRAYSIZE (standard_args); i++)
+ for (i = 0; i < ARRAYELTS (standard_args); i++)
if (standard_args[i].longname
&& !strncmp (argv[from], standard_args[i].longname,
thislen))
}
#endif
- return Flist (EARRAYSIZE (values), values);
+ return Flist (ARRAYELTS (values), values);
}
\f
DEFUN ("set-file-selinux-context", Fset_file_selinux_context,
param_index = Fget (prop, Qx_frame_parameter);
if (NATNUMP (param_index)
- && XFASTINT (param_index) < EARRAYSIZE (frame_parms)
+ && XFASTINT (param_index) < ARRAYELTS (frame_parms)
&& FRAME_RIF (f)->frame_parm_handlers[XINT (param_index)])
(*(FRAME_RIF (f)->frame_parm_handlers[XINT (param_index)])) (f, val, old_value);
}
param_index = Fget (prop, Qx_frame_parameter);
if (NATNUMP (param_index)
- && XFASTINT (param_index) < EARRAYSIZE (frame_parms)
+ && XFASTINT (param_index) < ARRAYELTS (frame_parms)
&& FRAME_RIF (f)->frame_parm_handlers[XINT (param_index)])
(*(FRAME_RIF (f)->frame_parm_handlers[XINT (param_index)])) (f, val, old_value);
}
{
Lisp_Object parm_index = Fget (Qbackground_color, Qx_frame_parameter);
if (NATNUMP (parm_index)
- && XFASTINT (parm_index) < EARRAYSIZE (frame_parms)
+ && XFASTINT (parm_index) < ARRAYELTS (frame_parms)
&& FRAME_RIF (f)->frame_parm_handlers[XFASTINT (parm_index)])
(*FRAME_RIF (f)->frame_parm_handlers[XFASTINT (parm_index)])
(f, bgcolor, Qnil);
{
int i;
- for (i = 0; i < EARRAYSIZE (frame_parms); i++)
+ for (i = 0; i < ARRAYELTS (frame_parms); i++)
{
Lisp_Object v = intern_c_string (frame_parms[i].name);
if (frame_parms[i].variable)
#define NO_FRINGE_BITMAP 0
#define UNDEF_FRINGE_BITMAP 1
-#define MAX_STANDARD_FRINGE_BITMAPS EARRAYSIZE (standard_bitmaps)
+#define MAX_STANDARD_FRINGE_BITMAPS ARRAYELTS (standard_bitmaps)
static struct fringe_bitmap **fringe_bitmaps;
static Lisp_Object *fringe_faces;
{
int i;
- for (i = 0; i < EARRAYSIZE (xpm_color_key_strings); i++)
+ for (i = 0; i < ARRAYELTS (xpm_color_key_strings); i++)
if (strcmp (xpm_color_key_strings[i], s) == 0)
return i;
return -1;
Vthis_command_keys_shift_translated = Qnil;
/* Read next key sequence; i gets its length. */
- i = read_key_sequence (keybuf, EARRAYSIZE (keybuf),
+ i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
Qnil, 0, 1, 1, 0);
/* A filter may have run while we were reading the input. */
menus. */
specbind (Qecho_keystrokes, make_number (0));
- i = read_key_sequence (keybuf, EARRAYSIZE (keybuf),
+ i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
Qnil, 0, 1, 1, 1);
unbind_to (count, Qnil);
event->modifiers,
Qfunction_key, Qnil,
lispy_accent_keys, &accent_key_syms,
- EARRAYSIZE (lispy_accent_keys));
+ ARRAYELTS (lispy_accent_keys));
#if 0
#ifdef XK_kana_A
event->modifiers & ~shift_modifier,
Qfunction_key, Qnil,
lispy_kana_keys, &func_key_syms,
- EARRAYSIZE (lispy_kana_keys));
+ ARRAYELTS (lispy_kana_keys));
#endif /* XK_kana_A */
#endif /* 0 */
event->modifiers,
Qfunction_key, Qnil,
iso_lispy_function_keys, &func_key_syms,
- EARRAYSIZE (iso_lispy_function_keys));
+ ARRAYELTS (iso_lispy_function_keys));
#endif
/* Handle system-specific or unknown keysyms. */
event->modifiers,
Qfunction_key, Qnil,
lispy_function_keys, &func_key_syms,
- EARRAYSIZE (lispy_function_keys));
+ ARRAYELTS (lispy_function_keys));
#ifdef HAVE_NTGUI
case MULTIMEDIA_KEY_EVENT:
- if (event->code < EARRAYSIZE (lispy_multimedia_keys)
+ if (event->code < ARRAYELTS (lispy_multimedia_keys)
&& event->code > 0 && lispy_multimedia_keys[event->code])
{
return modify_event_symbol (event->code, event->modifiers,
Qfunction_key, Qnil,
lispy_multimedia_keys, &func_key_syms,
- EARRAYSIZE (lispy_multimedia_keys));
+ ARRAYELTS (lispy_multimedia_keys));
}
return Qnil;
#endif
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, "alt", "super", "hyper", "shift", "control", "meta"
};
-#define NUM_MOD_NAMES EARRAYSIZE (modifier_names)
+#define NUM_MOD_NAMES ARRAYELTS (modifier_names)
static Lisp_Object modifier_symbols;
memset (keybuf, 0, sizeof keybuf);
GCPRO1 (keybuf[0]);
- gcpro1.nvars = EARRAYSIZE (keybuf);
+ gcpro1.nvars = ARRAYELTS (keybuf);
if (NILP (continue_echo))
{
cancel_hourglass ();
#endif
- i = read_key_sequence (keybuf, EARRAYSIZE (keybuf),
+ i = read_key_sequence (keybuf, ARRAYELTS (keybuf),
prompt, ! NILP (dont_downcase_last),
! NILP (can_return_switch_frame), 0, 0);
}
XSETFASTINT (val[3], quit_char);
- return Flist (EARRAYSIZE (val), val);
+ return Flist (ARRAYELTS (val), val);
}
DEFUN ("posn-at-x-y", Fposn_at_x_y, Sposn_at_x_y, 2, 4, 0,
{
int i;
- int len = EARRAYSIZE (head_table);
+ int len = ARRAYELTS (head_table);
for (i = 0; i < len; i++)
{
staticpro (&button_down_location);
mouse_syms = Fmake_vector (make_number (5), Qnil);
staticpro (&mouse_syms);
- wheel_syms = Fmake_vector (make_number (EARRAYSIZE (lispy_wheel_names)),
+ wheel_syms = Fmake_vector (make_number (ARRAYELTS (lispy_wheel_names)),
Qnil);
staticpro (&wheel_syms);
{
int i;
- int len = EARRAYSIZE (modifier_names);
+ int len = ARRAYELTS (modifier_names);
modifier_symbols = Fmake_vector (make_number (len), Qnil);
for (i = 0; i < len; i++)
#define min(a, b) ((a) < (b) ? (a) : (b))
/* Find number of elements in array */
-#define EARRAYSIZE(arr) (sizeof (arr) / sizeof ((arr)[0]))
+#define ARRAYELTS(arr) (sizeof (arr) / sizeof ((arr)[0]))
/* EMACS_INT - signed integer wide enough to hold an Emacs value
EMACS_INT_MAX - maximum value of EMACS_INT; can be used in #if
unichar characters[] = {0xfffd};
NSString *string =
[NSString stringWithCharacters:characters
- length:EARRAYSIZE (characters)];
+ length:ARRAYELTS (characters)];
NSGlyphInfo *glyphInfo =
[NSGlyphInfo glyphInfoWithCharacterIdentifier:cid
collection:collection
{{0, 100}, {1, 200}, {CGFLOAT_MAX, CGFLOAT_MAX}}}};
int i;
- for (i = 0; i < EARRAYSIZE (numeric_traits); i++)
+ for (i = 0; i < ARRAYELTS (numeric_traits); i++)
{
num = CFDictionaryGetValue (dict, numeric_traits[i].trait);
if (num && CFNumberGetValue (num, kCFNumberCGFloatType, &floatval))
if (! traits)
goto err;
- for (i = 0; i < EARRAYSIZE (numeric_traits); i++)
+ for (i = 0; i < ARRAYELTS (numeric_traits); i++)
{
tmp = AREF (spec, numeric_traits[i].index);
if (INTEGERP (tmp))
{
attributes = CFDictionaryCreate (NULL, (const void **) keys,
(const void **) values,
- EARRAYSIZE (keys),
+ ARRAYELTS (keys),
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
CFRelease (values[1]);
CTLineRef ctline = NULL;
string = CFStringCreateWithCharacters (NULL, characters,
- EARRAYSIZE (characters));
+ ARRAYELTS (characters));
if (string)
{
attributes = CFDictionaryCreate (NULL, (const void **) keys,
(const void **) values,
- EARRAYSIZE (keys),
+ ARRAYELTS (keys),
&kCFTypeDictionaryKeyCallBacks,
&kCFTypeDictionaryValueCallBacks);
CFRelease (glyph_info);
};
int i = 0;
- while (i < EARRAYSIZE (std_dimension))
+ while (i < ARRAYELTS (std_dimension))
{
if (std_dimension[i].need_vga <= have_vga
&& std_dimension[i].rows >= *rows)
static const char * const tempdirs[] = {
"$TMPDIR", "$TEMP", "$TMP", "c:/"
};
- const int imax = EARRAYSIZE (tempdirs);
+ const int imax = ARRAYELTS (tempdirs);
/* Make sure they have a usable $TMPDIR. Many Emacs functions use
temporary files and assume "/tmp" if $TMPDIR is unset, which
};
int i;
- for (i = 0; i < EARRAYSIZE (r); ++i)
+ for (i = 0; i < ARRAYELTS (r); ++i)
{
if (NILP (Fassq (r[i].tem, parms)))
{
Internal call used by NSView-keyDown.
-------------------------------------------------------------------------- */
{
- const unsigned last_keysym = EARRAYSIZE (convert_ns_to_X_keysym);
+ const unsigned last_keysym = ARRAYELTS (convert_ns_to_X_keysym);
unsigned keysym;
/* An array would be faster, but less easy to read. */
for (keysym = 0; keysym < last_keysym; keysym += 2)
#endif /* not DOS_NT */
}
- baud_rate = (emacs_ospeed < EARRAYSIZE (baud_convert)
+ baud_rate = (emacs_ospeed < ARRAYELTS (baud_convert)
? baud_convert[emacs_ospeed] : 9600);
if (baud_rate == 0)
baud_rate = 1200;
if (!KEYMAPP (KVAR (kboard, Vinput_decode_map)))
kset_input_decode_map (kboard, Fmake_sparse_keymap (Qnil));
- for (i = 0; i < EARRAYSIZE (keys); i++)
+ for (i = 0; i < ARRAYELTS (keys); i++)
{
char *sequence = tgetstr (keys[i].cap, address);
if (sequence)
#endif
assert (exe_header_buffer->file_header.f_nscns > 0);
assert (exe_header_buffer->file_header.f_nscns <=
- EARRAYSIZE (exe_header_buffer->section_header));
+ ARRAYELTS (exe_header_buffer->section_header));
assert (exe_header_buffer->file_header.f_opthdr > 0);
ret =
/* We maintain 1-sec samples for the last 16 minutes in a circular buffer. */
static struct load_sample samples[16*60];
static int first_idx = -1, last_idx = -1;
-static int max_idx = EARRAYSIZE (samples);
+static int max_idx = ARRAYELTS (samples);
static int
buf_next (int from)
int i;
- const int imax = EARRAYSIZE (tempdirs);
+ const int imax = ARRAYELTS (tempdirs);
/* Implementation note: This function explicitly works with ANSI
file names, not with UTF-8 encoded file names. This is because
{"LANG", NULL},
};
-#define N_ENV_VARS EARRAYSIZE (dflt_envvars)
+#define N_ENV_VARS ARRAYELTS (dflt_envvars)
/* We need to copy dflt_envvars[] and work on the copy because we
don't want the dumped Emacs to inherit the values of
cmap = Qnil;
- for (i = 0; i < EARRAYSIZE (w32_color_map); pc++, i++)
+ for (i = 0; i < ARRAYELTS (w32_color_map); pc++, i++)
cmap = Fcons (Fcons (build_string (pc->name),
make_number (pc->colorref)),
cmap);
fputc ('\n', stderr);
- for (i = n = 0; i < EARRAYSIZE (color_count); ++i)
+ for (i = n = 0; i < ARRAYELTS (color_count); ++i)
if (color_count[i])
{
fprintf (stderr, "%3d: %5d", i, color_count[i]);
best_xim_style (XIMStyles *xim)
{
int i, j;
- int nr_supported = EARRAYSIZE (supported_xim_styles);
+ int nr_supported = ARRAYELTS (supported_xim_styles);
for (i = 0; i < nr_supported; ++i)
for (j = 0; j < xim->count_styles; ++j)
};
int i;
- const int atom_count = EARRAYSIZE (atom_refs);
+ const int atom_count = ARRAYELTS (atom_refs);
/* 1 for _XSETTINGS_SN */
const int total_atom_count = 1 + atom_count;
Atom *atoms_return = xmalloc (total_atom_count * sizeof *atoms_return);