comparison src/redisplay.h @ 380:8626e4521993 r21-2-5

Import from CVS: tag r21-2-5
author cvs
date Mon, 13 Aug 2007 11:07:10 +0200
parents 558f606b08ae
children bbff43aa5eb7
comparison
equal deleted inserted replaced
379:76b7d63099ad 380:8626e4521993
137 } dglyph; 137 } dglyph;
138 138
139 /* CHAR */ 139 /* CHAR */
140 struct 140 struct
141 { 141 {
142 Emchar ch; /* Cbaracter of this rune. */ 142 Emchar ch; /* Character of this rune. */
143 } chr; 143 } chr;
144 144
145 /* HLINE */ 145 /* HLINE */
146 struct 146 struct
147 { 147 {
254 including expansion of tabs 254 including expansion of tabs
255 and control chars */ 255 and control chars */
256 int cursor_elt; /* rune block of TEXT display 256 int cursor_elt; /* rune block of TEXT display
257 block cursor is at or -1 */ 257 block cursor is at or -1 */
258 char used_prop_data; /* can't incrementally update if line 258 char used_prop_data; /* can't incrementally update if line
259 used propogation data */ 259 used propagation data */
260 260
261 layout_bounds bounds; /* line boundary positions */ 261 layout_bounds bounds; /* line boundary positions */
262 262
263 char modeline; /* t if this line is a modeline */ 263 char modeline; /* t if this line is a modeline */
264 264
387 /* These macros can be relatively expensive. Since they are often 387 /* These macros can be relatively expensive. Since they are often
388 called numerous times between each call to redisplay, we keep track 388 called numerous times between each call to redisplay, we keep track
389 if each has already been called and don't bother doing most of the 389 if each has already been called and don't bother doing most of the
390 work if it is currently set. */ 390 work if it is currently set. */
391 391
392 #define MARK_TYPE_CHANGED(object) do { \ 392 #define MARK_TYPE_CHANGED(object) do { \
393 if (!object##_changed_set) { \ 393 if (!object##_changed_set) { \
394 Lisp_Object _devcons_, _concons_; \ 394 Lisp_Object MTC_devcons, MTC_concons; \
395 DEVICE_LOOP_NO_BREAK (_devcons_, _concons_) \ 395 DEVICE_LOOP_NO_BREAK (MTC_devcons, MTC_concons) \
396 { \ 396 { \
397 Lisp_Object _frmcons_; \ 397 Lisp_Object MTC_frmcons; \
398 struct device *_d_ = XDEVICE (XCAR (_devcons_)); \ 398 struct device *MTC_d = XDEVICE (XCAR (MTC_devcons)); \
399 DEVICE_FRAME_LOOP (_frmcons_, _d_) \ 399 DEVICE_FRAME_LOOP (MTC_frmcons, MTC_d) \
400 { \ 400 { \
401 struct frame *_f_ = XFRAME (XCAR (_frmcons_)); \ 401 struct frame *MTC_f = XFRAME (XCAR (MTC_frmcons)); \
402 _f_->object##_changed = 1; \ 402 MTC_f->object##_changed = 1; \
403 _f_->modiff++; \ 403 MTC_f->modiff++; \
404 } \ 404 } \
405 _d_->object##_changed = 1; \ 405 MTC_d->object##_changed = 1; \
406 } \ 406 } \
407 object##_changed = 1; \ 407 object##_changed = 1; \
408 object##_changed_set = 1; } \ 408 object##_changed_set = 1; } \
409 } while (0) 409 } while (0)
410 410
411 #define MARK_BUFFERS_CHANGED MARK_TYPE_CHANGED (buffers) 411 #define MARK_BUFFERS_CHANGED MARK_TYPE_CHANGED (buffers)
412 #define MARK_CLIP_CHANGED MARK_TYPE_CHANGED (clip) 412 #define MARK_CLIP_CHANGED MARK_TYPE_CHANGED (clip)
413 #define MARK_EXTENTS_CHANGED MARK_TYPE_CHANGED (extents) 413 #define MARK_EXTENTS_CHANGED MARK_TYPE_CHANGED (extents)
418 #define MARK_TOOLBAR_CHANGED MARK_TYPE_CHANGED (toolbar) 418 #define MARK_TOOLBAR_CHANGED MARK_TYPE_CHANGED (toolbar)
419 #define MARK_GLYPHS_CHANGED MARK_TYPE_CHANGED (glyphs) 419 #define MARK_GLYPHS_CHANGED MARK_TYPE_CHANGED (glyphs)
420 420
421 /* Anytime a console, device or frame is added or deleted we need to reset 421 /* Anytime a console, device or frame is added or deleted we need to reset
422 these flags. */ 422 these flags. */
423 #define RESET_CHANGED_SET_FLAGS \ 423 #define RESET_CHANGED_SET_FLAGS \
424 do { \ 424 do { \
425 buffers_changed_set = 0; \ 425 buffers_changed_set = 0; \
426 clip_changed_set = 0; \ 426 clip_changed_set = 0; \
427 extents_changed_set = 0; \ 427 extents_changed_set = 0; \
428 icon_changed_set = 0; \ 428 icon_changed_set = 0; \
429 menubar_changed_set = 0; \ 429 menubar_changed_set = 0; \
430 modeline_changed_set = 0; \ 430 modeline_changed_set = 0; \
431 point_changed_set = 0; \ 431 point_changed_set = 0; \
432 toolbar_changed_set = 0; \ 432 toolbar_changed_set = 0; \
433 glyphs_changed_set = 0; \ 433 glyphs_changed_set = 0; \
434 } while (0) 434 } while (0)
435 435
436 436
437 /*************************************************************************/ 437 /*************************************************************************/
438 /* redisplay global variables */ 438 /* redisplay global variables */
439 /*************************************************************************/ 439 /*************************************************************************/
440 440
441 /* redisplay structre used by various utility routines. */ 441 /* redisplay structure used by various utility routines. */
442 extern display_line_dynarr *cmotion_display_lines; 442 extern display_line_dynarr *cmotion_display_lines;
443 443
444 /* Nonzero means truncate lines in all windows less wide than the frame. */ 444 /* Nonzero means truncate lines in all windows less wide than the frame. */
445 extern int truncate_partial_width_windows; 445 extern int truncate_partial_width_windows;
446 446
471 /* If non-zero, a window-system was specified on the command line. 471 /* If non-zero, a window-system was specified on the command line.
472 Defined in emacs.c. */ 472 Defined in emacs.c. */
473 extern int display_arg; 473 extern int display_arg;
474 474
475 /* Type of display specified. Defined in emacs.c. */ 475 /* Type of display specified. Defined in emacs.c. */
476 extern char *display_use; 476 extern CONST char *display_use;
477 477
478 /* Nonzero means reading single-character input with prompt 478 /* Nonzero means reading single-character input with prompt
479 so put cursor on minibuffer after the prompt. */ 479 so put cursor on minibuffer after the prompt. */
480 480
481 extern int cursor_in_echo_area; 481 extern int cursor_in_echo_area;