]> code.delx.au - gnu-emacs/blob - src/ChangeLog.multi-tty
Some more tidying and simplification pending merge.
[gnu-emacs] / src / ChangeLog.multi-tty
1 0000-00-00 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 0000-00-00 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 0000-00-00 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 0000-00-00 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
132
133 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error.
134
135 0000-00-00 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
136
137 * term.c (tty_insert_glyphs): Add missing first parameter.
138
139 0000-00-00 Karoly Lorentey <karoly@lorentey.hu>
140
141 * cm.c (current_tty): New variable, for cmputc().
142 (cmputc): Use it.
143 (cmcheckmagic): Add tty parameter, look up terminal streams there.
144 (calccost): Add tty parameter. Use emacs_tputs() instead of tputs().
145 (cmgoto): Add tty parameter. Pass it on to calccost(). Use
146 emacs_tputs() instead of tputs().
147
148 * cm.h (emacs_tputs): New macro to set current_tty, and then call
149 tputs().
150 (current_tty): New variable, for cmputc().
151 (cmcheckmagic, cmputc, cmgoto): Add prototypes.
152
153 * eval.c (unwind_to_catch): Don't call x_fully_uncatch_errors.
154 (internal_condition_case, internal_condition_case_1)
155 (internal_condition_case_2): Don't abort when x_catching_errors.
156
157 * fns.c (Fyes_or_no_p): Don't try to open an X dialog on tty terminals.
158 (Fy_or_n_p): Likewise. Use temporarily_switch_to_single_kboard to
159 prevent crashes caused by bogus longjmps in read_char.
160
161 * keymap.h (Fset_keymap_parent): Add EXFUN.
162
163 * macterm.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL)
164 * w32term.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL):
165 Remove redundant definition.
166
167 * macfns.c (x_set_mouse_color,x_make_gc): Use
168 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
169
170 * msdos.c (ScreenVisualBell,internal_terminal_init): Use
171 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
172 * w32term.c (x_free_frame_resources): Use
173 FRAME_BACKGROUND_PIXEL and FRAME_FOREGROUND_PIXEL.
174 (w32_initialize): Use the accessor macros for terminal characteristics.
175
176 * macterm.c (mac_initialize): Use Fset_input_interrupt_mode.
177 Use the accessor macros for terminal characteristics.
178 * msdos.c (internal_terminal_init): Use the accessor macros for
179 terminal characteristics.
180
181 * termopts.h (no_redraw_on_reenter): Declare.
182
183 2006-10-14 Karoly Lorentey <lorentey@elte.hu>
184
185 * alloc.c (emacs_blocked_malloc): Disable mallopt call.
186
187 * callproc.c (Vglobal_environment, Vlocal_environment_variables):
188 Remove.
189 (getenv_internal, child_setup): Don't look at global-environment
190 or local-environment-variables.
191 (Fgetenv_internal): Update docs.
192 (set_initial_environment): Rename from set_global_environment.
193 Store Emacs environment in initial frame parameter.
194 (syms_of_callproc): Remove obsolete defvars. Update docs.
195
196 * emacs.c (main): Call set_initial_environment, not
197 set_global_environment.
198
199 * frame.c (x_set_screen_gamma, store_frame_param): Fix compilation
200 errors.
201
202 * window.c (set_window_buffer): Don't call clear_mouse_face on tty
203 frames.
204
205 * xmenu.c (Fx_menu_bar_open) [USE_X_TOOLKIT, USE_GTK]: Rename from
206 Fmenu_bar_open.
207 (syms_of_xmenu): Update defsubr.
208
209 * xterm.c (x_fully_uncatch_errors): Disable definition.
210 (x_scroll_bar_expose): Fix reference to foreground pixel.
211
212 * xterm.h: Remove declaration for x_fully_uncatch_errors.
213
214 2006-05-20 Karoly Lorentey <lorentey@elte.hu>
215
216 * frame.c (make_terminal_frame)
217 * xfns.c (Fx_create_frame, x_create_tip_frame): Don't create
218 frames on a terminal that is being deleted.
219
220 * keyboard.c (tty_read_avail_input): Don't read from a terminal that
221 is being deleted.
222
223 * term.c (Ftty_type): Return nil if terminal is not on a tty instead
224 of throwing an error. Doc update.
225 (init_tty): Set name before calling `get_named_tty'.
226 (syms_of_term) <Vsuspend_tty_functions, Vresume_tty_functions>:
227 Doc update.
228
229 * termhooks.h (terminal) <name>: Explain why identifying terminals
230 by name is a bad idea.
231
232 * xterm.c (XTread_socket): Disable loop on all X displays.
233 (x_delete_terminal): Don't set terminal->deleted and let
234 delete_terminal delete the frames on the terminal.
235 (x_delete_display): Doc update to reflect changes in
236 delete_terminal.
237 (x_display_info) <terminal>: Move member earlier in the struct.
238
239 2006-05-20 Karoly Lorentey <lorentey@elte.hu>
240
241 * termhooks.h (terminal) <deleted>: New member.
242 * term.c (delete_tty): Use it.
243 * xterm.c (x_delete_terminal): Use terminal->deleted. Delete all
244 frames on the display explicitly.
245
246 (deleting_tty): Remove old variable.
247 (Fsuspend_tty): Call clear_tty_hooks.
248 (Fresume_tty, init_tty): Call set_tty_hooks.
249 (clear_tty_hooks, set_tty_hooks): New functions.
250 (Ftty_display_color_p, Ftty_display_color_cells): Don't throw
251 errors on X frames.
252
253 * term.c (get_tty_terminal): Add throw parameter.
254 (Fsuspend_tty, Fresume_tty): Update call to `get_tty_terminal'.
255 * dispnew.c (Fsend_string_to_terminal): Update call to
256 `get_tty_terminal'.
257 * dispextern.h (get_tty_terminal): Update prototype.
258
259 * xfaces.c (realize_default_face): Don't use FRAME_FONT unless frame
260 is an X frame.
261
262 2006-04-01 Karoly Lorentey <lorentey@elte.hu>
263
264 * frame.c (make_terminal_frame)
265 * gtkutil.c (xg_create_frame_widgets)
266 * widget.c (update_from_various_frame_slots)
267 * xfns.c (x_set_foreground_color x_set_background_color)
268 (x_set_mouse_color, x_set_cursor_color, x_make_gc)
269 (Fx_create_frame, x_create_tip_frame, build_string, x_window)
270 * xterm.c (XTflash, x_free_frame_resources, x_scroll_bar_create)
271 (x_scroll_bar_set_handle): Use FRAME_BACKGROUND_PIXEL and
272 FRAME_FOREGROUND_PIXEL.
273
274 * xterm.h (x_output): Remove background_pixel and foreground_pixel
275 fields.
276
277 2006-03-08 Karoly Lorentey <lorentey@elte.hu>
278
279 * .gdbinit (init_sys_modes): Use Vinitial_window_system instead of
280 Vwindow_system.
281
282 * callproc.c (getenv_internal): Fix C99ism.
283
284 * frame.c (store_frame_param): Check for found_for_frame before
285 calling XFRAME.
286 (Fmake_terminal_frame): Handle NULL tty names correctly.
287 (syms_of_frame): Enhance doc string of `default-frame-alist'.
288
289 * keyboard.c (read_char): Declare. Update call to
290 `read_char_minibuf_menu_prompt'. Set wrong_kboard_jmpbuf correctly in
291 recursive calls.
292 (read_char_minibuf_menu_prompt): Add wrong_kboard_jmpbuf
293 parameter. Use it in call to `read_char'.
294 (Fset_quit_char): Don't leave tty state uninitialized after an error.
295 (read_key_sequence): Remove unused variable wrong_kboard_jmpbuf.
296
297 * term.c: Include errno.h.
298 (Fresume_tty): Handle errors on reopening ttys. Don't dissociate
299 if terminal was explicitly opened on the controlling terminal.
300 (init_tty): Initialize local pointers. Always set name (use
301 "/dev/tty" for controlling tty.) Remove special case for name == NULL.
302
303 * xfns.c (Fx_create_frame): Use `store_frame_param' to set
304 `window-system' frame parameter, and make sure it overrides any
305 user-supplied setting.
306 (x_create_tip_frame): Fix syntax error.
307
308 * xterm.c (x_catch_errors_unwind): Abort if x_error_message is NULL.
309
310 2006-01-17 Karoly Lorentey <lorentey@elte.hu>
311
312 * Makefile.in (SOME_MACHINE_LISP): Fix typo.
313 (lisp, shortlisp): Add termdev.elc.
314
315 * process.c (Fmake_network_process): Don't unrequest_sigio on modern
316 systems.
317
318 * keyboard.c (Fset_input_interrupt_mode): Cosmetic change.
319 (read_char): Enhance comment before extra longjmp to
320 wrong_kboard_jmpbuf.
321 (read_key_sequence): Handle deleted interrupted_kboards correctly;
322 that is a legal case.
323
324 * sysdep.c (request_sigio): Make it a no-op if noninteractive.
325 (unrequest_sigio): Make it a no-op if noninteractive.
326
327 2006-01-03 Karoly Lorentey <lorentey@elte.hu>
328
329 * callint.c (Fcall_interactively): Update call to
330 `temporarily_switch_to_single_kboard'.
331
332 * frame.c (Fdelete_frame): Remove unused variable `count'.
333
334 * keyboard.c (wrong_kboard_jmpbuf): Remove global variable.
335
336 * keyboard.c (read_char): Add wrong_kboard_jmpbuf parameter to allow
337 for recursive calls. Update longjmp invocations. Remember the
338 original current_kboard, and longjmp to `wrong_kboard_jmpbuf' when a
339 filter, timer or sentinel changes it. Comment out unnecessary calls to
340 `record_single_kboard_state' and `any_kboard_state'. Update recursive
341 calls.
342
343 * keyboard.c (read_key_sequence): Add `wrong_kboard_jmpbuf' local
344 variable. Update setjmp and read_char calls. Abort if
345 interrupted_kboard died in read_char.
346
347 * keyboard.c (any_kboard_state, single_kboard_state)
348 (record_single_kboard_state): Comment out obsolete functions.
349 (push_frame_kboard): Remove function.
350 (pop_kboard): Switch out of single_kboard mode if the
351 kboard has been deleted.
352 (temporarily_switch_to_single_kboard): Change first
353 parameter to a frame pointer. Throw an error when caller wants to
354 change kboards while in single_kboard mode.
355 (restore_kboard_configuration): Abort if pop_kboard changed
356 the kboard in single_kboard mode.
357 (Frecursive_edit): Switch to single_kboard mode only in
358 nested command loops.
359 (cmd_error, command_loop, command_loop_1, timer_check):
360 Comment out unnecessary call to `any_kboard_state' and
361 `record_single_kboard_state'.
362
363 * keyboard.c (delete_kboard): Exit single_kboard mode if we have just
364 deleted that kboard.
365
366 * keyboard.c (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not
367 `fatal_error_signal'.
368
369 * keyboard.h (read_char, single_kboard_state)
370 (record_single_kboard_state): Remove.
371 (temporarily_switch_to_single_kboard): Update.
372
373 * lread.c: Include setjmp.h. Update declaration of `read_char'.
374 (read_filtered_event): Call `read_char' with a local
375 `wrong_kboard_jmpbuf'.
376
377 * minibuf.c (read_minibuf): Update call to
378 `temporarily_switch_to_single_kboard'.
379
380 * termchar.h (tty_display_info): Rename `previous_terminal_frame'
381 member to `previous_frame'.
382
383 * xdisp.c (redisplay_internal): Update references to
384 `previous_terminal_frame'.
385 (display_mode_line, Fformat_mode_line): Replace calls to
386 `push_frame_kboard' with `push_kboard'.
387
388 2006-01-02 Karoly Lorentey <lorentey@elte.hu>
389
390 * keyboard.c (pop_kboard): Help debugging by not changing
391 current_kboard unnecessarily.
392 (temporarily_switch_to_single_kboard, record_single_kboard_state):
393 Don't push_kboard if we weren't in single kboard state.
394 Don't pop_kboard if we popped into any kboard state.
395
396 * xfns.c (Fx_close_connection, Fx_synchronize): Unify argument names
397 with the rest of the DEFUNs.
398
399 * frame.c (Fframe_with_environment): Fix typo.
400
401 * xdisp.c (get_glyph_string_clip_rects): Add extra parentheses and
402 braces to prevent compiler warnings.
403 (calc_pixel_width_or_height): Add xassert to check that the
404 frame is alive. Don't call `lookup_image' on a termcap frame.
405
406 * image.c (lookup_image): Don't initialize `c' until the xasserts
407 have been run.
408
409 * callproc.c (syms_of_callproc): Initialize
410 `Vlocal-environment-variables' to `Qt'.
411
412 2005-12-29 Karoly Lorentey <lorentey@elte.hu>
413
414 * termhooks.h (struct device): Rename to `terminal'. Rename member
415 `next_device' to `next_terminal'.
416 (device_list): Rename to `terminal_list'.
417 (FRAME_DEVICE): Rename to `FRAME_TERMINAL'.
418 (DEVICE_TERMINAL_CODING): Rename to `TERMINAL_TERMINAL_CODING'.
419 (TERMINAL_KEYBOARD_CODING): Rename to `TERMINAL_KEYBOARD_CODING'.
420 (DEVICE_ACTIVE_P): Rename to `TERMINAL_ACTIVE_P'.
421 Update declarations and macro definitions.
422
423 * termchar.h (tty_display_info): Rename member `device' to `terminal'.
424
425 * xterm.h (x_display_info): Rename member `device' to `terminal'.
426
427 * frame.h (frame): Rename `device' member to `terminal'.
428 (FRAME_KBOARD, FRAME_LIVE_P, Qdevice, Qdisplay_live_p):
429 Update for renames.
430
431 * lisp.h (set_process_environment): Rename to `set_global_environment'.
432 (device): Rename to `terminal'.
433
434 * dispextern.h: Update declarations and macro definitions.
435
436 * term.c (get_tty_device): Rename to `get_tty_terminal'. Update.
437 (Fdisplay_tty_type): Rename to `Ftty_type'.
438 (tty_set_terminal_modes, tty_reset_terminal_modes)
439 (Ftty_display_color_p, Ftty_display_color_cells)
440 (Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
441 (init_tty, maybe_fatal, syms_of_term): Update for rename.
442
443 * frame.c (Qdevice): Rename to `Qterminal'.
444 (Qdisplay_live_p): Rename to `Qterminal_live_p'.
445 (terminal_frame_count): Rename to `tty_frame_count'.
446 (make_frame_without_minibuffer, make_initial_frame)
447 (make_terminal_frame, Fmodify_frame_parameters)
448 (do_switch_frame, Fdelete_frame, Fmouse_position)
449 (Fmouse_pixel_position, Fraise_frame, Flower_frame)
450 (Fredirect_frame_focus, set_term_frame_name, syms_of_frame):
451 Update for renames.
452
453 * xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
454 (set_vertical_scroll_bar, redisplay_window, check_x_display_info)
455 (x_set_scroll_bar_foreground, x_set_scroll_bar_background)
456 (Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
457 (Fx_display_pixel_width, Fx_display_pixel_height)
458 (Fx_display_planes, Fx_display_color_cells)
459 (Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
460 (Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
461 (Fx_display_backing_store, Fx_display_visual_class)
462 (Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
463 Update for renames.
464
465 * xterm.c (handle_one_xevent): Initialize `f' to NULL.
466 (x_delete_device): Rename to `x_delete_terminal'.
467 (x_create_device): Rename to `x_create_terminal'.
468 (XTset_terminal_modes, XTreset_terminal_modes)
469 (XTread_socket, x_connection_closed, x_term_init)
470 (x_term_init, x_delete_display): Update for renames.
471
472 * dispnew.c (Fredraw_frame, Fsend_string_to_terminal)
473 (Fsend_string_to_terminal, init_display): Update for renames.
474
475 * keyboard.c (push_frame_kboard, pop_kboard, pop_kboard)
476 (kbd_buffer_get_event, read_avail_input, tty_read_avail_input)
477 (interrupt_signal, Fset_output_flow_control)
478 (delete_kboard, syms_of_keyboard): Update for renames.
479
480 * alloc.c (Fgarbage_collect): Update for renames.
481
482 * coding.c (Fset_terminal_coding_system_internal)
483 (Fterminal_coding_system4)
484 (Fset_keyboard_coding_system_internal)
485 (Fkeyboard_coding_system): Update for renames.
486
487 * minibuf.c (read_minibuf): Update for renames.
488
489 * sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
490
491 * xselect.c (x_handle_selection_clear): Update for renames.
492
493 2005-12-29 Karoly Lorentey <lorentey@elte.hu>
494
495 * callproc.c (child_setup, getenv_internal, Fgetenv_internal):
496 Store the local environment in a frame (not terminal) parameter.
497 Update doc strings.
498 (syms_of_callproc): Update doc strings.
499 (Qenvironment): Move to frame.c.
500
501 * frame.c (Qenvironment): Move here from callproc.c.
502 (Fdelete_frame): Don't allow other frames to refer to a deleted frame
503 in their 'environment parameter.
504 (Fframe_with_environment): New function.
505 (syms_of_frame): Defsubr it. Initialize and staticpro Qenvironment.
506
507 * frame.h (Qenvironment): Declare.
508 * lisp.h (Fframe_with_environment): EXFUN it.
509
510 2005-12-29 Karoly Lorentey <lorentey@elte.hu>
511
512 * callproc.c (Vglobal_environment): New variable, taking over the
513 previous role of `Vprocess_environment', which is now something else.
514 (add_env): New function.
515 (child_setup): Use it.
516 (child_setup, getenv_internal): Rename Vprocess_environment to
517 Vglobal_environment. Handle the new Vprocess_environment.
518 (getenv_internal): Fix get_terminal_param call.
519 (Fgetenv_internal, egetenv): Update doc.
520 (set_process_environment): Rename to `set_global_environment'. Rename
521 Vprocess_environment to Vglobal_environment.
522 (syms_of_callproc): Rename process-environment to global-environment,
523 add new process-environment, update docs. Initialize
524 Vprocess_environment to nil.
525
526 * emacs.c (main): Call set_global_environment instead of
527 set_process_environment.
528
529 * fileio.c (Fread_file_name): Update comment.
530
531 2005-12-26 Karoly Lorentey <lorentey@elte.hu>
532
533 * callproc.c: Include frame.h and termhooks.h, for terminal parameters.
534 (Qenvironment): New constant.
535 (Vlocal_environment_variables): New variable.
536 (syms_of_callproc): Register and initialize them.
537 (child_setup): Handle Vlocal_environment_variables.
538 (getenv_internal): Add terminal parameter. Handle
539 Vlocal_environment_variables.
540 (Fgetenv_internal): Add terminal parameter.
541
542 * termhooks.h (get_terminal_param): Declare.
543 (get_device): New declaration.
544
545 * Makefile.in (callproc.o): Update dependencies.
546
547 2005-12-25 Karoly Lorentey <lorentey@elte.hu>
548
549 * terminal.c: New file.
550
551 * term.c (Vring_bell_function, device_list, initial_device)
552 (next_device_id, ring_bell, update_begin, update_end)
553 (set_terminal_window, cursor_to, raw_cursor_to)
554 (clear_to_end, clear_frame, clear_end_of_line)
555 (write_glyphs, insert_glyphs, delete_glyphs, ins_del_lines)
556 (Fdisplay_name, create_device, delete_device): Move to terminal.c.
557 (syms_of_term): Move their initialization to terminal.c.
558
559 * Makefile.in (obj): Add terminal.o.
560 (terminal.o): Add dependencies.
561 [HAVE_CARBON]: Make terminal.o depend on macgui.h.
562
563 * alloc.c (mark_devices): Declare.
564 (Fgarbage_collect): Call `mark_devices'.
565
566 * dispextern.h (set_scroll_region, turn_off_insert)
567 (turn_off_highlight, background_highlight, clear_end_of_line_raw)
568 (tty_clear_end_of_line, tty_setup_colors, delete_tty): Remove.
569 (raw_cursor_to, clear_to_end, tty_turn_off_insert)
570 (tty_turn_off_highlight): Add declaration.
571
572 * emacs.c (main): Call `syms_of_terminal'.
573
574 * frame.c (get_future_frame_param): New function.
575 (Fmake_terminal_frame): Use it.
576
577 * keyboard.c (pop_kboard): Remove unused variable.
578 (Fset_output_flow_control): Return nil.
579
580 * sysdep.c (reset_sys_modes): Update for renames.
581
582 * term.c (set_scroll_region): Rename to `tty_set_scroll_region'.
583 (turn_on_insert): Rename to `tty_turn_on_insert'.
584 (turn_off_insert): Rename to `tty_turn_off_insert'.
585 (turn_off_highlight): Rename to `tty_turn_off_highlight'.
586 (turn_on_highlight): Rename to `tty_turn_on_highlight'.
587 (toggle_highligh): Rename to `tty_toggle_highlight'.
588 (background_highlight): Rename to `tty_background_highlight'.
589 (highlight_if_desired): Rename to `tty_highlight_if_desired'.
590 (tty_ring_bell, tty_update_end, tty_set_terminal_window)
591 (tty_set_scroll_region, tty_background_highlight)
592 (tty_cursor_to, tty_raw_cursor_to, tty_clear_to_end)
593 (tty_clear_frame, tty_clear_end_of_line, tty_write_glyphs)
594 (tty_insert_glyphs, tty_delete_glyphs, tty_ins_del_lines)
595 (term_get_fkeys, tty_setup_colors, dissociate_if_controlling_tty):
596 Add static modifier.
597 (tty_reset_terminal_modes, tty_set_terminal_window)
598 (tty_set_scroll_region, tty_background_highlight)
599 (tty_highlight_if_desired, tty_cursor_to)
600 (tty_raw_cursor_to, tty_clear_to_end, tty_clear_frame)
601 (tty_clear_end_of_line, tty_write_glyphs, tty_insert_glyphs)
602 (tty_delete_glyphs, tty_ins_del_lines, turn_on_face): Update for
603 renames.
604
605 * termhooks.h (param_alist): New member to struct device.
606
607 * xterm.h (x_delete_device): Declare.
608
609 2005-12-23 Karoly Lorentey <lorentey@elte.hu>
610
611 * keyboard.c (Fset_input_interrupt_mode): Fix compilation error
612 during non-X builds.
613
614 2005-12-23 Karoly Lorentey <lorentey@elte.hu>
615
616 * print.c (print_preprocess): Don't lose print_depth levels while
617 iterating.
618
619 2005-12-23 Karoly Lorentey <lorentey@elte.hu>
620
621 * keyboard.c (Fset_input_interrupt_mode, Fset_output_flow_control)
622 (syms_of_keyboard): Defsubr them.
623 (Fset_input_meta_mode, Fset_quit_char): New functions.
624 (Fset_input_mode): Split to above functions.
625
626 * lisp.h: EXFUN the new functions.
627
628 * xterm.c (x_initialize): Use Fset_input_interrupt_mode.
629
630 2005-12-22 Karoly Lorentey <lorentey@elte.hu>
631
632 * term.c (suspend-tty): Update doc string.
633
634 2005-12-19 Karoly Lorentey <lorentey@elte.hu>
635
636 * dispnew.c (window_change_signal): Fix typo.
637
638 2005-12-13 Karoly Lorentey <lorentey@elte.hu>
639
640 * dispnew.c (window_change_signal): Don't believe width/height values
641 that are impossibly small.
642
643 2005-12-12 Karoly Lorentey <lorentey@elte.hu>
644
645 * xterm.c (x_term_init) [!HAVE_GTK_MULTIDISPLAY]:
646 Refuse to create secondary X connections.
647
648 2005-12-12 Karoly Lorentey <lorentey@elte.hu>
649
650 * keyboard.c (kbd_buffer_store_event_hold): Simplify condition.
651 (read_key_sequence): Reinitialize fkey and keytran at each replay.
652
653 * coding.c (Fkeyboard_coding_system): Update doc.
654
655 2005-11-07 Karoly Lorentey <lorentey@elte.hu>
656
657 * data.c (do_symval_forwarding, store_symval_forwarding)
658 (find_symbol_value): Use the selected frame's keyboard, not
659 current_kboard.
660
661 2005-10-29 Karoly Lorentey <lorentey@elte.hu>
662
663 * keyboard.c (mark_kboards): Also mark Vkeyboard_translate_table.
664
665 2005-10-28 Karoly Lorentey <lorentey@elte.hu>
666
667 * keyboard.c (Vkeyboard_translate_table): Move to struct kboard.
668 * keyboard.h (Vkeyboard_translate_table): Move to struct kboard.
669
670 * keyboard.c (read_char): Use current_kboard to access
671 Vkeyboard_translate_table.
672 * keymap.c (Fdescribe_buffer_bindings): Ditto.
673
674 * keyboard.c (init_kboard): Initialize Vkeyboard_translate_table.
675
676 * keyboard.c (syms_of_keyboard): Use DEFVAR_KBOARD to define
677 Vkeyboard_translate_table. Update doc strings.
678
679 2005-10-28 Karoly Lorentey <lorentey@elte.hu>
680
681 * keyboard.c (syms_of_keyboard): Update docs of
682 local-function-key-map and function-key-map.
683
684 2005-10-23 Karoly Lorentey <lorentey@elte.hu>
685
686 * emacs.c (REPORT_EMACS_BUG_PRETEST_ADDRESS): Change address to the
687 multi-tty mailing list.
688
689 2005-09-19 Karoly Lorentey <lorentey@elte.hu>
690
691 * term.c (tty_set_terminal_modes): Output newlines on the correct
692 terminal device.
693
694 2005-09-11 Karoly Lorentey <lorentey@elte.hu>
695
696 * keyboard.c (pop_kboard): Set current_kboard to the kboard of the
697 selected frame when the stored kboard object has been deleted before
698 pop_kboard.
699 (restore_kboard_configuration): Call pop_kboard only after setting up
700 single_kboard mode.
701
702 2005-09-11 Karoly Lorentey <lorentey@elte.hu>
703
704 * keyboard.c: Add forward declaration of restore_kboard_configuration.
705
706 * callint.c (Fcall_interactively): Use
707 temporarily_switch_to_single_kboard instead of single_kboard_state.
708 Make sure it is correctly unwound.
709
710 * keyboard.c (recursive_edit_unwind): Remove single_kboard stuff.
711 (Frecursive_edit): Use temporarily_switch_to_single_kboard for
712 single_kboard state management.
713
714 * minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard
715 instead of simply calling single_kboard_state.
716
717 * keyboard.c (push_kboard): New function.
718 (push_frame_kboard): Use it.
719 (pop_frame_kboard): Rename to pop_kboard.
720
721 * xdisp.c (display_mode_line, Fformat_mode_line): Update uses.
722
723 * data.c: Include termhooks.h.
724
725 * Makefile.in (data.o, fns.o): Add termhooks.h dependency.
726
727 * keyboard.h (pop_frame_kboard): Remove declaration.
728 (push_kboard, pop_kboard, temporarily_switch_to_single_kboard)
729 (record_single_kboard_state): New declarations.
730
731 2005-09-11 Karoly Lorentey <lorentey@elte.hu>
732
733 * dispextern.h (get_tty_device): Declare.
734
735 * dispnew.c (Fsend_string_to_terminal): Add optional TERMINAL
736 parameter.
737
738 * term.c (get_tty_device): Remove static qualifier.
739
740 * xmenu.c (create_and_show_dialog, create_and_show_popup_menu)
741 (free_frame_menubar, mouse_position_for_popup, set_frame_menubar)
742 (update_frame_menubar, x_activate_menubar, xdialog_show, xmenu_show):
743 Abort when given a non-X frame.
744
745 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Throw an error when run
746 on a non-X frame.
747
748 2005-09-07 Karoly Lorentey <lorentey@elte.hu>
749
750 * dispnew.c (init_display): Set up `window-system' and `tty-type'
751 frame parameters in the initial tty frame.
752
753 * frame.c (Fmake_terminal_frame): Look up the `tty-type' frame
754 parameter, not `tty' when discovering the tty type of the new frame.
755 Initialize `tty' and `tty-type' frame parameters in the new frame.
756
757 2005-08-04 Karoly Lorentey <lorentey@elte.hu>
758
759 * window.c (window_internal_height): Remove bogus make_number call.
760
761 2005-08-04 Karoly Lorentey <lorentey@elte.hu>
762
763 * xsmfns.c (x_session_close): New function.
764 * xterm.h: Declare it.
765
766 * xterm.c (XTread_socket): Don't call x_session_check_input for
767 secondary displays.
768 (x_term_init): Do not initialize X session management when the
769 initial display was a tty frame.
770 (x_delete_display): Close X session management when we close its
771 display.
772
773 2005-07-12 Karoly Lorentey <lorentey@elte.hu>
774
775 * keyboard.h (struct kboard): Rename member 'Vfunction_key_map' to
776 'Vlocal_function_key_map', and 'Vkey_translation_map' to
777 'Vlocal_key_translation_map'.
778 (Vfunction_key_map, Vkey_translation_map): New declarations.
779
780 * keyboard.c (Vfunction_key_map): New variable.
781 (Vglobal_key_translation_map): Rename to
782 Vglobal_key_translation_map.
783 (read_key_sequence, init_kboard, syms_of_keyboard, mark_kboards):
784 Update.
785
786 * keymap.c (Fdescribe_buffer_bindings): Update.
787 * term.c (term_get_fkeys_1): Update.
788
789
790 2005-07-11 Karoly Lorentey <lorentey@elte.hu>
791
792 * xdisp.c (select_frame_for_redisplay): Fix xassert.
793
794 2005-07-11 Karoly Lorentey <lorentey@elte.hu>
795
796 * termhooks.h (struct device): Rename to `struct device'.
797 Rename member `next_display' to `next_device'.
798 Rename member `delete_display_hook' to `delete_device_hook'.
799 (FRAME_DISPLAY): Rename to FRAME_DEVICE.
800 (DISPLAY_ACTIVE_P): Rename to DEVICE_ACTIVE_P.
801 (DISPLAY_TERMINAL_CODING): Rename to DEVICE_TERMINAL_CODING.
802 (DISPLAY_KEYBOARD_CODING): Rename to DEVICE_KEYBOARD_CODING.
803
804 * frame.h (stuct frame): Rename `display' member to `device'.
805
806 * xterm.h (x_display_info): Rename member `frame_display' to `device'.
807
808 * termchar.h (struct tty_display_info): Rename `display' member to
809 `device'.
810
811 * frame.c (Fmake_terminal_frame): Ditto.
812 * xfns.c (Fx_create_frame): Ditto.
813
814 * term.c (display_list): Rename to device_list.
815 * term.c (initial_display): Rename to initial_device.
816 * term.c (next_display_id): Rename to next_device_id.
817 * term.c (get_tty_display): Rename to get_tty_device.
818 * term.c (init_initial_display): Rename to init_initial_device.
819 * term.c (delete_initial_display): Rename to delete_initial_device.
820 * term.c (create_display): Rename to create_device.
821 * term.c (delete_display): Rename to delete_device.
822
823 * xfns.c (check_x_display_info): Document that the function allows
824 display ids as well.
825
826 * xterm.c (x_delete_frame_display): Rename to x_delete_device.
827 * xterm.c (x_create_frame_display): Rename to x_create_device.
828
829 * coding.c: Update.
830 * dispextern.h: Update.
831 * data.c: Update.
832 * dispnew.c: Update.
833 * frame.c: Update.
834 * frame.h: Update.
835 * keyboard.c: Update.
836 * keyboard.h: Update.
837 * lisp.h: Update.
838 * sysdep.c: Update.
839 * term.c: Update.
840 * xdisp.c: Update.
841 * xselect.c: Update.
842 * xterm.c: Update.
843
844 * prefix-args.c: Include stdlib.h for exit.
845
846 2005-07-10 Karoly Lorentey <lorentey@elte.hu>
847
848 * term.c (term_init): Rename to init_tty.
849
850 * dispextern.h (term_init): Rename to init_tty.
851
852 * dispnew.c (init_display): Update.
853 * frame.c (Fmake_terminal_frame): Update.
854 * term.c (tty_setup_colors): Update comment.
855
856 2005-07-10 Karoly Lorentey <lorentey@elte.hu>
857
858 * xdisp.c (select_frame_for_redisplay): Add xassert for
859 FRAME_LIVE_P.
860 (unwind_redisplay): Don't restore previous frame if it has been
861 deleted.
862
863 2005-07-10 Karoly Lorentey <lorentey@elte.hu>
864
865 * term.c (term_init): Move maybe_fatal declaration to top-level to
866 prevent complaints from GCC 4.0.
867
868 2005-07-06 Karoly Lorentey <lorentey@elte.hu>
869
870 * frame.c (syms_of_frame): Add warning to `delete-frame-functions'
871 description.
872
873 2005-07-03 Karoly Lorentey <lorentey@elte.hu>
874
875 * term.c (tty_set_terminal_modes, tty_reset_terminal_modes): Flush
876 tty output before returning.
877
878 * sysdep.c (reset_sys_modes): Remove superflous fflush call.
879
880 2005-06-27 Karoly Lorentey <lorentey@elte.hu>
881
882 * data.c (Fterminal_local_value, Fset_terminal_local_value): New
883 functions (note: disabled).
884 (syms_of_data): Defsubr them (note: disabled).
885
886 * keyboard.c (syms_of_keyboard): Expand docs of terminal-local
887 variables to warn about their random bindings.
888
889 2005-06-27 Karoly Lorentey <lorentey@elte.hu>
890
891 * termhooks.h (display): New field: kboard.
892
893 * xterm.h (x_display_info): Remove kboard field.
894 * termchar.h (tty_display_info): Ditto.
895 * frame.h (frame): Ditto.
896 (FRAME_KBOARD): Update.
897
898 * dispnew.c (init_display): Don't initialize kboard.
899 * frame.c (make_frame, make_initial_frame, make_terminal_frame): Ditto.
900
901 * frame.c (make_frame_without_minibuffer, Fdelete_frame): Update
902 kboard access.
903 * keyboard.c (delete_kboard): Ditto.
904 * term.c (term_init): Ditto.
905 * xfns.c (Fx_create_frame, x_create_tip_frame): Ditto.
906 * xselect.c (x_handle_selection_clear): Ditto.
907 * xterm.c (x_term_init): Ditto.
908
909 * term.c (init_initial_display): Initialize kboard.
910 * xterm.c (x_term_init): Ditto.
911
912 * term.c (delete_display): Delete kboard as well.
913
914 2005-06-26 Karoly Lorentey <lorentey@elte.hu>
915
916 * keymap.c (Vkey_translation_map): Remove.
917 (syms_of_keymap): Remove DEFVAR for key-translation-map.
918 (Fdescribe_buffer_bindings): Update for terminal-local
919 key-translation-map.
920
921 * keyboard.h (kboard): Add Vkey_translation_map field.
922 (Vglobal_key_translation_map): Declare.
923
924 * keyboard.c (Vglobal_key_translation_map): New variable.
925 (syms_of_keyboard): DEFVAR it and Vkey_translation_map.
926 (mark_kboards): Mark key-translation-map.
927 (read_key_sequence): Update for terminal-local key-translation-map.
928
929 2005-06-25 Karoly Lorentey <lorentey@elte.hu>
930
931 * emacs.c (main): Call syms_of_keymap before syms_of_keyboard.
932
933 * keyboard.c (Vfunction_key_map): Remove declaration.
934 (read_key_sequence, init_kboard): Update references to
935 Vfunction_key_map.
936 (syms_of_keyboard): Declare function-key-map as a terminal-local
937 variable.
938 (mark_kboards): Mark Vfunction_key_map.
939 (Fset_input_mode): Call reset_sys_modes and init_sys_modes on the
940 selected device only; do not use the bulk functions
941 reset_all_sys_modes and init_all_sys_modes.
942
943 * keyboard.h (kboard): Move Vfunction_key_map inside the kboard struct.
944
945 * keymap.c (Vfunction_key_map): Remove.
946 (Fdescribe_buffer_bindings): Update references to Vfunction_key_map.
947 (syms_of_keymap): Remove DEFVAR for Vfunction_key_map.
948
949 * term.c (term_get_fkeys_1): Update references to Vfunction_key_map.
950 (term_init): Make sure the function keys are set up in the
951 correct function-key-map.
952 (term_get_fkeys_arg): Rename to term_get_fkeys_address.
953 (term_get_fkeys_kboard): New variable.
954 (term_get_fkeys): Use it.
955
956 2005-05-03 Karoly Lorentey <lorentey@elte.hu>
957
958 * termhooks.h (DISPLAY_TERMINAL_CODING, DISPLAY_KEYBOARD_CODING):
959 New macros.
960
961 * coding.c (Fset_terminal_coding_system_internal)
962 (Fterminal_coding_system, Fset_keyboard_coding_system_internal)
963 (Fkeyboard_coding_system)
964 * frame.c (Fmake_terminal_frame)
965 * xfns.c (check_x_display_info): Add DISPLAY parameter.
966
967 * xfns.c (start_hourglass): Disable display type check, it would
968 break multi-tty.
969
970 2005-04-18 Karoly Lorentey <lorentey@elte.hu>
971
972 * Makefile.in (SOME_MACHINE_LISP): Add dnd.elc.
973
974 * xdisp.c (with_echo_area_buffer, set_message, set_message_1)
975 (echo_area_display): Revert change applied in patch-328.
976
977 * xfaces.c (internal_resolve_face_name, resolve_face_name_error):
978 New functions.
979 (resolve_face_name): Protect against loops and errors thrown by
980 Fget.
981
982 * xfns.c (unwind_create_frame): Don't do anything if the frame is
983 already dead.
984
985 * xterm.c (x_delete_frame_display): Call xg_display_close under GTK.
986 (x_connection_closed): Don't close the display before its frames
987 are deleted. Protect against the last frame calling the display
988 delete hook.
989
990 2005-03-07 Karoly Lorentey <lorentey@elte.hu>
991
992 * keyboard.c (interrupt_signal, handle_interrupt): Move thread check
993 to interrupt_signal. Check for frame on controlling tty instead of
994 current selected frame in handle_interrupt.
995
996 * sysdep.c (narrow_foreground_group): Don't abort if inherited_pgroup
997 is zero.
998
999 * xfns.c (Fx_close_connection): Move code to
1000 x_delete_frame_display. Remove declaration cruft.
1001 (x_delete_frame_display): Actually close the X connection.
1002
1003 * xterm.c (x_flush): Return immediately when redisplay is inhibited.
1004 (Vinhibit_redisplay): Declare for x_flush.
1005 (x_delete_frame_display): Declare i. Fix initialization of dpyinfo.
1006 (x_delete_display, x_create_frame_display): Cosmetic change.
1007
1008 2005-02-03 Karoly Lorentey <lorentey@elte.hu>
1009
1010 * xfaces.c (x_free_gc): Protect xassert with GLYPH_DEBUG.
1011 * xfns.c (unwind_create_frame): Ditto.
1012 * dispnew.c (build_frame_matrix_from_leaf_window): Ditto.
1013
1014 2004-12-08 Karoly Lorentey <lorentey@elte.hu>
1015
1016 * dispextern.h (updated_window): Remove comment reference to
1017 updating_frame.
1018
1019 * dispnew.c (update_window): Remove bogus xassert.
1020
1021 * keyboard.c (cmd_error_internal): Remove slightly bogus comment.
1022
1023 * xdisp.c (handle_single_display_prop): Use FRAME_WINDOW_P instead of
1024 checking against specific frame types. Ignore images on non-window
1025 frames.
1026 (echo_area_display): Use FRAME_INITIAL_P to check for initial frame.
1027 (redisplay_preserve_echo_area): Update for multi-tty support.
1028 (redisplay_window): Don't bother with toolbars, fringe bitmaps or
1029 vertical borders on tty frames.
1030 (display_line): Remove superflous #ifdefs.
1031
1032 * xfns.c (x_create_tip_frame): Copy color slot initialization
1033 safeguards from x-create-frame. Trivial doc update.
1034
1035 * xterm.c (x_clear_frame): Update comment.
1036 (x_draw_window_cursor): Remove reference to updating_frame.
1037
1038 2004-07-04 Karoly Lorentey <lorentey@elte.hu>
1039
1040 * Makefile.in (minibuf.o): Fix typo.
1041
1042 * dispextern.h (get_display, Fdisplay_tty_type): New prototypes.
1043 (Fframe_tty_type): Remove.
1044
1045 * dispnew.c (init_display): Use Fdisplay_tty_type, not Fframe_tty_type.
1046
1047 * frame.c (Qdisplay_id, Qdisplay_live_p): New symbols.
1048 (make_terminal_frame): Get display as a parameter.
1049 (Fmake_terminal_frame): Get/create display here; pass it to
1050 make_terminal_frame.
1051 (Fdelete_frame): Stop if the hook deleted the frame.
1052 (syms_of_frame): Register new stuff.
1053
1054 * frame.h (Qdisplay_id, Qdisplay_live_p, make_terminal_frame):
1055 Update prototypes.
1056
1057 * fringe.c (init_fringe_bitmap): Remove C99ism.
1058
1059 * keyboard.c (interrupt_signal): Don't call fatal_error_signal
1060 with an extra parameter.
1061 (Fsuspend_emacs): Give a better error message when there are
1062 multiple open tty devices.
1063
1064 * term.c (Vdelete_tty_after_functions): Remove variable.
1065 (Qframe_tty_name, Qframe_tty_type): Remove.
1066 (next_display_id): New var.
1067 (tty_ring_bell): Don't do anything on suspended frames.
1068 (Ftty_display_color_p, Ftty_display_color_cells): Doc update.
1069 (get_tty_display): Use it.
1070 (get_tty_display): Don't signal an error on the initial frame.
1071 (Fframe_tty_name): Rename to Fdisplay_name. Handle all kinds of
1072 displays.
1073 (Fframe_tty_type): Rename to Fdisplay_tty_type.
1074 (init_initial_display): Set display name.
1075 (term_init): Allow more displays on the same device. Set display name.
1076 (Fdelete_tty): Remove.
1077 (create_display): Set display id.
1078 (delete_display): Free display name.
1079 (Fsuspend_tty): Call hook with display id. Doc update.
1080 (Fresume_tty): Refuse to resume when there is already an active display
1081 on the same device. Call hook with display id. Doc update.
1082 (syms_of_term): Reflect above changes.
1083 (Fcontrolling_tty_p): New function.
1084 (syms_of_term): Initialize Sdisplay_controlling_tty_p.
1085
1086 * termhooks.h (struct display): Add `id' and `name' members.
1087 (DISPLAY_ACTIVE_P): New macro.
1088
1089 * xfns.c (check_x_display_info): Handle display ids.
1090 (Fx_create_frame): Try to get display from `display-id' parameter.
1091 Fix verifying return value of x_get_arg for Qdisplay_id.
1092
1093 * xterm.c (x_term_init): Set display name.
1094 (x_delete_display): Handle the case when `font_table' is NULL.
1095 (x_connection_closed): Inhibit redisplay while frames are being
1096 deleted.
1097
1098 2004-06-05 Karoly Lorentey <lorentey@elte.hu>
1099
1100 * dispnew.c (init_display): Always install handler for SIGWINCH.
1101 Reported by Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp>.
1102
1103 * keyboard.c (interrupt_signal): Don't call Fkill_emacs from a
1104 signal handler; use fatal_error_signal instead.
1105 (command_loop): Clear single_kboard each time Emacs returns to top-level.
1106
1107 * term.c: Massive updates throuout the file.
1108 (TS_*, TN_*)
1109 (RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode)
1110 (standout_mode, specified_window, tty_cursor_hidden): Move to
1111 struct tty_output.
1112 (tty_set_terminal_modes, tty_reset_terminal_modes)
1113 (delete_tty, delete_tty_1): New functions.
1114 (turn_on_insert, turn_off_insert)
1115 (turn_on_highlight, turn_off_highlight, toggle_highlight)
1116 (tty_hide_cursor, tty_show_cursor)
1117 (background_highlight, highlight_if_desired): Add tty parameter.
1118 (tty_capable_p): Change first parameter to tty_output.
1119 (term_init): Make sure top_frame is initialized. Don't exit on
1120 errors if this would have been a secondary terminal. Call
1121 set_terminal_modes on the end.
1122 (print_all_frames): New function, marginally useful for debugging.
1123 (encode_terminal_code): Convert to use ANSI prototype syntax.
1124 (Ftty_display_color_cells): Return 0 in case of an error, not nil.
1125 (dissociate_if_controlling_tty): On some systems TIOCNOTTY
1126 works only on /dev/tty. Adapt the function accordingly.
1127
1128 * termchar.h (struct tty_output): Change old_tty to be a pointer.
1129 Remove old_tty_valid member. Add tty-specific variables from term.c.
1130
1131 * xfaces.c (Ftty_supports_face_attributes_p): Update for new
1132 tty_capable_p.
1133
1134 2003-12-25 Karoly Lorentey <lorentey@elte.hu>
1135
1136 * term.c (clear_end_of_line, set_scroll_region, clear_to_end)
1137 (clear_frame, tty_show_cursor, tty_hide_cursor, turn_on_highlight)
1138 (turn_off_highlight, turn_on_insert, turn_off_insert): Use
1139 updating_frame instead of selected_frame.
1140
1141 * termchar.h (struct terminal): Rename to struct tty_output.
1142 Add name, type, input, output, termscript, old_tty, term_initted,
1143 old_tty_valid, background_pixel, foreground_pixel, next fields.
1144 (tty_list): New variable.
1145 (FRAME_TTY): New function.
1146 (TTY_*, CURRENT_TERMINAL, TTY_NAME, TTY_TYPE): New macros.
1147
1148 * term.c (tty_list): New variable.
1149 (OUTPUT, OUTPUT1, OUTPUTL, OUTPUT_IF, OUTPUT1_IF)
1150 (set_terminal_modes, reset_terminal_modes): Add tty parameter.
1151 (cursor_to, raw_cursor_to): Update cmgoto() calls.
1152 (clear_end_of_line, write_glyphs): Add indirection to terminal
1153 output, update cmcheckmagic() calls.
1154 (get_named_tty, term_dummy_init): New functions.
1155 (term_init): Add name parameter, add tty_output return value.
1156 Change algorithm to update tty_list. Call init_sys_modes() to
1157 set up tty mode on the newly opened terminal device.
1158 (get_current_tty): New function, intended for debugging.
1159
1160 * termhooks.h (termscript): Remove.
1161
1162 * window.c (init_window_once): Call make_terminal_frame with two
1163 zero parameters.
1164
1165 * dispextern.h (set_terminal_modes, reset_terminal_modes): Add
1166 tty parameter.
1167 (term_init): Add name parameter (the filename of the terminal
1168 device). Add return value (struct tty_output).
1169
1170 * dispnew.c: Replace CURTTY() with local variables throughout the
1171 file (where applicable).
1172 (termscript): Move to struct tty_output.
1173 (terminal_type): Remove.
1174
1175 * emacs.c (main): Don't call init_sys_modes(), the new term_init()
1176 already does that during init_display().
1177 (shut_down_emacs): Call reset_all_sys_modes() instead of
1178 reset_sys_modes().
1179
1180 * frame.c (Qtty, Qtty_type): New variables.
1181 (syms_of_frame): Initialize them.
1182 (tty_display): Remove.
1183 (make_terminal_frame): New parameters (tty filename and type).
1184 Initialize output_data.tty field instead of output_data.x. Use
1185 term_init() to find the right tty_output. (Use term_dummy_init()
1186 during bootstrap.)
1187 (Fmake_terminal_frame): Get device filename and type from frame
1188 parameters.
1189
1190 * frame.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): Do the
1191 right thing if the frame is a tty.
1192 (struct frame): New member in output_data: tty.
1193 (make_terminal_frame): Update of prototype.
1194
1195 * keyboard.c (Fset_input_mode): Call reset_all_sys_modes(), not
1196 reset_sys_modes(). Ditto with init_sys_modes().
1197
1198 * lisp.h (tty_output): Add forward declaration.
1199 (init_sys_modes, reset_sys_modes): Update prototype.
1200 (init_all_sys_modes, reset_all_sys_modes): New prototypes.
1201
1202 * scroll.c: Replace CURTTY() with local variables throughout the
1203 file (where applicable).
1204
1205 * sysdep.c (old_tty, term_initted, old_tty_valid): Move to struct
1206 tty_output.
1207 (init_all_sys_modes): New function.
1208 (init_sys_modes): Add tty_output parameter. Use it.
1209 (reset_all_sys_modes): New function.
1210 (reset_sys_modes): Add tty_output parameter. Use it.
1211
1212 * Makefile.in: Update dependencies.
1213
1214 2003-12-24 Karoly Lorentey <lorentey@elte.hu>
1215
1216 * keyboard.c (echo_dash): Do nothing if there already is a dash at
1217 the end of the echo string.
1218
1219 * termchar.h (struct terminal): New struct.
1220 (must_write_spaces, min_padding_speed, line_ins_del_ok)
1221 (char_ins_del_ok, scroll_region_ok, scroll_region_cost)
1222 (memory_below_frame, fast_clear_end_of_line): Move to struct terminal.
1223 (min_padding_speed, dont_calculate_costs): Comment out (unused).
1224
1225 * term.c (set_terminal_window, ins_del_lines, calculate_costs, term_init)
1226 * dispnew.c (line_hash_code, line_draw_cost)
1227 (direct_output_for_insert, update_frame_1, scrolling, update_frame_line)
1228 * scroll.c (calculate_scrolling, calculate_direct_scrolling)
1229 (scrolling_1, scroll_cost)
1230 * sysdep.c (hft_init)
1231 * xdisp.c (try_window_id)
1232 * xterm.c (x_initialize): Use the accessor macros for terminal
1233 characteristics.
1234
1235
1236 ;; Local Variables:
1237 ;; coding: iso-2022-7bit
1238 ;; add-log-time-zone-rule: t
1239 ;; End:
1240
1241 Copyright (C) 2007 Free Software Foundation, Inc.
1242
1243 This file is part of GNU Emacs.
1244
1245 GNU Emacs is free software; you can redistribute it and/or modify
1246 it under the terms of the GNU General Public License as published by
1247 the Free Software Foundation; either version 2, or (at your option)
1248 any later version.
1249
1250 GNU Emacs is distributed in the hope that it will be useful,
1251 but WITHOUT ANY WARRANTY; without even the implied warranty of
1252 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1253 GNU General Public License for more details.
1254
1255 You should have received a copy of the GNU General Public License
1256 along with GNU Emacs; see the file COPYING. If not, write to the
1257 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
1258 Boston, MA 02110-1301, USA.
1259
1260 ;;; arch-tag: 4015a0e0-033e-11dc-807c-00114368b55b