Am 02.11.2013 um 23:40 schrieb Bram Moolenaar <b...@moolenaar.net>:
> Kazunobu Kuriyama wrote:
>> On Nov 3, 2013, at 6:09 AM, Bram Moolenaar <b...@moolenaar.net> wrote:
>>> 
>>> Felix Buenemann wrote:
>>>> Am 01.11.2013 um 08:27 schrieb Kazunobu Kuriyama 
>>>> <kazunobu.kuriy...@nifty.com>:
>>>>> On Nov 1, 2013, at 12:47 PM, Bram Moolenaar <b...@moolenaar.net> wrote:
>>>>>> 
>>>>>> Felix Buenemann wrote:
>>>>>>> Am 27.10.2013 um 16:02 schrieb Bram Moolenaar <b...@moolenaar.net>:
>>>>>>>> Björn wrote:
>>>>>>>>> On Mon, Oct 21, 2013 at 12:14 AM, Felix Buenemann wrote:
>>>>>>>>>> Am 19.10.2013 um 18:54 schrieb björn:
>>>>>>>>>>> On Sun, Oct 13, 2013 at 11:16 PM, Felix Bünemann wrote:
>>>>>>>>>>>> Am Mittwoch, 9. Oktober 2013 20:25:49 UTC+2 schrieb björn:
>>>>>>>>>>>>> On Wed, Oct 9, 2013 at 12:18 AM, Felix Bünemann wrote:
>>>>>>>>>>>>>> I'm pretty sure that AvailabilityMacros.h is available on all 
>>>>>>>>>>>>>> versions of OS
>>>>>>>>>>>>>> X, because it's copyright header states 2001-20xx which matches 
>>>>>>>>>>>>>> the OS X
>>>>>>>>>>>>>> 10.0 release timeline. Is the os_mac.h code also targeting OS 9? 
>>>>>>>>>>>>>> In that
>>>>>>>>>>>>>> case we should add a configure check.
>>>>>>>>>>>>> 
>>>>>>>>>>>>> Yes, pre-OS X should be supported.  If there is a suitable #ifdef
>>>>>>>>>>>>> check for that, then it should be possible to submit as a patch to
>>>>>>>>>>>>> mainline Vim.
>>>>>>>>>>>> 
>>>>>>>>>>>> OK, I've updated the patch with a configure check:
>>>>>>>>>>>> https://gist.github.com/felixbuenemann/6150257
>>>>>>>>>>> 
>>>>>>>>>>> This looks good to me ... but should we perhaps be checking for
>>>>>>>>>>> "Availability.h" instead as that is what is used on Mavericks (and
>>>>>>>>>>> earlier OS X versions did not need explicit inclusion of
>>>>>>>>>>> AvailabilityMacros.h)?
>>>>>>>>>> 
>>>>>>>>>> The macros used in the vim codebase are defined in 
>>>>>>>>>> AvailabilityMacros.h not Availability.h.
>>>>>>>>>> Availability.h has similar but not the same macros, so using it 
>>>>>>>>>> would require cluttering the code with even more ifdefs.
>>>>>>>>> 
>>>>>>>>> OK.  Well, then I think this solves the problem of compiling on OS X
>>>>>>>>> 10.9 neatly and that it could be included in mainline Vim.
>>>>>>>>> 
>>>>>>>>> Bram, can you please consider this patch for inclusion.  It should
>>>>>>>>> apply cleanly (I just tried myself) and it automatically solves the
>>>>>>>>> problem of us having to know exactly when this header was made
>>>>>>>>> available.  I've pasted it below for your convenience.  Note that
>>>>>>>>> Felix Bünemann wrote the patch, not me.
>>>>>>>> 
>>>>>>>> Thanks, I'll put it in the todo list.
>>>>>>>> 
>>>>>>>> How about the patch that Kazunobu Kuriyama sent on Friday?
>>>>>>> 
>>>>>>> Both patches should be fine. Mine uses a configure check to see if
>>>>>>> AvailabilityMacros.h is available while Kazonubu Kuriyama used some
>>>>>>> compiler defines to check if the header is needed, so his solution is
>>>>>>> a bit more lightweight.
>>>>>> 
>>>>>> Just to be clear: So including one or the other works, but I should not
>>>>>> include both?
>>>>>> 
>>>>> 
>>>>> Though Björn Winckler has not replied to Bram’s email above yet, let me 
>>>>> try to clarify.
>>>>> 
>>>>> Felix Bünemann’s patch is for building VIM as a Carbon application, while 
>>>>> mine is for that as a plain UNIX application, I mean, the latter lets VIM 
>>>>> depend only on universal libc and ncurses (and additionally X11) stuff, 
>>>>> not on any API such as Carbon or Quartz peculiar to Mac.
>>>>> 
>>>>> That makes a big difference in keyboard response, but this is another 
>>>>> story...
>>>>> 
>>>>> From practical and technical points of view, I think both of the patches 
>>>>> won’t conflict each other because his patch is mainly for os_mac.h while 
>>>>> mine is only for os_unix.c.  No intersection, no conflict, though his 
>>>>> solution uses the configure script which affects the whole build 
>>>>> procedure, thus making it harder to evaluate possible unfavorable impact 
>>>>> on the build.
>>>>> 
>>>>> Each of the patches will do for its own purpose.
>>>>> 
>>>>> Hopefully, this clarifies the issue.  
>>>>> 
>>>>> Regards,
>>>>> KK
>>>> 
>>>> Are we talking about the same patches? I was referring to the patch you 
>>>> send to the vim_dev list with the subject "[patch] src/os_unix.c (for 
>>>> build on Mac OS X 10.9 Mavericks)“.
>>>> 
>>>> To compare https://gist.github.com/6150257 (my patch) and 
>>>> https://gist.github.com/felixbuenemann/7283250 (KK’s patch).
>>>> 
>>>> I think they achieve exactly the same think and the only difference is
>>>> that my patch uses configure to check if AvailabilityMacros.h is
>>>> available, while KK’s patch uses some existing preprocessor macros.
>>>> This means that only one of the patches should be used.
>>> 
>>> I sent out two patches that combine them, using the configure check for
>>> Kazonubu's patch as well.  Please check it works this way.
>> 
>> Bram,
>> 
>> Please include my patch as it was; otherwise, it won’t work as expected.  In 
>> fact, Patch 7.4.056 fails to compile os_unix.c.
>> 
>> Let me clarify my point in another way: Felix Bünemann’s patch doesn’t cover 
>> the case where the configuration option -—disable-darwin is chosen in the 
>> build on the Mac.
>> 
>> I’d like to remind you of Section 1.2 of src/INSTALLmac.txt, that is, there 
>> is another way to build vim differently from that of MacVim or alike.
>> 
>> That’s why I sent my patch to vim_dev, not to mac_vim; the patch fixes a 
>> problem which is almost irrelevant to MacVim.
> 
> Hmm, why is that configure check inside
> "if test "$enable_darwin" = "yes"; then“?

