Yes, you're right I should have looked more closely, I also see 'Morgan Smith' has already raised the issue more clearly.
Please ignore the noise ;) Ihor Radchenko <yanta...@gmail.com> writes: > Kenneth Stuart <kstu...@hotmail.co.uk> writes: > >> 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. > > Are you sure? > >> #+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 > > This is equivalent to > > (if condition > (defmacro ...) > ;; else > (if another-condition > (defmacro ...) > ;; else > (defmacro))) > > Best, > Ihor