1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-18 11:50:38 -08:00
Commit graph

1676 commits

Author SHA1 Message Date
Karoly Lorentey
0a1258976b Bugfix festival.
lib-src/emacsclient.c (main_argc, main_argv): New variables.
(main): Initialize them.
(fail): Use them.
(window_change, copy_from_to): Don't kill if emacs_pid is zero.
(pty_conversation): Watch the command socket, too.  Read emacs_pid
here.  Emacs and emacsclient could deadlock if Emacs tried to do a
reset_sys_modes before sending its pid.

lisp/server.el: Automatically delete the client frame when done editing.
(server-frames): New variable.
(server-process-filter, server-sentinel, server-buffer-done): Use it.
(server-process-filter): Do a redisplay before evaluating other
parameters.  (Prevents "emacsclient -h -e '(delete-frame)'" from
messing up the system.

src/dispextern.h: Update prototypes.

src/dispnew.c (window_change_signal): Do nothing if !term_initted.
(init_display): Set the frame size from the tty data after term_init.

src/emacs.c (main): Make sure things that init_sys_modes needs are 
initialized before init_display (which calls init_sys_modes now).
(sort_args): Use xfree, not free.
(shut_down_emacs) [!EMACS_HAVE_TTY_PGRP]: Use reset_all_sys_modes
instead of reset_sys_modes.

src/frame.c (make_terminal_frame): Sigh. Move terminal initialization
back to the middle of frame setup.  Handle errors by making sure that
the delete_tty() called from term_init() will see and delete this
frame.
(Fdelete_frame): Kill the frame before calling delete_tty().  Fix
condition for tty deletion.

src/keyboard.c (Fset_input_mode): Use reset_sys_modes on the current
terminal only.

src/lisp.h: Remove duplicate prototypes.

src/msdos.c (croak): use reset_all_sys_modes().

src/sysdeps.c (init_baud_rate): Added tty parameter, use it instead of CURTTY.
(child_setup_tty): Reset sigio on stdin, not CURTTY().
(reset_sigio): Added fd parameter, put explicit fcntl there.
(request_sigio, unrequest_sigio)[FASYNC]: Simply block/unblock the
SIGIO signal, don't touch the file params.  There are multiple ttys
now, and we can't disable the SIGIO from emacsclient.
(get_tty_size)[VMS]: Use tty_out instead of CURTTY().
(reset_sys_modes): Don't call cursor_to, clear_end_of_line; call
cmgoto and tty_clear_end_of_line instead.  The frame may already be
dead.  Updated reset_sigio call.

src/term.c (clear_and_of_line): Separate tty-dependent stuff to
tty_clear_end_of_line() for reset_sys_modes.
(tty_clear_end_of_line): New function.
(term_init): Added frame parameter, don't use selected_frame.
Set the frame's output_data.tty value (in case there is an error
later).  Set the frame size in Wcm, not in the frame.  Only free the
termcap buffer if there is a termcap-related error.  Call
init_sys_modes last, not first.
(deleting_tty): New variable.
(delete_tty): Use it for handling recursive calls.  Free deleted tty,
except its Wcm (there is still a dangling reference somewhere).

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-19
2003-12-29 07:16:26 +00:00
Karoly Lorentey
8ed48c277a Merged in changes from CVS HEAD
Patches applied:

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

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

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


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-17
2003-12-28 16:05:28 +00:00
Karoly Lorentey
2e7f2ec031 Merged in changes from CVS HEAD
Patches applied:

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

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


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-15
2003-12-28 16:03:57 +00:00
Karoly Lorentey
fca177d467 Fully eliminated global tty state variables.
lib-src/emacsclient.c (main.c): Fix error message.

lisp/frame.el (make-frame-on-tty): New function.

lisp/server.el (server-process-filter): Notify emacsclient if there
was on error during evaluation.

src/cm.c: Fix remaining cases of direct Wcm references.

src/dispextern.h: Updated prototypes.

src/dispnew.c (Fredraw_frame): Fix set_terminal_modes call.
(init_display): Remove reference to meta_key.

src/frame.c (make_terminal_frame): Renamed first parameter to
tty_name.  Call term_init before creating the frame.
(Fmake_terminal_frame): Look up the `tty' and `tty-type' frame
parameters from the currently selected terminal before the global
default.
(Fdelete_frame): Make sure that the new selected frame is live.

src/keyboard.c (meta_key): Moved to struct tty_output.
(read_avail_input): Fix C syntax.  Update references to meta_key.
(Fsuspend_emacs): pass current tty to init_sys_modes via
record_unwind_protect.
(Fset_input_mode): Update references to meta_key.
(Fcurrent_input_mode): Ditto.

