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