Mercurial > emacs
annotate man/macos.texi @ 42811:cf0c0ef57504
*** empty log message ***
| author | Jason Rumney <jasonr@gnu.org> |
|---|---|
| date | Thu, 17 Jan 2002 19:29:24 +0000 |
| parents | 3b40423b9355 |
| children | 01b93e5e53a7 |
| rev | line source |
|---|---|
| 34198 | 1 @c This is part of the Emacs manual. |
| 39287 | 2 @c Copyright (C) 2000,2001 Free Software Foundation, Inc. |
| 34198 | 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 | |
| 38021 | 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. |
| 34198 | 21 |
|
38865
62e02f5ae533
Avoid saying "Unix" in a way that includes GNU.
Richard M. Stallman <rms@gnu.org>
parents:
38021
diff
changeset
|
22 Since external programs to handle commands such as |
| 34198 | 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 | |
|
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
37 @cindex Meta (Mac OS) |
|
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
38 @cindex keyboard coding (Mac OS) |
| 34198 | 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), | |
|
36503
d7815b5b49d7
Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents:
36499
diff
changeset
|
45 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
|
46 uses the @key{option} key as the @key{META} key. |
| 34198 | 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 | |
|
36413
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
65 @code{kTextEncodingISOLatin1}. Note that not all Mac Roman characters |
|
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
66 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
|
67 characters. |
| 34198 | 68 |
|
36499
7da7487bbbd8
(Mac Input, Mac Font Specs): Fix typos reported by Dr Francis J. Wright
Eli Zaretskii <eliz@gnu.org>
parents:
36413
diff
changeset
|
69 To enter ISO Latin-2 characters directly from the Mac keyboard, set |
| 34198 | 70 the value of @code{mac-keyboard-text-encoding} to |
| 71 @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
|
72 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
|
73 @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
|
74 @file{.emacs} init file: |
| 34198 | 75 |
| 76 @lisp | |
|
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
77 (set-keyboard-coding-system 'iso-latin-2) |
| 34198 | 78 @end lisp |
| 79 | |
| 80 @node Mac International | |
| 81 @section International Character Set Support on the Mac | |
| 82 @cindex Mac Roman coding system | |
|
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
83 @cindex clipboard support (Mac OS) |
| 34198 | 84 |
| 85 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
|
86 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
|
87 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
|
88 @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
|
89 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
|
90 file names in Dired mode. |
| 34198 | 91 |
| 92 Any native (non-symbol) Mac font can be used to correctly display | |
| 93 characters in the @code{mac-roman} coding system. | |
| 94 | |
|
36413
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
95 The fontset @code{fontset-mac} is created automatically when Emacs |
|
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
96 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
|
97 coding system using 12-point Monaco. |
| 34198 | 98 |
| 99 To insert characters directly in the @code{mac-roman} coding system, | |
| 36875 | 100 type @kbd{C-x @key{RET} k mac-roman @key{RET}}, customize the option |
| 101 @code{keyboard-coding-system}, or put this in your init file: | |
| 34198 | 102 |
| 103 @lisp | |
| 104 (set-keyboard-coding-system 'mac-roman) | |
| 105 @end lisp | |
| 106 | |
| 107 @noindent | |
| 108 This is useful for editing documents in native Mac encoding. | |
| 109 | |
| 110 You can use input methods provided either by LEIM (@pxref{Input | |
| 111 Methods}) or the Mac OS to enter international characters. | |
| 112 | |
| 113 To use the former, see the International Character Set Support section | |
| 36875 | 114 of the manual (@pxref{International}). |
| 34198 | 115 |
| 116 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
|
117 system accordingly using the @kbd{C-x @key{RET} k} command |
| 34198 | 118 (@code{set-keyboard-coding-system}). For example, for Traditional |
| 34201 | 119 Chinese, use @samp{chinese-big5} as keyboard coding system; for |
| 34198 | 120 Japanese, use @samp{sjis}, etc. Then select the desired input method in |
| 121 the keyboard layout pull-down menu. | |
| 122 | |
| 123 The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are | |
| 124 connected as follows: the most recent kill is copied to the clipboard | |
| 125 when Emacs is suspended and the contents of the clipboard is inserted | |
| 126 into the kill ring when Emacs resumes. The result is that you can yank | |
| 127 a piece of text and paste it into another Mac application, or cut or copy | |
| 128 one in another Mac application and yank it into a Emacs buffer. | |
| 129 | |
| 130 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
|
131 @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
|
132 @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
|
133 Traditional Chinese, use @samp{chinese-big5-mac} and for Japanese, |
| 34198 | 134 @samp{sjis-mac}). @xref{Specify Coding}, for more details. |
| 135 | |
| 136 | |
| 137 @node Mac Environment Variables | |
| 138 @section Environment Variables and Command Line Arguments. | |
|
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
139 @cindex environment variables (Mac OS) |
| 34198 | 140 |
| 141 Environment variables and command line arguments for Emacs can be set | |
| 142 by modifying the @samp{STR#} resources 128 and 129, respectively. A common | |
| 143 environment variable that one may want to set is @samp{HOME}. | |
| 144 | |
| 145 The way to set an environment variable is by adding a string of the | |
| 146 form | |
| 147 | |
| 148 @example | |
| 149 ENV_VAR=VALUE | |
| 150 @end example | |
| 151 | |
| 152 @noindent | |
| 153 to resource @samp{STR#} number 128 using @code{ResEdit}. To set up the | |
| 154 program to use unibyte characters exclusively, for example, add the | |
| 155 string | |
| 156 | |
| 157 @example | |
| 158 EMACS_UNIBYTE=1 | |
| 159 @end example | |
| 160 | |
| 161 | |
| 162 @node Mac Directories | |
| 163 @section Volumes and Directories on the Mac | |
|
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
164 @cindex file names (Mac OS) |
| 34198 | 165 |
| 166 The directory structure in the Mac OS is seen by Emacs as | |
| 167 | |
| 168 @example | |
|
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
169 /@var{volumename}/@var{filename} |
| 34198 | 170 @end example |
| 171 | |
|
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
172 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
|
173 @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
|
174 to go up a directory level. |
| 34198 | 175 |
| 176 To access files and folders on the desktop, look in the folder | |
| 177 @file{Desktop Folder} in your boot volume (this folder is usually | |
| 178 invisible in the Mac @code{Finder}). | |
| 179 | |
| 180 Emacs creates the Mac folder @file{:Preferences:Emacs:} in the | |
|
38865
62e02f5ae533
Avoid saying "Unix" in a way that includes GNU.
Richard M. Stallman <rms@gnu.org>
parents:
38021
diff
changeset
|
181 @file{System Folder} and uses it as the temporary directory. Emacs |
|
62e02f5ae533
Avoid saying "Unix" in a way that includes GNU.
Richard M. Stallman <rms@gnu.org>
parents:
38021
diff
changeset
|
182 maps the directory name @file{/tmp/} to that. Therefore it |
| 34198 | 183 is best to avoid naming a volume @file{tmp}. If everything works |
| 184 correctly, the program should leave no files in it when it exits. You | |
| 185 should be able to set the environment variable @code{TMPDIR} to use | |
| 186 another directory but this folder will still be created. | |
| 187 | |
| 188 | |
| 189 @node Mac Font Specs | |
| 190 @section Specifying Fonts on the Mac | |
|
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
191 @cindex font names (Mac OS) |
| 34198 | 192 |
|
36503
d7815b5b49d7
Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents:
36499
diff
changeset
|
193 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
|
194 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
|
195 a font name in Emacs on the Mac, use a standard X font name: |
| 34198 | 196 |
|
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
197 @smallexample |
|
36413
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
198 -@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
|
199 @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
|
200 @end smallexample |
| 34198 | 201 |
|
36163
159cc113a7b0
Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents:
34201
diff
changeset
|
202 @noindent |
|
36503
d7815b5b49d7
Minor clarifications. Explain that one normally specifies face attributes
Richard M. Stallman <rms@gnu.org>
parents:
36499
diff
changeset
|
203 @xref{Font X}. Wildcards are supported as they are on X. |
| 34198 | 204 |
|
36413
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
205 Native Apple fonts in Mac Roman encoding has maker name @code{apple} |
| 34198 | 206 and charset @code{mac-roman}. For example 12-point Monaco can be |
| 207 specified by the name @samp{-apple-monaco-*-12-*-mac-roman}. | |
| 208 | |
| 209 Native Apple Traditional Chinese, Simplified Chinese, Japanese, and | |
|
36413
f5625ac53fba
Made minor editing changes.
Andrew Choi <akochoi@shaw.ca>
parents:
36263
diff
changeset
|
210 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
|
211 @samp{jisx0208.1983-sjis}, and @samp{ksc5601.1989-0}, respectively. |
| 34198 | 212 |
| 213 Single-byte fonts converted from GNU fonts in BDF format, which are not | |
| 214 in the Mac Roman encoding, have foundry, family, and character sets | |
| 215 encoded in the names of their font suitcases. E.g., the font suitcase | |
| 216 @samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by | |
| 217 the name @samp{-ETL-fixed-*-iso8859-1}. | |
| 218 | |
| 219 | |
| 220 @node Mac Functions | |
|
36165
7ae44c5a0404
One more small cleanup.
Richard M. Stallman <rms@gnu.org>
parents:
36163
diff
changeset
|
221 @section Mac-Specific Lisp Functions |
|
36263
11db0318031d
Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents:
36165
diff
changeset
|
222 @cindex Lisp functions specific to Mac OS |
| 34198 | 223 |
| 224 @findex do-applescript | |
| 225 The function @code{do-applescript} takes a string argument, | |
| 226 executes it as an AppleScript command, and returns the result as a | |
| 227 string. | |
| 228 | |
|
38892
8ae568af6251
2001-08-21 Andrew Choi <akochoi@i-cable.com>
Andrew Choi <akochoi@shaw.ca>
parents:
38865
diff
changeset
|
229 @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
|
230 @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
|
231 The function @code{mac-file-name-to-posix} takes a Mac file name and |
| 38944 | 232 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
|
233 @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
|
234 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
|
235 @code{do-applescript}. |