src/sysdep.c (init_sys_modes): Updated old_tty and meta_key
references.  Don't call set_terminal_modes, it needs termcap strings.
(reset_sys_modes): Call tty_reset_terminal_modes instead of
reset_terminal_modes.  Updated old_tty references.

src/term.c: Massive updates throuout the file.
(TS_*, TN_*): Moved to struct tty_output.
(RPov, delete_in_insert_mode se_is_so, costs_set, insert_mode): Ditto.
(standout_mode, specified_window, tty_cursor_hidden): Ditto.
(tty_set_terminal_modes, tty_reset_terminal_modes): New functions.
(turn_on_insert, turn_off_insert): Added tty parameter.
(turn_on_highlight, turn_off_highlight, toggle_highlight): Added tty parameter.
(tty_hide_cursor, tty_show_cursor): Ditto.
(background_highlight, highlight_if_desired): Ditto.
(tty_capable_p): Changed first parameter to tty_output.
(term_init): Make sure top_frame is initialized.  Don't exit on errors
if this would have been a secondary terminal.  Call set_terminal_modes
on the end.
(delete_tty): New function.
(delete_tty_1): New function.
(print_all_frames): New function, marginally useful for debugging.

src/termchar.h (struct tty_output): Changed old_tty to be a pointer.
Removed old_tty_valid member.  Added tty-specific variables from term.c.

src/xfaces.c (Ftty_supports_face_attributes_p): Update for new
tty_capable_p.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-9
2003-12-27 10:00:19 +00:00
Paul Eggert
c91406620c (rlog_options): Append -rbranchtag if CVS/Tag indicates
a tag, and if the user has not specified an rlog option.
Adapted from a suggestion by Martin Stjernholm in
<http://mail.gnu.org/archive/html/bug-gnu-emacs/2003-07/msg00066.html>.
(Copyright): Update to 2003.
2003-12-27 08:18:42 +00:00
Karoly Lorentey
6548cf002c Full support for multiple terminal I/O (with some rough edges).
lib-src/emacsclient.c (emacs_pid): New variable.  
(window_change): Forward the SIGWINCH signal to the Emacs process
after copying the size parameters to the proxy terminal.
(copy_from_to): New parameter (sigio), kill Emacs with SIGIO if it is
nonzero.
(main): Set emacs_pid.

lisp/server.el (server-process-filter): Send the pid of Emacs to emacsclient.

src/cm.c: Added tty parameters to all functions and all Wcm macro calls.

src/cm.h: Added tty parameters to all macros.   Updated function prototypes.
(Wcm): Moved to struct tty_output.

src/dispextern.h: Updated function prototypes.

src/dispnew.c: Added tty parameters to all Wcm macro calls.
(do_switch_frame): Make old frame obscured, not invisible, to solve
problems with other-frame.
(Wcm): Moved to struct tty_output.

src/keyboard.c (read_avail_input): Select the frame corresponding to
the tty that was read.  Slight rearrangement of tty loop.

src/lisp.h (tabs_safe_p): Removed duplicate prototype.

src/sysdep.c (hft_init, hft_reset): Added tty_output parameter.
(discard_tty_input): Discard input from all ttys on APOLLO, too.
Whatever it is.
(narrow_foreground_group, widen_foreground_group): Added tty parameter
(not really useful, the functions only work on the controlling tty.)
(tabs_safe_p): Added tty parameter.

