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