aboutsummaryrefslogtreecommitdiffstats
path: root/src/keymap.c
diff options
context:
space:
mode:
authorDmitry Antipov2014-09-15 18:53:23 +0400
committerDmitry Antipov2014-09-15 18:53:23 +0400
commitedb0288b83b45d295df52ce7644e897613358971 (patch)
tree8f169c257e9752ca860764cc19ec232d287eb189 /src/keymap.c
parent497daa12743ed71a70e41f966631d1c8856248cc (diff)
downloademacs-edb0288b83b45d295df52ce7644e897613358971.tar.gz
emacs-edb0288b83b45d295df52ce7644e897613358971.zip
If USE_LOCAL_ALLOCATORS, allocate some Lisp objects on stack.
* lisp.h (local_cons, local_list1, local_list2, local_list3) [USE_LOCAL_ALLOCATORS]: New macros. [!USE_LOCAL_ALLOCATORS]: Fall back to regular functions. (build_local_string): Avoid argument name expansion clash with make_local_string. * alloc.c (toplevel) [USE_LOCAL_ALLOCATORS && GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS]: Preprocessor guard to avoid impossible configuration. * charset.c (Ffind_charset_region, Ffind_charset_string): Use make_local_vector. * lread.c (read1, substitute_object_recurse): Use scoped_cons. * textprop.c (Fput_text_property, Fadd_face_text_property): Use scoped_list2. (copy_text_properties): Use local_cons and local_list3. * chartab.c (uniprop_table): * data.c (wrong_choice, wrong_range): * doc.c (get_doc_string): * editfns.c (format2): * fileio.c (Fexpand_file_name, auto_save_error): * fns.c (Fyes_or_no_p): * font.c (font_parse_xlfd, font_parse_family_registry, font_add_log): * fontset.c (Fset_fontset_font): * keyboard.c (echo_add_key, echo_dash, parse_menu_item) (read_char_minibuf_menu_prompt): * keymap.c (silly_event_symbol_error, describe_vector): * menu.c (single_menu_item): * minibuf.c (Fread_buffer): * process.c (status_message, Fformat_network_address) (server_accept_connection): Use make_local_string and build_local_string. Prefer compound literals where appropriate.
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/keymap.c b/src/keymap.c
index f7256bfde2a..a1299ec8554 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -1342,7 +1342,7 @@ silly_event_symbol_error (Lisp_Object c)
1342 *p = 0; 1342 *p = 0;
1343 1343
1344 c = reorder_modifiers (c); 1344 c = reorder_modifiers (c);
1345 keystring = concat2 (build_string (new_mods), XCDR (assoc)); 1345 keystring = concat2 (build_local_string (new_mods), XCDR (assoc));
1346 1346
1347 error ("To bind the key %s, use [?%s], not [%s]", 1347 error ("To bind the key %s, use [?%s], not [%s]",
1348 SDATA (SYMBOL_NAME (c)), SDATA (keystring), 1348 SDATA (SYMBOL_NAME (c)), SDATA (keystring),
@@ -2245,7 +2245,7 @@ around function keys and event symbols. */)
2245 if (CONSP (key) && INTEGERP (XCAR (key)) && INTEGERP (XCDR (key))) 2245 if (CONSP (key) && INTEGERP (XCAR (key)) && INTEGERP (XCDR (key)))
2246 /* An interval from a map-char-table. */ 2246 /* An interval from a map-char-table. */
2247 return concat3 (Fsingle_key_description (XCAR (key), no_angles), 2247 return concat3 (Fsingle_key_description (XCAR (key), no_angles),
2248 build_string (".."), 2248 build_local_string (".."),
2249 Fsingle_key_description (XCDR (key), no_angles)); 2249 Fsingle_key_description (XCDR (key), no_angles));
2250 2250
2251 key = EVENT_HEAD (key); 2251 key = EVENT_HEAD (key);
@@ -3444,7 +3444,7 @@ describe_vector (Lisp_Object vector, Lisp_Object prefix, Lisp_Object args,
3444 { 3444 {
3445 Lisp_Object tem; 3445 Lisp_Object tem;
3446 tem = Fkey_description (prefix, Qnil); 3446 tem = Fkey_description (prefix, Qnil);
3447 elt_prefix = concat2 (tem, build_string (" ")); 3447 elt_prefix = concat2 (tem, build_local_string (" "));
3448 } 3448 }
3449 prefix = Qnil; 3449 prefix = Qnil;
3450 } 3450 }