diff options
| author | Paul Eggert | 2016-04-04 10:30:41 -0700 |
|---|---|---|
| committer | Paul Eggert | 2016-04-04 10:31:25 -0700 |
| commit | 17cb263adb7c37803140604f0a2e4df8a38fbcff (patch) | |
| tree | bd57929386123132847718e2d30a528c8b19d1a3 /src/alloc.c | |
| parent | 0322457e2bec0b9409a03887a8235dbe14e357f4 (diff) | |
| download | emacs-17cb263adb7c37803140604f0a2e4df8a38fbcff.tar.gz emacs-17cb263adb7c37803140604f0a2e4df8a38fbcff.zip | |
New C macro AUTO_STRING_WITH_LEN
Put a bit less pressure on the garbage collector by defining a
macro that is like AUTO_STRING but also allows null bytes in strings,
and by extending AUTO_STRING to work with any unibyte string.
* src/alloc.c (verify_ascii): Remove; all uses removed.
AUTO_STRING can now be used on non-ASCII unibyte strings.
* src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
(AUTO_STRING_WITH_LEN): New macro.
* src/coding.c (from_unicode_buffer):
* src/editfns.c (format_time_string):
* src/emacs-module.c (module_make_string, module_format_fun_env):
* src/fileio.c (Fexpand_file_name):
* src/font.c (font_parse_family_registry):
* src/ftfont.c (ftfont_get_charset):
* src/keymap.c (silly_event_symbol_error):
* src/menu.c (single_menu_item):
* src/sysdep.c (system_process_attributes):
Use AUTO_STRING_WITH_LEN if possible.
* src/emacs-module.c (module_make_function):
* src/fileio.c (report_file_errno, report_file_notify_error):
* src/fns.c (Flocale_info):
* src/sysdep.c (system_process_attributes):
Use AUTO_STRING if possible. This is doable more often now
that AUTO_STRING works on any unibyte string.
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/src/alloc.c b/src/alloc.c index 56a535411c8..c5a4f425f6e 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -7216,21 +7216,6 @@ die (const char *msg, const char *file, int line) | |||
| 7216 | 7216 | ||
| 7217 | #if defined (ENABLE_CHECKING) && USE_STACK_LISP_OBJECTS | 7217 | #if defined (ENABLE_CHECKING) && USE_STACK_LISP_OBJECTS |
| 7218 | 7218 | ||
| 7219 | /* Debugging check whether STR is ASCII-only. */ | ||
| 7220 | |||
| 7221 | const char * | ||
| 7222 | verify_ascii (const char *str) | ||
| 7223 | { | ||
| 7224 | const unsigned char *ptr = (unsigned char *) str, *end = ptr + strlen (str); | ||
| 7225 | while (ptr < end) | ||
| 7226 | { | ||
| 7227 | int c = STRING_CHAR_ADVANCE (ptr); | ||
| 7228 | if (!ASCII_CHAR_P (c)) | ||
| 7229 | emacs_abort (); | ||
| 7230 | } | ||
| 7231 | return str; | ||
| 7232 | } | ||
| 7233 | |||
| 7234 | /* Stress alloca with inconveniently sized requests and check | 7219 | /* Stress alloca with inconveniently sized requests and check |
| 7235 | whether all allocated areas may be used for Lisp_Object. */ | 7220 | whether all allocated areas may be used for Lisp_Object. */ |
| 7236 | 7221 | ||