From 0afb026a997a4636658a635d4ff82f21467ca55d Mon Sep 17 00:00:00 2001 From: Philip Kaludercic Date: Wed, 11 Feb 2026 20:47:26 +0100 Subject: [PATCH] Generalize 'scrape-elpa--safe-evil' * admin/scrape-elpa.el (scrape-elpa--safe-eval): Extend support from just 'cons' and 'concat' to any side-effect-free function. --- admin/scrape-elpa.el | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/admin/scrape-elpa.el b/admin/scrape-elpa.el index f1bd0307b43..e1072564db6 100644 --- a/admin/scrape-elpa.el +++ b/admin/scrape-elpa.el @@ -43,12 +43,9 @@ be comprehensive, but just to handle the kinds of expressions that (cons (if (eq (car-safe car) '\,) (scrape-elpa--safe-eval (cadr car) vars) car) (if (eq (car-safe cdr) '\,) (scrape-elpa--safe-eval (cadr cdr) vars) cdr))) - ;; supported functions - (`(cons ,car ,cdr) - (cons (scrape-elpa--safe-eval car vars) - (scrape-elpa--safe-eval cdr vars))) - (`(concat . ,args) - (apply #'concat (mapcar #'scrape-elpa--safe-eval args))) + ;; allow calling `side-effect-free' functions + (`(,(and (pred symbolp) (pred (get _ 'side-effect-free)) fn) . ,args) + (apply fn (mapcar #'scrape-elpa--safe-eval args))) ;; self-evaluating forms ((pred macroexp-const-p) exp) ;; variable evaluation