Mercurial > emacs
annotate man/macos.texi @ 36242:be9b15c9bc7b
Use @: liberally.
author | Dave Love <fx@gnu.org> |
---|---|
date | Tue, 20 Feb 2001 20:05:13 +0000 |
parents | 7ae44c5a0404 |
children | 11db0318031d |
rev | line source |
---|---|
34198 | 1 @c This is part of the Emacs manual. |
2 @c Copyright (C) 2000 Free Software Foundation, Inc. | |
3 @c See file emacs.texi for copying conditions. | |
4 @node Mac OS, MS-DOS, Antinews, Top | |
5 @appendix Emacs and the Mac OS | |
6 @cindex Mac OS | |
7 @cindex Macintosh | |
8 | |
9 Emacs built on the Mac OS supports many of its major features: | |
10 multiple frames, colors, scroll bars, menu bars, use of the mouse, | |
11 fontsets, international characters, input methods, coding systems, and | |
12 synchronous subprocesses (@code{call-process}). Much of this works in | |
13 the same way as on other platforms and is therefore documented in the | |
14 rest of this manual. This section describes the peculiarities of using | |
15 Emacs under the Mac OS. | |
16 | |
17 The following features of Emacs are not yet supported on the Mac: | |
18 unexec (@code{dump-emacs}), asynchronous subprocesses | |
19 (@code{start-process}), and networking (@code{open-network-connection}). | |
20 As a result, packages such as Gnus, Ispell, and Comint do not work. | |
21 | |
22 Since external Unix programs to handle commands such as | |
23 @code{print-buffer} and @code{diff} are not available on the Mac OS, | |
24 they are not supported in the Mac OS version. | |
25 | |
26 @menu | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
27 * Input: Mac Input. Keyboard input on the Mac. |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
28 * Intl: Mac International. International character sets on the Mac. |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
29 * Env: Mac Environment Variables. Setting environment variables for Emacs. |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
30 * Directories: Mac Directories. Volumes and directories on the Mac. |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
31 * Font: Mac Font Specs. Specifying fonts on the Mac. |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
32 * Functions: Mac Functions. Mac-specific Lisp functions. |
34198 | 33 @end menu |
34 | |
35 @node Mac Input | |
36 @section Keyboard Input on the Mac | |
37 @cindex Meta (under Mac OS) | |
38 @cindex Mac keyboard coding | |
39 @vindex mac-command-key-is-meta | |
40 @vindex mac-keyboard-text-encoding | |
41 | |
42 On the Mac, Emacs can use either the @key{option} key or the | |
43 @key{command} key as the @key{META} key. If the value of the variable | |
44 @code{mac-command-key-is-meta} is non-@code{nil} (its default value), | |
45 Emacs uses the @key{command} key as the @key{META} key. Otherwise it uses the | |
46 @key{option} key as the @key{META} key. | |
47 | |
48 Most people should want to use the @key{command} key as the @key{META} key, | |
49 so that dead-key processing with the @key{option} key will still work. This is | |
50 useful for entering non-ASCII Latin characters directly from the Mac | |
51 keyboard, for example. | |
52 | |
53 Emacs recognizes the setting in the Keyboard control panel and | |
54 supports international and alternative keyboard layouts (e.g., Dvorak). | |
55 Selecting one of the layouts from the keyboard layout pull-down menu | |
56 will affect how the keys typed on the keyboard are interpreted. | |
57 | |
58 The Mac OS intercepts and handles certain key combinations (e.g., | |
59 @key{command}-@key{SPC} for switching input languages). These will not | |
60 be passed to Emacs. | |
61 | |
62 The Mac keyboard ordinarily generates characters in the Mac Roman | |
63 encoding. To use it for entering ISO Latin-1 characters directly, set | |
64 the value of the variable @code{mac-keyboard-text-encoding} to | |
65 @code{kTextEncodingISOLatin1}. Note that that not all Mac Roman | |
66 characters that can be entered at the keyboard can be converted to ISO | |
67 Latin-1 characters. | |
68 | |
69 To enter ISO Latin-2 characters directly from the Mac keyboard. Set | |
70 the value of @code{mac-keyboard-text-encoding} to | |
71 @code{kTextEncodingISOLatin2}. Then let Emacs know that the keyboard | |
72 generates Latin-2 codes by typink @kbd{C-x RET k iso-latin-2 RET}. To | |
73 make this setting permanent, put this in your @file{.emacs} init file: | |
74 | |
75 @lisp | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
76 (set-keyboard-coding-system 'iso-latin-2) |
34198 | 77 @end lisp |
78 | |
79 @node Mac International | |
80 @section International Character Set Support on the Mac | |
81 @cindex Mac Roman coding system | |
82 @cindex Mac clipboard support | |
83 | |
84 The Mac uses a non-standard encoding for the upper 128 single-byte | |
85 characters. It also deviates from the ISO 2022 standard by using code | |
86 points in the range 128-159. The coding system @code{mac-roman} is used | |
87 to represent this Mac encoding. It is used for editing files stored in | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
88 this native encoding, and for displaying file names in Dired mode. |
34198 | 89 |
90 Any native (non-symbol) Mac font can be used to correctly display | |
91 characters in the @code{mac-roman} coding system. | |
92 | |
93 The fontset @code{fontset-mac} is created automatically when Emacs is | |
94 run on the Mac by the following expression. It displays characters in | |
95 the @code{mac-roman} coding system using 12-point Monaco. | |
96 | |
97 To insert characters directly in the @code{mac-roman} coding system, | |
98 type @kbd{C-x RET k mac-roman RET}, or put this in your @file{.emacs} | |
99 init file: | |
100 | |
101 @lisp | |
102 (set-keyboard-coding-system 'mac-roman) | |
103 @end lisp | |
104 | |
105 @noindent | |
106 This is useful for editing documents in native Mac encoding. | |
107 | |
108 You can use input methods provided either by LEIM (@pxref{Input | |
109 Methods}) or the Mac OS to enter international characters. | |
110 | |
111 To use the former, see the International Character Set Support section | |
112 of the manual. | |
113 | |
114 To use input methods provided by the Mac OS, set the keyboard coding | |
115 system accordingly using the @kbd{C-x RET k} command | |
116 (@code{set-keyboard-coding-system}). For example, for Traditional | |
34201 | 117 Chinese, use @samp{chinese-big5} as keyboard coding system; for |
34198 | 118 Japanese, use @samp{sjis}, etc. Then select the desired input method in |
119 the keyboard layout pull-down menu. | |
120 | |
121 The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are | |
122 connected as follows: the most recent kill is copied to the clipboard | |
123 when Emacs is suspended and the contents of the clipboard is inserted | |
124 into the kill ring when Emacs resumes. The result is that you can yank | |
125 a piece of text and paste it into another Mac application, or cut or copy | |
126 one in another Mac application and yank it into a Emacs buffer. | |
127 | |
128 The encoding of text selections must be specified using the commands | |
129 @kbd{C-x RET x} (@code{set-selection-coding-system}) or @kbd{C-x RET X} | |
130 (@code{set-next-selection-coding-system}) (e.g., for Traditional | |
34201 | 131 Chinese, use @samp{chinese-big5-mac} and for Japanese, |
34198 | 132 @samp{sjis-mac}). @xref{Specify Coding}, for more details. |
133 | |
134 | |
135 @node Mac Environment Variables | |
136 @section Environment Variables and Command Line Arguments. | |
137 @cindex Mac environment variables | |
138 | |
139 Environment variables and command line arguments for Emacs can be set | |
140 by modifying the @samp{STR#} resources 128 and 129, respectively. A common | |
141 environment variable that one may want to set is @samp{HOME}. | |
142 | |
143 The way to set an environment variable is by adding a string of the | |
144 form | |
145 | |
146 @example | |
147 ENV_VAR=VALUE | |
148 @end example | |
149 | |
150 @noindent | |
151 to resource @samp{STR#} number 128 using @code{ResEdit}. To set up the | |
152 program to use unibyte characters exclusively, for example, add the | |
153 string | |
154 | |
155 @example | |
156 EMACS_UNIBYTE=1 | |
157 @end example | |
158 | |
159 | |
160 @node Mac Directories | |
161 @section Volumes and Directories on the Mac | |
162 @cindex file names under Mac OS | |
163 | |
164 The directory structure in the Mac OS is seen by Emacs as | |
165 | |
166 @example | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
167 /@var{volumename}/@var{filename} |
34198 | 168 @end example |
169 | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
170 So when Emacs requests a file name, doing file name completion on |
34198 | 171 @file{/} will display all volumes on the system. As in Unix, @file{..} |
172 can be used to go up a directory level. | |
173 | |
174 To access files and folders on the desktop, look in the folder | |
175 @file{Desktop Folder} in your boot volume (this folder is usually | |
176 invisible in the Mac @code{Finder}). | |
177 | |
178 Emacs creates the Mac folder @file{:Preferences:Emacs:} in the | |
179 @file{System Folder} and uses it as the temporary directory. The Unix | |
180 emulation code maps the Unix directory @file{/tmp} to it. Therefore it | |
181 is best to avoid naming a volume @file{tmp}. If everything works | |
182 correctly, the program should leave no files in it when it exits. You | |
183 should be able to set the environment variable @code{TMPDIR} to use | |
184 another directory but this folder will still be created. | |
185 | |
186 | |
187 @node Mac Font Specs | |
188 @section Specifying Fonts on the Mac | |
189 @cindex font names under Mac OS | |
190 | |
191 Fonts are specified to Emacs on the Mac in the form of a standard X | |
192 font name. I.e., | |
193 | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
194 @smallexample |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
195 -@var{foundry}-@var{family}-@var{weight}-@var{slant}-@var{width}--@var{pixels}-@var{points}-@var{hres}-@var{vres}-@var{spacing}-@var{avewidth}-@var{charset} |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
196 @end smallexample |
34198 | 197 |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
198 @noindent |
34198 | 199 where the fields refer to foundry, font family, weight, slant, width, |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
200 pixels, point size, horizontal resolution, vertical resolution, |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
201 spacing, average width, and character set, respectively. Wildcards |
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
202 are supported as they are on X. |
34198 | 203 |
204 Native Apple fonts in Mac Roman encoding has foundry name @code{apple} | |
205 and charset @code{mac-roman}. For example 12-point Monaco can be | |
206 specified by the name @samp{-apple-monaco-*-12-*-mac-roman}. | |
207 | |
208 Native Apple Traditional Chinese, Simplified Chinese, Japanese, and | |
209 Korean fonts have charsets @samp{big5-0}, @samp{gb2312-0}, | |
210 @samp{jisx0208.1983-sjis}, and @samp{ksc5601-1}, respectively. | |
211 | |
212 Single-byte fonts converted from GNU fonts in BDF format, which are not | |
213 in the Mac Roman encoding, have foundry, family, and character sets | |
214 encoded in the names of their font suitcases. E.g., the font suitcase | |
215 @samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by | |
216 the name @samp{-ETL-fixed-*-iso8859-1}. | |
217 | |
218 | |
219 @node Mac Functions | |
36165
7ae44c5a0404
One more small cleanup.
Richard M. Stallman <rms@gnu.org>
parents:
36163
diff
changeset
|
220 @section Mac-Specific Lisp Functions |
34198 | 221 @cindex Lisp functions on the Mac OS |
222 | |
223 @findex do-applescript | |
224 The function @code{do-applescript} takes a string argument, | |
225 executes it as an AppleScript command, and returns the result as a | |
226 string. | |
227 | |
228 @findex mac-filename-to-unix | |
229 @findex unix-filename-to-mac | |
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
230 The function @code{mac-filename-to-unix} takes a Mac file name and |
34198 | 231 returns the Unix equivalent. The function @code{unix-filename-to-mac} |
232 performs the opposite conversion. They are useful for constructing | |
233 AppleScript commands to be passed to @code{do-applescript}. |