emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 5c158d1: * src/lread.c (readevalloop): Simplify via


From: Paul Eggert
Subject: [Emacs-diffs] master 5c158d1: * src/lread.c (readevalloop): Simplify via suffix_p.
Date: Sat, 16 Feb 2019 13:18:12 -0500 (EST)

branch: master
commit 5c158d1320c55ce7fcb01532ad9911f89930ba81
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    * src/lread.c (readevalloop): Simplify via suffix_p.
---
 src/lread.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/lread.c b/src/lread.c
index ddef135..6389e3e 100644
--- a/src/lread.c
+++ b/src/lread.c
@@ -1070,14 +1070,15 @@ This uses the variables `load-suffixes' and 
`load-file-rep-suffixes'.  */)
   return Fnreverse (lst);
 }
 
-/* Returns true if STRING ends with SUFFIX */
+/* Return true if STRING ends with SUFFIX.  */
 static bool
 suffix_p (Lisp_Object string, const char *suffix)
 {
   ptrdiff_t suffix_len = strlen (suffix);
   ptrdiff_t string_len = SBYTES (string);
 
-  return string_len >= suffix_len && !strcmp (SSDATA (string) + string_len - 
suffix_len, suffix);
+  return (suffix_len <= string_len
+         && strcmp (SSDATA (string) + string_len - suffix_len, suffix) == 0);
 }
 
 static void
@@ -1932,9 +1933,7 @@ readevalloop (Lisp_Object readcharfun,
   Lisp_Object macroexpand = intern ("internal-macroexpand-for-load");
 
   if (NILP (Ffboundp (macroexpand))
-      || (STRINGP (sourcename)
-          && SBYTES (sourcename) >= 4
-          && !strcmp (".elc", SSDATA (sourcename) + SBYTES (sourcename) - 4)))
+      || (STRINGP (sourcename) && suffix_p (sourcename, ".elc")))
     /* Don't macroexpand before the corresponding function is defined
        and don't bother macroexpanding in .elc files, since it should have
        been done already.  */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]