view lispintro/makefile.w32-in @ 83449:ff74a86c2b16

Overhaul and simplify single_kboard API. Allow calls to `recursive-edit' in process filters. Small fixes. * lisp/server.el (server-process-filter): Protect `display-splash-screen' call in a condition-case. Explain why. * src/callint.c (Fcall_interactively): Update call to `temporarily_switch_to_single_kboard'. * src/fns.c (Fy_or_n_p): Ditto. * src/frame.c (Fdelete_frame): Remove unused variable `count'. * src/keyboard.c (wrong_kboard_jmpbuf): Remove global variable. * src/keyboard.c (read_char): Add wrong_kboard_jmpbuf parameter to allow for recursive calls. Update longjmp invocations. Remember the original current_kboard, and longjmp to `wrong_kboard_jmpbuf' when a filter, timer or sentinel changes it. Comment out unnecessary calls to `record_single_kboard_state' and `any_kboard_state'. Update recursive calls. * src/keyboard.c (read_key_sequence): Add `wrong_kboard_jmpbuf' local variable. Update setjmp and read_char calls. Abort if interrupted_kboard died in read_char. * src/keyboard.c (any_kboard_state, single_kboard_state) (record_single_kboard_state): Comment out obsolete functions. (push_frame_kboard): Remove function. (pop_kboard): Switch out of single_kboard mode if the kboard has been deleted. (temporarily_switch_to_single_kboard): Change first parameter to a frame pointer. Throw an error when caller wants to change kboards while in single_kboard mode. (restore_kboard_configuration): Abort if pop_kboard changed the kboard in single_kboard mode. (Frecursive_edit): Switch to single_kboard mode only in nested command loops. (cmd_error, command_loop, command_loop_1, timer_check): Comment out unnecessary call to `any_kboard_state' and `record_single_kboard_state'. * src/keyboard.c (delete_kboard): Exit single_kboard mode if we have just deleted that kboard. * src/keyboard.c (interrupt_signal): Use `Fkill_emacs' to exit Emacs, not `fatal_error_signal'. * src/keyboard.h (read_char, single_kboard_state) (record_single_kboard_state): Remove. (temporarily_switch_to_single_kboard): Update. * src/lread.c: Include setjmp.h. Update declaration of `read_char'. (read_filtered_event): Call `read_char' with a local `wrong_kboard_jmpbuf'. * src/minibuf.c (read_minibuf): Update call to `temporarily_switch_to_single_kboard'. * src/termchar.h (tty_display_info): Rename `previous_terminal_frame' member to `previous_frame'. * src/xdisp.c (redisplay_internal): Update references to `previous_terminal_frame'. (display_mode_line, Fformat_mode_line): Replace calls to `push_frame_kboard' with `push_kboard'. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-489
author Karoly Lorentey <lorentey@elte.hu>
date Tue, 03 Jan 2006 01:50:46 +0000
parents 3861ff8f4bf1
children e8a3fb527b77 2d92f5c9d6ae
line wrap: on
line source

#### -*- Makefile -*- for the Emacs Lisp Introduction manual.

# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.

# This file is part of GNU Emacs.

# GNU Emacs is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.

# GNU Emacs is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.

# You should have received a copy of the GNU General Public License
# along with GNU Emacs; see the file COPYING.  If not, write to
# the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.

srcdir = .

infodir = $(srcdir)/../info

INFO_SOURCES = $(srcdir)/emacs-lisp-intro.texi
# The file name eintr must fit within 5 characters, to allow for
# -NN extensions to fit into DOS 8+3 limits without clashing
INFO_TARGETS = $(infodir)/eintr
DVI_TARGETS = emacs-lisp-intro.dvi

MAKEINFO = makeinfo
INSTALL_INFO = install-info
TEXI2DVI = texi2dvi
DVIPS = dvips
ENVADD = $(srcdir)\..\nt\envadd.bat "TEXINPUTS=$(srcdir);$(TEXINPUTS)" \
	 "MAKEINFO=$(MAKEINFO) -I$(srcdir)" /C

.SUFFIXES: .dvi .ps .texi

info: $(INFO_TARGETS)

$(infodir)/dir:
	$(INSTALL_INFO) --info-dir=$(infodir) $(INFO_TARGETS)

dvi: $(DVI_TARGETS)

$(infodir)/eintr: $(INFO_SOURCES)
	$(MAKEINFO) -o $@ $(srcdir)/emacs-lisp-intro.texi

emacs-lisp-intro.dvi: $(INFO_SOURCES)
	$(ENVADD) $(TEXI2DVI) $(srcdir)/emacs-lisp-intro.texi

emacs-lisp-intro.html: $(INFO_SOURCES)
	$(MAKEINFO) --html -o $@ $(srcdir)/emacs-lisp-intro.texi

.dvi.ps:
	$(DVIPS) $< -o $@

mostlyclean:
	- $(DEL) *.log *.cp *.fn *.ky *.pg *.vr *.tp

clean: mostlyclean
	- $(DEL) *.dvi $(infodir)/eintr*

distclean: clean

maintainer-clean: distclean
	- $(DEL) *.aux *.cps *.fns *.kys *.pgs *.vrs *.toc

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT: