Commit | Line | Data |
---|---|---|
114f9c96 | 1 | Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc. |
8d640e6b | 2 | See the end of the file for license conditions. |
edfda783 | 3 | |
0e20c61f | 4 | This directory contains the files needed to build Emacs on |
3dcdb6ea | 5 | Nextstep-based platforms, including GNUstep and Mac OS X. |
edfda783 | 6 | |
0e20c61f CY |
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. | |
edfda783 | 10 | |
43474a5a | 11 | See the INSTALL file in this directory for compilation instructions. |
edfda783 | 12 | |
0e20c61f CY |
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. | |
edfda783 | 16 | |
0e20c61f CY |
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. | |
edfda783 AR |
23 | See AUTHORS file and "Release History" below for more information. |
24 | ||
edfda783 AR |
25 | |
26 | Requirements | |
27 | ------------ | |
cb8e527a | 28 | MacOS X 10.4 or later |
edfda783 | 29 | |
0e20c61f | 30 | - or - |
edfda783 | 31 | |
954031b0 | 32 | GNUstep "Startup 0.23" or later |
0e20c61f CY |
33 | Tested on GNU/Linux, should work on other systems, perhaps with minor |
34 | build tweaking. | |
edfda783 AR |
35 | |
36 | ||
37 | Background | |
38 | ---------- | |
0e20c61f CY |
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: | |
42 | ||
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. | |
51 | ||
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". | |
edfda783 AR |
57 | |
58 | (See http://en.wikipedia.org/wiki/Nextstep) | |
59 | ||
0e20c61f CY |
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. | |
edfda783 | 64 | |
edfda783 AR |
65 | |
66 | Release History | |
67 | --------------- | |
68 | ||
69 | 1990-1992 1.0-3.0 (?) Michael Brouwer's socket/terminal communication | |
70 | based version (GUI ran as a separate process.) | |
71 | ||
72 | 1993/10/25 3.0.1 Last (?) release of Brouwer version. Supports | |
73 | NeXTstep 3.x and below. | |
74 | ||
75 | 1994/04/24 4.0 Carl Edman's version using direct API following | |
76 | the X-Windows port. NeXTstep 3.x only. | |
77 | ||
78 | 1995/06/15 4.1 Second (and last) Carl Edman release, based on | |
79 | Emacs 19.28. | |
80 | ||
81 | 1996/07/28 4.2 First Christian Limpach release, based on | |
82 | Emacs 19.29. | |
83 | ||
84 | ?? 5.0 ?? | |
85 | ||
86 | 1997/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 | ||
91 | 1999/05/?? 6.0b3 Scott Bender: "OS X Server", Emacs 20.3. | |
92 | ||
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. | |
96 | ||
97 | 2002/01/03 7.0.1 Bug fixes. | |
98 | ||
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. | |
104 | ||
105 | 2004/10/07 8.0-pre1 Ported to GNUstep by Adrian Robert. | |
106 | ||
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. | |
114 | ||
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. | |
121 | ||
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. | |
129 | ||
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. | |
141 | ||
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 | |
152 | ||
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. | |
159 | ||
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. | |
180 | ||
181 | 2005/09/12 8.0 Bundled ispell on OS X. Minor bug fixes and | |
182 | stability improvements. Compiles under gcc-4. | |
183 | ||
184 | 2005/09/26 8.0.1 Correct clipped rendering for synthetic | |
185 | italics. Include the info directory. | |
186 | Fix grabenv. Bundle whitespace package. | |
187 | ||
188 | 2005/10/27 8.0.2 Correct rendering for wide characters during | |
189 | cursor movement. Fix bungled hack in ispell | |
190 | bundling. | |
191 | ||
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). | |
195 | ||
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. | |
203 | ||
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. | |
207 | ||
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. | |
228 | ||
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. | |
238 | ||
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. | |
246 | ||
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. | |
260 | ||
261 | 2008/07/15 (none) Merge to GNU Emacs CVS trunk. | |
8d640e6b GM |
262 | |
263 | \f | |
264 | This file is part of GNU Emacs. | |
265 | ||
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. | |
270 | ||
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. | |
275 | ||
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/>. |