Mercurial > emacs
view INSTALL.CVS @ 82995:039bd6989d29
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
author | Karoly Lorentey <lorentey@elte.hu> |
---|---|
date | Sat, 03 Jan 2004 08:31:14 +0000 |
parents | 19d4dac27e5c |
children | 6a13a0f9d22b |
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.