Commit edfda783 authored by Adrian Robert's avatar Adrian Robert

merging Emacs.app (NeXTstep port)

parent 1391cd54
2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
Changes and additions for NeXTstep windowing system (Cocoa and
GNUstep) support.
* configure.in: Add support for NS window system: --with-ns (default
off), --enable-ns-app, --enable-cocoa-experimental-ctrl-g; improve add
sparc detection for FreeBSD variants, checks for Cocoa and GNUstep,
disable font backend if window system is "none", not if !HAVE_X11.
* Makefile.in: Add ns-emacs to INFO_FILES, add ns_appdir variable.
(install-arch-dep): Add commands to assemble NS .app package.
2008-07-10 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in: Use macppc for Darwin. Remove references to
......
......@@ -137,7 +137,7 @@ man1dir=$(mandir)/man1
infodir=@infodir@
INFO_FILES=ada-mode autotype calc ccmode cl dbus dired-x ebrowse ediff \
efaq eintr elisp emacs emacs-mime epa erc eshell eudc \
flymake forms gnus idlwave info message mh-e newsticker \
flymake forms gnus idlwave info message mh-e newsticker ns-emacs \
nxml-mode org pcl-cvs pgg rcirc reftex remember sasl sc ses \
sieve speedbar tramp vip viper widget woman smtpmail url
......@@ -167,6 +167,9 @@ x_default_search_path=@x_default_search_path@
# Location to install Emacs.app on Mac OS X
carbon_appdir=@carbon_appdir@
# Location to install Emacs.app under NeXT/Open/GNUstep / Cocoa
ns_appdir=@ns_appdir@
# Where the etc/emacs.desktop file is to be installed.
desktopdir=$(datarootdir)/applications
......@@ -411,6 +414,14 @@ install-arch-dep: mkdir
(cd $(DESTDIR)${carbon_appdir}/Emacs.app; umask 022; tar -xvf - \
&& cat > /dev/null))) || exit 1; \
fi
if test "${ns_appdir}" != ""; then \
umask 022; mkdir -p ${ns_appdir}/Emacs.app; \
(cd nextstep/build/Emacs.app; (tar -chf - . | \
(cd ${ns_appdir}/Emacs.app; umask 022; tar -xvf - \
&& cat > /dev/null))) || exit 1; \
( cd site-lisp ; tar chf - . ) | \
( cd ${datadir}/$(EMACSFULL)/site-lisp ; tar xf - ) \
fi
## http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg01672.html
## Needs to be the user running install, so configure can't set it.
......
......@@ -3,7 +3,6 @@ of their use. Feel free to add more macros and more categories.
** Distinguishing OSes **
MAC_OS Compiling for the `mac' window-system.
MAC_OS8 Compiling for Mac OS Classic (v8 or v9). No longer supported, all code using it can be removed.
MAC_OSX Compiling for Mac OS X. Not bare Darwin.
CYGWIN Compiling the Cygwin port.
......@@ -23,7 +22,11 @@ USE_LISP_UNION_TYPE Define it in lisp.h to make Lisp_Object be a union type inst
** Distinguishing GUIs **
HAVE_NTGUI Use the native W32 GUI for windows, frames, menus&scrollbars.
MAC_OS Compiling for the `mac' window-system.
HAVE_CARBON Compile support for the Carbon GUI. Requires MAC_OS?
HAVE_NS Use the NeXT/OpenStep/Cocoa UI under Mac OS X or GNUstep.
NS_IMPL_GNUSTEP Compile support for GNUSTEP implementation of NS GUI API.
NS_IMPL_COCOA Compile support for Cocoa (Apple) implementation of NS GUI API.
HAVE_X11 Compile support for the X11 GUI.
HAVE_X_WINDOWS Compile support for X Window system
X11 ?? Makefile.in suggests it's equivalent to HAVE_X11
......
2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
* CPP_DEFINES: Add NS port related defines.
2008-06-16 Glenn Morris <rgm@gnu.org>
* admin.el (set-version): Add doc/lispref/vol1.texi,vol2.texi,
......
This diff is collapsed.
......@@ -21,7 +21,7 @@ dnl
dnl You should have received a copy of the GNU General Public License
dnl along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
AC_PREREQ(2.61)dnl
AC_PREREQ(2.61)
AC_INIT(emacs, 23.0.60)
AC_CONFIG_HEADER(src/config.h:src/config.in)
AC_CONFIG_SRCDIR(src/lisp.h)
......@@ -142,6 +142,7 @@ OPTION_DEFAULT_ON([toolkit-scroll-bars],[don't use Motif or Xaw3d scroll bars])
OPTION_DEFAULT_ON([xaw3d],[don't use Xaw3d])
OPTION_DEFAULT_ON([xim],[don't use X11 XIM])
OPTION_DEFAULT_OFF([carbon],[use Carbon GUI on Mac OS X. This is unsupported!])
OPTION_DEFAULT_OFF([ns],[use nextstep (Cocoa or GNUstep) windowing system])
OPTION_DEFAULT_ON([gpm],[don't use -lgpm for mouse support on a GNU/Linux console])
OPTION_DEFAULT_ON([dbus],[don't compile with D-Bus support])
......@@ -175,6 +176,16 @@ AC_ARG_ENABLE(carbon-app,
[DIR=/Application]])],
[ carbon_appdir_x=${enableval}])
AC_ARG_ENABLE(ns-app,
[[ --enable-ns-app[=DIR] [DIR=/Applications]
specify install directory for Emacs.app under NS]],
[ ns_appdir_x=${enableval}])
AC_ARG_ENABLE(cocoa-experimental-ctrl-g,
[ --enable-cocoa-experimental-ctrl-g enable experimental improved ctrl-g recognition],
EN_COCOA_EXPERIMENTAL_CTRL_G=yes,
EN_COCOA_EXPERIMENTAL_CTRL_G=no)
AC_ARG_ENABLE(asserts,
[AS_HELP_STRING([--enable-asserts], [compile code with asserts enabled])],
USE_XASSERTS=$enableval,
......@@ -283,16 +294,17 @@ machine='' opsys='' unported=no
case "${canonical}" in
## FreeBSD ports
*-*-freebsd* )
*-*-*freebsd* )
opsys=freebsd
case "${canonical}" in
alpha*-*-freebsd*) machine=alpha ;;
arm*-*-freebsd*) machine=arm ;;
ia64-*-freebsd*) machine=ia64 ;;
sparc-*-freebsd*) machine=sparc ;;
sparc64-*-freebsd*) machine=sparc ;;
powerpc-*-freebsd*) machine=macppc ;;
i[3456]86-*-freebsd*) machine=intel386 ;;
amd64-*-freebsd*|x86_64-*-freebsd*) machine=amdx86-64 ;;
amd64-*-freebsd*|x86_64-*-*freebsd*) machine=amdx86-64 ;;
esac
;;
......@@ -302,6 +314,7 @@ case "${canonical}" in
case "${canonical}" in
alpha*-*-kfreebsd*) machine=alpha ;;
ia64-*-kfreebsd*) machine=ia64 ;;
sparc-*-kfreebsd*) machine=sparc ;;
sparc64-*-kfreebsd*) machine=sparc ;;
powerpc-*-kfreebsd*) machine=macppc ;;
i[3456]86-*-kfreebsd*) machine=intel386 ;;
......@@ -1221,6 +1234,50 @@ if test "${HAVE_CARBON}" = yes; then
window_system=mac
fi
HAVE_NS=no
COCOA=no
GNUSTEP=no
tmp_CPPFLAGS="$CPPFLAGS"
tmp_CFLAGS="$CFLAGS"
CPPFLAGS="$CPPFLAGS -x objective-c"
CFLAGS="$CFLAGS -x objective-c"
if test "${with_ns}" != no; then
if test "${opsys}" = darwin; then
COCOA=yes
elif test -f /etc/GNUstep/GNUstep.conf; then
GNUSTEP=yes
GNUSTEP_SYSTEM_HEADERS="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_HEADERS)"
GNUSTEP_SYSTEM_LIBRARIES="$(source /etc/GNUstep/GNUstep.conf; echo $GNUSTEP_SYSTEM_LIBRARIES)"
CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}"
LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}"
fi
AC_CHECK_HEADER(AppKit/AppKit.h, HAVE_NS=yes)
fi
if test "${window_system}" = x11 && test "${HAVE_NS}" = yes; then
if test "${with_ns+set}" != set \
&& test "${ns_appdir_x+set}" != set; then
HAVE_NS=no
fi
fi
if test "${window_system}" = mac && test "${HAVE_NS}" = yes; then
if test "${with_ns+set}" != set \
&& test "${ns_appdir_x+set}" != set; then
HAVE_NS=no
else
HAVE_CARBON=no
fi
fi
if test "${HAVE_NS}" = yes; then
window_system=nextstep
with_xft=no
with_freetype=no
fi
CFLAGS="$tmp_CFLAGS"
CPPFLAGS="$tmp_CPPFLAGS"
case "${window_system}" in
x11 )
HAVE_X_WINDOWS=yes
......@@ -1238,7 +1295,7 @@ dnl use the toolkit if we have gtk, or X11R5 or newer.
* ) USE_X_TOOLKIT=maybe ;;
esac
;;
mac | none )
nextstep | mac | none )
HAVE_X_WINDOWS=no
HAVE_X11=no
USE_X_TOOLKIT=none
......@@ -1710,6 +1767,9 @@ if test "${with_toolkit_scroll_bars}" != "no"; then
elif test "${HAVE_CARBON}" = "yes"; then
AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
USE_TOOLKIT_SCROLL_BARS=yes
elif test "${HAVE_NS}" = "yes"; then
AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
USE_TOOLKIT_SCROLL_BARS=yes
fi
fi
......@@ -2019,6 +2079,30 @@ if test "${HAVE_CARBON}" = "yes"; then
# We also have mouse menus.
HAVE_MENUS=yes
fi
### Use NeXTstep API to implement GUI.
if test "${HAVE_NS}" = "yes"; then
AC_DEFINE(HAVE_NS, 1, [Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on Mac OS X.])
## Specify the install directory
ns_appdir=
if test "${ns_appdir_x}" != ""; then
case ${ns_appdir_x} in
y | ye | yes) ns_appdir=/Applications ;;
* ) ns_appdir=${ns_appdir_x} ;;
esac
fi
if test "${COCOA}" = "yes"; then
AC_DEFINE(NS_IMPL_COCOA, 1, [Define to 1 if you are using NS windowing under MacOS X.])
fi
if test "${EN_COCOA_EXPERIMENTAL_CTRL_G}" = "yes"; then
AC_DEFINE(COCOA_EXPERIMENTAL_CTRL_G, 1, [Define to 1 if you are trying experimental enhanced Ctrl-g support using NS windowing under MacOS X.])
fi
if test "${GNUSTEP}" = "yes"; then
AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
fi
# We also have mouse menus.
HAVE_MENUS=yes
fi
### Use session management (-lSM -lICE) if available
HAVE_X_SM=no
......@@ -2414,6 +2498,7 @@ AC_SUBST(machfile)
AC_SUBST(opsysfile)
AC_SUBST(GETLOADAVG_LIBS)
AC_SUBST(carbon_appdir)
AC_SUBST(ns_appdir)
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}",
[Define to the canonical Emacs configuration name.])
......@@ -2503,8 +2588,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
])dnl
AH_BOTTOM([
/* If we're using any sort of window system, define some consequences. */
#ifdef HAVE_X_WINDOWS
/* If we're using X11/Carbon/GNUstep, define some consequences. */
#if defined HAVE_X_WINDOWS || defined(HAVE_CARBON) || defined(HAVE_NS)
#define HAVE_WINDOW_SYSTEM
#define MULTI_KBOARD
#define HAVE_MOUSE
......@@ -2516,13 +2601,15 @@ AH_BOTTOM([
#define MULTI_KBOARD
#endif
/* If we're using the Carbon API on Mac OS X, define a few more
variables as well. */
#ifdef HAVE_CARBON
#define HAVE_WINDOW_SYSTEM
#define HAVE_MOUSE
/* Sadly for now, GNUstep dump does not work. */
#ifdef NS_IMPL_GNUSTEP
#define CANNOT_DUMP
#endif
/* PENDING: These are used for the Carbon port only. */
#undef MAC_OS
#undef MAC_OSX
/* Define USER_FULL_NAME to return a string
that is the user's full name.
It can assume that the variable `pw'
......@@ -2575,6 +2662,28 @@ AH_BOTTOM([
#include config_opsysfile
#include config_machfile
/* Set up some defines, C and LD flags for NeXTstep interface on GNUstep.
(There is probably a better place to do this, but right now the Cocoa
side does this in s/darwin.h, following the Carbon port, and we cannot
parallel this exactly since GNUstep is multi-OS. */
#ifdef HAVE_NS
# ifdef C_SWITCH_SYSTEM
# undef C_SWITCH_SYSTEM
# endif
# ifdef NS_IMPL_GNUSTEP
/* See also .m.o rule in Makefile.in */
# define C_SWITCH_X_SYSTEM -MMD -MP -D_REENTRANT -fPIC -fno-strict-aliasing
# define LD_SWITCH_SITE -lgnustep-gui -lgnustep-base -lobjc $(CONFIG_SYSTEM_LIBS) -lpthread
# define GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE
# define OTHER_FILES ns-app
# else /* COCOA */
# define C_SWITCH_X_SYSTEM
# define GNU_OBJC_CFLAGS
# endif /* COCOA */
#endif /* HAVE_NS */
/* If no remapping takes place, static variables cannot be dumped as
pure, so don't worry about the `static' keyword. */
#ifdef NO_REMAP
......
2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
* ns-emacs.texi: New file, documents features of Emacs port under
NeXTstep windowing.
2008-07-15 Chong Yidong <cyd@stupidchicken.com>
* entering.texi (Entering Emacs): Update prev node.
......
This diff is collapsed.
2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
* Emacs.clr: New file, add support for X color names to NS display
implementations.
2008-07-12 Juri Linkov <juri@jurta.org>
* HELLO: Use more correct IPA characters for English pronunciation.
......
This diff is collapsed.
......@@ -11,6 +11,7 @@ etags
fakemail
getopt.h
hexl
mac-fix-env
make-docfile
movemail
obj
......
2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
* .cvsignore: Add mac-fix-env.
* mac-fix-env.m: New file, automatically update
~/.MacOSX/environment.plist on OS X systems to expose environment
variables inside Emacs started from icon.
* Makefile.in: Add -universal to CFLAGS on OS X, add mac-fix-env to
programs to build.
* make-docfile.c: Add .m to list of file extensions.
2008-07-12 Dan Nicolaescu <dann@ics.uci.edu>
* movemail.c (main): Use int instead of WAITTYPE.
......
......@@ -144,6 +144,23 @@ MOVE_FLAGS=
#define NOT_C_CODE
#include "../src/config.h"
#if defined(COCOA)
/* Build these programs as universal binaries. */
CFLAGS := $(CFLAGS) -universal
/* Add mac-fix-env for OS X systems running NS version. */
INSTALLABLES = etags${EXEEXT} ctags${EXEEXT} emacsclient${EXEEXT} b2m${EXEEXT} ebrowse${EXEEXT} mac-fix-env${EXEEXT}
#endif
/* Some platforms that the GNUstep port runs on put strip options in
INSTALL_PROGRAM which cause errors. But, not being sure all other
platforms are setting this, we will only use the alternative
INSTALL_SCRIPT variable on GNUstep/Cocoa builds. */
#ifndef HAVE_NS
INSTALL_SCRIPT = @INSTALL_PROGRAM@
#else
INSTALL_SCRIPT = @INSTALL_SCRIPT@
#endif
/* Some machines don\'t find the standard C libraries in the usual place. */
#ifndef ORDINARY_LINK
#ifndef LIB_STANDARD_LIBSRC
......@@ -253,12 +270,22 @@ CPP_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
BASE_CFLAGS = C_SWITCH_SYSTEM C_SWITCH_MACHINE -DHAVE_CONFIG_H \
-I. -I../src -I${srcdir} -I${srcdir}/../src ${CPPFLAGS} ${CFLAGS}
.SUFFIXES: .m
/* This is the default compilation command.
But we should never rely on it, because some make version
failed to find it for getopt.o.
Using an explicit command made it work. */
.c.o:
${CC} -c ${CPP_CFLAGS} $<
#ifdef HAVE_NS
.m.o:
#ifdef GNUSTEP
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString $<
#else
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
#endif
#endif
all: ${DONT_INSTALL} ${UTILITIES} ${INSTALLABLES} ${SCRIPTS} ${INSTALLABLE_SCRIPTS}
......@@ -455,3 +482,8 @@ update-game-score${EXEEXT}: update-game-score.o $(GETOPTDEPS)
update-game-score.o: ${srcdir}/update-game-score.c ../src/config.h $(GETOPT_H)
$(CC) -c ${CPP_CFLAGS} ${srcdir}/update-game-score.c \
-DHAVE_SHARED_GAME_DIR="\"$(gamedir)\""
#if defined(COCOA)
mac-fix-env: ${srcdir}/mac-fix-env.m
$(CC) -o mac-fix-env ${srcdir}/mac-fix-env.m -prebind -framework Foundation
#endif
/* mac-fix-env: A small utility to pick up the shell environment on MacOS X
and insert it into the file ~/.MacOSX/environment.plist
creating if necessary.
Copyright (C) 1989, 1993, 2005, 2008 Free Software Foundation, Inc.
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
usage:
Run from command line (in Terminal) once or whenever path changes:
/Applications/Emacs.app/Contents/MacOS/bin/mac-fix-env
(change initial part to where you installed Emacs).
*/
#import <Foundation/Foundation.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSMutableDictionary *envPlist;
NSString *file = [[NSHomeDirectory()
stringByAppendingPathComponent:@".MacOSX"]
stringByAppendingPathComponent:@"environment.plist"];
NSString *path = [NSString stringWithCString: getenv("PATH")];
envPlist = [[NSDictionary dictionaryWithContentsOfFile: file] mutableCopy];
if (envPlist == nil)
{
// create
NSString *dir = [file stringByDeletingLastPathComponent];
envPlist = [NSMutableDictionary dictionaryWithCapacity: 5];
if ([[NSFileManager defaultManager] fileExistsAtPath: dir] == NO)
{
if ([[NSFileManager defaultManager] createDirectoryAtPath:dir
attributes:nil]==NO)
{
NSLog(@":\nCould not create directory at '%@'; aborting.",dir);
return 1;
}
}
}
[envPlist setObject: path forKey: @"PATH"];
if ([envPlist writeToFile: file atomically: YES] == NO)
{
NSLog(@":\nCould not write file at '%@'; aborting.", file);
return 1;
}
NSLog(@":\nWrote file to '%@'.\nPlease inspect it to make sure PATH is correct.", file);
return 0;
}
......@@ -533,7 +533,7 @@ write_c_args (out, func, buf, minargs, maxargs)
}
/* Read through a c file. If a .o file is named,
the corresponding .c file is read instead.
the corresponding .c or .m file is read instead.
Looks for DEFUN constructs such as are defined in ../src/lisp.h.
Accepts any word starting DEF... so it finds DEFSIMPLE and DEFPRED. */
......@@ -555,6 +555,15 @@ scan_c_file (filename, mode)
infile = fopen (filename, mode);
if (infile == NULL && extension == 'o')
{
/* try .m */
filename[strlen (filename) - 1] = 'm';
infile = fopen (filename, mode);
if (infile == NULL)
filename[strlen (filename) - 1] = 'c'; /* don't confuse people */
}
/* No error if non-ex input file */
if (infile == NULL)
{
......
2008-07-15 Adrian Robert <Adrian.B.Robert@gmail.com>
* ns-carbon-compat.el: New file: user-visible compatibility of
NeXTstep port with Carbon port.
* ns-grabenv.el: New file: functionality useful on OS X platform to
expose environment variables inside Emacs started from icon.
* Makefile.in: Add above three files.
* cus-edit.el
* cus-face.el
* disp-table.el
* faces.el
* info.el
* mouse.el
* mwheel.el
* simple.el: Add ns to window systems treated as GUIs.
* facemenu.el (facemenu-read-color): Don't require a name match under
NS, to allow numeric color entry.
* frame.el (make-frame-on-display): Follow code for 'x in initializing
'ns window system if need be.
(various): Add 'ns as described above.
* loadup.el: Load ns-win.el if ns-windowing is active.
* startup.el (command-line-ns-option-alist): New constant to handle NS
windowing system specific command line args analogous to how they are
handled for X windows.
(command-line-1): Use the above where appropriate.
* version.el: Add NS port version.
* woman.el (woman-man.conf-path): Add /usr/share/misc to init path on
Darwin (usually OS X) systems.
(woman-use-own-frame): Include 'ns in list of GUI window systems.
* emulation/viper-util.el (ns-display-color-p)
(ns-color-defined-p): Remove these (caustically-commented) outdated
compensations for a port that was never itself integrated until now.
* gnus/gnus-util.el (gnus-select-frame-set-input-focus): Add support
for NS window system.
* international/mule-cmds.el: Add 'ns to list of special-cased window
systems (probably most of these, x/w32/mac/ns could be changed to
window-system non-nil).
* term/ns-win.el: New file: lisp-side support for NS windowing system.
2008-07-14 Jason Rumney <jasonr@gnu.org>
* term/w32-win.el (x-handle-switch, x-handle-name-switch)
......
......@@ -867,6 +867,8 @@ ELCFILES = \
$(lisp)/net/zeroconf.elc \
$(lisp)/newcomment.elc \
$(lisp)/novice.elc \
$(lisp)/ns-grabenv.elc \
$(lisp)/ns-carbon-compat.elc \
$(lisp)/nxml/nxml-enc.elc \
$(lisp)/nxml/nxml-glyph.elc \
$(lisp)/nxml/nxml-maint.elc \
......@@ -1110,6 +1112,7 @@ ELCFILES = \
$(lisp)/tempo.elc \
$(lisp)/term.elc \
$(lisp)/term/mac-win.elc \
$(lisp)/term/ns-win.elc \
$(lisp)/term/pc-win.elc \
$(lisp)/term/rxvt.elc \
$(lisp)/term/sun.elc \
......
......@@ -2068,7 +2068,7 @@ and `face'."
;;; The `custom' Widget.
(defface custom-button
'((((type x w32 mac) (class color)) ; Like default modeline
'((((type x w32 mac ns) (class color)) ; Like default modeline
(:box (:line-width 2 :style released-button)
:background "lightgrey" :foreground "black"))
(t
......@@ -2080,7 +2080,7 @@ and `face'."
(put 'custom-button-face 'face-alias 'custom-button)
(defface custom-button-mouse
'((((type x w32 mac) (class color))
'((((type x w32 mac ns) (class color))
(:box (:line-width 2 :style released-button)
:background "grey90" :foreground "black"))
(t
......@@ -2102,7 +2102,7 @@ and `face'."
(if custom-raised-buttons 'custom-button-mouse 'highlight))
(defface custom-button-pressed
'((((type x w32 mac) (class color))
'((((type x w32 mac ns) (class color))
(:box (:line-width 2 :style pressed-button)
:background "lightgrey" :foreground "black"))
(t
......@@ -3163,8 +3163,12 @@ Windows NT/9X.")
w32)
(const :format "MAC "
:sibling-args (:help-echo "\
Macintosh OS.")
Macintosh OS (Carbon interface).")
mac)
(const :format "NS "
:sibling-args (:help-echo "\
GNUstep or Macintosh OS Cocoa interface.")
ns)
(const :format "DOS "
:sibling-args (:help-echo "\
Plain MS-DOS.")
......
......@@ -44,7 +44,7 @@
;; Create frame-local faces
(dolist (frame (frame-list))
(face-spec-set-2 face frame value)
(when (memq (window-system frame) '(x w32 mac))
(when (memq (window-system frame) '(x w32 mac ns))
(setq have-window-system t)))
;; When making a face after frames already exist
(if have-window-system
......
......@@ -142,7 +142,7 @@ Valid symbols are `truncation', `wrap', `escape', `control',
"Display character C as character SC in the g1 character set.
This function assumes that your terminal uses the SO/SI characters;
it is meaningless for an X frame."
(if (memq window-system '(x w32 mac))
(if (memq window-system '(x w32 mac ns))
(error "Cannot use string glyphs in a windowing system"))
(or standard-display-table
(setq standard-display-table (make-display-table)))
......@@ -154,7 +154,7 @@ it is meaningless for an X frame."
"Display character C as character GC in graphics character set.
This function assumes VT100-compatible escapes; it is meaningless for an
X frame."
(if (memq window-system '(x w32 mac))
(if (memq window-system '(x w32 mac ns))
(error "Cannot use string glyphs in a windowing system"))
(or standard-display-table
(setq standard-display-table (make-display-table)))
......@@ -243,7 +243,7 @@ for users who call this function in `.emacs'."
(equal (aref standard-display-table 161) [161])))
(progn
(standard-display-default 160 255)
(unless (or (memq window-system '(x w32 mac)))
(unless (or (memq window-system '(x w32 mac ns)))
(and (terminal-coding-system)
(set-terminal-coding-system nil))))
......@@ -255,7 +255,7 @@ for users who call this function in `.emacs'."
;; unless some other has been specified.
(if (equal current-language-environment "English")
(set-language-environment "latin-1"))
(unless (or noninteractive (