view oldXMenu/descrip.mms @ 83374:0b75ace4f7ad

Fix crash after y-or-n-p prompt triggered by emacsclient. (Reported by Han Boetes, analysis by Kalle Olavi Niemitalo.) * src/keyboard.c (temporarily_switch_to_single_kboard) (record_single_kboard_state, restore_kboard_configuration): New functions. (timer_check): Use record_single_kboard_state instead of naive single_kboard state management. * src/fns.c: Include termhooks.h. (Fy_or_n_p): Use temporarily_switch_to_single_kboard to prevent crashes caused by bogus longjmps in read_char. * src/callint.c (Fcall_interactively): Use temporarily_switch_to_single_kboard instead of single_kboard_state. Make sure it is correctly unwinded. * src/keyboard.c (recursive_edit_unwind): Remove single_kboard stuff. (Frecursive_edit): Use temporarily_switch_to_single_kboard for single_kboard state management. * src/minibuf.c (read_minibuf): Use temporarily_switch_to_single_kboard instead of simply calling single_kboard_state. * src/keyboard.c (push_device_kboard): Remove function. (push_kboard): New function. (push_frame_kboard): Use it. (pop_frame_kboard): Rename to pop_kboard. * src/xdisp.c (display_mode_line, Fformat_mode_line): Update uses. * src/data.c: Include termhooks.h. (Fterminal_local_value, Fset_terminal_local_value): Update. * src/Makefile.in (data.o, fns.o): Add termhooks.h dependency. * src/keyboard.h (push_device_kboard, pop_frame_kboard): Remove declarations. (push_kboard, pop_kboard, temporarily_switch_to_single_kboard) (record_single_kboard_state): New declarations. git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-414
author Karoly Lorentey <lorentey@elte.hu>
date Sun, 11 Sep 2005 06:42:03 +0000
parents bbce331da1be
children 1e98efa5f4b3
line wrap: on
line source

!# Uncomment following line if linking temacs complains about missing insque.
EXTRA=insque.obj

AS = as
CC = cc
LD = link
TAGS = etags
RM = delete
MV = rename
AR = library/insert
MAKE = mms
STD_DEFINES =
CDEBUGFLAGS = /debug/noopt
RM_CMD = $(RM) *.BAK.*, *.obj.*

SRCS =  Activate.c, -
	AddPane.c, -
	AddSel.c, -
	ChgPane.c, -
	ChgSel.c, -
	Create.c, -
	DelPane.c, -
	DelSel.c, -
	Destroy.c, -
	Error.c, -
	EvHand.c, -
	FindPane.c, -
	FindSel.c, -
	InsPane.c, -
	InsSel.c, -
	Internal.c, -
	Locate.c, -
	Post.c, -
	Recomp.c, -
	SetAEQ.c, -
	SetFrz.c, -
	SetPane.c, -
	SetSel.c, -
        XDelAssoc.c, XLookAssoc.c, XCrAssoc.c, XDestAssoc.c, XMakeAssoc.c

OBJS =  Activate.obj, -
	AddPane.obj, -
	AddSel.obj, -
	ChgPane.obj, -
	ChgSel.obj, -
	Create.obj, -
	DelPane.obj, -
	DelSel.obj, -
	Destroy.obj, -
	Error.obj, -
	EvHand.obj, -
	FindPane.obj, -
	FindSel.obj, -
	InsPane.obj, -
	InsSel.obj, -
	Internal.obj, -
	Locate.obj, -
	Post.obj, -
	Recomp.obj, -
	SetAEQ.obj, -
	SetFrz.obj, -
	SetPane.obj, -
	SetSel.obj, -
        XDelAssoc.obj, XLookAssoc.obj, XCrAssoc.obj, XDestAssoc.obj, -
        XMakeAssoc.obj

.c.obj :
	if f$search("$@") then $(RM) $@.*
	$(CC) /obj=$@ $(CFLAGS) $*.c

all :: libXMenu11.olb
	!

libXMenu11.olb : $(OBJS) $(EXTRA)
	if f$search("$@") then $(RM) $@.*
	$(AR)/create $@ $(OBJS)
	if ("$(EXTRA)" .nes. "") then $(AR) $@ $(EXTRA)
#If running ranlib fails, probably there is none.
#That's ok.  So don't stop the build.

distclean : clean
	!

clean ::
	$(RM_CMD) \#* libXMenu11.a *.obj,
tags ::
	$(TAGS) -t *.[ch]