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 | |
edfda783 AR |
13 | Requirements |
14 | ------------ | |
cb8e527a | 15 | MacOS X 10.4 or later |
edfda783 | 16 | |
0e20c61f | 17 | - or - |
edfda783 | 18 | |
954031b0 | 19 | GNUstep "Startup 0.23" or later |
0e20c61f CY |
20 | Tested on GNU/Linux, should work on other systems, perhaps with minor |
21 | build tweaking. | |
edfda783 AR |
22 | |
23 | ||
24 | Background | |
25 | ---------- | |
0e20c61f CY |
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". | |
edfda783 AR |
44 | |
45 | (See http://en.wikipedia.org/wiki/Nextstep) | |
46 | ||
0e20c61f CY |
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. | |
edfda783 | 51 | |
edfda783 AR |
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. | |
8d640e6b GM |
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/>. |