Re: The “//” fix confuses cygwin-mount

2018-10-05 Thread Chris Zheng


Thank you, Michael and Andy. The fix is great.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-29 Thread Michael Albinus
Andy Moreton  writes:

Hi Andy,

> I assume your patch is against standalone tramp. After patching emacs
> master, the problem is fixed:

Thanks for checking. I've committed the patch to Emacs' master branch.

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-28 Thread Andy Moreton
On Fri 28 Sep 2018, Michael Albinus wrote:
> Ahh, indeed. I could reproduce the problem then. The following patch
> seems to fix the problem, could you pls test? (The line numbers might
> differ a little bit)
>
> diff --git a/lisp/tramp.el b/lisp/tramp.el
> index 92d165e4..0d56ec91 100644
> --- a/lisp/tramp.el
> +++ b/lisp/tramp.el
> @@ -3625,7 +3625,11 @@ support symbolic links."
>   (setq filename
> (concat (file-remote-p filename)
> (replace-regexp-in-string
> -   "\\`/+" "/" (substitute-in-file-name 
> localname)))
> +   "\\`/+" "/"
> +;; We must disable cygwin file name
> +;; handlers and alike.
> +(tramp-run-real-handler
> + 'substitute-in-file-name (list localname
>;; "/m:h:~" does not work for completion.  We use "/m:h:~/".
>(if (and (stringp localname) (string-equal "~" localname))
> (concat filename "/")

I assume your patch is against standalone tramp. After patching emacs
master, the problem is fixed:

(substitute-in-file-name "/method:host:/foo")
#("/method:ajm@host:/foo" 8 11 (tramp-default t))

Here is what I tested in emacs master:

diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 567701a9b2..be843a4054 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -3585,7 +3585,12 @@ tramp-handle-substitute-in-file-name
(setq filename
  (concat (file-remote-p filename)
  (replace-regexp-in-string
-   "\\`/+" "/" (substitute-in-file-name 
localname)))
+   "\\`/+" "/"
+  ;; We must disable cygwin file name
+  ;; handlers and alike.
+  (tramp-run-real-handler
+   'substitute-in-file-name (list localname
   ;; "/m:h:~" does not work for completion.  We use "/m:h:~/".
   (if (and (stringp localname) (string-equal "~" localname))
  (concat filename "/")


___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-28 Thread Michael Albinus
Andy Moreton  writes:

Hi Andy,

>> I don't know cygwin-mount.el. On the marmalade repo, I found it in
>> version "2001". Installed and evall'ed locally, and rerun the test
>
> To get cygwin-mount.el to do anything useful, you must:
> 1) Install Cygwin (e.g. in "c:\cygwin")
> 2) Set `cygwin-mount-cygwin-bin-directory' to "c:\cygwin\bin", or
>add "c:\cygwin\bin" to `exec-path'
> 3) Eval "(cygwin-mount-activate)
>
> That should setup the file handlers to do the POSIX<->Win32 path translation.

Ahh, indeed. I could reproduce the problem then. The following patch
seems to fix the problem, could you pls test? (The line numbers might
differ a little bit)

diff --git a/lisp/tramp.el b/lisp/tramp.el
index 92d165e4..0d56ec91 100644
--- a/lisp/tramp.el
+++ b/lisp/tramp.el
@@ -3625,7 +3625,11 @@ support symbolic links."
(setq filename
  (concat (file-remote-p filename)
  (replace-regexp-in-string
-   "\\`/+" "/" (substitute-in-file-name 
localname)))
+   "\\`/+" "/"
+  ;; We must disable cygwin file name
+  ;; handlers and alike.
+  (tramp-run-real-handler
+   'substitute-in-file-name (list localname
   ;; "/m:h:~" does not work for completion.  We use "/m:h:~/".
   (if (and (stringp localname) (string-equal "~" localname))
  (concat filename "/")

> AndyM

Best regards, Michael.
___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-28 Thread Andy Moreton
On Fri 28 Sep 2018, Michael Albinus wrote:
> I don't know cygwin-mount.el. On the marmalade repo, I found it in
> version "2001". Installed and evall'ed locally, and rerun the test

To get cygwin-mount.el to do anything useful, you must:
1) Install Cygwin (e.g. in "c:\cygwin")
2) Set `cygwin-mount-cygwin-bin-directory' to "c:\cygwin\bin", or
   add "c:\cygwin\bin" to `exec-path'
3) Eval "(cygwin-mount-activate)

That should setup the file handlers to do the POSIX<->Win32 path translation.

AndyM


___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-28 Thread Michael Albinus
Andy Moreton  writes:

Hi Andy,

> On Fri 28 Sep 2018, Michael Albinus wrote:
>
>> On an MS Windows machine, I have installed
>>
>> GNU Emacs 26.1 (build 1, x86_64-unknown-cygwin)
>>  of 2018-05-28
>>
>> (That's the version distributed by Cygwin.). And I have also installed
>> recent Tramp
>>
>> tramp-version
>> => "2.4.1-pre"
>>
>> When I run your example, I get
>>
>> (substitute-in-file-name "/method:host:/foo")
>> => "/method:host:/foo"
>>
>> Everything looks normal. What do I miss?
>
> Here you are running a cygwin build of emacs, but the problem occurs
> when running a native Windows version of emacs (Mingw,org or MSYS2).

The most recent Emacs 27 for MS Windows I could find is located at
. It refers
itself as

"GNU Emacs 27.0.50 (build 1, x86_64-w64-mingw32)
 of 2018-05-04"

This version works also as expected

(substitute-in-file-name "/method:host:/foo")
"/method:host:/foo"

> cygwin-mount.el allows a native Windows emacs to understand the mapping
> between POSIX paths used in cgywin and the equivalent Windows native
> paths (found by parsing the output from the Cygwin 'mount' executable).

I don't know cygwin-mount.el. On the marmalade repo, I found it in
version "2001". Installed and evall'ed locally, and rerun the test

(substitute-in-file-name "/method:host:/foo")
"/method:host:/foo"

Still the same correct behavior. Have you tried to start your Emacs with
the -Q argument, and then load cygwin-mount.el alone? Still the same problem?

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-28 Thread Andy Moreton
On Fri 28 Sep 2018, Michael Albinus wrote:

> On an MS Windows machine, I have installed
>
> GNU Emacs 26.1 (build 1, x86_64-unknown-cygwin)
>  of 2018-05-28
>
> (That's the version distributed by Cygwin.). And I have also installed
> recent Tramp
>
> tramp-version
> => "2.4.1-pre"
>
> When I run your example, I get
>
> (substitute-in-file-name "/method:host:/foo")
> => "/method:host:/foo"
>
> Everything looks normal. What do I miss?

Here you are running a cygwin build of emacs, but the problem occurs
when running a native Windows version of emacs (Mingw,org or MSYS2).

cygwin-mount.el allows a native Windows emacs to understand the mapping
between POSIX paths used in cgywin and the equivalent Windows native
paths (found by parsing the output from the Cygwin 'mount' executable).

This allows the emacs user to type Cygwin POSIX paths in a native
Windows emacs, and have those paths automatically translated into the
equivalent Windows native paths.

For example, on a 64bit native Windows build from master, using built-in
Tramp and the cygwin-mount.el package):

(version)
"GNU Emacs 27.0.50 (build 22, x86_64-w64-mingw32)
 of 2018-09-28"

emacs-repository-version
"06e2814e1f3a80d247675319d3c438989592fb06"

(substitute-in-file-name "/method:host:/foo")
#("/method:ajm@host:c:/cygwin/foo" 8 11 (tramp-default t))

 


___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-28 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

> I’m afraid the following commit is still needed for MS-Windows user
> using cygwin-mount because this problem is return.
>
> 2849477af22a1e20a86da7743562495e00b3a1b7
> Author: Michael Albinus 
> AuthorDate: Thu Mar 22 16:52:58 2018 +0100
> Commit: Michael Albinus 
> CommitDate: Thu Mar 22 16:52:58 2018 +0100
>
> For your reference, with current master of Emacs,
>
> (substitute-in-file-name "/method:host:/foo") yields
> "/method:host:c:/msys64/foo"

On an MS Windows machine, I have installed

GNU Emacs 26.1 (build 1, x86_64-unknown-cygwin)
 of 2018-05-28

(That's the version distributed by Cygwin.). And I have also installed
recent Tramp

tramp-version
=> "2.4.1-pre"

When I run your example, I get

(substitute-in-file-name "/method:host:/foo")
=> "/method:host:/foo"

Everything looks normal. What do I miss?

> Thank you very much,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-26 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

> I’m afraid the following commit is still needed for MS-Windows user
> using cygwin-mount because this problem is return.
>
> 2849477af22a1e20a86da7743562495e00b3a1b7
> Author: Michael Albinus 
> AuthorDate: Thu Mar 22 16:52:58 2018 +0100
> Commit: Michael Albinus 
> CommitDate: Thu Mar 22 16:52:58 2018 +0100

I don't understand. This commit has reached the master branch of Emacs.

What do you mean with "is still needed for MS-Windows user"?

> For your reference, with current master of Emacs,
>
> (substitute-in-file-name "/method:host:/foo") yields
> "/method:host:c:/msys64/foo"

I cannot check just no; now MS Windows machine available.

> Thank you very much,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-09-24 Thread Chris Zheng

Hello Michael,

I’m afraid the following commit is still needed for MS-Windows user
using cygwin-mount because this problem is return.

2849477af22a1e20a86da7743562495e00b3a1b7
Author: Michael Albinus 
AuthorDate: Thu Mar 22 16:52:58 2018 +0100
Commit: Michael Albinus 
CommitDate: Thu Mar 22 16:52:58 2018 +0100

For your reference, with current master of Emacs,

(substitute-in-file-name "/method:host:/foo") yields
"/method:host:c:/msys64/foo"

Thank you very much,

Chris

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-26 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

>> I've hijacked the laptop of my wife (Windows user), so I could reproduce
>> the problem. Shall be fixed now, patch pushed to the repositories. Could
>> you, pls test?
>
> Yes. It is fixed.

Thanks for testing.

> Thank you very much,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-26 Thread Chris Zheng
On Tue, 27 Mar 2018 06:47:37 +0800,
Michael Albinus wrote:

Hello Michael,

> Chris Zheng  writes:
> 
> > Hello Michael,p
> 
> Hi Chris,
> 
> > It isn’t a Cygwin Emacs. It’s native compiled under Windows using
> > MSYS2 and MinGW-w64. I’m in master branch at
> 
> I've hijacked the laptop of my wife (Windows user), so I could reproduce
> the problem. Shall be fixed now, patch pushed to the repositories. Could
> you, pls test?

Yes. It is fixed.

Thank you very much,

Chris

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-26 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

> It isn’t a Cygwin Emacs. It’s native compiled under Windows using
> MSYS2 and MinGW-w64. I’m in master branch at

I've hijacked the laptop of my wife (Windows user), so I could reproduce
the problem. Shall be fixed now, patch pushed to the repositories. Could
you, pls test?

> Chris "A Windows user"

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-23 Thread Chris Zheng
On Sat, 24 Mar 2018 07:10:04 +0800,
Michael Albinus wrote:

Hello Michael,

> Chris Zheng  writes:
> 
> > Hello Michael,
> 
> Hi Chris,
> 
> > Reproduction steps:
> >
> > Suppose I want to connect to 222.222.222.222 with user kel.
> >
> > 1. emacs -Q
> >
> > 2. C-x C-f /scpx:kel@222.222.222.222:/ RET Then a dired buffer showing
> > the root directory is opened.
> >
> > 3. With cursor in the dired buffer, hit C-x C-f again.  I see the
> > minibuffer shows
> >
> > “Find file: /scpx:kel@222.222.222.222://”.
> 
> Strange. I cannot reproduce.
> 
> > I hit RET, the buffer is flashed, and the minibuffer shows
> >
> > “Directory has changed on disk; type g to update Dired”.
> 
> Even stranger. No need to tell this to you.

It seems that I saw this many times and I got used to it.

> > If I go to other directory such as /bin, no double “//” is shown. I
> > have tested with two servers and the observation is identical.
> >
> > I have to say that the problem isn’t serious, so feel free to ignore
> > it.
> 
> Well, at least I'm not nervous yet :-)
> 
> It is Cygwin Emacs, isn't it? Which version? Self compiled?

It isn’t a Cygwin Emacs. It’s native compiled under Windows using
MSYS2 and MinGW-w64. I’m in master branch at

011186279c  Port emacs-module-tests to 32-bit Emacs

Configuration options:
  --prefix=/mingw64 --without-imagemagick --without-dbus --with-modules 
'CFLAGS=-Ofast -fopt-info -g0 -mtune=native' 
PKG_CONFIG_PATH=/mingw64/lib/pkgconfig

> > Best regards,
> >
> > Chris
> 
> Best regards, Michael.

Chris "A Windows user"

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-23 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

> Reproduction steps:
>
> Suppose I want to connect to 222.222.222.222 with user kel.
>
> 1. emacs -Q
>
> 2. C-x C-f /scpx:kel@222.222.222.222:/ RET Then a dired buffer showing
> the root directory is opened.
>
> 3. With cursor in the dired buffer, hit C-x C-f again.  I see the
> minibuffer shows
>
> “Find file: /scpx:kel@222.222.222.222://”.

Strange. I cannot reproduce.

> I hit RET, the buffer is flashed, and the minibuffer shows
>
> “Directory has changed on disk; type g to update Dired”.

Even stranger. No need to tell this to you.

> If I go to other directory such as /bin, no double “//” is shown. I
> have tested with two servers and the observation is identical.
>
> I have to say that the problem isn’t serious, so feel free to ignore
> it.

Well, at least I'm not nervous yet :-)

It is Cygwin Emacs, isn't it? Which version? Self compiled?

> Best regards,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-23 Thread Chris Zheng
On Sat, 24 Mar 2018 05:17:46 +0800,
Michael Albinus wrote:

Hello Michael,

> Chris Zheng  writes:
> 
> 
> Hi Chris,
> 
> > However, I observed that when I go to /scpx:E:/ with “C-x C-f”, and
> > “C-x C-f” again, the minibuffer shows “/scpx:E://”. Is this intended?
> 
> I cannot reproduce it, but I work on a GNU/Linux machine. Maybe it
> behaves different, compared to your MS Windows / cygwin run.
> 
> Or I misunderstand what you have said. Could you, pls, tell me the exact
> keystrokes which have led to this behavior?

Reproduction steps:

Suppose I want to connect to 222.222.222.222 with user kel.

1. emacs -Q

2. C-x C-f /scpx:kel@222.222.222.222:/ RET Then a dired buffer showing
the root directory is opened.

3. With cursor in the dired buffer, hit C-x C-f again.  I see the
minibuffer shows

“Find file: /scpx:kel@222.222.222.222://”.

I hit RET, the buffer is flashed, and the minibuffer shows

“Directory has changed on disk; type g to update Dired”.

If I go to other directory such as /bin, no double “//” is shown. I
have tested with two servers and the observation is identical.

I have to say that the problem isn’t serious, so feel free to ignore
it.

Thank you for your time.

> > Thank you,
> >
> > Chris
> 
> Best regards, Michael.

Best regards,

Chris

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-23 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

> However, I observed that when I go to /scpx:E:/ with “C-x C-f”, and
> “C-x C-f” again, the minibuffer shows “/scpx:E://”. Is this intended?

I cannot reproduce it, but I work on a GNU/Linux machine. Maybe it
behaves different, compared to your MS Windows / cygwin run.

Or I misunderstand what you have said. Could you, pls, tell me the exact
keystrokes which have led to this behavior?

> Thank you,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-22 Thread Michael Albinus
Chris Zheng  writes:

> Hello Michael,

Hi Chris,

>> Sorry, I meant this:
>> 
>> --8<---cut here---start->8---
>>(concat (file-remote-p filename)
>>(tramp-run-real-handler
>> 'substitute-in-file-name (list localname)))
>> --8<---cut here---end--->8---
>
> Yes. With this it works.

Thanks for the check; I've pushed this.

> However, I observed that when I go to /scpx:E:/ with “C-x C-f”, and
> “C-x C-f” again, the minibuffer shows “/scpx:E://”. Is this intended?

Looks strange. Will check (by tomorrow).

> Thank you,
>
> Chris

Best regards, Michael

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-22 Thread Chris Zheng
On Fri, 23 Mar 2018 05:03:00 +0800,
Michael Albinus wrote:

Hello Michael,

> Michael Albinus  writes:
> 
> Hi Chris,
> 
> > Does it work, if you change the patch like this:
> 
> Sorry, I meant this:
> 
> --8<---cut here---start->8---
> (concat (file-remote-p filename)
> (tramp-run-real-handler
>  'substitute-in-file-name (list localname)))
> --8<---cut here---end--->8---

Yes. With this it works. However, I observed that when I go to
/scpx:E:/ with “C-x C-f”, and “C-x C-f” again, the minibuffer shows
“/scpx:E://”. Is this intended?

> Best regards, Michael.

Thank you,

Chris

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-22 Thread Michael Albinus
Michael Albinus  writes:

Hi Chris,

> Does it work, if you change the patch like this:

Sorry, I meant this:

--8<---cut here---start->8---
  (concat (file-remote-p filename)
  (tramp-run-real-handler
   'substitute-in-file-name (list localname)))
--8<---cut here---end--->8---

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-22 Thread Michael Albinus
Chris Zheng  writes:

> Dear Michael,

Hi Chris,

> I’m sorry to tell you that the fix isn’t right, as
>
> (tramp-drop-volume-letter "c:/msys64/foo") ⇒ "/msys64/foo"
>
> which is still wrong. The “/msys64” should be removed, too.

Why does (substitute-in-file-name "/foo") returns "c:/msys64/foo"? This
is not covered by the description of `substitute-in-file-name'.

Does it work, if you change the patch like this:

--8<---cut here---start->8---
  (concat (file-remote-p filename)
  (tramp-drop-volume-letter
   (tramp-run-real-handler
(substitute-in-file-name (list localname
--8<---cut here---end--->8---

> Thank you,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-22 Thread Chris Zheng
On Fri, 23 Mar 2018 01:00:57 +0800,
Michael Albinus wrote:
> 
> Chris Zheng  writes:
> 
> > Dear List,
> 
> Hi Chris,

Dear Michael,

> > The commit c24c5dc4a4cc18e7f1ec949efcfe1d4bae541d02 confuses the
> > cygwin-mount that serves the translation from “/c/Windows” to
> > “C:/Windows/” under MS-Windows. With the above commit and
> > cygwin-mount,
> >
> > (substitute-in-file-name "/method:host:/foo")
> > ⇒ "/method:host:c:/msys64/foo"
> 
> Thanks for the report. I've fixed this in both Tramp and Emacs repositories.

I’m sorry to tell you that the fix isn’t right, as

(tramp-drop-volume-letter "c:/msys64/foo") ⇒ "/msys64/foo"

which is still wrong. The “/msys64” should be removed, too.

> > Thank you very much,
> >
> > Chris
> 
> Best regards, Michael.

Thank you,

Chris

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel


Re: The “//” fix confuses cygwin-mount

2018-03-22 Thread Michael Albinus
Chris Zheng  writes:

> Dear List,

Hi Chris,

> The commit c24c5dc4a4cc18e7f1ec949efcfe1d4bae541d02 confuses the
> cygwin-mount that serves the translation from “/c/Windows” to
> “C:/Windows/” under MS-Windows. With the above commit and
> cygwin-mount,
>
> (substitute-in-file-name "/method:host:/foo")
> ⇒ "/method:host:c:/msys64/foo"

Thanks for the report. I've fixed this in both Tramp and Emacs repositories.

> Thank you very much,
>
> Chris

Best regards, Michael.

___
Tramp-devel mailing list
Tramp-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/tramp-devel