declare smobs in alloc.c
[bpt/emacs.git] / etc / NEXTSTEP
CommitLineData
ba318903 1Copyright (C) 2008-2014 Free Software Foundation, Inc.
013b96cc
GM
2See the end of the file for license conditions.
3
4This file contains information about GNU Emacs on "Nextstep" platforms.
5The Nextstep support code works on many POSIX systems (and possibly
6W32) using the GNUstep libraries, and on MacOS X systems using the
7Cocoa libraries.
8
9Background
10----------
11Within 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
13under this name in more than 10 years. Here's some background on why:
14
15NeXT, Inc. introduced the NeXTstep API with its computer and operating
16system in the late 1980's. Later on, in collaboration with Sun, this
17API was published as a specification called OpenStep. The GNUstep
18project started in the early 1990's to provide a free implementation
19of this API. Later on, Apple bought NeXT (some would say "NeXT bought
20Apple") and made OpenStep the basis of OS X, calling the API "Cocoa".
21Since then, Cocoa has evolved beyond the OpenStep specification, and
22GNUstep has followed it.
23
24Thus, calling this port "OpenStep" is not technically accurate, and in
25the absence of any other determinant, we are using the term
26"Nextstep", both because it signifies the original inspiration that
27created these APIs, and because all of the classes and functions still
28begin with the letters "NS".
29
30(See http://en.wikipedia.org/wiki/Nextstep)
31
32This Emacs port was first released in the early 1990's on the NeXT
33computer, and was successively updated to OpenStep, Rhapsody, OS X,
34and then finally GNUstep, tracking GNU emacs core releases in the
35meantime.
36
37
38Release History
39---------------
40
da6062e6 411990-1992 1.0-3.0 (?) Michael Brouwer's socket/terminal communication
013b96cc
GM
42 based version (GUI ran as a separate process.)
43
441993/10/25 3.0.1 Last (?) release of Brouwer version. Supports
45 NeXTstep 3.x and below.
46
471994/04/24 4.0 Carl Edman's version using direct API following
48 the X-Windows port. NeXTstep 3.x only.
49
501995/06/15 4.1 Second (and last) Carl Edman release, based on
51 Emacs 19.28.
52
531996/07/28 4.2 First Christian Limpach release, based on
54 Emacs 19.29.
55
56?? 5.0 ??
57
581997/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
631999/05/?? 6.0b3 Scott Bender: "OS X Server", Emacs 20.3.
64
652001/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
692002/01/03 7.0.1 Bug fixes.
70
712002/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
772004/10/07 8.0-pre1 Ported to GNUstep by Adrian Robert.
78
792004/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
872005/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
942005/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
1022005/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
1142005/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
1252005/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
1322005/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
1532005/09/12 8.0 Bundled ispell on OS X. Minor bug fixes and
154 stability improvements. Compiles under gcc-4.
155
1562005/09/26 8.0.1 Correct clipped rendering for synthetic
157 italics. Include the info directory.
158 Fix grabenv. Bundle whitespace package.
159
1602005/10/27 8.0.2 Correct rendering for wide characters during
161 cursor movement. Fix bungled hack in ispell
162 bundling.
163
1642005/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
1682005/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
1762006/04/22 9.0-pre2a Stopgap interim release to sync w/latest
177 unicode-2 CVS. Includes XPM and partial
178 toolbar support.
179
1802006/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
1892006/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
2012007/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
2112007/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
2192007/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
2332008/07/15 (none) Merge to GNU Emacs CVS trunk.
234
235
236Contributors
237------------
238In addition to the folks listed in etc/AUTHORS responsible for GNU Emacs
239itself, the NeXTstep port owes to the following people:
240
241Carl Edman
242 original author and maintainer, mainly UI
243Michael Brouwer
244 heavy contributor, input handling and other areas
245Christian Limpach
246 help / maintenance on NeXTstep
247Scott Bender
248 OpenStep, Rhapsody ports
249Christophe de Dinechin
250 MacOS X port
251Adrian Robert
252 GNUstep port, update Emacs 20 -> 21+
253
254Joe Reiss
255 popup menu, dialog boxes; icons
256Andrew Athan
257 font panel integration
258Scott Byer
259 improved rendering code
260Scott Hess
261 keyboard handling suggestions
262
263Rahul Abrol
264 "hide others" patch
265Adam Ratcliffe
266 preferences panel documentation
267Peter Dyballa
268 assistance with non-ASCII rendering and keyboard handling
269David M. Cooke
270 fix to XPM crash bug
271Carsten Bormann
272 initial patch and assistance getting dired working for non-ASCII filenames
273Andrew Moore
274 assistance on ns-mark-nav extension
275
276The GNUstep port was made possible through the assistance of Adam
277Fedor, Fred Kiefer, M. Uli Klusterer, Alexander Malmberg, Jonas
278Matton, and Riccardo Mottola. Leigh Smith maintained the SourceForge
279project for a period.
280
281Suggestions from Darcy Brockbank, Timothy Bissell, Scott Byer, David
282Griffiths, Scott Hess, Eberhard Mandler, John C. Randolph, and Bradley
283Taylor all helped things along at one point or another. Axel Seibert
284and Paul J. Sanchez offered their time and machines to make a
285binary release possible.
286
287We would also like to thank a number of people who kept up the
288constant supply of bug reports, suggested features and praise: Hardy
289Mayer, Gisli Ottarsson, Anthony Heading, David Bau, Jamie Zawinski,
290Martin Moncrieffe, Simson L. Garfinkel, Richard Stallman, Stephen
291Anderson, Ivo Welch, Magnus Nordborg, Tom Epperly, Andreas Koenig,
292Yves Arrouye, Anil Somayaji, Gregor Hoffleit; and the few hundred
293other people on the mailing list from whom we didn't hear much, but
294the presence of which assured us that maybe this project was actually
295worth doing.
296
297\f
298This file is part of GNU Emacs.
299
300GNU Emacs is free software: you can redistribute it and/or modify
301it under the terms of the GNU General Public License as published by
302the Free Software Foundation, either version 3 of the License, or
303(at your option) any later version.
304
305GNU Emacs is distributed in the hope that it will be useful,
306but WITHOUT ANY WARRANTY; without even the implied warranty of
307MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
308GNU General Public License for more details.
309
310You should have received a copy of the GNU General Public License
311along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.