diff options
| author | Paul Eggert | 2018-12-09 00:18:36 -0800 |
|---|---|---|
| committer | Paul Eggert | 2018-12-09 00:23:55 -0800 |
| commit | d79bb75683ceb4eee2f753eb38fa8db99aff4568 (patch) | |
| tree | b0b20c25387c2eb11b2c79e87898bec2c39b14ea /src/font.c | |
| parent | c2fdd50c3cb0b03d2414370c58c1aa2a6ec3311d (diff) | |
| download | emacs-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/font.c')
| -rw-r--r-- | src/font.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/font.c b/src/font.c index 799d5db205c..e81c267de41 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -374,10 +374,10 @@ font_style_to_value (enum font_property_index prop, Lisp_Object val, | |||
| 374 | if (! noerror) | 374 | if (! noerror) |
| 375 | return -1; | 375 | return -1; |
| 376 | eassert (len < 255); | 376 | eassert (len < 255); |
| 377 | elt = Fmake_vector (make_fixnum (2), make_fixnum (100)); | 377 | elt = make_vector (2, make_fixnum (100)); |
| 378 | ASET (elt, 1, val); | 378 | ASET (elt, 1, val); |
| 379 | ASET (font_style_table, prop - FONT_WEIGHT_INDEX, | 379 | ASET (font_style_table, prop - FONT_WEIGHT_INDEX, |
| 380 | CALLN (Fvconcat, table, Fmake_vector (make_fixnum (1), elt))); | 380 | CALLN (Fvconcat, table, make_vector (1, elt))); |
| 381 | return (100 << 8) | (i << 4); | 381 | return (100 << 8) | (i << 4); |
| 382 | } | 382 | } |
| 383 | else | 383 | else |
| @@ -2035,7 +2035,7 @@ font_otf_DeviceTable (OTF_DeviceTable *device_table) | |||
| 2035 | Lisp_Object | 2035 | Lisp_Object |
| 2036 | font_otf_ValueRecord (int value_format, OTF_ValueRecord *value_record) | 2036 | font_otf_ValueRecord (int value_format, OTF_ValueRecord *value_record) |
| 2037 | { | 2037 | { |
| 2038 | Lisp_Object val = Fmake_vector (make_fixnum (8), Qnil); | 2038 | Lisp_Object val = make_nil_vector (8); |
| 2039 | 2039 | ||
| 2040 | if (value_format & OTF_XPlacement) | 2040 | if (value_format & OTF_XPlacement) |
| 2041 | ASET (val, 0, make_fixnum (value_record->XPlacement)); | 2041 | ASET (val, 0, make_fixnum (value_record->XPlacement)); |
| @@ -2059,9 +2059,7 @@ font_otf_ValueRecord (int value_format, OTF_ValueRecord *value_record) | |||
| 2059 | Lisp_Object | 2059 | Lisp_Object |
| 2060 | font_otf_Anchor (OTF_Anchor *anchor) | 2060 | font_otf_Anchor (OTF_Anchor *anchor) |
| 2061 | { | 2061 | { |
| 2062 | Lisp_Object val; | 2062 | Lisp_Object val = make_nil_vector (anchor->AnchorFormat + 1); |
| 2063 | |||
| 2064 | val = Fmake_vector (make_fixnum (anchor->AnchorFormat + 1), Qnil); | ||
| 2065 | ASET (val, 0, make_fixnum (anchor->XCoordinate)); | 2063 | ASET (val, 0, make_fixnum (anchor->XCoordinate)); |
| 2066 | ASET (val, 1, make_fixnum (anchor->YCoordinate)); | 2064 | ASET (val, 1, make_fixnum (anchor->YCoordinate)); |
| 2067 | if (anchor->AnchorFormat == 2) | 2065 | if (anchor->AnchorFormat == 2) |
| @@ -5170,14 +5168,13 @@ If the named font is not yet loaded, return nil. */) | |||
| 5170 | static Lisp_Object | 5168 | static Lisp_Object |
| 5171 | build_style_table (const struct table_entry *entry, int nelement) | 5169 | build_style_table (const struct table_entry *entry, int nelement) |
| 5172 | { | 5170 | { |
| 5173 | int i, j; | 5171 | Lisp_Object table = make_uninit_vector (nelement); |
| 5174 | Lisp_Object table, elt; | 5172 | for (int i = 0; i < nelement; i++) |
| 5175 | |||
| 5176 | table = make_uninit_vector (nelement); | ||
| 5177 | for (i = 0; i < nelement; i++) | ||
| 5178 | { | 5173 | { |
| 5179 | for (j = 0; entry[i].names[j]; j++); | 5174 | int j; |
| 5180 | elt = Fmake_vector (make_fixnum (j + 1), Qnil); | 5175 | for (j = 0; entry[i].names[j]; j++) |
| 5176 | continue; | ||
| 5177 | Lisp_Object elt = make_nil_vector (j + 1); | ||
| 5181 | ASET (elt, 0, make_fixnum (entry[i].numeric)); | 5178 | ASET (elt, 0, make_fixnum (entry[i].numeric)); |
| 5182 | for (j = 0; entry[i].names[j]; j++) | 5179 | for (j = 0; entry[i].names[j]; j++) |
| 5183 | ASET (elt, j + 1, intern_c_string (entry[i].names[j])); | 5180 | ASET (elt, j + 1, intern_c_string (entry[i].names[j])); |
| @@ -5359,7 +5356,7 @@ syms_of_font (void) | |||
| 5359 | scratch_font_prefer = Ffont_spec (0, NULL); | 5356 | scratch_font_prefer = Ffont_spec (0, NULL); |
| 5360 | 5357 | ||
| 5361 | staticpro (&Vfont_log_deferred); | 5358 | staticpro (&Vfont_log_deferred); |
| 5362 | Vfont_log_deferred = Fmake_vector (make_fixnum (3), Qnil); | 5359 | Vfont_log_deferred = make_nil_vector (3); |
| 5363 | 5360 | ||
| 5364 | #if 0 | 5361 | #if 0 |
| 5365 | #ifdef HAVE_LIBOTF | 5362 | #ifdef HAVE_LIBOTF |