Dave Griffiths <[email protected]> wrote:

> Hi, just tried building vim on z/OS as described here:
> http://vimdoc.sourceforge.net/htmldoc/os_390.html. It fails on
> compiling regexp:
>
> cc -c -I. -Iproto -DHAVE_CONFIG_H -g -D_ALL_SOURCE -o objects/regexp.o
> regexp.c
> ERROR CCN3052 ./regexp.c:748   Duplicate case label for value 193.
> Labels must be unique.
> ERROR CCN3052 ./regexp.c:754   Duplicate case label for value 195.
> Labels must be unique.
> [etc]
>
> According to configure it has recognized that this is a z/OS (OS/390)
> machine.
>
> It appears as though it is trying to compile in native ebcdic mode. So
> when it sees this:
>
> case 'A': case '\300': case '\301': case '\302':
>
> 'A' in ebcdic is decimal 193, the same as octal 301. Is it intended
> that vim is compiled using the ebcdic code page?
>
> Thanks,
>
> Dave

This code (case 'A': case '\300': case '\301': case '\302':)
in regex.c is in the #else section of #ifdef EBCDIC.

On z/OS, I'm pretty sure EBCDIC should be #define/d so
this line should not even be compiled.  Now the question
is: why EBCDIC is not defined for you?

What does configure say after...
checking if character set is EBCDIC...
?

Also, which version of Vim are you using?  I'm asking because
your error message gives line regexp.c:748, but for me, using
the latest version of Vim from Mercurial, the case 'A' (...) is
at line regexp.c:789.

You should download the the latest version of Vim (7.3.003)
since patches for z/OS have been included in version-7.3.
See ":help version-7.3" which says...

Add patch to improve support of z/OS (OS/390). (Ralf Schandl)

Regards
-- Dominique

-- 
You received this message from the "vim_dev" 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

Raspunde prin e-mail lui