Subject: [Vim-vms] RE: VIM on OpenVMS

From: Bram Moolenaar <[email-masked]>
Date: Mon, 10 Nov 2003 17:28:34 +0100

Frank -

> Thank you both very much for your responses on this.
> 
> I had put an "#include <trmdef.h>" in os_unix.h under the VMS
> conditional which is already there and has a bunch of other VMS
> includes. I thought that it should go there rather than in os_vms.h
> since the other includes were there. If you think that include should go
> into os_vms.h, let me know. I want to make sure I follow your
> conventions.

Looks OK to me.

> Also, I included the "#ifdef __GNV" in the code segment that I gave you
> just so that you could see the new and the old code. I don't need to
> have that in any final version if you decide to go with my code. At this
> point, I have no other changes to VIM in order to use it with GNV.
> Zoltan, you did a great job!

If this code works for all VMS systems we can just leave out the #ifdef.
If there is an (old) version that can't handle it we might use an
#ifdef.  Please do try out this code on various systems.  If it looks
good we'll use the approach to use the new code until someone complains.

> One recommendation I might make is in the "VIM, TMP and VIMRUNTIME" or
> any other logical names you might use. Including a special character,
> such as a dollar sign ($) in the logical name helps prevent some
> problems you can run into with symbol substitution in VMS. For example,
> if you define the logical name "VIM" to be "DISK:[PATH.VIM]" and then
> try to give a command like "TYPE VIM" you would expect that command to
> type out a file named "VIM" in your current directory. However, DCL will
> substitute "DISK:[PATH.VIM]" for "VIM" to result in the command "TYPE
> DISK:[PATH.VIM]", which is not what the user would expect. If instead
> you used the logical names "VIM$, TMP$ and VIMRUNTIME$", this would be
> much less likely to happen. Perhaps to keep backward compatibility, VIM
> could use both sets of logicals? Just a thought.

I have no opinion on this, since I don't know this enviroment.

> Bram, do you have any licensing issues with us including VIM with GNV?
> As I stated in my original email, GNV is open source, and is free to
> all. We are hoping that if you do include the fix I have provided that
> we will not have to make any changes to VIM ourselves, but just include
> it with GNV.

That sounds OK.  See ":help uganda" for the license details.

Thanks for your help!

- Bram

-- 
Engineers are always delighted to share wisdom, even in areas in which they
have no experience whatsoever.  Their logic provides them with inherent
insight into any field of expertise.  This can be a problem when dealing with
the illogical people who believe that knowledge can only be derived through
experience.
				(Scott Adams - The Dilbert principle)

 /// Bram Moolenaar -- [email-masked] -- http://www.Moolenaar.net   \\\
///          Creator of Vim - Vi IMproved -- http://www.Vim.org          \\\
\\\              Project leader for A-A-P -- http://www.A-A-P.org        ///
 \\\  Help AIDS victims, buy here: http://ICCF-Holland.org/click1.html  ///

---

From: "Ries, Frank" <[email-masked]>
Date: Mon, 10 Nov 2003 10:37:25 -0500

Hi Bram and Zoltan,

I have access to ALPHA and VAX systems running OpenVMS V6.2, and I will
try the code I gave you on both to make sure there are no issues with
the older versions of OpenVMS. I'll let you both know how that goes.

Thank you both for your help.

Frank Ries

-----Original Message-----
From: Arpadffy Zoltan [mailto:[email-masked]] 
Sent: Monday, November 10, 2003 04:48 AM
To: 'Bram Moolenaar'
Cc: Ries, Frank; [email-masked]'
Subject: RE: VIM on OpenVMS

Bram, 

>> Frank's code works very well... and it is superior indeed.
>> 
>> Unfortunately, I could not test on older VMS versions than 7.2 (I
just
lost
>> my VAX that runs 6.2), but I assume that Frank did it.
>> 
>> I would have two notes:
>> 1. #ifdef __GNV is not needed - Frank do you have some special reason
to
use
>> this define?
>> 2. #include <trmdef.h> should be included - it defines all TRM$Ms

>I'm glad the suggested code works well for you.

Me too... this character input was pain for long time... seems we are
approaching the best solution.

>Where would trmdef.h need to be included, just above vms_read()?
>For other/older VMS systems: We use "#ifdef VAXC" in os_unix.h.  Does
>that make sense here as well?

Seems both DECC and VAXC have trmdef.h
Therefore #ifdef VMS section in os_unix.h would be the best place to
include.

Frank: could you please verify that it works on older systems as well?

Regards, 
Z