Loading ...
Sorry, an error occurred while loading the content.

Re: MacOS X, iconv and gettext emulation

Expand Messages
  • Mac Vim Support (Axel Kielhorn)
    ... This compiles as advertized as long as iconv is disabled. When I enable USE_ICONV I get complaints about undefined EINVAL and E2BIG. Both are defined for
    Message 1 of 12 , Jul 7, 2002
    • 0 Attachment
      At 17:18 Uhr +0900 2002-07-07, MURAOKA Taro wrote:
      > > This means <StandardFile.h> and <Traps.h> are not included for
      >MACOS_CLASSIC.
      >> Are you sure these includes are not needed for MACOS_X?
      >
      >Thank you for notifing this. It is a mistake. I had expected that it
      >means <StandardFile.h> and <Traps.h> are not included for MACOS_X, as
      >you guessed. Those two header are not available on Mac OS X, and
      >warnings are shown when compile.
      >
      >Try to fix this as below.

      This compiles as advertized as long as iconv is disabled.

      When I enable USE_ICONV I get complaints about
      undefined EINVAL and E2BIG.

      Both are defined for MPW but not for Codewarrior.
      I guess this means no iconv support for MacOS Classic.

      Axel
    • Bram Moolenaar
      ... In case it s just these two missing, can t you add: #ifndef EINVAL # define EINVAL 22 #endif #ifndef E2BIG # define E2BIG 7 #endif I think the numbers are
      Message 2 of 12 , Jul 9, 2002
      • 0 Attachment
        Axel Kielhorn wrote:

        > At 17:18 Uhr +0900 2002-07-07, MURAOKA Taro wrote:
        > > > This means <StandardFile.h> and <Traps.h> are not included for
        > >MACOS_CLASSIC.
        > >> Are you sure these includes are not needed for MACOS_X?
        > >
        > >Thank you for notifing this. It is a mistake. I had expected that it
        > >means <StandardFile.h> and <Traps.h> are not included for MACOS_X, as
        > >you guessed. Those two header are not available on Mac OS X, and
        > >warnings are shown when compile.
        > >
        > >Try to fix this as below.
        >
        > This compiles as advertized as long as iconv is disabled.
        >
        > When I enable USE_ICONV I get complaints about
        > undefined EINVAL and E2BIG.
        >
        > Both are defined for MPW but not for Codewarrior.
        > I guess this means no iconv support for MacOS Classic.

        In case it's just these two missing, can't you add:

        #ifndef EINVAL
        # define EINVAL 22
        #endif
        #ifndef E2BIG
        # define E2BIG 7
        #endif

        I think the numbers are the same everywhere. Even better is when you
        have an "errno.h" file to include.

        --
        Biting someone with your natural teeth is "simple assault," while biting
        someone with your false teeth is "aggravated assault."
        [real standing law in Louisana, United States of America]

        /// Bram Moolenaar -- Bram@... -- http://www.moolenaar.net \\\
        /// Creator of Vim -- http://vim.sf.net -- ftp://ftp.vim.org/pub/vim \\\
        \\\ Project leader for A-A-P -- http://www.a-a-p.org ///
        \\\ Help me helping AIDS orphans in Uganda - http://iccf-holland.org ///
      • Mac Vim Support (Axel Kielhorn)
        ... I have an errno.h file and it #define EINVAL 9 only for __dest_os == __win32_os I ll try again with EINVAL and E2BIG defined as above. Axel
        Message 3 of 12 , Jul 11, 2002
        • 0 Attachment
          At 11:38 Uhr +0200 2002-07-09, Bram Moolenaar wrote:
          >
          >In case it's just these two missing, can't you add:
          >
          >#ifndef EINVAL
          ># define EINVAL 22
          >#endif
          >#ifndef E2BIG
          ># define E2BIG 7
          >#endif
          >
          >I think the numbers are the same everywhere. Even better is when you
          >have an "errno.h" file to include.
          >

          I have an errno.h file and it
          #define EINVAL 9
          only for __dest_os == __win32_os

          I'll try again with EINVAL and E2BIG defined as above.

          Axel
        • Mac Vim Support (Axel Kielhorn)
          ... After defining these errors (and ENOENT, EFAULT and EILSEG (the later is defined in mbyte.c but used in os_macosx.c) and including TextEncodingConverter.h,
          Message 4 of 12 , Jul 14, 2002
          • 0 Attachment
            At 11:38 Uhr +0200 2002-07-09, Bram Moolenaar wrote:
            >
            >#ifndef EINVAL
            ># define EINVAL 22
            >#endif
            >#ifndef E2BIG
            ># define E2BIG 7
            >#endif

            After defining these errors (and ENOENT, EFAULT and EILSEG (the later
            is defined in mbyte.c but used in os_macosx.c) and including
            TextEncodingConverter.h, I discovered that my libraries are out of
            date.

            Now I've updated to Universal headers 3.4.1 (which are probably
            already outdated since carbonLib 1.6 got released.)

            I'm now down to several:

            Error : not a struct/union/class
            os_macosx.c line 294 st = TECCreateConverter(&cd->tec, fromEnc, toEnc);

            And a lot of:

            Error : cannot convert
            'const char *' to
            'unsigned long'
            os_macosx.c line 419 buf_in, in_len, (ByteCount*)&in_true,

            Error : cannot convert
            'char *' to
            'unsigned long'
            os_macosx.c line 420 buf_out, out_len, (ByteCount*)&out_true);

            Error : cannot convert
            'char *' to
            'unsigned long'
            os_macosx.c line 432 buf_out, out_true, (ByteCount*)&rev_in,

            Error : cannot convert
            'char *' to
            'unsigned long'
            os_macosx.c line 433 buf_rev, in_true, (ByteCount*)&rev_out);

            Error : cannot convert
            'char *' to
            'unsigned long'
            os_macosx.c line 459 buf_out, out_len, (ByteCount*)&out_true);

            Error : cannot convert
            'char *' to
            'unsigned long'
            os_macosx.c line 469 buf_out, out_len, (ByteCount*)&out_true);

            Why doesn't the MacOS X compiler complain?

            Axel
          • Benji Fisher
            ... MURAOKA Taro: I have tried compiling, and there are several problems. Easy ones first: 1. I want the application to be named Vim.app instead of gvim.app
            Message 5 of 12 , Jul 16, 2002
            • 0 Attachment
              On Monday, July 1, 2002, at 09:26 PM, MURAOKA Taro wrote:

              >> After your previous patch, some of my menus got translated (into
              >> Japanese?) even though I changed none of the defaults. Should I have
              >> read the Makefile more carefully, or was this your fault?
              >
              > It may be fixed on new patch.
              > Language which used for menu and its font maybe depend on existence of
              > *.lproj directory and System Preferences setting. If there is no
              > *.lproj for your selected language, other one of available *.lproj was
              > used. On previous patch, I had prepared only Japanese.lproj, it caused
              > your case. But on new patch, Make_osx.mak create English.lproj as
              > default. It is expected to show default english menu.
              >
              > If you need, you could specify to create other *.lproj directories
              > additionally using MULTILANG compile option.

              MURAOKA Taro:

              I have tried compiling, and there are several problems. Easy ones
              first:

              1. I want the application to be named Vim.app instead of gvim.app so I
              edited Make_osx.mak . This mostly worked, but po/Make_osx.pl also
              assumes that the executable is called gvim. Can you arrange it so that
              the change in Make_osx.mak is automatically made in po/Make_osx.pl ?

              2. A while ago on this list, Raindog gave us an Info.plist that enables
              drag-and-drop. I have been distributing it with my builds. Could you
              change your makefile so that it includes this improvement? (You can get
              the Info.plist from the patches/ folder on my iDisk or ask and I will
              send it to you directly.) Also, I think that most people prefer Douglas
              Stebila's icon; could you use that instead?
              http://mac.douglas.stebila.ca/code/vim/

              3. I tried compiling with MULTILANG=all . The menus look OK, but the
              introduction screen, the window title, and the status line have some
              unwanted characters. I tried again with MULTILANG=none and the problem
              is still there. Worse, my viminfo file got corrupted: here are the
              first few lines:

              åt| his viminfo file was generated by Vim 6.1.
              åt| ou may edit it if you're careful!

              åt| alue of 'encoding' when this file was written

              (Above copied and pasted from Terminal vim, using the usual system copy
              and paste. Below copied from gvim using "*y3<CR> .)

              Ât†his viminfo file was generated by Vim 6.1.
              Ât†ou may edit it if you're careful!

              Ât†alue of 'encoding' when this file was written
              *encoding=latin1

              4. I tried rm ~/.viminfo ; make clean ; make -f Make_osx.mak . There
              was less recompiling than I expected, and the time stamp on gvim.app/
              did not change; I am not sure if this is a problem. After this, I still
              see the strange characters as before, and the first few lines of
              ~/.viminfo now look like this:

              GÄhis viminfo file was generated by Vim 6.1.
              GÄou may edit it if you're careful!

              GÄalue of 'encoding' when this file was written
              *encoding=latin1

              I am not sure where to go from here. I will post the binary on my
              iDisk as vim61alpha.tar.gz in case you or anyone else wants to try it
              out.

              --Benji Fisher
            • Benji Fisher
              ... I guess that should have been make -f Make_osx.mak clean. I tried again, with more recompilation but without much change in the results. --Benji Fisher
              Message 6 of 12 , Jul 16, 2002
              • 0 Attachment
                On Tuesday, July 16, 2002, at 02:26 PM, Benji Fisher wrote:

                > [snip]
                > 4. I tried rm ~/.viminfo ; make clean ; make -f Make_osx.mak . There
                > was less recompiling than I expected, and the time stamp on gvim.app/
                > did not change; I am not sure if this is a problem.

                I guess that should have been make -f Make_osx.mak clean. I tried
                again, with more recompilation but without much change in the results.

                --Benji Fisher

                http://homepage.mac.com/fisherbb/index.html
              • Mac Vim Support (Axel Kielhorn)
                Last week I wrote that it should be possible to use TEC for Mac Classic. That was a bad thing to do, because I couldn t rest until I got it compiled:-) The
                Message 7 of 12 , Jul 29, 2002
                • 0 Attachment
                  Last week I wrote that it should be possible to use TEC for Mac Classic.
                  That was a bad thing to do, because I couldn't rest until I got it compiled:-)

                  The patches included (against a clean 6.1.118) include the changes to
                  get iconv emulation layer compiled with CodeWarrior 2 for MacOS
                  Classic.

                  What have I done?
                  os_macosx.c:
                  #include <TextEncodingConverter.h>
                  (This is automatically included with carbon.h)
                  Changed a lot of variables to the types expected by the library to
                  avoid casting: buf_in, buf_out, out_len, out_true, etc.
                  CW is really picky about type missmatch.

                  os_mac.h:
                  #define TRACE

                  structs.h:
                  Added typedef for MacOS Classic,
                  define missing errors.

                  Project:
                  Added library (Patch not included)

                  Things to do:
                  Learn how to use encodings to test if it really works.

                  Muraoka-san,

                  could you please integrate these patches into your version and if
                  possible release a new patch against a more recent Vim?

                  Everyone else:

                  The patches will be probably missing from the list, if you really
                  want them, please ask by mail.

                  Axel
                • MURAOKA Taro
                  Great works!!. ... I see. I will try it on this week end. ... MURAOKA Taro
                  Message 8 of 12 , Jul 29, 2002
                  • 0 Attachment
                    Great works!!.

                    > Muraoka-san,
                    >
                    > could you please integrate these patches into your version and if
                    > possible release a new patch against a more recent Vim?

                    I see. I will try it on this week end.
                    ----
                    MURAOKA Taro <koron@...>
                  Your message has been successfully submitted and would be delivered to recipients shortly.