view mac/INSTALL @ 42602:633233bf2bbf

2002-01-07 Michael Kifer <kifer@cs.stonybrook.edu> * viper-init.el (viper-cond-compile-for-xemacs-or-emacs): new macro that replaces viper-emacs-p and viper-xemacs-p in many cases. Used to reduce the number of warnings. * viper-cmd.el: use viper-cond-compile-for-xemacs-or-emacs. (viper-standard-value): moved here from viper.el. (viper-set-unread-command-events): moved to viper-util.el (viper-check-minibuffer-overlay): make sure viper-minibuffer-overlay is moved to cover the entire input field. * viper-util.el: use viper-cond-compile-for-xemacs-or-emacs. (viper-read-key-sequence, viper-set-unread-command-events, viper-char-symbol-sequence-p, viper-char-array-p): moved here. * viper-ex.el: use viper-cond-compile-for-xemacs-or-emacs. * viper-keym.el: use viper-cond-compile-for-xemacs-or-emacs. * viper-mous.el: use viper-cond-compile-for-xemacs-or-emacs. * viper-macs.el (viper-char-array-p, viper-char-symbol-sequence-p, viper-event-vector-p): moved to viper-util.el * viper.el (viper-standard-value): moved to viper-cmd.el. Use viper-cond-compile-for-xemacs-or-emacs. * ediff-help.el: use ediff-cond-compile-for-xemacs-or-emacs. * ediff-hook.el: use ediff-cond-compile-for-xemacs-or-emacs. * ediff-init.el (ediff-cond-compile-for-xemacs-or-emacs): new macro designed to be used in many places where ediff-emacs-p or ediff-xemacs-p was previously used. Reduces the number of warnings. Use ediff-cond-compile-for-xemacs-or-emacs in many places in lieue of ediff-xemacs-p. (ediff-make-current-diff-overlay, ediff-highlight-diff-in-one-buffer, ediff-convert-fine-diffs-to-overlays, ediff-empty-diff-region-p, ediff-whitespace-diff-region-p, ediff-get-region-contents): moved to ediff-util.el. (ediff-event-key): moved here. * ediff-merge.el: got rid of unreferenced variables. * ediff-mult.el: use ediff-cond-compile-for-xemacs-or-emacs. * ediff-util.el: use ediff-cond-compile-for-xemacs-or-emacs. (ediff-cleanup-mess): improved the way windows are set up after quitting ediff. (ediff-janitor): use ediff-dispose-of-variant-according-to-user. (ediff-dispose-of-variant-according-to-user): new function designed to be smarter and also understands indirect buffers. (ediff-highlight-diff-in-one-buffer, ediff-unhighlight-diff-in-one-buffer, ediff-unhighlight-diffs-totally-in-one-buffer, ediff-highlight-diff, ediff-highlight-diff, ediff-unhighlight-diff, ediff-unhighlight-diffs-totally, ediff-empty-diff-region-p, ediff-whitespace-diff-region-p, ediff-get-region-contents, ediff-make-current-diff-overlay): moved here. (ediff-format-bindings-of): new function by Hannu Koivisto <azure@iki.fi>. (ediff-setup): make sure the merge buffer is always widened and modifiable. (ediff-write-merge-buffer-and-maybe-kill): refuse to write the result of a merge into a file visited by another buffer. (ediff-arrange-autosave-in-merge-jobs): check if the merge file is visited by another buffer and ask to save/delete that buffer. (ediff-verify-file-merge-buffer): new function to do the above. * ediff-vers.el: load ediff-init.el at compile time. * ediff-wind.el: use ediff-cond-compile-for-xemacs-or-emacs. * ediff.el (ediff-windows, ediff-regions-wordwise, ediff-regions-linewise): use indirect buffers to improve robustness and make it possible to compare regions of the same buffer (even overlapping regions). (ediff-clone-buffer-for-region-comparison, ediff-clone-buffer-for-window-comparison): new functions. (ediff-files-internal): refuse to compare identical files. (ediff-regions-internal): get rid of the warning about comparing regions of the same buffer. * ediff-diff.el (ediff-convert-fine-diffs-to-overlays): moved here. Plus the following fixes courtesy of Dave Love: Doc fixes. (ediff-word-1): Use word class and move - to the front per regexp documentation. (ediff-wordify): Bind forward-word-function outside loop. (ediff-copy-to-buffer): Use insert-buffer-substring rather than consing buffer contents. (ediff-goto-word): Move syntax table setting outside loop.
author Michael Kifer <kifer@cs.stonybrook.edu>
date Tue, 08 Jan 2002 04:36:01 +0000
parents 12fcb93284db
children fa72416139fb
line wrap: on
line source

