Mercurial > emacs
annotate src/sheap.c @ 83431:76396de7f50a
Rename `struct device' to `struct terminal'. Rename some terminal-related functions similarly.
* src/termhooks.h (struct device): Rename to `terminal'. Rename member
`next_device' to `next_terminal'.
(device_list): Rename to `terminal_list'.
(FRAME_DEVICE): Rename to `FRAME_TERMINAL'.
(DEVICE_TERMINAL_CODING): Rename to `TERMINAL_TERMINAL_CODING'.
(TERMINAL_KEYBOARD_CODING): Rename to `TERMINAL_KEYBOARD_CODING'.
(DEVICE_ACTIVE_P): Rename to `TERMINAL_ACTIVE_P'.
Update declarations and macro definitions.
* src/termchar.h (tty_display_info): Rename member `device' to `terminal'.
(FRAME_TTY): Update for renames.
* src/xterm.h (x_display_info): Rename member `device' to `terminal'.
* src/frame.h (frame): Rename `device' member to `terminal'.
(FRAME_KBOARD, FRAME_LIVE_P, Qdevice, Qdisplay_live_p):
Update for renames.
* src/lisp.h (set_process_environment): Rename to `set_global_environment'.
(device): Rename to `terminal'.
* src/dispextern.h: Update declarations and macro definitions.
* src/terminal.c (device_list): Rename to `terminal_list'.
(next_device_id): Rename to `next_terminal_id'.
(initial_device): Rename to `initial_terminal'.
(get_device): Rename to `get_terminal'.
(create_device): Rename to `create_terminal'.
(mark_devices): Rename to `mark_terminals'.
(delete_device): Rename to `delete_terminal'.
(Fdelete_display): Rename to `Fdelete_terminal'.
(Fframe_terminal): Move here from frame.c.
(Fdisplay_live_p): Rename to `Fterminal_live_p'.
(Fdisplay_list): Rename to `Fterminal_list'.
(Fdisplay_name): Rename to `Fterminal_name'.
(init_initial_device): Rename to `init_initial_terminal'.
(delete_initial_device): Rename to `delete_initial_terminal'.
(ring_bell, update_begin, update_end, set_terminal_window)
(cursor_to, raw_cursor_to, clear_to_end, clear_frame)
(clear_end_of_line, write_glyphs, insert_glyphs, delete_glyphs)
(ins_del_lines, get_terminal_param, store_terminal_param)
(Fterminal_parameters, Fterminal_parameter)
(Fmodify_terminal_parameters, Fset_terminal_parameter)
(syms_of_terminal): Update for renames.
* src/term.c (get_tty_device): Rename to `get_tty_terminal'. Update.
(Fdisplay_tty_type): Rename to `Ftty_type'.
(Fdisplay_controlling_tty_p): Rename to `Fcontrolling_tty_p'.
(delete_tty, tty_set_terminal_modes, tty_reset_terminal_modes)
(Ftty_display_color_p, Ftty_display_color_cells, get_named_tty)
(Ftty_no_underline, Fsuspend_tty, Fresume_tty, create_tty_output)
(init_tty, maybe_fatal, delete_tty, syms_of_term): Update for rename.
* src/frame.c (Qdevice): Rename to `Qterminal'.
(Qdisplay_live_p): Rename to `Qterminal_live_p'.
(terminal_frame_count): Rename to `tty_frame_count'.
(Fframe_display): Move to terminal.c, rename to `Fframe_terminal'.
(make_frame_without_minibuffer, make_initial_frame)
(make_terminal_frame, Fmodify_frame_parameters)
(do_switch_frame, Fdelete_frame, Fmouse_position)
(Fmouse_pixel_position, Fraise_frame, Flower_frame)
(Fredirect_frame_focus, set_term_frame_name, syms_of_frame):
Update for renames.
* src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
(set_vertical_scroll_bar, redisplay_window, check_x_display_info)
(x_set_scroll_bar_foreground, x_set_scroll_bar_background)
(Fx_create_frame, Fxw_display_color_p, Fx_display_grayscale_p)
(Fx_display_pixel_width, Fx_display_pixel_height)
(Fx_display_planes, Fx_display_color_cells)
(Fx_server_max_request_size, Fx_server_vendor, Fx_server_version)
(Fx_display_screens, Fx_display_mm_height, Fx_display_mm_width)
(Fx_display_backing_store, Fx_display_visual_class)
(Fx_display_save_under, Fx_close_connection, x_create_tip_frame):
Update for renames.
* xterm.c (handle_one_xevent): Initialize `f' to NULL.
(x_delete_device): Rename to `x_delete_terminal'.
(x_create_device): Rename to `x_create_terminal'.
(XTset_terminal_modes, XTreset_terminal_modes)
(XTread_socket, x_connection_closed, x_term_init)
(x_term_init, x_delete_display): Update for renames.
* src/dispnew.c (Fredraw_frame, Fsend_string_to_terminal)
(Fsend_string_to_terminal, init_display): Update for renames.
* src/keyboard.c (push_frame_kboard, pop_kboard, pop_kboard)
(kbd_buffer_get_event, read_avail_input, tty_read_avail_input)
(interrupt_signal, Fset_output_flow_control)
(Fset_input_meta_mode, Fset_quit_char, delete_kboard)
(syms_of_keyboard): Update for renames.
* src/alloc.c (mark_devices): Update declaration.
(Fgarbage_collect): Update for renames.
* src/coding.c (Fset_terminal_coding_system_internal)
(Fterminal_coding_system4)
(Fset_keyboard_coding_system_internal)
(Fkeyboard_coding_system): Update for renames.
* src/data.c (Fterminal_local_value, Fset_terminal_local_value):
Update for renames.
* src/minibuf.c (read_minibuf): Update for renames.
* src/sysdep.c (init_sys_modes, reset_sys_modes): Update for renames.
* xselect.c (x_handle_selection_clear): Update for renames.
* lisp/files.el (save-buffers-kill-display): Rename to `save-buffers-kill-terminal'.
(save-buffers-kill-terminal, ctl-x-map): Update for renames.
* frame.el (make-frame): Rename 'device frame parameter to 'terminal. Update.
(frames-on-display-list, framep-on-display, suspend-frame): Update for renames.
(selected-display): Rename to `selected-terminal'.
* server.el (server-save-buffers-kill-display): Rename to
`server-save-buffers-kill-terminal'.
(server-delete-client, server-handle-delete-frame)
(server-handle-suspend-tty, server-process-filter)
(server-switch-buffer): Update for renames.
* startup.el (normal-splash-screen, normal-splash-screen): Update for renames.
* talk.el (talk): Update for renames.
* termdev.el (terminal-id): Update for renames.
* xt-mouse.el (turn-on-xterm-mouse-tracking-on-terminal)
(turn-off-xterm-mouse-tracking-on-terminal)
(xterm-mouse-handle-delete-frame): Update for renames.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-471
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Thu, 29 Dec 2005 18:20:26 +0000 |
parents | d74deb025f5a |
children | 3bd95f4f2941 7beb78bc1f8e |
rev | line source |
---|---|
66663
d74deb025f5a
(STATIC_HEAP_SIZE): Increment both definitions.
Richard M. Stallman <rms@gnu.org>
parents:
64770
diff
changeset
|
1 /* simulate `sbrk' with an array in .bss, for `unexec' support for Cygwin; |
d74deb025f5a
(STATIC_HEAP_SIZE): Increment both definitions.
Richard M. Stallman <rms@gnu.org>
parents:
64770
diff
changeset
|
2 complete rewrite of xemacs Cygwin `unexec' code |
54844 | 3 |
64770
a0d1312ede66
Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
64084
diff
changeset
|
4 Copyright (C) 2004, 2005 Free Software Foundation, Inc. |
54844 | 5 |
6 This file is part of GNU Emacs. | |
7 | |
8 GNU Emacs is free software; you can redistribute it and/or modify | |
9 it under the terms of the GNU General Public License as published by | |
10 the Free Software Foundation; either version 2, or (at your option) | |
11 any later version. | |
12 | |
13 GNU Emacs is distributed in the hope that it will be useful, | |
14 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
16 GNU General Public License for more details. | |
17 | |
18 You should have received a copy of the GNU General Public License | |
19 along with GNU Emacs; see the file COPYING. If not, write to | |
64084 | 20 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, |
21 Boston, MA 02110-1301, USA. */ | |
54844 | 22 |
23 #include <config.h> | |
24 #include <stdio.h> | |
25 #include "lisp.h" | |
26 | |
27 #include <unistd.h> | |
28 | |
29 #ifdef HAVE_X_WINDOWS | |
66663
d74deb025f5a
(STATIC_HEAP_SIZE): Increment both definitions.
Richard M. Stallman <rms@gnu.org>
parents:
64770
diff
changeset
|
30 #define STATIC_HEAP_SIZE (8 * 1024 * 1024) |
54844 | 31 #else |
66663
d74deb025f5a
(STATIC_HEAP_SIZE): Increment both definitions.
Richard M. Stallman <rms@gnu.org>
parents:
64770
diff
changeset
|
32 #define STATIC_HEAP_SIZE (8 * 1024 * 1024) |
54844 | 33 #endif |
34 | |
35 int debug_sheap = 0; | |
36 | |
37 #define BLOCKSIZE 4096 | |
38 | |
39 char bss_sbrk_buffer[STATIC_HEAP_SIZE]; | |
40 char *bss_sbrk_ptr; | |
41 int bss_sbrk_did_unexec; | |
42 | |
43 void * | |
44 bss_sbrk (ptrdiff_t request_size) | |
45 { | |
46 if (!bss_sbrk_ptr) | |
47 { | |
48 bss_sbrk_ptr = bss_sbrk_buffer; | |
49 #ifdef CYGWIN | |
50 sbrk (BLOCKSIZE); /* force space for fork to work */ | |
51 #endif | |
52 } | |
53 | |
54 if (!(int) request_size) | |
55 { | |
56 return (bss_sbrk_ptr); | |
57 } | |
58 else if (bss_sbrk_ptr + (int) request_size < bss_sbrk_buffer) | |
59 { | |
60 printf | |
61 ("attempt to free too much: avail %d used %d failed request %d\n", | |
62 STATIC_HEAP_SIZE, bss_sbrk_ptr - bss_sbrk_buffer, | |
63 (int) request_size); | |
64 exit (-1); | |
65 return 0; | |
66 } | |
67 else if (bss_sbrk_ptr + (int) request_size > | |
68 bss_sbrk_buffer + STATIC_HEAP_SIZE) | |
69 { | |
70 printf ("static heap exhausted: avail %d used %d failed request %d\n", | |
71 STATIC_HEAP_SIZE, | |
72 bss_sbrk_ptr - bss_sbrk_buffer, (int) request_size); | |
73 exit (-1); | |
74 return 0; | |
75 } | |
76 else if ((int) request_size < 0) | |
77 { | |
78 bss_sbrk_ptr += (int) request_size; | |
79 if (debug_sheap) | |
80 printf ("freed size %d\n", request_size); | |
81 return bss_sbrk_ptr; | |
82 } | |
83 else | |
84 { | |
85 char *ret = bss_sbrk_ptr; | |
86 if (debug_sheap) | |
87 printf ("allocated 0x%08x size %d\n", ret, request_size); | |
88 bss_sbrk_ptr += (int) request_size; | |
89 return ret; | |
90 } | |
91 } | |
92 | |
93 void | |
94 report_sheap_usage (int die_if_pure_storage_exceeded) | |
95 { | |
96 char buf[200]; | |
97 sprintf (buf, "Static heap usage: %d of %d bytes", | |
98 bss_sbrk_ptr - bss_sbrk_buffer, STATIC_HEAP_SIZE); | |
99 message ("%s", buf); | |
100 } | |
54858
44a3fff23885
Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents:
54844
diff
changeset
|
101 |
44a3fff23885
Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents:
54844
diff
changeset
|
102 /* arch-tag: 1bc386e8-71c2-4da4-b8b5-c1674a9cf926 |
44a3fff23885
Changes from arch/CVS synchronization
Miles Bader <miles@gnu.org>
parents:
54844
diff
changeset
|
103 (do not change this comment) */ |