Remove support for Mac Carbon.

* mactoolbox.c:
* macterm.h:
* macterm.c:
* macselect.c:
* macmenu.c:
* macgui.h:
* macfns.c:
* mac.c: Remove file.
* s/darwin.h:
* m/intel386.h:
* xfaces.c:
* xdisp.c:
* window.c:
* tparam.c:
* termhooks.h:
* termcap.c:
* term.c:
* syssignal.h:
* sysselect.h:
* sysdep.c:
* process.c:
* lread.c:
* lisp.h:
* keyboard.c:
* image.c:
* fringe.c:
* frame.h:
* frame.c:
* fontset.c:
* font.h:
* font.c:
* fns.c:
* fileio.c:
* emacs.c:
* dispnew.c:
* dispextern.h:
* config.in:
* atimer.c:
* Makefile.in: Remove code for Carbon

* erc.el: Remove code for Carbon.

Remove support for Mac Carbon.
* term/mac-win.el: Remove file
* international/mule-cmds.el:
* version.el:
* startup.el:
* simple.el:
* mwheel.el:
* mouse.el:
* loadup.el:
* isearch.el:
* info.el:
* frame.el:
* faces.el:
* disp-table.el:
* cus-start.el:
* cus-face.el:
* cus-edit.el:
* Makefile.in: Remove code for Carbon.

Remove support for Mac Carbon.
* makefile.w32-in:
* emacsclient.c: Remove code for Carbon.

* PROBLEMS:
* MACHINES: Remove mentions of Mac Carbon.

* ns-emacs.texi:
* faq.texi: Remove mentions of Mac Carbon.

* os.texi:
* frames.texi:
* display.texi: Remove mentions of Mac Carbon.

* xresources.texi: Remove mentions of Mac Carbon.

* make-tarball.txt:
* admin.el:
* FOR-RELEASE:
* CPP-DEFINES: Remove mentions of Mac Carbon.

Remove support for Mac Carbon.
* mac: Remove directory.
* make-dist:
* configure.in:
* README:
* Makefile.in:
* INSTALL:  Remove code for Carbon.
* configure: Regenerate.
This commit is contained in:
Dan Nicolaescu 2008-07-27 18:24:48 +00:00
parent 7f19297073
commit 9e2a264775
100 changed files with 269 additions and 42429 deletions

View file

@ -1,3 +1,14 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
Remove support for Mac Carbon.
* mac: Remove directory.
* make-dist:
* configure.in:
* README:
* Makefile.in:
* INSTALL: Remove code for Carbon.
* configure: Regenerate.
2008-07-26 Adrian Robert <Adrian.B.Robert@gmail.com>
* Makefile.in (install-arch-dep): Fix typo in NS installation

View file

@ -223,8 +223,7 @@ DETAILED BUILDING AND INSTALLATION:
(This is for a Unix or Unix-like system. For MS-DOS and Windows 3.X,
see below; search for MSDOG. For Windows 9X, Windows ME, Windows NT,
and Windows 2000, see the file nt/INSTALL. For the Mac, see the file
mac/INSTALL.)
and Windows 2000, see the file nt/INSTALL.)
1) Make sure your system has enough swapping space allocated to handle
a program whose pure code is 1.5 MB and whose data area is at

View file

