Browse Source

Minor code cleanup.

Bastien Guerry 14 years ago
parent
commit
fd12e700b0
2 changed files with 42 additions and 40 deletions
  1. 38 38
      lisp/org-clock.el
  2. 4 2
      lisp/org.el

+ 38 - 38
lisp/org-clock.el

@@ -38,6 +38,7 @@
 (declare-function calendar-absolute-from-iso "cal-iso" (&optional date))
 (declare-function calendar-absolute-from-iso "cal-iso" (&optional date))
 (declare-function notifications-notify "notifications" (&rest params))
 (declare-function notifications-notify "notifications" (&rest params))
 (defvar org-time-stamp-formats)
 (defvar org-time-stamp-formats)
+(defvar org-ts-what)
 
 
 (defgroup org-clock nil
 (defgroup org-clock nil
   "Options concerning clocking working time in Org-mode."
   "Options concerning clocking working time in Org-mode."
@@ -1425,39 +1426,38 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
   "Change CLOCK timestamps synchronously at cursor.
   "Change CLOCK timestamps synchronously at cursor.
 UPDOWN tells whether to change 'up or 'down."
 UPDOWN tells whether to change 'up or 'down."
   (setq org-ts-what nil)
   (setq org-ts-what nil)
-  (when (org-at-timestamp-p t)
-    (let ((tschange (if (eq updown 'up) 'org-timestamp-up 
-		      'org-timestamp-down))
-	  ts1 begts1 ts2 begts2 updatets1 tdiff)
-      (save-excursion
-	(move-beginning-of-line 1)
-	(re-search-forward org-ts-regexp3 nil t)
-	(setq ts1 (match-string 0) begts1 (match-beginning 0))
-	(when (re-search-forward org-ts-regexp3 nil t)
-	  (setq ts2 (match-string 0) begts2 (match-beginning 0))))
-      ; Are we on the second timestamp?
-      (if (<= begts2 (point)) (setq updatets1 t))
-      (if (not ts2)
-	  ;; fall back on org-timestamp-up if there is only one
-	  (funcall tschange)
-	;; setq this so that (boundp 'org-ts-what is non-nil)
+  (let ((tschange (if (eq updown 'up) 'org-timestamp-up
+		    'org-timestamp-down))
+	ts1 begts1 ts2 begts2 updatets1 tdiff)
+    (save-excursion
+      (move-beginning-of-line 1)
+      (re-search-forward org-ts-regexp3 nil t)
+      (setq ts1 (match-string 0) begts1 (match-beginning 0))
+      (when (re-search-forward org-ts-regexp3 nil t)
+	(setq ts2 (match-string 0) begts2 (match-beginning 0))))
+    ;; Are we on the second timestamp?
+    (if (<= begts2 (point)) (setq updatets1 t))
+    (if (not ts2)
+	;; fall back on org-timestamp-up if there is only one
 	(funcall tschange)
 	(funcall tschange)
-	(let ((ts (if updatets1 ts2 ts1))
-	      (begts (if updatets1 begts1 begts2)))
-	  (setq tdiff		    
-		(subtract-time
-		 (org-time-string-to-time org-last-changed-timestamp)
-		 (org-time-string-to-time ts)))
-	  (save-excursion
-	    (goto-char begts)
-	    (org-timestamp-change
-	     (round (/ (org-float-time tdiff) 
-		       (cond ((eq org-ts-what 'minute) 60)
-			     ((eq org-ts-what 'hour) 3600)
-			     ((eq org-ts-what 'day) (* 24 3600))
-			     ((eq org-ts-what 'month) (* 24 3600 31))
-			     ((eq org-ts-what 'year) (* 24 3600 365.2)))))
-	     org-ts-what 'updown)))))))
+      ;; setq this so that (boundp 'org-ts-what is non-nil)
+      (funcall tschange)
+      (let ((ts (if updatets1 ts2 ts1))
+	    (begts (if updatets1 begts1 begts2)))
+	(setq tdiff
+	      (subtract-time
+	       (org-time-string-to-time org-last-changed-timestamp)
+	       (org-time-string-to-time ts)))
+	(save-excursion
+	  (goto-char begts)
+	  (org-timestamp-change
+	   (round (/ (org-float-time tdiff)
+		     (cond ((eq org-ts-what 'minute) 60)
+			   ((eq org-ts-what 'hour) 3600)
+			   ((eq org-ts-what 'day) (* 24 3600))
+			   ((eq org-ts-what 'month) (* 24 3600 31))
+			   ((eq org-ts-what 'year) (* 24 3600 365.2)))))
+	   org-ts-what 'updown))))))
 
 
 (defun org-clock-cancel ()
 (defun org-clock-cancel ()
   "Cancel the running clock by removing the start timestamp."
   "Cancel the running clock by removing the start timestamp."
@@ -1741,7 +1741,7 @@ fontified, and then returned."
   "Create a table containing a report about clocked time.
   "Create a table containing a report about clocked time.
 If the cursor is inside an existing clocktable block, then the table
 If the cursor is inside an existing clocktable block, then the table
 will be updated.  If not, a new clocktable will be inserted.  The scope
 will be updated.  If not, a new clocktable will be inserted.  The scope
-of the new clock will be subtree when called from within a subtree, and 
+of the new clock will be subtree when called from within a subtree, and
 file elsewhere.
 file elsewhere.
 
 
 When called with a prefix argument, move to the first clock table in the
 When called with a prefix argument, move to the first clock table in the
@@ -1753,11 +1753,11 @@ buffer and update it."
     (org-show-entry))
     (org-show-entry))
   (if (org-in-clocktable-p)
   (if (org-in-clocktable-p)
       (goto-char (org-in-clocktable-p))
       (goto-char (org-in-clocktable-p))
-    (let ((props (if (ignore-errors 
+    (let ((props (if (ignore-errors
 		       (save-excursion (org-back-to-heading)))
 		       (save-excursion (org-back-to-heading)))
 		     (list :name "clocktable" :scope 'subtree)
 		     (list :name "clocktable" :scope 'subtree)
 		   (list :name "clocktable"))))
 		   (list :name "clocktable"))))
-      (org-create-dblock 
+      (org-create-dblock
        (org-combine-plists org-clock-clocktable-default-properties props))))
        (org-combine-plists org-clock-clocktable-default-properties props))))
   (org-update-dblock))
   (org-update-dblock))
 
 
@@ -2133,7 +2133,7 @@ from the dynamic block defintion."
   ;; much easier because there can be a fixed format with a
   ;; much easier because there can be a fixed format with a
   ;; well-defined number of columns...
   ;; well-defined number of columns...
   (let* ((hlchars '((1 . "*") (2 . "/")))
   (let* ((hlchars '((1 . "*") (2 . "/")))
-	 (lwords (assoc (or (plist-get params :lang) 
+	 (lwords (assoc (or (plist-get params :lang)
 			    org-export-default-language)
 			    org-export-default-language)
 			org-clock-clocktable-language-setup))
 			org-clock-clocktable-language-setup))
 	 (multifile (plist-get params :multifile))
 	 (multifile (plist-get params :multifile))
@@ -2221,14 +2221,14 @@ from the dynamic block defintion."
        (if level-p   (concat (nth 2 lwords) "|") "")  ; level column, maybe
        (if level-p   (concat (nth 2 lwords) "|") "")  ; level column, maybe
        (if timestamp (concat (nth 3 lwords) "|") "")  ; timestamp column, maybe
        (if timestamp (concat (nth 3 lwords) "|") "")  ; timestamp column, maybe
        (if properties (concat (mapconcat 'identity properties "|") "|") "") ;properties columns, maybe
        (if properties (concat (mapconcat 'identity properties "|") "|") "") ;properties columns, maybe
-       (concat (nth 4 lwords) "|" 
+       (concat (nth 4 lwords) "|"
 	       (nth 5 lwords) "|\n"))                 ; headline and time columns
 	       (nth 5 lwords) "|\n"))                 ; headline and time columns
 
 
       ;; Insert the total time in the table
       ;; Insert the total time in the table
       (insert-before-markers
       (insert-before-markers
        "|-\n"                            ; a hline
        "|-\n"                            ; a hline
        "|"                               ; table line starter
        "|"                               ; table line starter
-       (if multifile (concat "| " (nth 6 lwords) " ") "") 
+       (if multifile (concat "| " (nth 6 lwords) " ") "")
 				         ; file column, maybe
 				         ; file column, maybe
        (if level-p   "|"      "")        ; level column, maybe
        (if level-p   "|"      "")        ; level column, maybe
        (if timestamp "|"      "")        ; timestamp column, maybe
        (if timestamp "|"      "")        ; timestamp column, maybe

+ 4 - 2
lisp/org.el

@@ -17547,7 +17547,8 @@ Depending on context, this does one of the following:
   "Change timestamps synchronously up in CLOCK log lines."
   "Change timestamps synchronously up in CLOCK log lines."
   (interactive)
   (interactive)
   (cond ((and (not org-support-shift-select)
   (cond ((and (not org-support-shift-select)
-	      (org-at-clock-log-p))
+	      (org-at-clock-log-p)
+	      (org-at-timestamp-p t))
 	 (org-clock-timestamps-up))
 	 (org-clock-timestamps-up))
 	(t (org-shiftselect-error))))
 	(t (org-shiftselect-error))))
 
 
@@ -17555,7 +17556,8 @@ Depending on context, this does one of the following:
   "Change timestamps synchronously down in CLOCK log lines."
   "Change timestamps synchronously down in CLOCK log lines."
   (interactive)
   (interactive)
   (cond ((and (not org-support-shift-select)
   (cond ((and (not org-support-shift-select)
-	      (org-at-clock-log-p))
+	      (org-at-clock-log-p)
+	      (org-at-timestamp-p t))
 	 (org-clock-timestamps-down))
 	 (org-clock-timestamps-down))
 	(t (org-shiftselect-error))))
 	(t (org-shiftselect-error))))