[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/relint d4d8f97 11/44: Eval mapcar and mapcan with parti
From: |
Mattias Engdegård |
Subject: |
[elpa] externals/relint d4d8f97 11/44: Eval mapcar and mapcan with partial-evaluated lists |
Date: |
Tue, 26 Mar 2019 12:57:26 -0400 (EDT) |
branch: externals/relint
commit d4d8f97e0444bee4d98c45be8ae6a5b4e5263d35
Author: Mattias Engdegård <address@hidden>
Commit: Mattias Engdegård <address@hidden>
Eval mapcar and mapcan with partial-evaluated lists
Evaluate mapcar and mapcan even if their list argument isn't fully
evaluated, so a single missing element won't spoil analysis of a whole list.
This change allows auto-mode-alist to be analysed.
---
trawl.el | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/trawl.el b/trawl.el
index 3193f26..ed7b630 100644
--- a/trawl.el
+++ b/trawl.el
@@ -290,7 +290,12 @@
((memq (car form) '(mapcar mapconcat mapcan))
(let ((fun (cadr form)))
(if (trawl--safe-function fun)
- (let ((args (mapcar #'trawl--eval (cddr form))))
+ (let ((args
+ ;; Use trawl--eval-list when we believe that missing
+ ;; elements may be acceptable.
+ (if (eq (car form) 'mapconcat)
+ (mapcar #'trawl--eval (cddr form))
+ (delq nil (mapcar #'trawl--eval-list (cddr form))))))
(if (memq 'no-value args)
'no-value
(condition-case nil
- [elpa] externals/relint 8e37762 18/44: Protect against improper lists in function calls, (continued)
- [elpa] externals/relint 8e37762 18/44: Protect against improper lists in function calls, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 66522ca 12/44: Increment version to 1.1, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 683f31b 28/44: Increment version to 1.3, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint ac5d0cf 25/44: Add more safe functions, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 02bf0ba 21/44: Use explicit list of pure functions, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 7d0e177 20/44: Rewrite the higher-order function handling, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint be3979a 19/44: Check TRIM argument of `split-string' as well, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 5143edf 17/44: Fix indentation accidents, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint d6320f9 14/44: Detect functions with regexp arguments, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint d19133e 09/44: Better variable name patterns, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint d4d8f97 11/44: Eval mapcar and mapcan with partial-evaluated lists,
Mattias Engdegård <=
- [elpa] externals/relint 34304b4 08/44: Add (provides) line to make file importable, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 62ca3d4 05/44: Slight performance improvement, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 6ab713e 07/44: Reinstate erroneously removed line, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint cb1fdc5 06/44: Add caret pointing out the error in the quoted regexp, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint b4fc385 04/44: Rename trawl--batch to trawl-batch, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 0214845 01/44: Move to github, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 830f4bf 03/44: Allow use from batch mode, Mattias Engdegård, 2019/03/26
- [elpa] externals/relint 125b869 02/44: Try harder recovering from read errors, Mattias Engdegård, 2019/03/26