emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master 0513e16: * src/xdisp.c (string_from_display_spec):


From: Paul Eggert
Subject: [Emacs-diffs] master 0513e16: * src/xdisp.c (string_from_display_spec): Simplify.
Date: Sat, 31 Dec 2016 17:16:40 +0000 (UTC)

branch: master
commit 0513e16459fdd3edb41358478a1194b943d84896
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    * src/xdisp.c (string_from_display_spec): Simplify.
---
 src/xdisp.c |   24 ++++++++----------------
 1 file changed, 8 insertions(+), 16 deletions(-)

diff --git a/src/xdisp.c b/src/xdisp.c
index 45a04ca..aced59e 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -1250,26 +1250,18 @@ default_line_pixel_height (struct window *w)
 static Lisp_Object
 string_from_display_spec (Lisp_Object spec)
 {
-  if (CONSP (spec))
+  if (VECTORP (spec))
     {
-      do {
-       if (STRINGP (XCAR (spec)))
-         return XCAR (spec);
-       spec = XCDR (spec);
-      } while (CONSP (spec));
+      for (ptrdiff_t i = 0; i < ASIZE (spec); i++)
+       if (STRINGP (AREF (spec, i)))
+         return AREF (spec, i);
     }
-  else if (VECTORP (spec))
+  else
     {
-      ptrdiff_t i;
-
-      for (i = 0; i < ASIZE (spec); i++)
-       {
-         if (STRINGP (AREF (spec, i)))
-           return AREF (spec, i);
-       }
-      return Qnil;
+      for (; CONSP (spec); spec = XCDR (spec))
+       if (STRINGP (XCAR (spec)))
+         return XCAR (spec);
     }
-
   return spec;
 }
 



reply via email to

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