From c69fd5bf61e84804679d04062c85bd6a177bcb72 Mon Sep 17 00:00:00 2001 From: Nicolas Goaziou Date: Tue, 21 Jun 2016 16:52:05 +0200 Subject: [PATCH] org-entities: Tiny refactoring * lisp/org-entities.el (org-entities--user-safe-p): Use pattern matching and strengthen check for name. --- lisp/org-entities.el | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/lisp/org-entities.el b/lisp/org-entities.el index 435245b47..dec5064bc 100644 --- a/lisp/org-entities.el +++ b/lisp/org-entities.el @@ -37,16 +37,14 @@ (defun org-entities--user-safe-p (v) "Non-nil if V is a safe value for `org-entities-user'." - (or (null v) - (and (listp v) - (= (length v) 7) - (stringp (nth 0 v)) - (stringp (nth 1 v)) - (booleanp (nth 2 v)) - (stringp (nth 3 v)) - (stringp (nth 4 v)) - (stringp (nth 5 v)) - (stringp (nth 6 v))))) + (pcase v + (`nil t) + (`(,(and (pred stringp) + (pred (string-match-p "\\`[a-zA-Z][a-zA-Z0-9]*\\'"))) + ,(pred stringp) ,(pred booleanp) ,(pred stringp) + ,(pred stringp) ,(pred stringp) ,(pred stringp)) + t) + (_ nil))) (defcustom org-entities-user nil "User-defined entities used in Org-mode to produce special characters.