From 9e07ec56c7e58ee1eb5598dfdd1b772a690daa24 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 5 Apr 2022 17:48:05 -0700 Subject: [PATCH] Port Org encode-time usage back to Emacs 25 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * lisp/org/ol.el (org-store-link): * lisp/org/org-clock.el (org-clock-sum) (org-clock-update-time-maybe): * lisp/org/org-colview.el (org-colview-construct-allowed-dates): * lisp/org/org-macro.el (org-macro--vc-modified-time): * lisp/org/org-macs.el (org-2ft, org-matcher-time): * lisp/org/org-table.el (org-table-eval-formula): * lisp/org/org.el (org-read-date, org-display-custom-time) (org-time-string-to-time, org-timestamp-change): Don’t assume Emacs 27 encode-time, since standalone Org still works with Emacs 25 and it’s easier if we minimize differences from standalone Org. Problem reported by Max Nikulin (Bug#54731). This reverts much of 2021-12-16T17:40:21Z!eggert@cs.ucla.edu. --- lisp/org/ol.el | 2 +- lisp/org/org-clock.el | 8 ++++---- lisp/org/org-colview.el | 2 +- lisp/org/org-macro.el | 2 +- lisp/org/org-macs.el | 4 ++-- lisp/org/org-table.el | 2 +- lisp/org/org.el | 8 ++++---- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/lisp/org/ol.el b/lisp/org/ol.el index 905e491f4a..a03d85f618 100644 --- a/lisp/org/ol.el +++ b/lisp/org/ol.el @@ -1575,7 +1575,7 @@ org-store-link (setq link (format-time-string (car org-time-stamp-formats) - (encode-time + (apply 'encode-time (list 0 0 0 (nth 1 cd) (nth 0 cd) (nth 2 cd) nil nil nil)))) (org-link-store-props :type "calendar" :date cd))) diff --git a/lisp/org/org-clock.el b/lisp/org/org-clock.el index dce5d9d4c0..7395669109 100644 --- a/lisp/org/org-clock.el +++ b/lisp/org/org-clock.el @@ -1904,11 +1904,11 @@ org-clock-sum ((match-end 2) ;; Two time stamps. (let* ((ts (float-time - (encode-time + (apply #'encode-time (save-match-data (org-parse-time-string (match-string 2)))))) (te (float-time - (encode-time + (apply #'encode-time (org-parse-time-string (match-string 3))))) (dt (- (if tend (min te tend) te) (if tstart (max ts tstart) ts)))) @@ -3042,9 +3042,9 @@ org-clock-update-time-maybe (setq ts (match-string 1) te (match-string 3)) (setq s (- (float-time - (encode-time (org-parse-time-string te))) + (apply #'encode-time (org-parse-time-string te))) (float-time - (encode-time (org-parse-time-string ts)))) + (apply #'encode-time (org-parse-time-string ts)))) neg (< s 0) s (abs s) h (floor (/ s 3600)) diff --git a/lisp/org/org-colview.el b/lisp/org/org-colview.el index 371889432d..829fcbbe3f 100644 --- a/lisp/org/org-colview.el +++ b/lisp/org/org-colview.el @@ -782,7 +782,7 @@ org-colview-construct-allowed-dates (setq time-after (copy-sequence time)) (setf (nth 3 time-before) (1- (nth 3 time))) (setf (nth 3 time-after) (1+ (nth 3 time))) - (mapcar (lambda (x) (format-time-string fmt (encode-time x))) + (mapcar (lambda (x) (format-time-string fmt (apply #'encode-time x))) (list time-before time time-after))))) (defun org-columns-open-link (&optional arg) diff --git a/lisp/org/org-macro.el b/lisp/org/org-macro.el index bb8a95065b..0921f3aa27 100644 --- a/lisp/org/org-macro.el +++ b/lisp/org/org-macro.el @@ -378,7 +378,7 @@ org-macro--vc-modified-time (buffer-substring (point) (line-end-position))))) (when (cl-some #'identity time) - (setq date (encode-time time)))))))) + (setq date (apply #'encode-time time)))))))) (let ((proc (get-buffer-process buf))) (while (and proc (accept-process-output proc .5 nil t))))) (kill-buffer buf)) diff --git a/lisp/org/org-macs.el b/lisp/org/org-macs.el index 6f038f026b..b10725bd52 100644 --- a/lisp/org/org-macs.el +++ b/lisp/org/org-macs.el @@ -1185,7 +1185,7 @@ org-2ft ((numberp s) s) ((stringp s) (condition-case nil - (float-time (encode-time (org-parse-time-string s))) + (float-time (apply #'encode-time (org-parse-time-string s))) (error 0))) (t 0))) @@ -1252,7 +1252,7 @@ org-matcher-time \"\", and \"\". Return 0. if S is not recognized as a valid value." - (let ((today (float-time (encode-time + (let ((today (float-time (apply #'encode-time (append '(0 0 0) (nthcdr 3 (decode-time))))))) (save-match-data (cond diff --git a/lisp/org/org-table.el b/lisp/org/org-table.el index 58707eae44..c4daed1665 100644 --- a/lisp/org/org-table.el +++ b/lisp/org/org-table.el @@ -2606,7 +2606,7 @@ org-table-eval-formula (format-time-string (org-time-stamp-format (string-match-p "[0-9]\\{1,2\\}:[0-9]\\{2\\}" ts)) - (encode-time + (apply #'encode-time (save-match-data (org-parse-time-string ts)))))) form t t)) diff --git a/lisp/org/org.el b/lisp/org/org.el index 67c8f1cedf..d656a51591 100644 --- a/lisp/org/org.el +++ b/lisp/org/org.el @@ -13986,7 +13986,7 @@ org-read-date (when (< (nth 2 org-defdecode) org-extend-today-until) (setf (nth 2 org-defdecode) -1) (setf (nth 1 org-defdecode) 59) - (setq org-def (encode-time org-defdecode)) + (setq org-def (apply #'encode-time org-defdecode)) (setq org-defdecode (decode-time org-def))) (let* ((timestr (format-time-string (if org-with-time "%Y-%m-%d %H:%M" "%Y-%m-%d") @@ -14470,7 +14470,7 @@ org-display-custom-time time (org-fix-decoded-time t1) str (org-add-props (format-time-string - (substring tf 1 -1) (encode-time time)) + (substring tf 1 -1) (apply 'encode-time time)) nil 'mouse-face 'highlight)) (put-text-property beg end 'display str))) @@ -14725,7 +14725,7 @@ org-make-tdiff-string (defun org-time-string-to-time (s) "Convert timestamp string S into internal time." - (encode-time (org-parse-time-string s))) + (apply #'encode-time (org-parse-time-string s))) (defun org-time-string-to-seconds (s) "Convert a timestamp string S into a number of seconds." @@ -15155,7 +15155,7 @@ org-timestamp-change (setcar time0 (or (car time0) 0)) (setcar (nthcdr 1 time0) (or (nth 1 time0) 0)) (setcar (nthcdr 2 time0) (or (nth 2 time0) 0)) - (setq time (encode-time time0)))) + (setq time (apply 'encode-time time0)))) ;; Insert the new time-stamp, and ensure point stays in the same ;; category as before (i.e. not after the last position in that ;; category). -- 2.35.1