summaryrefslogtreecommitdiff
path: root/src/coding.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2015-01-25 08:33:41 -0800
committerPaul Eggert <eggert@cs.ucla.edu>2015-01-25 09:11:25 -0800
commita3689d3c661fe36df971c875760f8d500b5ae994 (patch)
tree80521f91ec481457cb7f8fcb9f88b3a42e557c8e /src/coding.c
parentc4e54f962714056df6c57c21f694544f237d5f4c (diff)
downloademacs-a3689d3c661fe36df971c875760f8d500b5ae994.tar.gz
Count MANY function args more reliably
* alloc.c (Fgc_status, purecopy, unbind_to, garbage_collect_1): * buffer.c (Fbuffer_list, Fkill_buffer): * callint.c (read_file_name, Fcall_interactively): * charset.c (Fset_charset_priority, syms_of_charset): * chartab.c (uniprop_encode_value_numeric): * coding.c (syms_of_coding): * composite.c (syms_of_composite): * data.c (wrong_range): * dbusbind.c (syms_of_dbusbind): * dired.c (file_attributes): * editfns.c (Fdecode_time, update_buffer_properties, format2): * eval.c (run_hook_with_args_2, apply1, call1, call2, call3) (call4, call5, call6, call7): * fileio.c (Finsert_file_contents, choose_write_coding_system) (Fcar_less_than_car, build_annotations, auto_save_error): * filelock.c (get_boot_time): * fns.c (internal_equal, nconc2, Fyes_or_no_p, Fwidget_apply): (maybe_resize_hash_table, secure_hash): * font.c (font_style_to_value, font_open_by_name, Flist_fonts): * fontset.c (fontset_add, Fset_fontset_font): * ftfont.c (ftfont_lookup_cache): * gtkutil.c (xg_get_font): * insdel.c (signal_before_change, signal_after_change): * keymap.c (append_key): * lread.c (load_warn_old_style_backquotes, Fload, init_lread): * minibuf.c (Fread_buffer): * print.c (print_preprocess): * process.c (Fformat_network_address, Fmake_network_process) (server_accept_connection): * sound.c (Fplay_sound_internal): * term.c (Fsuspend_tty, Fresume_tty): * window.c (window_list): * xdisp.c (run_redisplay_end_trigger_hook, add_to_log) (message_with_string): * xfaces.c (Fx_list_fonts): * xfont.c (syms_of_xfont): * xselect.c (x_handle_selection_request) (x_handle_selection_clear, x_clear_frame_selections) (x_clipboard_manager_error_1): Prefer CALLMANY and CALLN to counting args by hand. * doc.c (reread_doc_file): Remove unused code. * fns.c (concat2, concat3): Redo to avoid need for local-var vector. (cmpfn_user_defined, hashfn_user_defined, Fmaphash): Prefer call1 and call2 to Ffuncall. * keyboard.c (safe_run_hook_funcall, safe_run_hooks): Use struct literal rather than a local var, for simplicity. * keymap.c (where_is_internal): Use NULL rather than a pointer to unused args. * lisp.h (CALLMANY, CALLN): New macros. * sound.c (Fplay_sound_internal): Coalesce duplicate code. Fixes: bug#19634
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c106
1 files changed, 50 insertions, 56 deletions
diff --git a/src/coding.c b/src/coding.c
index 43ebbe06856..54811588c6a 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -10776,12 +10776,7 @@ void
syms_of_coding (void)
{
staticpro (&Vcoding_system_hash_table);
- {
- Lisp_Object args[2];
- args[0] = QCtest;
- args[1] = Qeq;
- Vcoding_system_hash_table = Fmake_hash_table (2, args);
- }
+ Vcoding_system_hash_table = CALLN (Fmake_hash_table, QCtest, Qeq);
staticpro (&Vsjis_coding_system);
Vsjis_coding_system = Qnil;
@@ -11269,60 +11264,59 @@ See also `keyboard-translate-table'.
Use of this variable for character code unification was rendered
obsolete in Emacs 23.1 and later, since Unicode is now the basis of
internal character representation. */);
- Vtranslation_table_for_input = Qnil;
-
- {
- Lisp_Object args[coding_arg_undecided_max];
- memclear (args, sizeof args);
-
- Lisp_Object plist[16];
- plist[0] = intern_c_string (":name");
- plist[1] = args[coding_arg_name] = Qno_conversion;
- plist[2] = intern_c_string (":mnemonic");
- plist[3] = args[coding_arg_mnemonic] = make_number ('=');
- plist[4] = intern_c_string (":coding-type");
- plist[5] = args[coding_arg_coding_type] = Qraw_text;
- plist[6] = intern_c_string (":ascii-compatible-p");
- plist[7] = args[coding_arg_ascii_compatible_p] = Qt;
- plist[8] = intern_c_string (":default-char");
- plist[9] = args[coding_arg_default_char] = make_number (0);
- plist[10] = intern_c_string (":for-unibyte");
- plist[11] = args[coding_arg_for_unibyte] = Qt;
- plist[12] = intern_c_string (":docstring");
- plist[13] = build_pure_c_string ("Do no conversion.\n\
-\n\
-When you visit a file with this coding, the file is read into a\n\
-unibyte buffer as is, thus each byte of a file is treated as a\n\
-character.");
- plist[14] = intern_c_string (":eol-type");
- plist[15] = args[coding_arg_eol_type] = Qunix;
- args[coding_arg_plist] = Flist (16, plist);
- Fdefine_coding_system_internal (coding_arg_max, args);
-
- plist[1] = args[coding_arg_name] = Qundecided;
- plist[3] = args[coding_arg_mnemonic] = make_number ('-');
- plist[5] = args[coding_arg_coding_type] = Qundecided;
- /* This is already set.
- plist[7] = args[coding_arg_ascii_compatible_p] = Qt; */
- plist[8] = intern_c_string (":charset-list");
- plist[9] = args[coding_arg_charset_list] = Fcons (Qascii, Qnil);
- plist[11] = args[coding_arg_for_unibyte] = Qnil;
- plist[13] = build_pure_c_string ("No conversion on encoding, automatic conversion on decoding.");
- plist[15] = args[coding_arg_eol_type] = Qnil;
- args[coding_arg_plist] = Flist (16, plist);
- args[coding_arg_undecided_inhibit_null_byte_detection] = make_number (0);
- args[coding_arg_undecided_inhibit_iso_escape_detection] = make_number (0);
- Fdefine_coding_system_internal (coding_arg_undecided_max, args);
- }
+ Vtranslation_table_for_input = Qnil;
+
+ Lisp_Object args[coding_arg_undecided_max];
+ memclear (args, sizeof args);
+
+ Lisp_Object plist[] =
+ {
+ intern_c_string (":name"),
+ args[coding_arg_name] = Qno_conversion,
+ intern_c_string (":mnemonic"),
+ args[coding_arg_mnemonic] = make_number ('='),
+ intern_c_string (":coding-type"),
+ args[coding_arg_coding_type] = Qraw_text,
+ intern_c_string (":ascii-compatible-p"),
+ args[coding_arg_ascii_compatible_p] = Qt,
+ intern_c_string (":default-char"),
+ args[coding_arg_default_char] = make_number (0),
+ intern_c_string (":for-unibyte"),
+ args[coding_arg_for_unibyte] = Qt,
+ intern_c_string (":docstring"),
+ (build_pure_c_string
+ ("Do no conversion.\n"
+ "\n"
+ "When you visit a file with this coding, the file is read into a\n"
+ "unibyte buffer as is, thus each byte of a file is treated as a\n"
+ "character.")),
+ intern_c_string (":eol-type"),
+ args[coding_arg_eol_type] = Qunix,
+ };
+ args[coding_arg_plist] = CALLMANY (Flist, plist);
+ Fdefine_coding_system_internal (coding_arg_max, args);
+
+ plist[1] = args[coding_arg_name] = Qundecided;
+ plist[3] = args[coding_arg_mnemonic] = make_number ('-');
+ plist[5] = args[coding_arg_coding_type] = Qundecided;
+ /* This is already set.
+ plist[7] = args[coding_arg_ascii_compatible_p] = Qt; */
+ plist[8] = intern_c_string (":charset-list");
+ plist[9] = args[coding_arg_charset_list] = Fcons (Qascii, Qnil);
+ plist[11] = args[coding_arg_for_unibyte] = Qnil;
+ plist[13] = build_pure_c_string ("No conversion on encoding, "
+ "automatic conversion on decoding.");
+ plist[15] = args[coding_arg_eol_type] = Qnil;
+ args[coding_arg_plist] = CALLMANY (Flist, plist);
+ args[coding_arg_undecided_inhibit_null_byte_detection] = make_number (0);
+ args[coding_arg_undecided_inhibit_iso_escape_detection] = make_number (0);
+ Fdefine_coding_system_internal (coding_arg_undecided_max, args);
setup_coding_system (Qno_conversion, &safe_terminal_coding);
- {
- int i;
+ for (int i = 0; i < coding_category_max; i++)
+ Fset (AREF (Vcoding_category_table, i), Qno_conversion);
- for (i = 0; i < coding_category_max; i++)
- Fset (AREF (Vcoding_category_table, i), Qno_conversion);
- }
#if defined (DOS_NT)
system_eol_type = Qdos;
#else