comparison src/frame.h @ 2252:9793d8654e23

* frame.h (FOR_EACH_FRAME): Change the definition so that FRAME_VAR is a lisp object. * dispnew.c (WINDOW_CHANGE_SIGNAL, do_pending_window_change): Adjusted appropriately. * xdisp.c (redisplay): Adjusted appropriately. * dispnew.c (Fredraw_frame): Give this appropriate definitions for MULTI_FRAME and non-MULTI_FRAME configurations. (Fredraw_display): Give this a non-MULTI_FRAME-dependent definition.
author Jim Blandy <jimb@redhat.com>
date Thu, 18 Mar 1993 22:50:00 +0000
parents d005529475af
children 80bed5e0c8aa
comparison
equal deleted inserted replaced
2251:216f86e5891d 2252:9793d8654e23
315 x = wrong_type_argument (Qframe_live_p, (x)); \ 315 x = wrong_type_argument (Qframe_live_p, (x)); \
316 } 316 }
317 317
318 /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a 318 /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
319 `for' loop which iterates over the elements of Vframe_list. The 319 `for' loop which iterates over the elements of Vframe_list. The
320 loop will set FRAME_VAR, a FRAME_PTR, to each frame in 320 loop will set FRAME_VAR, a Lisp_Object, to each frame in
321 Vframe_list in succession and execute the statement. LIST_VAR 321 Vframe_list in succession and execute the statement. LIST_VAR
322 should be a Lisp_Object; it is used to iterate through the 322 should be a Lisp_Object too; it is used to iterate through the
323 Vframe_list. 323 Vframe_list.
324 324
325 If MULTI_FRAME isn't defined, then this loop expands to something which 325 If MULTI_FRAME isn't defined, then this loop expands to something which
326 executes the statement once. */ 326 executes the statement once. */
327 #define FOR_EACH_FRAME(list_var, frame_var) \ 327 #define FOR_EACH_FRAME(list_var, frame_var) \
328 for ((list_var) = Vframe_list; \ 328 for ((list_var) = Vframe_list; \
329 (CONSP (list_var) \ 329 (CONSP (list_var) \
330 && (frame_var = XFRAME (XCONS (list_var)->car), 1)); \ 330 && (frame_var = XCONS (list_var)->car, 1)); \
331 list_var = XCONS (list_var)->cdr) 331 list_var = XCONS (list_var)->cdr)
332 332
333 333
334 extern Lisp_Object Qframep, Qframe_live_p; 334 extern Lisp_Object Qframep, Qframe_live_p;
335 335
410 #define CHECK_FRAME(x, i) do; while (0) 410 #define CHECK_FRAME(x, i) do; while (0)
411 #define CHECK_LIVE_FRAME(x, y) do; while (0) 411 #define CHECK_LIVE_FRAME(x, y) do; while (0)
412 412
413 /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a 413 /* FOR_EACH_FRAME (LIST_VAR, FRAME_VAR) followed by a statement is a
414 `for' loop which iterates over the elements of Vframe_list. The 414 `for' loop which iterates over the elements of Vframe_list. The
415 loop will set FRAME_VAR, a FRAME_PTR, to each frame in 415 loop will set FRAME_VAR, a Lisp_Object, to each frame in
416 Vframe_list in succession and execute the statement. LIST_VAR 416 Vframe_list in succession and execute the statement. LIST_VAR
417 should be a Lisp_Object; it is used to iterate through the 417 should be a Lisp_Object too; it is used to iterate through the
418 Vframe_list. 418 Vframe_list.
419 419
420 If MULTI_FRAME _is_ defined, then this loop expands to a real 420 If MULTI_FRAME _is_ defined, then this loop expands to a real
421 `for' loop which traverses Vframe_list using LIST_VAR and 421 `for' loop which traverses Vframe_list using LIST_VAR and
422 FRAME_VAR. */ 422 FRAME_VAR. */
423 #define FOR_EACH_FRAME(list_var, frame_var) \ 423 #define FOR_EACH_FRAME(list_var, frame_var) \
424 for (frame_var = (FRAME_PTR) 1; frame_var; frame_var = (FRAME_PTR) 0) 424 for (list_var = Qt; frame_var = selected_frame, ! NILP (list_var); list_var = Qnil)
425 425
426 #endif /* not MULTI_FRAME */ 426 #endif /* not MULTI_FRAME */
427 427
428 428
429 /* Device- and MULTI_FRAME-independent scroll bar stuff. */ 429 /* Device- and MULTI_FRAME-independent scroll bar stuff. */