diff options
| author | Philip Kaludercic <philipk@posteo.net> | 2026-02-11 20:47:26 +0100 |
|---|---|---|
| committer | Philip Kaludercic <philipk@posteo.net> | 2026-02-11 20:47:26 +0100 |
| commit | 0afb026a997a4636658a635d4ff82f21467ca55d (patch) | |
| tree | f9ace871e305d7d6113ed8569fd01e28b30593f1 /admin | |
| parent | 5bc7185afa4538853df5ea2a1dcd85d079d075ef (diff) | |
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.
Diffstat (limited to 'admin')
| -rw-r--r-- | admin/scrape-elpa.el | 9 |
1 files 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 |
