annotate man/macos.texi @ 38212:6b14cc47a4f2

Major rewrite. Sections Tags, Emerge, Change Log and Authors moved to maintaining.texi. Some sections reordered. Node Misc for Programs moved to just before the language-specific sections. New node Defuns contains an intro plus the old Defuns node (now renamed Moving by Defuns) as well as Imenu, Which Function, and a node Left Margin Paren to explain the convention about this. New node Parentheses now documents M-x check-parens. It contains subnodes Expressions, Moving by Parens, and Matching. Expressions and Moving by Parens contain the material formerly in Lists and List Commands, but divided up differently. The section Balanced Editing has been deleted. Most of the C indentation customization (all except c-set-style), has been replaced with a reference to the C Modes manual. Documentation now is divided into three subsections. Some rewrites in the Program Indent section about C-u TAB and C-M-q.
author Richard M. Stallman <rms@gnu.org>
date Tue, 26 Jun 2001 13:43:32 +0000
parents 41f655ec596a
children 62e02f5ae533
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.
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
2 @c Copyright (C) 2000 Free Software Foundation, Inc.
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
22 Since external Unix programs to handle commands such as
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
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
173 @file{/} will display all volumes on the system. As in Unix, @file{..}
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
174 can be used to go up a directory level.
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
181 @file{System Folder} and uses it as the temporary directory. The Unix
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
182 emulation code maps the Unix directory @file{/tmp} to it. Therefore it
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
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
229 @findex mac-filename-to-unix
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
230 @findex unix-filename-to-mac
36163
159cc113a7b0 Small cleanups in usage.
Richard M. Stallman <rms@gnu.org>
parents: 34201
diff changeset
231 The function @code{mac-filename-to-unix} takes a Mac file name and
34198
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
232 returns the Unix equivalent. The function @code{unix-filename-to-mac}
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
233 performs the opposite conversion. They are useful for constructing
306a480b3f22 New file.
Eli Zaretskii <eliz@gnu.org>
parents:
diff changeset
234 AppleScript commands to be passed to @code{do-applescript}.