Mercurial > emacs
view mac/INSTALL @ 35160:75a8ca0bdd1d
(ansi-color-process-output): Use markers instead
of positions for start and end of region.
(ansi-color-apply-on-region): Rewrote code to make it more robust.
Previously, occasional mistakes happend when fontifying many
chunks of output (eg. ls --color=yes /dev). This happened
whenever an overlay was created up to the end of the region, which
coincided with the process-mark. New text would then be added
within that overlay instead of after it.
(ansi-color-make-extent): Overlays are created with the property
`modification-hooks' set to '(ansi-color-freeze-overlay).
(ansi-color-freeze-overlay): New function. When inserting text at
the end of the overlay, the overlay will resize.
(ansi-color-process-output): Doc change.
(ansi-color-unfontify-region): Doc change. No longer installed
automatically in font-lock-unfontify-region-function.
(ansi-color-apply): Doc change.
(ansi-color-apply-on-region): Use extents or overlays instead of
text-properties.
(ansi-color-make-extent): New function.
(ansi-color-set-extent-face): New function.
(ansi-color-process): Removed, Emacs and XEmacs
both use ansi-color-process-output, now.
(ansi-color-process-output): Doesn't return string anymore. It is
installed in comint-output-filter-functions for both Emacs and
XEmacs, now.
(ansi-color-unfontify-region): Simplified code removing variables
pos and start-ansi.
(ansi-color-apply): Put text-property ansi-color before putting
text-property face because ansi-color-unfontify-region is called
immediately after the call to put-text-property.
(ansi-color-context-region): Doc change.
(ansi-color-filter-region): Simplified code.
(ansi-color-apply-on-region): Changed start to start-marker, using
a marker explicitly. Put text-property ansi-color before putting
text-property face because ansi-color-unfontify-region is called
immediately after the call to put-text-property.
(ansi-color-faces-vector): Doc change.
(ansi-color-for-comint-mode): Changed :type property to choice.
(ansi-color-last-context): Removed.
(ansi-color-process-output): Don't use ansi-color-last-context, as
the main functions will store their context now.
(ansi-color-context): Doc change.
(ansi-color-filter-apply): Rewrote it based on ansi-color-apply.
Uses ansi-color-context such that repeated calls will strip
partial escape sequences, too.
(ansi-color-apply): Simplified code. Colorize end of string if
face is not null. Store context in new (FACE STRING) format, such
that repeated calls will strip partial escape sequences, too.
Append faces to face property using ansi-color-apply-sequence such
that cumulative mode actually works.
(ansi-color-context-region): New variable.
(ansi-color-filter-region): Rewrote it based on
ansi-color-apply-on-region. Uses ansi-color-context-region such
that repeated calls will strip partial escape sequences, too.
(ansi-color-apply-on-region): Simplified code. Colorize end of
region if face is not null. Store context in new (FACE POS)
format, such that repeated calls will strip partial escape
sequences, too. Append faces to face property using
ansi-color-apply-sequence such that cumulative mode actually
works.
(ansi-color-apply-sequence): New function.
(ansi-color-get-face): When the default face is added to the list
of faces, all previous settings are discarded and the list of
faces is set to '(default).
(ansi-color-faces-vector): Use nil for the default
face, such that ansi-color-apply and ansi-color-apply-on-region
will do the right thing.
(ansi-color-apply): Do the right thing, ie. if ansi-color-get-face
returns nil, set the list of faces back to nil instead of
appending the result of ansi-color-get-face to the front of the
list.
(ansi-color-for-comint-mode): Doc change.
(ansi-color-process): Doc change.
(ansi-color-last-context): New buffer-local variable.
(ansi-color-process-output): New function. It is automatically
added to comint-output-filter-functions if this is XEmacs.
(ansi-color-unfontify-region): New optional parameter for XEmacs
compatibility. Check wether font-lock-syntactic-keywords is
boundp before removing the syntax table text property, as XEmacs
doesn't have it.
(ansi-color-filter-region): Doc change.
(ansi-color-apply-on-region): Doc change.
(ansi-color-make-face): New function. Compatibility layer for
XEmacs. Return temporary faces instead of cons cells for XEmacs.
(ansi-color-make-color-map): Use ansi-color-make-face.
(ansi-color-get-face): Avoid face text property '(nil) as results
in an errow for XEmacs.
(ansi-color-unfontify-region): New function. Uses
text-property ansi-color in order to preserve fontification by
ansi-color. When the package is loaded, a lambda expression is
put onto font-lock-mode-hook. This lambda expression will check
font-lock-unfontify-region-function and replace
font-lock-default-unfontify-region with
ansi-color-unfontify-region.
(ansi-color-apply): Add text-property ansi-color in addition to
text-property face.
(ansi-color-apply-on-region): Add text-property ansi-color in
addition to text-property face.
(save-buffer-state): Copy of the macro that is also used by
lazy-lock and font-lock.
(ansi-color-for-comint-mode): New option.
(ansi-color-for-comint-mode-on): Set ansi-color-for-comint-mode.
(ansi-color-for-comint-mode-off): Ditto.
(ansi-color-for-comint-mode-filter): Ditto.
(ansi-color-process): New function. Uses
ansi-color-for-comint-mode to decide what to do. This function is
added to comint-preoutput-filter-functions when the package is
loaded.
(ansi-color-for-shell-mode-set): Removed.
(ansi-color-for-shell-mode): Removed.
(ansi-color-for-shell-mode-set): New function with
the lambda expression from the ansi-color-for-shell-mode :set
property. Additionally, modify shell-mode-hook to enable or
disable font-lock-mode for future shell buffers.
(ansi-color-for-shell-mode): The :set property calls
ansi-color-for-shell-mode-set instead of a lambda expression.
(ansi-color-for-shell-mode): Doc change.
(ansi-color-context): New variable.
(ansi-color-apply): Save context between calls.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Tue, 09 Jan 2001 11:38:28 +0000 |
parents | 59ce5f754d90 |
children | fb3498282d71 |
line wrap: on
line source
* BUILDING EMACS ON THE MAC OS -*- outline -*- 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 * 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). The Mac version requires compiled Lisp files to be present in the lisp directory to run properly. It is cumbersome to bootstrap from only the Lisp source files. One way of getting the compiled Lisp files is to build Emacs once on, say, a Unix system and transfer that directory to the Mac. Note that linefeed conversion must be disabled when transferring compiled Lisp files. An alternative is to unzip and untar the archive lisp-elc.tgz. An older version of frame.elc in the archive may cause a problem when the Mac version starts up. If this is the case, simply remove or rename that file. Then once Emacs runs, you can invoke byte-recompile-directory on the lisp directory to byte-compile all out-of-date Lisp files. You may also need to run update-autoloads-from-directories on the lisp directory to bring loaddefs.el up-to-date. * 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 and syms_of_lread in lread.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.