@ -164,9 +164,6 @@ VPATH=@srcdir@
# Where to find the application default.
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@
ns_appbindir=@ns_appbindir@
@ -410,12 +407,6 @@ install-arch-dep: mkdir
${INSTALL_DATA} lib-src/$$f $(DESTDIR)${archlibdir}/$$f; \
else true; fi ; \
done
if test "${carbon_appdir}" != ""; then \
umask 022; mkdir -p $(DESTDIR)${carbon_appdir}/Emacs.app; \
(cd mac/Emacs.app; (tar -chf - . | \
(cd $(DESTDIR)${carbon_appdir}/Emacs.app; umask 022; tar -xvf - \
&& cat > /dev/null))) || exit 1; \
fi
if test "${ns_appdir}" != ""; then \
( cd ${ns_appresdir} ; \
if test -d share/emacs ; then mv -f share/emacs/*/* . ; fi ; \

2
README
View file

@ -84,8 +84,6 @@ There are several subdirectories:
`vms' holds instructions and useful files for running Emacs under VMS.
`nt' holds various command files and documentation files that pertain
to building and running Emacs on Windows 9X/ME/NT/2000/XP.
`mac' holds instructions, sources, and other useful files for building
and running Emacs on the Mac.
`test' holds tests for various aspects of Emacs's functionality.
Building Emacs on non-Posix platforms requires to install tools

View file

@ -3,8 +3,6 @@ of their use. Feel free to add more macros and more categories.
** Distinguishing OSes **
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.
__CYGWIN__ Ditto
MSDOS Compiling the MS-DOS port.
@ -21,8 +19,6 @@ 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.
@ -38,7 +34,6 @@ USE_GTK Use the Gtk toolkit for menus&scrollbars. Requires HAVE_X11.
FRAME_TERMCAP_P A tty (character terminal) frame.
FRAME_X_P A frame on X Window system.
FRAME_MSDOS_P An MS-DOS frame (used only by the DOS port).
FRAME_MAC_P A Mac frame.
FRAME_W32_P A frame using native MS-Windows GUI.
FRAME_WINDOW_P A GUI frame (like X, w32, etc.)

View file

@ -1,3 +1,10 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* make-tarball.txt:
* admin.el:
* FOR-RELEASE:
* CPP-DEFINES: Remove mentions of Mac Carbon.
2008-07-16 Glenn Morris <rgm@gnu.org>
* admin.el (set-version, set-copyright): Add nextstep/ files.

View file

@ -125,6 +125,8 @@ http://lists.gnu.org/archive/html/emacs-devel/2007-10/msg00951.html
* DOCUMENTATION
** Verify if doc/emacs/macos.texi is still useful, remove it if it is not.
** Document multi-tty features
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01639.html
http://lists.gnu.org/archive/html/emacs-devel/2007-08/msg01602.html

View file

@ -123,43 +123,7 @@ Root must be the root of an Emacs source tree."
(set-version-in-file root "nt/emacs.rc" comma-space-version
(rx (and "\"ProductVersion\"" (0+ space) ?,
(0+ space) ?\" (submatch (1+ (in "0-9, ")))
"\\0\"")))
;; Some files in the "mac" subdirectory also contain the version
;; number.
(set-version-in-file
root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings"
version (rx (and "CFBundleShortVersionString" (0+ space) ?= (0+ space) ?\"
(submatch (1+ (in "0-9."))))))
(set-version-in-file
root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings"
version (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) ?\"
(submatch (1+ (in "0-9."))))))
(set-version-in-file root "mac/src/Emacs.r" (car version-components)
(rx (and "GNU Emacs " (submatch (1+ (in "0-9")))
" for Mac OS")))
(set-version-in-file root "mac/src/Emacs.r" (car version-components)
(rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\,
(0+ space) "/* Major revision in BCD */")))
(set-version-in-file root "mac/src/Emacs.r" (cadr version-components)
(rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\,
(0+ space) "/* Minor revision in BCD */")))
(set-version-in-file root "mac/src/Emacs.r" (cadr (cdr version-components))
(rx (and (submatch (1+ (in "0-9"))) (0+ space) ?\,
(0+ space) "/* Non-final release # */")))
(set-version-in-file root "mac/src/Emacs.r" version
(rx (and (submatch (1+ (in "0-9."))) (0+ space) ?\" ?\,
(0+ space) "/* Short version number */")))
(set-version-in-file root "mac/src/Emacs.r" version
(rx (and "/* Short version number */" (0+ space) ?\"
(submatch (1+ (in "0-9."))))))
(let* ((third-component (string-to-number (cadr (cdr version-components))))
(release (cond ((>= third-component 90) "alpha")
((>= third-component 50) "development")
(t "final"))))
(set-version-in-file
root "mac/src/Emacs.r" release
(rx (and (submatch (1+ (in "a-z"))) (0+ space) ?\, (0+ space)
"/* development, alpha, beta, or final (release) */")))))
"\\0\""))))
;; nextstep.
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Info.plist"
@ -211,29 +175,8 @@ Root must be the root of an Emacs source tree."
(set-version-in-file root "lib-src/rcs2log" copyright
(rx (and "Copyright" (0+ space) ?= (0+ space)
?\' (submatch (1+ nonl)))))
(set-version-in-file
root "mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings"
copyright (rx (and "CFBundleGetInfoString" (0+ space) ?= (0+ space) ?\"
(1+ anything)
(submatch "Copyright" (1+ (not (in ?\")))))))
;; This one is a nuisance, as it needs to be split over two lines.
(string-match "\\(.*[0-9]\\{4\\} *\\)\\(.*\\)" copyright)
(let ((csign "\\0xa9")
(cyear (match-string 1 copyright)) ; "Copyright (C) 2007 "
(owner (match-string 2 copyright))) ; "Free Software Foundation, Inc."
(set-version-in-file root "mac/src/Emacs.r"
(regexp-quote
(replace-regexp-in-string "(C)"
(regexp-quote csign) cyear))
(rx (and
(submatch "Copyright" (0+ space) (eval csign)
(0+ space) (= 4 num)
(0+ (not (in ?\")))) ?\")))
(set-version-in-file root "mac/src/Emacs.r" owner
(rx (and ?\"
(submatch (1+ (not (in ?\"))))
?\" (0+ space)
"/* Long version number */"))))
;; nextstep.
(set-version-in-file
root "nextstep/Cocoa/Emacs.base/Contents/Info.plist"

View file

@ -23,8 +23,7 @@ For each step, check for possible errors.
6. Commit configure, README, doc/emacs/emacs.texi,
doc/lispref/elisp.texi, etc/AUTHORS, lisp/version.el,
mac/Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings,
mac/src/Emacs.r, nt/emacs.rc. Copy lisp/loaddefs.el to
nt/emacs.rc. Copy lisp/loaddefs.el to
lisp/ldefs-boot.el and commit lisp/ldefs-boot.el. For a release,
also commit the ChangeLog files in all directories.

337
configure vendored
View file

@ -733,7 +733,6 @@ C_SWITCH_X_SITE
X_TOOLKIT_TYPE
machfile
opsysfile
carbon_appdir
ns_appdir
ns_appbindir
ns_appresdir
@ -1334,9 +1333,6 @@ if test -n "$ac_init_help"; then
Optional Features:
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-carbon-app[=DIR]
specify install directory for Emacs.app on Mac OS X
[DIR=/Application]
--enable-cocoa-experimental-ctrl-g enable experimental improved ctrl-g recognition
--disable-ns-self-contained disable self contained build under NS
--enable-asserts compile code with asserts enabled
@ -1373,7 +1369,6 @@ Optional Packages:
don't use Motif or Xaw3d scroll bars
--without-xaw3d don't use Xaw3d
--without-xim don't use X11 XIM
--with-carbon use Carbon GUI on Mac OS X. This is unsupported!
--with-ns use nextstep (Cocoa or GNUstep) windowing system
--without-gpm don't use -lgpm for mouse support on a GNU/Linux
console
@ -2087,14 +2082,6 @@ else
fi
# Check whether --with-carbon was given.
if test "${with_carbon+set}" = set; then
withval=$with_carbon;
else
with_carbon=no
fi
# Check whether --with-ns was given.
if test "${with_ns+set}" = set; then
withval=$with_ns;
@ -2165,12 +2152,6 @@ if test "X${with_pkg_config_prog}" != X; then
fi
fi
# Check whether --enable-carbon-app was given.
if test "${enable_carbon_app+set}" = set; then
enableval=$enable_carbon_app; carbon_appdir_x=${enableval}
fi
# Check whether --enable-cocoa-experimental-ctrl-g was given.
if test "${enable_cocoa_experimental_ctrl_g+set}" = set; then
enableval=$enable_cocoa_experimental_ctrl_g; EN_COCOA_EXPERIMENTAL_CTRL_G=yes
@ -9193,141 +9174,6 @@ else
fi
fi
HAVE_CARBON=no
if test "${with_carbon}" != no; then
if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
{ echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6; }
if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
{ echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6; }
else
# Is the header compilable?
{ echo "$as_me:$LINENO: checking Carbon/Carbon.h usability" >&5
echo $ECHO_N "checking Carbon/Carbon.h usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
#include <Carbon/Carbon.h>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
{ echo "$as_me:$LINENO: checking Carbon/Carbon.h presence" >&5
echo $ECHO_N "checking Carbon/Carbon.h presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <Carbon/Carbon.h>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: check for missing prerequisite headers?" >&2;}
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: see the Autoconf documentation" >&2;}
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: section \"Present But Cannot Be Compiled\"" >&2;}
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: Carbon/Carbon.h: in the future, the compiler will take precedence" >&2;}
;;
esac
{ echo "$as_me:$LINENO: checking for Carbon/Carbon.h" >&5
echo $ECHO_N "checking for Carbon/Carbon.h... $ECHO_C" >&6; }
if test "${ac_cv_header_Carbon_Carbon_h+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_cv_header_Carbon_Carbon_h=$ac_header_preproc
fi
{ echo "$as_me:$LINENO: result: $ac_cv_header_Carbon_Carbon_h" >&5
echo "${ECHO_T}$ac_cv_header_Carbon_Carbon_h" >&6; }
fi
if test $ac_cv_header_Carbon_Carbon_h = yes; then
HAVE_CARBON=yes
fi
test "${HAVE_CARBON}" = yes && window_system=mac
fi
HAVE_NS=no
NS_IMPL_COCOA=no
NS_IMPL_GNUSTEP=no
@ -9488,7 +9334,6 @@ fi
fi
if test "${HAVE_NS}" = yes; then
test "${window_system}" = mac && HAVE_CARBON=no
window_system=nextstep
with_xft=no
with_freetype=no
@ -9515,7 +9360,7 @@ case "${window_system}" in
* ) USE_X_TOOLKIT=maybe ;;
esac
;;
nextstep | mac | none )
nextstep | none )
HAVE_X_WINDOWS=no
HAVE_X11=no
USE_X_TOOLKIT=none
@ -10908,7 +10753,7 @@ fi
### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified.
HAVE_RSVG=no
if test "${HAVE_X11}" = "yes" || test "${HAVE_CARBON}" = "yes"; then
if test "${HAVE_X11}" = "yes"; then
if test "${with_rsvg}" != "no"; then
RSVG_REQUIRED=2.0.0
RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
@ -12498,12 +12343,6 @@ _ACEOF
elif test "${HAVE_GTK}" = "yes"; then
cat >>confdefs.h <<\_ACEOF
#define USE_TOOLKIT_SCROLL_BARS 1
_ACEOF
USE_TOOLKIT_SCROLL_BARS=yes
elif test "${HAVE_CARBON}" = "yes"; then
cat >>confdefs.h <<\_ACEOF
#define USE_TOOLKIT_SCROLL_BARS 1
_ACEOF
USE_TOOLKIT_SCROLL_BARS=yes
@ -14982,164 +14821,6 @@ fi
### Use Mac OS X Carbon API to implement GUI.
if test "${HAVE_CARBON}" = "yes"; then
cat >>confdefs.h <<\_ACEOF
#define HAVE_CARBON 1
_ACEOF
for ac_header in AvailabilityMacros.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
fi
ac_res=`eval echo '${'$as_ac_Header'}'`
{ echo "$as_me:$LINENO: result: $ac_res" >&5
echo "${ECHO_T}$ac_res" >&6; }
else
# Is the header compilable?
{ echo "$as_me:$LINENO: checking $ac_header usability" >&5
echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
$ac_includes_default
#include <$ac_header>
_ACEOF
rm -f conftest.$ac_objext
if { (ac_try="$ac_compile"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_compile") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest.$ac_objext; then
ac_header_compiler=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_compiler=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
echo "${ECHO_T}$ac_header_compiler" >&6; }
# Is the header present?
{ echo "$as_me:$LINENO: checking $ac_header presence" >&5
echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6; }
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
#include <$ac_header>
_ACEOF
if { (ac_try="$ac_cpp conftest.$ac_ext"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_cpp conftest.$ac_ext") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } >/dev/null && {
test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
test ! -s conftest.err
}; then
ac_header_preproc=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_header_preproc=no
fi
rm -f conftest.err conftest.$ac_ext
{ echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
echo "${ECHO_T}$ac_header_preproc" >&6; }
# So? What about this header?
case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
yes:no: )
{ echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
ac_header_preproc=yes
;;
no:yes:* )
{ echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
{ echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
;;
esac
{ echo "$as_me:$LINENO: checking for $ac_header" >&5
echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
eval "$as_ac_Header=\$ac_header_preproc"
fi
ac_res=`eval echo '${'$as_ac_Header'}'`
{ echo "$as_me:$LINENO: result: $ac_res" >&5
echo "${ECHO_T}$ac_res" >&6; }
fi
if test `eval echo '${'$as_ac_Header'}'` = yes; then
cat >>confdefs.h <<_ACEOF
#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
_ACEOF
fi
done
## Specify the install directory
carbon_appdir=
if test "${carbon_appdir_x}" != ""; then
case ${carbon_appdir_x} in
y | ye | yes) carbon_appdir=/Applications ;;
* ) carbon_appdir=${carbon_appdir_x} ;;
esac
fi
# We also have mouse menus.
HAVE_MENUS=yes
fi
### Use NeXTstep API to implement GUI.
if test "${HAVE_NS}" = "yes"; then
@ -24189,7 +23870,6 @@ fi
cat >>confdefs.h <<_ACEOF
@ -24360,16 +24040,6 @@ if test "$USE_X_TOOLKIT" = GTK; then
esac
fi
if test "$HAVE_CARBON" = "yes"; then
echo
echo "Warning: The Mac Carbon port is currently unsupported and has
known problems. It is not recommended for use by non-developers.
The NeXTstep port (--with-ns) is an alternative.
Read the emacs-devel archives for more information."
echo
fi
if test "$HAVE_NS" = "yes"; then
echo
echo "You must run \"make install\" in order to test the built application.
@ -25228,7 +24898,6 @@ C_SWITCH_X_SITE!$C_SWITCH_X_SITE$ac_delim
X_TOOLKIT_TYPE!$X_TOOLKIT_TYPE$ac_delim
machfile!$machfile$ac_delim
opsysfile!$opsysfile$ac_delim
carbon_appdir!$carbon_appdir$ac_delim
ns_appdir!$ns_appdir$ac_delim
ns_appbindir!$ns_appbindir$ac_delim
ns_appresdir!$ns_appresdir$ac_delim
@ -25237,7 +24906,7 @@ GNUSTEP_MAKEFILES!$GNUSTEP_MAKEFILES$ac_delim
LTLIBOBJS!$LTLIBOBJS$ac_delim
_ACEOF
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 27; then
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 26; then
break
elif $ac_last_try; then
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

View file

@ -141,7 +141,6 @@ OPTION_DEFAULT_ON([m17n-flt],[don't use m17n-flt for text shaping])
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])
@ -170,12 +169,6 @@ if test "X${with_pkg_config_prog}" != X; then
fi
fi
AC_ARG_ENABLE(carbon-app,
[AS_HELP_STRING([--enable-carbon-app@<:@=DIR@:>@],
[specify install directory for Emacs.app on Mac OS X
[DIR=/Application]])],
[ carbon_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,
@ -1214,12 +1207,6 @@ else
fi
fi
HAVE_CARBON=no
if test "${with_carbon}" != no; then
AC_CHECK_HEADER(Carbon/Carbon.h, HAVE_CARBON=yes)
test "${HAVE_CARBON}" = yes && window_system=mac
fi
HAVE_NS=no
NS_IMPL_COCOA=no
NS_IMPL_GNUSTEP=no
@ -1251,7 +1238,6 @@ if test "${with_ns}" != no; then
AC_CHECK_HEADER(AppKit/AppKit.h, HAVE_NS=yes)
fi
if test "${HAVE_NS}" = yes; then
test "${window_system}" = mac && HAVE_CARBON=no
window_system=nextstep
with_xft=no
with_freetype=no
@ -1282,7 +1268,7 @@ dnl use the toolkit if we have gtk, or X11R5 or newer.
* ) USE_X_TOOLKIT=maybe ;;
esac
;;
nextstep | mac | none )
nextstep | none )
HAVE_X_WINDOWS=no
HAVE_X11=no
USE_X_TOOLKIT=none
@ -1475,7 +1461,7 @@ fi
### Use -lrsvg-2 if available, unless `--with-rsvg=no' is specified.
HAVE_RSVG=no
if test "${HAVE_X11}" = "yes" || test "${HAVE_CARBON}" = "yes"; then
if test "${HAVE_X11}" = "yes"; then
if test "${with_rsvg}" != "no"; then
RSVG_REQUIRED=2.0.0
RSVG_MODULE="librsvg-2.0 >= $RSVG_REQUIRED"
@ -1751,9 +1737,6 @@ if test "${with_toolkit_scroll_bars}" != "no"; then
elif test "${HAVE_GTK}" = "yes"; then
AC_DEFINE(USE_TOOLKIT_SCROLL_BARS)
USE_TOOLKIT_SCROLL_BARS=yes
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
@ -2051,21 +2034,6 @@ fi
dnl Check for malloc/malloc.h on darwin
AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])])
### Use Mac OS X Carbon API to implement GUI.
if test "${HAVE_CARBON}" = "yes"; then
AC_DEFINE(HAVE_CARBON, 1, [Define to 1 if you are using the Carbon API on Mac OS X.])
AC_CHECK_HEADERS(AvailabilityMacros.h)
## Specify the install directory
carbon_appdir=
if test "${carbon_appdir_x}" != ""; then
case ${carbon_appdir_x} in
y | ye | yes) carbon_appdir=/Applications ;;
* ) carbon_appdir=${carbon_appdir_x} ;;
esac
fi
# 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.])
@ -2476,7 +2444,6 @@ AC_SUBST(X_TOOLKIT_TYPE)
AC_SUBST(machfile)
AC_SUBST(opsysfile)
AC_SUBST(GETLOADAVG_LIBS)
AC_SUBST(carbon_appdir)
AC_SUBST(ns_appdir)
AC_SUBST(ns_appbindir)
AC_SUBST(ns_appresdir)
@ -2572,7 +2539,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
AH_BOTTOM([
/* If we're using X11/Carbon/GNUstep, define some consequences. */
#if defined HAVE_X_WINDOWS || defined(HAVE_CARBON) || defined(HAVE_NS)
#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
#define HAVE_WINDOW_SYSTEM
#define MULTI_KBOARD
#define HAVE_MOUSE
@ -2589,10 +2556,6 @@ AH_BOTTOM([
#define CANNOT_DUMP
#endif
/* TODO: These are used for the Carbon port only. */
#undef MAC_OS
#undef MAC_OSX
/* Define AMPERSAND_FULL_NAME if you use the convention
that & in the full name stands for the login id. */
/* Turned on June 1996 supposing nobody will mind it. */
@ -2636,7 +2599,7 @@ AH_BOTTOM([
/* 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
side does this in s/darwin.h and we cannot
parallel this exactly since GNUstep is multi-OS. */
#ifdef HAVE_NS
# ifdef C_SWITCH_SYSTEM
@ -2893,16 +2856,6 @@ if test "$USE_X_TOOLKIT" = GTK; then
esac
fi
if test "$HAVE_CARBON" = "yes"; then
echo
echo "Warning: The Mac Carbon port is currently unsupported and has
known problems. It is not recommended for use by non-developers.
The NeXTstep port (--with-ns) is an alternative.
Read the emacs-devel archives for more information."
echo
fi
if test "$HAVE_NS" = "yes"; then
echo
echo "You must run \"make install\" in order to test the built application.

View file

@ -1,3 +1,7 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* xresources.texi: Remove mentions of Mac Carbon.
2008-07-19 Andreas Schwab <schwab@suse.de>
* ns-emacs.texi: Move to ../misc.

View file

@ -8,10 +8,9 @@
You can customize some X-related aspects of Emacs behavior using X
resources, as is usual for programs that use X. On MS-Windows, you
can customize some of the same aspects using the system registry.
@xref{MS-Windows Registry}. Likewise, Emacs on MacOS Carbon emulates X
resources using the Preferences system. @xref{Mac Environment Variables}.
@xref{MS-Windows Registry}.
When Emacs is built using an ``X toolkit'', such as Lucid or
o When Emacs is built using an ``X toolkit'', such as Lucid or
LessTif, you need to use X resources to customize the appearance of
the widgets, including the menu-bar, scroll-bar, and dialog boxes.
This is because the libraries that implement these don't provide for

View file

@ -1,3 +1,9 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* os.texi:
* frames.texi:
* display.texi: Remove mentions of Mac Carbon.
2008-07-01 Miles Bader <miles@gnu.org>
* text.texi (Special Properties):

View file

@ -1862,8 +1862,8 @@ apply to. Here are the possible values of @var{characteristic}:
@item type
The kind of window system the frame uses---either @code{graphic} (any
graphics-capable display), @code{x}, @code{pc} (for the MS-DOS console),
@code{w32} (for MS Windows 9X/NT/2K/XP), @code{mac} (for the Macintosh
display), or @code{tty} (a non-graphics-capable display).
@code{w32} (for MS Windows 9X/NT/2K/XP), or @code{tty}
(a non-graphics-capable display).
@xref{Window Systems, window-system}.
@item class
@ -5629,8 +5629,6 @@ Emacs is displaying using X.
Emacs is displaying using MS-DOS.
@item w32
Emacs is displaying using Windows.
@item mac
Emacs is displaying using a Macintosh.
@item nil
Emacs is using a character-based terminal.
@end table

View file

@ -40,8 +40,6 @@ kind of display the frame uses:
The frame is displayed in an X window.
@item t
A terminal frame on a character display.
@item mac
The frame is displayed on a Macintosh.
@item w32
The frame is displayed on MS-Windows 9X/NT.
@item pc
@ -1729,33 +1727,12 @@ and @code{x-set-selection} on MS-Windows support the text data type
only; if the clipboard holds other types of data, Emacs treats the
clipboard as empty.
@cindex scrap support (for Mac OS)
On Mac OS, selection-like data transfer between applications is
performed through a mechanism called @dfn{scraps}. The clipboard is a
particular scrap named @code{com.apple.scrap.clipboard}. Types of scrap
data are called @dfn{scrap flavor types}, which are identified by
four-char codes such as @code{TEXT}. Emacs associates a selection with
a scrap, and a selection type with a scrap flavor type via
@code{mac-scrap-name} and @code{mac-ostype} properties, respectively.
@example
(get 'CLIPBOARD 'mac-scrap-name)
@result{} "com.apple.scrap.clipboard"
(get 'com.apple.traditional-mac-plain-text 'mac-ostype)
@result{} "TEXT"
@end example
Conventionally, selection types for scrap flavor types on Mac OS have
the form of @acronym{UTI, Uniform Type Identifier} such as
@code{com.apple.traditional-mac-plain-text},
@code{public.utf16-plain-text}, and @code{public.file-url}.
@defopt x-select-enable-clipboard
If this is non-@code{nil}, the Emacs yank functions consult the
clipboard before the primary selection, and the kill functions store in
the clipboard as well as the primary selection. Otherwise they do not
access the clipboard at all. The default is @code{nil} on most systems,
but @code{t} on MS-Windows and Mac.
but @code{t} on MS-Windows.
@end defopt
@node Drag and Drop

View file

@ -534,7 +534,7 @@ subprocess of Emacs. Then you would exit the shell to return to Emacs.
may not have a parent that can resume it again, and in any case you can
give input to some other job such as a shell merely by moving to a
different window. Therefore, suspending is not allowed when Emacs is using
a window system (X, MS Windows, or Mac).
a window system (X, MS Windows).
@defun suspend-emacs &optional string
This function stops Emacs and returns control to the superior process.

View file

@ -1,3 +1,8 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* ns-emacs.texi:
* faq.texi: Remove mentions of Mac Carbon.
2008-07-24 Katsumi Yamaoka <yamaoka@jpl.org>
* gnus.texi (Saving Articles): Describe the 2nd argument of

View file

@ -1163,7 +1163,7 @@ machines, as well as support for the Mac OS X and Cygwin operating
systems.
@item
The native MS-Windows, Mac OS 9 and Mac OS X builds include full support
The native MS-Windows, and Mac OS X builds include full support
for images, toolbar, and tooltips.
@item
@ -1359,7 +1359,7 @@ customize, with completion.
In Emacs 21.1 and later, colors and faces are supported in non-windowed mode,
i.e.@: on Unix and GNU/Linux text-only terminals and consoles, and when
invoked as @samp{emacs -nw} on X, MS-Windows, and Mac. (Colors and faces were
invoked as @samp{emacs -nw} on X, and MS-Windows. (Colors and faces were
supported in the MS-DOS port since Emacs 19.29.) Emacs automatically
detects color support at startup and uses it if available. If you think
that your terminal supports colors, but Emacs won't use them, check the
@ -3818,10 +3818,6 @@ menus, and multiple frames. You can get it from
@cindex Apple computers, Emacs for
@cindex Macintosh, Emacs for
Beginning with version 21.1, the Macintosh is supported in the official
Emacs distribution; see the files @file{mac/README} and
@file{mac/INSTALL} in the Emacs distribution for build instructions.
Beginning with version 22.1, Emacs supports Mac OS X natively.
@node Emacs for VMS and DECwindows, Modes for various languages, Emacs for Apple computers, Finding Emacs and related packages

View file

@ -982,8 +982,7 @@ Also a number of others have contributed code. Steve Nygard
<nygard@@telusplanet.net> got emacs to dump under OpenStep. The font panel
code was Andrew Athan's <athan@@object.com> work. Joe Reiss
<jreiss@@magnus.acs.ohio-state.edu> both created the beautiful icons you see
and wrote the popup menu and dialog box code as well as much else. (Actually,
Joe's icon became the one used for the Mac Carbon port..)
and wrote the popup menu and dialog box code as well as much else.
Finally, suggestions from Darcy Brockbank, Timothy Bissell, Scott Byer, David
Griffiths, Scott Hess, Eberhard Mandler, John C. Randolph, and Bradley Taylor

View file

@ -1,3 +1,8 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* PROBLEMS:
* MACHINES: Remove mentions of Mac Carbon.
2008-07-24 Vinicius Jose Latorre <viniciusjl@ig.com.br>
* NEWS: New function `diff-show-trailing-blanks' in diff-mode.el.

View file

@ -53,8 +53,7 @@ Alpha (DEC) running GNU/Linux (alpha-dec-linux-gnu)
Apple Macintosh running Mac OS X
For installation on all versions of the Mac OS platform, see the file
mac/INSTALL.
For installation instructions see the file nextstep/INSTALL.
Apple PowerPC Macintosh running GNU/Linux

View file

@ -1859,36 +1859,6 @@ is actually Xlib which won't work with libc.so.5.2.16.
Using the old library version is a workaround.
** Mac OS X
*** Mac OS X (Carbon): Environment Variables from dotfiles are ignored.
When starting Emacs from the Dock or the Finder on Mac OS X, the
environment variables that are set up in dotfiles, such as .cshrc or
.profile, are ignored. This is because the Finder and Dock are not
started from a shell, but instead from the Window Manager itself.
The workaround for this is to create a .MacOSX/environment.plist file to
setup these environment variables. These environment variables will
apply to all processes regardless of where they are started.
For me information, see http://developer.apple.com/qa/qa2001/qa1067.html.
*** Mac OS X (Carbon): Process output truncated when using ptys.
There appears to be a problem with the implementation of pty's on the
Mac OS X that causes process output to be truncated. To avoid this,
leave process-connection-type set to its default value of nil.
*** Mac OS X 10.3.9 (Carbon): QuickTime updater breaks build.
Some QuickTime updaters such as 7.0.4 and 7.2.0 are known to break
build at the link stage with the message like "Undefined symbols:
_HICopyAccessibilityActionDescription referenced from QuickTime
expected to be defined in Carbon". A workaround is to use a QuickTime
reinstaller. Alternatively, you can link with the frameworks in the
corresponding SDK by specifying LDFLAGS as
"-Wl,-F/Developer/SDKs/MacOSX10.3.0.sdk/System/Library/Frameworks".
** FreeBSD
*** FreeBSD 2.1.5: useless symbolic links remain in /tmp or other

View file

@ -1,3 +1,9 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
Remove support for Mac Carbon.
* makefile.w32-in:
* emacsclient.c: Remove code for Carbon.
2008-07-21 Dan Nicolaescu <dann@ics.uci.edu>
* Makefile.in (mac-fix-env): Remove #ifdef around rule.

View file

@ -569,7 +569,7 @@ decode_options (argc, argv)
if (!tty && display)
window_system = 1;
#if !defined (WINDOWSNT) && !defined (HAVE_CARBON)
#if !defined (WINDOWSNT)
else if (!current_frame)
tty = 1;
#endif

View file

@ -143,7 +143,7 @@ $(BLD)/ctags.$(O): ctags.c
#
obj = dosfns.o msdos.o \
xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \
fontset.o \
w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o \
font.o w32font.o \

View file

@ -1,3 +1,24 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
Remove support for Mac Carbon.
* term/mac-win.el: Remove file
* international/mule-cmds.el:
* version.el:
* startup.el:
* simple.el:
* mwheel.el:
* mouse.el:
* loadup.el:
* isearch.el:
* info.el:
* frame.el:
* faces.el:
* disp-table.el:
* cus-start.el:
* cus-face.el:
* cus-edit.el:
* Makefile.in: Remove code for Carbon.
2008-07-26 Adrian Robert <Adrian.B.Robert@gmail.com>
* term/ns-win.el (ns-extended-platform-support-mode): Get rid of

View file

@ -1111,7 +1111,6 @@ ELCFILES = \
$(lisp)/tempo.elc \
$(lisp)/term.elc \
$(lisp)/term/common-win.elc \
$(lisp)/term/mac-win.elc \
$(lisp)/term/ns-win.elc \
$(lisp)/term/pc-win.elc \
$(lisp)/term/rxvt.elc \

View file

@ -447,13 +447,6 @@
:link '(custom-manual "(emacs)Windows")
:group 'environment)
(defgroup mac nil
"Mac specific features."
:link '(custom-manual "(emacs)Mac OS")
:group 'environment
:version "22.1"
:prefix "mac-")
;;; Custom mode keymaps
(defvar custom-mode-map
@ -2068,7 +2061,7 @@ and `face'."
;;; The `custom' Widget.
(defface custom-button
'((((type x w32 mac ns) (class color)) ; Like default modeline
'((((type x w32 ns) (class color)) ; Like default modeline
(:box (:line-width 2 :style released-button)
:background "lightgrey" :foreground "black"))
(t
@ -2080,7 +2073,7 @@ and `face'."
(put 'custom-button-face 'face-alias 'custom-button)
(defface custom-button-mouse
'((((type x w32 mac ns) (class color))
'((((type x w32 ns) (class color))
(:box (:line-width 2 :style released-button)
:background "grey90" :foreground "black"))
(t
@ -2102,7 +2095,7 @@ and `face'."
(if custom-raised-buttons 'custom-button-mouse 'highlight))
(defface custom-button-pressed
'((((type x w32 mac ns) (class color))
'((((type x w32 ns) (class color))
(:box (:line-width 2 :style pressed-button)
:background "lightgrey" :foreground "black"))
(t
@ -3161,10 +3154,6 @@ OS/2 Presentation Manager.")
:sibling-args (:help-echo "\
Windows NT/9X.")
w32)
(const :format "MAC "
:sibling-args (:help-echo "\
Macintosh OS (Carbon interface).")
mac)
(const :format "NS "
:sibling-args (:help-echo "\
GNUstep or Macintosh OS Cocoa interface.")

View file

@ -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 ns))
(when (memq (window-system frame) '(x w32 ns))
(setq have-window-system t)))
;; When making a face after frames already exist
(if have-window-system

View file

@ -200,42 +200,6 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
(suggest-key-bindings keyboard (choice (const :tag "off" nil)
(integer :tag "time" 2)
(other :tag "on")))
;; macselect.c
(mac-dnd-known-types mac (repeat string) "22.1")
;; macterm.c
(mac-control-modifier mac (choice (const :tag "No modifier" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-command-modifier mac (choice (const :tag "No modifier" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-option-modifier mac (choice (const :tag "No modifier (work as option)" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-function-modifier mac
(choice (const :tag "No modifier (work as function)" nil)
(const control) (const meta)
(const alt) (const hyper)
(const super)) "22.1")
(mac-emulate-three-button-mouse mac
(choice (const :tag "No emulation" nil)
(const :tag "Option->2, Command->3" t)
(const :tag "Command->2, Option->3" reverse))
"22.1")
(mac-wheel-button-is-mouse-2 mac boolean "22.1")
(mac-pass-command-to-system mac boolean "22.1")
(mac-pass-control-to-system mac boolean "22.1")
(mac-allow-anti-aliasing mac boolean "22.1")
(mac-ts-script-language-on-focus mac
(choice (const :tag "System default behavior" nil)
(const :tag "Restore to script/language used in the last focus frame" t)
(cons :tag "Specify script/language"
(integer :tag "Script code")
(integer :tag "Language code")))
"22.1")
;; This is not good news because it will use the wrong
;; version-specific directories when you upgrade. We need
@ -387,8 +351,6 @@ since it could result in memory overflow and make Emacs crash."
(eq system-type 'ms-dos))
((string-match "\\`w32-" (symbol-name symbol))
(eq system-type 'windows-nt))
((string-match "\\`mac-" (symbol-name symbol))
(featurep 'mac-carbon))
((string-match "\\`x-.*gtk" (symbol-name symbol))
(featurep 'gtk))
((string-match "\\`x-" (symbol-name symbol))

View file

@ -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 ns))
(if (memq window-system '(x w32 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 ns))
(if (memq window-system '(x w32 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 ns)))
(unless (or (memq window-system '(x w32 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 (memq window-system '(x w32 mac ns)))
(unless (or noninteractive (memq window-system '(x w32 ns)))
;; Send those codes literally to a character-based terminal.
;; If we are using single-byte characters,
;; it doesn't matter which coding system we use.

View file

@ -1,3 +1,7 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
* erc.el: Remove code for Carbon.
2008-06-07 Glenn Morris <rgm@gnu.org>
* erc/erc-autoaway.el, erc/erc-ibuffer.el, erc/erc-menu.el:

View file

@ -3384,7 +3384,6 @@ the message given by REASON."
((featurep 'gtk)
(concat ", GTK+ Version "
gtk-version-string))
((featurep 'mac-carbon) ", Mac Carbon")
((featurep 'x-toolkit) ", X toolkit")
(t ""))
(if (and (boundp 'x-toolkit-scroll-bars)

View file

@ -338,7 +338,7 @@ specifies an invalid attribute."
(defun set-face-attributes-from-resources (face frame)
"Set attributes of FACE from X resources for FRAME."
(when (memq (framep frame) '(x w32 mac ns))
(when (memq (framep frame) '(x w32 ns))
(dolist (definition face-x-resources)
(let ((attribute (car definition)))
(dolist (entry (cdr definition))
@ -1010,7 +1010,7 @@ an integer value."
((:height)
'integerp)
(:stipple
(and (memq (window-system frame) '(x w32 mac ns))
(and (memq (window-system frame) '(x w32 ns))
(mapcar #'list
(apply #'nconc
(mapcar (lambda (dir)
@ -1129,7 +1129,7 @@ of a global face. Value is the new attribute value."
;; explicitly in VALID, using color approximation code
;; in tty-colors.el.
(when (and (memq attribute '(:foreground :background))
(not (memq (window-system frame) '(x w32 mac ns)))
(not (memq (window-system frame) '(x w32 ns)))
(not (member new-value
'("unspecified"
"unspecified-fg" "unspecified-bg"))))
@ -1624,7 +1624,7 @@ The argument FRAME specifies which frame to try.
The value may be different for frames on different display types.
If FRAME doesn't support colors, the value is nil.
If FRAME is nil, that stands for the selected frame."
(if (memq (framep (or frame (selected-frame))) '(x w32 mac ns))
(if (memq (framep (or frame (selected-frame))) '(x w32 ns))
(xw-defined-colors frame)
(mapcar 'car (tty-color-alist frame))))
(defalias 'x-defined-colors 'defined-colors)
@ -1638,7 +1638,7 @@ If COLOR is the symbol `unspecified' or one of the strings
\"unspecified-fg\" or \"unspecified-bg\", the value is nil."
(if (member color '(unspecified "unspecified-bg" "unspecified-fg"))
nil
(if (member (framep (or frame (selected-frame))) '(x w32 mac ns))
(if (member (framep (or frame (selected-frame))) '(x w32 ns))
(xw-color-defined-p color frame)
(numberp (tty-color-translate color frame)))))
(defalias 'x-color-defined-p 'color-defined-p)
@ -1656,7 +1656,7 @@ If COLOR is the symbol `unspecified' or one of the strings
\"unspecified-fg\" or \"unspecified-bg\", the value is nil."
(if (member color '(unspecified "unspecified-fg" "unspecified-bg"))
nil
(if (memq (framep (or frame (selected-frame))) '(x w32 mac ns))
(if (memq (framep (or frame (selected-frame))) '(x w32 ns))
(xw-color-values color frame)
(tty-color-values color frame))))
(defalias 'x-color-values 'color-values)
@ -1668,7 +1668,7 @@ If COLOR is the symbol `unspecified' or one of the strings
The optional argument DISPLAY specifies which display to ask about.
DISPLAY should be either a frame or a display name (a string).
If omitted or nil, that stands for the selected frame's display."
(if (memq (framep-on-display display) '(x w32 mac ns))
(if (memq (framep-on-display display) '(x w32 ns))
(xw-display-color-p display)
(tty-display-color-p display)))
(defalias 'x-display-color-p 'display-color-p)
@ -1679,7 +1679,7 @@ If omitted or nil, that stands for the selected frame's display."
"Return non-nil if frames on DISPLAY can display shades of gray."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-grayscale-p display))
(t
(> (tty-color-gray-shades display) 2)))))
@ -2027,7 +2027,7 @@ frame parameters in PARAMETERS and `default-frame-alist'."
;; X resouces for the default face are applied during
;; x-create-frame.
(and (not (eq face 'default))
(memq (window-system frame) '(x w32 mac))
(memq (window-system frame) '(x w32))
(make-face-x-resource-internal face frame))
;; Apply attributes specified by face-new-frame-defaults
(internal-merge-in-global-face face frame))
@ -2495,7 +2495,7 @@ Note: Other faces cannot inherit from the cursor face."
'((default
:box (:line-width 1 :style released-button)
:foreground "black")
(((type x w32 mac ns) (class color))
(((type x w32 ns) (class color))
:background "grey75")
(((type x) (class mono))
:background "grey"))

View file

@ -843,7 +843,7 @@ the user during startup."
(select-frame frame)
(raise-frame frame)
;; Ensure, if possible, that frame gets input focus.
(when (memq (window-system frame) '(x mac w32 ns))
(when (memq (window-system frame) '(x w32 ns))
(x-focus-frame frame))
(when focus-follows-mouse
(set-mouse-position (selected-frame) (1- (frame-width)) 0)))
@ -1165,8 +1165,8 @@ frame's display)."
((eq system-type 'windows-nt)
(with-no-warnings
(> w32-num-mouse-buttons 0)))
((memq frame-type '(x mac ns))
t) ;; We assume X, Mac, NeXTstep *always* have a pointing device
((memq frame-type '(x ns))
t) ;; We assume X and NeXTstep *always* have a pointing device
(t
(or (and (featurep 'xt-mouse)
xterm-mouse-mode)
@ -1181,7 +1181,7 @@ frame's display).
Support for popup menus requires that the mouse be available."
(and
(let ((frame-type (framep-on-display display)))
(memq frame-type '(x w32 pc mac ns)))
(memq frame-type '(x w32 pc ns)))
(display-mouse-p display)))
(defun display-graphic-p (&optional display)
@ -1191,7 +1191,7 @@ frames and several different fonts at once. This is true for displays
that use a window system such as X, and false for text-only terminals.
DISPLAY can be a display name, a frame, or nil (meaning the selected
frame's display)."
(not (null (memq (framep-on-display display) '(x w32 mac ns)))))
(not (null (memq (framep-on-display display) '(x w32 ns)))))
(defun display-images-p (&optional display)
"Return non-nil if DISPLAY can display images.
@ -1219,7 +1219,7 @@ frame's display)."
;; the Windows' DOS Box.
(with-no-warnings
(not (null dos-windows-version))))
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
t) ;; FIXME?
(t
nil))))
@ -1230,7 +1230,7 @@ frame's display)."
"Return the number of screens associated with DISPLAY."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-screens display))
(t
1))))
@ -1242,7 +1242,7 @@ frame's display)."
For character terminals, each character counts as a single pixel."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-pixel-height display))
(t
(frame-height (if (framep display) display (selected-frame)))))))
@ -1254,7 +1254,7 @@ For character terminals, each character counts as a single pixel."
For character terminals, each character counts as a single pixel."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-pixel-width display))
(t
(frame-width (if (framep display) display (selected-frame)))))))
@ -1283,7 +1283,7 @@ displays not explicitely specified."
"Return the height of DISPLAY's screen in millimeters.
System values can be overridden by `display-mm-dimensions-alist'.
If the information is unavailable, value is nil."
(and (memq (framep-on-display display) '(x w32 mac ns))
(and (memq (framep-on-display display) '(x w32 ns))
(or (cddr (assoc (or display (frame-parameter nil 'display))
display-mm-dimensions-alist))
(cddr (assoc t display-mm-dimensions-alist))
@ -1295,7 +1295,7 @@ If the information is unavailable, value is nil."
"Return the width of DISPLAY's screen in millimeters.
System values can be overridden by `display-mm-dimensions-alist'.
If the information is unavailable, value is nil."
(and (memq (framep-on-display display) '(x w32 mac ns))
(and (memq (framep-on-display display) '(x w32 ns))
(or (cadr (assoc (or display (frame-parameter nil 'display))
display-mm-dimensions-alist))
(cadr (assoc t display-mm-dimensions-alist))
@ -1309,7 +1309,7 @@ The value may be `always', `when-mapped', `not-useful', or nil if
the question is inapplicable to a certain kind of display."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-backing-store display))
(t
'not-useful))))
@ -1320,7 +1320,7 @@ the question is inapplicable to a certain kind of display."
"Return non-nil if DISPLAY's screen supports the SaveUnder feature."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-save-under display))
(t
'not-useful))))
@ -1331,7 +1331,7 @@ the question is inapplicable to a certain kind of display."
"Return the number of planes supported by DISPLAY."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-planes display))
((eq frame-type 'pc)
4)
@ -1344,7 +1344,7 @@ the question is inapplicable to a certain kind of display."
"Return the number of color cells supported by DISPLAY."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-color-cells display))
((eq frame-type 'pc)
16)
@ -1359,7 +1359,7 @@ The value is one of the symbols `static-gray', `gray-scale',
`static-color', `pseudo-color', `true-color', or `direct-color'."
(let ((frame-type (framep-on-display display)))
(cond
((memq frame-type '(x w32 mac ns))
((memq frame-type '(x w32 ns))
(x-display-visual-class display))
((and (memq frame-type '(pc t))
(tty-display-color-p display))
@ -1572,7 +1572,7 @@ cursor display. On a text-only terminal, this is not implemented."
:init-value (not (or noninteractive
no-blinking-cursor
(eq system-type 'ms-dos)
(not (memq window-system '(x w32 mac)))))
(not (memq window-system '(x w32)))))
:initialize 'custom-initialize-safe-default
:group 'cursor
:global t

View file

@ -3893,7 +3893,7 @@ the variable `Info-file-list-for-emacs'."
;; This is a serious problem for trying to handle multiple
;; frame types at once. We want this text to be invisible
;; on frames that can display the font above.
(when (memq (framep (selected-frame)) '(x pc w32 mac ns))
(when (memq (framep (selected-frame)) '(x pc w32 ns))
(add-text-properties (1- (match-beginning 2)) (match-end 2)
'(invisible t front-sticky nil rear-nonsticky t)))))

View file

@ -35,7 +35,6 @@
(autoload 'widget-value "wid-edit")
(defvar mac-system-coding-system)
(defvar mac-system-locale)
;;; MULE related key bindings and menus.
@ -148,7 +147,7 @@
t)
(define-key-after set-coding-system-map [set-terminal-coding-system]
'(menu-item "For Terminal" set-terminal-coding-system
:enable (null (memq initial-window-system '(x w32 mac ns)))
:enable (null (memq initial-window-system '(x w32 ns)))
:help "How to encode terminal output")
t)
(define-key-after set-coding-system-map [separator-3]
@ -2502,18 +2501,6 @@ See also `locale-charset-language-names', `locale-language-names',
(= 0 (length locale))) ; nil or empty string
(setq locale (getenv (pop vars) frame)))))
(unless locale
;; The two tests are kept separate so the byte-compiler sees
;; that mac-get-preference is only called after checking its existence.
(when (fboundp 'mac-get-preference)
(setq locale (mac-get-preference "AppleLocale"))
(unless locale
(let ((languages (mac-get-preference "AppleLanguages")))
(unless (= (length languages) 0) ; nil or empty vector
(setq locale (aref languages 0)))))))
(unless (or locale (not (boundp 'mac-system-locale)))
(setq locale mac-system-locale))
(when locale
(setq locale (locale-translate locale))
@ -2546,8 +2533,7 @@ See also `locale-charset-language-names', `locale-language-names',
(when locale
(if (string-match "\\.\\([^@]+\\)" locale)
(locale-charset-to-coding-system
(match-string 1 locale))))
(and (eq system-type 'macos) mac-system-coding-system))))
(match-string 1 locale)))))))
(if (consp language-name)
;; locale-language-names specify both lang-env and coding.

View file

@ -1667,8 +1667,6 @@ Scroll-bar or mode-line events are processed appropriately."
;; Scroll-bar functions:
(if (fboundp 'scroll-bar-toolkit-scroll)
(put 'scroll-bar-toolkit-scroll 'isearch-scroll t))
(if (fboundp 'mac-handle-scroll-bar-event)
(put 'mac-handle-scroll-bar-event 'isearch-scroll t))
(if (fboundp 'w32-handle-scroll-bar-event)
(put 'w32-handle-scroll-bar-event 'isearch-scroll t))

View file

@ -211,9 +211,6 @@
(if (eq system-type 'macos)
(progn
(load "ls-lisp")))
(if (featurep 'mac-carbon)
(progn
(load "term/mac-win")))
(if (featurep 'ns)
(progn
(load "emacs-lisp/easymenu") ;; for platform-related menu adjustments

View file

@ -673,7 +673,7 @@ This should be bound to a mouse drag event."
;; If mark is highlighted, no need to bounce the cursor.
;; On X, we highlight while dragging, thus once again no need to bounce.
(or transient-mark-mode
(memq (framep (selected-frame)) '(x pc w32 mac ns))
(memq (framep (selected-frame)) '(x pc w32 ns))
(sit-for 1))
(push-mark)
(set-mark (point))

View file

@ -58,7 +58,7 @@
"22.1")
(defcustom mouse-wheel-down-event
;; In the latest versions of XEmacs, we could just use mouse-%s as well.
(if (memq window-system '(w32 mac ns))
(if (memq window-system '(w32 ns))
'wheel-up
(intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
mouse-wheel-down-button)))
@ -73,7 +73,7 @@
"22.1")
(defcustom mouse-wheel-up-event
;; In the latest versions of XEmacs, we could just use mouse-%s as well.
(if (memq window-system '(w32 mac ns))
(if (memq window-system '(w32 ns))
'wheel-down
(intern (format (if (featurep 'xemacs) "button%s" "mouse-%s")
mouse-wheel-up-button)))

View file

@ -6103,7 +6103,6 @@ call `normal-erase-is-backspace-mode' (which see) instead."
(if (if (eq normal-erase-is-backspace 'maybe)
(and (not noninteractive)
(or (memq system-type '(ms-dos windows-nt))
(eq window-system 'mac)
(and (memq window-system '(x))
(fboundp 'x-backspace-delete-keys-p)
(x-backspace-delete-keys-p))
@ -6153,7 +6152,7 @@ See also `normal-erase-is-backspace'."
(set-terminal-parameter nil 'normal-erase-is-backspace
(if enabled 1 0))
(cond ((or (memq window-system '(x w32 mac ns pc))
(cond ((or (memq window-system '(x w32 ns pc))
(memq system-type '(ms-dos windows-nt)))
(let* ((bindings
`(([C-delete] [C-backspace])

View file

@ -886,7 +886,7 @@ opening the first frame (e.g. open a connection to an X server).")
;; only because all other settings of no-blinking-cursor are here.
(unless (or noninteractive
emacs-basic-display
(and (memq window-system '(x w32 mac ns))
(and (memq window-system '(x w32 ns))
(not (member (x-get-resource "cursorBlink" "CursorBlink")
'("off" "false")))))
(setq no-blinking-cursor t))

File diff suppressed because it is too large Load diff

View file

@ -67,8 +67,6 @@ to the system configuration; look at `system-configuration' instead."
((featurep 'x-toolkit) ", X toolkit")
((featurep 'ns)
(format ", *Step %s" ns-version-string))
((boundp 'mac-carbon-version-string)
(concat ", Carbon Version " mac-carbon-version-string))
(t ""))
(if (and (boundp 'x-toolkit-scroll-bars)
(memq x-toolkit-scroll-bars '(xaw xaw3d)))

View file

@ -1,674 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program 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 of the License, or
(at your option) any later version.
This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View file

@ -1,990 +0,0 @@
2008-03-13 Glenn Morris <rgm@gnu.org>
* Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings:
* src/Emacs.r: Set version to 23.0.60.
2008-03-02 Kentaro Ohkouchi <nanasess@fsm.ne.jp>
* Emacs.app/Contents/Resources/Emacs.icns:
* Emacs.app/Contents/Resources/document.icns: Update icon.
2008-02-04 Dan Nicolaescu <dann@ics.uci.edu>
* INSTALL, README: Only mention MacOSX.
* cw6-mcp.xml, make-package, makefile.MPW, inc/alloca.h:
* inc/config.h, inc/defs-cw6.h, inc/dirent.h, inc/epaths.h:
* inc/grp.h, inc/m-mac.h, inc/pwd.h, inc/s-mac.h, inc/termio.h:
* inc/utime.h, inc/utsname.h, inc/sys/file.h, inc/sys/ioctl.h:
* inc/sys/param.h, inc/sys/stat.h, inc/sys/time.h, inc/sys/types.h:
* src/EmacsMPW.r: Remove files for no longer supported pre-MacOSX
systems.
* inc: Remove directory.
2008-01-04 Glenn Morris <rgm@gnu.org>
* Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings:
* src/Emacs.r: Update copyright to 2008.
2007-11-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Also build and run on Mac OS X 10.5.
2007-11-01 Jan Djärv <jan.h.d@swipnet.se>
* inc/config.h: Remove HAVE_X11R5.
2007-11-01 Dan Nicolaescu <dann@ics.uci.edu>
* makefile.MPW (SOME_MACHINE_OBJECTS): Remove sunfns.o.
2007-09-13 Seiji Zenitani <zenitani@mac.com>
Takanori Yamamoto <takanori.yamamoto@gmail.com>
Kentaro Ohkouchi <nanasess@fsm.ne.jp>
* Emacs.app/Contents/Info.plist: Add filetype/extension entries
for the document icon.
* Emacs.app/Contents/Resources/Emacs.icns: Update.
* Emacs.app/Contents/Resources/document.icns: New file.
2007-08-29 Glenn Morris <rgm@gnu.org>
* Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings:
* src/Emacs.r: Increase version to 23.0.50.
2007-08-29 Károly Lőrentey <lorentey@elte.hu>
* makefile.MPW (EmacsObjects): Add terminal.c.x.
(callproc.c.x): Add dependencies frame.h, termhooks.h.
({Src}terminal.c.x): New.
(shortlisp): Add server.elc and termdev.elc.
2007-07-25 Glenn Morris <rgm@gnu.org>
* Relicense all FSF files to GPLv3 or later.
* COPYING: Switch to GPLv3.
2007-06-02 Chong Yidong <cyd@stupidchicken.com>
* Version 22.1 released.
2007-05-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Add note about moving self-contained application bundle
to non-ASCII directory.
2007-04-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Fix description about using colors in terminal.
Fix typos (/Application -> /Applications).
2007-04-26 Glenn Morris <rgm@gnu.org>
* Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings:
* src/Emacs.r: Increase version to 22.1.50.
2007-04-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* make-package (compver): Don't hardcode processor type.
2007-03-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (dired.c.x, editfns.c.x, fileio.c.x, lread.c.x)
(print.c.x, term.c.x): Depend on BLOCKINPUT_H_GROUP.
2007-02-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* inc/config.h: Sync with src/config.in.
2007-01-30 Piet van Oostrum <piet@cs.uu.nl>
* make-package (compver): Install info and manpages.
2006-12-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* inc/config.h: Sync with src/config.in.
2006-11-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Add descriptions about configuration and invocation.
Capitalize `Carbon'.
2006-11-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* inc/config.h: Sync with src/config.in.
2006-11-08 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Remove descriptions about --without-x. Remove
--without-carbon from configure options for X11 build.
2006-09-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Remove descriptions about experimental flags.
* inc/config.h: Sync with src/config.in.
* src/Emacs.r (M_APPLE): New define.
(MENU): Use it.
2006-09-15 Jay Belanger <belanger@truman.edu>
* COPYING: Replace "Library Public License" by "Lesser Public
License" throughout.
2006-07-20 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (dired.c.x, editfns.c.x, fileio.c.x):
Depend on blockinput.h.
2006-07-12 Kim F. Storm <storm@cua.dk>
* INSTALL: More cleanup related to last change.
2006-07-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Remove descriptions about Metrowerks CodeWarrior. Fix URL
for GNU-fonts.smi.bin. USE_ATSUI is enabled by default on Mac OS X.
* README: Remove descriptions about Metrowerks CodeWarrior.
2006-05-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (SOME_MACHINE_LISP): Add fringe.elc.
2006-04-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* inc/config.h (pid_t): Define to int.
2006-02-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (shortlisp, SOME_MACHINE_LISP): Sync with
src/Makefile.in.
2005-12-19 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (macselect.c.x): Depend on keymap.h.
2005-12-10 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* Emacs.app/Contents/Info.plist: Add CFBundleURLTypes key and
data. Make NSServices open-selection the first entry.
2005-11-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (shortlisp): Sync with src/Makefile.in.
2005-10-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Replace `Mac OS 8/9' with `Mac OS Classic'. Add
`FIXME' to descriptions about Metrowerks CodeWarrior. Remove
obsolete description about 512MB limit and icon on Mac OS Classic.
Add description about flags for experimental features.
* README: Replace `Mac OS 8/9' with `Mac OS Classic'. Add `FIXME'
to descriptions about Metrowerks CodeWarrior. Remove obsolete
descriptions about C-g and supported image types.
2005-10-20 Bryan D. O'Connor <bryan@lunch.org> (tiny change)
* make-package: Add a --compressed-dist option to compress info
files and .el files that have been byte-compiled. It defaults to "no".
2005-09-24 Eli Zaretskii <eliz@gnu.org>
* INSTALL (NOTES): Update the list of versions of MacOS on which
Emacs should build.
* README: Remove a link to ftp://ftp.gnu.org/gnu/mac/emacs/ (which
does not exist).
2005-09-18 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* inc/config.h: Sync with src/config.in.
2005-07-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* Emacs.app/Contents/Info.plist (mail-to, mail-selection): New
NSServices.
2005-07-04 Lute Kamstra <lute@gnu.org>
Update FSF's address in GPL notices.
2005-06-08 Steven Tamm <steventamm@mac.com>
* INSTALL: Explain that a universal binary cannot be created and
builds for on emachine cannot be targeted to the other.
* README: Add Universal Binary to the Todo List.
2005-05-13 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (buildobj.lst): New target.
(Clean): Delete file buildobj.lst.
(Emacs, {DocTarget}DOC): Depend on buildobj.lst.
(EmacsSource, MacSource, LispSource, LispSourceDontCompile):
Remove variables.
(SOME_MACHINE_OBJECTS, shortlisp, SOME_MACHINE_LISP):
New variables.
({DocTarget}DOC): Use them.
(Make-DocFile-PPCCOptions): Add `-d MAC_OS -d MAC_OS8'.
* inc/config.h: Sync with src/config.in.
(DO_BLOCK_INPUT, HAVE_DIFFTIME, HAVE_LOCALE_H, HAVE_MEMCMP)
(HAVE_MEMCPY, HAVE_MEMMOVE, HAVE_MEMSET, HAVE_SETITIMER)
(HAVE_SIZE_T, HAVE_SYS_IOCTL_H, HAVE_SYS_PARAM_H, HAVE_SYS_STAT_H)
(HAVE_SYS_TYPES_H, TIME_WITH_SYS_TIME, SYNC_INPUT): Define them.
[__MRC__] (HAVE_ALLOCA_H): Likewise.
(config_machfile, config_opsysfile, my_strftime): New macros.
(HAVE_PWD_H): Move from s-mac.h.
(HAVE_ALLOCA, C_ALLOCA): Move from m-mac.h.
(PTR): Move to s-mac.h.
* inc/m-mac.h (HAVE_ALLOCA, C_ALLOCA): Move to config.h.
* inc/s-mac.h: Sync with src/s/template.h. Don't include fcntl.h,
time.h, or signal.h.
(index, rindex): New macros.
[__MRC__] (sigmask, __signal_max, NSIG): Adjust signal numbers for
compatibility with predefined ones.
(PTR): Move from s-mac.h.
(HAVE_PWD_H): Move to config.h.
(volatile): Remove macro.
[__MRC__] (strftime): Likewise.
(read_input_waiting, sys_gmtime, sys_localtime, sys_ctime)
(sys_time, sys_signal, atof): Remove declarations.
* inc/sys/time.h (ITIMER_REAL): New macro.
(struct itimerval): New struct.
(setitimer): New extern.
2005-05-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* inc/config.h [HAVE_CARBON] (USE_TOOLKIT_SCROLL_BARS): Define.
2005-04-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (MacObjects): Add macselect.c.x.
(macselect.c.x): New target.
(mac.c): Fix dependency.
* Emacs.app/Contents/Info.plist: Add NSServices key and data.
* inc/s-mac.h (HAVE_PWD_H): Define.
2005-04-14 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (NonCarbonLibs): Add LocalesLib. Delete
TextEncodingConverter.
2005-04-06 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings
(CFBundleShortVersionString, CFBundleGetInfoString): Fix version
number and copyright.
* Emacs.r (DITL, vers): Likewise.
2005-03-16 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* Emacs.app/Contents/Info.plist (CFBundleIdentifier): Change to
org.gnu.Emacs.
2005-03-05 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* INSTALL: Mention new target `NonCarbon'.
2005-03-04 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW (NonCarbon): New target. The target `Emacs' is now
used for the Carbon build that defines HAVE_CARBON.
* inc/config.h (HAVE_STDLIB_H): Define to 1.
* src/EmacsMPW.r (SIZE): Increase preferred memory size to 32MB.
[HAVE_CARBON] (crfg): New resource for extra stack space.
2004-12-24 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* makefile.MPW: Add dependencies for fringe.c.x, image.c.x, and
lastfile.c.x.
(PPCCOptions): Add -alloca.
(EmacsObjects): Remove alloca.c.x. Add fringe.c.x, image.c.x, and
lastfile.c.x.
(Emacs MPW): Add QuickTimeLib.
(EmacsSource): Remove alloca.c. Add fringe.c, image.c, and
lastfile.c.
(LispSource): Fix pathnames for byte-run.elc, float-sup.elc, and
map-ynp.elc.
* inc/config.h (USE_LSB_TAG) [__MRC__]: Define.
(UNEXEC_SRC): Close comment.
* inc/epaths.h (PATH_BITMAPS, PATH_GAME): New defines.
* inc/m-mac.h (HAVE_ALLOCA) [__MRC__]: Define.
(C_ALLOCA) [__MRC__]: Don't define.
* inc/s-mac.h (X_OK): New define.
(DECL_ALIGN) [USE_LSB_TAG && __MRC__]: New macro.
(GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2004-05-29 Steven Tamm <steventamm@mac.com>
* INSTALL: Fixing typos
* README: Updating list of TODOs to remove image support and
environment variable problem.
2004-01-14 Stefan Monnier <monnier@iro.umontreal.ca>
* src/Emacs.r: Update TOO_MUCH_RAM error message.
2003-11-22 Lars Hansen <larsh@math.ku.dk>
* inc/grp.h: Added.
2003-11-02 Andrew Choi <akochoi@shaw.ca>
* src/Emacs.r [!TARGET_API_MAC_CARBON]: Don't define hfdr resource.
* Emacs.app/Contents/Resources/Emacs.rsrc: Remove.
2003-10-31 Andrew Choi <akochoi@shaw.ca>
* INSTALL: Add Nozomu Ando's changes to instructions for
installing on X Window (that static libraries are no longer
necessary after his changes to src/unexmacosx.c).
2003-04-28 Andrew Choi <akochoi@shaw.ca>
* make-package: Allocate 5% extra space on disk image for
directories and partition tables.
2003-04-04 Steven Tamm <steventamm@mac.com>
* make-package: Place libexec executables directly under the
Contents/MacOS/libexec if the application is self-contained
2003-04-01 Kim F. Storm <storm@cua.dk>
* makefile.MPW (frame.c.x): Add dependency on BLOCKINPUT_H_GROUP.
(xdisp.c.x): Fix to use BLOCKINPUT_H_GROUP.
2003-03-21 Kim F. Storm <storm@cua.dk>
* makefile.MPW (xdisp.c.x): Add dependency on blockinput.h and
files included from it. Add dependency on keymap.h.
2003-01-14 Steven Tamm <steventamm@mac.com>
* make-package: Fixed problem where the building without
specifying build directory fails.
2003-01-07 Steven Tamm <steventamm@mac.com>
* INSTALL: Added documentation about --enable-carbon-app and
changed documentation concerning Emacs.app location.
Removed some of the documentation about make-package that isn't
needed.
Changed comment about requiring root permission to install to
saying that it might be necessary depending on where you install.
Refered to /usr caveat in more places.
* make-package (make_options): Use new carbon_appdir option to
specify directory to install Application and lets the makefile
install.
2003-01-01 Steven Tamm <steventamm@mac.com>
* make-package: Now copies License and ReadMe files into the
Resources directory. Reduces overhead size when creating
installer disk image.
2002-12-29 Steven Tamm <steventamm@mac.com>
* make-package: Defaults to building the source tree in a
separate directory. Use the new option --build-in-place to
have old behavior. Added new option --build-dir to specify the
build directory.
2002-12-27 Steven Tamm <steventamm@mac.com>
* make-package: Fix typo where tmpparent was used instead of
tempparent for calculating installedSize and compressedSize.
2002-12-10 Andreas Schwab <schwab@suse.de>
* make-package: Fix syntax for find.
2002-12-08 Steven Tamm <steventamm@mac.com>
* INSTALL: Added description about make-package.
* make-package: Fixed --self-contained option to place the
directories in the correct locations for
init_mac_osx_environment and use hardlink by default for the
application. Script fails with invalid option.
2002-12-02 Andrew Choi <akochoi@shaw.ca>
* make-bin-dist, osx-install: Remove.
* INSTALL: Remove description of make-bin-dist and osx-install.
2002-12-02 Steven Tamm <steventamm@mac.com>
* make-package (installprefix): Switched copying of .el files
to be on by default. Removed symlink for emacs -> emacs-version.
2002-11-30 Steven Tamm <steventamm@mac.com>
* make-package: Now compresses .pax file instead of entire disk
image to reduce installer size on disk. Also added code to
create compressed disk image in the future.
No longer copies .el files that have been compiled by default.
Use --full-dist option to include them.
Option --symlink added to reduce disk size by making
/usr/bin/emacs and the Emacs binary inside the Emacs.app to become
symlinks to the emacs-[version] binary.
Option --self-contained added to place files shared files
inside the Emacs.app executable (for portability between systems)
Added hidden debugging option --keep-dir to keep temporary install
directory (emacs-[version]) around after running script
* README: Removed comment about mouse-2 & -3 not working (it does).
2002-10-14 Andreas Schwab <schwab@suse.de>
* make-package: Fix syntax for find.
2002-10-08 Steven Tamm <steventamm@mac.com>
* make-package: Added ability to pass command line options
through to make and configure (-m, & -c,).
Added option to not copy Application into installer, the default
for X11 builds. Does not copy CVS directories into installer.
Clarified some of the usage notes.
2002-10-07 Steven Tamm <steventamm@mac.com>
* make-package: Now calls make bootstrap if .elc files are missing.
2002-08-27 Andrew Choi <akochoi@shaw.ca>
* INSTALL: Add information on starting Emacs as a GUI application
from the terminal.
2002-08-15 Andrew Choi <akochoi@shaw.ca>
* INSTALL: Add instructions for building Carbon version on Macs
with X Window installed.
2002-07-31 Andrew Choi <akochoi@shaw.ca>
* Emacs.app/Contents/PkgInfo, Emacs.app/Contents/Info.plist:
Change creator code from ???? to EMAx.
* INSTALL: Add instructions for building X Window version.
2002-07-11 Andrew Choi <akochoi@shaw.ca>
* make-package: Change -a option to -R for cp command.
2002-07-05 Andrew Choi <akochoi@shaw.ca>
* make-package: Add ability to handle options --help, --prefix,
--no-conf, and --with-x.
2002-07-04 Andrew Choi <akochoi@shaw.ca>
* make-package: New file.
2002-07-01 Andrew Choi <akochoi@shaw.ca>
* Emacs.app/Contents/Resources/Emacs.icns: New file.
* Emacs.app/Contents/Info.plist: Add CFBundleDocumentTypes and
CFBundleIconFile entries.
2002-04-13 Andrew Choi <akochoi@shaw.ca>
* Emacs.app/Contents/Info.plist: New file.
* Emacs.app/Contents/PkgInfo: New file.
* Emacs.app/Contents/Resources/English.lproj/InfoPlist.strings:
New file.
* cw5-mcp.xml: Remove file.
* inc/defs-cw5.h: Remove file.
* cw6-mcp.xml: Update with new version.
* mac/inc/defs-cw6.h: New constant MAC_OS8. Remove definition
of constant CODEWARRIOR_VERSION_6.
* mac/src/mac.c:
* mac/src/macmenu.c:
* mac/src/macterm.c:
Test constant __MSL__ instead of CODEWARRIOR_VERSION_6.
* src/Carbon.r: New File.
* makefile.MPW: Define MAC_OS and MAC_OS8. Update with change of
locations for mac.c, macfns.c, macgui.h, macmenu.c, macterm.c, and
macterm.h. Generate DOC from .el instead of .elc versions of
files listed in DONTCOMPILE in lisp/Makefile.in.
* INSTALL: Add installation instructions for Mac OS X.
* README: Add information for Mac OS X.
* src/mac.c, inc/macgui.h, src/macfns.c, src/macmenu.c,
* src/macterm.c, inc/macterm.h: Remove from here and move to src.
2002-04-12 Andrew Choi <akochoi@shaw.ca>
* src/mac.c (select): Under Carbon, always return true so
XTread_socket is called to poll input.
(run_mac_command): Not implemented under Carbon.
(get_wd): Call PBHGetVolSync and path_from_vol_dir_name to
establish pathname.
(do_applescript): Use Carbon routines AEGetDescDatASize and
AEGetDescData.
(Fmac_paste_function): Use Carbon routines GetCurrentScrap,
GetScrapFlavorFlags, GetScrapFlavorSize, and GetScrapFlavorData.
(Fmac_cut_function): Use Carbon routines ClearCurrentScrap,
GetCurrentScrap, and PutScrapFlavor.
(Fx_selection_exists_p): Use Carbon routines GetCurrentScrap and
GetScrapFlavorFlags.
* src/macfns.c: Synchronize with changes in w32fns.c.
[MAC_OSX]: Include Carbon headers.
(x_real_positions): Use Carbon routine GetWindowPortBounds.
(x_set_scroll_bar_width): Set width of scroll bar to 16.
(x_make_gc): Remove static qualifier.
* src/macmenu.c: Synchronize with changes in w32menu.c.
[MAC_OSX]: Include Carbon headers.
(set_frame_menubar): Check equality of vector representation of
scroll bars using Fequal instead of EQ.
(mac_menu_show): Use Carbon routine GetWindowPort.
(mac_dialog): Likewise.
(add_menu_item): Use Carbon routines CountMenuItems,
EnableMenuItem, and DisableMenuItem.
* src/macterm.c: Synchronize with changes in w32term.c.
[MAC_OSX]: Include Carbon headers.
(XDrawLine): Use Carbon routine GetWindowPort.
(XClearArea): Likewise.
(XClearWindow): Use Carbon routines GetWindowPort and
GetWindowPortBounds.
(mac_draw_bitmap): Use Carbon routines GetWindowPort and
GetPortPixMap.
(mac_set_clip_rectangle): Use Carbon routine GetWindowPort.
(mac_reset_clipping): Use Carbon routine GetWindowPort.
(XFillRectangle): Likewise.
(mac_draw_rectangle): Likewise.
(mac_draw_rectangle_to_pixmap): Likewise.
(mac_draw_string_common): Likewise.
(mac_copy_area): Use Carbon routines GetWindowPort and
GetPortPixMap.
(mac_scroll_area): Use Carbon routines GetWindowPort and
GetQDGlobalsScreenBits.
(x_flush): Call Carbon routine QDFlushPortBuffer.
(x_update_end): Use Carbon routine GetWindowPort; call x_flush.
(x_draw_fringe_bitmap): Call mac_reset_clipping before returning.
(x_draw_image_glyph_string): Likewise.
(x_draw_stretch_glyph_string): Likewise.
(construct_mouse_click): Call Carbon routine GetWindowPort.
(note_mouse_movement): Call Carbon routine GetWindowPortBounds.
(XTmouse_position): Call Carbon routine GetWindowPort.
(x_scroll_bar_create): Create scroll bar with proc
kControlScrollBarProc.
(XTset_vertical_scroll_bar) [MAC_OSX]: Set width to 16.
(activate_scroll_bar): Call ActivateControl instead of
SetControlMaximum.
(deactivate_scroll_bar): Call DeactivateControl instead of
SetControlMaximum.
(x_scroll_bar_handle_click): Use default case for scroll
indicator.
(x_scroll_bar_report_motion): Call Carbon routine GetWindowPort.
(x_calc_absolute_position): Call Carbon routines GetWindowPort and
GetWindowPortBounds.
(init_font_name_table): Call Carbon Font Manager routines to
iterate through all fonts.
(XLoadQueryFont): Call Carbon routines GetPortTextFont,
GetPortTextSize, and GetPortTextFace.
(do_init_managers): Do not initialize Mac Toolbox under Carbon.
(is_emacs_window): New function to filter out non-Emacs windows
passed back by WaitNextEvent.
(do_mouse_moved): Call Carbon routine GetWindowPort.
(do_apple_menu): No apple menu handler under Carbon.
(do_zoom_window): Call Carbon routines GetWindowPort,
GetQDGlobalsScreenBits, SetWindowStandardState, and
GetWindowPortBounds.
(init_required_apple_events): Use UPP procedure type converter.
(main): Don't define for Carbon version.
(XTread_socket): Don't check interrupt_input_blocked. Don't call
check_alarm. Call Carbon routines GetWindowPort,
GetQDGlobalScreenBits, GetWindowPortBounds, and InvalWindowRect.
(NewMacWindow): Set making_terminal_window to 0. Call Carbon
routine GetWindowPort.
(mac_initialize): Rename from x_initialize. Use new Doc string
format.
* inc/macterm.h: Synchronize with changes in w32term.h.
* inc/macgui.h [MAC_OSX]: Use OpaqueWindowPtr* instead of
WindowPtr.
2002-01-28 Kim F. Storm <storm@cua.dk>
* src/macterm.c (x_erase_phys_cursor): Don't erase cursor if
cursor row is invisible. This can happen if cursor is on top line
of a window, and we switch to a buffer with a header line.
2001-12-22 Pavel Janík <Pavel@Janik.cz>
* cw5-mcp.xml, cw6-mcp.xml, makefile.MPW: Remove mocklisp files.
2001-12-13 Eli Zaretskii <eliz@is.elta.co.il>
* src/macfns.c (x_report_frame_params): Make the scroll-bar-width
frame parameter have a numeric value all the time.
2001-12-08 Pavel Janík <Pavel@Janik.cz>
* COPYING: New file.
2001-12-06 Kim F. Storm <storm@cua.dk>
* src/macfns.c (x_report_frame_params): Return actual fringe widths.
2001-12-01 Kim F. Storm <storm@cua.dk>
The following changes add left-fringe and right-fringe
frame parameters to adjust fringe widths, or remove one or
both fringes. See ../src/ChangeLog for details.
* inc/macterm.h: Merged changes from xterm.h.
* src/macterm.c: Merged changes from xterm.c.
* src/macfns.c: Merged changes from xfns.c.
2001-11-16 Pavel Janík <Pavel@Janik.cz>
* src/macterm.c (waiting_for_input): Remove unnecessary declaration.
2001-11-16 Kim F. Storm <storm@cua.dk>
The following changes are made to clean up the various internal
references to the fringes to actually use the term `fringe'.
* src/macfns.c: Use renamed symbols.
* src/macterm.c: Comment fixes. Use renamed symbols.
(fringe_bitmap_type): Renamed from bitmap_type.
(NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
(x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
(x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
* inc/macterm.h: Comment fixes. Use renamed symbols.
(fringes_extra): Renamed from flags_areas_extra.
(FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
(FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
(FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
(FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
(FRAME_X_LEFT_FRINGE_WIDTH): Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
(FRAME_X_RIGHT_FRINGE_WIDTH): Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
2001-10-20 Gerd Moellmann <gerd@gnu.org>
* (Version 21.1 released.)
2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
* src/macfns.c (x_create_bitmap_from_file, x_find_image_file):
* src/mac.c (run_mac_command): Update calls to openp.
2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
* src/macmenu.c (Fx_popup_menu): Use Fkeymap_prompt.
* src/macterm.c: Include keymap.h.
(note_mode_line_highlight): Use KEYMAPP.
2001-10-05 Gerd Moellmann <gerd@gnu.org>
* Branch for 21.1.
2001-09-04 Andrew Choi <akochoi@cse.cuhk.edu.hk>
* src/macmenu.c (mac_menu_show): Use refcon of selected menu item.
* src/macterm.c (XTread_socket): Read all pending events in the
event queue instead of one.
(mac_to_x_fontname): Return name with jisx0201.1976-0 encoding if
a script code of -smJapanese is specified.
(x_font_name_to_mac_font_name): Also recognize the jisx0201.1976-0
encoding.
(init_font_name_table): Use a script code of -smJapanese instead
of smRoman for the second entry of a Japanese font.
(XLoadQueryFont): Recognize a font as having the smRoman script
code if its encoding is jisx0201.1976-0.
* makefile.MPW: Generate etc/DOC file from .elc files instead of
.el files.
* src/mac.c (stat): Don't fail for aliases.
(sys_open) [__MRC__]: Set file creator and type for newly-created
files.
(sleep) [__MRC__]: Place loop around WaitNextEvent to check time
elapsed instead of use WaitNextEvent call as a delay.
2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
* src/macterm.c (init_font_name_table): Add an additional entry to
the font table with the script code smRoman for each Apple
Japanese font.
(XLoadQueryFont): Recognize a font as having the smRoman script
code even when FontToScript returns smJapanese if it is one of
those created above.
2001-08-21 Andrew Choi <akochoi@cse.cuhk.edu.hk>
* INSTALL: Add to the note on using -opt speed in MPW the function
macterm.c (x_draw_hollow_cursor).
* src/macterm.c (mac_scroll_area): Call CopyBits with local
coordinates and portBits instead of global coordinates and
screenBits. Set fore color and back color to black and white,
respectively, before calling CopyBits.
* src/macterm.c (local_to_global_coord): Comment out.
* src/mac.c (mac-filename-to-unix): Change to
mac-file-name-to-posix.
(unix-filename-to-mac): Change to posix-file-name-to-mac.
(mac_to_unix_pathname): Change to mac_to_posix_pathname.
(unix_to_mac_pathname): Change to posix_to_mac_pathname.
* src/macterm.c (do_ae_open_documents): Change call to
mac_to_unix_pathname to mac_to_posix_pathname.
2001-07-26 Andrew Choi <akochoi@i-cable.com>
* inc/macterm.h (x_display_list): Declare extern.
2001-07-20 Pavel Janík <Pavel@Janik.cz>
* src/macterm.c (xim_open_dpy): Fix typo.
2001-06-26 Andrew Choi <akochoi@i-cable.com>
* README: Change references to SourceForge site to
ftp://ftp.gnu.org/gnu/mac/emacs/.
2001-05-15 Gerd Moellmann <gerd@gnu.org>
* src/macterm.c (clear_mouse_face): Check for nil tip_frame.
2001-05-15 Andrew Choi <akochoi@i-cable.com>
* src/Emacs.r: Change About box message.
* makefile.MPW: Add md5.c.x to EmacsObjects.
* src/mac.c (select): Call WaitNextEvent instead of Delay.
(pause): Ditto.
(sleep): Ditto.
* src/macterm.c (do_app_resume): Set cursor to arrow.
(clear_mouse_face): check for NIL Lisp object instead of null
pointer.
* INSTALL: Delete note on compiling Lisp files on a Unix system.
Add note on turning off end of line conversion.
2001-02-27 Andrew Choi <akochoi@i-cable.com>
* src/macfns.c: Rename everything containing *busy_cursor* and
similar to *hourglass*.
Change IMAGE_POSITIVE_INTEGER_VALUE to
IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR throughout.
(x_set_font): If font hasn't changed, avoid recomputing faces and
other things, as in xfns.c.
(Qcancel_timer): New variable.
(syms_of_macfns): Rename x-busy-pointer-shape to
x-hourglass-pointer-shape, display-busy-cursor to
display-hourglass, busy-cursor-delay to hourglass-delay, as in
xfns.c.
(x_set_tool_bar_lines): Modify as in xfns.c
(x_change_window_heights): New function.
* inc/macterm.h (struct x_output): Rename busy_cursor to
hourglass_cursor, busy_window to hourglass_window, busy_p to
hourglass_p, as in xterm.h.
* src/macmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
safe_run_hooks, as in xmenu.c.
* src/macterm.c (do_check_ram_size): New function.
* src/Emacs.r: Add ALRT resource #129 for alert when there is over
256 MB RAM.
2001-02-20 Andrew Choi <akochoi@i-cable.com>
* mac/INSTALL:
* mac/README:
* mac/cw5-mcp.xml:
* mac/cw6-mcp.xml:
* mac/inc/alloca.h:
* mac/inc/defs-cw5.h:
* mac/inc/defs-cw6.h: Added copyright notice.
2001-01-28 Andrew Choi <akochoi@i-cable.com>
* src/macterm.c (mac_font_pattern_match): Allocate three more
bytes to regex for '^', '$', and '\0'.
* src/macterm.c (x_list_fonts): Protect pattern and newlist from
garbage collection.
* src/macfns.c (QCconversion): Replaces QCalgorithm.
* src/macfns.c (image_ascent, lookup_image): Adapt to change of
image margins.
* src/macterm.c (x_produce_image_glyph, x_draw_image_foreground)
(x_draw_image_relief, x_draw_image_foreground_1)
(x_draw_image_glyph_string): Adapt to change of image margins.
* src/macterm.c (mac_to_x_fontname): Change charset name of
Simplify Chinese fonts from gb2312 to gb2312.1980 and Korean fonts
from ksc5601 to ksc5601.1989.
2000-12-12 Andrew Choi <akochoi@i-cable.com>
* cw5-mcp.xml: Add md5.c to project.
* cw6-mcp.xml: Add md5.c to project.
* src/macfns.c (x_create_tip_frame, Fx_hide_tip): Change to handle
Lisp_Object type tip_frame (was struct frame *) as in xfns.c.
2000-11-26 Andrew Choi <akochoi@i-cable.com>
* src/macterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
Change references to members deleted from struct frame as in xterm.c.
* inc/epaths.h: Set PATH_EXEC to ~emacs/mac instead of
~emacs/mac/bin.
2000-10-25 Andrew Choi <akochoi@i-cable.com>
* cw5-mcp.xml: Renamed from emacs-cw5.mcp.xml.
* cw6-mcp.xml: Renamed from emacs-cw6.mcp.xml.
* inc/defs-cw5.h: Renamed from inc/cmdline-defs-cw5.h.
* inc/defs-cw6.h: Renamed from inc/cmdline-defs-cw6.h.
2000-10-24 Andrew Choi <akochoi@i-cable.com>
* src/macterm.c (XTread_socket): Check whether Lisp variable
mac-ready-for-drag-n-drop is bound rather than non-nil value.
2000-10-20 Andrew Choi <akochoi@users.sourceforge.net>
* INSTALL: New file.
* README: New file.
* TODO: New file.
* emacs-cw5.mcp.xml: New file.
* emacs-cw6.mcp.xml: New file.
* makefile.MPW: New file.
* inc/alloca.h: New file.
* inc/cmdline-defs-cw5.h: New file.
* inc/cmdline-defs-cw6.h: New file.
* inc/config.h: New file.
* inc/dirent.h: New file.
* inc/epaths.h: New file.
* inc/m-mac.h: New file.
* inc/macgui.h: New file.
* inc/macterm.h: New file.
* inc/pwd.h: New file.
* inc/s-mac.h: New file.
* inc/termio.h: New file.
* inc/utime.h: New file.
* inc/utsname.h: New file.
* inc/sys/file.h: New file.
* inc/sys/ioctl.h: New file.
* inc/sys/param.h: New file.
* inc/sys/stat.h: New file.
* inc/sys/time.h: New file.
* inc/sys/types.h: New file.
* src/Emacs.r: New file.
* src/EmacsMPW.r: New file.
* src/chdir.c: New file.
* src/mac.c: New file.
* src/macfns.c: New file.
* src/macmenu.c: New file.
* src/macterm.c: New file.
;; Local Variables:
;; coding: utf-8
;; add-log-time-zone-rule: t
;; End:
Copyright (C) 2001, 2002, 2003, 2004, 2005,
2006, 2007, 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
;;; arch-tag: c6fd43f7-0e50-4c0a-ac82-1c8a9e45a9bf

View file

@ -1,2 +0,0 @@
MacOS
Resources Disabled

View file

@ -1,571 +0,0 @@
<!--
Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
-->
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>text</string>
<string>txt</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Plain text document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>TEXT</string>
<string>utxt</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>html</string>
<string>htm</string>
<string>shtm</string>
<string>shtml</string>
<string>jsp</string>
<string>asp</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>HTML document</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>HTML</string>
</array>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>css</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>CSS style sheet</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>xhtml</string>
<string>xhtm</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>XHTML document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>xml</string>
<string>xsl</string>
<string>xslt</string>
<string>xbl</string>
<string>xul</string>
<string>rdf</string>
<string>dtd</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>XML document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>sgml</string>
<string>sgm</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>SGML document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>yml</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>YAML document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>js</string>
<string>JS</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>JavaScript script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>php</string>
<string>php3</string>
<string>php4</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>PHP script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>tcl</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Tcl script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>rb</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Ruby script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>py</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Python script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>pl</string>
<string>pm</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Perl script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>sh</string>
<string>csh</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Shell script</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>h</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>C Header Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>c</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>C Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>hh</string>
<string>hp</string>
<string>hpp</string>
<string>hxx</string>
<string>h++</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>C++ Header Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>cc</string>
<string>cp</string>
<string>cpp</string>
<string>cxx</string>
<string>c++</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>C++ Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>m</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Objective-C Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>s</string>
<string>asm</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Assembly Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>java</string>
<string>jav</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Java Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>f</string>
<string>for</string>
<string>f77</string>
<string>f90</string>
<string>f95</string>
<string>f99</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Fortran Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>pas</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Pascal Source file</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>ada</string>
<string>adb</string>
<string>ads</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Ada Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>el</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Emacs Lisp Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>hs</string>
<string>lhs</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Haskell Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>lua</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>Lua Source File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>pro</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>IDL Procedure File</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>gp</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>gnuplot file</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>bib</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>BibTeX document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>tex</string>
<string>ltx</string>
<string>ctx</string>
<string>latex</string>
<string>texi</string>
</array>
<key>CFBundleTypeIconFile</key>
<string>document.icns</string>
<key>CFBundleTypeName</key>
<string>TeX document</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
</dict>
<dict>
<key>CFBundleTypeExtensions</key>
<array>
<string>*</string>
</array>
<key>CFBundleTypeName</key>
<string>All</string>
<key>CFBundleTypeOSTypes</key>
<array>
<string>****</string>
</array>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
</dict>
</array>
<key>CFBundleExecutable</key>
<string>Emacs</string>
<key>CFBundleIconFile</key>
<string>Emacs.icns</string>
<key>CFBundleIdentifier</key>
<string>org.gnu.Emacs</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>EMAx</string>
<key>CFBundleVersion</key>
<string>1.1</string>
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLName</key>
<string>Email Address URL</string>
<key>CFBundleURLSchemes</key>
<array>
<string>mailto</string>
</array>
</dict>
</array>
<key>NSServices</key>
<array>
<dict>
<key>NSKeyEquivalent</key>
<dict/>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>Emacs/New Buffer Containing Selection</string>
</dict>
<key>NSMessage</key>
<string>open-selection</string>
<key>NSPortName</key>
<string>Emacs</string>
<key>NSReturnTypes</key>
<array/>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
</array>
</dict>
<dict>
<key>NSKeyEquivalent</key>
<dict/>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>Emacs/Open Selected File</string>
</dict>
<key>NSMessage</key>
<string>open-file</string>
<key>NSPortName</key>
<string>Emacs</string>
<key>NSReturnTypes</key>
<array/>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
</array>
</dict>
<dict>
<key>NSKeyEquivalent</key>
<dict/>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>Emacs/Send Selection</string>
</dict>
<key>NSMessage</key>
<string>mail-selection</string>
<key>NSPortName</key>
<string>Emacs</string>
<key>NSReturnTypes</key>
<array/>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
</array>
</dict>
<dict>
<key>NSKeyEquivalent</key>
<dict/>
<key>NSMenuItem</key>
<dict>
<key>default</key>
<string>Emacs/Send To</string>
</dict>
<key>NSMessage</key>
<string>mail-to</string>
<key>NSPortName</key>
<string>Emacs</string>
<key>NSReturnTypes</key>
<array/>
<key>NSSendTypes</key>
<array>
<string>NSStringPboardType</string>
</array>
</dict>
</array>
</dict>
</plist>

View file

@ -1 +0,0 @@
APPLEMAx

View file

@ -1,5 +0,0 @@
/* Localized versions of Info.plist keys */
CFBundleName = "Emacs";
CFBundleShortVersionString = "23.0.60";
CFBundleGetInfoString = "23.0.60, Copyright (C) 2008 Free Software Foundation, Inc.";

View file

@ -1,196 +0,0 @@
* BUILDING EMACS ON MAC OS X -*- outline -*-
Copyright (C) 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc.
See the end of the file for license conditions.
* BUILDING EMACS ON MAC OS X
You should be able to build Emacs on Mac OS X by typing the following
commands at the top-level directory after the source distribution is
un-tarred.
./configure --enable-carbon-app
make
make install
The last step may fail if you do not have permissions to install. If
you try to install into /usr (with ./configure --prefix=/usr), then you
must install as root using the sudo command. However, it is not
recommended; see the notes section below for more details.
The --enable-carbon-app specifies that the Carbon GUI application
should be installed into /Applications. If you want it to install in
a different location, specify --enable-carbon-app=<mydir>
You can type `make bootstrap' instead of `make' to rebuild everything,
including byte-compiling the Lisp files.
If you are compiling on Mac OS X versions before 10.2 and have not
installed the GNU texinfo package on your system, the build will
complain that makeinfo cannot be found. Instructions for installing the
GNU texinfo package are given below. Alternatively, you can type `make
-k' instead of `make' and safely ignore the error messages and use the
existing info files.
After Emacs is installed, you can run a text-only terminal version by
typing `emacs' from a terminal (make sure your path contains
/usr/local/bin) or a GUI application by double-clicking on
/Applications/Emacs.app in the Finder. Even in the terminal version,
some Carbon-specific functions such as `mac-set-file-creator' are
still meaningful.
To start Emacs as a GUI application from the terminal, the pathname to
the executable in the bundle, i.e.,
/Applications/Emacs.app/Contents/MacOS/Emacs
must be typed to the shell to enable Emacs to locate its resources
correctly. You may want to create an alias to this path to quickly
access both the terminal and GUI versions. You can specify some
standard Emacs options when invoking Emacs in this way.
Emacs on Mac OS X is not configured to use X11 unless either it is
requested or the use of Carbon is disabled explicitly. So, if you are
building Emacs to run on X Window System, you need to specify like:
./configure --with-x
Note that the Carbon-specific functions mentioned above are not
available on the X11-enabled build.
To use colors in Terminal.app on Mac OS X 10.1, put the following
lines in the file ~/.termcap and log in again.
-----
# added ANSI color
vt100|vt100-am|vt100am|dec vt100:\
:pa#64:Co#8:Sf=\E[3%dm:Sb=\E[4%dm:op=\E[m:AF=\E[3%dm:AB=\E[4%dm:\
:do=^J:co#80:li#24:cl=\E[;H\E[2J:sf=2*\ED:\
:le=^H:bs:am:cm=5\E[%i%d;%dH:nd=2\E[C:up=2\E[A:\
:ce=3\E[K:cd=50\E[J:so=2\E[7m:se=2\E[m:us=2\E[4m:ue=2\E[m:\
:md=2\E[1m:mr=2\E[7m:mb=2\E[5m:me=2\E[m:\
:rf=/usr/share/tabset/vt100:\
:rs=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[;r\E[0m\E(B\E)B\E[2J:\
:ks=\E[?1h\E=:ke=\E[?1l\E>:\
:ku=\EOA:kd=\EOB:kr=\EOC:kl=\EOD:kb=^H:\
:ho=\E[H:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:pt:sr=2*\EM:vt#3:xn:\
:sc=\E7:rc=\E8:cs=\E[%i%d;%dr:
-----
To build the `info' files in versions prior to Mac OS X 10.2, you need
to install the texinfo software.
To install from source, obtain texinfo-4.2.tar.gz from ftp.gnu.org or
a mirror. Un-tar it, enter its directory and type
./configure
make
make install
The last step may need to be performed as root (sudo make install).
You may also like to install ispell, which will allow you to use
ispell and flyspell-mode. To install ispell from source, you first
need to install GNU textutils.
To do so, download textutils-2.0.tar.gz from ftp.gnu.org or a mirror.
Un-tar it, enter its directory, type
./configure --host=powerpc-apple-bsd
make
make install
Again, the last step may need to be performed as root. Note that if you
run `make check', the test for `pr' will fail.
Get and un-tar ispell-3.2.06.tar.gz. Look for it here:
http://fmg-www.cs.ucla.edu/geoff/ispell.html
Go into its directory, type
cp local.h.samp local.h
Add a line `#define TERMLIB ""' to the end of local.h.
Set the environment variable TMPDIR to an existing directory. For
example since `/tmp' exists on my machine and I am using `bash', I
typed
export TMPDIR=/tmp
Run `make' and `make install', the latter as root.
* BUILDING BINARY DISTRIBUTIONS FOR MAC OS X
If you are intending to build a binary distribution of Emacs, there is
a script that will greatly simplify the process. It is called
make-package and it is contained in this directory. It will generate
a disc image containing a installer bundle. By default the installer
will place the emacs common files in /usr/local/* and the Carbon
application in /Applications. Typical usage would be
./make-package
After running, an compressed disk image of the installer will be placed
in a file called EmacsInstaller.dmg. This file can be then distributed
to whomever would like a binary distribution. Here are the common
options to user
--with-x - Use the X11 GUI instead of the Carbon GUI.
--prefix=DIR - Place the common emacs files in the given DIR. The
default is /usr/local. See note below if placing
in /usr
--self-contained - Place the common emacs files inside the Emacs.app
itself. This makes the application trivial to
uninstall and copy between computers.
--app-symlink - Use a symlink inside the Application to the
$prefix/bin/emacs to reduce disk space. Note, this
option may removed in the future.
For usage of other options, use the --help option.
Note: due to the problem "Installing to a directory with non-ASCII
characters in the name fails" mentioned in etc/PROBLEMS, you may not
move a self-contained Emacs.app application bundle to a non-ASCII
directory.
* NOTES
Emacs should build and run on a PowerMac running Mac OS X 10.1 - 10.5.
You will need around 100 MB of disk space for the source files and
intermediate files.
On Mac OS X, installing the emacs files in /usr can cause issues with
system software updates possibly overwriting the distribution. If this
is a concern, as it should be in normal binary distributions, please
use /usr/local as the prefix for installation.
Emacs supports both PowerPC and Intel-based Macintoshes. However,
due to the unexec process that Emacs uses to dump core, it is not
possible at this time to generate a universal binary that supports both
architectures. In addition, Rosetta doesn't appear to work correctly
with PowerPC builds of Emacs; you will have to recompile for Intel.
Therefore, builds of Emacs are architecture specific.
Enjoy!
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 of the License, 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. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,52 +0,0 @@
Emacs for Mac OS X
Copyright (C) 2001, 2002, 2003, 2004, 2005,
2006, 2007, 2008 Free Software Foundation, Inc.
See the end of the file for license conditions.
This directory contains the files needed to build Emacs on Mac OS X.
Many of the major features of the Unix version
are supported: multiple frames, colors, scroll bars, menu bars, use of
the mouse, fontsets, international characters, input methods, and
coding systems.
Mac OS specific support includes document drag-and-drop in the Finder,
transfer of text to and from other applications via the clipboard, and
sending AppleScript commands to other applications from Emacs.
On Mac OS X, Emacs can be built using the Developer Tools. See the
INSTALL file in this directory for instructions on building Emacs.
Read the Mac OS section of the on-line help to find out about how to
use Emacs on the Mac.
A number of things do not work yet:
+ Support for PostScript image type is not available.
+ Incorporate Apple's wrappers to be able to create a universal
binary that unexecs on first run for the given architecture.
If your Mac is connected to the Internet, report bugs by typing `M-x
report-emacs-bug' or by choosing the entry `Send Bug Report...' in
the `Help' menu. This will send the bug report to the address
emacs-pretest-bug@gnu.org.
Steven
<steven.tamm@mac.com>
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 of the License, 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. If not, see <http://www.gnu.org/licenses/>.

View file

@ -1,443 +0,0 @@
#!/bin/sh
#### make-package: create a Mac OS X package for use by the installer.
#### The installer will place the Emacs OSX application in
#### /Application/Emacs and the rest of emacs in the usual unix places
#### under /usr/local or some other location if specified as the first
#### argument. The disc image will be in the file EmacsInstaller.dmg.
####
#### Upon installation, this will leave two versions of emacs on the
#### computer, 20.7 and 21.1.
####
#### Examples:
#### ./make-package
#### Will create an installer that will place the emacs support
#### files inside /usr/local.
#### ./make-package /usr
#### Will create an installer that will place the emacs support
#### files inside /usr. This will replace the default version of
#### emacs included with Mac OS X.
# Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
# Free Software Foundation, Inc.
# Contributed by Steven Tamm (steventamm@mac.com).
# 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>.
progname="$0"
srcdir="`pwd`/.."
builddir=${srcdir}
## Default location to place it is /usr/local
prefix=/usr/local
appsdir=/Applications
emapp=Emacs.app
with_config=yes
with_app=yes
with_x=no
comp_diskimage=no
self_contained=no
app_symlink=no
full_dist=yes
compressed_dist=no
build_in_place=no
keep_directory=no
ac_prev=
display_usage=false;
config_options=;
while test $# != 0
do
if test -n "$ac_prev"; then
eval "$ac_prev=\$1"
ac_prev=
continue
fi
case $1 in
-help | --help | --hel | --he | -h)
display_usage=yes ;;
-p | -prefix | --p | --prefix)
ac_prev=prefix ;;
-p=* | -prefix=* | --p=* | --prefix=*)
prefix=`expr "x$1" : 'x[^=]*=\(.*\)'` ;;
--build-in-place | --build-in-place )
build_in_place=yes ;;
--build-dir | -build-dir | --builddir | -build-dir)
build_in_place=no
ac_prev=builddir;;
--build-dir=* | -build-dir=* | -builddir=* | --builddir=*)
build_in_place=no
builddir=`expr "x$1" : 'x[^=]*=\(.*\)'`;;
-no-configure | -no-conf | --no-configure | --no-conf | --without-config)
with_config=no ;;
-no-app | --no-app | -without-app | --without-app)
with_app=no ;;
-without-x | --without-x)
with_x=no ;;
-with-x | --with-x)
with_x=yes
with_app=no ;;
--without-full-dist | -without-full-dist | -no-full-dist | -no-full)
full_dist=no ;;
--compressed-dist)
compressed_dist=yes ;;
--self-contained | -self-contained | --with-self-contained-app | -sc)
self_contained=yes ;;
-app-symlink | --app-symlink | -symlink | --symlink | --asl)
app_symlink=yes ;;
--keep-dir)
keep_directory=yes ;;
-C,* | -c,*)
config_options="$config_options `expr "x$1" : 'x[^,]*,\(.*\)'`" ;;
-M,* | -m,*)
make_options="$make_options `expr "x$1" : 'x[^,]*,\(.*\)'`" ;;
*)
display_usage=yes ;;
esac
shift
done
if test "$with_x" = "no"; then
config_options="--without-x $config_options"
fi
if test "$display_usage" = "yes"; then
cat <<EOF
\`make-package' generates a Mac OS X installer package from an Emacs
distribution. By default, this first runs ./configure on the emacs
directory. Then make install to create the emacs distribution.
Then some mac-specific commands to generate the required information
for the mac package. The installer will, by default, create a
Carbon application called Emacs in the ${appsdir} directory, with the
shared emacs files in /usr/local
Usage: $0 [OPTION]
Options:
-h, --help display this help and exit
--prefix=DIR Set install location for the Mac OS X package
of the emacs related file. By default /usr/local
--no-conf Do not run the configure script before running
make install.
--without-app Do not create the Emacs application bundle
--with-x Setup the install to use X Windows for its
windowed display, instead of carbon. Implies
--without-app.
--without-full-dist Do not include all the .el files in the distribution.
This is discouraged except if disk space is critical.
--compressed-dist Compress .el and info files in the distribution.
--app-symlink Have the Emacs.app executable be a symlink
to the install in [prefix]/bin/emacs and have
the emacs executable link to emacs-${version}
--self-contained Create an Emacs.app that is self-contained;
prefix will be ignored and all files installed
inside the application
--build-in-place Build the application in the source directory
instead of a temporary directory.
--build-dir=DIR Build the application in the specified directory
instead of a temporary directory. Mutually exclusive
with --build-in-place.
-C,option Pass option to configure
-M,option Pass option to make
EOF
exit 0
fi
### Exit if a command fails.
#set -e
### Print out each line we read, for debugging's sake.
#set -v
LANGUAGE=C
LC_ALL=C
LC_MESSAGES=
LANG=
export LANGUAGE LC_ALL LC_MESSAGES LANG
## Don't restrict access to any files.
umask 0
### Make sure we're running in the right place.
if [ -f Emacs.pkg ]; then
echo "${progname}: Package Emacs.pkg already exists.
Perhaps a previous invocation of \`${progname}' failed to clean up after
itself. Move or delete Emacs.pkg and try again." >&2
exit 1
fi
if test $with_app == "yes" && [ ! -f ${emapp}/Contents/PkgInfo ]; then
echo "${progname}: Can't find \`${emapp}/Contents/PkgInfo'" >&2
echo "${progname} must be run in the \`mac' directory of the Emacs" >&2
echo "distribution tree. cd to that directory and try again." >&2
exit 1
fi
### Check whether file ../lisp/version.el exists.
if [ ! -f ../lisp/version.el ]; then
echo "${progname}: Can't find \`../lisp/version.el'" >&2
exit 1
fi
### Find out which version of Emacs this is.
shortversion=`grep 'defconst[ ]*emacs-version' ../lisp/version.el \
| sed -e 's/^.*"\([0-9][0-9]*\.[0-9][0-9]*\).*$/\1/'`
version=`grep 'defconst[ ]*emacs-version' ../lisp/version.el \
| sed -e 's/^[^"]*"\([^"]*\)".*$/\1/'`
if [ ! "${version}" ]; then
echo "${progname}: can't find current Emacs version in \`./lisp/version.el'" >&2
exit 1
fi
echo Version numbers are $version and $shortversion
### Make sure we don't already have a directory emacs-${version}.
emacsname="emacs-${version}${new_extension}"
if [ -d ${emacsname} ]
then
echo Directory "${emacsname}" already exists >&2
exit 1
fi
### Make sure the subdirectory is available.
tempparent="make-package.tmp.$$"
if [ -d ${tempparent} ]; then
echo "${progname}: staging directory \`${tempparent}' already exists.
Perhaps a previous invocation of \`${progname}' failed to clean up after
itself. Check that directories whose names are of the form
\`make-dist.tmp.NNNNN' don't contain any important information, remove
them, and try again." >&2
exit 1
fi
if [ -d /Volumes/Emacs ]; then
echo "${progname}: Already have an Emacs disc image mounted. Please
eject that disc image and try again." >&2
exit 1
fi
tempparentfull="`pwd`/${tempparent}"
tempparentdist=${tempparentfull}/dist
if test "$build_in_place" = "no"; then
case ${builddir} in
${srcdir})
tempbuild="make-package.build.$$"
builddir="`pwd`/${tempbuild}"
removable_build_dir=${builddir}
mkdir -p ${builddir}
;;
[\\/]* | ?:[\\/]* ) #Absolutepath.
mkdir -p ${builddir}
;;
*)
mkdir -p ${builddir}
builddir=`cd $builddir && pwd`
;;
esac
fi
# Location of install package
packagedir=${builddir}/mac/Emacs.pkg
echo Building in directory ${builddir}
echo Installing into directory ${tempparentfull} >&2
### This trap ensures that the staging directory will be cleaned up even
### when the script is interrupted in mid-career.
trap "echo 'Interrupted...cleaning up the staging directory'; rm -rf ${tempparent} ${removable_build_dir} ${packagedir}; exit 1" 1 2 15
# Run configure in the new tempparent directory
if test "$with_config" = "yes"; then
(cd ${builddir}; ${srcdir}/configure ${config_options} --prefix=${prefix})
fi
installprefix=${tempparentfull}${prefix}
if test "$self_contained" = "yes"; then
# If selfcontained, the local directory is Resources directory
installprefix=$tempparentfull/$appsdir/$emapp/Contents/Resources
fi
make_options="prefix=${installprefix} $make_options"
if test "$with_app" = "yes"; then
make_options="carbon_appdir=${tempparentfull}/Applications $make_options"
fi
## Make bootstrap if .elc files are missing from distribution
if [ ! -f ${srcdir}/lisp/abbrev.elc ]; then
echo "Required .elc files missing; making bootstrap..."
if ! (cd ${builddir}; make bootstrap $make_options); then
echo "Make bootstrap failed... Aborting make-package."
exit 2
fi
fi
if ! (cd ${builddir}; make install $make_options); then
echo "Make failed... Aborting make-package."
exit 1
fi
if test "$full_dist" == "no"; then
echo "Removing unneeded .el files"
sharedir=$installprefix/share/emacs/$version
find $sharedir/lisp $sharedir/leim -name "*.elc" -print | sed 's|\(.*\)\.elc$|/bin/rm -f \1.el|' | /bin/sh -s
fi
if test "$compressed_dist" == "yes" -a "$full_dist" == "yes"; then
echo "Compressing .el files"
sharedir=$installprefix/share/emacs/$version
find $sharedir/lisp $sharedir/leim -name "*.elc" -print | sed 's|\(.*\)\.elc$|/usr/bin/gzip -9 \1.el|' | /bin/sh -s
echo "Compressing info files"
find $installprefix/info -type f ! -name dir -print | sed 's|\(.*\)$|/usr/bin/gzip -9 \1|' | /bin/sh -s
fi
if test "$with_app" == "yes"; then
echo "Creating Emacs.app application"
tempappdir=${tempparentfull}${appsdir}
tempemapp=${tempappdir}/${emapp}/Contents/MacOS/Emacs
## Delete any CVS files
find ${tempappdir} -name "CVS" -type d -exec rm -rf {} \;
## Have application be a symlink to ${prefix}/bin/emacs
if test "$app_symlink" == "yes"; then
echo "Creating application symlink"
rm ${tempemapp}
ln -s ${prefix}/bin/${emacsname} ${tempemapp}
fi
fi
compver=`uname -p`-apple-darwin`uname -r`
if test "$self_contained" = "yes"; then
# Move shared files down to Resources directory
mv $installprefix/share/emacs/$version/* $installprefix
mv $installprefix/share/info $installprefix
mv $installprefix/share/man $installprefix
rm -rf $installprefix/share
# These directories might remain in Resources
mv $installprefix/bin $installprefix/../MacOS/bin
mv $installprefix/libexec/emacs/$version/$compver $installprefix/../MacOS/libexec
# Make the application binary a hard link
rm $installprefix/../MacOS/Emacs
ln $installprefix/../MacOS/bin/emacs $installprefix/../MacOS/Emacs
fi
# Remove unnecessary .el files
#if test "$full_dist" = no; then
#fi
echo "Creating Package Info file"
mkdir -p ${packagedir}
mkdir ${packagedir}/Contents
mkdir ${packagedir}/Contents/Resources
mkdir ${packagedir}/Contents/Resources/English.lproj
echo -n 'pmkrpkg1' > ${packagedir}/Contents/PkgInfo
# Create ReadMe and License files
cp ${srcdir}/COPYING ${packagedir}/Contents/Resources/License.txt
cp ${srcdir}/mac/README ${packagedir}/Contents/Resources/ReadMe.txt
infofile=${packagedir}/Contents/Resources/English.lproj/Emacs.info
echo 'Title GNU Emacs' > ${infofile}
echo "Version ${version}" >> ${infofile}
echo "Description Install GNU Emacs ${version} as a command-line app and a Mac OS Application" >> ${infofile}
echo 'DefaultLocation /' >> ${infofile}
echo 'DeleteWarning' >> ${infofile}
echo 'NeedsAuthorization YES' >> ${infofile}
echo 'Required NO' >> ${infofile}
echo 'Relocatable NO' >> ${infofile}
echo 'RequiresReboot NO' >> ${infofile}
echo 'UseUserMask NO' >> ${infofile}
echo 'OverwritePermissions NO' >> ${infofile}
echo 'InstallFat NO' >> ${infofile}
### Set the install directory to install files as root...
### Not sure if this is a good diea
# echo "Setting owner to root"
# chown -Rh 0 ${tempparentfull}
echo "Creating pax file"
(cd ${tempparentfull}; pax -w -f ${packagedir}/Contents/Resources/Emacs.pax .)
echo "Compressing pax file"
gzip ${packagedir}/Contents/Resources/Emacs.pax
echo "Creating bom file"
mkbom ${tempparentfull} ${packagedir}/Contents/Resources/Emacs.bom
echo "Generating sizes file"
sizesfile=${packagedir}/Contents/Resources/Emacs.sizes
numFiles=`du -a ${tempparent} | wc -l`
installedSize=`du -s ${tempparent} | cut -f1`
compressedSize=`du -s ${packagedir} | cut -f1`
echo "NumFiles ${numFiles}" > ${sizesfile}
echo "InstalledSize ${installedSize}" >> ${sizesfile}
echo "CompressedSize ${compressedSize}" >> ${sizesfile}
cat ${sizesfile}
echo "Creating Disc Image"
## From hdiutil man page, a sector is 512k. Allocate an extra 5% for
## directories and partition tables.
sectorsAlloced=`echo 2.1*${compressedSize}|bc`
hdiutil create -ov ${builddir}/mac/EmacsRW -sectors ${sectorsAlloced}
## Need to format the disc image before mounting
mountLoc=`hdid -nomount ${builddir}/mac/EmacsRW.dmg | grep HFS | cut -f1`
/sbin/newfs_hfs -v Emacs ${mountLoc}
hdiutil eject ${mountLoc}
echo "Copying Package to Disc Image"
hdid ${builddir}/mac/EmacsRW.dmg
if test "$keep_directory" = "no"; then
rm -rf ${tempparentfull}
else
mv ${tempparentfull} ${emacsname}
fi
if [ ! -d /Volumes/Emacs ]; then
echo "Could not create disc image. The Emacs installer package (Emacs.pkg)
in this directory should be correct. Please use the Disc Copy program to
create a disc image." >&2
exit 0
fi
cp -R ${packagedir} /Volumes/Emacs
## Converting Disk Image to read-only
echo 'Converting Disc Image to read-only'
hdiutil eject ${mountLoc}
hdiutil resize ${builddir}/mac/EmacsRW.dmg -sectors min
if test "$comp_diskimage" = "yes"; then
hdiutil convert ${builddir}/mac/EmacsRW.dmg -format UDZO -imagekey zlib-level=2 -o ${srcdir}/mac/EmacsInstaller.dmg
else
hdiutil convert ${builddir}/mac/EmacsRW.dmg -format UDRO -o ${srcdir}/mac/EmacsInstaller.dmg
fi
rm ${builddir}/mac/EmacsRW.dmg
echo "Cleaning up the staging directory"
rm -rf ${builddir}/mac/Emacs.pkg ${removable_build_dir}
# arch-tag: 1b631d0d-9fde-4f71-80c0-33e0e5815515
### make-package ends here

View file

@ -1,734 +0,0 @@
/* Resource definitions for GNU Emacs on the Macintosh.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */
/* Contributed by Andrew Choi (akochoi@mac.com). */
#ifndef TARGET_API_MAC_CARBON
#include "Types.r"
/* added for finder icon balloon help --ben */
#include "Balloons.r"
/* Define to use gnu icon */
/* #define GNU_ICON 1 */
resource 'STR#' (128) {
{
"TERM=macterm",
"TERMCAP=macterm:co#80:li#40:up=up:do=do:le=le:nd=nd:cm=cm:cs=cs:ce=ce:cd=cd:cl=cl:al=al:dl=dl:",
/* "HOME=/Ix/Data Files/Emacs Mac Port/emacs-20.4/mac/", */
/* "MAIL=/Ix/System Folder/Eudora Folder/In" */
}
};
resource 'STR#' (129) {
{
"emacs",
"-l",
"loadup"
}
};
/* added for finder icon balloon help --ben */
resource 'hfdr' (-5696) { /*help for emacs icon*/
/*header component*/
HelpMgrVersion, hmDefaultOptions, 0, 0,
{ /*icon component*/
HMSTRResItem { /*use 'STR ' resource 128*/
128
}
}
};
/* added for finder icon balloon help --ben */
resource 'STR ' (128) { /*help message for emacs icon*/
"GNU Emacs\0xd1the extensible, customizable, self-documenting real-time display editor."
};
#endif
#define M_APPLE 234 /* Menu ID for Apple Menu. */
resource 'MENU' (128, preload) {
M_APPLE,
textMenuProc,
0x7FFFFFFD,
enabled,
apple,
{ /* array: 2 elements */
/* [1] */
"About Emacs\0xc9", noIcon, noKey, noMark, plain,
/* [2] */
"-", noIcon, noKey, noMark, plain
}
};
resource 'MBAR' (128, "MBAR for Menus1", preload) {
{ /* array MenuArray: 1 element */
/* [1] */
128
}
};
resource 'WIND' (128, "Window", purgeable) {
{68, 33, 554, 754},
kWindowFullZoomGrowDocumentProc,
invisible,
goAway,
0x0,
"Terminal",
kWindowStaggerMainScreen
};
resource 'WIND' (129, "Terminal window", purgeable) {
{32, 8, 76, 620},
kWindowModalDialogProc,
invisible,
goAway,
0x0,
"Terminal",
kWindowDefaultPosition
};
resource 'WIND' (130, "Dialog window", purgeable) {
{32, 8, 42, 18},
kWindowModalDialogProc,
invisible,
goAway,
0x0,
"Terminal",
kWindowDefaultPosition
};
resource 'ALRT' (128, "About Box", purgeable) {
{40, 20, 160, 297},
128,
{ /* array: 4 elements */
/* [1] */
OK, visible, silent,
/* [2] */
OK, visible, silent,
/* [3] */
OK, visible, silent,
/* [4] */
OK, visible, silent
},
centerMainScreen
};
resource 'DITL' (128, purgeable) {
{ /* array DITLarray: 2 elements */
/* [1] */
{88, 185, 108, 265},
Button {
enabled,
"OK"
},
/* [2] */
{10, 60, 72, 278},
StaticText {
disabled,
"GNU Emacs 23 for Mac OS"
}
}
};
resource 'ALRT' (129, "Ram Too Large", purgeable) {
{40, 20, 160, 297},
129,
{ /* array: 4 elements */
/* [1] */
OK, visible, silent,
/* [2] */
OK, visible, silent,
/* [3] */
OK, visible, silent,
/* [4] */
OK, visible, silent
},
centerMainScreen
};
resource 'DITL' (129, purgeable) {
{ /* array DITLarray: 2 elements */
/* [1] */
{88, 185, 108, 265},
Button {
enabled,
"OK"
},
/* [2] */
{10, 60, 72, 278},
StaticText {
disabled,
"Emacs does not run on a Macintosh with more than 512 MB of physical or virtual memory"
}
}
};
resource 'BNDL' (128) {
'EMAx',
0,
{ /* array TypeArray: 2 elements */
/* [1] */
'FREF',
{ /* array IDArray: 2 elements */
/* [1] */
0, 128,
/* [2] */
1, 129
},
/* [2] */
'ICN#',
{ /* array IDArray: 2 elements */
/* [1] */
0, 128,
/* [2] */
1, 129
}
}
};
resource 'FREF' (128) {
'APPL',
0,
""
};
resource 'FREF' (129) {
'TEXT',
1,
""
};
resource 'vers' (1) {
0x23, /* Major revision in BCD */
0x0, /* Minor revision in BCD */
development, /* development, alpha, beta, or final (release) */
60, /* Non-final release # */
0, /* Region code */
"23.0.60", /* Short version number */
"23.0.60, Copyright \0xa9 2008 "
"Free Software Foundation, Inc." /* Long version number */
};
data 'EMAx' (0, "Owner resource") {
$"00" /* . */
};
#ifdef GNU_ICON
resource 'ICN#' (128) {
{ /* array: 2 elements */
/* [1] */
$"0000 0000 0000 0000 0000 0080 0000 0040"
$"0100 0030 0203 5808 0408 8400 0418 0220"
$"0420 0008 0464 9C80 04C1 0018 0000 0004"
$"118B 0120 000A 0000 0614 8180 0204 2080"
$"0468 0080 0480 4480 0000 0080 0148 08C0"
$"0120 00C0 0182 4020 0388 0120 0181 2040"
$"01E8 B040 00E0 70C0 0078 9880 003A 9880"
$"001E 4000 000F C0",
/* [2] */
$"0000 0000 0000 0100 0000 0180 0000 00E0"
$"0100 3030 0203 F818 063F FC18 0E3F FE38"
$"1C7F FF78 1CFF FFF8 1CFF FFF8 1E7F FFFC"
$"1FFF FF38 1FFF FF80 0FFF FF80 07FF FF80"
$"0FFF FF80 0FFF FFC0 01FF FFC0 03FF FFC0"
$"03FF FFC0 03FF FFE0 03FF FFE0 03FF FFE0"
$"01FF FFC0 01FF FFC0 00FF FFC0 007F FF80"
$"001F E700 000F C000 0004 80"
}
};
#else
resource 'ICN#' (128) {
{ /* array: 2 elements */
/* [1] */
$"0000 0000 0000 0000 0001 F000 07DE 0F60"
$"0860 0090 1200 0028 1200 0008 0800 0008"
$"0800 0008 1000 0004 1000 0004 2000 0004"
$"2000 0044 4018 12C2 4018 0002 4018 0082"
$"4002 0C42 2000 1E02 2004 1E42 2004 0C02"
$"2004 0042 2002 0082 5001 8F05 8800 7004"
$"0800 0008 0400 0010 0200 0060 01C0 0380"
$"003F FC00 2000 0000 4000 0000 80",
/* [2] */
$"0000 0000 0000 0000 0001 F000 07DF FF60"
$"0FFF FFF0 1FFF FFF8 1FFF FFF8 0FFF FFF8"
$"0FFF FFF8 1FFF FFFC 1FFF FFFC 3FFF FFFC"
$"3FFF FFFC 7FFF FFFE 7FFF FFFE 7FFF FFFE"
$"7FFF FFFE 3FFF FFFE 3FFF FFFE 3FFF FFFE"
$"3FFF FFFE 3FFF FFFE 7FFF FFFF FFFF FFFF"
$"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
$"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
}
};
#endif
#ifdef GNU_ICON
resource 'icl4' (128) {
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 000C 0000 0000"
$"0000 0000 0000 0000 0000 000C F000 0000"
$"0000 0000 0000 0000 0000 0000 CFD0 0000"
$"0000 000F 0000 0000 00CC 0000 00FF 0000"
$"0000 00F0 0000 00FF CFCF F000 000C F000"
$"0000 0FD0 00CD FD0C F000 CF00 000C D000"
$"0000 CFC0 00DF F000 C000 00F0 00FC C000"
$"000C DF00 0DFD 0CD0 0000 DCDD 0DC0 F000"
$"000D 0F00 DFFC 0F00 FDDF FFDD FC0D D000"
$"000C 0F00 FFC0 DCDF 0000 DC00 00CF F000"
$"000C 0CD0 0C0C CDC0 000C 0CCD CCCC CF00"
$"000F 00CF F0DC FCFF DDC0 CDDF 00FD C000"
$"000D D000 CDC0 FCFC 0CDC CCCD C000 0000"
$"0000 CFF0 D00F 0F0C F0CD CCCF F000 0000"
$"0000 0CFC 00CD 0F0D D0FD CCCD F000 0000"
$"0000 CFCC DFF0 FC0C DCCC CCCC F000 0000"
$"0000 DFC0 FDDC 0C0C DFC0 CEDC FC00 0000"
$"0000 000C DDCC CDC0 C00C CCCC FC00 0000"
$"0000 00CF CF0C FC0C 0000 F00D FF00 0000"
$"0000 00CF D0FC 0CCC C000 0CCC FF00 0000"
$"0000 00CF F0DC 0CFC CFCD DDDC DCF0 0000"
$"0000 00FF FCD0 FDCC DDC0 00DF 0DF0 0000"
$"0000 00CF FDCD 0DCF CDFC CC0D 0FC0 0000"
$"0000 000F FFFC FCD0 F0FF C000 DF00 0000"
$"0000 000C FFF0 CDCD DFFF DCCC FF00 0000"
$"0000 0000 CFFF FC0D F0CF F000 FC00 0000"
$"0000 0000 0CFF FDF0 F0DF FDDD F000 0000"
$"0000 0000 000F FFFC CFC0 0DDD 0000 0000"
$"0000 0000 0000 FFFF FF00 0000 0000 0000"
$"0000 0000 0000 0C00 C0"
};
#else
resource 'icl4' (128) {
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 000F FFFF 0000 0000 0000"
$"0000 0FFF FF0F FFF0 0000 FFFF 0FF0 0000"
$"0000 FCCC CFF0 0000 0000 0000 FCCF 0000"
$"000F 0DED CC00 0000 0000 0000 0DEC F000"
$"000F 0DED C000 0000 0000 0000 00DD F000"
$"0000 F0D0 0000 0000 0000 0000 0000 F000"
$"0000 FC00 0000 0000 0000 0000 0000 F000"
$"000F 0000 0000 0000 0000 0000 0000 0F00"
$"000F 0000 0000 0000 0000 0000 0000 0F00"
$"00F0 0000 0000 0000 0000 0000 0000 0F00"
$"00F0 0000 0000 0000 0000 0000 DEC0 0F00"
$"0F00 0000 00CE EC00 0CCC CCCC FFC0 00F0"
$"0F00 0000 0CDF FD0C C000 000D CDC0 00F0"
$"0F00 0000 00CE ECD0 0000 CC00 D000 00F0"
$"0F00 0000 0000 00D0 000C EEC0 0D00 00F0"
$"00F0 0000 0000 0D00 00CE AAEC 0D00 00F0"
$"00F0 0000 0000 0D00 00CE AAEC 0D00 00F0"
$"00F0 0000 0000 0D00 000C EEC0 0D00 00F0"
$"00F0 0000 0000 0D00 0000 CC00 0D00 00F0"
$"00F0 0000 0000 0CD0 0000 0000 E000 00F0"
$"0F0F 0000 0000 00CD D000 EEEE 0000 0F0F"
$"F000 F000 0000 0000 0EEE 0000 0000 0F00"
$"0000 F000 0000 0000 0000 0D00 0000 FC00"
$"0000 0F00 0000 0000 0000 0D00 000F C000"
$"0000 00F0 0000 0000 0000 0C00 0FFC C000"
$"0000 C00F FF00 0000 0000 00EE ECCC 0000"
$"000D 0000 0CFF FFFF FEEE EECC CCC0 0000"
$"0CF0 0000 0000 CCCC CCCC CC0C 0C00 0C00"
$"CEC0 0000 0000 0000 0000 0000 0000 0DC0"
$"FD00 0000 0000 0000 0000 0000 0000 00D0"
};
#endif
#ifdef GNU_ICON
resource 'icl8' (128) {
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 002B 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 002B FF00 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 2BFF F900 0000 0000"
$"0000 0000 0000 00FF 0000 0000 0000 0000"
$"0000 2B2B 0000 0000 0000 FFFF 0000 0000"
$"0000 0000 0000 FF00 0000 0000 0000 FFFF"
$"2BFF 2BFF FF00 0000 0000 002B FF00 0000"
$"0000 0000 00FF F900 0000 2BF9 FFF9 002B"
$"FF00 0000 2BFF 0000 0000 002B F900 0000"
$"0000 0000 2BFF 2B00 0000 F9FF FF00 0000"
$"2B00 0000 0000 FF00 0000 FF2B 2B00 0000"
$"0000 002B F9FF 0000 00F9 FFF9 002B F900"
$"0000 0000 F92B F9F9 00F9 2B00 FF00 0000"
$"0000 00F9 00FF 0000 F9FF FF2B 00FF 0000"
$"FFF9 F9FF FFFF F9F9 FF2B 00F9 F900 0000"
$"0000 002B 00FF 0000 FFFF 2B00 F92B F9FF"
$"0000 0000 F92B 0000 0000 2BFF FF00 0000"
$"0000 002B 002B F900 002B 002B 2BF9 2B00"
$"0000 002B 002B 2BF9 2B2B 2B2B 2BFF 0000"
$"0000 00FF 0000 2BFF FF00 F92B FF2B FFFF"
$"F9F9 2B00 2BF9 F9FF 0000 FFF9 2B00 0000"
$"0000 00F9 F900 0000 2BF9 2B00 FF2B FF2B"
$"002B F92B 2B2B 2BF9 2B00 0000 0000 0000"
$"0000 0000 2BFF FF00 F900 00FF 00FF 002B"
$"FF00 2BF9 2B2B 2BFF FF00 0000 0000 0000"
$"0000 0000 002B FF2B 0000 2BF9 00FF 00F9"
$"F900 FFF9 2B2B 2BF9 FF00 0000 0000 0000"
$"0000 0000 2BFF 2B2B F9FF FF00 FF2B 002B"
$"F92B 2B2B 2B2B 2B2B FF00 0000 0000 0000"
$"0000 0000 F9FF 2B00 FFF9 F92B 002B 002B"
$"F9FF 2B00 2BFC F92B FF2B 0000 0000 0000"
$"0000 0000 0000 002B F9F9 2B2B 2BF9 2B00"
$"2B00 002B 2B2B 2B2B FF2B 0000 0000 0000"
$"0000 0000 0000 2BFF 2BFF 002B FF2B 002B"
$"0000 0000 FF00 00F9 FFFF 0000 0000 0000"
$"0000 0000 0000 2BFF F900 FF2B 002B 2B2B"
$"2B00 0000 002B 2B2B FFFF 0000 0000 0000"
$"0000 0000 0000 2BFF FF00 F92B 002B FF2B"
$"2BFF 2BF9 F9F9 F92B F92B FF00 0000 0000"
$"0000 0000 0000 FFFF FF2B F900 FFF9 2B2B"
$"F9F9 2B00 0000 F9FF 00F9 FF00 0000 0000"
$"0000 0000 0000 2BFF FFF9 2BF9 00F9 2BFF"
$"2BF9 FF2B 2B2B 00F9 00FF 2B00 0000 0000"
$"0000 0000 0000 00FF FFFF FF2B FF2B F900"
$"FF00 FFFF 2B00 0000 F9FF 0000 0000 0000"
$"0000 0000 0000 002B FFFF FF00 2BF9 2BF9"
$"F9FF FFFF F92B 2B2B FFFF 0000 0000 0000"
$"0000 0000 0000 0000 2BFF FFFF FF2B 00F9"
$"FF00 2BFF FF00 0000 FF2B 0000 0000 0000"
$"0000 0000 0000 0000 002B FFFF FFF9 FF00"
$"FF00 F9FF FFF9 F9F9 FF00 0000 0000 0000"
$"0000 0000 0000 0000 0000 00FF FFFF FF2B"
$"2BFF 2B00 00F9 F9F9 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 FFFF FFFF"
$"FFFF 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 002B 0000"
$"2B"
};
#else
resource 'icl8' (128) {
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 00FF"
$"FFFF FFFF 0000 0000 0000 0000 0000 0000"
$"0000 0000 00FF FFFF FFFF F5FF FFFF FFF5"
$"F5F5 F5F5 FFFF FFFF 00FF FF00 0000 0000"
$"0000 0000 FFF6 F6F6 F6FF FFF5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 FFF7 F6FF 0000 0000"
$"0000 00FF F5F9 FBF9 F7F7 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F9 FCF6 FF00 0000"
$"0000 00FF F5F9 FBF9 F7F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F9F9 FF00 0000"
$"0000 0000 FFF5 F9F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 FF00 0000"
$"0000 0000 FFF7 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 FF00 0000"
$"0000 00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
$"0000 00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5FF 0000"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F9FC F6F5 F5FF 0000"
$"00FF F5F5 F5F5 F5F5 F5F5 F7FB FBF7 F5F5"
$"F5F6 F6F7 F7F7 F7F8 FFFF F7F5 F5F5 FF00"
$"00FF F5F5 F5F5 F5F5 F5F6 F9FF FFF9 F5F7"
$"F7F5 F5F5 F5F5 F5F9 F7F9 F6F5 F5F5 FF00"
$"00FF F5F5 F5F5 F5F5 F5F5 F7FB FCF7 F9F5"
$"F5F5 F5F5 F6F6 F5F5 F9F5 F5F5 F5F5 FF00"
$"00FF F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F9F5"
$"F5F5 F5F7 FBFB F7F5 F5F9 F5F5 F5F5 FF00"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F9 F5F5"
$"F5F5 F7FB FDFD ACF7 F5F9 F5F5 F5F5 FF00"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F9 F5F5"
$"F5F5 F7FB FDFD ACF7 F5F9 F5F5 F5F5 FE00"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F9 F5F5"
$"F5F5 F5F7 FBFB F7F5 F5F9 F5F5 F5F5 FE00"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F9 F5F5"
$"F5F5 F5F5 F7F7 F5F5 F5FA F5F5 F5F5 FE00"
$"0000 FFF5 F5F5 F5F5 F5F5 F5F5 F5F7 F9F5"
$"F5F5 F5F5 F5F5 F5F5 FBF5 F5F5 F5F5 FF00"
$"00FF F5FF F5F5 F5F5 F5F5 F5F5 F5F5 F7F9"
$"F9F5 F5F5 FBFB FBFB F5F5 F5F5 F5FE F5FF"
$"FFF5 F5F5 FFF5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5FB FBFB F5F5 F5F5 F5F5 F5F5 F5FF F5F5"
$"F5F5 F5F5 FFF5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F9 F5F5 F5F5 F5F5 FFF6 F5F5"
$"F5F5 F5F5 F5FF F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F9 F5F5 F5F5 F5FF F6F5 F5F5"
$"F5F5 F5F5 F5F5 FFF5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F6 F5F5 F5FF FFF7 F6F5 F5F5"
$"F5F5 F5F5 F7F5 F5FF FFFF F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 ACAC ACF7 F6F6 F5F5 F5F5"
$"F5F5 F5F9 F5F5 F5F5 F5F7 FFFF FFFF FFFF"
$"FFFC FCAC ACAC F6F6 F7F6 F6F5 F5F5 F5F5"
$"F5F6 FFF5 F5F5 F5F5 F5F5 F5F5 F6F7 F6F7"
$"F6F7 F6F6 F6F6 F5F6 F5F6 F5F5 F5F7 F5F5"
$"F6FC F7F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F9 F7F5"
$"FFF9 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F9F5"
};
#endif
#ifdef GNU_ICON
resource 'ics#' (128) {
{ /* array: 2 elements */
/* [1] */
$"0000 0008 11E6 26B4 2EEA 2906 5B14 36D8"
$"2EA8 1A28 1D8C 1B5C 1EC8 0FE8 0780",
/* [2] */
$"0010 001C 11FE 37FE 7FFE 7FFE 7FFE 3FF8"
$"3FF8 1FF8 1FFC 1FFC 1FF8 0FF8 07F0 0280"
}
};
#else
resource 'ics#' (128) {
{ /* array: 2 elements */
/* [1] */
$"0000 0000 0001 604B 6000 6002 0831 0078"
$"1079 1030 1001 0802 063C 01C0",
/* [2] */
$"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
$"FFFF FFFF FFFF FFFF FFFF FFFF FFFF FFFF"
}
};
#endif
#ifdef GNU_ICON
resource 'ics4' (128) {
$"0000 0000 000C 0000 0000 0000 000C FD00"
$"000F 000F FFF0 0FF0 00FD 0FFC F0FF 0FD0"
$"0DF0 FFFD FFFD FDF0 0CFD FCDF 0CDD CFF0"
$"0FDF FDFF DDDF CFC0 00FF DFFD FFCF F000"
$"00FC FFFC FCED F000 000F FCFC CCFD F000"
$"000F FFCF FDDD FF00 000F FDFF DFCF FF00"
$"000F FFFD FFDC F000 0000 FFFF FFFD F000"
$"0000 0FFF FCDD 0000 0000 00C0 C0"
};
#else
resource 'ics4' (128) {
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 00DE CEEC 000C CCCC CCFF"
$"DFFD 0CC0 0000 0DCD CEEC D000 00CC 00D0"
$"0000 D000 0CEE C00D 000D 0000 CEAA EC0D"
$"000D 0000 CEAA EC0D 000D 0000 0CEE C00D"
$"000D 0000 00CC 000D 000C D000 0000 00E0"
$"0000 CDD0 00EE EE00 0000 000E EE00 0000"
$"0000 0000 000D 0000 0000 0000 000D"
};
#endif
#ifdef GNU_ICON
resource 'ics8' (128) {
$"0000 0000 0000 0000 0000 002B 0000 0000"
$"0000 0000 0000 0000 0000 002B FFF9 0000"
$"0000 00FF 0000 00FF FFFF FF00 00FF FF00"
$"0000 FFF9 00FF FF2B FF00 FFFF 00FF F900"
$"00F9 FF00 FFFF FFF9 FFFF FFF9 FFF9 FF00"
$"002B FFF9 FF2B F9FF 002B F9F9 2BFF FF00"
$"00FF F9FF FFF9 FFFF F9F9 F9FF 2BFF 2B00"
$"0000 FFFF F9FF FFF9 FFFF 2BFF FF00 0000"
$"0000 FF2B FFFF FF2B FF2B FCF9 FF00 0000"
$"0000 00FF FF2B FF2B 2B2B FFF9 FF00 0000"
$"0000 00FF FFFF 2BFF FFF9 F9F9 FFFF 0000"
$"0000 00FF FFF9 FFFF F9FF 2BFF FFFF 0000"
$"0000 00FF FFFF FFF9 FFFF F92B FF00 0000"
$"0000 0000 FFFF FFFF FFFF FFF9 FF00 0000"
$"0000 0000 00FF FFFF FF2B F9F9 0000 0000"
$"0000 0000 0000 2B00 2B"
};
#else
resource 'ics8' (128) {
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F5F5 F9FC"
$"F7FB FBF7 F5F5 F5F6 F6F7 F7F7 F7F8 FFFF"
$"F9FF FFF9 F5F7 F7F5 F5F5 F5F5 F5F9 F7F9"
$"F7FB FCF7 F9F5 F5F5 F5F5 F6F6 F5F5 F9F5"
$"F5F5 F5F5 F9F5 F5F5 F5F7 FBFB F7F5 F5F9"
$"F5F5 F5F9 F5F5 F5F5 F7FB FDFD ACF7 F5F9"
$"F5F5 F5F9 F5F5 F5F5 F7FB FDFD ACF7 F5F9"
$"F5F5 F5F9 F5F5 F5F5 F5F7 FBFB F7F5 F5F9"
$"F5F5 F5F9 F5F5 F5F5 F5F5 F7F7 F5F5 F5FA"
$"F5F5 F5F7 F9F5 F5F5 F5F5 F5F5 F5F5 FBF5"
$"F5F5 F5F5 F7F9 F9F5 F5F5 FBFB FBFB F5F5"
$"F5F5 F5F5 F5F5 F5FB FBFB F5F5 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F9 F5F5 F5F5"
$"F5F5 F5F5 F5F5 F5F5 F5F5 F5F9 F5F5 F5F5"
};
#endif
resource 'ICN#' (129) {
{ /* array: 2 elements */
/* [1] */
$"0000 0300 0000 1C80 0000 E0B0 0007 00F0"
$"0038 0070 01C0 0038 0E00 8038 7008 4038"
$"8008 2038 8004 0038 8080 041C C086 301C"
$"C087 311C 4007 BB8C 6167 378C 6170 070E"
$"2130 6006 3031 FC06 3047 FE06 10E7 FF02"
$"1867 FF82 1847 FF03 080F FE07 0C1F E03C"
$"0C0F C1F0 0406 0F80 0400 7C00 0203 E000"
$"031F 0000 01F8 0000 00C0",
/* [2] */
$"0000 0300 0000 1F80 0000 FFB0 0007 FFF0"
$"003F FFF0 01FF FFF8 0FFF FFF8 7FFF FFF8"
$"FFFF FFF8 FFFF FFF8 FFFF FFFC FFFF FFFC"
$"FFFF FFFC 7FFF FFFC 7FFF FFFC 7FFF FFFE"
$"3FFF FFFE 3FFF FFFE 3FFF FFFE 1FFF FFFE"
$"1FFF FFFE 1FFF FFFF 0FFF FFFF 0FFF FFFC"
$"0FFF FFF0 07FF FF80 07FF FC00 03FF E000"
$"03FF 0000 01F8 0000 00C0"
}
};
resource 'icl4' (129) {
$"0000 0000 0000 0000 0000 00FF 0000 0000"
$"0000 0000 0000 0000 000F FF0C F000 0000"
$"0000 0000 0000 0000 FFF0 0000 F0FF 0000"
$"0000 0000 0000 0FFF 0000 0000 FFDF 0000"
$"0000 0000 00FF F000 0000 0000 CFEF 0000"
$"0000 000F FF00 0000 0000 0000 00ED F000"
$"0000 FFF0 0000 0000 DC00 0000 00AD F000"
$"0FFF 0000 0000 E000 0DC0 0000 00FE F000"
$"F000 0000 0000 DC00 0CD0 0000 00FE F000"
$"F000 0000 CC00 CC00 00C0 0C00 00FA F000"
$"F000 0000 D000 00C0 00C0 0DCC 00CF EF00"
$"EF00 0000 E000 0EED C0ED C0DD 000F EF00"
$"EFC0 0000 DC00 CEEF CCEF D0DD 000F AF00"
$"DFC0 000C 00C0 CEFE D0EF D0ED E00C FF00"
$"0EFC 00CD 0EDC 0DDE 00DF CDEE EC00 FF00"
$"0EFC 000E 0DEE 00CC 00CC CDFE D000 FFF0"
$"0DFC 000D CCFE C00C DEDD 0CDC 0000 CFF0"
$"00EF C00C 0CDE 00CE FFFF AE00 0000 0FF0"
$"00EF C000 DD0C 0DEE FFFF FEED C000 0FF0"
$"00DF C000 DFE0 CDFF FFFF FFAF C000 0CF0"
$"000E FC00 DEE0 CAFF FFFF FFFE D000 0CFD"
$"000E FC00 CED0 DEFF FFFF FFFE C000 0CFF"
$"000D FC00 0C0C EFFF FFFF AEDD 00CC CFFF"
$"0000 EF00 000D EFFF FADD C00C CCFF FED0"
$"0000 EF00 000C FAFF AED0 CCCF FFEE D000"
$"0000 DF00 000C DEED CCCC FFFE ED00 0000"
$"0000 0E00 0000 0CCC CFFF EED0 0000 0000"
$"0000 0DFD 0000 CCFF FEED 0000 0000 0000"
$"0000 00EF DDDF FFEE D000 0000 0000 0000"
$"0000 000E FFFE ED00 0000 0000 0000 0000"
$"0000 0000 DDD0"
};
resource 'icl8' (129) {
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 FFFF 0000 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 00FF FFFF 00F7 FF00 0000 0000 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"FFFF FF00 0000 0000 FF00 FFFF 0000 0000"
$"0000 0000 0000 0000 0000 0000 00FF FFFF"
$"0000 0000 0000 0000 FFFF FAFF 0000 0000"
$"0000 0000 0000 0000 0000 FFFF FF00 0000"
$"0000 0000 0000 0000 F7FF FCFF 0000 0000"
$"0000 0000 0000 00FF FFFF 0000 0000 0000"
$"F500 0000 0000 0000 0000 FCFA FF00 0000"
$"0000 0000 FFFF FF00 0000 0000 0000 0000"
$"812B 0000 0000 0000 0000 FDFA FF00 0000"
$"00FF FFFF 0000 0000 0000 0000 FBF5 0000"
$"0081 2B00 0000 0000 0000 FFFC FF00 0000"
$"FF00 0000 0000 0000 00F5 0000 F9F8 0000"
$"00F8 FA00 0000 0000 0000 FFFC FF00 0000"
$"FF00 0000 0000 0000 F8F8 0000 F7F8 0000"
$"00F5 2B00 002B 0000 0000 FFFD FF00 0000"
$"FF00 0000 0000 00F5 FA00 0000 00F5 F800"
$"0000 2B00 00FA F8F6 0000 F7FF FCFF 0000"
$"FCFF 0000 0000 0000 FB00 0000 00FB FCF9"
$"F600 FBFA F700 5656 0000 00FF FCFF 0000"
$"FCFF F700 0000 0000 81F6 0000 F8FC ACFE"
$"F72B ACFE 5600 F9FA 0000 00FF FDFF 0000"
$"F9FF F700 0000 F5F7 F500 F600 2BAC FEFC"
$"FA00 FCFF 81F5 FB81 FBF5 00F7 FFFF 0000"
$"00FC FFF6 0000 2B81 00FC 81F8 0081 81FC"
$"F500 FAFF 2B81 ACFC FCF6 0000 FFFF 0000"
$"00FC FFF6 0000 00FB 0081 FCAC F500 F82B"
$"0000 F8F8 2B81 FFAC F900 0000 FFFF FF00"
$"00F9 FFF6 0000 0081 F6F8 FFAC F700 00F8"
$"F9FC FA56 00F6 562B 0000 0000 F7FF FF00"
$"0000 FCFF F700 00F7 002B FAFB F500 F7FC"
$"FEFF FFFF FDFB F500 0000 0000 00FF FF00"
$"0000 FCFF F700 0000 F9FA F5F8 0081 FCAC"
$"FFFF FFFF FFFC AC56 2B00 0000 00FF FF00"
$"0000 F9FF F700 0000 81FF AC00 F781 FFFF"
$"FFFF FFFF FFFF FDFE F800 0000 00F7 FF00"
$"0000 00FC FFF7 0000 56FC FBF5 F7FD FFFF"
$"FFFF FFFF FFFF FFAC 8100 0000 00F6 FFF9"
$"0000 00FC FFF7 0000 2BAC 5600 F9FC FFFF"
$"FFFF FFFF FFFF FFFB F700 0000 00F7 FFFF"
$"0000 00F9 FFF7 0000 F5F6 002B FBFE FFFF"
$"FFFF FFFE FDFC FA56 0000 F7F7 F7FF FFFF"
$"0000 0000 FCFF 0000 0000 00FA ACFF FFFF"
$"FFFD 8156 2BF5 00F7 F7F7 FFFF FFFC F900"
$"0000 0000 FCFF 0000 0000 00F7 FEFD FFFE"
$"FDFC F900 F7F7 F7FF FFFF FCFC F900 0000"
$"0000 0000 F9FF 0000 0000 00F6 56AC FBF9"
$"F7F6 F7F7 FFFF FFFC FCF9 0000 0000 0000"
$"0000 0000 00FC 0000 0000 0000 002B F7F7"
$"F7FF FFFF FCFC F900 0000 0000 0000 0000"
$"0000 0000 00F9 FFF9 0000 0000 F7F7 FFFF"
$"FFFC FCF9 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 FCFF F9F9 F9FF FFFF FCFC"
$"F900 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 00FC FFFF FFFC FCF9 0000"
$"0000 0000 0000 0000 0000 0000 0000 0000"
$"0000 0000 0000 0000 FAFA F9"
};
resource 'ics#' (129) {
{ /* array: 2 elements */
/* [1] */
$"0030 01CC 0E04 7006 8006 8006 8352 4412"
$"44C3 49F1 2BF1 23C7 23B8 01C0 1E",
/* [2] */
$"0030 01FC 0FFC 7FFE FFFE FFFE FFFE 7FFE"
$"7FFF 7FFF 3FFF 3FFF 3FF8 3FC0 1E"
}
};
resource 'ics4' (129) {
$"0000 0000 0CFF C000 0000 0CCF FFC0 EE00"
$"00CC FFFC 0000 CEC0 CFFF C0C0 C000 0ED0"
$"F000 C0C0 CC00 0FD0 F000 C0CD 0CCC 0DA0"
$"FC0C C0DF CACD CCF0 DF0C DFCD 0DDA C0FC"
$"CF0C CD0C EEDC 00EF 0FC0 FCCF FFFE C0DF"
$"0DF0 DCDF FFFA C0CF 0CF0 0CAF FEDC CFFD"
$"00F0 0CEE DCFF FDC0 00CD 00CF FFDC 0000"
$"000D FFFD C000 0000 0000 CC"
};
resource 'ics8' (129) {
$"0000 0000 0000 0000 F5F7 FFFF 2BF5 0000"
$"0000 0000 00F6 F7FF FFFF F600 ACAC 0000"
$"0000 F6F7 FFFF FFF6 0000 0000 F8AC F700"
$"2BFF FFFF F600 F600 F8F5 0000 00AC FA00"
$"FFF5 0000 F6F5 F700 F6F6 F500 F5FE FA00"
$"FFF5 00F5 F700 F756 F5F8 2BF7 0081 FDF5"
$"FF2B 00F6 F700 FAFE F7FD F8FA 2BF7 FF00"
$"56FF 00F7 56FF 2B56 F556 56FD F800 FEF7"
$"2BFF F5F6 F7FA F5F8 ACFC F92B 0000 FBFF"
$"00FF F700 FFF8 F8FE FFFF FFFC F600 56FF"
$"0056 FF00 FAF7 81FF FFFF FFFD 2B00 F6FF"
$"002B FFF5 002B FDFF FFFC 56F7 F7FF FF81"
$"0000 FFF5 00F6 FCFB FAF7 FFFF FFF9 F600"
$"0000 F8F9 0000 F7FF FFFF F9F6 0000 0000"
$"0000 0081 FFFF FFF9 F600 0000 0000 0000"
$"0000 0000 F8F6"
};

View file

@ -1,46 +0,0 @@
/* Implementation of chdir on the Mac for use with make-docfile.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 2008 Free Software Foundation, Inc.
Contributed by Andrew Choi (akochoi@mac.com).
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 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */
#include <string.h>
#include <Files.h>
#include <TextUtils.h>
int chdir(const char *path)
{
WDPBRec wdpb;
Str255 mypath;
OSErr error;
strcpy(mypath, path);
c2pstr(mypath);
wdpb.ioNamePtr = mypath;
wdpb.ioVRefNum = 0;
wdpb.ioWDDirID = 0;
error = PBHSetVolSync(&wdpb);
return error == noErr ? 0 : -1;
}
/* arch-tag: f567b034-fd9e-43d1-94cb-9012375237d1
(do not change this comment) */

View file

@ -337,10 +337,7 @@ for subdir in lisp site-lisp \
etc/images/smilies/medium etc/images/tree-widget \
etc/images/tree-widget/default etc/images/tree-widget/folder \
etc/refcards etc/schema etc/tutorials info doc doc/emacs \
doc/misc doc/man doc/lispref doc/lispintro m4 msdos vms mac \
mac/src mac/Emacs.app mac/Emacs.app/Contents \
mac/Emacs.app/Contents/MacOS mac/Emacs.app/Contents/Resources \
mac/Emacs.app/Contents/Resources/English.lproj \
doc/misc doc/man doc/lispref doc/lispintro m4 msdos vms \
nextstep nextstep/Cocoa nextstep/Cocoa/Emacs.base \
nextstep/Cocoa/Emacs.base/Contents \
nextstep/Cocoa/Emacs.base/Contents/Resources \
@ -539,26 +536,6 @@ echo "Making links to \`nt/icons'"
ln [a-z]*.ico ../../${tempdir}/nt/icons
ln [a-z]*.cur ../../${tempdir}/nt/icons)
echo "Making links to \`mac'"
(cd mac
ln ChangeLog INSTALL README make-package ../${tempdir}/mac)
echo "Making links to \`mac/src'"
(cd mac/src
ln [a-z]*.c *.r ../../${tempdir}/mac/src)
echo "Making links to \`mac/Emacs.app/Contents'"
(cd mac/Emacs.app/Contents
ln Info.plist PkgInfo ../../../${tempdir}/mac/Emacs.app/Contents)
echo "Making links to \`mac/Emacs.app/Contents/Resources'"
(cd mac/Emacs.app/Contents/Resources
ln Emacs.icns ../../../../${tempdir}/mac/Emacs.app/Contents/Resources)
echo "Making links to \`mac/Emacs.app/Contents/Resources/English.lproj'"
(cd mac/Emacs.app/Contents/Resources/English.lproj
ln InfoPlist.strings ../../../../../${tempdir}/mac/Emacs.app/Contents/Resources/English.lproj)
echo "Making links to \`msdos'"
(cd msdos
ln ChangeLog emacs.ico emacs.pif ../${tempdir}/msdos
@ -760,7 +737,7 @@ echo "Making links to \`vms'"
### It would be nice if they could all be symlinks to top-level copy, but
### you're not supposed to have any symlinks in distribution tar files.
echo "Making sure copying notices are all copies of \`COPYING'"
for subdir in . etc info leim lib-src lisp lwlib mac msdos nt src; do
for subdir in . etc info leim lib-src lisp lwlib msdos nt src; do
rm -f ${tempdir}/${subdir}/COPYING
cp COPYING ${tempdir}/${subdir}
done

View file

@ -1,3 +1,46 @@
2008-07-27 Dan Nicolaescu <dann@ics.uci.edu>
Remove support for Mac Carbon.
* mactoolbox.c:
* macterm.h:
* macterm.c:
* macselect.c:
* macmenu.c:
* macgui.h:
* macfns.c:
* mac.c: Remove file.
* s/darwin.h:
* m/intel386.h:
* xfaces.c:
* xdisp.c:
* window.c:
* tparam.c:
* termhooks.h:
* termcap.c:
* term.c:
* syssignal.h:
* sysselect.h:
* sysdep.c:
* process.c:
* lread.c:
* lisp.h:
* keyboard.c:
* image.c:
* fringe.c:
* frame.h:
* frame.c:
* fontset.c:
* font.h:
* font.c:
* fns.c:
* fileio.c:
* emacs.c:
* dispnew.c:
* dispextern.h:
* config.in:
* atimer.c:
* Makefile.in: Remove code for Carbon
2008-07-26 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* macterm.c (XDrawLine) [USE_MAC_IMAGE_IO]: Remove spurious return.

View file

@ -513,13 +513,6 @@ MSDOS_OBJ = dosfns.o msdos.o w16select.o
CYGWIN_OBJ = sheap.o
#endif
#ifdef HAVE_CARBON
mac = ../mac/
MAC_OBJ = mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o fringe.o image.o mactoolbox.o
emacsapp = $(PWD)/$(mac)Emacs.app/
emacsappsrc = ${srcdir}/../mac/Emacs.app/
#endif
#ifdef HAVE_NS
ns_appdir=@ns_appdir@/
ns_appbindir=@ns_appbindir@/
@ -557,14 +550,14 @@ obj= dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
process.o callproc.o \
region-cache.o sound.o atimer.o \
doprnt.o strftime.o intervals.o textprop.o composite.o md5.o \
$(MSDOS_OBJ) $(MAC_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS)
$(MSDOS_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_DRIVERS)
/* Object files used on some machine or other.
These go in the DOC file on all machines
in case they are needed there. */
SOME_MACHINE_OBJECTS = dosfns.o msdos.o \
xterm.o xfns.o xmenu.o xselect.o xrdb.o xsmfns.o fringe.o image.o \
mac.o macterm.o macfns.o macmenu.o macselect.o fontset.o \
fontset.o \
nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o \
w32.o w32console.o w32fns.o w32heap.o w32inevt.o \
w32menu.o w32proc.o w32reg.o w32select.o w32term.o w32xfns.o $(FONT_DRIVERS)
@ -1089,7 +1082,7 @@ filelock.o: filelock.c buffer.h character.h charset.h coding.h systime.h \
filemode.o: filemode.c $(config_h)
frame.o: frame.c xterm.h window.h frame.h termhooks.h commands.h keyboard.h \
blockinput.h atimer.h systime.h buffer.h character.h fontset.h font.h \
msdos.h dosfns.h dispextern.h w32term.h macterm.h macgui.h termchar.h \
msdos.h dosfns.h dispextern.h w32term.h termchar.h \
$(config_h)
fringe.o: fringe.c dispextern.h frame.h window.h buffer.h termhooks.h $(config_h)
font.o: font.c dispextern.h frame.h window.h ccl.h character.h charset.h \
@ -1099,7 +1092,7 @@ fontset.o: dispextern.h fontset.h fontset.c ccl.h buffer.h character.h \
charset.h frame.h keyboard.h termhooks.h font.h $(config_h)
getloadavg.o: getloadavg.c $(config_h)
image.o: image.c frame.h window.h dispextern.h blockinput.h atimer.h \
systime.h xterm.h w32term.h w32gui.h macterm.h macgui.h font.h \
systime.h xterm.h w32term.h w32gui.h font.h \
nsterm.h nsgui.h $(config_h)
indent.o: indent.c frame.h window.h indent.h buffer.h $(config_h) termchar.h \
termopts.h disptab.h region-cache.h character.h category.h composite.h \
@ -1109,7 +1102,7 @@ insdel.o: insdel.c window.h buffer.h $(INTERVAL_SRC) blockinput.h character.h \
keyboard.o: keyboard.c termchar.h termhooks.h termopts.h buffer.h character.h \
commands.h frame.h window.h macros.h disptab.h keyboard.h syssignal.h \
systime.h dispextern.h syntax.h $(INTERVAL_SRC) blockinput.h atimer.h \
xterm.h puresize.h msdos.h keymap.h w32term.h macterm.h macgui.h nsterm.h \
xterm.h puresize.h msdos.h keymap.h w32term.h nsterm.h \
$(config_h)
keymap.o: keymap.c buffer.h commands.h keyboard.h termhooks.h blockinput.h \
atimer.h systime.h puresize.h character.h intervals.h keymap.h window.h \
@ -1176,15 +1169,15 @@ widget.o: widget.c xterm.h frame.h dispextern.h widgetprv.h \
window.o: window.c indent.h commands.h frame.h window.h buffer.h termchar.h \
disptab.h keyboard.h dispextern.h msdos.h composite.h \
keymap.h blockinput.h atimer.h systime.h $(INTERVAL_SRC) \
xterm.h w32term.h macterm.h macgui.h nsterm.h $(config_h)
xterm.h w32term.h nsterm.h $(config_h)
xdisp.o: xdisp.c macros.h commands.h process.h indent.h buffer.h dispextern.h \
coding.h termchar.h frame.h window.h disptab.h termhooks.h character.h \
charset.h $(config_h) keyboard.h $(INTERVAL_SRC) region-cache.h xterm.h \
w32term.h macterm.h macgui.h nsterm.h msdos.h composite.h fontset.h \
w32term.h nsterm.h msdos.h composite.h fontset.h \
blockinput.h atimer.h systime.h keymap.h font.h
xfaces.o: xfaces.c dispextern.h frame.h xterm.h buffer.h blockinput.h \
window.h character.h charset.h msdos.h dosfns.h composite.h atimer.h \
systime.h keyboard.h fontset.h w32term.h macterm.h macgui.h nsterm.h \
systime.h keyboard.h fontset.h w32term.h nsterm.h \
$(INTERVAL_SRC) termchar.h termhooks.h font.h $(config_h)
xfns.o: xfns.c buffer.h frame.h window.h keyboard.h xterm.h dispextern.h \
$(srcdir)/../lwlib/lwlib.h blockinput.h atimer.h systime.h epaths.h \
@ -1252,53 +1245,6 @@ composite.o: composite.c buffer.h character.h $(INTERVAL_SRC) $(config_h)
OTHER_FILES and OBJECTS_MACHINE
select which of these should be compiled. */
#ifdef HAVE_CARBON
buffer.o callint.o cmds.o dispnew.o editfns.o fileio.o frame.o \
fontset.o indent.o insdel.o keyboard.o macros.o minibuf.o msdos.o process.o \
scroll.o sysdep.o term.o terminal.o widget.o window.o xdisp.o xfaces.o xfns.o xmenu.o \
xterm.o xselect.o sound.o: macgui.h
mac.o: mac.c process.h sysselect.h blockinput.h atimer.h systime.h charset.h \
coding.h ccl.h $(config_h)
macfns.o: macfns.c charset.h macterm.h macgui.h frame.h window.h buffer.h \
dispextern.h macgui.h fontset.h $(INTERVAL_SRC) keyboard.h blockinput.h \
atimer.h systime.h epaths.h termhooks.h coding.h $(config_h)
macmenu.o: macmenu.c termhooks.h frame.h window.h dispextern.h macgui.h \
keyboard.h blockinput.h atimer.h systime.h buffer.h macterm.h $(config_h)
macterm.o: blockinput.h atimer.h systime.h syssignal.h macterm.h macgui.h \
frame.h charset.h ccl.h dispextern.h fontset.h termhooks.h termopts.h \
termchar.h disptab.h buffer.h window.h keyboard.h $(INTERVAL_SRC) \
process.h coding.h $(config_h)
macselect.o: blockinput.h atimer.h systime.h macterm.h macgui.h frame.h \
keymap.h $(config_h)
mactoolbox.o: blockinput.h atimer.h systime.h macterm.h macgui.h frame.h \
charset.h coding.h ccl.h dispextern.h fontset.h termhooks.h buffer.h \
window.h keyboard.h $(config_h)
${emacsapp}Contents/Resources/English.lproj:
mkdir -p $@
ifneq (${emacsapp},${emacsappsrc})
${emacsapp}Contents/Info.plist: ${emacsappsrc}Contents/Info.plist
cp $< $@
${emacsapp}Contents/PkgInfo: ${emacsappsrc}Contents/PkgInfo
cp $< $@
${emacsapp}Contents/Resources/Emacs.icns: ${emacsappsrc}Contents/Resources/Emacs.icns
mkdir -p ${emacsapp}Contents/Resources
cp $< $@
${emacsapp}Contents/Resources/English.lproj/InfoPlist.strings: ${emacsappsrc}Contents/Resources/English.lproj/InfoPlist.strings
cp $< $@
endif
macosx-bundle: ${emacsapp}Contents/Resources/English.lproj \
${emacsapp}Contents/Info.plist ${emacsapp}Contents/PkgInfo \
${emacsapp}Contents/Resources/Emacs.icns \
${emacsapp}Contents/Resources/English.lproj/InfoPlist.strings
macosx-app: macosx-bundle ${emacsapp}Contents/MacOS/Emacs
${emacsapp}Contents/MacOS/Emacs: emacs${EXEEXT}
mkdir -p ${emacsapp}Contents/MacOS/;
cd ${emacsapp}Contents/MacOS/; cp ../../../../src/emacs${EXEEXT} Emacs${EXEEXT}
#endif /* HAVE_CARBON */
#ifdef HAVE_NS
buffer.o callint.o cmds.o dispnew.o editfns.o fileio.o frame.o \
fontset.o indent.o insdel.o keyboard.o macros.o minibuf.o msdos.o process.o \

View file

@ -368,9 +368,7 @@ run_timers ()
t = atimers;
atimers = atimers->next;
#ifndef MAC_OSX
t->fn (t);
#endif
if (t->type == ATIMER_CONTINUOUS)
{
@ -382,10 +380,6 @@ run_timers ()
t->next = free_atimers;
free_atimers = t;
}
#ifdef MAC_OSX
/* Fix for Ctrl-G. Perhaps this should apply to all platforms. */
t->fn (t);
#endif
EMACS_GET_TIME (now);
}

View file

@ -92,9 +92,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if ALSA is available. */
#undef HAVE_ALSA
/* Define to 1 if you have the <AvailabilityMacros.h> header file. */
#undef HAVE_AVAILABILITYMACROS_H
/* Define to 1 if you have the `bcmp' function. */
#undef HAVE_BCMP
@ -104,9 +101,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `bzero' function. */
#undef HAVE_BZERO
/* Define to 1 if you are using the Carbon API on Mac OS X. */
#undef HAVE_CARBON
/* Define to 1 if you have the `cbrt' function. */
#undef HAVE_CBRT
@ -980,7 +974,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* If we're using X11/Carbon/GNUstep, define some consequences. */
#if defined HAVE_X_WINDOWS || defined(HAVE_CARBON) || defined(HAVE_NS)
#if defined(HAVE_X_WINDOWS) || defined(HAVE_NS)
#define HAVE_WINDOW_SYSTEM
#define MULTI_KBOARD
#define HAVE_MOUSE
@ -997,10 +991,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define CANNOT_DUMP
#endif
/* TODO: These are used for the Carbon port only. */
#undef MAC_OS
#undef MAC_OSX
/* Define AMPERSAND_FULL_NAME if you use the convention
that & in the full name stands for the login id. */
/* Turned on June 1996 supposing nobody will mind it. */
@ -1044,7 +1034,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* 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
side does this in s/darwin.h and we cannot
parallel this exactly since GNUstep is multi-OS. */
#ifdef HAVE_NS
# ifdef C_SWITCH_SYSTEM

View file

@ -61,14 +61,6 @@ typedef XImage *XImagePtr;
typedef HDC XImagePtr_or_DC;
#endif
#ifdef MAC_OS
#include "macgui.h"
typedef struct mac_display_info Display_Info;
/* Mac equivalent of XImage. */
typedef Pixmap XImagePtr;
typedef XImagePtr XImagePtr_or_DC;
#endif
#ifdef HAVE_NS
#include "nsgui.h"
/* following typedef needed to accomodate the MSDOS port, believe it or not */
@ -1220,7 +1212,7 @@ struct glyph_string
unsigned padding_p : 1;
/* The GC to use for drawing this glyph string. */
#if defined(HAVE_X_WINDOWS) || defined(MAC_OS)
#if defined(HAVE_X_WINDOWS)
GC gc;
#endif
#if defined(HAVE_NTGUI)
@ -2814,10 +2806,6 @@ void compute_fringe_widths P_ ((struct frame *, int));
void w32_init_fringe P_ ((struct redisplay_interface *));
void w32_reset_fringes P_ ((void));
#endif
#ifdef MAC_OS
void mac_init_fringe P_ ((struct redisplay_interface *));
#endif
/* Defined in image.c */
#ifdef HAVE_WINDOW_SYSTEM
@ -2923,9 +2911,6 @@ void gamma_correct P_ ((struct frame *, XColor *));
#ifdef WINDOWSNT
void gamma_correct P_ ((struct frame *, COLORREF *));
#endif
#ifdef MAC_OS
void gamma_correct P_ ((struct frame *, unsigned long *));
#endif
#ifdef HAVE_WINDOW_SYSTEM

View file

@ -59,10 +59,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "w32term.h"
#endif /* HAVE_NTGUI */
#ifdef MAC_OS
#include "macterm.h"
#endif /* MAC_OS */
#ifdef HAVE_NS
#include "nsterm.h"
#endif
@ -6887,16 +6883,6 @@ init_display ()
}
#endif /* HAVE_NTGUI */
#ifdef MAC_OS
if (!inhibit_window_system)
{
Vinitial_window_system = intern ("mac");
Vwindow_system_version = make_number (1);
adjust_frame_glyphs_initially ();
return;
}
#endif /* MAC_OS */
#ifdef HAVE_NS
if (!inhibit_window_system
#ifndef CANNOT_DUMP

View file

@ -351,8 +351,8 @@ int fatal_error_in_progress;
void (*fatal_error_signal_hook) P_ ((void));
#ifdef FORWARD_SIGNAL_TO_MAIN_THREAD
/* When compiled with GTK and running under Gnome, or Carbon under Mac
OS X, multiple threads may be created. Keep track of our main
/* When compiled with GTK and running under Gnome,
multiple threads may be created. Keep track of our main
thread to make sure signals are delivered to it (see syssignal.h). */
pthread_t main_thread;
@ -837,7 +837,7 @@ main (argc, argv
run_time_remap (argv[0]);
#endif
#if defined (MAC_OSX) || defined (NS_IMPL_COCOA)
#if defined (NS_IMPL_COCOA)
if (!initialized)
unexec_init_emacs_zone ();
#endif
@ -921,19 +921,6 @@ main (argc, argv
}
#endif
#ifdef MAC_OSX
/* Skip process serial number passed in the form -psn_x_y as
command-line argument. The WindowServer adds this option when
Emacs is invoked from the Finder or by the `open' command. In
these cases, the working directory becomes `/', so we change it
to the user's home directory. */
if (argc > skip_args + 1 && strncmp (argv[skip_args+1], "-psn_", 5) == 0)
{
chdir (getenv ("HOME"));
skip_args++;
}
#endif /* MAC_OSX */
#ifdef VMS
/* If -map specified, map the data file in. */
{
@ -1284,27 +1271,6 @@ main (argc, argv
CANNOT_DUMP is defined. */
syms_of_keyboard ();
#ifdef MAC_OS8
/* init_window_once calls make_terminal_frame which on Mac OS
creates a full-fledge output_mac type frame. This does not
work correctly before syms_of_textprop, syms_of_macfns,
syms_of_ccl, syms_of_fontset, syms_of_xterm, syms_of_search,
syms_of_frame, mac_term_init, and init_keyboard have already
been called. */
syms_of_textprop ();
syms_of_macfns ();
syms_of_ccl ();
syms_of_fontset ();
syms_of_macterm ();
syms_of_macmenu ();
syms_of_macselect ();
syms_of_search ();
syms_of_frame ();
init_atimer ();
mac_term_init (build_string ("Mac"), NULL, NULL);
init_keyboard ();
#endif
/* Called before syms_of_fileio, because it sets up Qerror_condition. */
syms_of_data ();
syms_of_fileio ();
@ -1508,11 +1474,6 @@ main (argc, argv
init_ntproc (); /* must precede init_editfns. */
#endif
#if defined (MAC_OSX) && defined (HAVE_CARBON)
if (initialized)
init_mac_osx_environment ();
#endif
#ifdef HAVE_NS
#ifndef CANNOT_DUMP
if (initialized)
@ -1558,7 +1519,6 @@ main (argc, argv
/* The basic levels of Lisp must come first. */
/* And data must come first of all
for the sake of symbols like error-message. */
/* Called before init_window_once for Mac OS Classic. */
syms_of_data ();
syms_of_chartab ();
syms_of_lread ();
@ -1641,14 +1601,6 @@ main (argc, argv
syms_of_fontset ();
#endif /* HAVE_NTGUI */
#if defined (MAC_OSX) && defined (HAVE_CARBON)
syms_of_macterm ();
syms_of_macfns ();
syms_of_macmenu ();
syms_of_macselect ();
syms_of_fontset ();
#endif /* MAC_OSX && HAVE_CARBON */
#ifdef HAVE_NS
syms_of_nsterm ();
syms_of_nsfns ();

View file

@ -6087,7 +6087,7 @@ The return value is only relevant for a call to `read-file-name' that happens
before any other event (mouse or keypress) is handeled. */)
()
{
#if defined (USE_MOTIF) || defined (HAVE_NTGUI) || defined (USE_GTK) || defined (HAVE_CARBON)
#if defined (USE_MOTIF) || defined (HAVE_NTGUI) || defined (USE_GTK)
if ((NILP (last_nonmenu_event) || CONSP (last_nonmenu_event))
&& use_dialog_box
&& use_file_dialog

View file

@ -25,16 +25,11 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#endif
#include <time.h>
#ifndef MAC_OS
/* On Mac OS, defining this conflicts with precompiled headers. */
/* Note on some machines this defines `vector' as a typedef,
so make sure we don't use that name in this file. */
#undef vector
#define vector *****
#endif /* ! MAC_OSX */
#include "lisp.h"
#include "commands.h"
#include "character.h"

View file

@ -50,10 +50,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "nsterm.h"
#endif /* HAVE_NS */
#ifdef MAC_OS
#include "macterm.h"
#endif /* MAC_OS */
Lisp_Object Qfont_spec, Qfont_entity, Qfont_object;
#ifdef HAVE_NS
@ -5146,9 +5142,6 @@ EMACS_FONT_LOG is set. Otherwise, it is set to t. */);
#ifdef HAVE_NS
syms_of_nsfont ();
#endif /* HAVE_NS */
#ifdef MAC_OS
syms_of_atmfont ();
#endif /* MAC_OS */
#endif /* HAVE_WINDOW_SYSTEM */
}

View file

@ -857,9 +857,6 @@ extern struct font_driver xftfont_driver;
extern struct font_driver w32font_driver;
extern struct font_driver uniscribe_font_driver;
#endif /* WINDOWSNT */
#ifdef MAC_OS
extern struct font_driver atmfont_driver;
#endif /* MAC_OS */
#ifdef HAVE_NS
extern struct font_driver nsfont_driver;
#endif /* HAVE_NS */

View file

@ -50,9 +50,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_NS
#include "nsterm.h"
#endif
#ifdef MAC_OS
#include "macterm.h"
#endif
#include "termhooks.h"
#include "font.h"

View file

@ -29,9 +29,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef WINDOWSNT
#include "w32term.h"
#endif
#ifdef MAC_OS
#include "macterm.h"
#endif
#ifdef HAVE_NS
#include "nsterm.h"
#endif
@ -206,7 +203,6 @@ DEFUN ("framep", Fframep, Sframep, 1, 1, 0,
Value is t for a termcap frame (a character-only terminal),
`x' for an Emacs frame that is really an X window,
`w32' for an Emacs frame that is a window on MS-Windows display,
`mac' for an Emacs frame on a Macintosh Carbon display,
`ns' for an Emacs frame on a GNUstep or Macintosh Cocoa display,
`pc' for a direct-write MS-DOS frame.
See also `frame-live-p'. */)
@ -702,17 +698,10 @@ affects all frames on the same terminal device. */)
abort ();
#else /* not MSDOS */
#if 0
/* This can happen for multi-tty when using both terminal frames and
Carbon frames. */
if (sf->output_method != output_mac)
error ("Not running on a Macintosh screen; cannot make a new Macintosh frame");
#else
#if 0 /* This should work now! */
if (sf->output_method != output_termcap)
error ("Not using an ASCII terminal now; cannot make a new ASCII frame");
#endif
#endif
#endif /* not MSDOS */
{
@ -1470,10 +1459,6 @@ But FORCE inhibits this too. */)
if (FRAME_X_P (f))
x_clear_frame_selections (f);
#endif
#ifdef MAC_OS
if (FRAME_MAC_P (f))
x_clear_frame_selections (f);
#endif
/* Free glyphs.
This function must be called before the window tree of the
@ -4500,7 +4485,7 @@ Setting this variable does not affect existing frames, only new ones. */);
DEFVAR_LISP ("default-frame-scroll-bars", &Vdefault_frame_scroll_bars,
doc: /* Default position of scroll bars on this window-system. */);
#ifdef HAVE_WINDOW_SYSTEM
#if defined(HAVE_NTGUI) || defined(MAC_OS) || defined(NS_IMPL_COCOA)
#if defined(HAVE_NTGUI) || defined(NS_IMPL_COCOA)
/* MS-Windows and Mac OS X have scroll bars on the right by default. */
Vdefault_frame_scroll_bars = Qright;
#else
@ -4567,7 +4552,7 @@ You should set this variable to tell Emacs how your window manager
handles focus, since there is no way in general for Emacs to find out
automatically. */);
#ifdef HAVE_WINDOW_SYSTEM
#if defined(HAVE_NTGUI) || defined(MAC_OS) || defined(HAVE_NS)
#if defined(HAVE_NTGUI) || defined(HAVE_NS)
focus_follows_mouse = 0;
#else
focus_follows_mouse = 1;

View file

@ -245,7 +245,7 @@ struct frame
auto-resize-tool-bar is set to grow-only. */
unsigned minimize_tool_bar_window_p : 1;
#if defined (USE_GTK) || defined (HAVE_NS) || defined (MAC_OS)
#if defined (USE_GTK) || defined (HAVE_NS)
/* Nonzero means using a tool bar that comes from the toolkit. */
int external_tool_bar;
#endif
@ -334,7 +334,6 @@ struct frame
struct tty_output *tty; /* termchar.h */
struct x_output *x; /* xterm.h */
struct w32_output *w32; /* w32term.h */
struct mac_output *mac; /* macterm.h */
struct ns_output *ns; /* nsterm.h */
EMACS_INT nothing;
}
@ -362,7 +361,7 @@ struct frame
/* Number of lines of menu bar. */
int menu_bar_lines;
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS) || defined (USE_GTK)
/* Nonzero means using a menu bar that comes from the X toolkit. */
unsigned int external_menu_bar : 1;
@ -534,9 +533,6 @@ typedef struct frame *FRAME_PTR;
#ifdef HAVE_NTGUI
#define FRAME_WINDOW_P(f) FRAME_W32_P (f)
#endif
#ifdef MAC_OS
#define FRAME_WINDOW_P(f) FRAME_MAC_P (f)
#endif
#ifdef HAVE_NS
#define FRAME_WINDOW_P(f) FRAME_NS_P(f)
#endif
@ -578,7 +574,7 @@ typedef struct frame *FRAME_PTR;
/* Nonzero if this frame should display a tool bar
in a way that does not use any text lines. */
#if defined (USE_GTK) || defined (HAVE_NS) || defined (MAC_OS)
#if defined (USE_GTK) || defined (HAVE_NS)
#define FRAME_EXTERNAL_TOOL_BAR(f) (f)->external_tool_bar
#else
#define FRAME_EXTERNAL_TOOL_BAR(f) 0
@ -596,7 +592,7 @@ typedef struct frame *FRAME_PTR;
/* Nonzero if this frame should display a menu bar
in a way that does not use any text lines. */
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS) || defined (USE_GTK)
#define FRAME_EXTERNAL_MENU_BAR(f) (f)->external_menu_bar
#else

View file

@ -1374,15 +1374,6 @@ init_fringe_bitmap (which, fb, once_p)
}
#endif /* HAVE_X_WINDOWS */
#if defined (MAC_OS) && defined (WORDS_BIG_ENDIAN)
unsigned short *bits = fb->bits;
int j;
for (j = 0; j < fb->height; j++)
{
unsigned short b = *bits;
*bits++ = ((b >> 8) & 0xff) | ((b & 0xff) << 8);
}
#endif /* MAC_OS && WORDS_BIG_ENDIAN */
}
if (!once_p)
@ -1696,15 +1687,10 @@ init_fringe ()
}
}
#if defined (HAVE_NTGUI) || defined (MAC_OS)
#ifdef HAVE_NTGUI
void
#ifdef HAVE_NTGUI
w32_init_fringe (rif)
#else /* MAC_OS */
mac_init_fringe (rif)
#endif
struct redisplay_interface *rif;
w32_init_fringe (struct redisplay_interface *rif)
{
int bt;
@ -1717,9 +1703,7 @@ mac_init_fringe (rif)
rif->define_fringe_bitmap (bt, fb->bits, fb->height, fb->width);
}
}
#endif
#ifdef HAVE_NTGUI
void
w32_reset_fringes ()
{

File diff suppressed because it is too large Load diff

View file

@ -76,10 +76,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include "w32term.h"
#endif /* HAVE_NTGUI */
#ifdef MAC_OS
#include "macterm.h"
#endif
#ifdef HAVE_NS
#include "nsterm.h"
#endif
@ -479,14 +475,11 @@ Lisp_Object Qmouse_fixup_help_message;
/* Symbols to denote kinds of events. */
Lisp_Object Qfunction_key;
Lisp_Object Qmouse_click;
#if defined (WINDOWSNT) || defined (MAC_OS)
#if defined (WINDOWSNT)
Lisp_Object Qlanguage_change;
#endif
Lisp_Object Qdrag_n_drop;
Lisp_Object Qsave_session;
#ifdef MAC_OS
Lisp_Object Qmac_apple_event;
#endif
#ifdef HAVE_DBUS
Lisp_Object Qdbus_event;
#endif
@ -4149,7 +4142,7 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
#endif
}
#if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (HAVE_X11) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS)
else if (event->kind == DELETE_WINDOW_EVENT)
{
@ -4159,7 +4152,7 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
kbd_fetch_ptr = event + 1;
}
#endif
#if defined (HAVE_X11) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (HAVE_X11) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS)
else if (event->kind == ICONIFY_EVENT)
{
@ -4182,7 +4175,7 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
XSETBUFFER (obj, current_buffer);
kbd_fetch_ptr = event + 1;
}
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined(HAVE_NS) || defined (USE_GTK)
else if (event->kind == MENU_BAR_ACTIVATE_EVENT)
{
@ -4192,16 +4185,11 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
x_activate_menubar (XFRAME (event->frame_or_window));
}
#endif
#if defined (WINDOWSNT) || defined (MAC_OS)
#if defined (WINDOWSNT)
else if (event->kind == LANGUAGE_CHANGE_EVENT)
{
#ifdef MAC_OS
/* Make an event (language-change (KEY_SCRIPT)). */
obj = Fcons (make_number (event->code), Qnil);
#else
/* Make an event (language-change (FRAME CHARSET LCID)). */
obj = Fcons (event->frame_or_window, Qnil);
#endif
obj = Fcons (Qlanguage_change, Fcons (obj, Qnil));
kbd_fetch_ptr = event + 1;
}
@ -4292,7 +4280,7 @@ kbd_buffer_get_event (kbp, used_mouse_menu, end_time)
{
obj = make_lispy_event (event);
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined(MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined(HAVE_NS) || defined (USE_GTK)
/* If this was a menu selection, then set the flag to inhibit
writing to last_nonmenu_event. Don't do this if the event
@ -6095,7 +6083,7 @@ make_lispy_event (event)
}
#endif /* HAVE_MOUSE */
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined(HAVE_NS) || defined (USE_GTK)
case MENU_BAR_EVENT:
if (EQ (event->arg, event->frame_or_window))
@ -6134,19 +6122,6 @@ make_lispy_event (event)
case SAVE_SESSION_EVENT:
return Qsave_session;
#ifdef MAC_OS
case MAC_APPLE_EVENT:
{
Lisp_Object spec[2];
spec[0] = event->x;
spec[1] = event->y;
return Fcons (Qmac_apple_event,
Fcons (Fvector (2, spec),
Fcons (event->arg, Qnil)));
}
#endif
#ifdef HAVE_DBUS
case DBUS_EVENT:
{
@ -11767,7 +11742,7 @@ syms_of_keyboard ()
staticpro (&Qfunction_key);
Qmouse_click = intern ("mouse-click");
staticpro (&Qmouse_click);
#if defined (WINDOWSNT) || defined (MAC_OS)
#if defined (WINDOWSNT)
Qlanguage_change = intern ("language-change");
staticpro (&Qlanguage_change);
#endif
@ -11777,11 +11752,6 @@ syms_of_keyboard ()
Qsave_session = intern ("save-session");
staticpro (&Qsave_session);
#ifdef MAC_OS
Qmac_apple_event = intern ("mac-apple-event");
staticpro (&Qmac_apple_event);
#endif
#ifdef HAVE_DBUS
Qdbus_event = intern ("dbus-event");
staticpro (&Qdbus_event);

View file

@ -157,7 +157,7 @@ extern void die P_((const char *, const char *, int)) NO_RETURN;
#endif
/* Let's USE_LSB_TAG on systems where we know malloc returns mult-of-8. */
#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined MAC_OSX || defined(NS_IMPL_COCOA)
#if defined GNU_MALLOC || defined DOUG_LEA_MALLOC || defined __GLIBC__ || defined(NS_IMPL_COCOA)
/* We also need to be able to specify mult-of-8 alignment on static vars. */
# if defined DECL_ALIGN
/* We currently do not support USE_LSB_TAG with a union Lisp_Object. */
@ -3325,28 +3325,8 @@ extern void syms_of_xterm P_ ((void));
EXFUN (Fmsdos_downcase_filename, 1);
#endif
#ifdef MAC_OS
/* Defined in macfns.c */
extern void syms_of_macfns P_ ((void));
/* Defined in macselect.c */
extern void syms_of_macselect P_ ((void));
/* Defined in macterm.c */
extern void syms_of_macterm P_ ((void));
/* Defined in macmenu.c */
extern void syms_of_macmenu P_ ((void));
/* Defined in mac.c */
extern void syms_of_mac P_ ((void));
#ifdef MAC_OSX
extern void init_mac_osx_environment P_ ((void));
#endif /* MAC_OSX */
#endif /* MAC_OS */
#ifdef HAVE_MENUS
/* Defined in (x|mac|w32)fns.c... */
/* Defined in (x|w32)fns.c... */
extern int have_menus_p P_ ((void));
#endif

View file

@ -4095,15 +4095,11 @@ init_lread ()
}
#endif
#if (!(defined(WINDOWSNT) || (defined(HAVE_CARBON)) || (defined(HAVE_NS))))
#if (!(defined(WINDOWSNT) || (defined(HAVE_NS))))
/* When Emacs is invoked over network shares on NT, PATH_LOADSEARCH is
almost never correct, thereby causing a warning to be printed out that
confuses users. Since PATH_LOADSEARCH is always overridden by the
EMACSLOADPATH environment variable below, disable the warning on NT.
Also, when using the "self-contained" option for Carbon Emacs for MacOSX,
the "standard" paths may not exist and would be overridden by
EMACSLOADPATH as on NT. Since this depends on how the executable
was build and packaged, turn off the warnings in general */
EMACSLOADPATH environment variable below, disable the warning on NT. */
/* Warn if dirs in the *standard* path don't exist. */
if (!turn_off_warning)
@ -4125,7 +4121,7 @@ init_lread ()
}
}
}
#endif /* !(WINDOWSNT || HAVE_CARBON || HAVE_NS) */
#endif /* !(WINDOWSNT || HAVE_NS) */
/* If the EMACSLOADPATH environment variable is set, use its value.
This doesn't apply if we're dumping. */

View file

@ -103,7 +103,7 @@ NOTE-END */
#define SEGMENT_MASK ((SEGMENT_SIZE)-1)
#endif
#if defined (MAC_OSX) || defined (DARWIN)
#if defined (DARWIN)
#ifdef _LP64
/* For Intel Mac, with CC='gcc -arch x86_64'. */
#define NO_ARG_ARRAY

5477
src/mac.c

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,496 +0,0 @@
/* Definitions and headers for communication on the Mac OS.
Copyright (C) 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */
/* Contributed by Andrew Choi (akochoi@mac.com). */
#ifndef EMACS_MACGUI_H
#define EMACS_MACGUI_H
typedef struct _XDisplay Display; /* opaque */
typedef Lisp_Object XrmDatabase;
typedef unsigned long Time;
#ifdef HAVE_CARBON
#undef Z
#ifdef MAC_OSX
#if ! HAVE_MKTIME || BROKEN_MKTIME
#undef mktime
#endif
#undef DEBUG
#undef free
#undef malloc
#undef realloc
/* Macros max and min defined in lisp.h conflict with those in
precompiled header Carbon.h. */
#undef max
#undef min
#undef init_process
#include <Carbon/Carbon.h>
#if ! HAVE_MKTIME || BROKEN_MKTIME
#undef mktime
#define mktime emacs_mktime
#endif
#undef free
#define free unexec_free
#undef malloc
#define malloc unexec_malloc
#undef realloc
#define realloc unexec_realloc
#undef min
#define min(a, b) ((a) < (b) ? (a) : (b))
#undef max
#define max(a, b) ((a) > (b) ? (a) : (b))
#undef init_process
#define init_process emacs_init_process
#undef INFINITY
#else /* not MAC_OSX */
#undef SIGHUP
#define OLDP2C 1
#include <Carbon.h>
#endif /* not MAC_OSX */
#undef Z
#define Z (current_buffer->text->z)
#else /* not HAVE_CARBON */
#include <Quickdraw.h> /* for WindowRef */
#include <QDOffscreen.h> /* for GWorldPtr */
#include <Appearance.h> /* for ThemeCursor */
#include <Windows.h>
#include <Controls.h>
#include <Gestalt.h>
#endif /* not HAVE_CARBON */
/* Whether to use ATSUI (Apple Type Services for Unicode Imaging) for
text drawing. */
#if 0 /* Don't enable by default on the emacs-unicode-2 branch. */
#ifndef USE_ATSUI
#ifdef MAC_OSX
#define USE_ATSUI 1
#endif
#endif
#endif
/* Whether to use low-level Quartz 2D (aka Core Graphics) text drawing
in preference to ATSUI for ASCII and Latin-1 characters. */
#ifndef USE_CG_TEXT_DRAWING
#if USE_ATSUI && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
#define USE_CG_TEXT_DRAWING 1
#endif
#endif
/* Whether to use Quartz 2D routines for drawing operations other than
texts. */
#ifndef USE_CG_DRAWING
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
#define USE_CG_DRAWING 1
#endif
#endif
/* Whether to use the standard Font Panel floating dialog. */
#ifndef USE_MAC_FONT_PANEL
#if USE_ATSUI && MAC_OS_X_VERSION_MAX_ALLOWED >= 1020
#define USE_MAC_FONT_PANEL 1
#endif
#endif
/* Whether to use Text Services Manager. */
#ifndef USE_MAC_TSM
#if TARGET_API_MAC_CARBON
#define USE_MAC_TSM 1
#endif
#endif
/* Whether to use HIToolbar. */
#ifndef USE_MAC_TOOLBAR
#if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030 && MAC_OS_X_VERSION_MIN_REQUIRED != 1020
#define USE_MAC_TOOLBAR 1
#endif
#endif
#ifndef CGFLOAT_DEFINED
typedef float CGFloat;
#endif
typedef WindowRef Window;
#if TARGET_API_MAC_CARBON
typedef ScrapRef Selection;
#else
typedef int Selection;
#endif
#define mac_set_window_title SetWindowTitleWithCFString
#define mac_set_window_modified SetWindowModified
#define mac_is_window_visible IsWindowVisible
#define mac_is_window_collapsed IsWindowCollapsed
#define mac_bring_window_to_front BringToFront
#define mac_send_window_behind SendBehind
#define mac_hide_window HideWindow
#define mac_show_window ShowWindow
#define mac_collapse_window CollapseWindow
#define mac_front_non_floating_window FrontNonFloatingWindow
#define mac_active_non_floating_window ActiveNonFloatingWindow
#define mac_activate_window ActivateWindow
#define mac_move_window_structure MoveWindowStructure
#define mac_move_window MoveWindow
#define mac_size_window SizeWindow
#define mac_get_global_mouse GetGlobalMouse
#define mac_is_window_toolbar_visible IsWindowToolbarVisible
#define mac_rect_make(f, x, y, w, h) CGRectMake (x, y, w, h)
#if USE_MAC_IMAGE_IO
typedef struct _XImage
{
int width, height; /* size of image */
char *data; /* pointer to image data */
int bytes_per_line; /* accelarator to next line */
int bits_per_pixel; /* bits per pixel (ZPixmap) */
} *Pixmap;
#else
typedef GWorldPtr Pixmap;
#endif
#define Cursor ThemeCursor
#define No_Cursor (-1)
#define FACE_DEFAULT (~0)
#if !TARGET_API_MAC_CARBON
#define GetPixDepth(pmh) ((*(pmh))->pixelSize)
#endif
/* Emulate XCharStruct. */
/* If the sum of ascent and descent is negative, that means some
special status specified by enum pcm_status. */
typedef struct _XCharStruct
{
short lbearing; /* origin to left edge of raster */
short rbearing; /* origin to right edge of raster */
short width; /* advance to next char's origin */
short ascent; /* baseline to top edge of raster */
short descent; /* baseline to bottom edge of raster */
#if 0
unsigned short attributes; /* per char flags (not predefined) */
#endif
} XCharStruct;
enum pcm_status
{
PCM_VALID = 0, /* pcm data is valid */
PCM_INVALID = -1, /* pcm data is invalid */
};
#define STORE_XCHARSTRUCT(xcs, w, bds) \
((xcs).width = (w), \
(xcs).lbearing = (bds).left, \
(xcs).rbearing = (bds).right, \
(xcs).ascent = -(bds).top, \
(xcs).descent = (bds).bottom)
struct MacFontStruct {
char *full_name;
short mac_fontnum; /* font number of font used in this window */
int mac_fontsize; /* size of font */
short mac_fontface; /* plain, bold, italics, etc. */
#if TARGET_API_MAC_CARBON
int mac_scriptcode; /* Mac OS script code for font used */
#else
short mac_scriptcode; /* Mac OS script code for font used */
#endif
#if USE_ATSUI
ATSUStyle mac_style; /* NULL if QuickDraw Text is used */
#if USE_CG_TEXT_DRAWING
CGFontRef cg_font; /* NULL if ATSUI text drawing is used */
CGGlyph *cg_glyphs; /* Likewise */
#endif
#endif
/* from Xlib.h */
#if 0
XExtData *ext_data; /* hook for extension to hang data */
Font fid; /* Font id for this font */
unsigned direction; /* hint about the direction font is painted */
#endif /* 0 */
unsigned min_char_or_byte2;/* first character */
unsigned max_char_or_byte2;/* last character */
unsigned min_byte1; /* first row that exists */
unsigned max_byte1; /* last row that exists */
#if 0
Bool all_chars_exist; /* flag if all characters have nonzero size */
unsigned default_char; /* char to print for undefined character */
int n_properties; /* how many properties there are */
XFontProp *properties; /* pointer to array of additional properties */
#endif /* 0 */
XCharStruct min_bounds; /* minimum bounds over all existing char */
XCharStruct max_bounds; /* maximum bounds over all existing char */
union {
XCharStruct *per_char; /* first_char to last_char information */
XCharStruct **rows; /* first row to last row information */
} bounds;
int ascent; /* logical extent above baseline for spacing */
int descent; /* logical decent below baseline for spacing */
};
typedef struct MacFontStruct MacFontStruct;
typedef struct MacFontStruct XFontStruct;
/* Structure borrowed from Xlib.h to represent two-byte characters. */
typedef struct {
unsigned char byte1;
unsigned char byte2;
} XChar2b;
#define STORE_XCHAR2B(chp, b1, b2) \
((chp)->byte1 = (b1), (chp)->byte2 = (b2))
#define XCHAR2B_BYTE1(chp) \
((chp)->byte1)
#define XCHAR2B_BYTE2(chp) \
((chp)->byte2)
/* Emulate X GC's by keeping color and font info in a structure. */
typedef struct _XGCValues
{
unsigned long foreground;
unsigned long background;
XFontStruct *font;
} XGCValues;
typedef struct _XGC
{
/* Original value. */
XGCValues xgcv;
/* Cached data members follow. */
/* QuickDraw foreground color. */
RGBColor fore_color;
/* QuickDraw background color. */
RGBColor back_color;
#if USE_CG_DRAWING && MAC_OS_X_VERSION_MAX_ALLOWED >= 1030
/* Quartz 2D foreground color. */
CGColorRef cg_fore_color;
/* Quartz 2D background color. */
CGColorRef cg_back_color;
#endif
#define MAX_CLIP_RECTS 2
/* Number of clipping rectangles. */
int n_clip_rects;
/* QuickDraw clipping region. Ignored if n_clip_rects == 0. */
RgnHandle clip_region;
#if defined (MAC_OSX) && (USE_ATSUI || USE_CG_DRAWING)
/* Clipping rectangles used in Quartz 2D drawing. The y-coordinate
is in QuickDraw's. */
CGRect clip_rects[MAX_CLIP_RECTS];
#endif
} *GC;
#define GCForeground (1L<<2)
#define GCBackground (1L<<3)
#define GCFont (1L<<14)
#define GCGraphicsExposures 0
/* Bit Gravity */
#define ForgetGravity 0
#define NorthWestGravity 1
#define NorthGravity 2
#define NorthEastGravity 3
#define WestGravity 4
#define CenterGravity 5
#define EastGravity 6
#define SouthWestGravity 7
#define SouthGravity 8
#define SouthEastGravity 9
#define StaticGravity 10
#define NoValue 0x0000
#define XValue 0x0001
#define YValue 0x0002
#define WidthValue 0x0004
#define HeightValue 0x0008
#define AllValues 0x000F
#define XNegative 0x0010
#define YNegative 0x0020
typedef struct {
long flags; /* marks which fields in this structure are defined */
#if 0
int x, y; /* obsolete for new window mgrs, but clients */
int width, height; /* should set so old wm's don't mess up */
#endif
int min_width, min_height;
#if 0
int max_width, max_height;
#endif
int width_inc, height_inc;
#if 0
struct {
int x; /* numerator */
int y; /* denominator */
} min_aspect, max_aspect;
#endif
int base_width, base_height; /* added by ICCCM version 1 */
#if 0
int win_gravity; /* added by ICCCM version 1 */
#endif
} XSizeHints;
#define USPosition (1L << 0) /* user specified x, y */
#define USSize (1L << 1) /* user specified width, height */
#define PPosition (1L << 2) /* program specified position */
#define PSize (1L << 3) /* program specified size */
#define PMinSize (1L << 4) /* program specified minimum size */
#define PMaxSize (1L << 5) /* program specified maximum size */
#define PResizeInc (1L << 6) /* program specified resize increments */
#define PAspect (1L << 7) /* program specified min and max aspect ratios */
#define PBaseSize (1L << 8) /* program specified base for incrementing */
#define PWinGravity (1L << 9) /* program specified window gravity */
typedef struct {
int x, y;
unsigned width, height;
} XRectangle;
#define NativeRectangle Rect
#define CONVERT_TO_XRECT(xr,nr) \
((xr).x = (nr).left, \
(xr).y = (nr).top, \
(xr).width = ((nr).right - (nr).left), \
(xr).height = ((nr).bottom - (nr).top))
#define CONVERT_FROM_XRECT(xr,nr) \
((nr).left = (xr).x, \
(nr).top = (xr).y, \
(nr).right = ((xr).x + (xr).width), \
(nr).bottom = ((xr).y + (xr).height))
#define STORE_NATIVE_RECT(nr,x,y,width,height) \
((nr).left = (x), \
(nr).top = (y), \
(nr).right = ((nr).left + (width)), \
(nr).bottom = ((nr).top + (height)))
/* Definitions copied from lwlib.h */
typedef void * XtPointer;
enum button_type
{
BUTTON_TYPE_NONE,
BUTTON_TYPE_TOGGLE,
BUTTON_TYPE_RADIO
};
/* This structure is based on the one in ../lwlib/lwlib.h, modified
for Mac OS. */
typedef struct _widget_value
{
/* name of widget */
Lisp_Object lname;
char* name;
/* value (meaning depend on widget type) */
char* value;
/* keyboard equivalent. no implications for XtTranslations */
Lisp_Object lkey;
char* key;
/* Help string or nil if none.
GC finds this string through the frame's menu_bar_vector
or through menu_items. */
Lisp_Object help;
/* true if enabled */
Boolean enabled;
/* true if selected */
Boolean selected;
/* The type of a button. */
enum button_type button_type;
/* true if menu title */
Boolean title;
#if 0
/* true if was edited (maintained by get_value) */
Boolean edited;
/* true if has changed (maintained by lw library) */
change_type change;
/* true if this widget itself has changed,
but not counting the other widgets found in the `next' field. */
change_type this_one_change;
#endif
/* Contents of the sub-widgets, also selected slot for checkbox */
struct _widget_value* contents;
/* data passed to callback */
XtPointer call_data;
/* next one in the list */
struct _widget_value* next;
#if 0
/* slot for the toolkit dependent part. Always initialize to NULL. */
void* toolkit_data;
/* tell us if we should free the toolkit data slot when freeing the
widget_value itself. */
Boolean free_toolkit_data;
/* we resource the widget_value structures; this points to the next
one on the free list if this one has been deallocated.
*/
struct _widget_value *free_list;
#endif
} widget_value;
#if MAC_OS8
#define M_APPLE 234
#define I_ABOUT 1
#define EXTRA_STACK_ALLOC (256 * 1024)
#define ARGV_STRING_LIST_ID 129
#define RAM_TOO_LARGE_ALERT_ID 129
#define ABOUT_ALERT_ID 128
#endif
#define DIALOG_LEFT_MARGIN (112)
#define DIALOG_TOP_MARGIN (24)
#define DIALOG_RIGHT_MARGIN (24)
#define DIALOG_BOTTOM_MARGIN (20)
#define DIALOG_MIN_INNER_WIDTH (338)
#define DIALOG_MAX_INNER_WIDTH (564)
#define DIALOG_BUTTON_BUTTON_HORIZONTAL_SPACE (12)
#define DIALOG_BUTTON_BUTTON_VERTICAL_SPACE (12)
#define DIALOG_BUTTON_MIN_WIDTH (68)
#define DIALOG_TEXT_MIN_HEIGHT (50)
#define DIALOG_TEXT_BUTTONS_VERTICAL_SPACE (10)
#define DIALOG_ICON_WIDTH (64)
#define DIALOG_ICON_HEIGHT (64)
#define DIALOG_ICON_LEFT_MARGIN (24)
#define DIALOG_ICON_TOP_MARGIN (15)
#endif /* EMACS_MACGUI_H */
/* arch-tag: 5a0da49a-35e2-418b-a58c-8a55778ae849
(do not change this comment) */

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,795 +0,0 @@
/* Display module for Mac OS.
Copyright (C) 2000, 2001, 2002, 2003, 2004,
2005, 2006, 2007, 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 of the License, 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. If not, see <http://www.gnu.org/licenses/>. */
/* Contributed by Andrew Choi (akochoi@mac.com). */
#include "macgui.h"
#include "frame.h"
#define RGB_TO_ULONG(r, g, b) (((r) << 16) | ((g) << 8) | (b))
#define ARGB_TO_ULONG(a, r, g, b) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))
#define ALPHA_FROM_ULONG(color) ((color) >> 24)
#define RED_FROM_ULONG(color) (((color) >> 16) & 0xff)
#define GREEN_FROM_ULONG(color) (((color) >> 8) & 0xff)
#define BLUE_FROM_ULONG(color) ((color) & 0xff)
/* Do not change `* 0x101' in the following lines to `<< 8'. If
changed, image masks in 1-bit depth will not work. */
#define RED16_FROM_ULONG(color) (RED_FROM_ULONG(color) * 0x101)
#define GREEN16_FROM_ULONG(color) (GREEN_FROM_ULONG(color) * 0x101)
#define BLUE16_FROM_ULONG(color) (BLUE_FROM_ULONG(color) * 0x101)
#define BLACK_PIX_DEFAULT(f) RGB_TO_ULONG(0,0,0)
#define WHITE_PIX_DEFAULT(f) RGB_TO_ULONG(255,255,255)
#define FONT_WIDTH(f) ((f)->max_bounds.width)
#define FONT_HEIGHT(f) ((f)->ascent + (f)->descent)
#define FONT_BASE(f) ((f)->ascent)
#define FONT_DESCENT(f) ((f)->descent)
/* Structure recording bitmaps and reference count.
If REFCOUNT is 0 then this record is free to be reused. */
struct mac_bitmap_record
{
char *bitmap_data;
char *file;
int refcount;
int height, width;
};
/* For each display (currently only one on mac), we have a structure that
records information about it. */
struct mac_display_info
{
/* Chain of all mac_display_info structures. */
struct mac_display_info *next;
/* The generic display parameters corresponding to this X display. */
struct terminal *terminal;
/* This is a cons cell of the form (NAME . FONT-LIST-CACHE).
The same cons cell also appears in x_display_name_list. */
Lisp_Object name_list_element;
/* Number of frames that are on this display. */
int reference_count;
/* Dots per inch of the screen. */
double resx, resy;
/* Number of planes on this screen. */
int n_planes;
/* Whether the screen supports color */
int color_p;
/* Dimensions of this screen. */
int height, width;
/* Mask of things that cause the mouse to be grabbed. */
int grabbed;
#if 0
/* Emacs bitmap-id of the default icon bitmap for this frame.
Or -1 if none has been allocated yet. */
int icon_bitmap_id;
#endif
/* The root window of this screen. */
Window root_window;
/* The cursor to use for vertical scroll bars. */
Cursor vertical_scroll_bar_cursor;
/* Resource data base */
XrmDatabase xrdb;
/* A table of all the fonts we have already loaded. */
struct font_info *font_table;
/* The current capacity of font_table. */
int font_table_size;
/* Minimum width over all characters in all fonts in font_table. */
int smallest_char_width;
/* Minimum font height over all fonts in font_table. */
int smallest_font_height;
/* Reusable Graphics Context for drawing a cursor in a non-default face. */
GC scratch_cursor_gc;
/* These variables describe the range of text currently shown in its
mouse-face, together with the window they apply to. As long as
the mouse stays within this range, we need not redraw anything on
its account. Rows and columns are glyph matrix positions in
MOUSE_FACE_WINDOW. */
int mouse_face_beg_row, mouse_face_beg_col;
int mouse_face_beg_x, mouse_face_beg_y;
int mouse_face_end_row, mouse_face_end_col;
int mouse_face_end_x, mouse_face_end_y;
int mouse_face_past_end;
Lisp_Object mouse_face_window;
int mouse_face_face_id;
Lisp_Object mouse_face_overlay;
/* 1 if a mouse motion event came and we didn't handle it right away because
gc was in progress. */
int mouse_face_deferred_gc;
/* FRAME and X, Y position of mouse when last checked for
highlighting. X and Y can be negative or out of range for the frame. */
struct frame *mouse_face_mouse_frame;
int mouse_face_mouse_x, mouse_face_mouse_y;
/* Nonzero means defer mouse-motion highlighting. */
int mouse_face_defer;
/* Nonzero means that the mouse highlight should not be shown. */
int mouse_face_hidden;
int mouse_face_image_state;
char *mac_id_name;
/* The number of fonts actually stored in the font table.
font_table[n] is used and valid if 0 <= n < n_fonts. 0 <=
n_fonts <= font_table_size and font_table[i].name != 0. */
int n_fonts;
/* Pointer to bitmap records. */
struct mac_bitmap_record *bitmaps;
/* Allocated size of bitmaps field. */
int bitmaps_size;
/* Last used bitmap index. */
int bitmaps_last;
/* The frame (if any) which has the window that has keyboard focus.
Zero if none. This is examined by Ffocus_frame in macfns.c. Note
that a mere EnterNotify event can set this; if you need to know the
last frame specified in a FocusIn or FocusOut event, use
x_focus_event_frame. */
struct frame *x_focus_frame;
/* The last frame mentioned in a FocusIn or FocusOut event. This is
separate from x_focus_frame, because whether or not LeaveNotify
events cause us to lose focus depends on whether or not we have
received a FocusIn event for it. */
struct frame *x_focus_event_frame;
/* The frame which currently has the visual highlight, and should get
keyboard input (other sorts of input have the frame encoded in the
event). It points to the focus frame's selected window's
frame. It differs from x_focus_frame when we're using a global
minibuffer. */
struct frame *x_highlight_frame;
};
/* This checks to make sure we have a display. */
extern void check_mac P_ ((void));
#define x_display_info mac_display_info
/* This is a chain of structures for all the X displays currently in use. */
extern struct x_display_info *x_display_list;
/* This is a chain of structures for all the displays currently in use. */
extern struct mac_display_info one_mac_display_info;
/* This is a list of cons cells, each of the form (NAME . FONT-LIST-CACHE),
one for each element of x_display_list and in the same order.
NAME is the name of the frame.
FONT-LIST-CACHE records previous values returned by x-list-fonts. */
extern Lisp_Object x_display_name_list;
extern struct x_display_info *x_display_info_for_name P_ ((Lisp_Object));
extern struct mac_display_info *mac_term_init P_ ((Lisp_Object, char *, char *));
extern Lisp_Object x_list_fonts P_ ((struct frame *, Lisp_Object, int, int));
extern struct font_info *x_get_font_info P_ ((struct frame *f, int));
extern struct font_info *x_load_font P_ ((struct frame *, char *, int));
extern struct font_info *x_query_font P_ ((struct frame *, char *));
extern void x_find_ccl_program P_ ((struct font_info *));
/* When Emacs uses a tty window, tty_display in frame.c points to an
x_output struct . */
struct x_output
{
unsigned long background_pixel;
unsigned long foreground_pixel;
};
/* The collection of data describing a window on the Mac. */
struct mac_output
{
/* Placeholder for things accessed through output_data.x. Must
appear first. */
struct x_output x_compatible;
/* Menubar "widget" handle. */
int menubar_widget;
FRAME_PTR mFP; /* points back to the frame struct */
/* Here are the Graphics Contexts for the default font. */
GC normal_gc; /* Normal video */
GC reverse_gc; /* Reverse video */
GC cursor_gc; /* cursor drawing */
/* The window used for this frame.
May be zero while the frame object is being created
and the window has not yet been created. */
Window window_desc;
/* The window that is the parent of this window.
Usually this is a window that was made by the window manager,
but it can be the root window, and it can be explicitly specified
(see the explicit_parent field, below). */
Window parent_desc;
/* Default ASCII font of this frame. */
XFontStruct *font;
/* The baseline offset of the default ASCII font. */
int baseline_offset;
/* If a fontset is specified for this frame instead of font, this
value contains an ID of the fontset, else -1. */
int fontset;
/* Pixel values used for various purposes.
border_pixel may be -1 meaning use a gray tile. */
unsigned long cursor_pixel;
unsigned long border_pixel;
unsigned long mouse_pixel;
unsigned long cursor_foreground_pixel;
#if 0
/* Foreground color for scroll bars. A value of -1 means use the
default (black for non-toolkit scroll bars). */
unsigned long scroll_bar_foreground_pixel;
/* Background color for scroll bars. A value of -1 means use the
default (background color of the frame for non-toolkit scroll
bars). */
unsigned long scroll_bar_background_pixel;
#endif
/* Descriptor for the cursor in use for this window. */
Cursor text_cursor;
Cursor nontext_cursor;
Cursor modeline_cursor;
Cursor hand_cursor;
Cursor hourglass_cursor;
Cursor horizontal_drag_cursor;
#if 0
/* Window whose cursor is hourglass_cursor. This window is temporarily
mapped to display a hourglass-cursor. */
Window hourglass_window;
/* Non-zero means hourglass cursor is currently displayed. */
unsigned hourglass_p : 1;
/* Flag to set when the window needs to be completely repainted. */
int needs_exposure;
#endif
#if TARGET_API_MAC_CARBON
/* The Mac control reference for the hourglass (progress indicator)
shown at the upper-right corner of the window. */
ControlRef hourglass_control;
#endif
/* This is the Emacs structure for the display this frame is on. */
/* struct w32_display_info *display_info; */
/* Nonzero means our parent is another application's window
and was explicitly specified. */
char explicit_parent;
/* Nonzero means tried already to make this frame visible. */
char asked_for_visible;
/* Relief GCs, colors etc. */
struct relief
{
GC gc;
unsigned long pixel;
int allocated_p;
}
black_relief, white_relief;
/* The background for which the above relief GCs were set up.
They are changed only when a different background is involved. */
unsigned long relief_background;
/* Width of the internal border. */
int internal_border_width;
/* Hints for the size and the position of a window. */
XSizeHints *size_hints;
#if USE_MAC_TOOLBAR
/* This variable records the gravity value of the window position if
the window has an external tool bar when it is created. The
position of the window is adjusted using this information when
the tool bar is first redisplayed. Once the tool bar is
redisplayed, it is set to 0 in order to avoid further
adjustment. */
int toolbar_win_gravity;
#endif
#if USE_CG_DRAWING
/* Quartz 2D graphics context. */
CGContextRef cg_context;
#endif
};
typedef struct mac_output mac_output;
/* Return the X output data for frame F. */
#define FRAME_X_OUTPUT(f) ((f)->output_data.mac)
/* Return the Mac window used for displaying data in frame F. */
#define FRAME_MAC_WINDOW(f) ((f)->output_data.mac->window_desc)
#define FRAME_X_WINDOW(f) ((f)->output_data.mac->window_desc)
#define FRAME_FONT(f) ((f)->output_data.mac->font)
#define FRAME_FONTSET(f) ((f)->output_data.mac->fontset)
#define FRAME_BASELINE_OFFSET(f) ((f)->output_data.mac->baseline_offset)
#define FRAME_SIZE_HINTS(f) ((f)->output_data.mac->size_hints)
/* This gives the mac_display_info structure for the display F is on. */
#define FRAME_MAC_DISPLAY_INFO(f) (&one_mac_display_info)
#define FRAME_X_DISPLAY_INFO(f) (&one_mac_display_info)
/* This is the `Display *' which frame F is on. */
#define FRAME_MAC_DISPLAY(f) (0)
#define FRAME_X_DISPLAY(f) (0)
/* This is the 'font_info *' which frame F has. */
#define FRAME_MAC_FONT_TABLE(f) (FRAME_MAC_DISPLAY_INFO (f)->font_table)
/* Value is the smallest width of any character in any font on frame F. */
#define FRAME_SMALLEST_CHAR_WIDTH(F) \
FRAME_MAC_DISPLAY_INFO(F)->smallest_char_width
/* Value is the smallest height of any font on frame F. */
#define FRAME_SMALLEST_FONT_HEIGHT(F) \
FRAME_MAC_DISPLAY_INFO(F)->smallest_font_height
/* Mac-specific scroll bar stuff. */
/* We represent scroll bars as lisp vectors. This allows us to place
references to them in windows without worrying about whether we'll
end up with windows referring to dead scroll bars; the garbage
collector will free it when its time comes.
We use struct scroll_bar as a template for accessing fields of the
vector. */
struct scroll_bar {
/* These fields are shared by all vectors. */
EMACS_INT size_from_Lisp_Vector_struct;
struct Lisp_Vector *next_from_Lisp_Vector_struct;
/* The window we're a scroll bar for. */
Lisp_Object window;
/* The next and previous in the chain of scroll bars in this frame. */
Lisp_Object next, prev;
/* The Mac control reference of this scroll bar. Since this is a
pointer value, we store it split into two Lisp integers. */
Lisp_Object control_ref_low, control_ref_high;
/* The position and size of the scroll bar in pixels, relative to the
frame. */
Lisp_Object top, left, width, height;
/* The starting and ending positions of the handle, relative to the
handle area (i.e. zero is the top position, not
SCROLL_BAR_TOP_BORDER). If they're equal, that means the handle
hasn't been drawn yet.
These are not actually the locations where the beginning and end
are drawn; in order to keep handles from becoming invisible when
editing large files, we establish a minimum height by always
drawing handle bottoms VERTICAL_SCROLL_BAR_MIN_HANDLE pixels below
where they would be normally; the bottom and top are in a
different co-ordinate system. */
Lisp_Object start, end;
/* If the scroll bar handle is currently being dragged by the user,
this is the number of pixels from the top of the handle to the
place where the user grabbed it. If the handle is pressed but
not dragged yet, this is a negative integer whose absolute value
is the number of pixels plus 1. If the handle isn't currently
being dragged, this is Qnil. */
Lisp_Object dragging;
#ifdef MAC_OSX
/* t if the background of the fringe that is adjacent to a scroll
bar is extended to the gap between the fringe and the bar. */
Lisp_Object fringe_extended_p;
#endif
/* t if redraw needed in the next XTset_vertical_scroll_bar call. */
Lisp_Object redraw_needed_p;
#ifdef USE_TOOLKIT_SCROLL_BARS
/* The position and size of the scroll bar handle track area in
pixels, relative to the frame. */
Lisp_Object track_top, track_height;
/* Minimum length of the scroll bar handle, in pixels. */
Lisp_Object min_handle;
#endif
};
/* The number of elements a vector holding a struct scroll_bar needs. */
#define SCROLL_BAR_VEC_SIZE \
((sizeof (struct scroll_bar) \
- sizeof (EMACS_INT) - sizeof (struct Lisp_Vector *)) \
/ sizeof (Lisp_Object))
/* Turning a lisp vector value into a pointer to a struct scroll_bar. */
#define XSCROLL_BAR(vec) ((struct scroll_bar *) XVECTOR (vec))
/* Building a C long integer from two lisp integers. */
#define SCROLL_BAR_PACK(low, high) (XINT (high) << 16 | XINT (low))
/* Setting two lisp integers to two parts of a C unsigned long. */
#define SCROLL_BAR_UNPACK(low, high, ulong) \
(XSETINT ((low), (ulong) & 0xffff), \
XSETINT ((high), (ulong) >> 16))
/* Extract the Mac control handle of the scroll bar from a struct
scroll_bar. */
#define SCROLL_BAR_CONTROL_REF(ptr) \
((ControlRef) SCROLL_BAR_PACK ((ptr)->control_ref_low, \
(ptr)->control_ref_high))
/* Store a Mac control handle in a struct scroll_bar. */
#define SET_SCROLL_BAR_CONTROL_REF(ptr, ref) \
(SCROLL_BAR_UNPACK ((ptr)->control_ref_low, \
(ptr)->control_ref_high, (unsigned long) (ref)))
/* Return the inside width of a vertical scroll bar, given the outside
width. */
#define VERTICAL_SCROLL_BAR_INSIDE_WIDTH(f, width) \
((width) \
- VERTICAL_SCROLL_BAR_LEFT_BORDER \
- VERTICAL_SCROLL_BAR_RIGHT_BORDER \
- VERTICAL_SCROLL_BAR_WIDTH_TRIM * 2)
/* Return the length of the rectangle within which the top of the
handle must stay. This isn't equivalent to the inside height,
because the scroll bar handle has a minimum height.
This is the real range of motion for the scroll bar, so when we're
scaling buffer positions to scroll bar positions, we use this, not
VERTICAL_SCROLL_BAR_INSIDE_HEIGHT. */
#define VERTICAL_SCROLL_BAR_TOP_RANGE(f,height) \
(VERTICAL_SCROLL_BAR_INSIDE_HEIGHT (f, height) \
- VERTICAL_SCROLL_BAR_MIN_HANDLE - UP_AND_DOWN_ARROWS)
/* Return the inside height of vertical scroll bar, given the outside
height. See VERTICAL_SCROLL_BAR_TOP_RANGE too. */
#define VERTICAL_SCROLL_BAR_INSIDE_HEIGHT(f,height) \
((height) - VERTICAL_SCROLL_BAR_TOP_BORDER \
- VERTICAL_SCROLL_BAR_BOTTOM_BORDER)
/* Border widths for scroll bars.
Scroll bar windows don't have any borders; their border width is
set to zero, and we redraw borders ourselves. This makes the code
a bit cleaner, since we don't have to convert between outside width
(used when relating to the rest of the screen) and inside width
(used when sizing and drawing the scroll bar window itself).
The handle moves up and down/back and forth in a rectangle inset
from the edges of the scroll bar. These are widths by which we
inset the handle boundaries from the scroll bar edges. */
#define VERTICAL_SCROLL_BAR_LEFT_BORDER (0)
#define VERTICAL_SCROLL_BAR_RIGHT_BORDER (0)
#define VERTICAL_SCROLL_BAR_TOP_BORDER (0)
#define VERTICAL_SCROLL_BAR_BOTTOM_BORDER (0)
/* Minimum lengths for scroll bar handles, in pixels. */
#define VERTICAL_SCROLL_BAR_MIN_HANDLE (16)
/* Combined length of up and down arrow boxes in scroll bars, in pixels. */
#define UP_AND_DOWN_ARROWS (32)
/* Trimming off a few pixels from each side prevents
text from glomming up against the scroll bar */
#define VERTICAL_SCROLL_BAR_WIDTH_TRIM (0)
/* Variations of possible Aqua scroll bar width. */
#define MAC_AQUA_VERTICAL_SCROLL_BAR_WIDTH (15)
#define MAC_AQUA_SMALL_VERTICAL_SCROLL_BAR_WIDTH (11)
/* Size of hourglass controls */
#define HOURGLASS_WIDTH (15)
#define HOURGLASS_HEIGHT (15)
/* Some constants that are used locally. */
/* Creator code for Emacs on Mac OS. */
enum {
MAC_EMACS_CREATOR_CODE = 'EMAx'
};
/* Apple event descriptor types */
enum {
TYPE_FILE_NAME = 'fNam'
};
/* Keywords for Apple event attributes */
enum {
KEY_EMACS_SUSPENSION_ID_ATTR = 'esId' /* typeUInt32 */
};
/* Carbon event parameter names. */
enum {
EVENT_PARAM_TEXT_INPUT_SEQUENCE_NUMBER = 'tsSn' /* typeUInt32 */
};
/* Some constants that are not defined in older versions. */
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1030
/* Keywords for Apple event attributes */
enum {
keyReplyRequestedAttr = 'repq'
};
#endif
#if 0
/* We can't determine the availability of these enumerators by
MAC_OS_X_VERSION_MAX_ALLOWED, because they are defined in
MacOSX10.3.9.sdk for Mac OS X 10.4, but not in Mac OS X 10.3. */
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1040
/* Gestalt selectors */
enum {
gestaltSystemVersionMajor = 'sys1',
gestaltSystemVersionMinor = 'sys2',
gestaltSystemVersionBugFix = 'sys3'
};
#endif
#endif
#ifdef MAC_OSX
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1020
/* Apple event descriptor types */
enum {
typeUTF8Text = 'utf8'
};
/* Carbon event parameter names */
enum {
kEventParamWindowMouseLocation = 'wmou'
};
#endif
/* kCGBitmapByteOrder32Host is defined in Universal SDK for 10.4 but
not in PPC SDK for 10.4.0. */
#if MAC_OS_X_VERSION_MAX_ALLOWED < 1050 && !defined (kCGBitmapByteOrder32Host)
#define kCGBitmapByteOrder32Host 0
#endif
#endif /* MAC_OSX */
struct frame;
struct face;
struct image;
Lisp_Object display_x_get_resource P_ ((struct x_display_info *,
Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object));
struct frame *check_x_frame P_ ((Lisp_Object));
EXFUN (Fx_display_color_p, 1);
EXFUN (Fx_display_grayscale_p, 1);
EXFUN (Fx_display_planes, 1);
extern void x_free_gcs P_ ((struct frame *));
extern int XParseGeometry P_ ((char *, int *, int *, unsigned int *,
unsigned int *));
/* Defined in macterm.c. */
extern void x_set_window_size P_ ((struct frame *, int, int, int));
extern void x_set_mouse_position P_ ((struct frame *, int, int));
extern void x_set_mouse_pixel_position P_ ((struct frame *, int, int));
extern void x_raise_frame P_ ((struct frame *));
extern void x_lower_frame P_ ((struct frame *));
extern void x_make_frame_visible P_ ((struct frame *));
extern void x_make_frame_invisible P_ ((struct frame *));
extern void x_iconify_frame P_ ((struct frame *));
extern void x_free_frame_resources P_ ((struct frame *));
extern void x_destroy_window P_ ((struct frame *));
extern void x_wm_set_size_hint P_ ((struct frame *, long, int));
extern void x_delete_display P_ ((struct x_display_info *));
extern void mac_initialize P_ ((void));
extern Pixmap XCreatePixmap P_ ((Display *, Window, unsigned int,
unsigned int, unsigned int));
extern Pixmap XCreatePixmapFromBitmapData P_ ((Display *, Window, char *,
unsigned int, unsigned int,
unsigned long, unsigned long,
unsigned int));
extern void XFreePixmap P_ ((Display *, Pixmap));
extern GC XCreateGC P_ ((Display *, void *, unsigned long, XGCValues *));
extern void XFreeGC P_ ((Display *, GC));
extern void XSetForeground P_ ((Display *, GC, unsigned long));
extern void XSetBackground P_ ((Display *, GC, unsigned long));
extern void XDrawLine P_ ((Display *, Pixmap, GC, int, int, int, int));
extern void mac_clear_area P_ ((struct frame *, int, int,
unsigned int, unsigned int));
extern void mac_unload_font P_ ((struct mac_display_info *, XFontStruct *));
extern OSStatus mac_post_mouse_moved_event P_ ((void));
extern int mac_quit_char_key_p P_ ((UInt32, UInt32));
#define FONT_TYPE_FOR_UNIBYTE(font, ch) 0
#define FONT_TYPE_FOR_MULTIBYTE(font, ch) 0
#if USE_MAC_IMAGE_IO
extern CGColorSpaceRef mac_cg_color_space_rgb;
#endif
/* Defined in macselect.c */
extern void x_clear_frame_selections P_ ((struct frame *));
EXFUN (Fx_selection_owner_p, 1);
/* Defined in macfns.c */
extern void x_real_positions P_ ((struct frame *, int *, int *));
extern void x_set_menu_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern int x_pixel_width P_ ((struct frame *));
extern int x_pixel_height P_ ((struct frame *));
extern int x_char_width P_ ((struct frame *));
extern int x_char_height P_ ((struct frame *));
extern void x_sync P_ ((struct frame *));
extern void x_set_tool_bar_lines P_ ((struct frame *, Lisp_Object, Lisp_Object));
extern void mac_update_title_bar P_ ((struct frame *, int));
extern Lisp_Object x_get_focus_frame P_ ((struct frame *));
/* Defined in mac.c. */
extern void mac_clear_font_name_table P_ ((void));
extern Lisp_Object mac_aedesc_to_lisp P_ ((const AEDesc *));
extern OSErr mac_ae_put_lisp P_ ((AEDescList *, UInt32, Lisp_Object));
#if TARGET_API_MAC_CARBON
extern OSErr create_apple_event P_ ((AEEventClass, AEEventID, AppleEvent *));
extern Lisp_Object mac_event_parameters_to_lisp P_ ((EventRef, UInt32,
const EventParamName *,
const EventParamType *));
extern CFStringRef cfstring_create_with_utf8_cstring P_ ((const char *));
extern CFStringRef cfstring_create_with_string P_ ((Lisp_Object));
extern Lisp_Object cfdata_to_lisp P_ ((CFDataRef));
extern Lisp_Object cfstring_to_lisp_nodecode P_ ((CFStringRef));
extern Lisp_Object cfstring_to_lisp P_ ((CFStringRef));
extern Lisp_Object cfnumber_to_lisp P_ ((CFNumberRef));
extern Lisp_Object cfdate_to_lisp P_ ((CFDateRef));
extern Lisp_Object cfboolean_to_lisp P_ ((CFBooleanRef));
extern Lisp_Object cfobject_desc_to_lisp P_ ((CFTypeRef));
extern Lisp_Object cfproperty_list_to_lisp P_ ((CFPropertyListRef, int, int));
extern void mac_wakeup_from_rne P_ ((void));
#endif
extern void xrm_merge_string_database P_ ((XrmDatabase, const char *));
extern Lisp_Object xrm_get_resource P_ ((XrmDatabase, const char *,
const char *));
extern XrmDatabase xrm_get_preference_database P_ ((const char *));
EXFUN (Fmac_get_preference, 4);
/* Defined in mactoolbox.c. */
extern void mac_alert_sound_play P_ ((void));
extern OSStatus install_application_handler P_ ((void));
extern void mac_get_window_bounds P_ ((struct frame *, Rect *, Rect *));
extern Rect *mac_get_frame_bounds P_ ((struct frame *, Rect *));
extern void mac_get_frame_mouse P_ ((struct frame *, Point *));
extern void mac_convert_frame_point_to_global P_ ((struct frame *, int *,
int *));
#if TARGET_API_MAC_CARBON
extern void mac_update_proxy_icon P_ ((struct frame *));
#endif
extern void mac_set_frame_window_background P_ ((struct frame *,
unsigned long));
extern void mac_update_begin P_ ((struct frame *));
extern void mac_update_end P_ ((struct frame *));
extern void mac_frame_up_to_date P_ ((struct frame *));
extern void x_flush P_ ((struct frame *));
extern void mac_create_frame_window P_ ((struct frame *, int));
extern void mac_dispose_frame_window P_ ((struct frame *));
#if USE_CG_DRAWING
extern CGContextRef mac_begin_cg_clip P_ ((struct frame *, GC));
extern void mac_end_cg_clip P_ ((struct frame *));
#endif
extern void mac_begin_clip P_ ((struct frame *, GC));
extern void mac_end_clip P_ ((struct frame *, GC));
extern void mac_create_scroll_bar P_ ((struct scroll_bar *, const Rect *,
Boolean));
extern void mac_dispose_scroll_bar P_ ((struct scroll_bar *));
extern void mac_set_scroll_bar_bounds P_ ((struct scroll_bar *, const Rect *));
extern void mac_redraw_scroll_bar P_ ((struct scroll_bar *));
#ifdef USE_TOOLKIT_SCROLL_BARS
extern void x_set_toolkit_scroll_bar_thumb P_ ((struct scroll_bar *,
int, int, int));
#else
extern void x_scroll_bar_set_handle P_ ((scroll_bar *, int, int, int));
#endif
#if USE_MAC_FONT_PANEL
extern int mac_font_panel_visible_p P_ ((void));
extern OSStatus mac_show_hide_font_panel P_ ((void));
extern OSStatus mac_set_font_info_for_selection P_ ((struct frame *, int, int));
#endif
#ifdef MAC_OSX
extern Boolean mac_run_loop_run_once P_ ((EventTimeout));
#endif
#if USE_MAC_TOOLBAR
extern void update_frame_tool_bar P_ ((FRAME_PTR f));
extern void free_frame_tool_bar P_ ((FRAME_PTR f));
#endif
#if TARGET_API_MAC_CARBON
extern void mac_show_hourglass P_ ((struct frame *));
extern void mac_hide_hourglass P_ ((struct frame *));
extern void mac_reposition_hourglass P_ ((struct frame *));
extern Lisp_Object mac_file_dialog P_ ((Lisp_Object, Lisp_Object, Lisp_Object,
Lisp_Object, Lisp_Object));
#endif
extern void x_activate_menubar P_ ((struct frame *));
extern void free_frame_menubar P_ ((struct frame *));
extern void mac_fill_menubar P_ ((widget_value *, int));
extern void create_and_show_popup_menu P_ ((FRAME_PTR, widget_value *,
int, int, int));
#if TARGET_API_MAC_CARBON
extern void create_and_show_dialog P_ ((FRAME_PTR, widget_value *));
#else
extern int mac_dialog P_ ((widget_value *));
#endif
extern OSStatus mac_get_selection_from_symbol P_ ((Lisp_Object, int,
Selection *));
extern int mac_valid_selection_target_p P_ ((Lisp_Object));
extern OSStatus mac_clear_selection P_ ((Selection *));
extern Lisp_Object mac_get_selection_ownership_info P_ ((Selection));
extern int mac_valid_selection_value_p P_ ((Lisp_Object, Lisp_Object));
extern OSStatus mac_put_selection_value P_ ((Selection, Lisp_Object,
Lisp_Object));
extern int mac_selection_has_target_p P_ ((Selection, Lisp_Object));
extern Lisp_Object mac_get_selection_value P_ ((Selection, Lisp_Object));
extern Lisp_Object mac_get_selection_target_list P_ ((Selection));
#if TARGET_API_MAC_CARBON
extern Lisp_Object mac_dnd_default_known_types P_ ((void));
#endif
/* arch-tag: 6b4ca125-5bef-476d-8ee8-31ed808b7e79
(do not change this comment) */

File diff suppressed because it is too large Load diff

View file

@ -7268,7 +7268,7 @@ init_process ()
}
#endif /* HAVE_SOCKETS */
#if defined (DARWIN) || defined (MAC_OSX)
#if defined (DARWIN)
/* PTYs are broken on Darwin < 6, but are sometimes useful for interactive
processes. As such, we only change the default value. */
if (initialized)

View file

@ -27,14 +27,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* BSD4_3 and BSD4_4 are already defined in sys/param.h */
#define BSD_SYSTEM
/* MAC_OS is used to conditionally compile code common to both MAC_OS8
and MAC_OSX. */
#ifdef MAC_OSX
#ifdef HAVE_CARBON
#define MAC_OS
#endif
#endif
/* SYSTEM_TYPE should indicate the kind of system you are using.
It sets the Lisp variable system-type. */
@ -133,20 +125,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define HAVE_SOCKETS if system supports 4.2-compatible sockets. */
#define HAVE_SOCKETS
/* In Carbon, asynchronous I/O (using SIGIO) can't be used for window
events because they don't come from sockets, even though it works
fine on tty's. */
/* This seems to help in Ctrl-G detection under Cocoa, however at the cost
of some quirks that may or may not bother a given user. */
#if defined (HAVE_CARBON) || defined (COCOA_EXPERIMENTAL_CTRL_G)
#if defined (COCOA_EXPERIMENTAL_CTRL_G)
#define NO_SOCK_SIGIO
#endif
/* Extra initialization calls in main for Mac OS X system type. */
#ifdef HAVE_CARBON
#define SYMS_SYSTEM syms_of_mac()
#endif
/* Definitions for how to dump. Copied from nextstep.h. */
#define UNEXEC unexmacosx.o
@ -158,7 +142,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Definitions for how to compile & link. */
/* Link in the Carbon or AppKit lib. */
/* Link in the AppKit lib. */
#ifdef HAVE_NS
/* PENDING: can this target be specified in a clearer way? */
#define OTHER_FILES ns-app
@ -170,49 +154,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#else /* !HAVE_NS */
#define HEADERPAD_EXTRA 690
/* This is for the Carbon port. Under the NeXTstep port, this is still picked
/* FIXME: Is this needed?
This is for the Carbon port. Under the NeXTstep port, this is still picked
up during preprocessing, but is undone in config.in. */
#define C_SWITCH_SYSTEM -fpascal-strings -DMAC_OSX
#ifdef HAVE_CARBON
/* We need a little extra space, see ../../lisp/loadup.el. */
#define SYSTEM_PURESIZE_EXTRA 30000
/* Link in the Carbon lib. */
#define LIBS_MACGUI -framework Carbon LIBS_IMAGE
#ifdef HAVE_AVAILABILITYMACROS_H
#include <AvailabilityMacros.h>
#endif
/* Tell src/Makefile.in to create files in the Mac OS X application
bundle mac/Emacs.app. */
#define OTHER_FILES macosx-app
/* Whether to use the Image I/O framework for reading images. */
#ifndef USE_MAC_IMAGE_IO
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040 && (MAC_OS_X_VERSION_MIN_REQUIRED >= 1040 || MAC_OS_X_VERSION_MIN_REQUIRED < 1020)
#define USE_MAC_IMAGE_IO 1
#endif
#endif
/* If the Image I/O framework is not used, fall back on QuickTime. */
#if USE_MAC_IMAGE_IO
#define LIBS_IMAGE
#else
#define LIBS_IMAGE -framework QuickTime
#endif
/* Reroute calls to SELECT to the version defined in mac.c to fix the
problem of Emacs requiring an extra return to be typed to start
working when started from the command line. */
#if defined (emacs) || defined (temacs)
#define select sys_select
#endif
#else /* !HAVE_CARBON */
#define LIBS_MACGUI
#endif /* HAVE_CARBON */
#endif /* !HAVE_NS */

View file

@ -3031,15 +3031,6 @@ emacs_close (fd)
int did_retry = 0;
register int rtnval;
#if defined (MAC_OSX) && defined (HAVE_CARBON)
{
extern int mac_try_close_socket P_ ((int));
if (mac_try_close_socket (fd))
return 0;
}
#endif
while ((rtnval = close (fd)) == -1
&& (errno == EINTR))
did_retry = 1;

View file

@ -18,11 +18,11 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_SYS_SELECT_H
#if defined (DARWIN) || defined (MAC_OSX) || defined (NS_IMPL_COCOA)
#if defined (DARWIN) || defined (NS_IMPL_COCOA)
#undef init_process
#endif
#include <sys/select.h>
#if defined (DARWIN) || defined (MAC_OSX) || defined (NS_IMPL_COCOA)
#if defined (DARWIN) || defined (NS_IMPL_COCOA)
#define init_process emacs_init_process
#endif
#endif

View file

@ -19,7 +19,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
extern void init_signals P_ ((void));
#if defined (HAVE_GTK_AND_PTHREAD) || (defined (HAVE_CARBON) && MAC_OS_X_VERSION_MAX_ALLOWED >= 1020)
#if defined (HAVE_GTK_AND_PTHREAD)
#include <pthread.h>
/* If defined, asynchronous signals delivered to a non-main thread are
forwarded to the main thread. */

View file

@ -75,9 +75,6 @@ extern int tgetnum P_ ((char *id));
#ifdef HAVE_X_WINDOWS
#include "xterm.h"
#endif
#ifdef MAC_OS
#include "macterm.h"
#endif
#ifndef O_RDWR
#define O_RDWR 2

View file

@ -144,9 +144,6 @@ find_capability (bp, cap)
return NULL;
}
/* These are already defined in the System framework in Mac OS X and
cause prebinding to fail. */
#ifndef MAC_OSX
int
tgetnum (cap)
char *cap;
@ -180,7 +177,6 @@ tgetstr (cap, area)
return NULL;
return tgetst1 (ptr, area);
}
#endif /* MAC_OSX */
#ifdef IS_EBCDIC_HOST
/* Table, indexed by a character in range 0200 to 0300 with 0200 subtracted,
@ -345,11 +341,7 @@ short ospeed;
int tputs_baud_rate;
#endif
/* Already defined in the System framework in Mac OS X and causes
prebinding to fail. */
#ifndef MAC_OSX
char PC;
#endif /* MAC_OSX */
#ifndef emacs
/* Actual baud rate if positive;
@ -368,9 +360,6 @@ static int speeds[] =
#endif /* not emacs */
/* Already defined in the System framework in Mac OS X and causes
prebinding to fail. */
#ifndef MAC_OSX
void
tputs (str, nlines, outfun)
register char *str;
@ -433,7 +422,6 @@ tputs (str, nlines, outfun)
while (padcount-- > 0)
(*outfun) (PC);
}
#endif /* MAC_OSX */
/* Finding the termcap entry in the termcap data base. */
@ -505,9 +493,6 @@ valid_filename_p (fn)
0 if the data base is accessible but the type NAME is not defined
in it, and some other value otherwise. */
/* Already defined in the System framework in Mac OS X and causes
prebinding to fail. */
#ifndef MAC_OSX
int
tgetent (bp, name)
char *bp, *name;
@ -666,7 +651,6 @@ tgetent (bp, name)
term_entry = bp;
return 1;
}
#endif /* MAC_OSX */
/* Given file open on FD and buffer BUFP,
scan the file from the beginning until a line is found

View file

@ -105,7 +105,7 @@ enum event_kind
HORIZ_WHEEL_EVENT, /* A wheel event generated by a second
horizontal wheel that is present on some
mice. See WHEEL_EVENT. */
#if defined (WINDOWSNT) || defined (MAC_OS)
#if defined (WINDOWSNT)
LANGUAGE_CHANGE_EVENT, /* A LANGUAGE_CHANGE_EVENT is
generated on WINDOWSNT or Mac OS
when the keyboard layout or input
@ -176,16 +176,6 @@ enum event_kind
save yourself before shutdown. */
SAVE_SESSION_EVENT
#ifdef MAC_OS
/* Generated when an Apple event, a HICommand event, or a Services
menu event is received and the corresponding handler is
registered. Members `x' and `y' are for the event class and ID
symbols, respectively. Member `arg' is a Lisp object converted
from the received Apple event. Parameters for non-Apple events
are converted to those in Apple events. */
, MAC_APPLE_EVENT
#endif
#ifdef HAVE_GPM
, GPM_CLICK_EVENT
#endif
@ -317,7 +307,6 @@ extern struct tty_display_info *gpm_tty;
#endif /* CONSP */
struct mac_display_info;
struct ns_display_info;
struct x_display_info;
struct w32_display_info;
@ -369,7 +358,6 @@ struct terminal
struct tty_display_info *tty; /* termchar.h */
struct x_display_info *x; /* xterm.h */
struct w32_display_info *w32; /* w32term.h */
struct mac_display_info *mac; /* macterm.h */
struct ns_display_info *ns; /* nsterm.h */
} display_info;
@ -642,9 +630,6 @@ extern struct terminal *terminal_list;
#ifdef HAVE_NTGUI
#define FRAME_WINDOW_P(f) FRAME_W32_P (f)
#endif
#ifdef MAC_OS
#define FRAME_WINDOW_P(f) FRAME_MAC_P (f)
#endif
#ifndef FRAME_WINDOW_P
#define FRAME_WINDOW_P(f) (0)
#endif

View file

@ -108,9 +108,6 @@ tparam (string, outstring, len, arg0, arg1, arg2, arg3)
return tparam1 (string, outstring, len, NULL, NULL, arg);
}
/* These are already defined in the System framework in Mac OS X and
cause prebinding to fail. */
#ifndef MAC_OSX
char *BC;
char *UP;
@ -128,7 +125,6 @@ tgoto (cm, hpos, vpos)
args[1] = hpos;
return tparam1 (cm, tgoto_buf, 50, UP, BC, args);
}
#endif
static char *
tparam1 (string, outstring, len, up, left, argp)

View file

@ -46,9 +46,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef MSDOS
#include "msdos.h"
#endif
#ifdef MAC_OS
#include "macterm.h"
#endif
#ifdef HAVE_NS
#include "nsterm.h"
#endif

View file

@ -196,9 +196,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef WINDOWSNT
#include "w32term.h"
#endif
#ifdef MAC_OS
#include "macterm.h"
#endif
#ifdef HAVE_NS
#include "nsterm.h"
#endif
@ -211,7 +208,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define INFINITY 10000000
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined(HAVE_NS) || defined (USE_GTK)
extern void set_frame_menubar P_ ((struct frame *f, int, int));
extern int pending_menu_activation;
@ -1760,9 +1757,7 @@ glyph_to_pixel_coords (w, hpos, vpos, frame_x, frame_y)
text, or we can't tell because W's current matrix is not up to
date. */
#ifndef HAVE_CARBON
static
#endif
struct glyph *
x_y_to_hpos_vpos (w, x, y, hpos, vpos, dx, dy, area)
struct window *w;
@ -9603,9 +9598,6 @@ prepare_menu_bars ()
menu_bar_hooks_run = update_menu_bar (f, 0, menu_bar_hooks_run);
#ifdef HAVE_WINDOW_SYSTEM
update_tool_bar (f, 0);
#ifdef MAC_OS
mac_update_title_bar (f, 0);
#endif
#endif
UNGCPRO;
}
@ -9618,9 +9610,6 @@ prepare_menu_bars ()
update_menu_bar (sf, 1, 0);
#ifdef HAVE_WINDOW_SYSTEM
update_tool_bar (sf, 1);
#ifdef MAC_OS
mac_update_title_bar (sf, 1);
#endif
#endif
}
@ -9672,7 +9661,7 @@ update_menu_bar (f, save_match_data, hooks_run)
if (FRAME_WINDOW_P (f)
?
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS) || defined (USE_GTK)
FRAME_EXTERNAL_MENU_BAR (f)
#else
@ -9731,11 +9720,11 @@ update_menu_bar (f, save_match_data, hooks_run)
FRAME_MENU_BAR_ITEMS (f) = menu_bar_items (FRAME_MENU_BAR_ITEMS (f));
/* Redisplay the menu bar in case we changed it. */
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS) || defined (USE_GTK)
if (FRAME_WINDOW_P (f))
{
#if defined (MAC_OS) || defined (HAVE_NS)
#if defined (HAVE_NS)
/* All frames on Mac OS share the same menubar. So only
the selected frame should be allowed to set it. */
if (f == SELECTED_FRAME ())
@ -9746,11 +9735,11 @@ update_menu_bar (f, save_match_data, hooks_run)
/* On a terminal screen, the menu bar is an ordinary screen
line, and this makes it get updated. */
w->update_mode_line = Qt;
#else /* ! (USE_X_TOOLKIT || HAVE_NTGUI || MAC_OS || HAVE_NS || USE_GTK) */
#else /* ! (USE_X_TOOLKIT || HAVE_NTGUI || HAVE_NS || USE_GTK) */
/* In the non-toolkit version, the menu bar is an ordinary screen
line, and this makes it get updated. */
w->update_mode_line = Qt;
#endif /* ! (USE_X_TOOLKIT || HAVE_NTGUI || MAC_OS || HAVE_NS || USE_GTK) */
#endif /* ! (USE_X_TOOLKIT || HAVE_NTGUI || HAVE_NS || USE_GTK) */
unbind_to (count, Qnil);
set_buffer_internal_1 (prev);
@ -11357,7 +11346,7 @@ redisplay_internal (preserve_echo_area)
return;
}
#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (MAC_OS)
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
if (popup_activated ())
return;
#endif
@ -13962,7 +13951,7 @@ redisplay_window (window, just_this_one_p)
if (FRAME_WINDOW_P (f))
{
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) || defined (MAC_OS) \
#if defined (USE_X_TOOLKIT) || defined (HAVE_NTGUI) \
|| defined (HAVE_NS) || defined (USE_GTK)
redisplay_menu_p = FRAME_EXTERNAL_MENU_BAR (f);
#else
@ -17117,10 +17106,6 @@ display_menu_bar (w)
if (FRAME_X_P (f))
return;
#endif
#ifdef MAC_OS
if (FRAME_MAC_P (f))
return;
#endif
#ifdef HAVE_NS
if (FRAME_NS_P (f))
@ -22816,9 +22801,7 @@ cursor_in_mouse_face_p (w)
in 20.x as well, and I think it's too risky to install
so near the release of 21.1. 2001-09-25 gerd. */
#ifndef HAVE_CARBON
static
#endif
int
fast_find_position (w, charpos, hpos, vpos, x, y, stop)
struct window *w;
@ -23530,7 +23513,7 @@ note_mouse_highlight (f, x, y)
struct buffer *b;
/* When a menu is active, don't highlight because this looks odd. */
#if defined (USE_X_TOOLKIT) || defined (USE_GTK) || defined (MAC_OS)
#if defined (USE_X_TOOLKIT) || defined (USE_GTK)
if (popup_activated ())
return;
#endif

View file

@ -238,12 +238,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#define GCGraphicsExposures 0
#endif /* WINDOWSNT */
#ifdef MAC_OS
#include "macterm.h"
#define x_display_info mac_display_info
#define check_x check_mac
#endif /* MAC_OS */
#ifdef HAVE_NS
#include "nsterm.h"
#undef FRAME_X_DISPLAY_INFO
@ -806,35 +800,6 @@ x_free_gc (f, gc)
}
#endif /* HAVE_NS */
#ifdef MAC_OS
/* Mac OS emulation of GCs */
static INLINE GC
x_create_gc (f, mask, xgcv)
struct frame *f;
unsigned long mask;
XGCValues *xgcv;
{
GC gc;
BLOCK_INPUT;
gc = XCreateGC (FRAME_MAC_DISPLAY (f), FRAME_MAC_WINDOW (f), mask, xgcv);
UNBLOCK_INPUT;
IF_DEBUG (++ngcs);
return gc;
}
static INLINE void
x_free_gc (f, gc)
struct frame *f;
GC gc;
{
eassert (interrupt_input_blocked);
IF_DEBUG (xassert (--ngcs >= 0));
XFreeGC (FRAME_MAC_DISPLAY (f), gc);
}
#endif /* MAC_OS */
/* Like strcasecmp/stricmp. Used to compare parts of font names which
are in ISO8859-1. */
@ -909,9 +874,6 @@ init_frame_faces (f)
#ifdef WINDOWSNT
if (!FRAME_WINDOW_P (f) || FRAME_W32_WINDOW (f))
#endif
#ifdef MAC_OS
if (!FRAME_MAC_P (f) || FRAME_MAC_WINDOW (f))
#endif
#ifdef HAVE_NS
if (!FRAME_NS_P (f) || FRAME_NS_WINDOW (f))
#endif
@ -1308,10 +1270,6 @@ defined_color (f, color_name, color_def, alloc)
else if (FRAME_W32_P (f))
return w32_defined_color (f, color_name, color_def, alloc);
#endif
#ifdef MAC_OS
else if (FRAME_MAC_P (f))
return mac_defined_color (f, color_name, color_def, alloc);
#endif
#ifdef HAVE_NS
else if (FRAME_NS_P (f))
return ns_defined_color (f, color_name, color_def, alloc, 1);
@ -1736,14 +1694,7 @@ enum xlfd_swidth
font height, then for weight, then for slant.' This variable can be
set via set-face-font-sort-order. */
#ifdef MAC_OS
static int font_sort_order[4] = {
XLFD_SWIDTH, XLFD_POINT_SIZE, XLFD_WEIGHT, XLFD_SLANT
};
#else
static int font_sort_order[4];
#endif
#ifdef HAVE_WINDOW_SYSTEM
@ -2384,13 +2335,7 @@ lface_fully_specified_p (attrs)
for (i = 1; i < LFACE_VECTOR_SIZE; ++i)
if (i != LFACE_FONT_INDEX && i != LFACE_INHERIT_INDEX)
if ((UNSPECIFIEDP (attrs[i]) || IGNORE_DEFFACE_P (attrs[i]))
#ifdef MAC_OS
/* MAC_TODO: No stipple support on Mac OS yet, this index is
always unspecified. */
&& i != LFACE_STIPPLE_INDEX
#endif
)
if ((UNSPECIFIEDP (attrs[i]) || IGNORE_DEFFACE_P (attrs[i])))
break;
return i == LFACE_VECTOR_SIZE;