diff --git a/modules/editor/file-templates/config.el b/modules/editor/file-templates/config.el index ca887163e..8c19ab61d 100644 --- a/modules/editor/file-templates/config.el +++ b/modules/editor/file-templates/config.el @@ -118,11 +118,14 @@ information.") "Return t if RULE applies to the current buffer." (let ((pred (car rule)) (plist (cdr rule))) - (and (cond ((symbolp pred) (eq major-mode pred)) - ((and (stringp pred) buffer-file-name) - (string-match-p pred buffer-file-name)) - ((not (plist-member plist :when)) t) - ((funcall (plist-get plist :when) buffer-file-name))) + (and (or (and (symbolp pred) + (eq major-mode pred)) + (and (stringp pred) + (stringp buffer-file-name) + (string-match-p pred buffer-file-name) + (or (not (plist-member plist :when)) + (funcall (plist-get plist :when) + buffer-file-name)))) rule))) (defun +file-templates-check-h ()