about summary refs log tree commit diff
diff options
context:
space:
mode:
authorArun Isaac2026-09-07 02:27:51 +0100
committerArun Isaac2026-09-07 02:55:59 +0100
commitdc1506ee5ed67760496623124019c0d2d8a4e578 (patch)
tree1d6f2e25d2ede411f70be6b6e117ed1cb2f5daca
parentf62ca1285c4091ca685762e97025d70a3a999d11 (diff)
downloadennum-dc1506ee5ed67760496623124019c0d2d8a4e578.tar.gz
ennum-dc1506ee5ed67760496623124019c0d2d8a4e578.tar.lz
ennum-dc1506ee5ed67760496623124019c0d2d8a4e578.zip
Introduce ennum-expn.
-rw-r--r--ennum.el66
1 files changed, 34 insertions, 32 deletions
diff --git a/ennum.el b/ennum.el
index 1486574..d06edff 100644
--- a/ennum.el
+++ b/ennum.el
@@ -262,6 +262,10 @@ respectively by - and _, and the pad character = is optional."
      `(ennum-make-exp :function #',function
                       :sub-expressions (list ,@sub-expressions)))))
 
+(defmacro ennum-expn (&rest body)
+  "Wrap BODY in `progn' and `ennum-exp'."
+  `(ennum-exp (progn ,@body)))
+
 (defun ennum-exp-apply (function arguments)
   "Return ennum-exp applying FUNCTION to ARGUMENTS list."
   (ennum-make-exp :function function
@@ -760,26 +764,25 @@ string."
          (seq-map (lambda (post)
                     (ennum-intern (ennum-post-filename post)))
                   posts)))
-    (ennum-exp
-     (progn
-       (message "Writing %s" feed-file)
-       (when (file-name-directory feed-file)
-         (ennum-mkdir-p (file-name-directory feed-file)))
-       (with-temp-file feed-file
-         (insert
-          (xmlgen
-           `(feed :xmlns "http://www.w3.org/2005/Atom"
-                  (id ,(ennum--absolute-uri ""))
-                  (title ,title)
-                  (updated ,(ennum--atom-date (ennum-post-date (seq-first posts))))
-                  (link :rel "self" :href ,(ennum--absolute-uri feed-file))
-                  (generator
-                   ,(format "Emacs %d.%d Org-mode %s ennum %s"
-                            emacs-major-version emacs-minor-version (org-version) ennum-version))
-                  (rights ,rights)
-                  ,@(seq-mapn (lambda (post interned-post-file)
-                                (ennum--feed-entry post interned-post-file))
-                              posts interned-post-files)))))))))
+    (ennum-expn
+     (message "Writing %s" feed-file)
+     (when (file-name-directory feed-file)
+       (ennum-mkdir-p (file-name-directory feed-file)))
+     (with-temp-file feed-file
+       (insert
+        (xmlgen
+         `(feed :xmlns "http://www.w3.org/2005/Atom"
+                (id ,(ennum--absolute-uri ""))
+                (title ,title)
+                (updated ,(ennum--atom-date (ennum-post-date (seq-first posts))))
+                (link :rel "self" :href ,(ennum--absolute-uri feed-file))
+                (generator
+                 ,(format "Emacs %d.%d Org-mode %s ennum %s"
+                          emacs-major-version emacs-minor-version (org-version) ennum-version))
+                (rights ,rights)
+                ,@(seq-mapn (lambda (post interned-post-file)
+                              (ennum--feed-entry post interned-post-file))
+                            posts interned-post-files))))))))
 
 (defun ennum--feed-entry (post interned-post-file)
   (let ((link (url-encode-url
@@ -851,18 +854,17 @@ string."
    "/"))
 
 (defun ennum-publish-image (image width)
-  (ennum-exp
-   (progn
-     (message "Resizing %s to width %s" image width)
-     (ennum-mkdir-p (ennum-setting :images-directory))
-     (ennum-image-optimize-image
-      (ennum-image-resize-image
-       image
-       (ennum--file-join
-        (ennum-setting :images-directory)
-        (ennum-image-output-filename
-         (file-name-nondirectory image) width))
-       width)))))
+  (ennum-expn
+   (message "Resizing %s to width %s" image width)
+   (ennum-mkdir-p (ennum-setting :images-directory))
+   (ennum-image-optimize-image
+    (ennum-image-resize-image
+     image
+     (ennum--file-join
+      (ennum-setting :images-directory)
+      (ennum-image-output-filename
+       (file-name-nondirectory image) width))
+     width))))
 
 (defun ennum-publish-copy (file)
   (let ((interned-file (ennum-intern file)))