From: Mattias EngdegÄrd Date: Mon, 8 Jul 2024 08:58:32 +0000 (+0200) Subject: Cheaper char counting when reading symbols X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=b3fa07aec62376c1997f15ba6e7ffb4bbf6929e2;p=emacs.git Cheaper char counting when reading symbols * src/lread.c (read0): Strength reduction. (cherry picked from commit c120a338e6ef15888338fbd499caf5c1c02777e4) --- diff --git a/src/lread.c b/src/lread.c index e714684f4c8..7f226074f09 100644 --- a/src/lread.c +++ b/src/lread.c @@ -4434,6 +4434,7 @@ read0 (Lisp_Object readcharfun, bool locate_syms) rb.cur = rb.start; bool quoted = false; EMACS_INT start_position = readchar_offset - 1; + ptrdiff_t nchars = 0; do { @@ -4446,6 +4447,7 @@ read0 (Lisp_Object readcharfun, bool locate_syms) } add_char_to_buffer (&rb, c, multibyte); + nchars++; c = READCHAR; } while (c > 32 @@ -4474,10 +4476,6 @@ read0 (Lisp_Object readcharfun, bool locate_syms) } /* symbol, possibly uninterned */ - ptrdiff_t nchars - = (multibyte - ? multibyte_chars_in_text ((unsigned char *)rb.start, nbytes) - : nbytes); Lisp_Object result; if (uninterned_symbol) {