diff options
| author | Dmitry Antipov | 2013-02-08 09:28:52 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2013-02-08 09:28:52 +0400 |
| commit | 25721f5bb5681c22f666a0b4e61d94687d92a671 (patch) | |
| tree | 2ea496a25332f603727cc978192bc415c885c02a /src | |
| parent | 9a9d91d9c247adefa7137338d7609d81734f888d (diff) | |
| download | emacs-25721f5bb5681c22f666a0b4e61d94687d92a671.tar.gz emacs-25721f5bb5681c22f666a0b4e61d94687d92a671.zip | |
* lisp.h (make_uninit_vector): New function.
* alloc.c (Fvector, Fmake_byte_code):
* ccl.c (Fregister_ccl_program):
* charset.c (Fdefine_charset_internal, define_charset_internal):
* coding.c (make_subsidiaries, Fdefine_coding_system_internal):
* composite.c (syms_of_composite):
* font.c (Fquery_font, Ffont_info, syms_of_font):
* fontset.c (FONT_DEF_NEW, Fset_fontset_font):
* ftfont.c (ftfont_shape_by_flt):
* indent.c (recompute_width_table):
* nsselect.m (clean_local_selection_data):
* syntax.c (init_syntax_once):
* w32unsubscribe.c (uniscribe_shape):
* window.c (Fcurrent_window_configuration):
* xfaces.c (Fx_family_fonts):
* xselect.c (selection_data_to_lisp_data): Use it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 19 | ||||
| -rw-r--r-- | src/alloc.c | 15 | ||||
| -rw-r--r-- | src/ccl.c | 3 | ||||
| -rw-r--r-- | src/charset.c | 4 | ||||
| -rw-r--r-- | src/coding.c | 8 | ||||
| -rw-r--r-- | src/composite.c | 2 | ||||
| -rw-r--r-- | src/font.c | 8 | ||||
| -rw-r--r-- | src/fontset.c | 5 | ||||
| -rw-r--r-- | src/ftfont.c | 3 | ||||
| -rw-r--r-- | src/indent.c | 2 | ||||
| -rw-r--r-- | src/lisp.h | 21 | ||||
| -rw-r--r-- | src/nsselect.m | 2 | ||||
| -rw-r--r-- | src/syntax.c | 4 | ||||
| -rw-r--r-- | src/w32uniscribe.c | 4 | ||||
| -rw-r--r-- | src/window.c | 4 | ||||
| -rw-r--r-- | src/xfaces.c | 2 | ||||
| -rw-r--r-- | src/xselect.c | 12 |
17 files changed, 77 insertions, 41 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 9ffe133e758..073227281f0 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,22 @@ | |||
| 1 | 2013-02-08 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | * lisp.h (make_uninit_vector): New function. | ||
| 4 | * alloc.c (Fvector, Fmake_byte_code): | ||
| 5 | * ccl.c (Fregister_ccl_program): | ||
| 6 | * charset.c (Fdefine_charset_internal, define_charset_internal): | ||
| 7 | * coding.c (make_subsidiaries, Fdefine_coding_system_internal): | ||
| 8 | * composite.c (syms_of_composite): | ||
| 9 | * font.c (Fquery_font, Ffont_info, syms_of_font): | ||
| 10 | * fontset.c (FONT_DEF_NEW, Fset_fontset_font): | ||
| 11 | * ftfont.c (ftfont_shape_by_flt): | ||
| 12 | * indent.c (recompute_width_table): | ||
| 13 | * nsselect.m (clean_local_selection_data): | ||
| 14 | * syntax.c (init_syntax_once): | ||
| 15 | * w32unsubscribe.c (uniscribe_shape): | ||
| 16 | * window.c (Fcurrent_window_configuration): | ||
| 17 | * xfaces.c (Fx_family_fonts): | ||
| 18 | * xselect.c (selection_data_to_lisp_data): Use it. | ||
| 19 | |||
| 1 | 2013-02-07 Dmitry Antipov <dmantipov@yandex.ru> | 20 | 2013-02-07 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 21 | ||
| 3 | * coding.c (Fdefine_coding_system_internal): Use AREF where | 22 | * coding.c (Fdefine_coding_system_internal): Use AREF where |
diff --git a/src/alloc.c b/src/alloc.c index 2624650ed2c..80086433e65 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -3105,13 +3105,10 @@ Any number of arguments, even zero arguments, are allowed. | |||
| 3105 | usage: (vector &rest OBJECTS) */) | 3105 | usage: (vector &rest OBJECTS) */) |
| 3106 | (ptrdiff_t nargs, Lisp_Object *args) | 3106 | (ptrdiff_t nargs, Lisp_Object *args) |
| 3107 | { | 3107 | { |
| 3108 | register Lisp_Object len, val; | ||
| 3109 | ptrdiff_t i; | 3108 | ptrdiff_t i; |
| 3110 | register struct Lisp_Vector *p; | 3109 | register Lisp_Object val = make_uninit_vector (nargs); |
| 3110 | register struct Lisp_Vector *p = XVECTOR (val); | ||
| 3111 | 3111 | ||
| 3112 | XSETFASTINT (len, nargs); | ||
| 3113 | val = Fmake_vector (len, Qnil); | ||
| 3114 | p = XVECTOR (val); | ||
| 3115 | for (i = 0; i < nargs; i++) | 3112 | for (i = 0; i < nargs; i++) |
| 3116 | p->contents[i] = args[i]; | 3113 | p->contents[i] = args[i]; |
| 3117 | return val; | 3114 | return val; |
| @@ -3149,9 +3146,9 @@ stack before executing the byte-code. | |||
| 3149 | usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS) */) | 3146 | usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INTERACTIVE-SPEC &rest ELEMENTS) */) |
| 3150 | (ptrdiff_t nargs, Lisp_Object *args) | 3147 | (ptrdiff_t nargs, Lisp_Object *args) |
| 3151 | { | 3148 | { |
| 3152 | register Lisp_Object len, val; | ||
| 3153 | ptrdiff_t i; | 3149 | ptrdiff_t i; |
| 3154 | register struct Lisp_Vector *p; | 3150 | register Lisp_Object val = make_uninit_vector (nargs); |
| 3151 | register struct Lisp_Vector *p = XVECTOR (val); | ||
| 3155 | 3152 | ||
| 3156 | /* We used to purecopy everything here, if purify-flag was set. This worked | 3153 | /* We used to purecopy everything here, if purify-flag was set. This worked |
| 3157 | OK for Emacs-23, but with Emacs-24's lexical binding code, it can be | 3154 | OK for Emacs-23, but with Emacs-24's lexical binding code, it can be |
| @@ -3161,10 +3158,6 @@ usage: (make-byte-code ARGLIST BYTE-CODE CONSTANTS DEPTH &optional DOCSTRING INT | |||
| 3161 | just wasteful and other times plainly wrong (e.g. those free vars may want | 3158 | just wasteful and other times plainly wrong (e.g. those free vars may want |
| 3162 | to be setcar'd). */ | 3159 | to be setcar'd). */ |
| 3163 | 3160 | ||
| 3164 | XSETFASTINT (len, nargs); | ||
| 3165 | val = Fmake_vector (len, Qnil); | ||
| 3166 | |||
| 3167 | p = XVECTOR (val); | ||
| 3168 | for (i = 0; i < nargs; i++) | 3161 | for (i = 0; i < nargs; i++) |
| 3169 | p->contents[i] = args[i]; | 3162 | p->contents[i] = args[i]; |
| 3170 | make_byte_code (p); | 3163 | make_byte_code (p); |
| @@ -2228,9 +2228,8 @@ Return index number of the registered CCL program. */) | |||
| 2228 | Vccl_program_table = larger_vector (Vccl_program_table, 1, -1); | 2228 | Vccl_program_table = larger_vector (Vccl_program_table, 1, -1); |
| 2229 | 2229 | ||
| 2230 | { | 2230 | { |
| 2231 | Lisp_Object elt; | 2231 | Lisp_Object elt = make_uninit_vector (4); |
| 2232 | 2232 | ||
| 2233 | elt = Fmake_vector (make_number (4), Qnil); | ||
| 2234 | ASET (elt, 0, name); | 2233 | ASET (elt, 0, name); |
| 2235 | ASET (elt, 1, ccl_prog); | 2234 | ASET (elt, 1, ccl_prog); |
| 2236 | ASET (elt, 2, resolved); | 2235 | ASET (elt, 2, resolved); |
diff --git a/src/charset.c b/src/charset.c index c3a4538f223..fdb8eebde8b 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -1053,7 +1053,7 @@ usage: (define-charset-internal ...) */) | |||
| 1053 | CHECK_NATNUM (parent_max_code); | 1053 | CHECK_NATNUM (parent_max_code); |
| 1054 | parent_code_offset = Fnth (make_number (3), val); | 1054 | parent_code_offset = Fnth (make_number (3), val); |
| 1055 | CHECK_NUMBER (parent_code_offset); | 1055 | CHECK_NUMBER (parent_code_offset); |
| 1056 | val = Fmake_vector (make_number (4), Qnil); | 1056 | val = make_uninit_vector (4); |
| 1057 | ASET (val, 0, make_number (parent_charset->id)); | 1057 | ASET (val, 0, make_number (parent_charset->id)); |
| 1058 | ASET (val, 1, parent_min_code); | 1058 | ASET (val, 1, parent_min_code); |
| 1059 | ASET (val, 2, parent_max_code); | 1059 | ASET (val, 2, parent_max_code); |
| @@ -1259,7 +1259,7 @@ define_charset_internal (Lisp_Object name, | |||
| 1259 | 1259 | ||
| 1260 | args[charset_arg_name] = name; | 1260 | args[charset_arg_name] = name; |
| 1261 | args[charset_arg_dimension] = make_number (dimension); | 1261 | args[charset_arg_dimension] = make_number (dimension); |
| 1262 | val = Fmake_vector (make_number (8), make_number (0)); | 1262 | val = make_uninit_vector (8); |
| 1263 | for (i = 0; i < 8; i++) | 1263 | for (i = 0; i < 8; i++) |
| 1264 | ASET (val, i, make_number (code_space[i])); | 1264 | ASET (val, i, make_number (code_space[i])); |
| 1265 | args[charset_arg_code_space] = val; | 1265 | args[charset_arg_code_space] = val; |
diff --git a/src/coding.c b/src/coding.c index c7bfe25e0cc..b881f162ab9 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -9483,7 +9483,7 @@ make_subsidiaries (Lisp_Object base) | |||
| 9483 | int i; | 9483 | int i; |
| 9484 | 9484 | ||
| 9485 | memcpy (buf, SDATA (SYMBOL_NAME (base)), base_name_len); | 9485 | memcpy (buf, SDATA (SYMBOL_NAME (base)), base_name_len); |
| 9486 | subsidiaries = Fmake_vector (make_number (3), Qnil); | 9486 | subsidiaries = make_uninit_vector (3); |
| 9487 | for (i = 0; i < 3; i++) | 9487 | for (i = 0; i < 3; i++) |
| 9488 | { | 9488 | { |
| 9489 | strcpy (buf + base_name_len, suffixes[i]); | 9489 | strcpy (buf + base_name_len, suffixes[i]); |
| @@ -9988,7 +9988,8 @@ usage: (define-coding-system-internal ...) */) | |||
| 9988 | this_name = AREF (eol_type, i); | 9988 | this_name = AREF (eol_type, i); |
| 9989 | this_aliases = Fcons (this_name, Qnil); | 9989 | this_aliases = Fcons (this_name, Qnil); |
| 9990 | this_eol_type = (i == 0 ? Qunix : i == 1 ? Qdos : Qmac); | 9990 | this_eol_type = (i == 0 ? Qunix : i == 1 ? Qdos : Qmac); |
| 9991 | this_spec = Fmake_vector (make_number (3), attrs); | 9991 | this_spec = make_uninit_vector (3); |
| 9992 | ASET (this_spec, 0, attrs); | ||
| 9992 | ASET (this_spec, 1, this_aliases); | 9993 | ASET (this_spec, 1, this_aliases); |
| 9993 | ASET (this_spec, 2, this_eol_type); | 9994 | ASET (this_spec, 2, this_eol_type); |
| 9994 | Fputhash (this_name, this_spec, Vcoding_system_hash_table); | 9995 | Fputhash (this_name, this_spec, Vcoding_system_hash_table); |
| @@ -10001,7 +10002,8 @@ usage: (define-coding-system-internal ...) */) | |||
| 10001 | } | 10002 | } |
| 10002 | } | 10003 | } |
| 10003 | 10004 | ||
| 10004 | spec_vec = Fmake_vector (make_number (3), attrs); | 10005 | spec_vec = make_uninit_vector (3); |
| 10006 | ASET (spec_vec, 0, attrs); | ||
| 10005 | ASET (spec_vec, 1, aliases); | 10007 | ASET (spec_vec, 1, aliases); |
| 10006 | ASET (spec_vec, 2, eol_type); | 10008 | ASET (spec_vec, 2, eol_type); |
| 10007 | 10009 | ||
diff --git a/src/composite.c b/src/composite.c index ddd92389725..54cebc00eb7 100644 --- a/src/composite.c +++ b/src/composite.c | |||
| @@ -1958,7 +1958,7 @@ syms_of_composite (void) | |||
| 1958 | } | 1958 | } |
| 1959 | 1959 | ||
| 1960 | staticpro (&gstring_work_headers); | 1960 | staticpro (&gstring_work_headers); |
| 1961 | gstring_work_headers = Fmake_vector (make_number (8), Qnil); | 1961 | gstring_work_headers = make_uninit_vector (8); |
| 1962 | for (i = 0; i < 8; i++) | 1962 | for (i = 0; i < 8; i++) |
| 1963 | ASET (gstring_work_headers, i, Fmake_vector (make_number (i + 2), Qnil)); | 1963 | ASET (gstring_work_headers, i, Fmake_vector (make_number (i + 2), Qnil)); |
| 1964 | staticpro (&gstring_work); | 1964 | staticpro (&gstring_work); |
diff --git a/src/font.c b/src/font.c index 3cffe2558ae..bed0ac8caf2 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -4603,7 +4603,7 @@ If the font is not OpenType font, CAPABILITY is nil. */) | |||
| 4603 | 4603 | ||
| 4604 | CHECK_FONT_GET_OBJECT (font_object, font); | 4604 | CHECK_FONT_GET_OBJECT (font_object, font); |
| 4605 | 4605 | ||
| 4606 | val = Fmake_vector (make_number (9), Qnil); | 4606 | val = make_uninit_vector (9); |
| 4607 | ASET (val, 0, AREF (font_object, FONT_NAME_INDEX)); | 4607 | ASET (val, 0, AREF (font_object, FONT_NAME_INDEX)); |
| 4608 | ASET (val, 1, AREF (font_object, FONT_FILE_INDEX)); | 4608 | ASET (val, 1, AREF (font_object, FONT_FILE_INDEX)); |
| 4609 | ASET (val, 2, make_number (font->pixel_size)); | 4609 | ASET (val, 2, make_number (font->pixel_size)); |
| @@ -4614,6 +4614,8 @@ If the font is not OpenType font, CAPABILITY is nil. */) | |||
| 4614 | ASET (val, 7, make_number (font->average_width)); | 4614 | ASET (val, 7, make_number (font->average_width)); |
| 4615 | if (font->driver->otf_capability) | 4615 | if (font->driver->otf_capability) |
| 4616 | ASET (val, 8, Fcons (Qopentype, font->driver->otf_capability (font))); | 4616 | ASET (val, 8, Fcons (Qopentype, font->driver->otf_capability (font))); |
| 4617 | else | ||
| 4618 | ASET (val, 8, Qnil); | ||
| 4617 | return val; | 4619 | return val; |
| 4618 | } | 4620 | } |
| 4619 | 4621 | ||
| @@ -4870,7 +4872,7 @@ If the named font is not yet loaded, return nil. */) | |||
| 4870 | return Qnil; | 4872 | return Qnil; |
| 4871 | font = XFONT_OBJECT (font_object); | 4873 | font = XFONT_OBJECT (font_object); |
| 4872 | 4874 | ||
| 4873 | info = Fmake_vector (make_number (7), Qnil); | 4875 | info = make_uninit_vector (7); |
| 4874 | ASET (info, 0, AREF (font_object, FONT_NAME_INDEX)); | 4876 | ASET (info, 0, AREF (font_object, FONT_NAME_INDEX)); |
| 4875 | ASET (info, 1, AREF (font_object, FONT_FULLNAME_INDEX)); | 4877 | ASET (info, 1, AREF (font_object, FONT_FULLNAME_INDEX)); |
| 4876 | ASET (info, 2, make_number (font->pixel_size)); | 4878 | ASET (info, 2, make_number (font->pixel_size)); |
| @@ -5163,7 +5165,7 @@ See `font-weight-table' for the format of the vector. */); | |||
| 5163 | XSYMBOL (intern_c_string ("font-width-table"))->constant = 1; | 5165 | XSYMBOL (intern_c_string ("font-width-table"))->constant = 1; |
| 5164 | 5166 | ||
| 5165 | staticpro (&font_style_table); | 5167 | staticpro (&font_style_table); |
| 5166 | font_style_table = Fmake_vector (make_number (3), Qnil); | 5168 | font_style_table = make_uninit_vector (3); |
| 5167 | ASET (font_style_table, 0, Vfont_weight_table); | 5169 | ASET (font_style_table, 0, Vfont_weight_table); |
| 5168 | ASET (font_style_table, 1, Vfont_slant_table); | 5170 | ASET (font_style_table, 1, Vfont_slant_table); |
| 5169 | ASET (font_style_table, 2, Vfont_width_table); | 5171 | ASET (font_style_table, 2, Vfont_width_table); |
diff --git a/src/fontset.c b/src/fontset.c index b7f3e46d69c..3578bc9403d 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -271,7 +271,8 @@ set_fontset_fallback (Lisp_Object fontset, Lisp_Object fallback) | |||
| 271 | /* Macros for FONT-DEF and RFONT-DEF of fontset. */ | 271 | /* Macros for FONT-DEF and RFONT-DEF of fontset. */ |
| 272 | #define FONT_DEF_NEW(font_def, font_spec, encoding, repertory) \ | 272 | #define FONT_DEF_NEW(font_def, font_spec, encoding, repertory) \ |
| 273 | do { \ | 273 | do { \ |
| 274 | (font_def) = Fmake_vector (make_number (3), (font_spec)); \ | 274 | (font_def) = make_uninit_vector (3); \ |
| 275 | ASET ((font_def), 0, font_spec); \ | ||
| 275 | ASET ((font_def), 1, encoding); \ | 276 | ASET ((font_def), 1, encoding); \ |
| 276 | ASET ((font_def), 2, repertory); \ | 277 | ASET ((font_def), 2, repertory); \ |
| 277 | } while (0) | 278 | } while (0) |
| @@ -1591,7 +1592,7 @@ appended. By default, FONT-SPEC overrides the previous settings. */) | |||
| 1591 | { | 1592 | { |
| 1592 | Lisp_Object arg; | 1593 | Lisp_Object arg; |
| 1593 | 1594 | ||
| 1594 | arg = Fmake_vector (make_number (5), Qnil); | 1595 | arg = make_uninit_vector (5); |
| 1595 | ASET (arg, 0, fontset); | 1596 | ASET (arg, 0, fontset); |
| 1596 | ASET (arg, 1, font_def); | 1597 | ASET (arg, 1, font_def); |
| 1597 | ASET (arg, 2, add); | 1598 | ASET (arg, 2, add); |
diff --git a/src/ftfont.c b/src/ftfont.c index 03e40bf2e46..1fb1b574a1c 100644 --- a/src/ftfont.c +++ b/src/ftfont.c | |||
| @@ -2555,9 +2555,8 @@ ftfont_shape_by_flt (Lisp_Object lgstring, struct font *font, | |||
| 2555 | LGLYPH_SET_DESCENT (lglyph, g->descent >> 6); | 2555 | LGLYPH_SET_DESCENT (lglyph, g->descent >> 6); |
| 2556 | if (g->adjusted) | 2556 | if (g->adjusted) |
| 2557 | { | 2557 | { |
| 2558 | Lisp_Object vec; | 2558 | Lisp_Object vec = make_uninit_vector (3); |
| 2559 | 2559 | ||
| 2560 | vec = Fmake_vector (make_number (3), Qnil); | ||
| 2561 | ASET (vec, 0, make_number (g->xoff >> 6)); | 2560 | ASET (vec, 0, make_number (g->xoff >> 6)); |
| 2562 | ASET (vec, 1, make_number (g->yoff >> 6)); | 2561 | ASET (vec, 1, make_number (g->yoff >> 6)); |
| 2563 | ASET (vec, 2, make_number (g->xadv >> 6)); | 2562 | ASET (vec, 2, make_number (g->xadv >> 6)); |
diff --git a/src/indent.c b/src/indent.c index 45b6afbd395..44ecbbc8a58 100644 --- a/src/indent.c +++ b/src/indent.c | |||
| @@ -138,7 +138,7 @@ recompute_width_table (struct buffer *buf, struct Lisp_Char_Table *disptab) | |||
| 138 | struct Lisp_Vector *widthtab; | 138 | struct Lisp_Vector *widthtab; |
| 139 | 139 | ||
| 140 | if (!VECTORP (BVAR (buf, width_table))) | 140 | if (!VECTORP (BVAR (buf, width_table))) |
| 141 | bset_width_table (buf, Fmake_vector (make_number (256), make_number (0))); | 141 | bset_width_table (buf, make_uninit_vector (256)); |
| 142 | widthtab = XVECTOR (BVAR (buf, width_table)); | 142 | widthtab = XVECTOR (BVAR (buf, width_table)); |
| 143 | eassert (widthtab->header.size == 256); | 143 | eassert (widthtab->header.size == 256); |
| 144 | 144 | ||
diff --git a/src/lisp.h b/src/lisp.h index 251b5e069ec..c15e83bd51c 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -3043,6 +3043,27 @@ extern void make_byte_code (struct Lisp_Vector *); | |||
| 3043 | extern Lisp_Object Qautomatic_gc; | 3043 | extern Lisp_Object Qautomatic_gc; |
| 3044 | extern Lisp_Object Qchar_table_extra_slots; | 3044 | extern Lisp_Object Qchar_table_extra_slots; |
| 3045 | extern struct Lisp_Vector *allocate_vector (EMACS_INT); | 3045 | extern struct Lisp_Vector *allocate_vector (EMACS_INT); |
| 3046 | |||
| 3047 | /* Make an unitialized vector for SIZE objects. NOTE: you must | ||
| 3048 | be sure that GC cannot happen until the vector is completely | ||
| 3049 | initialized. E.g. the following code is likely to crash: | ||
| 3050 | |||
| 3051 | v = make_uninit_vector (3); | ||
| 3052 | ASET (v, 0, obj0); | ||
| 3053 | ASET (v, 1, Ffunction_can_gc ()); | ||
| 3054 | ASET (v, 2, obj1); */ | ||
| 3055 | |||
| 3056 | LISP_INLINE Lisp_Object | ||
| 3057 | make_uninit_vector (ptrdiff_t size) | ||
| 3058 | { | ||
| 3059 | Lisp_Object v; | ||
| 3060 | struct Lisp_Vector *p; | ||
| 3061 | |||
| 3062 | p = allocate_vector (size); | ||
| 3063 | XSETVECTOR (v, p); | ||
| 3064 | return v; | ||
| 3065 | } | ||
| 3066 | |||
| 3046 | extern struct Lisp_Vector *allocate_pseudovector (int, int, enum pvec_type); | 3067 | extern struct Lisp_Vector *allocate_pseudovector (int, int, enum pvec_type); |
| 3047 | #define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \ | 3068 | #define ALLOCATE_PSEUDOVECTOR(typ,field,tag) \ |
| 3048 | ((typ*) \ | 3069 | ((typ*) \ |
diff --git a/src/nsselect.m b/src/nsselect.m index 903448ce0a5..49380f87945 100644 --- a/src/nsselect.m +++ b/src/nsselect.m | |||
| @@ -117,7 +117,7 @@ clean_local_selection_data (Lisp_Object obj) | |||
| 117 | 117 | ||
| 118 | if (size == 1) | 118 | if (size == 1) |
| 119 | return clean_local_selection_data (AREF (obj, 0)); | 119 | return clean_local_selection_data (AREF (obj, 0)); |
| 120 | copy = Fmake_vector (make_number (size), Qnil); | 120 | copy = make_uninit_vector (size); |
| 121 | for (i = 0; i < size; i++) | 121 | for (i = 0; i < size; i++) |
| 122 | ASET (copy, i, clean_local_selection_data (AREF (obj, i))); | 122 | ASET (copy, i, clean_local_selection_data (AREF (obj, i))); |
| 123 | return copy; | 123 | return copy; |
diff --git a/src/syntax.c b/src/syntax.c index 72d904914ec..6febcd266c0 100644 --- a/src/syntax.c +++ b/src/syntax.c | |||
| @@ -3389,8 +3389,8 @@ init_syntax_once (void) | |||
| 3389 | Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots"); | 3389 | Qchar_table_extra_slots = intern_c_string ("char-table-extra-slots"); |
| 3390 | 3390 | ||
| 3391 | /* Create objects which can be shared among syntax tables. */ | 3391 | /* Create objects which can be shared among syntax tables. */ |
| 3392 | Vsyntax_code_object = Fmake_vector (make_number (Smax), Qnil); | 3392 | Vsyntax_code_object = make_uninit_vector (Smax); |
| 3393 | for (i = 0; i < ASIZE (Vsyntax_code_object); i++) | 3393 | for (i = 0; i < Smax; i++) |
| 3394 | ASET (Vsyntax_code_object, i, Fcons (make_number (i), Qnil)); | 3394 | ASET (Vsyntax_code_object, i, Fcons (make_number (i), Qnil)); |
| 3395 | 3395 | ||
| 3396 | /* Now we are ready to set up this property, so we can | 3396 | /* Now we are ready to set up this property, so we can |
diff --git a/src/w32uniscribe.c b/src/w32uniscribe.c index 88227487d35..56931adfac5 100644 --- a/src/w32uniscribe.c +++ b/src/w32uniscribe.c | |||
| @@ -435,8 +435,8 @@ uniscribe_shape (Lisp_Object lgstring) | |||
| 435 | are zero. */ | 435 | are zero. */ |
| 436 | || (!attributes[j].fClusterStart && items[i].a.fRTL)) | 436 | || (!attributes[j].fClusterStart && items[i].a.fRTL)) |
| 437 | { | 437 | { |
| 438 | Lisp_Object vec; | 438 | Lisp_Object vec = make_uninit_vector (3); |
| 439 | vec = Fmake_vector (make_number (3), Qnil); | 439 | |
| 440 | if (items[i].a.fRTL) | 440 | if (items[i].a.fRTL) |
| 441 | { | 441 | { |
| 442 | /* Empirically, it looks like Uniscribe | 442 | /* Empirically, it looks like Uniscribe |
diff --git a/src/window.c b/src/window.c index 5679c150efa..cc115c094f0 100644 --- a/src/window.c +++ b/src/window.c | |||
| @@ -6190,11 +6190,11 @@ saved by this function. */) | |||
| 6190 | data->minibuf_selected_window = minibuf_level > 0 ? minibuf_selected_window : Qnil; | 6190 | data->minibuf_selected_window = minibuf_level > 0 ? minibuf_selected_window : Qnil; |
| 6191 | data->root_window = FRAME_ROOT_WINDOW (f); | 6191 | data->root_window = FRAME_ROOT_WINDOW (f); |
| 6192 | data->focus_frame = FRAME_FOCUS_FRAME (f); | 6192 | data->focus_frame = FRAME_FOCUS_FRAME (f); |
| 6193 | tem = Fmake_vector (make_number (n_windows), Qnil); | 6193 | tem = make_uninit_vector (n_windows); |
| 6194 | data->saved_windows = tem; | 6194 | data->saved_windows = tem; |
| 6195 | for (i = 0; i < n_windows; i++) | 6195 | for (i = 0; i < n_windows; i++) |
| 6196 | ASET (tem, i, | 6196 | ASET (tem, i, |
| 6197 | Fmake_vector (make_number (VECSIZE (struct saved_window)), Qnil)); | 6197 | Fmake_vector (make_number (VECSIZE (struct saved_window)), Qnil)); |
| 6198 | save_window_save (FRAME_ROOT_WINDOW (f), XVECTOR (tem), 0); | 6198 | save_window_save (FRAME_ROOT_WINDOW (f), XVECTOR (tem), 0); |
| 6199 | XSETWINDOW_CONFIGURATION (tem, data); | 6199 | XSETWINDOW_CONFIGURATION (tem, data); |
| 6200 | return (tem); | 6200 | return (tem); |
diff --git a/src/xfaces.c b/src/xfaces.c index 43535b9ea0c..33a221fdd52 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -1585,7 +1585,7 @@ the face font sort order. */) | |||
| 1585 | for (i = nfonts - 1; i >= 0; --i) | 1585 | for (i = nfonts - 1; i >= 0; --i) |
| 1586 | { | 1586 | { |
| 1587 | Lisp_Object font = AREF (vec, i); | 1587 | Lisp_Object font = AREF (vec, i); |
| 1588 | Lisp_Object v = Fmake_vector (make_number (8), Qnil); | 1588 | Lisp_Object v = make_uninit_vector (8); |
| 1589 | int point; | 1589 | int point; |
| 1590 | Lisp_Object spacing; | 1590 | Lisp_Object spacing; |
| 1591 | 1591 | ||
diff --git a/src/xselect.c b/src/xselect.c index d769f86cdef..decea696bfd 100644 --- a/src/xselect.c +++ b/src/xselect.c | |||
| @@ -1670,8 +1670,8 @@ selection_data_to_lisp_data (Display *display, const unsigned char *data, | |||
| 1670 | return x_atom_to_symbol (display, (Atom) idata[0]); | 1670 | return x_atom_to_symbol (display, (Atom) idata[0]); |
| 1671 | else | 1671 | else |
| 1672 | { | 1672 | { |
| 1673 | Lisp_Object v = Fmake_vector (make_number (size / sizeof (int)), | 1673 | Lisp_Object v = make_uninit_vector (size / sizeof (int)); |
| 1674 | make_number (0)); | 1674 | |
| 1675 | for (i = 0; i < size / sizeof (int); i++) | 1675 | for (i = 0; i < size / sizeof (int); i++) |
| 1676 | ASET (v, i, x_atom_to_symbol (display, (Atom) idata[i])); | 1676 | ASET (v, i, x_atom_to_symbol (display, (Atom) idata[i])); |
| 1677 | return v; | 1677 | return v; |
| @@ -1693,8 +1693,8 @@ selection_data_to_lisp_data (Display *display, const unsigned char *data, | |||
| 1693 | else if (format == 16) | 1693 | else if (format == 16) |
| 1694 | { | 1694 | { |
| 1695 | ptrdiff_t i; | 1695 | ptrdiff_t i; |
| 1696 | Lisp_Object v; | 1696 | Lisp_Object v = make_uninit_vector (size / 2); |
| 1697 | v = Fmake_vector (make_number (size / 2), make_number (0)); | 1697 | |
| 1698 | for (i = 0; i < size / 2; i++) | 1698 | for (i = 0; i < size / 2; i++) |
| 1699 | { | 1699 | { |
| 1700 | short j = ((short *) data) [i]; | 1700 | short j = ((short *) data) [i]; |
| @@ -1705,8 +1705,8 @@ selection_data_to_lisp_data (Display *display, const unsigned char *data, | |||
| 1705 | else | 1705 | else |
| 1706 | { | 1706 | { |
| 1707 | ptrdiff_t i; | 1707 | ptrdiff_t i; |
| 1708 | Lisp_Object v = Fmake_vector (make_number (size / X_LONG_SIZE), | 1708 | Lisp_Object v = make_uninit_vector (size / X_LONG_SIZE); |
| 1709 | make_number (0)); | 1709 | |
| 1710 | for (i = 0; i < size / X_LONG_SIZE; i++) | 1710 | for (i = 0; i < size / X_LONG_SIZE; i++) |
| 1711 | { | 1711 | { |
| 1712 | int j = ((int *) data) [i]; | 1712 | int j = ((int *) data) [i]; |