summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--runtime/doc/eval.txt7
-rw-r--r--runtime/doc/os_mac.txt5
-rwxr-xr-xsrc/auto/configure79
-rw-r--r--src/config.h.in1
-rw-r--r--src/configure.ac86
-rw-r--r--src/digraph.c4
-rw-r--r--src/edit.c4
-rw-r--r--src/evalfunc.c17
-rw-r--r--src/feature.h8
-rw-r--r--src/fileio.c38
-rw-r--r--src/getchar.c11
-rw-r--r--src/globals.h6
-rw-r--r--src/gui.c4
-rw-r--r--src/gui_mac.c4
-rw-r--r--src/if_python.c20
-rw-r--r--src/if_python3.c21
-rw-r--r--src/if_ruby.c14
-rw-r--r--src/keymap.h2
-rw-r--r--src/macros.h11
-rw-r--r--src/main.c15
-rw-r--r--src/mbyte.c26
-rw-r--r--src/message.c7
-rw-r--r--src/misc1.c11
-rw-r--r--src/misc2.c21
-rw-r--r--src/option.c11
-rw-r--r--src/os_mac.h90
-rw-r--r--src/os_macosx.m8
-rw-r--r--src/os_unix.c11
-rw-r--r--src/proto.h4
-rw-r--r--src/pty.c8
-rw-r--r--src/structs.h15
-rw-r--r--src/term.c4
-rw-r--r--src/termlib.c2
-rw-r--r--src/ui.c4
-rw-r--r--src/undo.c2
-rw-r--r--src/version.c19
-rw-r--r--src/vim.h49
-rw-r--r--src/window.c2
38 files changed, 268 insertions, 383 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 759ad16fc..6dc05a556 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -8877,9 +8877,8 @@ listcmds Compiled with commands for the buffer list |:files|
and the argument list |arglist|.
localmap Compiled with local mappings and abbr. |:map-local|
lua Compiled with Lua interface |Lua|.
-mac Any Macintosh version of Vim, but not all OS X.
-macunix Compiled for OS X, with |mac-darwin-feature|
-osx Compiled for OS X, with or w/o |mac-darwin-feature|
+mac Any Macintosh version of Vim cf. osx
+macunix Synonym for osxdarwin
menu Compiled with support for |:menu|.
mksession Compiled with support for |:mksession|.
modify_fname Compiled with file name modifiers. |filename-modifiers|
@@ -8902,6 +8901,8 @@ netbeans_enabled Compiled with support for |netbeans| and connected.
netbeans_intg Compiled with support for |netbeans|.
num64 Compiled with 64-bit |Number| support.
ole Compiled with OLE automation support for Win32.
+osx Compiled for macOS cf. mac
+osxdarwin Compiled for macOS, with |mac-darwin-feature|
packages Compiled with |packages| support.
path_extra Compiled with up/downwards search in 'path' and 'tags'
perl Compiled with Perl interface.
diff --git a/runtime/doc/os_mac.txt b/runtime/doc/os_mac.txt
index cff87dec2..2a2b07a7a 100644
--- a/runtime/doc/os_mac.txt
+++ b/runtime/doc/os_mac.txt
@@ -164,8 +164,9 @@ If you want to disable it, pass `--disable-darwin` to the configure script: >
and then run `make` to build Vim. The order of the options doesn't matter.
To make sure at runtime whether or not the darwin feature is compiled in, you
-can use `has('macunix')` which returns 1 if the feature is compiled in; 0
-otherwise.
+can use `has('osxdarwin')` which returns 1 if the feature is compiled in; 0
+otherwise. For backwards comptibility, you can still use `macunix` instead of
+`osxdarwin`.
Notable use cases where `--disable-darwin` is turned out to be useful are:
diff --git a/src/auto/configure b/src/auto/configure
index fa9276a13..467f9dcf4 100755
--- a/src/auto/configure
+++ b/src/auto/configure
@@ -4187,6 +4187,8 @@ $as_echo_n "checking for Darwin (Mac OS X)... " >&6; }
if test "`(uname) 2>/dev/null`" = Darwin; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
+ MACOS_X=yes
+ CPPFLAGS="$CPPFLAGS -DMACOS_X"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --disable-darwin argument" >&5
$as_echo_n "checking --disable-darwin argument... " >&6; }
@@ -4357,10 +4359,10 @@ rm -f core conftest.err conftest.$ac_objext \
fi
if test "$enable_darwin" = "yes"; then
- MACOSX=yes
+ MACOS_X_DARWIN=yes
OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
- CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_DARWIN"
# On IRIX 5.3, sys/types and inttypes.h are conflicting.
for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
@@ -5153,7 +5155,7 @@ rm -f core conftest.err conftest.$ac_objext \
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
else
- if test "x$MACOSX" = "xyes"; then
+ if test "x$MACOS_X" = "xyes"; then
ext="dylib"
indexes=""
else
@@ -5199,7 +5201,7 @@ $as_echo "yes" >&6; }
LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS"
fi
if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \
- test "x$MACOSX" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
+ test "x$MACOS_X" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
test "`(uname -m) 2>/dev/null`" = "x86_64"; then
LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS"
fi
@@ -5404,7 +5406,7 @@ $as_echo "not found" >&6; }
for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do
if test "X$path" != "X"; then
- if test "x$MACOSX" = "xyes"; then
+ if test "x$MACOS_X" = "xyes"; then
MZSCHEME_LIBS="-framework Racket"
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
elif test -f "${path}/libmzscheme3m.a"; then
@@ -5784,7 +5786,7 @@ $as_echo ">>> too old; need Perl version 5.003_01 or later <<<" >&6; }
fi
fi
- if test "x$MACOSX" = "xyes"; then
+ if test "x$MACOS_X" = "xyes"; then
dir=/System/Library/Perl
darwindir=$dir/darwin
if test -d $darwindir; then
@@ -6002,7 +6004,7 @@ __:
eof
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
- if test "x$MACOSX" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \
+ if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \
"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
vi_cv_path_python_plibs="-framework Python"
if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
@@ -6965,7 +6967,7 @@ $as_echo "$tclver - OK" >&6; };
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of Tcl include" >&5
$as_echo_n "checking for location of Tcl include... " >&6; }
- if test "x$MACOSX" != "xyes"; then
+ if test "x$MACOS_X" != "xyes"; then
tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
else
tclinc="/System/Library/Frameworks/Tcl.framework/Headers"
@@ -6987,7 +6989,7 @@ $as_echo "<not found>" >&6; }
if test -z "$SKIP_TCL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for location of tclConfig.sh script" >&5
$as_echo_n "checking for location of tclConfig.sh script... " >&6; }
- if test "x$MACOSX" != "xyes"; then
+ if test "x$MACOS_X" != "xyes"; then
tclcnf=`echo $tclinc | sed s/include/lib/g`
tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
else
@@ -7567,7 +7569,7 @@ fi
$as_echo "$enable_fontset" >&6; }
test -z "$with_x" && with_x=yes
-test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
+test "${enable_gui-yes}" != no -a "x$MACOS_X" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
if test "$with_x" = no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: defaulting to: don't HAVE_X11" >&5
$as_echo "defaulting to: don't HAVE_X11" >&6; }
@@ -8584,7 +8586,7 @@ $as_echo "$ac_cv_small_wchar_t" >&6; }
fi
fi
-test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
+test "x$with_x" = xno -a "x$MACOS_X" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking --enable-gui argument" >&5
$as_echo_n "checking --enable-gui argument... " >&6; }
@@ -8626,7 +8628,7 @@ $as_echo "Sorry, $enable_gui GUI is not supported" >&6; }
SKIP_PHOTON=YES ;;
esac
-elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
+elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
SKIP_CARBON=
case "$enable_gui_canon" in
no) { $as_echo "$as_me:${as_lineno-$LINENO}: result: no GUI support" >&5
@@ -8804,7 +8806,7 @@ $as_echo "$enable_carbon_check" >&6; };
fi
-if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
+if test "x$MACOS_X" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for Carbon GUI" >&5
$as_echo_n "checking for Carbon GUI... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
@@ -10624,7 +10626,7 @@ fi
done
-if test "x$MACOSX" = "xyes"; then
+if test "x$MACOS_X" = "xyes"; then
$as_echo "#define NO_STRINGS_WITH_STRING_H 1" >>confdefs.h
else
@@ -12076,7 +12078,7 @@ for ac_func in fchdir fchown fsync getcwd getpseudotty \
getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
sigprocmask sigvec strcasecmp strerror strftime stricmp strncasecmp \
strnicmp strpbrk strtol tgetent towlower towupper iswupper \
- usleep utime utimes
+ usleep utime utimes mblen
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@@ -14099,28 +14101,51 @@ fi
done
-if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
+if test "x$MACOS_X" = "xyes" -a -n "$PERL"; then
if echo $LIBS | grep -e '-ldl' >/dev/null; then
LIBS=`echo $LIBS | sed s/-ldl//`
PERL_LIBS="$PERL_LIBS -ldl"
fi
fi
-if test "x$MACOSX" = "xyes"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need -framework Cocoa" >&5
-$as_echo_n "checking whether we need -framework Cocoa... " >&6; }
- if test "x$features" != "xtiny" || test "x$enable_multibyte" = "xyes"; then
- LIBS=$"$LIBS -framework Cocoa"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
+if test "$MACOS_X" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we need macOS frameworks" >&5
+$as_echo_n "checking whether we need macOS frameworks... " >&6; }
+ if test "$GUITYPE" = "CARBONGUI"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need Carbon" >&5
+$as_echo "yes, we need Carbon" >&6; }
+ LIBS="$LIBS -framework Carbon"
+ elif test "$MACOS_X_DARWIN" = "yes"; then
+ if test "$features" = "tiny"; then
+ OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
+ OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
+ if test "$enable_multibyte" = "yes"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need CoreServices" >&5
+$as_echo "yes, we need CoreServices" >&6; }
+ LIBS="$LIBS -framework CoreServices"
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_mac_conv.c++'`
+ OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_mac_conv.o++'`
+ CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's+-DMACOS_X_DARWIN++'`
+ fi
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes, we need AppKit" >&5
+$as_echo "yes, we need AppKit" >&6; }
+ LIBS="$LIBS -framework AppKit"
+ if test "$features" = "small" -a "$enable_multibyte" = "no"; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: +multi_byte will be set in favor of +clipboard" >&5
+$as_echo "$as_me: +multi_byte will be set in favor of +clipboard" >&6;}
+ enable_multibyte=yes
+ $as_echo "#define FEAT_MBYTE 1" >>confdefs.h
+
+ fi
+ fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
- if test "x$features" = "xtiny"; then
- OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
- OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
- fi
fi
if test "x$MACARCH" = "xboth" && test "x$GUITYPE" = "xCARBONGUI"; then
LDFLAGS="$LDFLAGS -isysroot $DEVELOPER_DIR/SDKs/MacOSX10.4u.sdk -arch i386 -arch ppc"
diff --git a/src/config.h.in b/src/config.h.in
index fe68d49b1..e692d40ac 100644
--- a/src/config.h.in
+++ b/src/config.h.in
@@ -212,6 +212,7 @@
#undef HAVE_USLEEP
#undef HAVE_UTIME
#undef HAVE_BIND_TEXTDOMAIN_CODESET
+#undef HAVE_MBLEN
/* Define, if needed, for accessing large files. */
#undef _LARGE_FILES
diff --git a/src/configure.ac b/src/configure.ac
index 2185c9e88..f4c01943d 100644
--- a/src/configure.ac
+++ b/src/configure.ac
@@ -134,6 +134,8 @@ dnl are a lot of other things we need to change besides GUI stuff
AC_MSG_CHECKING([for Darwin (Mac OS X)])
if test "`(uname) 2>/dev/null`" = Darwin; then
AC_MSG_RESULT(yes)
+ MACOS_X=yes
+ CPPFLAGS="$CPPFLAGS -DMACOS_X"
AC_MSG_CHECKING(--disable-darwin argument)
AC_ARG_ENABLE(darwin,
@@ -208,12 +210,12 @@ if test "`(uname) 2>/dev/null`" = Darwin; then
fi
if test "$enable_darwin" = "yes"; then
- MACOSX=yes
+ MACOS_X_DARWIN=yes
OS_EXTRA_SRC="os_macosx.m os_mac_conv.c";
OS_EXTRA_OBJ="objects/os_macosx.o objects/os_mac_conv.o"
dnl TODO: use -arch i386 on Intel machines
dnl Removed -no-cpp-precomp, only for very old compilers.
- CPPFLAGS="$CPPFLAGS -DMACOS_X_UNIX"
+ CPPFLAGS="$CPPFLAGS -DMACOS_X_DARWIN"
dnl If Carbon is found, assume we don't want X11
dnl unless it was specifically asked for (--with-x)
@@ -626,7 +628,7 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
if test -f "${vi_cv_path_lua_pfx}/bin/cyglua-${vi_cv_version_lua}.dll"; then
vi_cv_dll_name_lua="cyglua-${vi_cv_version_lua}.dll"
else
- if test "x$MACOSX" = "xyes"; then
+ if test "x$MACOS_X" = "xyes"; then
ext="dylib"
indexes=""
else
@@ -670,7 +672,7 @@ if test "$enable_luainterp" = "yes" -o "$enable_luainterp" = "dynamic"; then
LUA_CFLAGS="-DDYNAMIC_LUA_DLL=\\\"${vi_cv_dll_name_lua}\\\" $LUA_CFLAGS"
fi
if test "X$LUA_CFLAGS$LUA_LIBS" != "X" && \
- test "x$MACOSX" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
+ test "x$MACOS_X" = "xyes" && test "x$vi_cv_with_luajit" != "xno" && \
test "`(uname -m) 2>/dev/null`" = "x86_64"; then
dnl OSX/x64 requires these flags. See http://luajit.org/install.html
LUA_LIBS="-pagezero_size 10000 -image_base 100000000 $LUA_LIBS"
@@ -802,7 +804,7 @@ if test "$enable_mzschemeinterp" = "yes"; then
for path in "${vi_cv_path_mzscheme_pfx}/lib" "${SCHEME_LIB}"; do
if test "X$path" != "X"; then
- if test "x$MACOSX" = "xyes"; then
+ if test "x$MACOS_X" = "xyes"; then
MZSCHEME_LIBS="-framework Racket"
MZSCHEME_CFLAGS="-DMZ_PRECISE_GC"
elif test -f "${path}/libmzscheme3m.a"; then
@@ -1059,7 +1061,7 @@ if test "$enable_perlinterp" = "yes" -o "$enable_perlinterp" = "dynamic"; then
fi
fi
- if test "x$MACOSX" = "xyes"; then
+ if test "x$MACOS_X" = "xyes"; then
dnl Mac OS X 10.2 or later
dir=/System/Library/Perl
darwindir=$dir/darwin
@@ -1201,7 +1203,7 @@ eof
dnl -- delete the lines from make about Entering/Leaving directory
eval "`cd ${PYTHON_CONFDIR} && make -f "${tmp_mkf}" __ | sed '/ directory /d'`"
rm -f -- "${tmp_mkf}"
- if test "x$MACOSX" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \
+ if test "x$MACOS_X" = "xyes" && test -n "${python_PYTHONFRAMEWORK}" && ${vi_cv_path_python} -c \
"import sys; sys.exit(${vi_cv_var_python_version} < 2.3)"; then
vi_cv_path_python_plibs="-framework Python"
if test "x${vi_cv_path_python}" != "x/usr/bin/python" && test -n "${python_PYTHONFRAMEWORKPREFIX}"; then
@@ -1269,7 +1271,7 @@ eof
AC_MSG_CHECKING([if -pthread should be used])
threadsafe_flag=
thread_lib=
- dnl if test "x$MACOSX" != "xyes"; then
+ dnl if test "x$MACOS_X" != "xyes"; then
if test "`(uname) 2>/dev/null`" != Darwin; then
test "$GCC" = yes && threadsafe_flag="-pthread"
if test "`(uname) 2>/dev/null`" = FreeBSD; then
@@ -1474,7 +1476,7 @@ eof
AC_MSG_CHECKING([if -pthread should be used])
threadsafe_flag=
thread_lib=
- dnl if test "x$MACOSX" != "xyes"; then
+ dnl if test "x$MACOS_X" != "xyes"; then
if test "`(uname) 2>/dev/null`" != Darwin; then
test "$GCC" = yes && threadsafe_flag="-pthread"
if test "`(uname) 2>/dev/null`" = FreeBSD; then
@@ -1729,7 +1731,7 @@ if test "$enable_tclinterp" = "yes" -o "$enable_tclinterp" = "dynamic"; then
tcldll=`echo 'puts libtcl[[info tclversion]][[info sharedlibextension]]' | $vi_cv_path_tcl -`
AC_MSG_CHECKING(for location of Tcl include)
- if test "x$MACOSX" != "xyes"; then
+ if test "x$MACOS_X" != "xyes"; then
tclinc="$tclloc/include $tclloc/include/tcl $tclloc/include/tcl$tclver /usr/local/include /usr/local/include/tcl$tclver /usr/include /usr/include/tcl$tclver"
else
dnl For Mac OS X 10.3, use the OS-provided framework location
@@ -1749,7 +1751,7 @@ if test "$enable_tclinterp" = "yes" -o "$enable_tclinterp" = "dynamic"; then
fi
if test -z "$SKIP_TCL"; then
AC_MSG_CHECKING(for location of tclConfig.sh script)
- if test "x$MACOSX" != "xyes"; then
+ if test "x$MACOS_X" != "xyes"; then
tclcnf=`echo $tclinc | sed s/include/lib/g`
tclcnf="$tclcnf `echo $tclinc | sed s/include/lib64/g`"
else
@@ -2093,7 +2095,7 @@ AC_MSG_RESULT($enable_fontset)
dnl defining FEAT_XFONTSET is delayed, so that it can be disabled for no GUI
test -z "$with_x" && with_x=yes
-test "${enable_gui-yes}" != no -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
+test "${enable_gui-yes}" != no -a "x$MACOS_X" != "xyes" -a "x$QNX" != "xyes" && with_x=yes
if test "$with_x" = no; then
AC_MSG_RESULT(defaulting to: don't HAVE_X11)
else
@@ -2224,7 +2226,7 @@ else
fi
fi
-test "x$with_x" = xno -a "x$MACOSX" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
+test "x$with_x" = xno -a "x$MACOS_X" != "xyes" -a "x$QNX" != "xyes" && enable_gui=no
AC_MSG_CHECKING(--enable-gui argument)
AC_ARG_ENABLE(gui,
@@ -2258,7 +2260,7 @@ if test "x$QNX" = "xyes" -a "x$with_x" = "xno" ; then
SKIP_PHOTON=YES ;;
esac
-elif test "x$MACOSX" = "xyes" -a "x$with_x" = "xno" ; then
+elif test "x$MACOS_X" = "xyes" -a "x$with_x" = "xno" ; then
SKIP_CARBON=
case "$enable_gui_canon" in
no) AC_MSG_RESULT(no GUI support)
@@ -2380,7 +2382,7 @@ if test "x$SKIP_CARBON" != "xYES" -a "$enable_gui_canon" != "carbon"; then
fi
-if test "x$MACOSX" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
+if test "x$MACOS_X" = "xyes" -a -z "$SKIP_CARBON" -a "x$CARBON" = "xyes"; then
AC_MSG_CHECKING(for Carbon GUI)
dnl already did the check, just give the message
AC_MSG_RESULT(yes);
@@ -3188,7 +3190,7 @@ AC_TRY_COMPILE([
AC_MSG_RESULT(no))
AC_CHECK_HEADERS(strings.h)
-if test "x$MACOSX" = "xyes"; then
+if test "x$MACOS_X" = "xyes"; then
dnl The strings.h file on OS/X contains a warning and nothing useful.
AC_DEFINE(NO_STRINGS_WITH_STRING_H)
else
@@ -3650,7 +3652,7 @@ AC_CHECK_FUNCS(fchdir fchown fsync getcwd getpseudotty \
getpgid setpgid setsid sigaltstack sigstack sigset sigsetjmp sigaction \
sigprocmask sigvec strcasecmp strerror strftime stricmp strncasecmp \
strnicmp strpbrk strtol tgetent towlower towupper iswupper \
- usleep utime utimes)
+ usleep utime utimes mblen)
AC_FUNC_FSEEKO
dnl define _LARGE_FILES, _FILE_OFFSET_BITS and _LARGEFILE_SOURCE when
@@ -4277,7 +4279,7 @@ elif test x${DLL} = xdl.h; then
fi
AC_CHECK_HEADERS(setjmp.h)
-if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
+if test "x$MACOS_X" = "xyes" -a -n "$PERL"; then
dnl -ldl must come after DynaLoader.a
if echo $LIBS | grep -e '-ldl' >/dev/null; then
LIBS=`echo $LIBS | sed s/-ldl//`
@@ -4285,22 +4287,40 @@ if test "x$MACOSX" = "xyes" -a -n "$PERL"; then
fi
fi
-if test "x$MACOSX" = "xyes"; then
- AC_MSG_CHECKING(whether we need -framework Cocoa)
- dnl Cocoa is needed with FEAT_CLIPBOARD or FEAT_MBYTE (the former is
- dnl disabled during tiny build)
- if test "x$features" != "xtiny" || test "x$enable_multibyte" = "xyes"; then
- LIBS=$"$LIBS -framework Cocoa"
- AC_MSG_RESULT(yes)
+if test "$MACOS_X" = "yes"; then
+ AC_MSG_CHECKING([whether we need macOS frameworks])
+ if test "$GUITYPE" = "CARBONGUI"; then
+ AC_MSG_RESULT([yes, we need Carbon])
+ LIBS="$LIBS -framework Carbon"
+ elif test "$MACOS_X_DARWIN" = "yes"; then
+ if test "$features" = "tiny"; then
+ dnl Since no FEAT_CLIPBOARD, no longer need for os_macosx.m.
+ OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
+ OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
+ if test "$enable_multibyte" = "yes"; then
+ AC_MSG_RESULT([yes, we need CoreServices])
+ LIBS="$LIBS -framework CoreServices"
+ else
+ dnl Since no FEAT_MBYTE, no longer need for os_mac_conv.c.
+ AC_MSG_RESULT([no])
+ OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_mac_conv.c++'`
+ OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_mac_conv.o++'`
+ CPPFLAGS=`echo "$CPPFLAGS" | sed -e 's+-DMACOS_X_DARWIN++'`
+ fi
+ else
+ AC_MSG_RESULT([yes, we need AppKit])
+ LIBS="$LIBS -framework AppKit"
+ if test "$features" = "small" -a "$enable_multibyte" = "no"; then
+ dnl Since FEAT_CLIPBOARD is to be defined in vim.h for FEAT_SMALL, define
+ dnl FEAT_MBYTE in order not to compromise the interoperability of the
+ dnl clipboard.
+ AC_MSG_NOTICE([+multi_byte will be set in favor of +clipboard])
+ enable_multibyte=yes
+ AC_DEFINE(FEAT_MBYTE)
+ fi
+ fi
else
- AC_MSG_RESULT(no)
- fi
- dnl As mentioned above, tiny build implies os_macosx.m isn't needed.
- dnl Exclude it from OS_EXTRA_SRC so that linker won't complain about
- dnl missing Objective-C symbols.
- if test "x$features" = "xtiny"; then
- OS_EXTRA_SRC=`echo "$OS_EXTRA_SRC" | sed -e 's+os_macosx.m++'`
- OS_EXTRA_OBJ=`echo "$OS_EXTRA_OBJ" | sed -e 's+objects/os_macosx.o++'`
+ AC_MSG_RESULT([no])
fi
fi
if test "x$MACARCH" = "xboth" && test "x$GUITYPE" = "xCARBONGUI"; then
diff --git a/src/digraph.c b/src/digraph.c
index 0b78af745..6b5a5aac2 100644
--- a/src/digraph.c
+++ b/src/digraph.c
@@ -321,7 +321,7 @@ static digr_T digraphdefault[] =
};
# else
-# if defined(MACOS) && !defined(FEAT_MBYTE)
+# if defined(MACOS_X) && !defined(FEAT_MBYTE)
/*
* Macintosh digraphs
@@ -449,7 +449,7 @@ static digr_T digraphdefault[] =
{NUL, NUL, NUL}
};
-# else /* !MACOS */
+# else /* !MACOS_X */
# ifdef OLD_DIGRAPHS
diff --git a/src/edit.c b/src/edit.c
index a17962052..435e1ed81 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -5977,7 +5977,7 @@ insert_special(
* Only use mod_mask for special keys, to avoid things like <S-Space>,
* unless 'allow_modmask' is TRUE.
*/
-#ifdef MACOS
+#ifdef MACOS_X
/* Command-key never produces a normal key */
if (mod_mask & MOD_MASK_CMD)
allow_modmask = TRUE;
@@ -8756,7 +8756,7 @@ ins_start_select(int c)
case K_KPAGEUP:
case K_PAGEDOWN:
case K_KPAGEDOWN:
-# ifdef MACOS
+# ifdef MACOS_X
case K_LEFT:
case K_RIGHT:
case K_UP:
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 55d22951a..2f294ca1f 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -24,7 +24,7 @@
# include <float.h>
#endif
-#ifdef MACOS
+#ifdef MACOS_X
# include <time.h> /* for time_t */
#endif
@@ -5539,14 +5539,13 @@ f_has(typval_T *argvars, typval_T *rettv)
#ifdef __BEOS__
"beos",
#endif
-#ifdef MACOS
- "mac",
-#endif
-#if defined(MACOS_X_UNIX)
- "macunix", /* built with 'darwin' enabled */
-#endif
-#if defined(__APPLE__) && __APPLE__ == 1
- "osx", /* built with or without 'darwin' enabled */
+#ifdef MACOS_X
+ "mac", /* Mac OS X (and, once, Mac OS Classic) */
+ "osx", /* Mac OS X */
+# ifdef MACOS_X_DARWIN
+ "macunix", /* Mac OS X, with the darwin feature */
+ "osxdarwin", /* synonym for macunix */
+# endif
#endif
#ifdef __QNX__
"qnx",
diff --git a/src/feature.h b/src/feature.h
index 37e4d3127..e90d7557b 100644
--- a/src/feature.h
+++ b/src/feature.h
@@ -61,10 +61,10 @@
*/
#if !defined(FEAT_TINY) && !defined(FEAT_SMALL) && !defined(FEAT_NORMAL) \
&& !defined(FEAT_BIG) && !defined(FEAT_HUGE)
-# if defined(UNIX) || defined(WIN3264) || defined(MACOS)
+# if defined(UNIX) || defined(WIN3264) || defined(MACOS_X)
# define FEAT_HUGE
# else
-# if defined(MSWIN) || defined(VMS) || defined(MACOS) || defined(AMIGA)
+# if defined(MSWIN) || defined(VMS) || defined(AMIGA)
# define FEAT_BIG
# else
# define FEAT_NORMAL
@@ -363,7 +363,7 @@
*/
#ifdef FEAT_NORMAL
# define FEAT_EVAL
-# if defined(HAVE_FLOAT_FUNCS) || defined(WIN3264) || defined(MACOS)
+# if defined(HAVE_FLOAT_FUNCS) || defined(WIN3264) || defined(MACOS_X)
# define FEAT_FLOAT
# endif
# if defined(HAVE_STDINT_H) || defined(WIN3264) || (VIM_SIZEOF_LONG >= 8)
@@ -777,7 +777,7 @@
* there is no terminal version, and on Windows we can't figure out how to
* fork one off with :gui.
*/
-#if defined(FEAT_GUI_MSWIN) || (defined(FEAT_GUI_MAC) && !defined(MACOS_X_UNIX))
+#if defined(FEAT_GUI_MSWIN) || (defined(FEAT_GUI_MAC) && !defined(MACOS_X_DARWIN))
# define ALWAYS_USE_GUI
#endif
diff --git a/src/fileio.c b/src/fileio.c
index 82659be07..87b85cf38 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -68,7 +68,7 @@ static int au_find_group(char_u *name);
# define FIO_PUT_CP(x) (((x) & 0xffff) << 16) /* put codepage in top word */
# define FIO_GET_CP(x) (((x)>>16) & 0xffff) /* get codepage from top word */
# endif
-# ifdef MACOS_X
+# ifdef MACOS_CONVERT
# define FIO_MACROMAN 0x20 /* convert MacRoman */
# endif
# define FIO_ENDIAN_L 0x80 /* little endian */
@@ -127,7 +127,7 @@ static int make_bom(char_u *buf, char_u *name);
# ifdef WIN3264
static int get_win_fio_flags(char_u *ptr);
# endif
-# ifdef MACOS_X
+# ifdef MACOS_CONVERT
static int get_mac_fio_flags(char_u *ptr);
# endif
#endif
@@ -1088,7 +1088,7 @@ retry:
fio_flags = get_win_fio_flags(fenc);
# endif
-# ifdef MACOS_X
+# ifdef MACOS_CONVERT
/* Conversion from Apple MacRoman to latin1 or UTF-8 */
if (fio_flags == 0)
fio_flags = get_mac_fio_flags(fenc);
@@ -1274,7 +1274,7 @@ retry:
else if (fio_flags & FIO_CODEPAGE)
size = size / ICONV_MULT; /* also worst case */
# endif
-# ifdef MACOS_X
+# ifdef MACOS_CONVERT
else if (fio_flags & FIO_MACROMAN)
size = size / ICONV_MULT; /* also worst case */
# endif
@@ -4200,20 +4200,6 @@ buf_write(
}
}
-#ifdef MACOS_CLASSIC /* TODO: Is it need for MACOS_X? (Dany) */
- /*
- * Before risking to lose the original file verify if there's
- * a resource fork to preserve, and if cannot be done warn
- * the users. This happens when overwriting without backups.
- */
- if (backup == NULL && overwriting && !append)
- if (mch_has_resource_fork(fname))
- {
- errmsg = (char_u *)_("E460: The resource fork would be lost (add ! to override)");
- goto restore_backup;
- }
-#endif
-
#ifdef VMS
vms_remove_version(fname); /* remove version */
#endif
@@ -4271,7 +4257,7 @@ buf_write(
}
# endif
-# ifdef MACOS_X
+# ifdef MACOS_CONVERT
if (converted && wb_flags == 0 && (wb_flags = get_mac_fio_flags(fenc)) != 0)
{
write_info.bw_conv_buflen = bufsize * 3;
@@ -4474,13 +4460,7 @@ restore_backup:
}
write_info.bw_fd = fd;
-#if defined(MACOS_CLASSIC) || defined(WIN3264)
- /* TODO: Is it need for MACOS_X? (Dany) */
- /*
- * On macintosh copy the original files attributes (i.e. the backup)
- * This is done in order to preserve the resource fork and the
- * Finder attribute (label, comments, custom icons, file creator)
- */
+#if defined(WIN3264)
if (backup != NULL && overwriting && !append)
{
if (backup_copy)
@@ -5199,10 +5179,6 @@ nofail:
got_int |= prev_got_int;
-#ifdef MACOS_CLASSIC /* TODO: Is it need for MACOS_X? (Dany) */
- /* Update machine specific information. */
- mch_post_buffer_write(buf);
-#endif
return retval;
}
@@ -5972,7 +5948,7 @@ get_win_fio_flags(char_u *ptr)
}
#endif
-#ifdef MACOS_X
+#ifdef MACOS_CONVERT
/*
* Check "ptr" for a Carbon supported encoding and return the FIO_ flags
* needed for the internal conversion to/from utf-8 or latin1.
diff --git a/src/getchar.c b/src/getchar.c
index ef42d9c8c..455c01388 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1893,7 +1893,7 @@ char_avail(void)
int retval;
#ifdef FEAT_EVAL
- /* When test_disable_char_avail(1) was called pretend there is no
+ /* When test_override("char_avail", 1) was called pretend there is no
* typeahead. */
if (disable_char_avail_for_testing)
return FALSE;
@@ -5257,7 +5257,7 @@ check_map(
}
#endif
-#if defined(MSWIN) || defined(MACOS)
+#if defined(MSWIN) || defined(MACOS_X)
#define VIS_SEL (VISUAL+SELECTMODE) /* abbreviation */
@@ -5308,7 +5308,7 @@ static struct initmap
# endif
#endif
-#if defined(MACOS)
+#if defined(MACOS_X)
/* Use the Standard MacOS binding. */
/* paste, copy and cut */
{(char_u *)"<D-v> \"*P", NORMAL},
@@ -5329,7 +5329,7 @@ static struct initmap
void
init_mappings(void)
{
-#if defined(MSWIN) ||defined(MACOS)
+#if defined(MSWIN) || defined(MACOS_X)
int i;
for (i = 0; i < (int)(sizeof(initmappings) / sizeof(struct initmap)); ++i)
@@ -5337,7 +5337,8 @@ init_mappings(void)
#endif
}
-#if defined(MSWIN) || defined(FEAT_CMDWIN) || defined(MACOS) || defined(PROTO)
+#if defined(MSWIN) || defined(FEAT_CMDWIN) || defined(MACOS_X) \
+ || defined(PROTO)
/*
* Add a mapping "map" for mode "mode".
* Need to put string in allocated memory, because do_map() will modify it.
diff --git a/src/globals.h b/src/globals.h
index 31bb1bd8b..318363230 100644
--- a/src/globals.h
+++ b/src/globals.h
@@ -1425,7 +1425,7 @@ EXTERN char_u e_failed[] INIT(= N_("E472: Command failed"));
#if defined(FEAT_GUI) && defined(FEAT_XFONTSET)
EXTERN char_u e_fontset[] INIT(= N_("E234: Unknown fontset: %s"));
#endif
-#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(MACOS) \
+#if defined(FEAT_GUI_X11) || defined(FEAT_GUI_GTK) || defined(FEAT_GUI_MAC) \
|| defined(FEAT_GUI_PHOTON) || defined(FEAT_GUI_MSWIN)
EXTERN char_u e_font[] INIT(= N_("E235: Unknown font: %s"));
#endif
@@ -1545,7 +1545,7 @@ EXTERN char_u e_readerrf[] INIT(= N_("E47: Error while reading errorfile"));
EXTERN char_u e_sandbox[] INIT(= N_("E48: Not allowed in sandbox"));
#endif
EXTERN char_u e_secure[] INIT(= N_("E523: Not allowed here"));
-#if defined(AMIGA) || defined(MACOS) || defined(MSWIN) \
+#if defined(AMIGA) || defined(MACOS_X) || defined(MSWIN) \
|| defined(UNIX) || defined(VMS)
EXTERN char_u e_screenmode[] INIT(= N_("E359: Screen mode setting not supported"));
#endif
@@ -1592,7 +1592,7 @@ EXTERN char_u e_invalidreg[] INIT(= N_("E850: Invalid register name"));
#endif
EXTERN char_u e_dirnotf[] INIT(= N_("E919: Directory not found in '%s': \"%s\""));
-#ifdef MACOS_X_UNIX
+#ifdef FEAT_GUI_MAC
EXTERN short disallow_gui INIT(= FALSE);
#endif
diff --git a/src/gui.c b/src/gui.c
index d52244cc2..8e48d3c2b 100644
--- a/src/gui.c
+++ b/src/gui.c
@@ -37,7 +37,7 @@ static void gui_set_fg_color(char_u *name);
static void gui_set_bg_color(char_u *name);
static win_T *xy2win(int x, int y);
-#if defined(UNIX) && !defined(MACOS_X) && !defined(__APPLE__)
+#if defined(UNIX) && !defined(FEAT_GUI_MAC)
# define MAY_FORK
static void gui_do_fork(void);
@@ -2520,7 +2520,7 @@ gui_outstr_nowrap(
/* Draw a composing char on top of the previous char. */
if (comping && sep_comp)
{
-# if (defined(__APPLE_CC__) || defined(__MRC__)) && TARGET_API_MAC_CARBON
+# if defined(__APPLE_CC__) && TARGET_API_MAC_CARBON
/* Carbon ATSUI autodraws composing char over previous char */
gui_mch_draw_string(gui.row, scol, s + i, cl,
draw_flags | DRAW_TRANSP);
diff --git a/src/gui_mac.c b/src/gui_mac.c
index bbb0857a0..93feabe92 100644
--- a/src/gui_mac.c
+++ b/src/gui_mac.c
@@ -267,9 +267,7 @@ static struct
/* {XK_Help, '%', '1'}, */
/* {XK_Undo, '&', '8'}, */
/* {XK_BackSpace, 'k', 'b'}, */
-#ifndef MACOS_X
- {vk_Delete, 'k', 'b'},
-#endif
+/* {vk_Delete, 'k', 'b'}, */
{vk_Insert, 'k', 'I'},
{vk_FwdDelete, 'k', 'D'},
{vk_Home, 'k', 'h'},
diff --git a/src/if_python.c b/src/if_python.c
index cbc7d97b9..f9fc5e1a5 100644
--- a/src/if_python.c
+++ b/src/if_python.c
@@ -70,10 +70,6 @@
# undef PY_SSIZE_T_CLEAN
#endif
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
-# include "macglue.h"
-# include <CodeFragments.h>
-#endif
#undef main /* Defined in python.h - aargh */
#undef HAVE_FCNTL_H /* Clash with os_win32.h */
@@ -948,11 +944,7 @@ Python_Init(void)
Py_NoSiteFlag++;
#endif
-#if !defined(MACOS) || defined(MACOS_X_UNIX)
Py_Initialize();
-#else
- PyMac_Initialize();
-#endif
#if defined(PY_VERSION_HEX) && PY_VERSION_HEX >= 0x02070000
/* 'import site' explicitly. */
@@ -1024,9 +1016,6 @@ DoPyCommand(const char *cmd, rangeinitializer init_range, runner run, void *arg)
#ifndef PY_CAN_RECURSE
static int recursive = 0;
#endif
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
- GrafPtr oldPort;
-#endif
#if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
char *saved_locale;
#endif
@@ -1045,12 +1034,6 @@ DoPyCommand(const char *cmd, rangeinitializer init_range, runner run, void *arg)
if (python_end_called)
return;
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
- GetPort(&oldPort);
- /* Check if the Python library is available */
- if ((Ptr)PyMac_Initialize == (Ptr)kUnresolvedCFragSymbolAddress)
- goto theend;
-#endif
if (Python_Init())
goto theend;
@@ -1099,9 +1082,6 @@ DoPyCommand(const char *cmd, rangeinitializer init_range, runner run, void *arg)
Python_Lock_Vim(); /* enter vim */
PythonIO_Flush();
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
- SetPort(oldPort);
-#endif
theend:
#ifndef PY_CAN_RECURSE
diff --git a/src/if_python3.c b/src/if_python3.c
index ac370fd57..7aa5f03e1 100644
--- a/src/if_python3.c
+++ b/src/if_python3.c
@@ -74,10 +74,6 @@
#include <Python.h>
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
-# include "macglue.h"
-# include <CodeFragments.h>
-#endif
#undef main /* Defined in python.h - aargh */
#undef HAVE_FCNTL_H /* Clash with os_win32.h */
@@ -871,11 +867,8 @@ Python3_Init(void)
PyImport_AppendInittab("vim", Py3Init_vim);
-#if !defined(MACOS) || defined(MACOS_X_UNIX)
Py_Initialize();
-#else
- PyMac_Initialize();
-#endif
+
/* Initialise threads, and below save the state using
* PyEval_SaveThread. Without the call to PyEval_SaveThread, thread
* specific state (such as the system trace hook), will be lost
@@ -929,9 +922,6 @@ fail:
static void
DoPyCommand(const char *cmd, rangeinitializer init_range, runner run, void *arg)
{
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
- GrafPtr oldPort;
-#endif
#if defined(HAVE_LOCALE_H) || defined(X_LOCALE)
char *saved_locale;
#endif
@@ -942,12 +932,6 @@ DoPyCommand(const char *cmd, rangeinitializer init_range, runner run, void *arg)
if (python_end_called)
goto theend;
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
- GetPort(&oldPort);
- /* Check if the Python library is available */
- if ((Ptr)PyMac_Initialize == (Ptr)kUnresolvedCFragSymbolAddress)
- goto theend;
-#endif
if (Python3_Init())
goto theend;
@@ -992,9 +976,6 @@ DoPyCommand(const char *cmd, rangeinitializer init_range, runner run, void *arg)
Python_Lock_Vim(); /* enter vim */
PythonIO_Flush();
-#if defined(MACOS) && !defined(MACOS_X_UNIX)
- SetPort(oldPort);
-#endif
theend:
return; /* keeps lint happy */
diff --git a/src/if_ruby.c b/src/if_ruby.c
index f3434a95b..ca31c1a05 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -127,7 +127,7 @@
#undef _
/* T_DATA defined both by Ruby and Mac header files, hack around it... */
-#if defined(MACOS_X_UNIX) || defined(macintosh)
+#if defined(MACOS_X)
# define __OPENTRANSPORT__
# define __OPENTRANSPORTPROTOCOL__
# define __OPENTRANSPORTPROVIDERS__
@@ -251,7 +251,8 @@ static void ruby_vim_init(void);
# endif
# define rb_lastline_get dll_rb_lastline_get
# define rb_lastline_set dll_rb_lastline_set
-# define rb_load_protect dll_rb_load_protect
+# define rb_protect dll_rb_protect
+# define rb_load dll_rb_load
# ifndef RUBY19_OR_LATER
# define rb_num2long dll_rb_num2long
# endif
@@ -376,7 +377,8 @@ static unsigned long (*dll_rb_num2uint) (VALUE);
# endif
static VALUE (*dll_rb_lastline_get) (void);
static void (*dll_rb_lastline_set) (VALUE);
-static void (*dll_rb_load_protect) (VALUE, int, int*);
+static void (*dll_rb_protect) (VALUE (*)(VALUE), int, int*);
+static void (*dll_rb_load) (VALUE, int);
static long (*dll_rb_num2long) (VALUE);
static unsigned long (*dll_rb_num2ulong) (VALUE);
static VALUE (*dll_rb_obj_alloc) (VALUE);
@@ -568,7 +570,8 @@ static struct
# endif
{"rb_lastline_get", (RUBY_PROC*)&dll_rb_lastline_get},
{"rb_lastline_set", (RUBY_PROC*)&dll_rb_lastline_set},
- {"rb_load_protect", (RUBY_PROC*)&dll_rb_load_protect},
+ {"rb_protect", (RUBY_PROC*)&dll_rb_protect},
+ {"rb_load", (RUBY_PROC*)&dll_rb_load},
{"rb_num2long", (RUBY_PROC*)&dll_rb_num2long},
{"rb_num2ulong", (RUBY_PROC*)&dll_rb_num2ulong},
{"rb_obj_alloc", (RUBY_PROC*)&dll_rb_obj_alloc},
@@ -831,7 +834,8 @@ void ex_rubyfile(exarg_T *eap)
if (ensure_ruby_initialized())
{
- rb_load_protect(rb_str_new2((char *) eap->arg), 0, &state);
+ rb_protect((VALUE (*)(VALUE))rb_load, rb_str_new2((char *)eap->arg),
+ &state);
if (state) error_print(state);
}
}
diff --git a/src/keymap.h b/src/keymap.h
index 52ba31992..7cb5c69bc 100644
--- a/src/keymap.h
+++ b/src/keymap.h
@@ -479,7 +479,7 @@ enum key_extra
#define MOD_MASK_2CLICK 0x20 /* use MOD_MASK_MULTI_CLICK */
#define MOD_MASK_3CLICK 0x40 /* use MOD_MASK_MULTI_CLICK */
#define MOD_MASK_4CLICK 0x60 /* use MOD_MASK_MULTI_CLICK */
-#ifdef MACOS
+#ifdef MACOS_X
# define MOD_MASK_CMD 0x80
#endif
diff --git a/src/macros.h b/src/macros.h
index c320a3f7d..1b54b91ba 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -209,18 +209,13 @@
# define mch_lstat(n, p) mch_stat((n), (p))
#endif
-#ifdef MACOS_CLASSIC
-/* MacOS classic doesn't support perm but MacOS X does. */
-# define mch_open(n, m, p) open((n), (m))
-#else
-# ifdef VMS
+#ifdef VMS
/*
* It is possible to force some record format with:
* # define mch_open(n, m, p) open(vms_fixfilename(n), (m), (p)), "rat=cr", "rfm=stmlf", "mrs=0")
* but it is not recommended, because it can destroy indexes etc.
*/
-# define mch_open(n, m, p) open(vms_fixfilename(n), (m), (p))
-# endif
+# define mch_open(n, m, p) open(vms_fixfilename(n), (m), (p))
#endif
/* mch_open_rw(): invoke mch_open() with third argument for user R/W. */
@@ -266,7 +261,7 @@
* PTR2CHAR(): get character from pointer.
*/
#ifdef FEAT_MBYTE
-/* Get the length of the character p points to */
+/* Get the length of the character p points to, including composing chars */
# define MB_PTR2LEN(p) (has_mbyte ? (*mb_ptr2len)(p) : 1)
/* Advance multi-byte pointer, skip over composing chars. */
# define MB_PTR_ADV(p) p += has_mbyte ? (*mb_ptr2len)(p) : 1
diff --git a/src/main.c b/src/main.c
index 0283231b0..97f1b035f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -299,7 +299,7 @@ main
params.want_full_screen = FALSE;
#endif
-#if defined(FEAT_GUI_MAC) && defined(MACOS_X_UNIX)
+#if defined(FEAT_GUI_MAC) && defined(MACOS_X_DARWIN)
/* When the GUI is started from Finder, need to display messages in a
* message box. isatty(2) returns TRUE anyway, thus we need to check the
* name to know we're not started from a terminal. */
@@ -927,13 +927,6 @@ common_init(mparm_T *paramp)
qnx_init(); /* PhAttach() for clipboard, (and gui) */
#endif
-#ifdef MAC_OS_CLASSIC
- /* Prepare for possibly starting GUI sometime */
- /* Macintosh needs this before any memory is allocated. */
- gui_prepare(&paramp->argc, paramp->argv);
- TIME_MSG("GUI prepared");
-#endif
-
/* Init the table of Normal mode commands. */
init_normal_cmds();
@@ -984,7 +977,7 @@ common_init(mparm_T *paramp)
#ifdef FEAT_SUN_WORKSHOP
findYourself(paramp->argv[0]);
#endif
-#if defined(FEAT_GUI) && !defined(MAC_OS_CLASSIC)
+#if defined(FEAT_GUI)
/* Prepare for possibly starting GUI sometime */
gui_prepare(&paramp->argc, paramp->argv);
TIME_MSG("GUI prepared");
@@ -1724,7 +1717,7 @@ parse_command_name(mparm_T *parmp)
initstr = gettail((char_u *)parmp->argv[0]);
-#ifdef MACOS_X_UNIX
+#ifdef FEAT_GUI_MAC
/* An issue has been seen when launching Vim in such a way that
* $PWD/$ARGV[0] or $ARGV[0] is not the absolute path to the
* executable or a symbolic link of it. Until this issue is resolved
@@ -2619,7 +2612,7 @@ read_stdin(void)
#if defined(HAS_SWAP_EXISTS_ACTION)
check_swap_exists_action();
#endif
-#if !(defined(AMIGA) || defined(MACOS))
+#if !(defined(AMIGA) || defined(MACOS_X))
/*
* Close stdin and dup it from stderr. Required for GPM to work
* properly, and for running external commands.
diff --git a/src/mbyte.c b/src/mbyte.c
index 6cda0e793..3592ddbdd 100644
--- a/src/mbyte.c
+++ b/src/mbyte.c
@@ -105,7 +105,10 @@
# include <X11/Intrinsic.h>
#endif
#ifdef X_LOCALE
-#include <X11/Xlocale.h>
+# include <X11/Xlocale.h>
+# if !defined(HAVE_MBLEN) && !defined(mblen)
+# define mblen _Xmblen
+# endif
#endif
#if defined(FEAT_GUI_GTK) && defined(FEAT_XIM)
@@ -415,7 +418,7 @@ enc_alias_table[] =
{"euccn", IDX_EUC_CN},
{"gb2312", IDX_EUC_CN},
{"euctw", IDX_EUC_TW},
-#if defined(WIN3264) || defined(WIN32UNIX) || defined(MACOS)
+#if defined(WIN3264) || defined(WIN32UNIX) || defined(MACOS_X)
{"japan", IDX_CP932},
{"korea", IDX_CP949},
{"prc", IDX_CP936},
@@ -516,7 +519,7 @@ mb_init(void)
int n;
int enc_dbcs_new = 0;
#if defined(USE_ICONV) && !defined(WIN3264) && !defined(WIN32UNIX) \
- && !defined(MACOS)
+ && !defined(MACOS_CONVERT)
# define LEN_FROM_CONV
vimconv_T vimconv;
char_u *p;
@@ -711,7 +714,8 @@ codepage_invalid:
* API */
n = IsDBCSLeadByteEx(enc_dbcs, (WINBYTE)i) ? 2 : 1;
#else
-# if defined(MACOS) || defined(__amigaos4__) || defined(__ANDROID__)
+# if defined(__amigaos4__) || defined(__ANDROID__) || \
+ !(defined(HAVE_MBLEN) || defined(X_LOCALE))
/*
* if mblen() is not available, character which MSB is turned on
* are treated as leading byte character. (note : This assumption
@@ -720,18 +724,14 @@ codepage_invalid:
n = (i & 0x80) ? 2 : 1;
# else
char buf[MB_MAXBYTES + 1];
-# ifdef X_LOCALE
-# ifndef mblen
-# define mblen _Xmblen
-# endif
-# endif
+
if (i == NUL) /* just in case mblen() can't handle "" */
n = 1;
else
{
buf[0] = i;
buf[1] = 0;
-#ifdef LEN_FROM_CONV
+# ifdef LEN_FROM_CONV
if (vimconv.vc_type != CONV_NONE)
{
/*
@@ -748,7 +748,7 @@ codepage_invalid:
n = 2;
}
else
-#endif
+# endif
{
/*
* mblen() should return -1 for invalid (means the leading
@@ -918,7 +918,7 @@ dbcs_class(unsigned lead, unsigned trail)
unsigned char tb = trail;
/* convert process code to JIS */
-# if defined(WIN3264) || defined(WIN32UNIX) || defined(MACOS)
+# if defined(WIN3264) || defined(WIN32UNIX) || defined(MACOS_X)
/* process code is SJIS */
if (lb <= 0x9f)
lb = (lb - 0x81) * 2 + 0x21;
@@ -6536,7 +6536,7 @@ convert_setup_ext(
vcp->vc_cpto = to_is_utf8 ? 0 : encname2codepage(to);
}
#endif
-#ifdef MACOS_X
+#ifdef MACOS_CONVERT
else if ((from_prop & ENC_MACROMAN) && (to_prop & ENC_LATIN1))
{
vcp->vc_type = CONV_MAC_LATIN1;
diff --git a/src/message.c b/src/message.c
index 41ab17a3f..221e3d801 100644
--- a/src/message.c
+++ b/src/message.c
@@ -2660,11 +2660,10 @@ msg_puts_printf(char_u *str, int maxlen)
if (!(silent_mode && p_verbose == 0))
{
/* NL --> CR NL translation (for Unix, not for "--version") */
- /* NL --> CR translation (for Mac) */
p = &buf[0];
if (*s == '\n' && !info_message)
*p++ = '\r';
-#if defined(USE_CR) && !defined(MACOS_X_UNIX)
+#if defined(USE_CR)
else
#endif
*p++ = *s;
@@ -3005,7 +3004,7 @@ mch_errmsg(char *str)
* On Mac, when started from Finder, stderr is the console. */
if (
# ifdef UNIX
-# ifdef MACOS_X_UNIX
+# ifdef MACOS_X
(isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
# else
isatty(2)
@@ -3072,7 +3071,7 @@ mch_msg(char *str)
* On Mac, when started from Finder, stderr is the console. */
if (
# ifdef UNIX
-# ifdef MACOS_X_UNIX
+# ifdef MACOS_X
(isatty(2) && strcmp("/dev/console", ttyname(2)) != 0)
# else
isatty(2)
diff --git a/src/misc1.c b/src/misc1.c
index eb893f6ee..f33fd3b9e 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -4334,12 +4334,8 @@ vim_getenv(char_u *name, int *mustfree)
}
/* remove trailing path separator */
-#ifndef MACOS_CLASSIC
- /* With MacOS path (with colons) the final colon is required */
- /* to avoid confusion between absolute and relative path */
if (pend > p && after_pathsep(p, pend))
--pend;
-#endif
#ifdef MACOS_X
if (p == exe_name || p == p_hf)
@@ -4499,9 +4495,9 @@ get_env_name(
expand_T *xp UNUSED,
int idx)
{
-# if defined(AMIGA) || defined(__MRC__) || defined(__SC__)
+# if defined(AMIGA)
/*
- * No environ[] on the Amiga and on the Mac (using MPW).
+ * No environ[] on the Amiga.
*/
return NULL;
# else
@@ -10996,9 +10992,6 @@ gen_expand_wildcards(
{
char_u *t = backslash_halve_save(p);
-#if defined(MACOS_CLASSIC)
- slash_to_colon(t);
-#endif
/* When EW_NOTFOUND is used, always add files and dirs. Makes
* "vim c:/" work. */
if (flags & EW_NOTFOUND)
diff --git a/src/misc2.c b/src/misc2.c
index 52ce097a8..4d4d947ff 100644
--- a/src/misc2.c
+++ b/src/misc2.c
@@ -2202,7 +2202,7 @@ static struct modmasktable
{MOD_MASK_MULTI_CLICK, MOD_MASK_2CLICK, (char_u)'2'},
{MOD_MASK_MULTI_CLICK, MOD_MASK_3CLICK, (char_u)'3'},
{MOD_MASK_MULTI_CLICK, MOD_MASK_4CLICK, (char_u)'4'},
-#ifdef MACOS
+#ifdef MACOS_X
{MOD_MASK_CMD, MOD_MASK_CMD, (char_u)'D'},
#endif
/* 'A' must be the last one */
@@ -2927,7 +2927,7 @@ extract_modifiers(int key, int *modp)
{
int modifiers = *modp;
-#ifdef MACOS
+#ifdef MACOS_X
/* Command-key really special, no fancynest */
if (!(modifiers & MOD_MASK_CMD))
#endif
@@ -2954,7 +2954,7 @@ extract_modifiers(int key, int *modp)
if (key == 0)
key = K_ZERO;
}
-#ifdef MACOS
+#ifdef MACOS_X
/* Command-key really special, no fancynest */
if (!(modifiers & MOD_MASK_CMD))
#endif
@@ -5933,10 +5933,7 @@ pathcmp(const char *p, const char *q, int maxlen)
#define EXTRASIZE 5 /* increment to add to env. size */
static int envsize = -1; /* current size of environment */
-#ifndef MACOS_CLASSIC
-extern
-#endif
- char **environ; /* the global which is your env. */
+extern char **environ; /* the global which is your env. */
static int findenv(char *name); /* look for a name in the env. */
static int newenv(void); /* copy env. from stack to heap */
@@ -6008,19 +6005,14 @@ newenv(void)
char **env, *elem;
int i, esize;
-#ifdef MACOS
- /* for Mac a new, empty environment is created */
- i = 0;
-#else
for (i = 0; environ[i]; i++)
;
-#endif
+
esize = i + EXTRASIZE + 1;
env = (char **)alloc((unsigned)(esize * sizeof (elem)));
if (env == NULL)
return -1;
-#ifndef MACOS
for (i = 0; environ[i]; i++)
{
elem = (char *)alloc((unsigned)(strlen(environ[i]) + 1));
@@ -6029,7 +6021,6 @@ newenv(void)
env[i] = elem;
strcpy(elem, environ[i]);
}
-#endif
env[i] = 0;
environ = env;
@@ -6093,7 +6084,6 @@ filewritable(char_u *fname)
#if defined(UNIX) || defined(VMS)
perm = mch_getperm(fname);
#endif
-#ifndef MACOS_CLASSIC /* TODO: get either mch_writable or mch_access */
if (
# ifdef WIN3264
mch_writable(fname) &&
@@ -6104,7 +6094,6 @@ filewritable(char_u *fname)
# endif
mch_access((char *)fname, W_OK) == 0
)
-#endif
{
++retval;
if (mch_isdir(fname))
diff --git a/src/option.c b/src/option.c
index baa8d855c..320bbfd7c 100644
--- a/src/option.c
+++ b/src/option.c
@@ -510,7 +510,7 @@ static struct vimoption options[] =
#endif
(char_u *)0L} SCRIPTID_INIT},
{"antialias", "anti", P_BOOL|P_VI_DEF|P_VIM|P_RCLR,
-#if defined(FEAT_GUI) && defined(MACOS_X)
+#if defined(FEAT_GUI_MAC)
(char_u *)&p_antialias, PV_NONE,
{(char_u *)FALSE, (char_u *)FALSE}
#else
@@ -1431,7 +1431,7 @@ static struct vimoption options[] =
{"guioptions", "go", P_STRING|P_VI_DEF|P_RALL|P_FLAGLIST,
#if defined(FEAT_GUI)
(char_u *)&p_go, PV_NONE,
-# if defined(UNIX) && !defined(MACOS)
+# if defined(UNIX) && !defined(FEAT_GUI_MAC)
{(char_u *)"aegimrLtT", (char_u *)0L}
# else
{(char_u *)"egmrLtT", (char_u *)0L}
@@ -1697,8 +1697,7 @@ static struct vimoption options[] =
{"isprint", "isp", P_STRING|P_VI_DEF|P_RALL|P_COMMA|P_NODUP,
(char_u *)&p_isp, PV_NONE,
{
-#if defined(MSWIN) || (defined(MACOS) && !defined(MACOS_X)) \
- || defined(VMS)
+#if defined(MSWIN) || defined(VMS)
(char_u *)"@,~-255",
#else
# ifdef EBCDIC
@@ -1989,7 +1988,7 @@ static struct vimoption options[] =
#if defined(MSWIN)
(char_u *)"popup",
#else
-# if defined(MACOS)
+# if defined(MACOS_X)
(char_u *)"popup_setpos",
# else
(char_u *)"extend",
@@ -3650,7 +3649,7 @@ set_init_1(void)
options[opt_idx].flags |= P_DEF_ALLOCED;
}
-#if defined(MSWIN) || defined(MACOS) || defined(VMS)
+#if defined(MSWIN) || defined(MACOS_X) || defined(VMS)
if (STRCMP(p_enc, "latin1") == 0
# ifdef FEAT_MBYTE
|| enc_utf8
diff --git a/src/os_mac.h b/src/os_mac.h
index a0eda8226..9fc2f9289 100644
--- a/src/os_mac.h
+++ b/src/os_mac.h
@@ -77,7 +77,7 @@
*/
/* When compiled under MacOS X (including CARBON version)
* we use the Unix File path style. Also when UNIX is defined. */
-# define USE_UNIXFILENAME
+#define USE_UNIXFILENAME
/*
@@ -94,15 +94,10 @@
quite fast. Did I forgot to update the
comment */
-
#define USE_FNAME_CASE /* make ":e os_Mac.c" open the file in its
original case, as "os_mac.c" */
#define BINARY_FILE_IO
#define EOL_DEFAULT EOL_MAC
-#ifndef MACOS_X_UNIX /* I hope that switching these two lines */
-# define USE_CR /* does what I want -- BNF */
-# define NO_CONSOLE /* don't include console mode */
-#endif
#define HAVE_AVAIL_MEM
#ifndef HAVE_CONFIG_H
@@ -128,38 +123,38 @@
*/
#ifndef SYS_VIMRC_FILE
-# define SYS_VIMRC_FILE "$VIM/vimrc"
+# define SYS_VIMRC_FILE "$VIM/vimrc"
#endif
#ifndef SYS_GVIMRC_FILE
-# define SYS_GVIMRC_FILE "$VIM/gvimrc"
+# define SYS_GVIMRC_FILE "$VIM/gvimrc"
#endif
#ifndef SYS_MENU_FILE
-# define SYS_MENU_FILE "$VIMRUNTIME/menu.vim"
+# define SYS_MENU_FILE "$VIMRUNTIME/menu.vim"
#endif
#ifndef SYS_OPTWIN_FILE
-# define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
+# define SYS_OPTWIN_FILE "$VIMRUNTIME/optwin.vim"
#endif
#ifndef VIM_DEFAULTS_FILE
-# define VIM_DEFAULTS_FILE "$VIMRUNTIME/defaults.vim"
+# define VIM_DEFAULTS_FILE "$VIMRUNTIME/defaults.vim"
#endif
#ifndef EVIM_FILE
-# define EVIM_FILE "$VIMRUNTIME/evim.vim"
+# define EVIM_FILE "$VIMRUNTIME/evim.vim"
#endif
#ifdef FEAT_GUI
# ifndef USR_GVIMRC_FILE
-# define USR_GVIMRC_FILE "~/.gvimrc"
+# define USR_GVIMRC_FILE "~/.gvimrc"
# endif
# ifndef GVIMRC_FILE
# define GVIMRC_FILE "_gvimrc"
# endif
#endif
#ifndef USR_VIMRC_FILE
-# define USR_VIMRC_FILE "~/.vimrc"
+# define USR_VIMRC_FILE "~/.vimrc"
#endif
#ifndef USR_EXRC_FILE
-# define USR_EXRC_FILE "~/.exrc"
+# define USR_EXRC_FILE "~/.exrc"
#endif
#ifndef VIMRC_FILE
@@ -171,7 +166,7 @@
#endif
#ifndef DFLT_HELPFILE
-# define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt"
+# define DFLT_HELPFILE "$VIMRUNTIME/doc/help.txt"
#endif
#ifndef FILETYPE_FILE
@@ -194,12 +189,12 @@
#endif
#ifndef SYNTAX_FNAME
-# define SYNTAX_FNAME "$VIMRUNTIME/syntax/%s.vim"
+# define SYNTAX_FNAME "$VIMRUNTIME/syntax/%s.vim"
#endif
#ifdef FEAT_VIMINFO
# ifndef VIMINFO_FILE
-# define VIMINFO_FILE "~/.viminfo"
+# define VIMINFO_FILE "~/.viminfo"
# endif
#endif /* FEAT_VIMINFO */
@@ -218,7 +213,7 @@
#define DFLT_ERRORFILE "errors.err"
#ifndef DFLT_RUNTIMEPATH
-# define DFLT_RUNTIMEPATH "~/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,~/.vim/after"
+# define DFLT_RUNTIMEPATH "~/.vim,$VIM/vimfiles,$VIMRUNTIME,$VIM/vimfiles/after,~/.vim/after"
#endif
/*
@@ -226,11 +221,6 @@
*/
#define CMDBUFFSIZE 1024 /* size of the command processing buffer */
-#if !defined(MACOS_X_UNIX)
-# define MAXPATHL 256 /* Limited by the Pascal Strings */
-# define BASENAMELEN (32-5-1) /* length of base of filename */
-#endif
-
#ifndef DFLT_MAXMEM
# define DFLT_MAXMEM 512 /* use up to 512 Kbyte for buffer */
#endif
@@ -245,12 +235,8 @@
#define mch_rename(src, dst) rename(src, dst)
#define mch_remove(x) unlink((char *)(x))
#ifndef mch_getenv
-# if defined(__MRC__) || defined(__SC__)
+# if defined(__APPLE_CC__)
# define mch_getenv(name) ((char_u *)getenv((char *)(name)))
-# define mch_setenv(name, val, x) setenv((name), (val))
-# elif defined(__APPLE_CC__)
-# define mch_getenv(name) ((char_u *)getenv((char *)(name)))
-/*# define mch_setenv(name, val, x) setenv((name), (val)) */ /* Obsoleted by Dany on Oct 30, 2001 */
# define mch_setenv(name, val, x) setenv(name, val, x)
# else
/* vim_getenv() is in pty.c */
@@ -275,33 +261,31 @@
* of ./configure for console MacOS X.
*/
-#ifdef MACOS_X_UNIX
-# ifndef SIGPROTOARG
-# define SIGPROTOARG (int)
-# endif
-# ifndef SIGDEFARG
-# define SIGDEFARG(s) (s) int s UNUSED;
-# endif
-# ifndef SIGDUMMYARG
-# define SIGDUMMYARG 0
-# endif
-# undef HAVE_AVAIL_MEM
-# ifndef HAVE_CONFIG_H
-# define RETSIGTYPE void
-# define SIGRETURN return
+#ifndef SIGPROTOARG
+# define SIGPROTOARG (int)
+#endif
+#ifndef SIGDEFARG
+# define SIGDEFARG(s) (s) int s UNUSED;
+#endif
+#ifndef SIGDUMMYARG
+# define SIGDUMMYARG 0
+#endif
+#undef HAVE_AVAIL_MEM
+#ifndef HAVE_CONFIG_H
+# define RETSIGTYPE void
+# define SIGRETURN return
/*# define USE_SYSTEM */ /* Output ship do debugger :(, but ot compile */
-# define HAVE_SYS_WAIT_H 1 /* Attempt */
-# define HAVE_TERMIOS_H 1
-# define SYS_SELECT_WITH_SYS_TIME 1
-# define HAVE_SELECT 1
-# define HAVE_SYS_SELECT_H 1
-# define HAVE_PUTENV
-# define HAVE_SETENV
-# define HAVE_RENAME
-# endif
+# define HAVE_SYS_WAIT_H 1 /* Attempt */
+# define HAVE_TERMIOS_H 1
+# define SYS_SELECT_WITH_SYS_TIME 1
+# define HAVE_SELECT 1
+# define HAVE_SYS_SELECT_H 1
+# define HAVE_PUTENV
+# define HAVE_SETENV
+# define HAVE_RENAME
#endif
-#if defined(MACOS_X) && !defined(HAVE_CONFIG_H)
+#if !defined(HAVE_CONFIG_H)
# define HAVE_PUTENV
#endif
diff --git a/src/os_macosx.m b/src/os_macosx.m
index d6913d407..029f103b1 100644
--- a/src/os_macosx.m
+++ b/src/os_macosx.m
@@ -8,20 +8,16 @@
*/
/*
- * os_macosx.m -- Mac specific things for Mac OS/X.
+ * os_macosx.m -- Mac specific things for Mac OS X.
*/
-#ifndef MACOS_X_UNIX
- Error: MACOS 9 is no longer supported in Vim 7
-#endif
-
/* Avoid a conflict for the definition of Boolean between Mac header files and
* X11 header files. */
#define NO_X11_INCLUDES
#define BalloonEval int /* used in header files */
#include "vim.h"
-#import <Cocoa/Cocoa.h>
+#import <AppKit/AppKit.h>
/*
diff --git a/src/os_unix.c b/src/os_unix.c
index 59e5745de..a39caffe4 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -856,10 +856,6 @@ mch_stackcheck(char *p)
* completely full.
*/
-#if defined(HAVE_AVAILABILITYMACROS_H)
-# include <AvailabilityMacros.h>
-#endif
-
#ifndef SIGSTKSZ
# define SIGSTKSZ 8000 /* just a guess of how much stack is needed... */
#endif
@@ -879,13 +875,6 @@ init_signal_stack(void)
if (signal_stack != NULL)
{
# ifdef HAVE_SIGALTSTACK
-# if defined(__APPLE__) && (!defined(MAC_OS_X_VERSION_MAX_ALLOWED) \
- || MAC_OS_X_VERSION_MAX_ALLOWED <= 1040)
- /* missing prototype. Adding it to osdef?.h.in doesn't work, because
- * "struct sigaltstack" needs to be declared. */
- extern int sigaltstack(const struct sigaltstack *ss, struct sigaltstack *oss);
-# endif
-
# ifdef HAVE_SS_BASE
sigstk.ss_base = signal_stack;
# else
diff --git a/src/proto.h b/src/proto.h
index 92e3f6055..a60d3c895 100644
--- a/src/proto.h
+++ b/src/proto.h
@@ -213,7 +213,7 @@ void qsort(void *base, size_t elm_count, size_t elm_size, int (*cmp)(const void
# endif
# if defined(FEAT_GUI) || defined(FEAT_JOB_CHANNEL)
-# if defined(UNIX) || defined(MACOS)
+# if defined(UNIX) || defined(MACOS_X)
# include "pty.pro"
# endif
# endif
@@ -286,7 +286,7 @@ extern char *vim_SelFile(Widget toplevel, char *prompt, char *init_path, int (*s
#ifdef MACOS_CONVERT
# include "os_mac_conv.pro"
#endif
-#if defined(MACOS_X_UNIX) && defined(FEAT_CLIPBOARD) && !defined(FEAT_GUI)
+#if defined(MACOS_X_DARWIN) && defined(FEAT_CLIPBOARD) && !defined(FEAT_GUI)
/* functions in os_macosx.m */
void clip_mch_lose_selection(VimClipboard *cbd);
int clip_mch_own_selection(VimClipboard *cbd);
diff --git a/src/pty.c b/src/pty.c
index 151a2780f..1a27ab69b 100644
--- a/src/pty.c
+++ b/src/pty.c
@@ -89,7 +89,7 @@
# include <sys/ptem.h>
#endif
-#if !defined(SUN_SYSTEM) && !defined(VMS) && !defined(MACOS)
+#if !defined(SUN_SYSTEM) && !defined(VMS)
# include <sys/ioctl.h>
#endif
@@ -379,21 +379,15 @@ OpenPTY(char **ttyn)
{
for (d = PTYRANGE1; (p[1] = *d) != '\0'; d++)
{
-#if !defined(MACOS) || defined(USE_CARBONIZED)
if ((f = open(PtyName, O_RDWR | O_NOCTTY | O_EXTRA, 0)) == -1)
-#else
- if ((f = open(PtyName, O_RDWR | O_NOCTTY | O_EXTRA)) == -1)
-#endif
continue;
q[0] = *l;
q[1] = *d;
-#ifndef MACOS
if (geteuid() != ROOT_UID && mch_access(TtyName, R_OK | W_OK))
{
close(f);
continue;
}
-#endif
#if defined(SUN_SYSTEM) && defined(TIOCGPGRP) && !defined(SUNOS3)
/* Hack to ensure that the slave side of the pty is
* unused. May not work in anything other than SunOS4.1
diff --git a/src/structs.h b/src/structs.h
index 7b0f70cd3..774104cf5 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -969,19 +969,12 @@ typedef struct attr_entry
# else
# if defined(MACOS_X)
# include <sys/errno.h>
-# define EILSEQ ENOENT /* MacOS X does not have EILSEQ */
+# ifndef EILSEQ
+# define EILSEQ ENOENT /* Early MacOS X does not have EILSEQ */
+# endif
typedef struct _iconv_t *iconv_t;
# else
-# if defined(MACOS_CLASSIC)
-typedef struct _iconv_t *iconv_t;
-# define EINVAL 22
-# define E2BIG 7
-# define ENOENT 2
-# define EFAULT 14
-# define EILSEQ 123
-# else
-# include <errno.h>
-# endif
+# include <errno.h>
# endif
typedef void *iconv_t;
# endif
diff --git a/src/term.c b/src/term.c
index 4a202bb50..8df5e02ec 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2534,7 +2534,7 @@ out_trash(void)
void
out_char(unsigned c)
{
-#if defined(UNIX) || defined(VMS) || defined(AMIGA) || defined(MACOS_X_UNIX)
+#if defined(UNIX) || defined(VMS) || defined(AMIGA) || defined(MACOS_X)
if (c == '\n') /* turn LF into CR-LF (CRMOD doesn't seem to do this) */
out_char('\r');
#endif
@@ -2554,7 +2554,7 @@ static void out_char_nf(unsigned);
static void
out_char_nf(unsigned c)
{
-#if defined(UNIX) || defined(VMS) || defined(AMIGA) || defined(MACOS_X_UNIX)
+#if defined(UNIX) || defined(VMS) || defined(AMIGA) || defined(MACOS_X)
if (c == '\n') /* turn LF into CR-LF (CRMOD doesn't seem to do this) */
out_char_nf('\r');
#endif
diff --git a/src/termlib.c b/src/termlib.c
index fee14ae15..0dc58942e 100644
--- a/src/termlib.c
+++ b/src/termlib.c
@@ -13,7 +13,7 @@
#include "vim.h"
#include "termlib.pro"
-#if !defined(AMIGA) && !defined(VMS) && !defined(MACOS)
+#if !defined(AMIGA) && !defined(VMS)
# include <sgtty.h>
#endif
diff --git a/src/ui.c b/src/ui.c
index f175e1abf..d7daf9413 100644
--- a/src/ui.c
+++ b/src/ui.c
@@ -1748,7 +1748,7 @@ read_from_input_buf(char_u *buf, long maxlen)
void
fill_input_buf(int exit_on_error UNUSED)
{
-#if defined(UNIX) || defined(VMS) || defined(MACOS_X_UNIX)
+#if defined(UNIX) || defined(VMS) || defined(MACOS_X)
int len;
int try;
static int did_read_something = FALSE;
@@ -1772,7 +1772,7 @@ fill_input_buf(int exit_on_error UNUSED)
return;
}
#endif
-#if defined(UNIX) || defined(VMS) || defined(MACOS_X_UNIX)
+#if defined(UNIX) || defined(VMS) || defined(MACOS_X)
if (vim_is_input_buf_full())
return;
/*
diff --git a/src/undo.c b/src/undo.c
index 792d79170..2c5725fa1 100644
--- a/src/undo.c
+++ b/src/undo.c
@@ -1750,7 +1750,7 @@ write_error:
if (!write_ok)
EMSG2(_("E829: write error in undo file: %s"), file_name);
-#if defined(MACOS_CLASSIC) || defined(WIN3264)
+#if defined(WIN3264)
/* Copy file attributes; for systems where this can only be done after
* closing the file. */
if (buf->b_ffname != NULL)
diff --git a/src/version.c b/src/version.c
index 60ea4f37c..7a2bcf560 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1236,
+/**/
1235,
/**/
1234,
@@ -3389,15 +3391,11 @@ list_version(void)
# endif
# endif
#endif
-#ifdef MACOS
-# ifdef MACOS_X
-# ifdef MACOS_X_UNIX
- MSG_PUTS(_("\nMacOS X (unix) version"));
-# else
- MSG_PUTS(_("\nMacOS X version"));
-# endif
-#else
- MSG_PUTS(_("\nMacOS version"));
+#if defined(MACOS_X)
+# if defined(MACOS_X_DARWIN)
+ MSG_PUTS(_("\nmacOS version"));
+# else
+ MSG_PUTS(_("\nmacOS version w/o darwin feat."));
# endif
#endif
@@ -3530,9 +3528,6 @@ list_version(void)
# if defined(TARGET_API_MAC_OSX) && TARGET_API_MAC_OSX
MSG_PUTS(_("with Cocoa GUI."));
# else
-# if defined(MACOS)
- MSG_PUTS(_("with (classic) GUI."));
-# endif
# endif
# endif
# endif
diff --git a/src/vim.h b/src/vim.h
index ed12b072f..d12c46cd8 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -85,28 +85,15 @@
#endif
/*
- * MACOS_CLASSIC compiling for MacOS prior to MacOS X
- * MACOS_X_UNIX compiling for MacOS X (using os_unix.c)
- * MACOS_X compiling for MacOS X (using os_unix.c)
- * MACOS compiling for either one
+ * MACOS_X compiling for Mac OS X
+ * MACOS_X_DARWIN integrating the darwin feature into MACOS_X
*/
-#if defined(macintosh) && !defined(MACOS_CLASSIC)
-# define MACOS_CLASSIC
-#endif
-#if defined(MACOS_X_UNIX)
+#if defined(MACOS_X_DARWIN) && !defined(MACOS_X)
# define MACOS_X
-# ifndef HAVE_CONFIG_H
-# define UNIX
-# endif
-#endif
-#if defined(MACOS_X) || defined(MACOS_CLASSIC)
-# define MACOS
-#endif
-#if defined(MACOS_X) && defined(MACOS_CLASSIC)
- Error: To compile for both MACOS X and Classic use a Classic Carbon
#endif
/* Unless made through the Makefile enforce GUI on Mac */
-#if defined(MACOS) && !defined(HAVE_CONFIG_H)
+#if defined(MACOS_X) && !defined(HAVE_CONFIG_H)
+# define UNIX
# define FEAT_GUI_MAC
#endif
@@ -164,23 +151,17 @@
# endif
# endif
#endif
-#ifdef MACOS
-# if defined(__POWERPC__) || defined(MACOS_X) || defined(__fourbyteints__) \
- || defined(__MRC__) || defined(__SC__) || defined(__APPLE_CC__)/* MPW Compilers */
-# define VIM_SIZEOF_INT 4
-# else
-# define VIM_SIZEOF_INT 2
-# endif
+#if defined(MACOS_X) && !defined(HAVE_CONFIG_H)
+# define VIM_SIZEOF_INT __SIZEOF_INT__
#endif
-
/*
* #defines for optionals and features
* Also defines FEAT_TINY, FEAT_SMALL, etc. when FEAT_HUGE is defined.
*/
#include "feature.h"
-#if defined(MACOS_X_UNIX)
+#if defined(MACOS_X_DARWIN)
# if defined(FEAT_SMALL) && !defined(FEAT_CLIPBOARD)
# define FEAT_CLIPBOARD
# endif
@@ -227,7 +208,7 @@
#endif
/* The Mac conversion stuff doesn't work under X11. */
-#if defined(FEAT_MBYTE) && defined(MACOS_X)
+#if defined(FEAT_MBYTE) && defined(MACOS_X_DARWIN)
# define MACOS_CONVERT
#endif
@@ -297,10 +278,7 @@
# include "os_mint.h"
#endif
-#if defined(MACOS)
-# if defined(__MRC__) || defined(__SC__) /* MPW Compilers */
-# define HAVE_SETENV
-# endif
+#if defined(MACOS_X)
# include "os_mac.h"
#endif
@@ -2358,9 +2336,10 @@ typedef enum {
# ifdef instr
# undef instr
# endif
- /* bool may cause trouble on MACOS but is required on a few other systems
- * and for Perl */
-# if defined(bool) && defined(MACOS) && !defined(FEAT_PERL)
+ /* bool may cause trouble on some old versions of Mac OS X but is required
+ * on a few other systems and for Perl */
+# if (defined(MACOS_X) && !defined(MAC_OS_X_VERSION_10_6)) \
+ && defined(bool) && !defined(FEAT_PERL)
# undef bool
# endif
diff --git a/src/window.c b/src/window.c
index ad084a4eb..97c5dc3c3 100644
--- a/src/window.c
+++ b/src/window.c
@@ -6364,7 +6364,7 @@ vim_FullName(
/* something failed; use the file name (truncate when too long) */
vim_strncpy(buf, fname, len - 1);
}
-#if defined(MACOS_CLASSIC) || defined(MSWIN)
+#if defined(MSWIN)
slash_adjust(buf);
#endif
return retval;