* BUILDING EMACS ON THE MAC OS     -*- outline -*-

Copyright (c) 2001 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.

You can use either Metrowerks CodeWarrior Pro 5 or 6 or MPW-GM
(Aug. 2000) to build Emacs.  MPW-GM can be downloaded free of charge
from Apple at

  http://developer.apple.com/tools/mpw-tools/

You will need MPW-GM to build the make-docfile utility and to generate
the doc string file DOC.

To decompress files, you can use MacGzip from

  http://persephone.cps.unizar.es/~spd/gzip

and to untar them, you can use tar 4.0 from

  http://hyperarchive.lcs.mit.edu/HyperArchive/Archive/cmp/tar-40b.hqx

(Optional) If you wish to fetch files from the Emacs CVS repository
directly to your Mac, you can use the CVS client MacCVS, which can be
downloaded from

  http://www.wincvs.org/

(Optional) A subset of the fonts from the GNU intlfonts-1.2
distribution converted to NFNT format can be obtained from

  ftp://mac-emacs.sourceforge.net/pub/mac-emacs/GNU-fonts.smi.bin

### IMPORTANT ### If you use StuffIf Expander to decompress and untar
the distribution, you *must* set the radio button in the
Preferences->Cross Platform->Convert text files to Macintosh format to
"Never".  Otherwise the compiled Lisp files will be corrupted.

* BUILDING EMACS

To build Emacs in the MPW Shell, simply set the directory to
...:emacs:mac: and build the target Emacs of the make file
makefile.mpw.  I.e., execute the commands

  make Emacs -f makefile.MPW > Emacs.MakeScript
  Emacs.MakeScript

To build Emacs using CodeWarrior, start up the CodeWarrior IDE, choose
File->Import Project...  and select the file cw5-mcp.xml or
cw6-mcp.xml, depending on which verison of CodeWarrior used.  When
prompted to save the project, navigate to same directory as the file
cw[56]-mcp.xml, name it emacs-cw5.mcp or emacs-cw6.mcp, and save it
there.  Then choose Project->Make.  Note that this does not build the
DOC file.  To do so, use MPW and build the target "Doc" in
makefile.MPW.

Once built, the Emacs application (Emacs CW or Emacs MPW) can be
launched where it is created.

To build an optimized version of Emacs in CodeWarrior, change the
value in the Emacs Settings->Code Generation->Global Optimization
dialog.  To build a version for profiling, check the Profiler
Information box in the Emacs Settings->Code Generation->PPC Processor
dialog and include the Profiler PPC.Lib library.

To build optimized or debugging version of Emacs in MPW, follow the
comment in makefile.MPW to enable the -opt speed or -sym on option
(see note below).

* NOTES

Emacs should build and run on a PowerMac running Mac OS 8.1 - 9.0.

You will need around 100 MB of disk space for the source files and
intermediate files.

It will not run on machines with more than 256 MB of physical or
virtual memory.

Currently there is no support for building the LEIM directory on the
Mac.  However, it can be built on another platform and transferred to
the Mac.

When Emacs is built with "-opt speed" enabled in makefile.MPW,
optimization causes the functions reset_buffer_local_variables in
buffer.c, syms_of_lread in lread.c, and x_draw_hollow_cursor in
macterm.c to crash.  Avoid this by enclosing them in the following
pragmas.

  #pragma options opt off

  <function definition...>

  #pragma options opt reset

To use the same icon as when Emacs is built on Windows NT, define
GNU_ICON in mac/src/Emacs.r.