comparison src/ChangeLog @ 83716:a73440d2f146 merge-multi-tty-to-trunk

Merge multi-tty branch Revision: emacs@sv.gnu.org/emacs--devo--0--patch-866
author Miles Bader <miles@gnu.org>
date Wed, 29 Aug 2007 05:28:10 +0000
parents 54f31349f3b9 27d11c1d4e46
children 151b1afb6378
comparison
equal deleted inserted replaced
82950:ed8435ec5652 83716:a73440d2f146
1 2007-08-29 Dan Nicolaescu <dann@ics.uci.edu>
2
3 * callproc.c (child_setup, getenv_internal): Use the
4 display-environment-variable and term-environment-variable frame
5 params.
6 (set_initial_environment): Initialise Vprocess_environment.
7
8 * config.in: Disable multi-keyboard support on a mac.
9
10 * frame.c (Qterm_environment_variable)
11 (Qdisplay_environment_variable): New variables.
12 (syms_of_frame): Intern and staticpro them.
13 (Fmake_terminal_frame): Disable output method test.
14
15 * frame.h: Declare them here.
16
17 * macfns.c (x_set_mouse_color): Get rif from the frame.
18 (x_set_tool_bar_lines): Don't use updating_frame.
19 (mac_window): Add 2 new parameters for consistency with other systems.
20 (Fx_create_frame): Fix doc string. Rename the parameter. Set the
21 frame parameters following what is done in X11 and w32. Don't use
22 FRAME_MAC_DISPLAY_INFO.
23 (Fx_open_connection, start_hourglass): Remove window-system check.
24 (x_create_tip_frame): Get the keyboard from the terminal.
25
26 * macmenu.c: Reorder includes.
27 (Fx_popup_menu): Use terminal specific mouse_position_hook.
28
29 * macterm.c (XTset_terminal_modes, XTreset_terminal_modes): Add a
30 terminal parameter.
31 (x_clear_frame): Add a frame parameter.
32 (note_mouse_movement): Get rif from the frame.
33 (mac_term_init): Initialize the terminal.
34 (mac_initialize): Make static and move terminal initialization ...
35 (mac_create_terminal): ... to this new function.
36
37 * macterm.h (struct mac_display_info): Add terminal.
38
39 * puresize.h (BASE_PURESIZE): Increase base value to 1158000.
40
41 * sysdep.c: Comment out text after #endif.
42
43 * term.c (init_tty): Only use terminal->kboard when MULTI_KBOARD
44 is defined. Better initialize ttys in windows. Use terminal
45 specific mouse_position_hook.
46
47 * termhooks.h (union display_info): Add mac_display_info.
48
49 * w32fns.c (Fx_create_frame): Use kboard from the terminal. Set
50 the default minibuffer frame, window_system and the rest of the
51 frame parameters following what is done in X11.
52
53 * w32term.c (w32_initialize): Make static.
54
55 * xselect.c (x_handle_selection_clear): Only access
56 terminal->kboard when MULTI_KBOARD is defined.
57
58 * s/darwin.h (SYSTEM_PURESIZE_EXTRA): Define here.
59 (SYSTEM_PURESIZE_EXTRA): Only define on Carbon.
60
61 2007-08-29 Jason Rumney <jasonr@gnu.org>
62
63 * frame.c (Fdelete_frame): Only get kboard when MULTI_KBOARD defined.
64 (make_terminal_frame) [WINDOWSNT]: Initialize terminal.
65
66 * fringe.c (w32_init_fringe w32_reset_fringes) [HAVE_NTGUI]:
67 (mac_init_fringe) [MAC_OS]: Get rif from selected_frame.
68
69 * keyboard.c (restore_kboard_configuration): Only define when
70 MULTI_KBOARD defined.
71
72 * makefile.w32-in: Update dependancies from Makefile.in
73 (OBJ1): Add terminal.$(O)
74
75 * term.c (dissociate_if_controlling_tty) [WINDOWSNT]: Don't
76 define function body.
77 (init_tty) [WINDOWSNT]: Use selected_frame for initializing.
78
79 * termhooks.h (display_info) [WINDOWSNT]: Add w32.
80
81 * w32.c (request_sigio, unrequest_sigio): Remove.
82
83 * w32console.c (w32con_move_cursor, w32con_clear_to_end)
84 (w32con_clear_frame, w32con_clear_end_of_line)
85 (w32con_ins_del_lines, w32con_insert_glyphs, w32con_write_glyphs)
86 (w32con_delete_glyphs, w32con_set_terminal_window)
87 (scroll_line, w32_sys_ring_bell): Add frame arg.
88 (w32con_set_terminal_modes, w32con_reset_terminal_modes): Add
89 terminal arg.
90 (PICK_FRAME): Remove.
91 (w32con_write_glyphs): Use frame specific terminal coding.
92 (one_and_only_w32cons): New global variable.
93 (initialize_w32_display): Use it for storing hooks.
94 (create_w32cons_output): New function.
95
96 * w32inevt.c, w32inevt.h (w32_console_read_socket): Make first
97 arg a frame.
98
99 * w32fns.c (x_create_tip_frame): Set terminal and ref count. Set
100 window_system.
101 (x_set_tool_bar_lines): Don't use updating_frame.
102 (Fx_create_frame): Set terminal and ref count.
103 (Fx_open_connection): Remove window-system check.
104
105 * w32menu.c (Fx_popup_menu): Use terminal specific mouse_position_hook.
106
107 * w32term.c (w32_term_init): Call add_keyboard_wait_descriptor.
108 (w32_set_terminal_modes, w32_reset_terminal_modes): Add terminal arg.
109 (x_clear_frame, x_delete_glyphs, w32_ring_bell, x_ins_del_lines):
110 Add frame arg.
111 (x_delete_terminal, w32_create_terminal): New functions.
112 (w32_term_init): Create a terminal.
113 (w32_initialize): Move terminal specific initialization to
114 w32_create_terminal.
115
116 * w32term.h (x_output): Remove foreground_pixel and
117 background_pixel.
118 (w32_clear_rect, w32_clear_area): Use background from frame.
119 (w32_display_info): Add terminal.
120 (w32_sys_ring_bell, x_delete_display): Declare here.
121
122 * xdisp.c (display_menu_bar) [HAVE_NTGUI]: Check frame type.
123
124 * s/ms-w32.h (SYSTEM_PURESIZE_EXTRA): Bump to 50k.
125
126 2007-08-29 Kalle Olavi Niemitalo <kon@iki.fi> (tiny change)
127
128 * keyboard.c (interrupt_signal, handle_interrupt, Fset_quit_char):
129 Fix get_named_tty calls for the controlling tty.
130
131 2007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
132
133 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
134
135 2007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
136
137 * term.c (tty_insert_glyphs): Add missing first parameter.
138
139 2007-08-29 Karoly Lorentey <karoly@lorentey.hu>
140
141 * buffer.c (Fbuffer_list, Fbury_buffer): Take
142 frame->buried_buffer_list into account.
143
144 * cm.c (current_tty): New variable, for cmputc().
145 (cmputc): Use it.
146 (cmcheckmagic): Add tty parameter, look up terminal streams there.
147 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
148 (cmgoto): Add tty parameter. Pass it on to calccost(). Use
149 emacs_tputs() instead of tputs().
150
151 * cm.h (emacs_tputs): New macro to set current_tty, and then call
152 tputs().
153 (current_tty): New variable, for cmputc().
154 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
155
156 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
157 (internal_condition_case, internal_condition_case_1)
158 (internal_condition_case_2): Don't abort when x_catching_errors.
159
160 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
161 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
162 prevent crashes caused by bogus longjmps in read_char.
163
164 * keymap.h (Fset_keymap_parent): Add EXFUN.
165
166 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
167 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
168 Remove redundant definition.
169
170 * macfns.c (x_set_mouse_color,x_make_gc): Use
171 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
172
173 * w32term.c (x_free_frame_resources): Use
174 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
175 (w32_initialize): Use the accessor macros for terminal characteristics.
176
177 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
178 Use the accessor macros for terminal characteristics.
179 * msdos.c (internal_terminal_init): Use the accessor macros for
180 terminal characteristics.
181 (ScreenVisualBell,internal_terminal_init): Use
182 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
183
184 * termopts.h (no_redraw_on_reenter): Declare.
185
186 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
187 (mark_terminals,mark_ttys): Declare.
188 (Fgarbage_collect): Call them.
189 (mark_object): Mark buried_buffer_list;
190
191 * prefix-args.c: Include stdlib.h for exit.
192
193 * syssignal.h: Add comment.
194
195 * indent.c: Include stdio.h.
196
197 * window.h (Vinitial_window_system): Declare.
198 (Vwindow_system): Delete declaration.
199
200 * fontset.c (Finternal_char_font): Use FRAME_RIF.
201
202 * image.c (lookup_image): Don't initialize `c' until the xasserts
203 have been run.
204
205 * gtkutil.c (xg_create_frame_widgets): Use FRAME_BACKGROUND_PIXEL and
206 FRAME_FOREGROUND_PIXEL.
207
208 * print.c (print_preprocess): Don't lose print_depth levels while
209 iterating.
210
211 * widget.c (update_from_various_frame_slots): Use
212 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
213
214 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
215 frames.
216 (window_internal_height): Remove bogus make_number call.
217 (init_window_once): Call make_terminal_frame with two zero
218 parameters.
219
220 * fileio.c (Fread_file_name): Update comment.
221
222 * callint.c (Fcall_interactively): Use
223 temporarily_switch_to_single_kboard instead of single_kboard_state.
224 Make sure it is correctly unwound.
225
226 * xsmfns.c (x_session_close): New function.
227
228 * coding.h (terminal_coding,safe_terminal_coding,keyboard_coding):
229 Delete declarations.
230
231 * xterm.h: Remove declaration for x_fully_uncatch_errors.
232 (x_output): Remove background_pixel and foreground_pixel fields.
233 (x_display_info): Add new field TERMINAL. Remove KBOARD field.
234 (x_delete_device):
235 (x_session_close): Declare.
236
237 * lread.c: Include setjmp.h. Update declaration of `read_char'.
238 (read_filtered_event): Call `read_char' with a local
239 `wrong_kboard_jmpbuf'.
240
241 * minibuf.c (read_minibuf): Call
242 temporarily_switch_to_single_kboard. Don't call
243 single_kboard_state. Use FRAME_RIF.
244
245 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
246 systems.
247
248 * lisp.h (set_process_environment): Rename to
249 `set_global_environment'.
250 (Fframe_with_environment,Fset_input_meta_mode)
251 (Fset_quit_char): EXFUN.
252 (x_create_device,tty_output,terminal,tty_display_info): Declare.
253 (init_sys_modes, reset_sys_modes): Update prototypes.
254 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
255
256 * keyboard.h (struct kboard): Add new fields:
257 Vlocal_function_key_map, Vlocal_key_translation_map,
258 Vkeyboard_translate_table.
259 (Vfunction_key_map,Vkeyboard_translate_table,single_kboard_state):
260 Delete declarations.
261 (Vfunction_key_map,Vkey_translation_map,push_kboard,pop_kboard)
262 (temporarily_switch_to_single_kboard,tty_read_avail_input):
263 New declarations.
264
265 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
266 already does that during init_display(). Call syms_of_keymap
267 before syms_of_keyboard. Call `syms_of_terminal'. Call
268 set_initial_environment, not set_process_environment.
269 (shut_down_emacs): Call reset_all_sys_modes() instead of
270 reset_sys_modes().
271
272 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
273 (internal_resolve_face_name, resolve_face_name_error): New
274 functions.
275 (resolve_face_name): Protect against loops and errors thrown by
276 Fget.
277 (realize_default_face): Don't use FRAME_FONT unless frame is an X
278 frame.
279 (Ftty_supports_face_attributes_p): Update tty_capable_p call.
280
281 * scroll.c: Replace CURTTY() with local variables throughout the
282 file (where applicable).
283 (calculate_scrolling, calculate_direct_scrolling)
284 (scrolling_1, scroll_cost): Use the accessor macros for terminal
285 characteristics.
286
287 * keymap.c (Vfunction_key_map): Remove.
288 (Fdescribe_buffer_bindings): Update references to
289 Vfunction_key_map.
290 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
291 (Vkey_translation_map): Remove.
292 (syms_of_keymap): Remove DEFVAR for key-translation-map.
293 (Fdescribe_buffer_bindings):
294 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
295 Update for terminal-local key-translation-map.
296
297 * Makefile.in (callproc.o): Update dependencies.
298 (lisp, shortlisp): Add termdev.elc.
299 (obj): Add terminal.o.
300 (terminal.o): Add dependencies.
301 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
302 (data.o, fns.o): Add termhooks.h dependency.
303 (SOME_MACHINE_LISP): Add dnd.elc.
304 (minibuf.o): Fix typo.
305 Update dependencies.
306
307 * data.c (do_symval_forwarding, store_symval_forwarding)
308 (find_symbol_value): Use the selected frame's keyboard, not
309 current_kboard.
310
311 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
312 Vwindow_system.
313
314 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
315 Fmenu_bar_open.
316 (syms_of_xmenu): Update defsubr.
317 (mouse_position_for_popup, Fx_popup_menu)
318 (Fx_popup_dialog, x_activate_menubar, update_frame_menubar)
319 (set_frame_menubar, free_frame_menubar)
320 (create_and_show_popup_menu, xmenu_show, )
321 (create_and_show_dialog, xdialog_show, xmenu_show): Abort if not
322 an X frame.
323
324 * xselect.c (x_own_selection): Abort if not an X frame.
325 (some_frame_on_display): Check if it is an X frame.
326 (x_handle_selection_clear): Deal with MULTI_KBOARD.
327
328 * coding.c: Include frame.h and termhooks.h.
329 (terminal_coding,keyboard_coding): Delete.
330 (Fset_terminal_coding_system_internal):
331 (Fset_keyboard_coding_system_internal):
332 (Fkeyboard_coding_system):
333 (Fterminal_coding_system): Add a terminal parameter. Get
334 terminal_coding from the terminal.
335 (init_coding_once): Don't call setup_coding_system here.
336
337 * dispextern.h (set_scroll_region, turn_off_insert)
338 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
339 (tty_clear_end_of_line, tty_setup_colors)
340 (delete_tty,updating_frame)
341 (produce_special_glyphs, produce_glyphs, write_glyphs)
342 (insert_glyphs): Remove.
343 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
344 (tty_turn_off_highlight,get_tty_size): Add declaration.
345 (tabs_safe_p, init_baud_rate, get_tty_terminal): Update
346 prototypes.
347
348 * frame.h (enum output_method): Add output_initial.
349 (struct x_output): Delete.
350 (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Access
351 foreground_pixel and background_pixel directly from the frame.
352 (tty_display): Delete.
353 (struct frame): Add buried_buffer_list, foreground_pixel,
354 background_pixel and terminal. Delete kboard
355 (union output_data): Add tty.
356 (FRAME_KBOARD): Get the kboard from the terminal.
357 (FRAME_INITIAL_P): New macro.
358 (Qtty, Qtty_type, Qterminal, Qterminal_live_p, Qenvironment)
359 (Qterm_environment_variable, Qdisplay_environment_variable)
360 (make_terminal_frame, Qburied_buffer_list, Qwindow_system): New
361 declarations.
362
363 * termchar.h (tty_output, tty_display_info): New structures.
364 (tty_list): Declare.
365 (FRAME_TTY, CURTTY): New macros.
366 (must_write_spaces, min_padding_speed, fast_clear_end_of_line)
367 (line_ins_del_ok, char_ins_del_ok, scroll_region_ok)
368 (scroll_region_cost, memory_below_frame, fast_clear_end_of_line)
369 (dont_calculate_costs, no_redraw_on_reenter): Remove declarations.
370
371 * callproc.c: Include frame.h and termhooks.h, for terminal
372 parameters.
373 (add_env): New function.
374 (child_setup): Use it.
375 (child_setup, getenv_internal): Handle the new
376 Vprocess_environment.
377 (getenv_internal): Fix get_terminal_param call.
378 (Fgetenv_internal, egetenv): Update doc.
379 (syms_of_callproc): Initialize Vprocess_environment to nil.
380 Register and initialize them. Remove obsolete defvars. Update doc
381 strings.
382 (child_setup): Handle Vlocal_environment_variables.
383 (getenv_internal): Add terminal parameter. Handle
384 Vlocal_environment_variables.
385 (Fgetenv_internal): Add terminal parameter.
386 (child_setup, getenv_internal, Fgetenv_internal): Store the local
387 environment in a frame (not terminal) parameter. Update doc
388 strings.
389 (set_initial_environment): Rename from set_global_environment.
390 Store Emacs environment in initial frame parameter.
391
392 * xdisp.c (redisplay_internal): Update references to
393 `previous_terminal_frame'.
394 (display_mode_line, Fformat_mode_line): Replace calls to
395 `push_frame_kboard' with `push_kboard'.
396 (get_glyph_string_clip_rects): Add extra parentheses and
397 braces to prevent compiler warnings.
398 (calc_pixel_width_or_height): Add xassert to check that the
399 frame is alive. Don't call `lookup_image' on a termcap frame.
400 (message2_nolog, message3_nolog, redisplay_internal)
401 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
402 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
403 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
404 (Fx_display_pixel_width, Fx_display_pixel_height)
405 (Fx_display_planes, Fx_display_color_cells)
406 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
407 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
408 (Fx_display_backing_store, Fx_display_visual_class)
409 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
410 Use FRAME_TERMINAL_P, FRAME_WINDOW_P, FRAME_TTY and FRAME_RIF.
411
412 * xfns.c (x_set_foreground_color x_set_background_color)
413 (x_set_mouse_color, x_set_cursor_color, x_make_gc): Use
414 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
415 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
416 (Fx_create_frame, x_create_tip_frame): Don't create frames on a
417 terminal that is being deleted.
418 (Fx_create_frame): Use `store_frame_param' to set `window-system'
419 frame parameter, and make sure it overrides any user-supplied
420 setting.
421 (Fx_close_connection, Fx_synchronize): Unify argument names with
422 the rest of the DEFUNs.
423
424 * dispnew.c (Fsend_string_to_terminal): Update call to
425 `get_tty_terminal'.
426 (Fredraw_frame, Fsend_string_to_terminal)
427 (Fsend_string_to_terminal, init_display): User FRAME_RIF,
428 FRAME_TERMCAP_P and FRAME_TTY.
429 (window_change_signal): Don't believe width/height values that are
430 impossibly small.
431 (Vinitial_window_system): Rename from Vwindow_system.
432 (termscript, Wcm, rif): Delete.
433
434 * termhooks.h (struct terminal): New struct containing the
435 previously global text display hooks and new members NAME,
436 DELETED and PARAM_ALIST.
437 (FRAME_TERMINAL, TERMINAL_TERMINAL_CODING)
438 (TERMINAL_KEYBOARD_CODING, TERMINAL_ACTIVE_P, FRAME_WINDOW_P)
439 (FRAME_RIF): New macros.
440 (get_terminal_param, get_device): New declarations.
441 (termscript): Delete declaration.
442
443 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
444 (XTflash, x_free_frame_resources, x_scroll_bar_create)
445 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
446 FRAME_FOREGROUND_PIXEL.
447 (x_fully_uncatch_errors): Disable definition.
448 (x_scroll_bar_expose): Fix reference to foreground pixel.
449 (XTread_socket): Disable loop on all X displays.
450 (x_delete_terminal): Don't set terminal->deleted and let
451 delete_terminal delete the frames on the terminal.
452 (x_delete_display): Doc update to reflect changes in
453 delete_terminal.
454 (x_display_info) <terminal>: Move member earlier in the struct.
455 (x_delete_terminal): Use terminal->deleted. Delete all frames on
456 the display explicitly.
457 (deleting_tty): Remove old variable.
458 (Fsuspend_tty): Call clear_tty_hooks.
459 (Fresume_tty, init_tty): Call set_tty_hooks.
460 (clear_tty_hooks, set_tty_hooks): New functions.
461 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
462 errors on X frames.
463 (x_catch_errors_unwind): Abort if x_error_message is NULL.
464 (handle_one_xevent): Initialize `f' to NULL.
465 (x_delete_device, x_create_device): New functions.
466 (XTset_terminal_modes, XTreset_terminal_modes)
467 (XTread_socket, x_connection_closed, x_term_init)
468 (x_term_init, x_delete_display): Add terminal parameter.
469 (x_term_init) [!HAVE_GTK_MULTIDISPLAY]: Refuse to create secondary
470 X connections.
471
472 * frame.c (Fframep): Deal with output_initial.
473 (Qbuffer_predicate, Qbuffer_list, Qburied_buffer_list, Qtty)
474 (Qtty_type, Qwindow_system, Qenvironment)
475 (Qterm_environment_variable, Qdisplay_environment_variable): New
476 variables.
477 (x_set_screen_gamma, store_frame_param): Fix compilation errors.
478 (make_terminal_frame): Don't create frames on a terminal that is
479 being deleted.
480 (make_terminal_frame): Use FRAME_BACKGROUND_PIXEL and
481 FRAME_FOREGROUND_PIXEL.
482 (store_frame_param): Check for found_for_frame before calling
483 XFRAME.
484 (Fmake_terminal_frame): Handle NULL tty names correctly.
485 (syms_of_frame): Enhance doc string of `default-frame-alist'.
486 (Fdelete_frame): Remove unused variable `count'.
487 (Qenvironment): New variable.
488 (Fdelete_frame): Don't allow other frames to refer to a deleted
489 frame in their 'environment parameter.
490 (Fframe_with_environment): New function.
491 (syms_of_frame): Defsubr it. Initialize and staticpro
492 Qenvironment.
493 (get_future_frame_param): New function.
494 (Fmake_terminal_frame): Use it.
495
496 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
497 * sysdep.c (reset_sys_modes): Update for renames.
498
499 * keyboard.c (tty_read_avail_input): New function.
500 (Fset_input_interrupt_mode,Fset_output_flow_control): New
501 functions.
502 (syms_of_keyboard): Defsubr them.
503 (Fset_input_meta_mode, Fset_quit_char): New functions.
504 (Fset_input_mode): Split to above functions.
505
506 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
507 parameter. Use it in call to `read_char'.
508 (read_char): Declare. Update call to
509 `read_char_minibuf_menu_prompt'. Set wrong_kboard_jmpbuf
510 correctly in recursive calls. Use current_kboard to access
511 Vkeyboard_translate_table. Enhance comment before extra longjmp
512 to wrong_kboard_jmpbuf. Add wrong_kboard_jmpbuf parameter to
513 allow for recursive calls. Update longjmp invocations. Remember
514 the original current_kboard, and longjmp to `wrong_kboard_jmpbuf'
515 when a filter, timer or sentinel changes it. Comment out
516 unnecessary calls to `record_single_kboard_state' and
517 `any_kboard_state'. Update recursive calls.
518 (wrong_kboard_jmpbuf): Remove global variable.
519 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
520 Handle deleted interrupted_kboards correctly; that is a legal
521 case. Add `wrong_kboard_jmpbuf' local variable. Update setjmp
522 and read_char calls. Abort if interrupted_kboard died in
523 read_char.
524 (any_kboard_state, single_kboard_state)
525 (push_frame_kboard): Remove function.
526 (pop_kboard): Switch out of single_kboard mode if the kboard has
527 been deleted. Remove unused variable. Help debugging by not
528 changing current_kboard unnecessarily. Set current_kboard to the
529 kboard of the selected frame when the stored kboard object has
530 been deleted before pop_kboard.
531 (temporarily_switch_to_single_kboard): Change first parameter to a
532 frame pointer. Throw an error when caller wants to change kboards
533 while in single_kboard mode. Don't push_kboard if we weren't in
534 single kboard state. Don't pop_kboard if we popped into any
535 kboard state.
536 (restore_kboard_configuration): Abort if pop_kboard changed the
537 kboard in single_kboard mode. Call pop_kboard only after setting
538 up single_kboard mode.
539 (Frecursive_edit): Switch to single_kboard mode only in nested
540 command loops.
541 (cmd_error, command_loop, command_loop_1, timer_check): Comment
542 out unnecessary call to `any_kboard_state' and
543 `record_single_kboard_state'.
544 (delete_kboard): Exit single_kboard mode if we have just deleted
545 that kboard. Use FRAME_KBOARD.
546 (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
547 `fatal_error_signal'.
548 (record_single_kboard_state): Don't push_kboard if we weren't in
549 single kboard state. Don't pop_kboard if we popped into any
550 kboard state.
551 (push_frame_kboard): Rename to push_kboard.
552 (kbd_buffer_get_event): Use FRAME_TERMINAL.
553 (read_avail_input): Read input from all terminals.
554 (mark_kboards): Also mark Vkeyboard_translate_table.
555 (kbd_buffer_store_event_hold): Simplify condition.
556 (read_key_sequence): Reinitialize fkey and keytran at each replay.
557 (Vkeyboard_translate_table): Move to struct kboard.
558 (init_kboard): Initialize Vkeyboard_translate_table.
559 (syms_of_keyboard): Use DEFVAR_KBOARD to define
560 Vkeyboard_translate_table. Update doc strings. Update docs of
561 local-function-key-map and function-key-map.
562
563 * terminal.c: New file.
564
565 * term.c: Include errno.h.
566 (Vring_bell_function, device_list, initial_device)
567 (next_device_id, ring_bell, update_begin, update_end)
568 (set_terminal_window, cursor_to, raw_cursor_to)
569 (clear_to_end, clear_frame, clear_end_of_line)
570 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
571 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
572 (syms_of_term): Move their initialization to terminal.c.
573 (get_tty_terminal, Fdisplay_tty_type, Ftty_display_color_p)
574 (Ftty_display_color_cells)
575 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
576 (init_tty, maybe_fatal): New functions.
577 (Ftty_type): Return nil if terminal is not on a tty instead of
578 throwing an error. Doc update.
579 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
580 Doc update. Initialize new subrs and variables.
581 (delete_tty): Use terminal->deleted.
582 (tty_set_terminal_modes): Rename from set_terminal_modes.
583 (tty_reset_terminal_modes): Rename from reset_terminal_modes.
584 (set_scroll_region): Rename to `tty_set_scroll_region'.
585 (turn_on_insert): Rename to `tty_turn_on_insert'.
586 (turn_off_insert): Rename to `tty_turn_off_insert'.
587 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
588 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
589 (toggle_highligh): Rename to `tty_toggle_highlight'.
590 (background_highlight): Rename to `tty_background_highlight'.
591 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
592 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
593 (tty_set_scroll_region, tty_background_highlight)
594 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
595 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
596 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
597 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
598 Add static modifier.
599 (tty_reset_terminal_modes, tty_set_terminal_window)
600 (tty_set_scroll_region, tty_background_highlight)
601 (tty_highlight_if_desired, tty_cursor_to)
602 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
603 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
604 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
605 renames.
606
1 2007-08-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se> 607 2007-08-28 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
2 608
3 * keyboard.c: Qrtl is new. 609 * keyboard.c: Qrtl is new.
4 (parse_tool_bar_item): Handle :rtl keyword. 610 (parse_tool_bar_item): Handle :rtl keyword.
5 (syms_of_keyboard): Intern :rtl keyword. 611 (syms_of_keyboard): Intern :rtl keyword.