Fix keyboard macro key lookup (Bug#5481).
[emacs.git] / nextstep / README
blob74c00fbfbd5751410ce2cc897840a30f055fda15
1 Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
2 See the end of the file for license conditions.
4 This directory contains the files needed to build Emacs on
5 Nextstep-based platforms, including GNUstep and Mac OS X.
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.
11 See the INSTALL file in this directory for compilation instructions.
13 Those primarily responsible for the port were, in chronological order:
14 Michael Brouwer, Carl Edman, Christian Limpach, Scott Bender,
15 Christophe de Dinechin, and Adrian Robert.
17 Peter Dyballa assisted in a variety of ways to improve text rendering
18 and keyboard handling, Adam Ratcliffe documented the Preferences
19 panel, David M. Cooke contributed fixes to XPM handling, and Carsten
20 Bormann helped get dired working for non-ASCII filenames.  People who
21 provided additional assistance include Adam Fedor, Fred Kiefer, M. Uli
22 Klusterer, Alexander Malmberg, Jonas Matton, and Riccardo Mottola.
23 See AUTHORS file and "Release History" below for more information.
26 Requirements
27 ------------
28 MacOS X 10.4 or later
30 - or -
32 GNUstep "Startup 0.23" or later
33 Tested on GNU/Linux, should work on other systems, perhaps with minor
34 build tweaking.
37 Background
38 ----------
39 Within 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
41 under this name in more than 10 years.  Here's some background on why:
43 NeXT, Inc. introduced the NeXTstep API with its computer and operating
44 system in the late 1980's.  Later on, in collaboration with Sun, this
45 API was published as a specification called OpenStep.  The GNUstep
46 project started in the early 1990's to provide a free implementation
47 of this API.  Later on, Apple bought NeXT (some would say "NeXT bought
48 Apple") and made OpenStep the basis of OS X, calling the API "Cocoa".
49 Since then, Cocoa has evolved beyond the OpenStep specification, and
50 GNUstep has followed it.
52 Thus, calling this port "OpenStep" is not technically accurate, and in
53 the absence of any other determinant, we are using the term
54 "Nextstep", both because it signifies the original inspiration that
55 created these APIs, and because all of the classes and functions still
56 begin with the letters "NS".
58 (See http://en.wikipedia.org/wiki/Nextstep)
60 This Emacs port was first released in the early 1990's on the NeXT
61 computer, and was successively updated to OpenStep, Rhapsody, OS X,
62 and then finally GNUstep, tracking GNU emacs core releases in the
63 meantime.
66 Release History
67 ---------------
69 1990-1992       1.0-3.0 (?)     Michael Brouwer's socket/terminal communication 
70                                 based version (GUI ran as a separate process.)
72 1993/10/25      3.0.1           Last (?) release of Brouwer version.  Supports
73                                 NeXTstep 3.x and below.
75 1994/04/24      4.0             Carl Edman's version using direct API following
76                                 the X-Windows port.  NeXTstep 3.x only.
78 1995/06/15      4.1             Second (and last) Carl Edman release, based on
79                                 Emacs 19.28.
81 1996/07/28      4.2             First Christian Limpach release, based on
82                                 Emacs 19.29.
84 ??              5.0             ??
86 1997/12/??      6.0b1           Ported to OpenStep by Scott Bender.  Updated
87                                 to Emacs 20.2.
89 ??              6.0b2           (?) Scott Bender: ported to Rhapsody.
91 1999/05/??      6.0b3           Scott Bender: "OS X Server", Emacs 20.3.
93 2001/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.
97 2002/01/03      7.0.1           Bug fixes.
99 2002/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.
105 2004/10/07      8.0-pre1        Ported to GNUstep by Adrian Robert.
107 2004/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.
115 2005/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.
122 2005/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.
130 2005/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.
142 2005/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
153 2005/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.
160 2005/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.
181 2005/09/12      8.0             Bundled ispell on OS X.  Minor bug fixes and
182                                 stability improvements.  Compiles under gcc-4.
184 2005/09/26      8.0.1           Correct clipped rendering for synthetic
185                                 italics. Include the info directory.
186                                 Fix grabenv. Bundle whitespace package.
188 2005/10/27      8.0.2           Correct rendering for wide characters during
189                                 cursor movement.  Fix bungled hack in ispell
190                                 bundling.
192 2005/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).
196 2005/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.
204 2006/04/22      9.0-pre2a       Stopgap interim release to sync w/latest
205                                 unicode-2 CVS.  Includes XPM and partial
206                                 toolbar support.
208 2006/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                                 
217 2006/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.
229 2007/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.
239 2007/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.
247 2007/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.
261 2008/07/15      (none)          Merge to GNU Emacs CVS trunk.
264 This file is part of GNU Emacs.
266 GNU Emacs is free software: you can redistribute it and/or modify
267 it under the terms of the GNU General Public License as published by
268 the Free Software Foundation, either version 3 of the License, or
269 (at your option) any later version.
271 GNU Emacs is distributed in the hope that it will be useful,
272 but WITHOUT ANY WARRANTY; without even the implied warranty of
273 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
274 GNU General Public License for more details.
276 You should have received a copy of the GNU General Public License
277 along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.