Mercurial > emacs
view lispintro/README @ 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 | 23a1cea22d13 |
children | c84b73607df3 |
line wrap: on
line source
This directory contains the source of the "Introduction to programming in Emacs Lisp" written by Robert J. Chassell, bob@gnu.org. This manual is an elementary introduction to programming in Emacs Lisp for people who are not programmers, and who are not necessarily interested in programming, but who do want to customize or extend their computing environment. This second edition of 2001 Nov 20 updates the previous editions to GNU Emacs 21. The Texinfo source file `emacs-lisp-intro.texi', formats without error using TeX version 3.14159, `kpathsea' version 3.3.1, `texinfo.tex' version 2001-05-24.08, and `makeinfo' version 4.0b. Also, this tar file contains the following optional Encapsulated Post Script figures. drawers.eps 7129 bytes cons-1.eps 12136 cons-2.eps 12523 cons-2a.eps 12420 cons-3.eps 12984 cons-4.eps 13866 cons-5.eps 12986 lambda-1.eps 10252 lambda-2.eps 10278 lambda-3.eps 10275 See the beginning of the `emacs-lisp-intro.texi' file for appropriate settings. These figures are not necessary; they are merely nice to look at --- without them you get the same figures printed with ASCII characters. Whether and how you print PostScript depends on your site. You not only need to set 'print-postscript-figures' before creating the .dvi file, but then must convert the .dvi file to .ps with a 'dvips' or equivalent command. On some systems you will see an error message when `psfig.tex' is loaded for the last two .eps files: ! No room for a new \write . If this happens, try `epsf.tex' instead of `psfig.tex', or try typing RET at the error; the formatting may continue successfully. Or else find the section that says: @c !!! Clear print-postscript-figures if the computer formatting this @c document is too small and cannot handle all the diagrams and figures. @c clear print-postscript-figures and change the file so it reads: @clear print-postscript-figures This will prevent TeX from attempting to load the last few .eps files. You will find additional instructions on formatting in the beginning of the Texinfo file 'emacs-lisp-intro.texi'. Best Wishes! 2001 Nov 20 Robert J. Chassell, bob@gnu.org