diff options
| author | Paul Eggert <eggert@Penguin.CS.UCLA.EDU> | 2017-04-12 07:27:23 -0700 |
|---|---|---|
| committer | Paul Eggert <eggert@cs.ucla.edu> | 2017-04-12 07:27:53 -0700 |
| commit | 8720f601e715e5f1d41f7cf863a525a1cc1bc12c (patch) | |
| tree | 12a3bbfbd2e1a02f99e6d815a088ad446742bbb3 | |
| parent | 88f43dc30cb8d71830e409973cafbaca13a66a45 (diff) | |
| download | emacs-8720f601e715e5f1d41f7cf863a525a1cc1bc12c.tar.gz | |
Port recent frame changes to --enable-gcc-warnings
* src/frame.c (next_frame, prev_frame):
Remove now-redundant assertions.
* src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
| -rw-r--r-- | src/frame.c | 6 | ||||
| -rw-r--r-- | src/frame.h | 5 |
2 files changed, 3 insertions, 8 deletions
diff --git a/src/frame.c b/src/frame.c index ed6c527d4d8..e5d80fa8257 100644 --- a/src/frame.c +++ b/src/frame.c @@ -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)) diff --git a/src/frame.h b/src/frame.h index 376df528466..84f9a05d774 100644 --- a/src/frame.h +++ b/src/frame.h @@ -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)) |
