1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-04 22:50:59 -08:00
Commit graph

48974 commits

Author SHA1 Message Date
Karoly Lorentey
0221d2bfcb Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-17
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-18
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-45
2004-01-05 05:58:50 +00:00
Karoly Lorentey
428a555ec5 Converted display hooks to be display-local. Plus many bugfixes.
lib-src/emacsclient.c (window_change_signal): Renamed to pass_signal_to_emacs.
(init_signal): Pass SIGINT and SIGQUIT to the emacs process.

lisp/faces.el (face-valid-attribute-values): Use the window-system
function, not the variable.
(read-face-attribute, face-spec-set-match-display, frame-set-background-mode)
(face-set-after-frame-default): Ditto.

lisp/frame.el (make-frame-on-tty): Added interactive declaration
(suggested by Robert J. Chassell).  Use tty-create-frame-with-faces,
not make-terminal-frame.

src/termhooks.h (struct display_method): Renamed to display for brevity.
(struct display): Added all display hook variables as members of this structure.
Added next_display, reference_count, type and display_info components.
(FRAME_MUST_WRITE_SPACES, FRAME_FAST_CLEAR_END_OF_LINE, FRAME_LINE_INS_DEL_OK)
(FRAME_CHAR_INS_DEL_OK, FRAME_SCROLL_REGION_OK, FRAME_SCROLL_REGION_COST)
(FRAME_MEMORY_BELOW_FRAME, FRAME_RIF): Updated for struct display.
(FRAME_DISPLAY): New macro.
(create_display, delete_display): New prototypes.

