annotate man/macos.texi @ 41648:42271b6bfe3d

(isearch-yank-internal): New helper function. (isearch-yank-char): New function. (isearch-yank-word, isearch-yank-line): Rewrite to use isearch-yank-internal.
author Karl Fogel <kfogel@red-bean.com>
date Wed, 28 Nov 2001 22:34:20 +0000
parents 3b40423b9355
children 01b93e5e53a7
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.
39287
3b40423b9355 Update the copyright years.
Eli Zaretskii <eliz@gnu.org>
parents: 38944
diff changeset
2 @c Copyright (C) 2000,2001 Free Software Foundation, Inc.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
3 @c See file emacs.texi for copying conditions.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
4 @node Mac OS, MS-DOS, Antinews, Top
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
5 @appendix Emacs and the Mac OS
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
6 @cindex Mac OS
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
7 @cindex Macintosh
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
8
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
9 Emacs built on the Mac OS supports many of its major features:
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
10 multiple frames, colors, scroll bars, menu bars, use of the mouse,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
11 fontsets, international characters, input methods, coding systems, and
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
12 synchronous subprocesses (@code{call-process}). Much of this works in
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
13 the same way as on other platforms and is therefore documented in the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
14 rest of this manual. This section describes the peculiarities of using
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
15 Emacs under the Mac OS.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
16
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
17 The following features of Emacs are not yet supported on the Mac:
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
18 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.
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
23 @code{print-buffer} and @code{diff} are not available on the Mac OS,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
24 they are not supported in the Mac OS version.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
25
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
33 @end menu
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
34
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
35 @node Mac Input
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
39 @vindex mac-command-key-is-meta
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
40 @vindex mac-keyboard-text-encoding
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
41
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
42 On the Mac, Emacs can use either the @key{option} key or the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
43 @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
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
47
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
48 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
49 so that dead-key processing with the @key{option} key will still work. This is
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
50 useful for entering non-ASCII Latin characters directly from the Mac
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
51 keyboard, for example.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
52
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
53 Emacs recognizes the setting in the Keyboard control panel and
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
54 supports international and alternative keyboard layouts (e.g., Dvorak).
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
55 Selecting one of the layouts from the keyboard layout pull-down menu
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
56 will affect how the keys typed on the keyboard are interpreted.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
57
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
58 The Mac OS intercepts and handles certain key combinations (e.g.,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
59 @key{command}-@key{SPC} for switching input languages). These will not
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
60 be passed to Emacs.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
61
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
62 The Mac keyboard ordinarily generates characters in the Mac Roman
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
63 encoding. To use it for entering ISO Latin-1 characters directly, set
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
70 the value of @code{mac-keyboard-text-encoding} to
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
75
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
78 @end lisp
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
79
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
80 @node Mac International
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
81 @section International Character Set Support on the Mac
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
84
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
91
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
92 Any native (non-symbol) Mac font can be used to correctly display
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
93 characters in the @code{mac-roman} coding system.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
98
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
99 To insert characters directly in the @code{mac-roman} coding system,
36875
6a6141e694a5 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36503
diff changeset
100 type @kbd{C-x @key{RET} k mac-roman @key{RET}}, customize the option
6a6141e694a5 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 36503
diff changeset
101 @code{keyboard-coding-system}, or put this in your init file:
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
102
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
103 @lisp
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
104 (set-keyboard-coding-system 'mac-roman)
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
105 @end lisp
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
106
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
107 @noindent
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
108 This is useful for editing documents in native Mac encoding.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
109
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
110 You can use input methods provided either by LEIM (@pxref{Input
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
111 Methods}) or the Mac OS to enter international characters.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
112
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
113 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
114 of the manual (@pxref{International}).
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
115
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
118 (@code{set-keyboard-coding-system}). For example, for Traditional
34201
650803574987 Fix two typos.
Eli Zaretskii <eliz@gnu.org>
parents: 34198
diff changeset
119 Chinese, use @samp{chinese-big5} as keyboard coding system; for
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
120 Japanese, use @samp{sjis}, etc. Then select the desired input method in
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
121 the keyboard layout pull-down menu.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
122
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
123 The Mac clipboard and the Emacs kill ring (@pxref{Killing}) are
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
124 connected as follows: the most recent kill is copied to the clipboard
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
125 when Emacs is suspended and the contents of the clipboard is inserted
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
126 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
127 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
128 one in another Mac application and yank it into a Emacs buffer.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
129
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
134 @samp{sjis-mac}). @xref{Specify Coding}, for more details.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
135
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
136
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
137 @node Mac Environment Variables
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
140
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
141 Environment variables and command line arguments for Emacs can be set
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
142 by modifying the @samp{STR#} resources 128 and 129, respectively. A common
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
143 environment variable that one may want to set is @samp{HOME}.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
144
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
145 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
146 form
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
147
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
148 @example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
149 ENV_VAR=VALUE
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
150 @end example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
151
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
152 @noindent
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
153 to resource @samp{STR#} number 128 using @code{ResEdit}. To set up the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
154 program to use unibyte characters exclusively, for example, add the
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
155 string
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
156
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
157 @example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
158 EMACS_UNIBYTE=1
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
159 @end example
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
160
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
161
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
162 @node Mac Directories
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
165
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
166 The directory structure in the Mac OS is seen by Emacs as
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
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
169 /@var{volumename}/@var{filename}
34198
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
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
175
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
176 To access files and folders on the desktop, look in the folder
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
177 @file{Desktop Folder} in your boot volume (this folder is usually
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
178 invisible in the Mac @code{Finder}).
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
179
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
183 is best to avoid naming a volume @file{tmp}. If everything works
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
184 correctly, the program should leave no files in it when it exits. You
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
185 should be able to set the environment variable @code{TMPDIR} to use
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
186 another directory but this folder will still be created.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
187
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
188
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
189 @node Mac Font Specs
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
206 and charset @code{mac-roman}. For example 12-point Monaco can be
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
207 specified by the name @samp{-apple-monaco-*-12-*-mac-roman}.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
208
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
212
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
213 Single-byte fonts converted from GNU fonts in BDF format, which are not
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
214 in the Mac Roman encoding, have foundry, family, and character sets
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
215 encoded in the names of their font suitcases. E.g., the font suitcase
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
216 @samp{ETL-Fixed-ISO8859-1} contains fonts which can be referred to by
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
217 the name @samp{-ETL-fixed-*-iso8859-1}.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
218
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
219
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
223
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
224 @findex do-applescript
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
225 The function @code{do-applescript} takes a string argument,
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
226 executes it as an AppleScript command, and returns the result as a
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
227 string.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
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
7a42abfb0c82 Minor clarification.
Richard M. Stallman <rms@gnu.org>
parents: 38892
diff changeset
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}.