Mercurial > emacs
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]