src/term.c Added tty parameters to all Wcm macro calls.
Standardised updating_frame vs. selected frame and tty_output access.
(term_init): Allocate Wcm.
(syms_of_term): Provide the `multi-tty' feature.

src/termchar.h (struct tty_output): Added Wcm.

src/xdisp.c (try_window_id): Make sure we use the tty device
corresponding to the current frame.

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-8
2003-12-27 01:12:57 +00:00
Karoly Lorentey
b4fff6b0b6 Removed two files that were committed by mistake.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-6
2003-12-26 04:26:21 +00:00
Karoly Lorentey
9628b8878f lib-src/emacsclient.c: Implemented --here option (open a new Emacs tty). Needs more work.
(here): New variable.
(decode_options): Use it.
(ec_get_tty, ec_set_tty, init_tty, window_change, hang_up_signal): New functions.
(window_change_signal, init_signals, reset_tty, init_pty, copy_from_to): Ditto.
(pty_conversation): Ditto.
(main): Use them.
(master, pty_name, old_tty, tty, old_tty_valid, tty_erase_char): New variables.
(flow_control, meta_key, _sobuf, in_conversation, quit_conversation): Ditto.

lisp/server.el (server-process-filter): Added support for opening a new terminal frame.

dispextern.h (get_frame_size): Renamed to get_tty_size, added tty_output parameter.

dispnew.c (Fredraw_frame): fflush the current terminal instead of stdout.
(direct_output_for_insert, direct_output_forward_char, update_frame_1): Ditto.
(Fding, bitch_at_user): Ditto.
(update_frame_1): Count pending output for current terminal instead of stdout.
(window_change_signal): Resize all terminals.
(change_frame_size): Don't resize all terminals to the same size.

frame.c (Vterminal_frame): Removed.
(syms_of_frame): Removed declaration of Vterminal_frame.
(make_terminal_frame): Set the top frame of the terminal to the new frame.
(Fmake_terminal_frame): Get a new frame size from get_tty_size, don't copy it.
(do_switch_frame): Handle terminal frame visibility.
(next_frame, prev_frame): Skip over frames on different terminals.

frame.h (Vterminal_frame): Removed.

keyboard.c (input_fd): Removed.
(read_avail_input): Removed first argument from read_socket_hook.
Try to read from each available tty, until one succeeds.
(Fsuspend_emacs): Don't suspend if there are multiple terminals.

lisp.h (get_frame_size): Removed superflous declaration.

xterm.c (Xtread_socket): Removed first parameter.
macterm.h (XTread_socket): Ditto.
w32inevt.c (w32_console_read_socket): Ditto.
w32term.c (w32_read_socket): Ditto.

sysdep.c (input_fd): Removed.
(change_input_fd): Removed.
(discard_tty_input): Discard pending input on _all_ input descriptors.
(stuff_char, tabs_safe_p): Use current terminal instead of input_fd.
(init_baud_rate, request_sigio, unrequest_sigio): Ditto.
(init_sys_modes, reset_sys_modes): Ditto.
(narrow_foreground_group, widen_foreground_group): Use stdin.
(init_sys_modes, reset_sys_modes): otty parameter renamed to tty_out.
(get_frame_size): Renamed to get_tty_size, added tty_out parameter.

term.c (read_socket_hook): Removed first parameter.
(clear_end_of_line): Use updating_frame, if possible.
(write_glyphs, insert_glyphs, ins_del_lines): Ditto.
(term_init): Renamed get_frame_size to get_tty_size.

termchar.h (struct tty_output): New entries: top_frame,
previous_terminal_frame.

termhooks.h (read_socket_hook): Removed first parameter.

window.c (init_window_once): Removed reference to Vterminal_frame.

xdisp.c (previous_terminal_frame): Moved to struct tty_output.
(redisplay_internal): Updated to use previous_terminal_frame in tty_output.
Allow for simultaneous refresh of multiple ttys.


git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-5
2003-12-26 04:24:54 +00:00
Karoly Lorentey
da1492a4cf tag of miles@gnu.org--gnu-2003/emacs--cvs-trunk--0--patch-137
(automatically generated log message)

git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--base-0
2003-12-24 16:09:13 +00:00
Thien-Thi Nguyen
8babaa5960 *** empty log message *** 2003-12-24 07:32:41 +00:00
Thien-Thi Nguyen
08a39b8304 (main): For return code, no longer special-case VMS.
Instead, use `EXIT_SUCCESS' and `EXIT_FAILURE' from stdlib.h.
2003-12-24 06:49:23 +00:00
Richard M. Stallman
1ae7cf5ee8 (edebug-display-freq-count): Doc fix. 2003-10-20 23:46:31 +00:00
Richard M. Stallman
a4cf2096d7 Comment change. 2003-10-13 19:41:26 +00:00
Dave Love
c51b37fde9 *** empty log message *** 2003-10-06 16:36:56 +00:00
Eli Zaretskii
14ef72889c *** empty log message *** 2003-09-28 09:19:38 +00:00
Eli Zaretskii
872093579a (quote_file_name): Print the result instead of
returning it.  Fix the return type accordingly.
(main): Under --eval, don't fail if left with additional
arguments after decoding options.  Quote file names.
2003-09-28 08:24:56 +00:00
Richard M. Stallman
3db926beda Comment change. 2003-09-19 14:27:47 +00:00
Richard M. Stallman
f387bdeaae *** empty log message *** 2003-09-12 01:09:43 +00:00
Richard M. Stallman
254107e497 (socket_name): New variable.
(longopts, decode_options, print_help_and_exit):
Handle --socket-name argument.

