Operating System - OpenVMS
1753808 Members
8047 Online
108805 Solutions
New Discussion юеВ

emacs : emerge utility (on OpenVMS)

 
akhil mittal
New Member

emacs : emerge utility (on OpenVMS)

In emacs, I am trying to use the merge utility as follows:
M-x emerge-files
and thereafter entring the file names present in my default directory. But when emerge calls for "diff" utility it displays

the following error:

Errors found in diff/diff3 output.
%DIFF-F-OPENIN, error opening HCL_NISN_DEV:\[RI.V190-0200.SRC.TEST]FIRST.C as input-RMS-F-SYN, file specification syntax

error

The problem as seems to me is the path emerge is sending to the diff utility: it should be
HCL_NISN_DEV:[RI.V190-0200.SRC.TEST]FIRST.C

But it's sending:
HCL_NISN_DEV:\[RI.V190-0200.SRC.TEST]FIRST.C

Does anyone knows how to correct this issue?

Regards
Akhil
4 REPLIES 4
Kris Clippeleyr
Honored Contributor

Re: emacs : emerge utility (on OpenVMS)

Akhil,
Welcome to the OpenVMS forum.
Since emacs/emerge are not native VMS utilities, I assume that these are some kind of freeware/opensource/public domain implementations of this U**x stuff.
I think the only one that can help you is the maintainer of these utilities, and/or the one that ported them to (written them for) VMS.
Regards,
Kris (aka Qkcl)
I'm gonna hit the highway like a battering ram on a silver-black phantom bike...
Karl Rohwedder
Honored Contributor

Re: emacs : emerge utility (on OpenVMS)

Just a wild shot, but there a lot of DECC$* control logicals to change the behaviour of filename parsing.The HP C Runtime Library manuals lists these.

regards Kalle
Craig A Berry
Honored Contributor

Re: emacs : emerge utility (on OpenVMS)

The backslash is an escape indicator for Unix shells. It looks like emacs spots the left bracket and tries to escape it so it will be taken literally by the shell. This is obviously the wrong thing to do for the VMS "shell"/CLI and most likely the only way to fix it would be to locate where it's happening in the emacs sources and rewrite how it processes file specifications.

One possible workaround on recent versions of VMS would be to try giving it the filespec in Unix syntax, for example "./first.c" or "/hcl_nisn_dev/ri/v190-0200/src/test/first.c".

The next problem you'll have is that what emacs is getting when it spawns its merge operation is the native VMS DIFFERENCES command, but it almost certainly will be expecting GNU diff. GNU diffutils are now in GNV and have for some time been on the HP Freeware CD (v5 I think). You'll need to concoct a way for emacs to get the GNU diff rather than DIFFERENCES, such as by setting up a foreign command:

$ DIFF :== $GNU:[BIN]DIFF.EXE

but note that this potentially interferes with anything using the native DIFFERENCES and abbreviating the command to its first four letters.
Jan van den Ende
Honored Contributor

Re: emacs : emerge utility (on OpenVMS)

Akhil,

extending on the suggestion given by Craig:
Although little used, and perhaps little known, VMS directory syntax needs not be limited by the [ ] pair.
Replacing those with the < > pair also is valid syntax.
Then again, the latter might well also induce the U*x escape... :-(

I haven't got the faintest idea about the inner workings of (your version of) emacs, but it is worth the try...

hth.

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.