aboutsummaryrefslogtreecommitdiffstats
path: root/src/keyboard.c
diff options
context:
space:
mode:
authorPaul Eggert2018-12-09 00:18:36 -0800
committerPaul Eggert2018-12-09 00:23:55 -0800
commitd79bb75683ceb4eee2f753eb38fa8db99aff4568 (patch)
treeb0b20c25387c2eb11b2c79e87898bec2c39b14ea /src/keyboard.c
parentc2fdd50c3cb0b03d2414370c58c1aa2a6ec3311d (diff)
downloademacs-d79bb75683ceb4eee2f753eb38fa8db99aff4568.tar.gz
emacs-d79bb75683ceb4eee2f753eb38fa8db99aff4568.zip
Add make_vector and make_nil_vector
This makes the callers a bit easier to read, and doubtless improves efficiency very slightly. It also simplifies possible future changes to allow bignum indexes to buffers. * src/alloc.c (allocate_vectorlike): Prefer ptrdiff_t to size_t when either will do. (make_vector): New function. (Fmake_vector): Use it. * src/buffer.c (syms_of_buffer): * src/bytecode.c (syms_of_bytecode): * src/category.c (Fmake_category_table, init_category_once): * src/ccl.c (syms_of_ccl): * src/character.c (syms_of_character): * src/charset.c (Fdefine_charset_internal) (Ffind_charset_region, Ffind_charset_string): * src/chartab.c (copy_char_table): * src/coding.c (Fdefine_coding_system_internal, syms_of_coding): * src/composite.c (get_composition_id, Fcomposition_get_gstring): * src/composite.h (LGLYPH_NEW): * src/fns.c (concat, Flocale_info, make_hash_table): * src/font.c (font_otf_ValueRecord, font_otf_anchor) (build_style_table, syms_of_font): * src/fontset.c (RFONT_DEF_NEW, fontset_find_font) (dump_fontset, syms_of_fontset): * src/image.c (xpm_make_color_table_v): * src/keyboard.c (modify_event_symbol, menu_bar_items) (parse_menu_item, parse_tool_bar_item, init_tool_bar_items) (syms_of_keyboard): * src/keymap.c (Fdefine_key, describe_map, describe_vector): * src/lread.c (read_vector): * src/macfont.m (macfont_shape): * src/menu.c (init_menu_items): * src/nsfns.m (ns_make_monitor_attribute_list): * src/process.c (conv_sockaddr_to_lisp, network_interface_info): * src/profiler.c (make_log): * src/window.c (Fcurrent_window_configuration): * src/xdisp.c (with_echo_area_buffer_unwind_data) (format_mode_line_unwind_data): * src/xfaces.c (Finternal_make_lisp_face) (Fface_attributes_as_vector): * src/xfns.c (x_make_monitor_attribute_list) (Fx_display_monitor_attributes_list): * src/xfont.c (syms_of_xfont): * src/xselect.c (x_handle_dnd_message): * src/xwidget.c (save_script_callback): Prefer make_nil_vector (N) to Fmake_vector (make_fixnum (N), Qnil). * src/callint.c (Fcall_interactively): * src/charset.c (load_charset_map): * src/chartab.c (Fmake_char_table, uniprop_encode_value_numeric): * src/composite.c (get_composition_id) * src/dispnew.c (Fframe_or_buffer_changed_p) (syms_of_display): * src/fns.c (make_hash_table, maybe_resize_hash_table): * src/font.c (font_style_to_value): * src/fontset.c (FONTSET_ADD, fontset_add): * src/json.c (json_to_lisp): * src/keymap.c (syms_of_keymap): * src/lread.c (init_obarray): * src/profiler.c (make_log, Fprofiler_cpu_log): * src/term.c (term_get_fkeys_1): Prefer make_vector (N, V) to Fmake_vector (make_fixnum (N), V). * src/font.c (build_style_table): * src/macfont.m (macfont_shape): * src/process.c (conv_sockaddr_to_lisp, network_interface_info): Prefer make_uninit_vector if the vector will be initialized soon. * src/lisp.h (make_nil_vector): New function.
Diffstat (limited to 'src/keyboard.c')
-rw-r--r--src/keyboard.c32
1 files changed, 12 insertions, 20 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index 59acb2dd083..baf2f514409 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -6448,12 +6448,7 @@ modify_event_symbol (ptrdiff_t symbol_num, int modifiers, Lisp_Object symbol_kin
6448 { 6448 {
6449 if (! VECTORP (*symbol_table) 6449 if (! VECTORP (*symbol_table)
6450 || ASIZE (*symbol_table) != table_size) 6450 || ASIZE (*symbol_table) != table_size)
6451 { 6451 *symbol_table = make_nil_vector (table_size);
6452 Lisp_Object size;
6453
6454 XSETFASTINT (size, table_size);
6455 *symbol_table = Fmake_vector (size, Qnil);
6456 }
6457 6452
6458 value = AREF (*symbol_table, symbol_num); 6453 value = AREF (*symbol_table, symbol_num);
6459 } 6454 }
@@ -7362,7 +7357,7 @@ menu_bar_items (Lisp_Object old)
7362 if (!NILP (old)) 7357 if (!NILP (old))
7363 menu_bar_items_vector = old; 7358 menu_bar_items_vector = old;
7364 else 7359 else
7365 menu_bar_items_vector = Fmake_vector (make_fixnum (24), Qnil); 7360 menu_bar_items_vector = make_nil_vector (24);
7366 menu_bar_items_index = 0; 7361 menu_bar_items_index = 0;
7367 7362
7368 /* Build our list of keymaps. 7363 /* Build our list of keymaps.
@@ -7605,8 +7600,7 @@ parse_menu_item (Lisp_Object item, int inmenubar)
7605 7600
7606 /* Create item_properties vector if necessary. */ 7601 /* Create item_properties vector if necessary. */
7607 if (NILP (item_properties)) 7602 if (NILP (item_properties))
7608 item_properties 7603 item_properties = make_nil_vector (ITEM_PROPERTY_ENABLE + 1);
7609 = Fmake_vector (make_fixnum (ITEM_PROPERTY_ENABLE + 1), Qnil);
7610 7604
7611 /* Initialize optional entries. */ 7605 /* Initialize optional entries. */
7612 for (i = ITEM_PROPERTY_DEF; i < ITEM_PROPERTY_ENABLE; i++) 7606 for (i = ITEM_PROPERTY_DEF; i < ITEM_PROPERTY_ENABLE; i++)
@@ -8100,8 +8094,7 @@ parse_tool_bar_item (Lisp_Object key, Lisp_Object item)
8100 set_prop (i, Qnil); 8094 set_prop (i, Qnil);
8101 } 8095 }
8102 else 8096 else
8103 tool_bar_item_properties 8097 tool_bar_item_properties = make_nil_vector (TOOL_BAR_ITEM_NSLOTS);
8104 = Fmake_vector (make_fixnum (TOOL_BAR_ITEM_NSLOTS), Qnil);
8105 8098
8106 /* Set defaults. */ 8099 /* Set defaults. */
8107 set_prop (TOOL_BAR_ITEM_KEY, key); 8100 set_prop (TOOL_BAR_ITEM_KEY, key);
@@ -8296,7 +8289,7 @@ init_tool_bar_items (Lisp_Object reuse)
8296 if (VECTORP (reuse)) 8289 if (VECTORP (reuse))
8297 tool_bar_items_vector = reuse; 8290 tool_bar_items_vector = reuse;
8298 else 8291 else
8299 tool_bar_items_vector = Fmake_vector (make_fixnum (64), Qnil); 8292 tool_bar_items_vector = make_nil_vector (64);
8300 ntool_bar_items = 0; 8293 ntool_bar_items = 0;
8301} 8294}
8302 8295
@@ -11184,32 +11177,31 @@ syms_of_keyboard (void)
11184 } 11177 }
11185 } 11178 }
11186 11179
11187 button_down_location = Fmake_vector (make_fixnum (5), Qnil); 11180 button_down_location = make_nil_vector (5);
11188 staticpro (&button_down_location); 11181 staticpro (&button_down_location);
11189 mouse_syms = Fmake_vector (make_fixnum (5), Qnil); 11182 mouse_syms = make_nil_vector (5);
11190 staticpro (&mouse_syms); 11183 staticpro (&mouse_syms);
11191 wheel_syms = Fmake_vector (make_fixnum (ARRAYELTS (lispy_wheel_names)), 11184 wheel_syms = make_nil_vector (ARRAYELTS (lispy_wheel_names));
11192 Qnil);
11193 staticpro (&wheel_syms); 11185 staticpro (&wheel_syms);
11194 11186
11195 { 11187 {
11196 int i; 11188 int i;
11197 int len = ARRAYELTS (modifier_names); 11189 int len = ARRAYELTS (modifier_names);
11198 11190
11199 modifier_symbols = Fmake_vector (make_fixnum (len), Qnil); 11191 modifier_symbols = make_nil_vector (len);
11200 for (i = 0; i < len; i++) 11192 for (i = 0; i < len; i++)
11201 if (modifier_names[i]) 11193 if (modifier_names[i])
11202 ASET (modifier_symbols, i, intern_c_string (modifier_names[i])); 11194 ASET (modifier_symbols, i, intern_c_string (modifier_names[i]));
11203 staticpro (&modifier_symbols); 11195 staticpro (&modifier_symbols);
11204 } 11196 }
11205 11197
11206 recent_keys = Fmake_vector (make_fixnum (NUM_RECENT_KEYS), Qnil); 11198 recent_keys = make_nil_vector (NUM_RECENT_KEYS);
11207 staticpro (&recent_keys); 11199 staticpro (&recent_keys);
11208 11200
11209 this_command_keys = Fmake_vector (make_fixnum (40), Qnil); 11201 this_command_keys = make_nil_vector (40);
11210 staticpro (&this_command_keys); 11202 staticpro (&this_command_keys);
11211 11203
11212 raw_keybuf = Fmake_vector (make_fixnum (30), Qnil); 11204 raw_keybuf = make_nil_vector (30);
11213 staticpro (&raw_keybuf); 11205 staticpro (&raw_keybuf);
11214 11206
11215 DEFSYM (Qcommand_execute, "command-execute"); 11207 DEFSYM (Qcommand_execute, "command-execute");