[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[h-e-w] Re: tramp-touch on NTemacs

From: Lennart Borgman (gmail)
Subject: [h-e-w] Re: tramp-touch on NTemacs
Date: Fri, 09 Mar 2007 23:46:39 +0100
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv: Gecko/20070221 Thunderbird/ Mnenhy/

Have you tried the touch.exe from gnuwin32? I do not know if it works, but it is more recent and also currently maintained. I would be interested in hearing the result.

Peter wrote:
I'm running GNU Emacs (i386-mingw-nt5.1.2600) under Windows
XP.  I need to transfer files back and forth with a Linux machine at
work that does not allow ftp access.  The pre-installed tramp package
seems to work just fine except when I try to copy a file from the
Linux machine back to my local XP machine.  The file is copied, but I
get an error message saying "tramp-touch:  touch failed".  I am using
the default method (plink?); there is nothing in my .emacs file to
modify this.  When I first experimented with tramp, it complained that
there wasn't a touch program, so I tried several versions that I
downloaded from the web, finally settling on the one from the UnxUtils
package available on  It seems to have the same
command-line options as the Unix versions, including -t.

I've looked at the tramp.el file for this error message.  It is
embedded in some code that looks like the following excerpt:

(defun tramp-touch (file time)
  "Set the last-modified timestamp of the given file.
TIME is an Emacs internal time value as returned by `current-time'."
  (let ((touch-time (format-time-string "%Y%m%d%H%M.%S" time)))
    (if (tramp-tramp-file-p file)
        (with-parsed-tramp-file-name file nil
          (let ((buf (tramp-get-buffer multi-method method user host)))
            (unless (zerop (tramp-send-command-and-check
                            multi-method method user host
                            (format "touch -t %s %s"
              (pop-to-buffer buf)
              (error "tramp-touch: touch failed, see buffer `%s' for details"
      ;; It's a local file
        (unless (zerop (call-process
                        "touch" nil (current-buffer) nil "-t" touch-time file))
              (pop-to-buffer (current-buffer))
              (error "tramp-touch: touch failed"))))))

I'm assuming that the error message is generated by the final line of
code above.  However, I don't know any List and don't know how to
debug this further.  I can, however, follow directions and would
appreciate suggestions on how to proceed.  This error occurs with
whatever version of touch.exe I install on my system.


help-gnu-emacs mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]