src/frame.h (struct frame): Added `display' member, removed display_method.
(FRAME_LIVE_P): Look at f->display, not f->output_data.

src/termchar.h (struct tty_display_info): Removed display_method component.
(FRAME_TTY): Use the display structure, not output_data.

src/term.c (display_list): New variable.
(cursor_to_hook, raw_cursor_to_hook, clear_to_end_hook, clear_frame_hook)
(clear_end_of_line_hook, ins_del_lines_hook, delete_glyphs_hook)
(ring_bell_hook, reset_terminal_modes_hook, set_terminal_modes_hook)
(update_begin_hook, update_end_hook, set_terminal_window_hook)
(insert_glyphs_hook, write_glyphs_hook, delete_glyphs_hoo, read_socket_hook)
(frame_up_to_date_hook, mouse_position_hook, frame_rehighlight_hook)
(frame_raise_lower_hook, set_vertical_scroll_bar_hook, condemn_scroll_bars_hook)
(redeem_scroll_bar_hook, judge_scroll_bars_hook): Moved to struct display.
(tty_display_method_template): Removed.
(syms_of_term): Don't initialize tty_display_method_template.
(ring_bell, set_terminal_modes, reset_terminal_modes, 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): Access display hooks through the frame pointer.
(Ftty_display_color_p): Use the frame given as a parameter, or else return nil.
(Ftty_display_color_cells): Ditto.
(get_named_tty): Renamed to get_named_tty_display, changed return type to struct display.
(term_dummy_init): Renamed to initial_term_init.  Create and return an initial display.
(term_init): Initialize a new struct display and return a pointer to
it instead of tty_display_info.  Removed frame initialization kludge.
(Fdelete_tty): Updated for struct display.
(delete_tty): The parameter type is now struct display, not tty_display_info.
Delete the display, too.
(create_tty_output): New function for creating tty_output structures.
(delete_tty_output): New function for deleting tty_output structures.
(create_display): New function for creating and registering display structures.
(delete_display): New function for deleting and unregistering display structures.

src/dispextern.h: Updated prototypes.

src/dispnew.c:  Include frame.h before termhooks.h.
(init_display): Updated term_init call to new signature.

src/emacs.c: Include frame.h (for termhooks.h).
src/keymap.c: Ditto.
src/lread.c: Ditto.
src/xsmfns.c: Ditto.

src/process.c: Include frame.h before termhooks.h.

src/frame.c (Fwindow_system): New function.
(syms_of_frame): Initialize it.
(make_terminal_frame): Open the terminal device before creating the new frame.
Disable scrollbars here, term_init cannot do that anymore.
(Fdelete_frame): Use the new delete_frame_hook, don't do display-specific
frame deletion here.  Ditto for delete_display_hook.
(Fmouse_position, Fmouse_pixel_position, Fraise_frame, Flower_frame)
(Fredirect_frame_focus): Access display hooks through the frame pointer.

src/keyboard.c: Include frame.h before termhooks.h.
(start_polling, input_polling_used, stop_polling, gobble_input): Ignore read_socket_hook.
(kbd_buffer_get_event, Fset_input_mode): Access display hooks through the frame pointer.
(read_avail_input): Loop through all display devices for and call all read_socket_hook functions.  Check ttys even if read_socket_hook returned an error.

src/sysdep.c (discard_tty_input): Ignore read_socket_hook.
(stuff_char): Don't do anything if the current frame is not on a termcap display.
(request_sigio, unrequest_sigio): Ignore read_socket_hook.
(init_sys_modes): Always call narrow_foreground_group.  Set up terminal modes and sigio even under X.

src/xdisp.c (message2_nolog, message3_nolog, redisplay_internal)
(set_vertical_scroll_bar, redisplay_window): Access display hooks through the frame pointer.
(echo_area_display): Don't be afraid of termcap frames during an X+tty combo session.

src/xfaces.c: Include termhooks.h.
(Ftty_supports_face_attributes_p): Use the given frame, not selected_frame.

src/xfns.c (x_set_scroll_bar_foreground, x_set_scroll_bar_background): Access display hooks through the frame pointer.
(Fx_create_frame, x_create_tip_frame): Initialize the frame's display structure.
src/xmenu.c: Include termhooks.h after frame.h.

src/xselect.c (x_own_selection, some_frame_on_display, x_get_foreign_selection)
(Fx_disown_selection_internal, Fx_get_cut_buffer_internal)
(Fx_store_cut_buffer_internal, Fx_rotate_cut_buffers_internal): Don't do anything
if the selected frame is not an X frame.

src/xterm.c (x_display_method): Removed.
(x_create_frame_display, x_delete_frame_display): New functions for handling struct display objects.
(x_term_init): Set up a new struct display object, too.
(x_delete_display): Delete the struct display corresponding to the X display.
(x_initialize): Moved hook initialization to x_create_frame_display.

src/xterm.h (x_display_method): Removed.
(struct x_display_info): Added frame_display component.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-44
2004-01-05 05:54:35 +00:00
Karl Berry
17b337762f allow % and # as well as ; in copyright notice 2004-01-04 23:00:06 +00:00
Andreas Schwab
e822882420 (main): Fix socket name when using another user. 2004-01-04 16:42:06 +00:00
Per Abrahamsen
551150794a Restored ChangeLog 2004-01-04 16:05:15 +00:00
Per Abrahamsen
125f18207e Fix dec-8 bug 2004-01-04 15:11:59 +00:00
Richard M. Stallman
b34e9a285f (compile-internal): Use point, not point-min, for set-window-point. 2004-01-03 22:38:10 +00:00
Richard M. Stallman
e995d23a39 (decode_any_window): New function.
(Fwindow_height, Fwindow_width, Fwindow_edges)
(Fwindow_pixel_edges, Fwindow_inside_edges)
(Fwindow_inside_pixel_edges): Use decode_any_window.
2004-01-03 21:17:51 +00:00
Richard M. Stallman
972c0c4936 *** empty log message *** 2004-01-03 21:16:42 +00:00
Richard M. Stallman
95c3bdddc4 (Frames and Windows): Delete frame-root-window. 2004-01-03 21:16:15 +00:00
Richard M. Stallman
21749f14c7 (latex-find-indent): Avoid error at end of buf. 2004-01-03 21:15:28 +00:00
Richard M. Stallman
38068db2b0 (lm-section-end): require outline. 2004-01-03 21:14:11 +00:00
Richard M. Stallman
d03aece353 (speedbar-edit-line): Change regexp to position
the cursor on the first character of this line's button.
2004-01-03 21:12:08 +00:00
Richard M. Stallman
05218277b6 (grep-mode-map): Don't remap next-line, previous-line. 2004-01-03 21:11:43 +00:00
Karoly Lorentey
f02480ab7b Fix more SEGV cases in frame.c
src/frame.c (Fmouse_pixel_position, Fraise_frame, Flower_frame)
(Fredirect_frame_focus): Don't do anything if the current frame
is a termcap frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-43
2004-01-03 19:06:35 +00:00
Luc Teirlinck
756bb7366f (functionp): Doc fix. 2004-01-03 17:17:21 +00:00
Luc Teirlinck
dbcd463f79 *** empty log message *** 2004-01-03 17:15:46 +00:00
Karoly Lorentey
6121cb80f0 Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-16
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-42
2004-01-03 16:53:54 +00:00
Luc Teirlinck
a0e9164282 Various small changes in addition to the following.
(What Is a Function): `functionp' returns nil for macros.  Clarify
behavior of this and following functions for symbol arguments.
(Function Documentation): Add `\' in front of (fn @var{arglist}) and
explain why.
(Defining Functions): Mention DOCSTRING argument to `defalias'.  Add anchor.
(Mapping Functions): Add anchor.  Unquote nil in mapcar* example.
2004-01-03 16:52:43 +00:00
Karoly Lorentey
f0e2c28473 Add "multi-tty" to emacs-version output.
lisp/version.el (emacs-version): Add multi-tty to output if (featurep
'multi-tty).  Suggested by Romain Francoise <romain@orebokech.com>.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-41
2004-01-03 16:51:56 +00:00
Karoly Lorentey
fa013bcef8 Fix mouse-position for tty+X combo sessions.
frame.c (Fmouse_position): Don't call mouse_position_hook if the frame
is a termcap frame.  (Reported by Romain Francoise <romain@orebokech.com>.)

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-40
2004-01-03 16:49:09 +00:00
Luc Teirlinck
139c502d64 (Creating Symbols): Add anchor. 2004-01-03 16:47:05 +00:00
Luc Teirlinck
73036a689f (Accessing Documentation): Add anchor. 2004-01-03 16:45:33 +00:00
Luc Teirlinck
fb77c315e3 (Hash Access): Add anchor. 2004-01-03 16:44:03 +00:00
Luc Teirlinck
c30ea73f26 (Function Indirection): Add anchor. 2004-01-03 16:39:33 +00:00
Eli Zaretskii
1550204223 * progmodes/idlwave.el (idlwave-make-tags):
* textmodes/flyspell.el (flyspell-large-region):.
* progmodes/make-mode.el (makefile-query-by-make-minus-q):
* emulation/viper-util.el (viper-glob-unix-files):
* emacs-lisp/shadow.el (shadow-same-file-or-nonexistent):
* man.el (Man-init-defvars):
* jka-compr.el (jka-compr-call-process):
* files.el (get-free-disk-space,insert-directory):
* ediff-ptch.el (ediff-test-patch-utility):
* ediff-diff.el (ediff-test-utility):
* dired-aux.el (dired-check-process):
* mail/sendmail.el (sendmail-send-it): Don't use = or zerop to
test the return value of call-process, because it can be a string.
2004-01-03 12:12:01 +00:00
Karoly Lorentey
20274f2b75 Fixed typo in talk.el (again).
lisp/talk.el (talk): Fixed byte compiler warning.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-39
2004-01-03 09:19:46 +00:00
Karoly Lorentey
26f102d7be Fixed typo in talk.el.
lisp/talk.el (talk-handle-delete-tty): Fixed typo.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-38
2004-01-03 09:16:51 +00:00
Karoly Lorentey
170867326e Added multi-tty support for talk.el.
lisp/talk.el: Extended for multi-tty support.
(talk, talk-add-tty-frame, talk-handle-delete-tty): New functions.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-37
2004-01-03 09:08:15 +00:00
Karoly Lorentey
72d785653d Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-15
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-36
2004-01-03 08:33:31 +00:00
Karoly Lorentey
4d553a13ab Portability fixes (now it compiles & runs fine on Solaris).
lib-src/emacsclient.c: Removed tty proxy kludge.  Emacs should just
use the same terminal as emacsclient.
(ec_get_tty, ec_set_tty, master, pty_name, old_tty, tty, old_tty_valid)
(tty_erase_char, quit_char, flow_control, meta_key, _sobuf, init_tty)
(window_change, reset_tty, init_pty, copy_from_to)
(pty_conversation): Removed.
(window_change_signal): Just forward the signal to Emacs, don't do
anything else.
(init_signals): Don't set handlers for SIGHUP & SIGINT.
(strprefix): New function.
(main): Don't touch the terminal, simply tell its name to Emacs.

lisp/server.el (server-frames): Changed name and semantics to server-ttys.
(server-tty-live-p): New function.
(server-sentinel): Delete the whole tty, not just the frame.
(server-handle-delete-frame): Removed.
(server-handle-delete-tty): New function. Close the client connection if
the tty is deleted.
(server-start): Clean up server-ttys, not server-frames.  Set up
delete-tty-after-functions.
(server-process-filter): Set up server-ttys, not server-frames.
Updated protocol for sending our pid to emacsclient.
(server-buffer-done): Don't delete the client process directly, delete
the tty instead, and rely on the delete-tty hook to close the
connection.  Otherwise the terminal could be left in a bad state.

src/cm.c (cmputc): Don't abort on write errors.

src/indent.c: #include <stdio.h>, for termchar.h.
src/window.c: Ditto.
src/xfaces.c: Ditto.

src/sysdep.c (init_sigio, reset_sigio, request_sigio)[!SIGIO]
(unrequest_sigio)[!SIGIO]: If SIGIO is not supported, don't do
anything. (For Solaris.)
(init_sys_modes): Moved tty_set_terminal_modes call back to here,
disable window system check.
(reset_sys_modes): Reset the terminal even if X is running.

src/term.c (Vdelete_tty_after_functions): New variable.
(syms_of_term): Initialize it.
(Fdelete_tty): Updated docs.
(delete_tty): Run delete-tty-after-functions.
(term_init): Removed tty_set_terminal_modes call.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-35
2004-01-03 08:31:14 +00:00
Andreas Schwab
181e6a61ec (emacs_options, x_initialized, same_x_server): Remove
unused (and duplicated) definitions.
2004-01-02 22:17:42 +00:00
Stephen Eglen
1fc36e9eaa Update URL for ESS. 2004-01-02 14:04:43 +00:00
Karoly Lorentey
b28c910d1f Fix longopts option name for --tty.
lib-src/emacsclient.c (longopts): Fix --tty and -t.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-34
2004-01-02 13:03:12 +00:00
Karoly Lorentey
eb9332fa2e Merged in changes from CVS HEAD
Patches applied:

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-10
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-11
   Update from CVS

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-12
   Add section on button package to lisp reference manual

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-13
   Minor tweaks to Buttons section in lispref/display.texi

 * miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-14
   Update from CVS


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-33
2004-01-02 04:37:46 +00:00
Karoly Lorentey
fa971ac34d Got rid of the rif (window-based redisplay interface) global variable.
src/dispextern.h (PRODUCE_GLYPHS): Use the rif in IT->f, not the global rif.
(rif): Removed.

src/dispnew.c (rif): Removed.
(direct_output_for_insert, direct_output_forward_char, update_frame)
(redraw_overlapped_rows, redraw_overlapping_rows, update_window)
(update_marginal_area, update_text_area, update_window_line)
(set_window_cursor_after_update, scrolling_window): Use the rif of the
current frame, not the global rif.

src/fontset.c: #include termhooks.h, for FRAME_RIF.
(Finternal_char_font): Use the rif of the current frame.

src/frame.c (x_set_frame_parameters): Use the rif of the current frame.

src/keyboard.c (detect_input_pending_run_timers): Use the rif of the
current frame.

src/minibuf.c: #include termhooks.h, for FRAME_RIF.
(read_minibuf): Use the rif of the current frame.

src/term.c (update_begin): Removed rif update hack.

src/termhooks.h (FRAME_RIF): New macro.

src/xdisp.c (init_iterator, expose_frame): Removed rif update hack.
(echo_area_display, x_cursor_to, draw_fringe_bitmap)
(try_window_reusing_current_matrix, try_window_id)
(get_glyph_face_and_encoding, x_get_glyph_overhangs)
(get_char_face_and_encoding, compute_overhangs_and_x, draw_glyphs)
(x_produce_glyphs, x_insert_glyphs, x_clear_end_of_line)
(erase_phys_cursor, display_and_set_cursor, show_mouse_face)
(define_frame_cursor1, x_draw_vertical_border): Use the rif of the
current frame.

src/xfns.c (Fx_create_frame): Removed rif update hack.
src/xterm.c (frame_highlight, frame_unhighlight): Ditto.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-32
2004-01-02 04:22:23 +00:00
Karoly Lorentey
7b00d185eb MULTI_KBOARD support for ttys. Input-related bugfixes for X+tty sessions.
lib-src/emacsclient.c (pty_conversation): Fix errno check for read from fileno(in).

src/config.in: Unconditionally define MULTI_KBOARD.

src/frame.c (make_terminal_frame): Initialize f->kboard.

src/keyboard.c (cmd_error_internal): Don't kill Emacs if a Quit was
pressed on the tty of a X+tty session.
(read_avail_input): Initialize nread to zero.  Abort if there is no
tty after a termcap read.
(interrupt_signal)[USG]: Always reset signal handler.
(init_keyboard): Always set signal handler for SIGINT/SIGQUIT if
noninteractive.

src/term.c (term_dummy_init): Initialize kboard to the initial_kboard.
(term_init): Free component structures of the initial tty. Clear xmalloced structures.
Moved rif initialization to syms_of_term.
(term_init)[MULTI_KBOARD]: Initialize tty->kboard.
(delete_tty)[MULTI_KBOARD]: Delete the keyboard.
(syms_of_term): Initialize tty_display_method_template.

src/termchar.h (tty_output)[MULTI_KBOARD]: Added kboard member.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-31
2004-01-02 02:54:17 +00:00
Karoly Lorentey
daf0170133 Fixed X support, preliminary support for X-tty combo sessions.
lib-src/emacsclient.c (copy_from_to, pty_conversation): Re-added SIGIO
hack.  (Sigh.)

lisp/frame.el (make-frame-on-tty): Use make-terminal-frame, not
make-frame.

src/dispnew.c (line_hash_code, line_draw_cost): Updated to use
the new display_method parameters.
(Fredraw_frame): fflush the tty only if f is a termcap frame.
(direct_output_for_insert): Updated to use the new display_method
parameters. fflush the tty only if f is a termcap frame.
(direct_output_forward_char, update_frame_1, scrolling): Ditto.
(update_frame_line, Fding, bitch_at_user): Ditto.
(Fsend_string_to_terminal): Fail if current frame is not on a tty.
(init_display): Frame size change is safe here.


src/frame.c (Vterminal_frame): Restored previously deleted variable.
(syms_of_frame): Initialize it.
(make_terminal_frame): Copy the frame's display_method from tty_display_info.
(Fmake_terminal_frame): Enable simultaneous X and tty frames (buggy).
(Fredirect_frame_focus): Don't call frame_rehighlight_hook if frame
is on a termcap device.

src/frame.h (struct frame): Renamed display to display_method.
(Vterminal_frame): Re-added declaration.

src/keyboard.c (flow_control): Moved to struct tty_display_info.
(read_avail_input): Check ttys even if there is a read_socket_hook.
(Fset_input_mode): Call reset_sys_modes/init_sys_modes and set
flow_control or meta_key only when the frame is a termcap frame.
(Fcurrent_input_mode): Handle flow_control and meta_key right on
non-termcap frames.

src/scroll.c (calculate_scrolling, calculate_direct_scrolling): Update
to use the new display_method parameters.
(scrolling_1, scroll_cost): Ditto.

src/sysdep.c (init_sys_modes, reset_sys_modes): Always set the
terminal parameters if tty_out->input is not stdin.  Updated to the
new location of flow_control.
(hft_init): Moved HFT init code to term_init, as it needs the frame.

src/term.c (tty_display_method_template): New variable.
(update_begin): Added rif hack.
(set_terminal_window, ins_del_lines, term_init): Updated to use the
new display_method parameters.
(insert_glyphs, ins_del_lines): Only call insert_glyphs_hook if the
current frame is not on a tty.
(calculate_costs): Don't calculate costs if not on a tty.
(term_dummy_init): Fixed tty->output initialization. Preallocate Wcm
and display_method.
(term_init): Allocate & initialize display_method.  Blindly fixed
WINDOWSNT-specific parts.  Added HFT-specific initialization
exception from hft_init.
(delete_tty): Only delete termcap frames.  Free() the display_method.

src/termchar.h (struct tty_display_info): Moved high-level terminal
characteristics to struct display_method.  Added flow_control and
display_method members.

src/termhooks.h (struct display_method): New struct (renamed from
struct device).  Added accessor macros.

src/window.c (init_window_once): Initialize Vterminal_frame.

src/xdisp.c (init_iterator, expose_frame): Added rif hack.
(try_window_id): Updated to use the new display_method parameters.

src/xfaces.c (realize_basic_faces): Don't call
x_update_menu_appearance if the frame is a tty frame.

src/xfns.c (Fx_create_frame): Added rif hack.  Initialize
display_method.
(x_create_tip_frame): Initialize display_method.

src/xterm.c (x_display_method): New variable.
(x_flush, x_frame_of_widget, XTmouse_position): Ignore non-X frames.
(x_window_to_scroll_bar, x_window_to_menu_bar): Ditto.
(xim_destroy_callback, xim_instantiate_callback): Ditto.
(frame_highlight, frame_unhighlight): Added rif hack.
(x_initialize): Don't initialize rif.  Do initialize x_display_method.

src/xterm.h (x_display_method): New declaration.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-30
2004-01-02 01:15:26 +00:00
Kim F. Storm
31e0fbdd43 *** empty log message *** 2004-01-01 23:44:00 +00:00
Kim F. Storm
2d942bfadf (ADAPTIVE_READ_BUFFERING): New conditional.
(READ_OUTPUT_DELAY_INCREMENT, READ_OUTPUT_DELAY_MAX)
(READ_OUTPUT_DELAY_MAX_MAX): New constants.
(process_output_delay_count, process_output_skip): New vars.
(Vprocess_adaptive_read_buffering): New variable.
(make_process): Initialize adaptive read buffering members.
(Fstart_process): Set adaptive_read_buffering member.
(deactivate_process): Cleanup adaptive read buffering.
(wait_reading_process_input): Temporarily omit delayed
subprocesses from the set of file descriptors to read from;
adjust the select timeout if we skipped any subprocesses.
(read_process_output): Increase adaptive read buffering delay if
we read less than a full buffer; reduce delay when we read a
full buffer.
(send_process): Simplify using local Lisp_Process var.
Reset adaptive read buffering delay after write.
(init_process): Initialize process_output_delay_count and
process_output_skip.
(syms_of_process): DEFVAR_LISP Vprocess_adaptive_read_buffering.
2004-01-01 23:34:14 +00:00
Kim F. Storm
2ba4be11b7 (struct Lisp_Process): New members for adaptive read
buffering: adaptive_read_buffering, read_output_delay, and
read_output_skip.
2004-01-01 23:33:58 +00:00
Jason Rumney
68c6a789cc (w32_text_out): Use s->font, for consistency with callers. 2004-01-01 22:51:46 +00:00
Karoly Lorentey
28d7d09f84 Separate frame-local, tty-dependent parameters from tty-local parameters.
src/termchar.h (struct tty_output): Redefined to contain frame-local
tty-dependent parameters.  (Currently there are no such parameters, so
it consists of the tty_display_info pointer.)
(struct tty_display_info): New structure, with reference_count.
(FRAME_TTY): Updated to reflect new termcap frame structure.

src/term.c: Update prototypes. Use tty_display_info instead of tty_output.

src/cm.c (current_tty, cmcheckmagic, cmcostinit, calccost, cmgoto, Wcm_clear)
(Wcm_init): Use tty_display_info instead of tty_output.

src/cm.h: Update prototypes.
src/dispextern.h: Ditto.

src/dispnew.c (window_change_signal, init_display, make_terminal_frame):
Use tty_display_info instead of tty_output.

src/frame.c (Fdelete_frame): Use tty_display_info instead of
tty_output.  Fix delete_tty check.
(make_terminal_frame): Allocate f->output_data.tty.  Increase
reference count of tty device.
(delete_frame): Free f->output_data.tty.  Use reference count to
decide if the tty should be closed.

src/frame.h (FRAME_FOREGROUND_PIXEL, FRAME_BACKGROUND_PIXEL): New,
unconditional definitions.
(struct device): New declaration (at the moment, it is defined as
empty in termhooks.h).
(struct frame): Added display, background_pixel, foreground_pixel member.

src/keyboard.c (read_avail_input): Use tty_display_info instead of tty_output.

src/lisp.h: Declare struct display.  Update prototypes.

src/sysdep.c: Update prototypes.
(discard_tty_input, init_all_sys_modes, init_sys_modes, reset_all_sys_modes)
(reset_sys_modes, hft_init, hft_reset): Use tty_display_info instead
of tty_output.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-29
2004-01-01 17:55:53 +00:00
Miles Bader
a3cb3b2eaf Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-13
Minor tweaks to Buttons section in lispref/display.texi
2004-01-01 14:09:01 +00:00
Miles Bader
02c77ee91c Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-12
Add section on button package to lisp reference manual

* lispref/display.texi (Buttons): New section.
2004-01-01 04:20:43 +00:00
Andreas Schwab
903a1a91c6 (Math Functions): sqrt reports a domain-error
error.
(Float Basics): Use `(/ 0.0 0.0)' instead of `(sqrt -1.0)'.
2003-12-31 12:17:17 +00:00
Karoly Lorentey
819b8f00ed A few more bugfixes and new features.
(Sigh.)  I obviously need to remember to separate individual changes
to multiple commits.

src/emacsclient.c: Improved error handling.
(decode_options): Changed frame option (again) from -f to -t.
(print_help_and_exit): Ditto.
(copy_from_to): Check EINTR after write, not EAGAIN.  Removed SIGIO hack.
(pty_conversation): Handle errors transmitted through the socket.
Handle pty errors by not reading from it anymore.
(main): Restore correct errno after socket_status failed.  Send -tty
on -t, not -pty.

lisp/server.el (server-process-filter): Watch -tty, not -pty.
Use make-frame-on-tty instead of make-terminal-frame.
Don't set newframe to t if make-frame-on-tty failed.
Don't delete frames here.  Print correct message when there are no
files to edit, but a new frame was requested.
(server-sentinel): Delete the frame after the process.
(server-handle-delete-frame): New function for delete-frame-functions.
(server-start): Add server-handle-delete-frame to delete-frame-functions.
(server-buffer-done): Don't delete frames here.

src/alloc.c (mark_ttys): Add prototype.
(Fgarbage_collect): Call mark_ttys.

src/emacs.c: (shut_down_emacs): Don't flush stdout before
reset_sys_modes().

src/process.c (add_keyboard_wait_descriptor_called_flag): Removed.
(add_keyboard_wait_descriptor): Removed stdin hack.

src/sysdep.c: Unconditionally include sysselect.h.
(old_fcntl_flags): Changed to an array.
(init_sigio, reset_sigio): Use it.
(narrow_foreground_group, widen_foreground_group): Use setpgid, not
setpgrp.
(old_fcntl_owner): Changed to an array.
(init_sys_modes, reset_sys_modes): Use it.  Fix fsync() and reset_sigio() calls.
src/term.c (Qframe_tty_name, Qframe_tty_type): New variables.
(syms_of_term): Initialize them.
(Fframe_tty_name, Fframe_tty_type): New functions.
(term_init): Call add_keyboard_wait_descriptor().
(Fdelete_tty): New function.
(delete_tty): Call delete_keyboard_wait_descriptor().
(get_current_tty): Removed.
(mark_ttys): New function.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-28
2003-12-31 05:09:29 +00:00
John Paul Wallington
b2236c89a8 (completion-ignored-extensions): Add .pfsl. 2003-12-31 02:46:07 +00:00
Luc Teirlinck
3f70fe8247 *** empty log message *** 2003-12-31 00:32:19 +00:00
Luc Teirlinck
3297ec22bd (Fsignal): Add hyperlink to the definition of `signal' in the Elisp manual. 2003-12-31 00:27:07 +00:00