# HG changeset patch # User Christian Brabandt # Date 1509218135 -7200 # Node ID 351cf7c67bbe3187c19b36badc9ddb062db249e6 # Parent 279ec0abb4acd8c5ea95a9e6285cd6d6c4ecd6c4 patch 8.0.1236: Mac features are confusing commit https://github.com/vim/vim/commit/d057301b1f28736f094affa17b190244ad56e8d9 Author: Bram Moolenaar Date: Sat Oct 28 21:11:06 2017 +0200 patch 8.0.1236: Mac features are confusing Problem: Mac features are confusing. Solution: Make feature names more consistent, add "osxdarwin". Rename feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178) diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -8877,9 +8877,8 @@ listcmds Compiled with commands for the 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 f 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 --- a/runtime/doc/os_mac.txt +++ b/runtime/doc/os_mac.txt @@ -164,8 +164,9 @@ If you want to disable it, pass `--disab 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 --- a/src/auto/configure +++ b/src/auto/configure @@ -4187,6 +4187,8 @@ esac 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_obj 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_obj 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 @@ rm -f core conftest.err conftest.$ac_obj 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 @@ fi 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 @@ rm -f core conftest.err conftest.$ac_obj 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 @@ else 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 @@ fi { $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 @@ fi 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 @@ fi 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 @@ if test "x$QNX" = "xyes" -a "x$with_x" = 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 @@ fi 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 getcw 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 --- 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 --- a/src/configure.ac +++ b/src/configure.ac @@ -134,6 +134,8 @@ dnl are a lot of other things we need to 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 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 " 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 " 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" 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 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 " 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 " 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" = 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 "$e 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 getcw 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 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 --- 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 --- 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 , * 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 --- a/src/evalfunc.c +++ b/src/evalfunc.c @@ -24,7 +24,7 @@ # include #endif -#ifdef MACOS +#ifdef MACOS_X # include /* 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 --- 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 --- 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 # 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 --- 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 *)" \"*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 --- a/src/globals.h +++ b/src/globals.h @@ -1425,7 +1425,7 @@ EXTERN char_u e_failed[] INIT(= N_("E472 #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_("E4 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 #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 --- a/src/gui.c +++ b/src/gui.c @@ -37,7 +37,7 @@ static void gui_set_fg_color(char_u *nam 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 --- 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 --- 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 -#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, rangeinitia #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, rangeinitia 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, rangeinitia 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 --- a/src/if_python3.c +++ b/src/if_python3.c @@ -74,10 +74,6 @@ #include -#if defined(MACOS) && !defined(MACOS_X_UNIX) -# include "macglue.h" -# include -#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, rangeinitia 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, rangeinitia 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 --- 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) # 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 --- 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 --- 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 --- 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(¶mp->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(¶mp->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 --- a/src/mbyte.c +++ b/src/mbyte.c @@ -105,7 +105,10 @@ # include #endif #ifdef X_LOCALE -#include +# include +# 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 --- 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 --- 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 --- 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, in #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 --- 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 --- 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 --- 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 +#import /* diff --git a/src/os_unix.c b/src/os_unix.c --- 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 -#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 --- a/src/proto.h +++ b/src/proto.h @@ -213,7 +213,7 @@ void qsort(void *base, size_t elm_count, # 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 #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 --- a/src/pty.c +++ b/src/pty.c @@ -89,7 +89,7 @@ # include #endif -#if !defined(SUN_SYSTEM) && !defined(VMS) && !defined(MACOS) +#if !defined(SUN_SYSTEM) && !defined(VMS) # include #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 --- a/src/structs.h +++ b/src/structs.h @@ -969,19 +969,12 @@ typedef struct attr_entry # else # if defined(MACOS_X) # include -# 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 -# endif +# include # endif typedef void *iconv_t; # endif diff --git a/src/term.c b/src/term.c --- 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 --- 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 #endif diff --git a/src/ui.c b/src/ui.c --- a/src/ui.c +++ b/src/ui.c @@ -1748,7 +1748,7 @@ read_from_input_buf(char_u *buf, long ma 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 --- 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 --- 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 --- 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 --- 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;