diff nextstep/README.txt @ 96675:d45acf0c8d23

merging Emacs.app (NeXTstep port)
author Adrian Robert <Adrian.B.Robert@gmail.com>
date Tue, 15 Jul 2008 18:15:18 +0000
parents
children ceab93f4e6dc
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/nextstep/README.txt	Tue Jul 15 18:15:18 2008 +0000
@@ -0,0 +1,321 @@
+
+Emacs.app
+=========
+
+This file introduces the NeXTstep-based port of GNU Emacs, known as Emacs.app,
+ which runs on on many POSIX systems and possibly W32 using the GNUstep
+ libraries and on MacOS X systems using the Cocoa libraries.  The directory
+ "nextstep" and its subdirectories "Cocoa" and "GNUstep" contain files
+ relevant to building and running on these systems.
+
+Those primarily responsible for the port (in chronological order) were:
+
+Michael Brouwer
+Carl Edman
+Christian Limpach
+Scott Bender
+Christophe de Dinechin
+Adrian Robert
+
+See AUTHORS file and "Release History" below for more information.
+
+GNU Emacs is due to Richard Stallman and company.
+
+The GNUstep port was made possible through the assistance of Adam Fedor, Fred
+Kiefer, M. Uli Klusterer, Alexander Malmberg, Jonas Matton, and Riccardo
+Mottola.
+
+Peter Dyballa assisted in a variety of ways to improve text rendering and
+keyboard handling.  Adam Ratcliffe documented the Preferences panel.  David
+M. Cooke contributed fixes to XPM handling.  Carsten Bormann helped get dired
+working for non-ASCII filenames.
+
+
+Requirements
+------------
+MacOS X 10.3 or later
+- or -
+GNUstep "Startup 0.13" or later
+Tested on linux, should work on other systems, perhaps with minor build
+tweaking.
+
+
+Compilation
+-----------
+
+Run "./compile" in this directory, which will create a self-contained
+Emacs.app under 'build/'.  This can be moved anywhere and run.  To create a
+shared-lisp build, do "sudo ./compile -shared <install_root>".  Set
+<install_root> to where the lisp will go, for example /usr/local to end up
+with /usr/local/shared/emacs/...
+
+See the script itself for further details, and customizations.
+
+You can rerun configure and/or run 'make' manually in the top-level or src
+directories to refresh nextstep/build/Emacs.app.  (Or edit the "compile"
+script.)
+
+On OS X you can also open Cocoa/Emacs.xcodeproj and build it again there.  (Note,
+ZeroLink currently does not work with Emacs owing to the use of private_extern
+in the code as well as some other, unidentifiable problem.)  Before doing this
+you must run 'compile' once as outlined above, to set up the lisp resources.
+
+On GNUstep, you CAN'T use ProjectCenter, since PC cannot work with files
+outside of its project directory.
+
+
+Usage
+-----
+
+Please use the first entry under the help menu within Emacs.app, do
+"M-x info-ns-emacs".
+
+
+Background
+----------
+
+Internally to emacs, the port and its code are referred to using the term
+"NeXTstep", despite the fact that no system or API has been released under
+this name in more than 10 years.  Here's some background on why..
+
+NeXT, Inc. introduced the NeXTstep API with its computer and operating system
+in the late 1980's.  Later on in collaboration with Sun, this API was
+published as a specification called OpenStep.  The GNUstep project started in
+the early 1990's to provide a free implementation of this API.  Later on,
+Apple bought NeXT (some would say "NeXT bought Apple") and made OpenStep the
+basis of OS X, calling the API "Cocoa".  Since then, Cocoa has evolved beyond
+the OpenStep specification, and GNUstep has followed it.
+
+Thus, calling this port "OpenStep" is not technically accurate, and in the
+absence of any other determinant, we are using the term "NeXTstep", both
+because it signifies the original inspiration that created these APIs, and
+because all of the classes and functions still begin with the letters "NS".
+
+(See http://en.wikipedia.org/wiki/Nextstep)
+
+This Emacs port was first released in the early 1990's on the NeXT computer,
+and was successively updated to OpenStep, Rhapsody, OS X, and then finally
+GNUstep, tracking GNU emacs core releases in the meantime.
+
+
+Files specific to the port
+--------------------------
+
+src/nsfns.m
+src/nsfont.m
+src/nsgui.h
+src/nsimage.m
+src/nsmenu.m
+src/nsselect.m
+src/nsterm.h
+src/nsterm.m
+lisp/ns-grabenv.el
+lisp/ns-carbon-compat.el
+lisp/term/ns-win.el
+lib-src/mac-fix-env.m
+doc/emacs/ns-emacs.texi
+etc/Emacs.clr
+nextstep/
+
+
+Files modified for port:
+
+many -- look for HAVE_NS / NS_IMPL_... #ifdefs
+
+
+Release History
+---------------
+
+1990-1992	1.0-3.0 (?)	Michael Brouwer's socket/terminal communication 
+				based version (GUI ran as a separate process.)
+
+1993/10/25	3.0.1		Last (?) release of Brouwer version.  Supports
+				NeXTstep 3.x and below.
+
+1994/04/24	4.0		Carl Edman's version using direct API following
+				the X-Windows port.  NeXTstep 3.x only.
+
+1995/06/15	4.1        	Second (and last) Carl Edman release, based on
+				Emacs 19.28.
+
+1996/07/28	4.2		First Christian Limpach release, based on
+				Emacs 19.29.
+
+??		5.0		??
+
+1997/12/??	6.0b1		Ported to OpenStep by Scott Bender.  Updated
+				to Emacs 20.2.
+
+??		6.0b2		(?) Scott Bender: ported to Rhapsody.
+
+1999/05/??	6.0b3		Scott Bender: "OS X Server", Emacs 20.3.
+
+2001/06/25	7.0		Ported to MacOS X (10.1) by Christophe de
+				Dinechin. Release based on Emacs 20.7. Hosting
+				moved to SourceForge.
+
+2002/01/03	7.0.1		Bug fixes.
+
+2002/08/27	7.0.2		Jaguar (OS X 10.2) support. Added an autoconf
+				option for sys_nerr being in stdio. Added
+				libncurses to the build libraries. Fixed a
+				problem with ns-alternate-is-meta. Changed the
+				icon color to blue, since Jaguar is yellow.
+
+2004/10/07	8.0-pre1	Ported to GNUstep by Adrian Robert.
+
+2004/11/04	8.0-pre2	Restored functionality on OS X (menu code
+				cleanup).  Improved scrollbar handling and
+				paste from other applications.  File icons
+				obtained properly from NSWorkspace.  Dropped
+				Gorm and Nib files.  Background refresh bug
+				fixed (in GNUstep).  Various small fixes and
+				code cleanups.  Now starts up under Art.
+
+2005/01/27	8.0-pre3	Bold and italic faces supported.  Cursor and
+				mouse highlighting rendering bugs
+				fixed. Drag/drop and cut/paste interaction
+				w/external apps fixed.  File load/save panels
+				available.  Stability and rendering speed
+				improvements. Some ObjC and VC mode bugs fixed.
+
+2005/02/27	8.0-rc1		Dynamic path detection at startup so Emacs.app
+				can be moved anywhere.  Added binary packages
+				and simplified source installation to running
+				two scripts.  Thorough cleanup of menu code;
+				now fully functional.  Fixed all detected
+				memory leaks.  Minor frame focus and title
+				bugs fixed.
+
+2005/03/30	8.0-rc2		"Configure" info directory now uses dynamic
+				path setting, so info files can go under .app.
+				Improved select() handling and PTY fixes so
+				shell mode and tramp run smoothly.
+				Significant rendering optimizations under
+				GNUstep, and now works under Art backend.
+				Non-Latin text rendering works (but not
+				fontsets), and LEIM is bundled.  UTF8 is used
+				for clipboard interaction.
+				Arrow cursor now used on scrollbar.
+				objc-mode and tramp now bundled in site-lisp.
+
+2005/05/30	8.0-rc3		Fixed bug with parsing of "easymenu" menus.
+       				Many problems with modes such as SLIME, MatLab,
+				and Planner go away.  Improved scrollbar
+				handling and rendering speed.  Color panel
+				and other bug fixes. mac-fix-env utility.
+				Font handling improvements (OS X 10.3, 10.4):
+				- heed 'GSFontAntiAlias' default
+				- heed system antialiasing threshold
+				- added 'UseQuickdrawSmoothing' default to
+				  invoke less heavy antialiasing
+
+2005/07/05	8.0-rc4		Added a Preferences panel.  Cleaned up
+				rendering for synthetic italic fonts.  Further
+				improved menu parsing.  Use system highlight
+				color.  Added previous- and next-mark history
+				navigation commmands bound to M-p,M-n.
+				Miscellaneous bug fixes.
+
+2005/08/04	8.0-rc5		All internal string handling changed to UTF-8.
+				This means menu items, color and color list
+				names, and a few other things will now display
+				properly.  It does NOT mean UTF-8 filenames
+				are displayed correctly in the minibuffer.
+				Also relating to UTF-8, contents of files
+				using this coding can now be displayed (though
+				not auto-recognized; add extensions to your
+				default coding alist).  Limited mac-roman
+				support was also added (also sans recognition).
+				Certain characters are not displayed properly
+				due to a translation problem.  (UTF-8 based on
+				work by Otfried Cheong; mac-roman from
+				emacs-21.)  Partial support for "dead-key"
+				handling now added.  Transparency (e.g., M-x
+				set-background-color ARGB88FFFFFF) improved:
+				only the background is made transparent.
+				Cursor drawing glitches fixed.  Preferences 
+				handling improved.  Fixed some portability
+				problems on Tiger and Puma.
+
+2005/09/12	8.0		Bundled ispell on OS X.  Minor bug fixes and
+				stability improvements.  Compiles under gcc-4.
+
+2005/09/26	8.0.1		Correct clipped rendering for synthetic
+				italics. Include the info directory.
+				Fix grabenv. Bundle whitespace package.
+
+2005/10/27	8.0.2		Correct rendering for wide characters during
+				cursor movement.  Fix bungled hack in ispell
+				bundling.
+
+2005/11/05	9.0-pre1	Updated to latest Emacs CVS code on unicode-2
+				branch (proposed to be released 2006/2007 as
+				Emacs 23).
+
+2005/11/11	9.0-pre2	Fix crashes for deiconifying and loading
+				certain images.  Improve vertical font metrics
+				(fixes inaccurate page up/down, window size,
+				and partial lines).  Support better remapping
+				of Alt/Opt and remapping of Command.  More
+				insistent defaulting of scrollbar to right.
+				Modest improvements to build process.
+
+2006/04/22	9.0-pre2a	Stopgap interim release to sync w/latest
+				unicode-2 CVS.  Includes XPM and partial
+				toolbar support.
+
+2006/06/08	9.0-pre3	Major upgrade to keyboard handling:
+				system-selected compositional input methods
+				should now work, as well as more keys /
+				keyboards.  XPM, toolbar, and tooltip support.
+				Some improvements to scrollbars, zoom, italic
+				rendering, pasting, Color panel.  Added function
+				ns-set-background-alpha to work around
+				inability to customize with numeric colors.
+				
+2006/12/24	9.0-rc1		Reworked font handling and text rendering to
+				use Kenichi Handa's new font back-end system.
+				Font sets are now supported and automatically
+				created when a font is selected.  Added recent
+				X11 colors to Emacs.clr (remove
+				~/Library/Colors/Emacs.clr to pick up).  Added
+				ns-option-modifier, ns-control-modifier,
+				ns-function-modifier customization variables.
+				Update menus to Emacs 21+ conventions.  Right
+				mouse button now generates mouse-3 events.
+				Various bug fixes and rendering improvements.
+
+2007/09/10	9.0-rc2		Improve menubar, popup menu, and scrollbar
+				behavior, let accented char entry work in
+				isearch, follow system keymap for shortcut
+				keys, fix border and box drawing, remove
+				glitches in modeline drawing, support
+				overstrike for unavailable bold fonts, fix XPM
+				related crasher bugs.  Incremental font
+				metrics caching and other performance
+				improvements.  Shared-lisp builds now possible.
+
+2007/09/20	9.0-rc2a	Interim release.  New features: composed
+				character display, colored fringe bitmaps,
+				colored relief drawing, dynamic resizing,
+				Bug fixes: popup menu position and selection,
+				font width calculation, face color adaptation
+				to background, submenu keyboard navigation.
+				NOT TESTED ON GNUSTEP.
+
+2007/11/19	9.0-rc3		Integrated the multi-TTY functionality from
+				emacs core (however, mixed TTY and GUI
+				sessions are not working yet).  Support 10.5.
+				Give site-lisp load precedence over lisp and
+				add a compile option to prefer an additional
+				directory, use miniaturized miniwindow images
+				in some cases, rename cursor types for
+				consistency w/other emacs terms, improved font
+				selection for symbol scripts.
+				Bug fixes: fringe and bitmap, frame deletion,
+				resizing, cursor blink, workspace open-file,
+				image backgrounds, toolbar item enablement,
+				context menu positioning.
+
+2008/07/15	(none)		Merge to GNU Emacs CVS trunk.