diff options
| author | Dmitry Antipov | 2012-07-10 12:43:46 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2012-07-10 12:43:46 +0400 |
| commit | 2a0213a6d0a9e36a388994445837e051d0bbe5f9 (patch) | |
| tree | b7e4d5c2ef5d4061e083ef2123c1fc72ad46d93d /src/coding.c | |
| parent | cb1caeaf2ba26df05e8f9bcd4aa63203cef781fb (diff) | |
| download | emacs-2a0213a6d0a9e36a388994445837e051d0bbe5f9.tar.gz emacs-2a0213a6d0a9e36a388994445837e051d0bbe5f9.zip | |
Optimize pure C strings initialization.
* lisp.h (make_pure_string): Fix prototype.
(build_pure_c_string): New function, defined as static inline. This
provides a better opportunity to optimize away calls to strlen when
the function is called with compile-time constant argument.
* alloc.c (make_pure_c_string): Fix comment. Change to add nchars
argument, adjust users accordingly. Use build_pure_c_string where
appropriate.
* buffer.c, coding.c, data.c, dbusbind.c, fileio.c, fontset.c, frame.c,
* keyboard.c, keymap.c, lread.c, search.c, syntax.c, w32fns.c, xdisp.c,
* xfaces.c, xfns.c, xterm.c: Use build_pure_c_string where appropriate.
Diffstat (limited to 'src/coding.c')
| -rw-r--r-- | src/coding.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/coding.c b/src/coding.c index 4b2a9740121..8210cacc4d8 100644 --- a/src/coding.c +++ b/src/coding.c | |||
| @@ -10350,7 +10350,7 @@ syms_of_coding (void) | |||
| 10350 | Vcode_conversion_reused_workbuf = Qnil; | 10350 | Vcode_conversion_reused_workbuf = Qnil; |
| 10351 | 10351 | ||
| 10352 | staticpro (&Vcode_conversion_workbuf_name); | 10352 | staticpro (&Vcode_conversion_workbuf_name); |
| 10353 | Vcode_conversion_workbuf_name = make_pure_c_string (" *code-conversion-work*"); | 10353 | Vcode_conversion_workbuf_name = build_pure_c_string (" *code-conversion-work*"); |
| 10354 | 10354 | ||
| 10355 | reused_workbuf_in_use = 0; | 10355 | reused_workbuf_in_use = 0; |
| 10356 | 10356 | ||
| @@ -10413,7 +10413,7 @@ syms_of_coding (void) | |||
| 10413 | Fput (Qcoding_system_error, Qerror_conditions, | 10413 | Fput (Qcoding_system_error, Qerror_conditions, |
| 10414 | pure_cons (Qcoding_system_error, pure_cons (Qerror, Qnil))); | 10414 | pure_cons (Qcoding_system_error, pure_cons (Qerror, Qnil))); |
| 10415 | Fput (Qcoding_system_error, Qerror_message, | 10415 | Fput (Qcoding_system_error, Qerror_message, |
| 10416 | make_pure_c_string ("Invalid coding system")); | 10416 | build_pure_c_string ("Invalid coding system")); |
| 10417 | 10417 | ||
| 10418 | /* Intern this now in case it isn't already done. | 10418 | /* Intern this now in case it isn't already done. |
| 10419 | Setting this variable twice is harmless. | 10419 | Setting this variable twice is harmless. |
| @@ -10686,22 +10686,22 @@ Also used for decoding keyboard input on X Window system. */); | |||
| 10686 | DEFVAR_LISP ("eol-mnemonic-unix", eol_mnemonic_unix, | 10686 | DEFVAR_LISP ("eol-mnemonic-unix", eol_mnemonic_unix, |
| 10687 | doc: /* | 10687 | doc: /* |
| 10688 | *String displayed in mode line for UNIX-like (LF) end-of-line format. */); | 10688 | *String displayed in mode line for UNIX-like (LF) end-of-line format. */); |
| 10689 | eol_mnemonic_unix = make_pure_c_string (":"); | 10689 | eol_mnemonic_unix = build_pure_c_string (":"); |
| 10690 | 10690 | ||
| 10691 | DEFVAR_LISP ("eol-mnemonic-dos", eol_mnemonic_dos, | 10691 | DEFVAR_LISP ("eol-mnemonic-dos", eol_mnemonic_dos, |
| 10692 | doc: /* | 10692 | doc: /* |
| 10693 | *String displayed in mode line for DOS-like (CRLF) end-of-line format. */); | 10693 | *String displayed in mode line for DOS-like (CRLF) end-of-line format. */); |
| 10694 | eol_mnemonic_dos = make_pure_c_string ("\\"); | 10694 | eol_mnemonic_dos = build_pure_c_string ("\\"); |
| 10695 | 10695 | ||
| 10696 | DEFVAR_LISP ("eol-mnemonic-mac", eol_mnemonic_mac, | 10696 | DEFVAR_LISP ("eol-mnemonic-mac", eol_mnemonic_mac, |
| 10697 | doc: /* | 10697 | doc: /* |
| 10698 | *String displayed in mode line for MAC-like (CR) end-of-line format. */); | 10698 | *String displayed in mode line for MAC-like (CR) end-of-line format. */); |
| 10699 | eol_mnemonic_mac = make_pure_c_string ("/"); | 10699 | eol_mnemonic_mac = build_pure_c_string ("/"); |
| 10700 | 10700 | ||
| 10701 | DEFVAR_LISP ("eol-mnemonic-undecided", eol_mnemonic_undecided, | 10701 | DEFVAR_LISP ("eol-mnemonic-undecided", eol_mnemonic_undecided, |
| 10702 | doc: /* | 10702 | doc: /* |
| 10703 | *String displayed in mode line when end-of-line format is not yet determined. */); | 10703 | *String displayed in mode line when end-of-line format is not yet determined. */); |
| 10704 | eol_mnemonic_undecided = make_pure_c_string (":"); | 10704 | eol_mnemonic_undecided = build_pure_c_string (":"); |
| 10705 | 10705 | ||
| 10706 | DEFVAR_LISP ("enable-character-translation", Venable_character_translation, | 10706 | DEFVAR_LISP ("enable-character-translation", Venable_character_translation, |
| 10707 | doc: /* | 10707 | doc: /* |
| @@ -10839,7 +10839,7 @@ internal character representation. */); | |||
| 10839 | plist[10] = intern_c_string (":for-unibyte"); | 10839 | plist[10] = intern_c_string (":for-unibyte"); |
| 10840 | plist[11] = args[coding_arg_for_unibyte] = Qt; | 10840 | plist[11] = args[coding_arg_for_unibyte] = Qt; |
| 10841 | plist[12] = intern_c_string (":docstring"); | 10841 | plist[12] = intern_c_string (":docstring"); |
| 10842 | plist[13] = make_pure_c_string ("Do no conversion.\n\ | 10842 | plist[13] = build_pure_c_string ("Do no conversion.\n\ |
| 10843 | \n\ | 10843 | \n\ |
| 10844 | When you visit a file with this coding, the file is read into a\n\ | 10844 | When you visit a file with this coding, the file is read into a\n\ |
| 10845 | unibyte buffer as is, thus each byte of a file is treated as a\n\ | 10845 | unibyte buffer as is, thus each byte of a file is treated as a\n\ |
| @@ -10857,7 +10857,7 @@ character."); | |||
| 10857 | plist[8] = intern_c_string (":charset-list"); | 10857 | plist[8] = intern_c_string (":charset-list"); |
| 10858 | plist[9] = args[coding_arg_charset_list] = Fcons (Qascii, Qnil); | 10858 | plist[9] = args[coding_arg_charset_list] = Fcons (Qascii, Qnil); |
| 10859 | plist[11] = args[coding_arg_for_unibyte] = Qnil; | 10859 | plist[11] = args[coding_arg_for_unibyte] = Qnil; |
| 10860 | plist[13] = make_pure_c_string ("No conversion on encoding, automatic conversion on decoding."); | 10860 | plist[13] = build_pure_c_string ("No conversion on encoding, automatic conversion on decoding."); |
| 10861 | plist[15] = args[coding_arg_eol_type] = Qnil; | 10861 | plist[15] = args[coding_arg_eol_type] = Qnil; |
| 10862 | args[coding_arg_plist] = Flist (16, plist); | 10862 | args[coding_arg_plist] = Flist (16, plist); |
| 10863 | Fdefine_coding_system_internal (coding_arg_max, args); | 10863 | Fdefine_coding_system_internal (coding_arg_max, args); |