all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Luc Teirlinck <teirllm@dms.auburn.edu>
Cc: emacs-devel@gnu.org
Subject: Re: time values
Date: Sun, 11 Jul 2004 10:13:09 -0500 (CDT)	[thread overview]
Message-ID: <200407111513.i6BFD9T09204@raven.dms.auburn.edu> (raw)
In-Reply-To: <86llhrq7ed.fsf@rumba.de.uu.net> (message from Kai Grossjohann on Sun, 11 Jul 2004 10:23:38 +0200)

   It would be great if there was a way for Tramp to find out whether
   the new-style or the old-style value should be returned.  Then a
   single code base could be used to support Emacs 21.3 as well as 21.4.

Like Andreas already pointed out, it depends on whether you actually
have to construct time values that other functions are going to _believe
to be return values of `visited-file-modtime'_.  In as far as I know,
all functions that accept time value arguments already can handle
both conses and lists.  If you have to construct such values, what
about just using `emacs-version'?

Otherwise, I believe the following patch should do.

By the way, your current code seems to assume that
`visited-file-modtime' is not 0.  Are you sure of that?  Of course,
you know that (nth 5 attr) is not (0 0), but still.  My patch still
probably assumes that: can tramp-time-diff handle 0 as an argument?
Otherwise, it is easy to rewrite the patch to transform 0 into (0 0),
or maybe an integer N < 2**16 into (0 N), because, theoretically,
`visited-file-modtime' can return such integers.  (Even though probably
not in practice).  But maybe `tramp-time-diff' is the place to
actually do that.

===File ~/tramp-diff-2======================================
*** tramp.el	26 Jun 2004 16:46:18 -0500	1.46
--- tramp.el	11 Jul 2004 09:35:00 -0500	
***************
*** 2338,2349 ****
  	(let* ((attr (file-attributes f))
  	       (modtime (nth 5 attr)))
  	  (cond ((and attr (not (equal modtime '(0 0))))
- 		 ;; Why does `file-attributes' return a list (HIGH
- 		 ;; LOW), but `visited-file-modtime' returns a cons
- 		 ;; (HIGH . LOW)?
  		 (let ((mt (visited-file-modtime)))
  		   (< (abs (tramp-time-diff
! 			    modtime (list (car mt) (cdr mt)))) 2)))
  		(attr
  		 (save-excursion
  		   (tramp-send-command
--- 2338,2353 ----
  	(let* ((attr (file-attributes f))
  	       (modtime (nth 5 attr)))
  	  (cond ((and attr (not (equal modtime '(0 0))))
  		 (let ((mt (visited-file-modtime)))
  		   (< (abs (tramp-time-diff
! 			    modtime
! 			    ;; For compatibility, deal with both the old
! 			    ;; (HIGH . LOW) and the new (HIGH LOW)
! 			    ;; return values of `visited-file-modtime'.
! 			    (if (and (consp mt) (atom (cdr mt)))
! 				(list (car mt) (cdr mt))
! 			      mt)))
! 			   2)))
  		(attr
  		 (save-excursion
  		   (tramp-send-command
============================================================

  parent reply	other threads:[~2004-07-11 15:13 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-07-11  0:33 time values Luc Teirlinck
2004-07-11  8:23 ` Kai Grossjohann
2004-07-11 13:35   ` Andreas Schwab
2004-07-11 14:35   ` Alex Schroeder
2004-07-11 15:13   ` Luc Teirlinck [this message]
2004-07-11 15:18     ` Luc Teirlinck
2004-07-12  3:26     ` Luc Teirlinck
2004-07-11 15:37   ` Luc Teirlinck
2004-07-11 15:57   ` Luc Teirlinck
2004-07-11 23:23   ` Richard Stallman
2004-07-12 18:22   ` Luc Teirlinck
2004-07-17 20:33     ` Kai Grossjohann
2004-07-11 23:23 ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200407111513.i6BFD9T09204@raven.dms.auburn.edu \
    --to=teirllm@dms.auburn.edu \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.