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