[vim/vim] solve VMS build issues (PR #20131)

19 views
Skip to first unread message

Zoltan Arpadffy

unread,
May 4, 2026, 2:39:42 AMMay 4
to vim/vim, Subscribed

OpenVMS version needs to build on VAX, ALPHA, IA64 and X86_64 architectures, some of them strictly C89 compliant without many new C features and includes capabilities.

This pull request is an attempt to solve all the VMS related build issues on all platforms for the recent Vim version 9.2

Please review


You can view, comment on, or merge this pull request online at:

  https://github.com/vim/vim/pull/20131

Commit Summary

File Changes

(10 files)

Patch Links:


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131@github.com>

Zoltan Arpadffy

unread,
May 4, 2026, 3:52:00 AMMay 4
to vim/vim, Push

@arpadffy pushed 1 commit.

  • e3bad10 correct the #ifdef HAVE_STDINT_H


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/934ddf851ab2c763993ea93d535cb0c1ae6050d4/after/e3bad1052d10f999a67a22c7bb9b1f963ed0d2f0@github.com>

Christ van Willegen

unread,
May 4, 2026, 4:42:03 AMMay 4
to vim...@googlegroups.com, nor...@github.com
Hi,

There's a typo in a comment: 

-# define LIB_CVTX_TO_INTERNAL_TIME lib$cvts_to_internal_time // IEEE
+// allow fallback fon older Alphas
+# ifdef lib$cvts_to_internal_time
+#  define LIB_CVTX_TO_INTERNAL_TIME lib$cvts_to_internal_time // IEEE
+# else

Christ van Willegen

Zoltan Arpadffy

unread,
May 4, 2026, 4:52:18 AMMay 4
to vim/vim, Push

@arpadffy pushed 1 commit.


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/e3bad1052d10f999a67a22c7bb9b1f963ed0d2f0/after/0c3e98a545eb8b2fc3e3883deae80e0a9ec36eae@github.com>

Christian Brabandt

unread,
May 4, 2026, 3:51:40 PMMay 4
to vim/vim, Subscribed

@chrisbra commented on this pull request.


In src/os_vms_conf.h:

> @@ -58,7 +58,9 @@
 // Define to `int' if <sys/types.h> doesn't define.
 // #undef uid_t
 
-// Define to `unsigned int' or other type that is 32 bit.
+// Define some types from stdint - older VMS do not have stdint.h
+#define UINT8_T  unsigned char
+#define UINT16_T unsigned short

Instead of defining those, would the following make more sense?

   #ifndef HAVE_STDINT_H
   typedef unsigned char  uint8_t;
   typedef unsigned short uint16_t;
   typedef unsigned int   uint32_t;
   #endif

Then we can get rid of the conditionals in all the other C files.


In src/os_unix.c:

>      pid = fork();
+# endif

This looks suspicious. Doesn't this break this function for Vim on VMS? Is this actually working for you? echo system(['ls'])?

Perhaps we need this:

#ifndef VMS
pid = fork();
#else
pid = -1;
#endif
if (pid == -1)
{
    UNBLOCK_SIGNALS(&curset);
    close(fd_out[0]);
    close(fd_out[1]);
    emsg(_("\nCannot fork\n"));
    return NULL;
}


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/review/4222915851@github.com>

Zoltan Arpadffy

unread,
May 4, 2026, 4:45:44 PMMay 4
to vim/vim, Subscribed
arpadffy left a comment (vim/vim#20131)
This sounds like a very elegant solution.
Let me try on all architectures... and I'll get back to you.

Thanks,
Z

On Mon, 4 May 2026 at 21:50, Christian Brabandt ***@***.***>
wrote:

> ***@***.**** commented on this pull request.
> ------------------------------
>
> In src/os_vms_conf.h
> <https://github.com/vim/vim/pull/20131#discussion_r3184013602>:
>
> > @@ -58,7 +58,9 @@
> // Define to `int' if <sys/types.h> doesn't define.
> // #undef uid_t
>
> -// Define to `unsigned int' or other type that is 32 bit.
> +// Define some types from stdint - older VMS do not have stdint.h
> +#define UINT8_T unsigned char
> +#define UINT16_T unsigned short
>
> Instead of defining those, would the following make more sense?
>
> #ifndef HAVE_STDINT_H
> typedef unsigned char uint8_t;
> typedef unsigned short uint16_t;
> typedef unsigned int uint32_t;
> #endif
>
> Then we can get rid of the conditionals in all the other C files.
> ------------------------------
>
> In src/os_unix.c
> <https://github.com/vim/vim/pull/20131#discussion_r3184053073>:
>
> > pid = fork();
> +# endif
>
> This looks suspicious. Doesn't this break this function for Vim on VMS? Is
> this actually working for you? echo system(['ls'])?
>
> Perhaps we need this:
>
> #ifndef VMSpid = fork();#elsepid = -1;#endifif (pid == -1)
> {
> UNBLOCK_SIGNALS(&curset);
> close(fd_out[0]);
> close(fd_out[1]);
> emsg(_("\nCannot fork\n"));
> return NULL;
> }
>
> —
> Reply to this email directly, view it on GitHub
> <https://github.com/vim/vim/pull/20131#pullrequestreview-4222915851>, or
> unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AG7S6QBTPH3C74SNILTVQCL4ZDYCHAVCNFSM6AAAAACYPXOGI2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHM2DEMRSHEYTKOBVGE>
> .
> Triage notifications on the go with GitHub Mobile for iOS
> <https://apps.apple.com/app/apple-store/id1477376905
> or Android
> <https://play.google.com/store/apps/details
>
> You are receiving this because you authored the thread.Message ID:
> ***@***.***>
>


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/c4374349182@github.com>

Zoltan Arpadffy

unread,
May 4, 2026, 5:10:57 PMMay 4
to vim/vim, Push

@arpadffy pushed 1 commit.

  • 93b424d Merge branch 'vim:master' into master


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/0c3e98a545eb8b2fc3e3883deae80e0a9ec36eae/after/93b424d35b749351ebeaa08a66349e7a6e9a3aff@github.com>

Zoltan Arpadffy

unread,
May 4, 2026, 6:38:22 PMMay 4
to vim/vim, Push

@arpadffy pushed 4 commits.

  • d1588ff Revert "fix tailing spaces"
  • bb36908 Revert "correct the #ifdef HAVE_STDINT_H"
  • f3cec9d Revert "solve VMS build issues"
  • 326205b Define needed types when stdint.h is missing


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/93b424d35b749351ebeaa08a66349e7a6e9a3aff/after/326205b85c6b333238d024a67ae81eb2736d3f95@github.com>

Zoltan Arpadffy

unread,
May 4, 2026, 7:01:18 PMMay 4
to vim/vim, Subscribed

@arpadffy commented on this pull request.


In src/os_unix.c:

>      pid = fork();
+# endif

VMS use system, it does not have fork()... and the shell output works as expected


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/review/4224124829@github.com>

Christian Brabandt

unread,
May 5, 2026, 3:47:40 PMMay 5
to vim/vim, Subscribed

@chrisbra commented on this pull request.


In src/os_unix.c:

>      pid = fork();
+# endif

Okay, if you say it works for you then I guess this is fine


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/review/4231136420@github.com>

Zoltan Arpadffy

unread,
May 8, 2026, 1:03:47 PM (12 days ago) May 8
to vim/vim, Push

@arpadffy pushed 1 commit.

  • 4da5b04 Merge branch 'vim:master' into master


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/326205b85c6b333238d024a67ae81eb2736d3f95/after/4da5b04e4dc9889ee841b8531c4f346de528c7a3@github.com>

Zoltan Arpadffy

unread,
May 8, 2026, 11:42:43 PM (11 days ago) May 8
to vim/vim, Push

@arpadffy pushed 1 commit.

  • 3bac3cb Merge branch 'vim:master' into master


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/4da5b04e4dc9889ee841b8531c4f346de528c7a3/after/3bac3cb9e3532fd2d973887bfcb9de2f2c390647@github.com>

Zoltan Arpadffy

unread,
May 10, 2026, 2:37:13 AM (10 days ago) May 10
to vim/vim, Push

@arpadffy pushed 1 commit.

  • 7fd85ce Merge branch 'vim:master' into master


View it on GitHub or unsubscribe.


Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/before/3bac3cb9e3532fd2d973887bfcb9de2f2c390647/after/7fd85ce52227879bdf061da53e9587bb348a7528@github.com>

Zoltan Arpadffy

unread,
May 15, 2026, 5:03:07 PM (4 days ago) May 15
to vim/vim, Subscribed
arpadffy left a comment (vim/vim#20131)

@chrisbra thank you for the suggestion. it works well on VMS side on all architectures.
However, the test fail on not related issues.
What shall we do?


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/c4463606980@github.com>

Christian Brabandt

unread,
May 16, 2026, 4:07:56 AM (4 days ago) May 16
to vim/vim, Subscribed
chrisbra left a comment (vim/vim#20131)

thanks, let me re-trigger CI, I think those were just flaky tests that failed


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/c4466269653@github.com>

Christian Brabandt

unread,
May 16, 2026, 4:47:08 AM (4 days ago) May 16
to vim/vim, Subscribed

Closed #20131 via d8c4774.


Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.

You are receiving this because you are subscribed to this thread.Message ID: <vim/vim/pull/20131/issue_event/25605513768@github.com>

Reply all
Reply to author
Forward
0 new messages