]> git.eshelyaron.com Git - emacs.git/commitdiff
Port recent frame changes to --enable-gcc-warnings
authorPaul Eggert <eggert@Penguin.CS.UCLA.EDU>
Wed, 12 Apr 2017 14:27:23 +0000 (07:27 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Wed, 12 Apr 2017 14:27:53 +0000 (07:27 -0700)
* src/frame.c (next_frame, prev_frame):
Remove now-redundant assertions.
* src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.

src/frame.c
src/frame.h

index ed6c527d4d809b9f0dd496871270b07686fb9006..e5d80fa825747411830f3022a9d8f12b7e5d4d41 100644 (file)
@@ -1461,9 +1461,6 @@ next_frame (Lisp_Object frame, Lisp_Object minibuf)
   Lisp_Object f, tail;
   int passed = 0;
 
-  /* There must always be at least one frame in Vframe_list.  */
-  eassert (CONSP (Vframe_list));
-
   while (passed < 2)
     FOR_EACH_FRAME (tail, f)
       {
@@ -1486,9 +1483,6 @@ prev_frame (Lisp_Object frame, Lisp_Object minibuf)
 {
   Lisp_Object f, tail, prev = Qnil;
 
-  /* There must always be at least one frame in Vframe_list.  */
-  eassert (CONSP (Vframe_list));
-
   FOR_EACH_FRAME (tail, f)
     {
       if (EQ (frame, f) && !NILP (prev))
index 376df528466cf3922212d00571c4811a09b3d849..84f9a05d774623bd668489b9db9372aad8af6e51 100644 (file)
@@ -1111,7 +1111,8 @@ default_pixels_per_inch_y (void)
 /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
    `for' loop which iterates over the elements of Vframe_list.  The
    loop will set FRAME_VAR, a Lisp_Object, to each frame in
-   Vframe_list in succession and execute the statement.  LIST_VAR
+   Vframe_list in succession and execute the statement.  Vframe_list
+   should be nonempty, so the body is executed at least once.  LIST_VAR
    should be a Lisp_Object too; it is used to iterate through the
    Vframe_list.  Note that this macro walks over child frames and
    the tooltip frame as well.
@@ -1121,7 +1122,7 @@ default_pixels_per_inch_y (void)
    something which executes the statement once.  */
 
 #define FOR_EACH_FRAME(list_var, frame_var)    \
-  for ((list_var) = Vframe_list;               \
+  for ((list_var) = (eassume (CONSP (Vframe_list)), Vframe_list); \
        (CONSP (list_var)                       \
        && (frame_var = XCAR (list_var), true)); \
        list_var = XCDR (list_var))