From 0f07c30b6af3d9aa0a6a034099aa384daf0a10d6 Mon Sep 17 00:00:00 2001 From: Phillip Lord Date: Sat, 21 Jan 2017 16:43:38 +0000 Subject: [PATCH] Add error handling to magic-mode-alist * lisp/files.el (set-auto-mode): Add explicit error handling in two places. --- lisp/files.el | 32 +++++++++++++++++++++++--------- 1 file changed, 23 insertions(+), 9 deletions(-) diff --git a/lisp/files.el b/lisp/files.el index b57e35b9a0a..6a68c631549 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -2909,11 +2909,18 @@ we don't actually set it to the same mode the buffer already has." (narrow-to-region (point-min) (min (point-max) (+ (point-min) magic-mode-regexp-match-limit))) - (assoc-default nil magic-mode-alist - (lambda (re _dummy) - (if (functionp re) - (funcall re) - (looking-at re))))))) + (assoc-default + nil magic-mode-alist + (lambda (re _dummy) + (cond + ((functionp re) + (funcall re)) + ((stringp re) + (looking-at re)) + (t + (error + "Problem in magic-mode-alist with element %s" + re)))))))) (set-auto-mode-0 done keep-mode-if-same))) ;; Next compare the filename against the entries in auto-mode-alist. (unless done @@ -2965,10 +2972,17 @@ we don't actually set it to the same mode the buffer already has." (min (point-max) (+ (point-min) magic-mode-regexp-match-limit))) (assoc-default nil magic-fallback-mode-alist - (lambda (re _dummy) - (if (functionp re) - (funcall re) - (looking-at re))))))) + (lambda (re _dummy) + (cond + ((functionp re) + (funcall re)) + ((stringp re) + (looking-at re)) + (t + (error + "Problem with magic-fallback-mode-alist element: %s" + re)) + )))))) (set-auto-mode-0 done keep-mode-if-same))) (unless done (set-buffer-major-mode (current-buffer))))) -- 2.39.5