view mac/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 ae5c2b812667
children 067115a6e738
line wrap: on
line source

Emacs for Mac OS Classic and Mac OS X

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

   Permission is granted to anyone to make or distribute verbatim
   copies of this document as received, in any medium, provided that
   the copyright notice and permission notice are preserved, and that
   the distributor grants the recipient permission for further
   redistribution as permitted by this notice.

   Permission is granted to distribute modified versions of this
   document, or of portions of it, under the above conditions,
   provided also that they carry prominent notices stating who last
   changed them.

This directory contains the files needed to build Emacs on the Mac OS
Classic and Mac OS X.  Many of the major features of the Unix version
are supported: multiple frames, colors, scroll bars, menu bars, use of
the mouse, fontsets, international characters, input methods, and
coding systems.

Mac OS specific support includes document drag-and-drop in the Finder,
transfer of text to and from other applications via the clipboard, and
sending AppleScript commands to other applications from Emacs.

The following are not supported on Mac OS Classic: unexec (dump-emacs),
asynchronous subprocesses (start-process), and networking
(open-network-stream).  These features work fine on Mac OS X.

There is basic support for synchronous subprocesses (call-process) on
Mac OS Classic (non-Carbon build only) although Unix commands that are
used will need to be ported.

FIXME: Metrowerks CodeWarrior Pro 6 or MPW-GM (August 2001) can be
used to build Emacs on the Mac OS Classic.  On Mac OS X, Emacs can be
built using the Developer Tools.  See the INSTALL file in this
directory for instructions on building Emacs.

Read the Mac OS section of the on-line help to find out about how to
use Emacs on the Mac.

A number of things do not work yet:

+ Support for PostScript image type is not available.

+ Incorporate Apple's wrappers to be able to create a universal 
  binary that unexecs on first run for the given architecture.

If your Mac is connected to the Internet, report bugs by typing `M-x
report-emacs-bug' or by choosing the entry `Send Bug Report...'  in
the `Help' menu.  This will send the bug report to the address
emacs-pretest-bug@gnu.org.

Steven
<steven.tamm@mac.com>