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