It’s inside that block because it seemed the most appropriate place to put it 
when I wrote that code and I wasn’t aware of the fact that you can compile vim 
with disable-darwin on OS X.

> Checking for header files should be done by configure. using #ifdefs is
> bound to break somewhere somewhen.
> 
> What if we move the configure check outside of that "if"?  Or pehaps it
> should go at the toplevel?

That should work.

> Looking at it again, I wonder why this doesn't use the normal way of
> AC_CHECK_HEADER:
> 
> AC_CHECK_HEADER(AvailabilityMacros.h, HAVE_AVAILABILITYMACROS_H = 1)
> 
> Also, why protect the #include with the version check,
> __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__.  What happens if we leave
> that out?

Well there is the remote case of Mac OS X 10.0 and 10.1 where 
AvailabilityMacros.h is missing
> 
> -- 
> It is illegal for anyone to give lighted cigars to dogs, cats, and other
> domesticated animal kept as pets.
>               [real standing law in Illinois, United States of America]
> 
> /// Bram Moolenaar -- b...@moolenaar.net -- http://www.Moolenaar.net   \\\
> ///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
> \\\  an exciting new programming language -- http://www.Zimbu.org        ///
> \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///
> 
> -- 
> -- 
> You received this message from the "vim_mac" maillist.
> Do not top-post! Type your reply below the text you are replying to.
> For more information, visit http://www.vim.org/maillist.php
> 
> --- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "vim_mac" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/vim_mac/5kVAMSPb6uU/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> vim_mac+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.

-- 
-- 
You received this message from the "vim_mac" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_mac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_mac+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to