Commit | Line | Data |
---|---|---|
8d640e6b GM |
1 | Copyright (C) 2008 Free Software Foundation, Inc. |
2 | See the end of the file for license conditions. | |
edfda783 AR |
3 | |
4 | Emacs.app | |
5 | ========= | |
6 | ||
4537179d AR |
7 | This file introduces the NeXTstep-based port of GNU Emacs, known as |
8 | Emacs.app, which runs on on many POSIX systems and possibly W32 using | |
9 | the GNUstep libraries and on MacOS X systems using the Cocoa | |
10 | libraries. The directory "nextstep" and its subdirectories "Cocoa" | |
11 | and "GNUstep" contain files relevant to building and running on these | |
12 | systems. | |
edfda783 AR |
13 | |
14 | Those primarily responsible for the port (in chronological order) were: | |
15 | ||
16 | Michael Brouwer | |
17 | Carl Edman | |
18 | Christian Limpach | |
19 | Scott Bender | |
20 | Christophe de Dinechin | |
21 | Adrian Robert | |
22 | ||
23 | See AUTHORS file and "Release History" below for more information. | |
24 | ||
25 | GNU Emacs is due to Richard Stallman and company. | |
26 | ||
27 | The GNUstep port was made possible through the assistance of Adam Fedor, Fred | |
28 | Kiefer, M. Uli Klusterer, Alexander Malmberg, Jonas Matton, and Riccardo | |
29 | Mottola. | |
30 | ||
31 | Peter Dyballa assisted in a variety of ways to improve text rendering and | |
32 | keyboard handling. Adam Ratcliffe documented the Preferences panel. David | |
33 | M. Cooke contributed fixes to XPM handling. Carsten Bormann helped get dired | |
34 | working for non-ASCII filenames. | |
35 | ||
36 | ||
37 | Requirements | |
38 | ------------ | |
39 | MacOS X 10.3 or later | |
40 | - or - | |
41 | GNUstep "Startup 0.13" or later | |
42 | Tested on linux, should work on other systems, perhaps with minor build | |
43 | tweaking. | |
44 | ||
45 | ||
46 | Compilation | |
47 | ----------- | |
48 | ||
4537179d | 49 | See INSTALL. |
edfda783 AR |
50 | |
51 | ||
52 | Usage | |
53 | ----- | |
54 | ||
55 | Please use the first entry under the help menu within Emacs.app, do | |
56 | "M-x info-ns-emacs". | |
57 | ||
58 | ||
59 | Background | |
60 | ---------- | |
61 | ||
62 | Internally to emacs, the port and its code are referred to using the term | |
63 | "NeXTstep", despite the fact that no system or API has been released under | |
64 | this name in more than 10 years. Here's some background on why.. | |
65 | ||
66 | NeXT, Inc. introduced the NeXTstep API with its computer and operating system | |
67 | in the late 1980's. Later on in collaboration with Sun, this API was | |
68 | published as a specification called OpenStep. The GNUstep project started in | |
69 | the early 1990's to provide a free implementation of this API. Later on, | |
70 | Apple bought NeXT (some would say "NeXT bought Apple") and made OpenStep the | |
71 | basis of OS X, calling the API "Cocoa". Since then, Cocoa has evolved beyond | |
72 | the OpenStep specification, and GNUstep has followed it. | |
73 | ||
74 | Thus, calling this port "OpenStep" is not technically accurate, and in the | |
75 | absence of any other determinant, we are using the term "NeXTstep", both | |
76 | because it signifies the original inspiration that created these APIs, and | |
77 | because all of the classes and functions still begin with the letters "NS". | |
78 | ||
79 | (See http://en.wikipedia.org/wiki/Nextstep) | |
80 | ||
81 | This Emacs port was first released in the early 1990's on the NeXT computer, | |
82 | and was successively updated to OpenStep, Rhapsody, OS X, and then finally | |
83 | GNUstep, tracking GNU emacs core releases in the meantime. | |
84 | ||
85 | ||
edfda783 AR |
86 | |
87 | Release History | |
88 | --------------- | |
89 | ||
90 | 1990-1992 1.0-3.0 (?) Michael Brouwer's socket/terminal communication | |
91 | based version (GUI ran as a separate process.) | |
92 | ||
93 | 1993/10/25 3.0.1 Last (?) release of Brouwer version. Supports | |
94 | NeXTstep 3.x and below. | |
95 | ||
96 | 1994/04/24 4.0 Carl Edman's version using direct API following | |
97 | the X-Windows port. NeXTstep 3.x only. | |
98 | ||
99 | 1995/06/15 4.1 Second (and last) Carl Edman release, based on | |
100 | Emacs 19.28. | |
101 | ||
102 | 1996/07/28 4.2 First Christian Limpach release, based on | |
103 | Emacs 19.29. | |
104 | ||
105 | ?? 5.0 ?? | |
106 | ||
107 | 1997/12/?? 6.0b1 Ported to OpenStep by Scott Bender. Updated | |
108 | to Emacs 20.2. | |
109 | ||
110 | ?? 6.0b2 (?) Scott Bender: ported to Rhapsody. | |
111 | ||
112 | 1999/05/?? 6.0b3 Scott Bender: "OS X Server", Emacs 20.3. | |
113 | ||
114 | 2001/06/25 7.0 Ported to MacOS X (10.1) by Christophe de | |
115 | Dinechin. Release based on Emacs 20.7. Hosting | |
116 | moved to SourceForge. | |
117 | ||
118 | 2002/01/03 7.0.1 Bug fixes. | |
119 | ||
120 | 2002/08/27 7.0.2 Jaguar (OS X 10.2) support. Added an autoconf | |
121 | option for sys_nerr being in stdio. Added | |
122 | libncurses to the build libraries. Fixed a | |
123 | problem with ns-alternate-is-meta. Changed the | |
124 | icon color to blue, since Jaguar is yellow. | |
125 | ||
126 | 2004/10/07 8.0-pre1 Ported to GNUstep by Adrian Robert. | |
127 | ||
128 | 2004/11/04 8.0-pre2 Restored functionality on OS X (menu code | |
129 | cleanup). Improved scrollbar handling and | |
130 | paste from other applications. File icons | |
131 | obtained properly from NSWorkspace. Dropped | |
132 | Gorm and Nib files. Background refresh bug | |
133 | fixed (in GNUstep). Various small fixes and | |
134 | code cleanups. Now starts up under Art. | |
135 | ||
136 | 2005/01/27 8.0-pre3 Bold and italic faces supported. Cursor and | |
137 | mouse highlighting rendering bugs | |
138 | fixed. Drag/drop and cut/paste interaction | |
139 | w/external apps fixed. File load/save panels | |
140 | available. Stability and rendering speed | |
141 | improvements. Some ObjC and VC mode bugs fixed. | |
142 | ||
143 | 2005/02/27 8.0-rc1 Dynamic path detection at startup so Emacs.app | |
144 | can be moved anywhere. Added binary packages | |
145 | and simplified source installation to running | |
146 | two scripts. Thorough cleanup of menu code; | |
147 | now fully functional. Fixed all detected | |
148 | memory leaks. Minor frame focus and title | |
149 | bugs fixed. | |
150 | ||
151 | 2005/03/30 8.0-rc2 "Configure" info directory now uses dynamic | |
152 | path setting, so info files can go under .app. | |
153 | Improved select() handling and PTY fixes so | |
154 | shell mode and tramp run smoothly. | |
155 | Significant rendering optimizations under | |
156 | GNUstep, and now works under Art backend. | |
157 | Non-Latin text rendering works (but not | |
158 | fontsets), and LEIM is bundled. UTF8 is used | |
159 | for clipboard interaction. | |
160 | Arrow cursor now used on scrollbar. | |
161 | objc-mode and tramp now bundled in site-lisp. | |
162 | ||
163 | 2005/05/30 8.0-rc3 Fixed bug with parsing of "easymenu" menus. | |
164 | Many problems with modes such as SLIME, MatLab, | |
165 | and Planner go away. Improved scrollbar | |
166 | handling and rendering speed. Color panel | |
167 | and other bug fixes. mac-fix-env utility. | |
168 | Font handling improvements (OS X 10.3, 10.4): | |
169 | - heed 'GSFontAntiAlias' default | |
170 | - heed system antialiasing threshold | |
171 | - added 'UseQuickdrawSmoothing' default to | |
172 | invoke less heavy antialiasing | |
173 | ||
174 | 2005/07/05 8.0-rc4 Added a Preferences panel. Cleaned up | |
175 | rendering for synthetic italic fonts. Further | |
176 | improved menu parsing. Use system highlight | |
177 | color. Added previous- and next-mark history | |
178 | navigation commmands bound to M-p,M-n. | |
179 | Miscellaneous bug fixes. | |
180 | ||
181 | 2005/08/04 8.0-rc5 All internal string handling changed to UTF-8. | |
182 | This means menu items, color and color list | |
183 | names, and a few other things will now display | |
184 | properly. It does NOT mean UTF-8 filenames | |
185 | are displayed correctly in the minibuffer. | |
186 | Also relating to UTF-8, contents of files | |
187 | using this coding can now be displayed (though | |
188 | not auto-recognized; add extensions to your | |
189 | default coding alist). Limited mac-roman | |
190 | support was also added (also sans recognition). | |
191 | Certain characters are not displayed properly | |
192 | due to a translation problem. (UTF-8 based on | |
193 | work by Otfried Cheong; mac-roman from | |
194 | emacs-21.) Partial support for "dead-key" | |
195 | handling now added. Transparency (e.g., M-x | |
196 | set-background-color ARGB88FFFFFF) improved: | |
197 | only the background is made transparent. | |
198 | Cursor drawing glitches fixed. Preferences | |
199 | handling improved. Fixed some portability | |
200 | problems on Tiger and Puma. | |
201 | ||
202 | 2005/09/12 8.0 Bundled ispell on OS X. Minor bug fixes and | |
203 | stability improvements. Compiles under gcc-4. | |
204 | ||
205 | 2005/09/26 8.0.1 Correct clipped rendering for synthetic | |
206 | italics. Include the info directory. | |
207 | Fix grabenv. Bundle whitespace package. | |
208 | ||
209 | 2005/10/27 8.0.2 Correct rendering for wide characters during | |
210 | cursor movement. Fix bungled hack in ispell | |
211 | bundling. | |
212 | ||
213 | 2005/11/05 9.0-pre1 Updated to latest Emacs CVS code on unicode-2 | |
214 | branch (proposed to be released 2006/2007 as | |
215 | Emacs 23). | |
216 | ||
217 | 2005/11/11 9.0-pre2 Fix crashes for deiconifying and loading | |
218 | certain images. Improve vertical font metrics | |
219 | (fixes inaccurate page up/down, window size, | |
220 | and partial lines). Support better remapping | |
221 | of Alt/Opt and remapping of Command. More | |
222 | insistent defaulting of scrollbar to right. | |
223 | Modest improvements to build process. | |
224 | ||
225 | 2006/04/22 9.0-pre2a Stopgap interim release to sync w/latest | |
226 | unicode-2 CVS. Includes XPM and partial | |
227 | toolbar support. | |
228 | ||
229 | 2006/06/08 9.0-pre3 Major upgrade to keyboard handling: | |
230 | system-selected compositional input methods | |
231 | should now work, as well as more keys / | |
232 | keyboards. XPM, toolbar, and tooltip support. | |
233 | Some improvements to scrollbars, zoom, italic | |
234 | rendering, pasting, Color panel. Added function | |
235 | ns-set-background-alpha to work around | |
236 | inability to customize with numeric colors. | |
237 | ||
238 | 2006/12/24 9.0-rc1 Reworked font handling and text rendering to | |
239 | use Kenichi Handa's new font back-end system. | |
240 | Font sets are now supported and automatically | |
241 | created when a font is selected. Added recent | |
242 | X11 colors to Emacs.clr (remove | |
243 | ~/Library/Colors/Emacs.clr to pick up). Added | |
244 | ns-option-modifier, ns-control-modifier, | |
245 | ns-function-modifier customization variables. | |
246 | Update menus to Emacs 21+ conventions. Right | |
247 | mouse button now generates mouse-3 events. | |
248 | Various bug fixes and rendering improvements. | |
249 | ||
250 | 2007/09/10 9.0-rc2 Improve menubar, popup menu, and scrollbar | |
251 | behavior, let accented char entry work in | |
252 | isearch, follow system keymap for shortcut | |
253 | keys, fix border and box drawing, remove | |
254 | glitches in modeline drawing, support | |
255 | overstrike for unavailable bold fonts, fix XPM | |
256 | related crasher bugs. Incremental font | |
257 | metrics caching and other performance | |
258 | improvements. Shared-lisp builds now possible. | |
259 | ||
260 | 2007/09/20 9.0-rc2a Interim release. New features: composed | |
261 | character display, colored fringe bitmaps, | |
262 | colored relief drawing, dynamic resizing, | |
263 | Bug fixes: popup menu position and selection, | |
264 | font width calculation, face color adaptation | |
265 | to background, submenu keyboard navigation. | |
266 | NOT TESTED ON GNUSTEP. | |
267 | ||
268 | 2007/11/19 9.0-rc3 Integrated the multi-TTY functionality from | |
269 | emacs core (however, mixed TTY and GUI | |
270 | sessions are not working yet). Support 10.5. | |
271 | Give site-lisp load precedence over lisp and | |
272 | add a compile option to prefer an additional | |
273 | directory, use miniaturized miniwindow images | |
274 | in some cases, rename cursor types for | |
275 | consistency w/other emacs terms, improved font | |
276 | selection for symbol scripts. | |
277 | Bug fixes: fringe and bitmap, frame deletion, | |
278 | resizing, cursor blink, workspace open-file, | |
279 | image backgrounds, toolbar item enablement, | |
280 | context menu positioning. | |
281 | ||
282 | 2008/07/15 (none) Merge to GNU Emacs CVS trunk. | |
8d640e6b GM |
283 | |
284 | \f | |
285 | This file is part of GNU Emacs. | |
286 | ||
287 | GNU Emacs is free software: you can redistribute it and/or modify | |
288 | it under the terms of the GNU General Public License as published by | |
289 | the Free Software Foundation, either version 3 of the License, or | |
290 | (at your option) any later version. | |
291 | ||
292 | GNU Emacs is distributed in the hope that it will be useful, | |
293 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
294 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
295 | GNU General Public License for more details. | |
296 | ||
297 | You should have received a copy of the GNU General Public License | |
298 | along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |