annotate man/macos.texi @ 65196:00f2dbd6f52a

(safe-functions): Add defvar.
author Juanma Barranquero <lekktu@gmail.com>
date Mon, 29 Aug 2005 10:46:28 +0000
parents 3723093a21fd
children cef93d58fdb4 2d92f5c9d6ae
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
1 @c This is part of the Emacs manual.
64890
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 59798
diff changeset
2 @c Copyright (C) 2000, 2001, 2002, 2003, 2004,
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 59798
diff changeset
3 @c 2005 Free Software Foundation, Inc.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
5 @node Mac OS, MS-DOS, Antinews, Top
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
6 @appendix Emacs and the Mac OS
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
7 @cindex Mac OS
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
8 @cindex Macintosh
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
9
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
10 Emacs built on Mac OS X supports most of its major features:
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
11 multiple frames, colors, scroll bars, menu bars, use of the mouse,
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
12 fontsets, international characters, input methods, coding systems,
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
13 asynchronous and synchronous subprocesses, unexec (@code{dump-emacs}),
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
14 and networking (@code{open-network-stream}). Support for various
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
15 image file formats has not been implemented yet.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
16
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
17 The following features of Emacs are not yet supported on the Mac OS
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
18 8 or 9: unexec (@code{dump-emacs}), asynchronous subprocesses
38021
41f655ec596a Fix a typo.
Eli Zaretskii <eliz@gnu.org>
parents: 37511
diff changeset
19 (@code{start-process}), and networking (@code{open-network-stream}).
37511
226e5ac0edeb (Mac OS): Don't say Ispell cannot work: it can, if they have a port
Eli Zaretskii <eliz@gnu.org>
parents: 36875
diff changeset
20 As a result, packages such as Gnus, GUD, and Comint do not work.
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
21 However, synchronous subprocesses (@code{call-process}) are supported.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
22 Since external programs to handle commands such as @code{print-buffer}
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
23 and @code{diff} are not available on Mac OS 8 or 9, they are not
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
24 supported.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
25
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
26 Most of the features that are supported work in the same way as on
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
27 other platforms and are therefore documented in the rest of this
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
28 manual. This section describes the peculiarities of using Emacs under
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
29 the Mac OS.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
30
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
31 @menu
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
32 * Input: Mac Input. Keyboard input on the Mac.
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
33 * Intl: Mac International. International character sets on the Mac.
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
34 * Env: Mac Environment Variables. Setting environment variables for Emacs.
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
35 * Directories: Mac Directories. Volumes and directories on the Mac.
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
36 * Font: Mac Font Specs. Specifying fonts on the Mac.
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
37 * Functions: Mac Functions. Mac-specific Lisp functions.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
38 @end menu
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
39
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
40 @node Mac Input
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
41 @section Keyboard Input on the Mac
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
42 @cindex Meta (Mac OS)
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
43 @cindex keyboard coding (Mac OS)
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
44 @vindex mac-command-key-is-meta
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
45 @vindex mac-keyboard-text-encoding
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
46
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
47 On the Mac, Emacs can use either the @key{option} key or the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
48 @key{command} key as the @key{META} key. If the value of the variable
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
49 @code{mac-command-key-is-meta} is non-@code{nil} (its default value),
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
50 Emacs uses the @key{command} key as the @key{META} key. Otherwise it
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
51 uses the @key{option} key as the @key{META} key.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
52
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
53 Most people should want to use the @key{command} key as the @key{META} key,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
54 so that dead-key processing with the @key{option} key will still work. This is
52979
3649390c0f91 Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents: 52401
diff changeset
55 useful for entering non-@acronym{ASCII} Latin characters directly from the Mac
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
56 keyboard, for example.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
57
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
58 Emacs recognizes the setting in the Keyboard control panel and
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
59 supports international and alternative keyboard layouts (e.g., Dvorak).
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
60 Selecting one of the layouts from the keyboard layout pull-down menu
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
61 will affect how the keys typed on the keyboard are interpreted.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
62
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
63 The Mac OS intercepts and handles certain key combinations (e.g.,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
64 @key{command}-@key{SPC} for switching input languages). These will not
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
65 be passed to Emacs.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
66
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
67 The Mac keyboard ordinarily generates characters in the Mac Roman
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
68 encoding. To use it for entering ISO Latin-1 characters directly, set
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
69 the value of the variable @code{mac-keyboard-text-encoding} to
36413
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
70 @code{kTextEncodingISOLatin1}. Note that not all Mac Roman characters
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
71 that can be entered at the keyboard can be converted to ISO Latin-1
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
72 characters.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
73
36499
7da7487bbbd8 (Mac Input, Mac Font Specs): Fix typos reported by Dr Francis J. Wright
Eli Zaretskii <eliz@gnu.org>
parents: 36413
diff changeset
74 To enter ISO Latin-2 characters directly from the Mac keyboard, set
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
75 the value of @code{mac-keyboard-text-encoding} to
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
76 @code{kTextEncodingISOLatin2}. Then let Emacs know that the keyboard
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
77 generates Latin-2 codes, by typing @kbd{C-x @key{RET} k iso-latin-2
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
78 @key{RET}}. To make this setting permanent, put this in your
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
79 @file{.emacs} init file:
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
80
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
81 @lisp
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
82 (set-keyboard-coding-system 'iso-latin-2)
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
83 @end lisp
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
84
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
85 @node Mac International
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
86 @section International Character Set Support on the Mac
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
87 @cindex Mac Roman coding system
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
88 @cindex clipboard support (Mac OS)
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
89
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
90 The Mac uses a non-standard encoding for the upper 128 single-byte
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
91 characters. It also deviates from the ISO 2022 standard by using
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
92 character codes in the range 128-159. The coding system
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
93 @code{mac-roman} is used to represent this Mac encoding. It is used
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
94 for editing files stored in this native encoding, and for displaying
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
95 file names in Dired mode.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
96
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
97 Any native (non-symbol) Mac font can be used to correctly display
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
98 characters in the @code{mac-roman} coding system.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
99
36413
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
100 The fontset @code{fontset-mac} is created automatically when Emacs
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
101 is run on the Mac. It displays characters in the @code{mac-roman}
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
102 coding system using 12-point Monaco.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
103
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
104 To insert characters directly in the @code{mac-roman} coding system,
59798
0816b427495a Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents: 52979
diff changeset
105 type @kbd{C-x @key{RET} k mac-roman @key{RET}}, customize the variable
36875
6a6141e694a5 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36503
diff changeset
106 @code{keyboard-coding-system}, or put this in your init file:
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
107
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
108 @lisp
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
109 (set-keyboard-coding-system 'mac-roman)
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
110 @end lisp
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
111
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
112 @noindent
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
113 This is useful for editing documents in native Mac encoding.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
114
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
115 You can use input methods provided either by LEIM (@pxref{Input
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
116 Methods}) or the Mac OS to enter international characters.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
117
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
118 To use the former, see the International Character Set Support section
36875
6a6141e694a5 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36503
diff changeset
119 of the manual (@pxref{International}).
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
120
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
121 To use input methods provided by the Mac OS, set the keyboard coding
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
122 system accordingly using the @kbd{C-x @key{RET} k} command
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
123 (@code{set-keyboard-coding-system}). For example, for Traditional
34201
650803574987 Fix two typos.
Eli Zaretskii <eliz@gnu.org>
parents: 34198
diff changeset
124 Chinese, use @samp{chinese-big5} as keyboard coding system; for
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
125 Japanese, use @samp{sjis}, etc. Then select the desired input method in
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
126 the keyboard layout pull-down menu.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
127
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
128 The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
129 connected as follows: the most recent kill is copied to the clipboard
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
130 when Emacs is suspended and the contents of the clipboard is inserted
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
131 into the kill ring when Emacs resumes. The result is that you can yank
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
132 a piece of text and paste it into another Mac application, or cut or copy
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
133 one in another Mac application and yank it into a Emacs buffer.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
134
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
135 The encoding of text selections must be specified using the commands
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
136 @kbd{C-x @key{RET} x} (@code{set-selection-coding-system}) or @kbd{C-x
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
137 @key{RET} X} (@code{set-next-selection-coding-system}) (e.g., for
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
138 Traditional Chinese, use @samp{chinese-big5-mac} and for Japanese,
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
139 @samp{sjis-mac}). @xref{Specify Coding}, for more details.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
140
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
141
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
142 @node Mac Environment Variables
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
143 @section Environment Variables and Command Line Arguments.
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
144 @cindex environment variables (Mac OS)
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
145
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
146 On Mac OS X, when Emacs is run in a terminal, it inherits the values
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
147 of environment variables from the shell from which it is invoked.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
148 However, when it is run from the Finder as a GUI application, it
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
149 inherits no environment variable values.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
150
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
151 On Mac OS 8 or 9, environment variables and command line arguments
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
152 for Emacs can be set by modifying the @samp{STR#} resources 128 and
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
153 129, respectively. A common environment variable that one may want to
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
154 set is @samp{HOME}.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
155
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
156 The way to set an environment variable is by adding a string of the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
157 form
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
158
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
159 @example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
160 ENV_VAR=VALUE
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
161 @end example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
162
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
163 @noindent
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
164 to resource @samp{STR#} number 128 using @code{ResEdit}. To set up the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
165 program to use unibyte characters exclusively, for example, add the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
166 string
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
167
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
168 @example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
169 EMACS_UNIBYTE=1
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
170 @end example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
171
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
172
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
173 @node Mac Directories
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
174 @section Volumes and Directories on the Mac
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
175 @cindex file names (Mac OS)
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
176
49600
23a1cea22d13 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 44890
diff changeset
177 The directory structure in the Mac OS is seen by Emacs as
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
178
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
179 @example
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
180 /@var{volumename}/@var{filename}
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
181 @end example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
182
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
183 So when Emacs requests a file name, doing file name completion on
38865
62e02f5ae533 Avoid saying "Unix" in a way that includes GNU.
Richard M. Stallman <rms@gnu.org>
parents: 38021
diff changeset
184 @file{/} will display all volumes on the system. You can use @file{..}
62e02f5ae533 Avoid saying "Unix" in a way that includes GNU.
Richard M. Stallman <rms@gnu.org>
parents: 38021
diff changeset
185 to go up a directory level.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
186
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
187 On Mac OS 8 or 9, to access files and folders on the desktop, look
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
188 in the folder @file{Desktop Folder} in your boot volume (this folder
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
189 is usually invisible in the Mac @code{Finder}).
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
190
44890
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
191 On Mac OS 8 or 9, Emacs creates the Mac folder
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
192 @file{:Preferences:Emacs:} in the @file{System Folder} and uses it as
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
193 the temporary directory. Emacs maps the directory name @file{/tmp/}
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
194 to that. Therefore it is best to avoid naming a volume @file{tmp}.
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
195 If everything works correctly, the program should leave no files in it
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
196 when it exits. You should be able to set the environment variable
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
197 @code{TMPDIR} to use another directory but this folder will still be
01b93e5e53a7 Patch for building Emacs on Mac OS X. April 26, 2002. See ChangeLog,
Andrew Choi <akochoi@shaw.ca>
parents: 39287
diff changeset
198 created.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
199
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
200
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
201 @node Mac Font Specs
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
202 @section Specifying Fonts on the Mac
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
203 @cindex font names (Mac OS)
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
204
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
205 It is rare that you need to specify a font name in Emacs; usually
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
206 you specify face attributes instead. But when you do need to specify
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
207 a font name in Emacs on the Mac, use a standard X font name:
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
208
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
209 @smallexample
36413
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
210 -@var{maker}-@var{family}-@var{weight}-@var{slant}-@var{widthtype}-@var{style}@dots{}
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
211 @dots{}-@var{pixels}-@var{height}-@var{horiz}-@var{vert}-@var{spacing}-@var{width}-@var{charset}
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
212 @end smallexample
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
213
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
214 @noindent
36503
d7815b5b49d7 Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents: 36499
diff changeset
215 @xref{Font X}. Wildcards are supported as they are on X.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
216
36413
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
217 Native Apple fonts in Mac Roman encoding has maker name @code{apple}
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
218 and charset @code{mac-roman}. For example 12-point Monaco can be
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
219 specified by the name @samp{-apple-monaco-*-12-*-mac-roman}.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
220
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
221 Native Apple Traditional Chinese, Simplified Chinese, Japanese, and
36413
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
222 Korean fonts have charsets @samp{big5-0}, @samp{gb2312.1980-0},
f5625ac53fba Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents: 36263
diff changeset
223 @samp{jisx0208.1983-sjis}, and @samp{ksc5601.1989-0}, respectively.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
224
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
225 Single-byte fonts converted from GNU fonts in BDF format, which are not
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
226 in the Mac Roman encoding, have foundry, family, and character sets
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
227 encoded in the names of their font suitcases. E.g., the font suitcase
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
228 @samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
229 the name @samp{-ETL-fixed-*-iso8859-1}.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
230
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
231
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
232 @node Mac Functions
36165
7ae44c5a0404 One more small cleanup.
Richard M. Stallman <rms@gnu.org>
parents: 36163
diff changeset
233 @section Mac-Specific Lisp Functions
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36165
diff changeset
234 @cindex Lisp functions specific to Mac OS
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
235
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
236 @findex do-applescript
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
237 The function @code{do-applescript} takes a string argument,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
238 executes it as an AppleScript command, and returns the result as a
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
239 string.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
240
38892
8ae568af6251 2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents: 38865
diff changeset
241 @findex mac-file-name-to-posix
8ae568af6251 2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents: 38865
diff changeset
242 @findex posix-file-name-to-mac
8ae568af6251 2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents: 38865
diff changeset
243 The function @code{mac-file-name-to-posix} takes a Mac file name and
38944
7a42abfb0c82 Minor clarification.
Richard M. Stallman <rms@gnu.org>
parents: 38892
diff changeset
244 returns the GNU or Unix equivalent. The function
38892
8ae568af6251 2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents: 38865
diff changeset
245 @code{posix-file-name-to-mac} performs the opposite conversion. They
8ae568af6251 2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents: 38865
diff changeset
246 are useful for constructing AppleScript commands to be passed to
8ae568af6251 2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents: 38865
diff changeset
247 @code{do-applescript}.
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
248
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
249 @ignore
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
250 arch-tag: a822c2ab-4273-4997-927e-c153bb71dcf6
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 49600
diff changeset
251 @end ignore