aboutsummaryrefslogtreecommitdiffstats
path: root/src/eval.c
diff options
context:
space:
mode:
authorPaul Eggert2013-07-15 23:39:49 -0700
committerPaul Eggert2013-07-15 23:39:49 -0700
commit6c6f1994bf684f510d600bd18023fa01b4b06500 (patch)
tree04b7125d1327d8419024f28d14bfb384afc52cdd /src/eval.c
parent8abee653a22b0b879a9376c1dce3e3ca2e2f31d6 (diff)
downloademacs-6c6f1994bf684f510d600bd18023fa01b4b06500.tar.gz
emacs-6c6f1994bf684f510d600bd18023fa01b4b06500.zip
Prefer list1 (X) to Fcons (X, Qnil) when building lists.
This makes the code easier to read and the executable a bit smaller. Do not replace all calls to Fcons that happen to create lists, just calls that are intended to create lists. For example, when creating an alist that maps FOO to nil, use list1 (Fcons (FOO, Qnil)) rather than list1 (list1 (FOO)) or Fcons (Fcons (FOO, Qnil), Qnil). Similarly for list2 through list5. * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): * bytecode.c (exec_byte_code): * callint.c (quotify_arg, Fcall_interactively): * callproc.c (Fcall_process, create_temp_file): * charset.c (load_charset_map_from_file) (Fdefine_charset_internal, init_charset): * coding.c (get_translation_table, detect_coding_system) (Fcheck_coding_systems_region) (Fset_terminal_coding_system_internal) (Fdefine_coding_system_internal, Fdefine_coding_system_alias): * composite.c (update_compositions, Ffind_composition_internal): * dired.c (directory_files_internal, file_name_completion) (Fsystem_users): * dispnew.c (Fopen_termscript, bitch_at_user, init_display): * doc.c (Fsnarf_documentation): * editfns.c (Fmessage_box): * emacs.c (main): * eval.c (do_debug_on_call, signal_error, maybe_call_debugger) (Feval, eval_sub, Ffuncall, apply_lambda): * fileio.c (make_temp_name, Fcopy_file, Faccess_file) (Fset_file_selinux_context, Fset_file_acl, Fset_file_modes) (Fset_file_times, Finsert_file_contents) (Fchoose_write_coding_system, Fwrite_region): * fns.c (Flax_plist_put, Fyes_or_no_p, syms_of_fns): * font.c (font_registry_charsets, font_parse_fcname) (font_prepare_cache, font_update_drivers, Flist_fonts): * fontset.c (Fset_fontset_font, Ffontset_info, syms_of_fontset): * frame.c (make_frame, Fmake_terminal_frame) (x_set_frame_parameters, x_report_frame_params) (x_default_parameter, Fx_parse_geometry): * ftfont.c (syms_of_ftfont): * image.c (gif_load): * keyboard.c (command_loop_1): * keymap.c (Fmake_keymap, Fmake_sparse_keymap, access_keymap_1) (Fcopy_keymap, append_key, Fcurrent_active_maps) (Fminor_mode_key_binding, accessible_keymaps_1) (Faccessible_keymaps, Fwhere_is_internal): * lread.c (read_emacs_mule_char): * menu.c (find_and_return_menu_selection): * minibuf.c (get_minibuffer): * nsfns.m (Fns_perform_service): * nsfont.m (ns_script_to_charset): * nsmenu.m (ns_popup_dialog): * nsselect.m (ns_get_local_selection, ns_string_from_pasteboard) (Fx_own_selection_internal): * nsterm.m (append2): * print.c (Fredirect_debugging_output) (print_prune_string_charset): * process.c (Fdelete_process, Fprocess_contact) (Fformat_network_address, set_socket_option) (read_and_dispose_of_process_output, write_queue_push) (send_process, exec_sentinel): * sound.c (Fplay_sound_internal): * textprop.c (validate_plist, add_properties) (Fput_text_property, Fadd_face_text_property) (copy_text_properties, text_property_list, syms_of_textprop): * unexaix.c (report_error): * unexcoff.c (report_error): * unexsol.c (unexec): * xdisp.c (redisplay_tool_bar, store_mode_line_string) (Fformat_mode_line, syms_of_xdisp): * xfaces.c (set_font_frame_param) (Finternal_lisp_face_attribute_values) (Finternal_merge_in_global_face, syms_of_xfaces): * xfns.c (x_default_scroll_bar_color_parameter) (x_default_font_parameter, x_create_tip_frame): * xfont.c (xfont_supported_scripts): * xmenu.c (Fx_popup_dialog, xmenu_show, xdialog_show) (menu_help_callback, xmenu_show): * xml.c (make_dom): * xterm.c (set_wm_state): Prefer list1 (FOO) to Fcons (FOO, Qnil) when creating a list, and similarly for list2 through list5.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/eval.c b/src/eval.c
index 0e231bdb285..25cfc540ce0 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -338,7 +338,7 @@ do_debug_on_call (Lisp_Object code)
338{ 338{
339 debug_on_next_call = 0; 339 debug_on_next_call = 0;
340 set_backtrace_debug_on_exit (specpdl_ptr - 1, true); 340 set_backtrace_debug_on_exit (specpdl_ptr - 1, true);
341 call_debugger (Fcons (code, Qnil)); 341 call_debugger (list1 (code));
342} 342}
343 343
344/* NOTE!!! Every function that can call EVAL must protect its args 344/* NOTE!!! Every function that can call EVAL must protect its args
@@ -1611,7 +1611,7 @@ signal_error (const char *s, Lisp_Object arg)
1611 } 1611 }
1612 1612
1613 if (!NILP (hare)) 1613 if (!NILP (hare))
1614 arg = Fcons (arg, Qnil); /* Make it a list. */ 1614 arg = list1 (arg);
1615 1615
1616 xsignal (Qerror, Fcons (build_string (s), arg)); 1616 xsignal (Qerror, Fcons (build_string (s), arg));
1617} 1617}
@@ -1703,7 +1703,7 @@ maybe_call_debugger (Lisp_Object conditions, Lisp_Object sig, Lisp_Object data)
1703 /* RMS: What's this for? */ 1703 /* RMS: What's this for? */
1704 && when_entered_debugger < num_nonmacro_input_events) 1704 && when_entered_debugger < num_nonmacro_input_events)
1705 { 1705 {
1706 call_debugger (Fcons (Qerror, Fcons (combined_data, Qnil))); 1706 call_debugger (list2 (Qerror, combined_data));
1707 return 1; 1707 return 1;
1708 } 1708 }
1709 1709
@@ -1992,7 +1992,7 @@ If LEXICAL is t, evaluate using lexical scoping. */)
1992{ 1992{
1993 ptrdiff_t count = SPECPDL_INDEX (); 1993 ptrdiff_t count = SPECPDL_INDEX ();
1994 specbind (Qinternal_interpreter_environment, 1994 specbind (Qinternal_interpreter_environment,
1995 CONSP (lexical) || NILP (lexical) ? lexical : Fcons (Qt, Qnil)); 1995 CONSP (lexical) || NILP (lexical) ? lexical : list1 (Qt));
1996 return unbind_to (count, eval_sub (form)); 1996 return unbind_to (count, eval_sub (form));
1997} 1997}
1998 1998
@@ -2257,7 +2257,7 @@ eval_sub (Lisp_Object form)
2257 2257
2258 lisp_eval_depth--; 2258 lisp_eval_depth--;
2259 if (backtrace_debug_on_exit (specpdl_ptr - 1)) 2259 if (backtrace_debug_on_exit (specpdl_ptr - 1))
2260 val = call_debugger (Fcons (Qexit, Fcons (val, Qnil))); 2260 val = call_debugger (list2 (Qexit, val));
2261 specpdl_ptr--; 2261 specpdl_ptr--;
2262 2262
2263 return val; 2263 return val;
@@ -2878,7 +2878,7 @@ usage: (funcall FUNCTION &rest ARGUMENTS) */)
2878 check_cons_list (); 2878 check_cons_list ();
2879 lisp_eval_depth--; 2879 lisp_eval_depth--;
2880 if (backtrace_debug_on_exit (specpdl_ptr - 1)) 2880 if (backtrace_debug_on_exit (specpdl_ptr - 1))
2881 val = call_debugger (Fcons (Qexit, Fcons (val, Qnil))); 2881 val = call_debugger (list2 (Qexit, val));
2882 specpdl_ptr--; 2882 specpdl_ptr--;
2883 return val; 2883 return val;
2884} 2884}
@@ -2920,7 +2920,7 @@ apply_lambda (Lisp_Object fun, Lisp_Object args)
2920 { 2920 {
2921 /* Don't do it again when we return to eval. */ 2921 /* Don't do it again when we return to eval. */
2922 set_backtrace_debug_on_exit (specpdl_ptr - 1, false); 2922 set_backtrace_debug_on_exit (specpdl_ptr - 1, false);
2923 tem = call_debugger (Fcons (Qexit, Fcons (tem, Qnil))); 2923 tem = call_debugger (list2 (Qexit, tem));
2924 } 2924 }
2925 SAFE_FREE (); 2925 SAFE_FREE ();
2926 return tem; 2926 return tem;