Hello,
Macro `org-encode-time` (lisp/org-macs.el +1395) does not get defined
for emacs >= 27.1 as the top level if statement is missing its ELSE clause.
#+begin_src elisp
(if (version< emacs-version "27.1")
(defmacro org-encode-time (&rest time)
(if (cdr time)
`(encode-time ,@time)
`(apply #'encode-time ,@time)))
(if (ignore-errors (with-no-warnings (encode-time '(0 0 0 1 1 1971))))
(defmacro org-encode-time (&rest time)
(pcase (length time) ; Emacs-29 since d75e2c12eb
(1 `(encode-time ,@time))
((or 6 9) `(encode-time (list ,@time)))
(_ (error "`org-encode-time' may be called with 1, 6, or 9 arguments
but %d given"
(length time)))))
(defmacro org-encode-time (&rest time)
(pcase (length time)
(1 `(encode-time ,@time))
(6 `(encode-time (list ,@time nil -1 nil)))
(9 `(encode-time (list ,@time)))
(_ (error "`org-encode-time' may be called with 1, 6, or 9 arguments
but %d given"
(length time)))))) //MISSING ELSE//)
#+end_src
I'm assuming it should be:
#+begin_src diff
diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index 5931dd260..bbdacbdf8 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -1403,14 +1403,14 @@ nil, just return 0."
(1 `(encode-time ,@time))
((or 6 9) `(encode-time (list ,@time)))
(_ (error "`org-encode-time' may be called with 1, 6, or 9 arguments
but %d given"
- (length time)))))
- (defmacro org-encode-time (&rest time)
+ (length time))))))
+ (defmacro org-encode-time (&rest time)
(pcase (length time)
(1 `(encode-time ,@time))
(6 `(encode-time (list ,@time nil -1 nil)))
(9 `(encode-time (list ,@time)))
(_ (error "`org-encode-time' may be called with 1, 6, or 9 arguments
but %d given"
- (length time)))))))
+ (length time))))))
(put 'org-encode-time 'function-documentation
"Compatibility and convenience helper for `encode-time'.
May be called with 9 components list (SECONDS ... YEAR IGNORED DST ZONE)
#+end_src
regards
Ken