diff options
author | Dmitry Antipov <dmantipov@yandex.ru> | 2014-07-14 08:44:01 +0400 |
---|---|---|
committer | Dmitry Antipov <dmantipov@yandex.ru> | 2014-07-14 08:44:01 +0400 |
commit | 201b685783301c9acfda413d1860763f0e941601 (patch) | |
tree | c16759bbe8c1e4a6ddea7f783e55c0710f00f0a5 /src/fns.c | |
parent | a705278de7c661af9b78d956af25e13055cba864 (diff) | |
download | emacs-201b685783301c9acfda413d1860763f0e941601.tar.gz |
* lisp.h (CHECK_VECTOR_OR_STRING): Return number of elements
or characters in string, respectively. Add comment.
* fringe.c (Fdefine_fringe_bitmap):
* fns.c (Fsubstring, substring_both): Use it.
* keymap.c (Fdefine_key, Flookup_key):
* macros.c (Fstart_kbd_macro): Likewise. Avoid call to Flength.
Diffstat (limited to 'src/fns.c')
-rw-r--r-- | src/fns.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/src/fns.c b/src/fns.c index 887a856f224..79967116a11 100644 --- a/src/fns.c +++ b/src/fns.c @@ -1151,13 +1151,7 @@ With one argument, just copy STRING (with properties, if any). */) Lisp_Object res; ptrdiff_t size, ifrom, ito; - if (STRINGP (string)) - size = SCHARS (string); - else if (VECTORP (string)) - size = ASIZE (string); - else - wrong_type_argument (Qarrayp, string); - + size = CHECK_VECTOR_OR_STRING (string); validate_subarray (string, from, to, size, &ifrom, &ito); if (STRINGP (string)) @@ -1212,11 +1206,7 @@ substring_both (Lisp_Object string, ptrdiff_t from, ptrdiff_t from_byte, ptrdiff_t to, ptrdiff_t to_byte) { Lisp_Object res; - ptrdiff_t size; - - CHECK_VECTOR_OR_STRING (string); - - size = STRINGP (string) ? SCHARS (string) : ASIZE (string); + ptrdiff_t size = CHECK_VECTOR_OR_STRING (string); if (!(0 <= from && from <= to && to <= size)) args_out_of_range_3 (string, make_number (from), make_number (to)); |