(main): Use socket_name.
2003-09-12 00:48:03 +00:00
Francesco Potortì
2bc2e3fcb5 (consider_token): check C++ `operator' only when the token len is long
enough.
2003-09-03 14:20:49 +00:00
Francesco Potortì
0b7e7337a0 *** empty log message *** 2003-09-03 14:19:19 +00:00
Miles Bader
8e5331fe84 Correct some arch-tag: comment types 2003-09-02 06:06:59 +00:00
Miles Bader
ab5796a9f9 Add arch taglines 2003-09-01 15:45:59 +00:00
Dave Love
ac06b30be5 Remove obsolete references to alloca. 2003-08-20 15:47:57 +00:00
Juanma Barranquero
32b0a3c633 *** empty log message *** 2003-07-28 22:53:07 +00:00
Juanma Barranquero
bb5618fe38 (main): Fix having macros in a printf statement. 2003-07-28 22:10:30 +00:00
Juanma Barranquero
9d6baf7cbd (suggest_asking_for_help): Fix having macros in a printf statement. 2003-07-28 22:09:47 +00:00
Juanma Barranquero
3867c42d60 *** empty log message *** 2003-05-31 00:40:43 +00:00
Juanma Barranquero
8dc48ef051 (lisp): Fix references to byte-run.el, float-sup.el and map-ynp.el, which are
now in emacs-lisp.
2003-05-31 00:33:50 +00:00
Francesco Potortì
73d3586ded Remove Philippe Waroquier's email address, at his request. 2003-05-27 20:13:22 +00:00
Dave Love
7933722aa4 *** empty log message *** 2003-05-22 20:01:37 +00:00
Dave Love
1d28afaf27 (difftime) [!HAVE_DIFFTIME]: Define.
(strerror) [!HAVE_STRERROR && !WINDOWSNT]: New.
2003-05-22 20:01:19 +00:00
Dave Love
463f55eece *** empty log message *** 2003-05-20 16:34:55 +00:00
Dave Love
dd843b6af3 Check HAVE_LIBLOCKFILE like HAVE_LIBMAIL. 2003-05-20 16:34:35 +00:00
Dave Love
dfb7bcda87 Define LIBS_MAIL=-llockfile. 2003-05-20 16:33:02 +00:00
Juanma Barranquero
1b7a835ba3 *** empty log message *** 2003-04-27 11:24:59 +00:00
Juanma Barranquero
ee435bae30 (read_scores): Fix corruption of score files. 2003-04-27 11:22:16 +00:00
Stefan Monnier
eec54bd743 *** empty log message *** 2003-04-12 19:17:24 +00:00
Stefan Monnier
caa4df2b5d (main): Use new safe location for socket. 2003-04-12 19:03:08 +00:00
Juanma Barranquero
ff4bd68179 *** empty log message *** 2003-03-12 21:37:27 +00:00
Juanma Barranquero
20c396e841 (print_help_and_exit): Print to stdout. Exit successfully. Added some blank
lines for readability.
(decode_options): Don't call print_help_and_exit in default case. Print version
information to stdout.
(main): Don't call print_help_and_exit.
2003-03-12 21:36:29 +00:00
Richard M. Stallman
dd132e4437 *** empty log message *** 2003-02-15 19:29:15 +00:00
Richard M. Stallman
2a61b9d244 Cast result of malloc and realloc.
Don't include stdlib.h, becuase config.h does.
(malloc, realloc): Declarations deleted.
2003-02-15 10:53:55 +00:00
Richard M. Stallman
9fc08e73d1 (yow): Cast result of malloc and realloc.
(malloc, realloc): Declarations deleted.
2003-02-15 10:52:52 +00:00
Juanma Barranquero
71ffc53a70 *** empty log message *** 2003-02-11 09:03:05 +00:00
Juanma Barranquero
0a0dc5114c (lisp): Add malayalam.el and tamil.el. 2003-02-11 08:19:48 +00:00
Andreas Schwab
0dfd93c05d *** empty log message *** 2003-02-08 17:28:43 +00:00
Andreas Schwab
108c7c97c1 (EXEEXT): Define to @EXEEXT@ and use this variable
instead of the substitution.
2003-02-08 17:27:58 +00:00
Juanma Barranquero
177c0ea743 Trailing whitespace deleted. 2003-02-04 14:56:31 +00:00
Richard M. Stallman
37d1e6800c *** empty log message *** 2003-02-04 12:03:59 +00:00