Mercurial > emacs
view INSTALL.CVS @ 83065:a871be7b26a5
Implemented suspending of emacsclient frames.
lib-src/emacsclient.c (quote_file_name): Renamed to quote_argument.
(unquote_argument, handle_sigcont, handle_sigtstp): New functions.
(out, in): New global variables for communicating with the Emacs process.
(init_signals): Set up handlers for SIGCONT, SIGTSTP and SIGTTOU.
(main): Changed out and in to global variables. Prepend `-eval' or
'-file' to each argument. Use fsync to force sending the strings to Emacs.
Removed obsolete -bad-version code. Support the -suspend command.
Cleaned up newline handling.
lisp/frame.el (suspend-frame): New function.
Substitute key definition of suspend-emacs with suspend-frame.
lisp/server.el (server-log): Cosmetic change in log format.
(server-handle-delete-tty, server-handle-delete-frame): Added logging.
(server-handle-suspend-tty, server-quote-arg): New functions.
(server-start): Install server-handle-suspend-tty.
(server-process-filter): Reorganized source code for clarity.
Implemented -resume, -suspend and -ignore commands.
lisp/term/x-win.el (x-initialize-window-system): Don't change the
binding of C-z.
src/cm.c: Replaced TTY_INPUT, TTY_OUTPUT, TTY_TERMSCRIPT calls with
their macro expansion.
src/dispnew.c: Ditto.
src/frame.c: Ditto.
src/keyboard.c: Ditto.
src/sysdep.c: Ditto.
src/keyboard.c (tty_read_avail_input): Don't read if the terminal is
suspended.
src/sysdep.c (discard_tty_input, init_sys_modes, reset_sys_modes): Ditto.
src/term.c (tty_set_terminal_modes, tty_reset_terminal_modes): Ditto.
src/term.c (Vsuspend_tty_functions, Vresume_tty_functions): New hooks.
(syms_of_term): Defvar them.
(term_init): Don't allow opening a new frame on a suspended tty device.
(Fsuspend_tty, Fresume_tty): New functions.
(syms_of_term): Defsubr them.
src/termchar.c (struct tty_display_info): Update documentation of
input and output.
(TTY_INPUT, TTY_OUTPUT, TTY_TERMSCRIPT): Removed.
git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-105
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sat, 28 Feb 2004 01:23:39 +0000 |
parents | 6a13a0f9d22b |
children | 821beb22a34c |
line wrap: on
line source
Building and Installing Emacs from CVS Some of the files that are included in the Emacs tarball, such as byte-compiled Lisp files, are not stored in the CVS repository. Therefore, to build from CVS you must run "make bootstrap" instead of just "make": $ ./configure $ make bootstrap The bootstrap process makes sure all necessary files are rebuilt before it builds the final Emacs binary. Normally, it is not necessary to use "make bootstrap" after every CVS update. Unless there are problems, we suggest the following procedure: $ ./configure $ make $ cd lisp $ make recompile EMACS=../src/emacs $ cd .. $ make (If you want to install the Emacs binary, type "make install" instead of "make" in the last command.) Occasionally the file "lisp/loaddefs.el" will need be updated to reflect new autoloaded functions. If you see errors about undefined lisp functions during compilation, that may be the reason. Another symptom may be an error saying that "loaddefs.el" could not be found; this is due to a change in the way loaddefs.el was handled in CVS, and should only happen once, for users that are updating old CVS trees. To update loaddefs.el, do: $ cd lisp $ make autoloads EMACS=../src/emacs If either of above procedures fails, try "make bootstrap". Users of non-Posix systems (MS-Windows etc.) should run the platform-specific configuration scripts (nt/configure.bat, config.bat, etc.) before "make bootstrap" or "make"; the rest of the procedure is applicable to those systems as well. Questions, requests, and bug reports about the CVS versions of Emacs should be sent to emacs-pretest-bug@gnu.org rather than gnu.emacs.help or gnu.emacs.bug. Ideally, use M-x report-emacs-bug RET which will send it to the proper place. Note on using SSH to access the CVS repository from inside emacs ---------------------------------------------------------------- Write access to the CVS repository requires using SSH v2. If you execute cvs commands inside emacs, specifically if you use pcl-cvs, output from CVS may be lost due to a problem in the interface between ssh, cvs, and emacs. Corrupted checkins are also been reported to have happened. To fix the problem, save the following script into a file, make it executable, and set CVS_RSH to the file name of the script: #!/bin/bash exec 2> >(exec cat >&2 2>/dev/null) exec ssh "$@" This may be combined with the following entry in ~/.ssh/config to simplify accessing the CVS repository: Host subversions.gnu.org Protocol 2 ForwardX11 no User YOUR_USERID