emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] trunk r113826: * lisp/emacs-lisp/timer.el (timer--time-set


From: Stefan Monnier
Subject: [Emacs-diffs] trunk r113826: * lisp/emacs-lisp/timer.el (timer--time-setter): New function.
Date: Tue, 13 Aug 2013 02:30:57 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 113826
revision-id: address@hidden
parent: address@hidden
committer: Stefan Monnier <address@hidden>
branch nick: trunk
timestamp: Mon 2013-08-12 22:30:52 -0400
message:
  * lisp/emacs-lisp/timer.el (timer--time-setter): New function.
  (timer--time): Use it as gv-setter.
  * lisp/emacs-lisp/gv.el (gv-define-simple-setter): Output warning when
  setter is not a symbol.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/emacs-lisp/cl-macs.el     clmacs.el-20091113204419-o5vbwnq5f7feedwu-612
  lisp/emacs-lisp/gv.el          setf.el-20120531120738-6w8114hk2anryyud-1
  lisp/emacs-lisp/timer.el       timer.el-20091113204419-o5vbwnq5f7feedwu-2591
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2013-08-12 17:25:22 +0000
+++ b/lisp/ChangeLog    2013-08-13 02:30:52 +0000
@@ -1,3 +1,11 @@
+2013-08-13  Stefan Monnier  <address@hidden>
+
+       * emacs-lisp/timer.el (timer--time-setter): New function.
+       (timer--time): Use it as gv-setter.
+
+       * emacs-lisp/gv.el (gv-define-simple-setter): Output warning when
+       setter is not a symbol.
+
 2013-08-12  Grégoire Jadi  <address@hidden>
 
        * mail/sendmail.el (sendmail-send-it): Don't kill the error buffer
@@ -20,8 +28,8 @@
 
 2013-08-11  Lars Magne Ingebrigtsen  <address@hidden>
 
-       * net/eww.el (eww-display-html): Ignore coding system errors.  One
-       web site uses "utf-8lias" as the coding system.
+       * net/eww.el (eww-display-html): Ignore coding system errors.
+       One web site uses "utf-8lias" as the coding system.
 
 2013-08-11  Juanma Barranquero  <address@hidden>
 
@@ -222,7 +230,7 @@
        (allout-up-current-level, allout-end-of-level, allout-reindent-body)
        (allout-yank-processing, allout-process-exposed)
        (allout-latex-verb-quote, allout-latexify-one-item, outlineify-sticky)
-       (allout-latex-verbatim-quote-curr-line): Removed unused variables.
+       (allout-latex-verbatim-quote-curr-line): Remove unused variables.
        * emacs-lisp/lisp-mode.el (lisp-eval-defun, last-sexp-toggle-display)
        (lisp-indent-defform): Mark ignored arguments.
        (lisp-indent-line): Mark ignored arguments.  Remove unused variables.

=== modified file 'lisp/emacs-lisp/cl-macs.el'
--- a/lisp/emacs-lisp/cl-macs.el        2013-07-12 01:11:22 +0000
+++ b/lisp/emacs-lisp/cl-macs.el        2013-08-13 02:30:52 +0000
@@ -616,7 +616,7 @@
   (declare (debug (form &optional sexp)))
   (if (cl--compiling-file)
       (let* ((temp (cl-gentemp "--cl-load-time--"))
-            (set `(set ',temp ,form)))
+            (set `(setq ,temp ,form)))
        (if (and (fboundp 'byte-compile-file-form-defmumble)
                 (boundp 'this-kind) (boundp 'that-one))
            (fset 'byte-compile-file-form

=== modified file 'lisp/emacs-lisp/gv.el'
--- a/lisp/emacs-lisp/gv.el     2013-01-02 16:13:04 +0000
+++ b/lisp/emacs-lisp/gv.el     2013-08-13 02:30:52 +0000
@@ -217,13 +217,15 @@
     temp)
 so as to preserve the semantics of `setf'."
   (declare (debug (sexp (&or symbolp lambda-expr) &optional sexp)))
+  (when (eq 'lambda (car-safe setter))
+    (message "Use `gv-define-setter' or name %s's setter function" name))
   `(gv-define-setter ,name (val &rest args)
      ,(if fix-return
           `(macroexp-let2 nil v val
              `(progn
-                (,',setter ,@(append args (list v)))
+                (,',setter ,@args ,v)
                 ,v))
-        `(cons ',setter (append args (list val))))))
+        ``(,',setter ,@args ,val))))
 
 ;;; Typical operations on generalized variables.
 

=== modified file 'lisp/emacs-lisp/timer.el'
--- a/lisp/emacs-lisp/timer.el  2013-08-10 12:30:38 +0000
+++ b/lisp/emacs-lisp/timer.el  2013-08-13 02:30:52 +0000
@@ -55,30 +55,29 @@
 (defsubst timer--check (timer)
   (or (timerp timer) (signal 'wrong-type-argument (list #'timerp timer))))
 
+(defun timer--time-setter (timer time)
+  (timer--check timer)
+  (setf (timer--high-seconds timer) (pop time))
+  (let ((low time) (usecs 0) (psecs 0))
+    (when (consp time)
+      (setq low (pop time))
+      (when time
+        (setq usecs (pop time))
+        (when time
+          (setq psecs (car time)))))
+    (setf (timer--low-seconds timer) low)
+    (setf (timer--usecs timer) usecs)
+    (setf (timer--psecs timer) psecs)
+    time))
+
 ;; Pseudo field `time'.
 (defun timer--time (timer)
+  (declare (gv-setter timer--time-setter))
   (list (timer--high-seconds timer)
         (timer--low-seconds timer)
        (timer--usecs timer)
        (timer--psecs timer)))
 
-(gv-define-setter timer--time (time timer)
-  (macroexp-let2 nil val time
-    `(progn
-       (timer--check ,timer)
-       (setf (timer--high-seconds ,timer) (pop ,val))
-       (let ((low ,val) (usecs 0) (psecs 0))
-        (when (consp ,val)
-          (setq low (pop ,val))
-          (when ,val
-            (setq usecs (pop ,val))
-            (when ,val
-              (setq psecs (car ,val)))))
-        (setf (timer--low-seconds ,timer) low)
-        (setf (timer--usecs ,timer) usecs)
-        (setf (timer--psecs ,timer) psecs))
-       ,val)))
-
 (defun timer-set-time (timer time &optional delta)
   "Set the trigger time of TIMER to TIME.
 TIME must be in the internal format returned by, e.g., `current-time'.


reply via email to

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