Mercurial > hg > xemacs-beta
comparison src/console-stream.c @ 1279:cd0abfdb9e9d
[xemacs-hg @ 2003-02-09 09:33:42 by ben]
walk-windows, redisplay fixes
console-stream.c: Abort when any attempts to output a stream console are made.
Should be caught sooner.
event-msw.c: Don't redisplay() during sizing when the frame has not yet been
initialized completely.
event-stream.c, menubar-msw.c, menubar-x.c, menubar.c, menubar.h: Restore in_menu_callback. Bind it in menubar-{msw,x}.c when
calling filter functions and the like. Conditionalize on it, not
in_modal_loop, when issuing error in `next-event', otherwise we
bite the dust immediately -- event-msw.c purposely calls
Fnext_event() in a modal loop, and knows what it's doing.
redisplay-output.c: Formatting fixes.
redisplay.c, window.c, winslots.h: Delete lots of carcasses of attempts to add redisplay support for
font-lock -- `pre/post-redisplay-hook', unimplemented junk from
FSF (redisplay-end-trigger, `window-scroll-functions',
`window-size-change-functions'). If we want to port some
redisplay support from FSF, port the `fontified' property.
redisplay.c: Put in a check here (as well as redisplay_device()) for a stream
frame. We can get here directly through Lisp fun
`redisplay-frame'. Abort if frame not initialized.
redisplay.c: Check for stream frames/devices.
window.el: walk-windows was broken when a frame was given to WHICH-FRAMES.
it would loop forever. The FSF version fixes this but i didn't
sync to them because (a) it conses (bad for lazy-lock), (b) it
calls select-window.
author | ben |
---|---|
date | Sun, 09 Feb 2003 09:33:48 +0000 |
parents | e22b0213b713 |
children | a8d8f419b459 |
comparison
equal
deleted
inserted
replaced
1278:1706fd7322af | 1279:cd0abfdb9e9d |
---|---|
1 /* Stream device functions. | 1 /* Stream device functions. |
2 Copyright (C) 1995 Free Software Foundation, Inc. | 2 Copyright (C) 1995 Free Software Foundation, Inc. |
3 Copyright (C) 1996, 2001, 2002 Ben Wing. | 3 Copyright (C) 1996, 2001, 2002, 2003 Ben Wing. |
4 | 4 |
5 This file is part of XEmacs. | 5 This file is part of XEmacs. |
6 | 6 |
7 XEmacs is free software; you can redistribute it and/or modify it | 7 XEmacs is free software; you can redistribute it and/or modify it |
8 under the terms of the GNU General Public License as published by the | 8 under the terms of the GNU General Public License as published by the |
214 stream_eol_cursor_width (void) | 214 stream_eol_cursor_width (void) |
215 { | 215 { |
216 return 1; | 216 return 1; |
217 } | 217 } |
218 | 218 |
219 /* We used to try and check for redisplaying on stream devices (e.g. in | |
220 redisplay_device(), and beg out if so. However, we didn't always manage | |
221 completely. Now we do manage completely, and to verify this we abort if | |
222 we try to display a stream device. This might fix some crashes I've | |
223 been getting in pdump -- the only difference between crash and non-crash | |
224 is a few changes to the redisplay critical-section handling. */ | |
225 | |
226 static void | |
227 stream_window_output_begin (struct window *w) | |
228 { | |
229 abort (); | |
230 } | |
231 | |
232 static void | |
233 stream_window_output_end (struct window *w) | |
234 { | |
235 abort (); | |
236 } | |
237 | |
238 static void | |
239 stream_frame_output_begin (struct frame *f) | |
240 { | |
241 abort (); | |
242 } | |
243 | |
244 static void | |
245 stream_frame_output_end (struct frame *f) | |
246 { | |
247 abort (); | |
248 } | |
249 | |
219 static void | 250 static void |
220 stream_output_display_block (struct window *w, struct display_line *dl, | 251 stream_output_display_block (struct window *w, struct display_line *dl, |
221 int block, int start, int end, | 252 int block, int start, int end, |
222 int start_pixpos, int cursor_start, | 253 int start_pixpos, int cursor_start, |
223 int cursor_width, int cursor_height) | 254 int cursor_width, int cursor_height) |
224 { | 255 { |
256 abort (); | |
225 } | 257 } |
226 | 258 |
227 static void | 259 static void |
228 stream_clear_region (Lisp_Object window, struct device* d, struct frame * f, | 260 stream_clear_region (Lisp_Object window, struct device* d, struct frame * f, |
229 face_index findex, int x, int y, | 261 face_index findex, int x, int y, |
230 int width, int height, Lisp_Object fcolor, | 262 int width, int height, Lisp_Object fcolor, |
231 Lisp_Object bcolor, Lisp_Object background_pixmap) | 263 Lisp_Object bcolor, Lisp_Object background_pixmap) |
232 { | 264 { |
265 abort (); | |
233 } | 266 } |
234 | 267 |
235 static int | 268 static int |
236 stream_flash (struct device *d) | 269 stream_flash (struct device *d) |
237 { | 270 { |
276 | 309 |
277 /* frame methods */ | 310 /* frame methods */ |
278 CONSOLE_HAS_METHOD (stream, init_frame_1); | 311 CONSOLE_HAS_METHOD (stream, init_frame_1); |
279 | 312 |
280 /* redisplay methods */ | 313 /* redisplay methods */ |
314 CONSOLE_HAS_METHOD (stream, text_width); | |
281 CONSOLE_HAS_METHOD (stream, left_margin_width); | 315 CONSOLE_HAS_METHOD (stream, left_margin_width); |
282 CONSOLE_HAS_METHOD (stream, right_margin_width); | 316 CONSOLE_HAS_METHOD (stream, right_margin_width); |
283 CONSOLE_HAS_METHOD (stream, text_width); | |
284 CONSOLE_HAS_METHOD (stream, output_display_block); | |
285 CONSOLE_HAS_METHOD (stream, divider_height); | 317 CONSOLE_HAS_METHOD (stream, divider_height); |
286 CONSOLE_HAS_METHOD (stream, eol_cursor_width); | 318 CONSOLE_HAS_METHOD (stream, eol_cursor_width); |
319 CONSOLE_HAS_METHOD (stream, window_output_begin); | |
320 CONSOLE_HAS_METHOD (stream, window_output_end); | |
321 CONSOLE_HAS_METHOD (stream, frame_output_begin); | |
322 CONSOLE_HAS_METHOD (stream, frame_output_end); | |
323 CONSOLE_HAS_METHOD (stream, output_display_block); | |
287 CONSOLE_HAS_METHOD (stream, clear_region); | 324 CONSOLE_HAS_METHOD (stream, clear_region); |
288 CONSOLE_HAS_METHOD (stream, flash); | 325 CONSOLE_HAS_METHOD (stream, flash); |
289 CONSOLE_HAS_METHOD (stream, ring_bell); | 326 CONSOLE_HAS_METHOD (stream, ring_bell); |
290 } | 327 } |
291 | 328 |