emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] fix/bootstrap-build-minimize-squash 0f07c30 3/3: Add error


From: Phillip Lord
Subject: [Emacs-diffs] fix/bootstrap-build-minimize-squash 0f07c30 3/3: Add error handling to magic-mode-alist
Date: Sun, 29 Jan 2017 16:37:30 +0000 (UTC)

branch: fix/bootstrap-build-minimize-squash
commit 0f07c30b6af3d9aa0a6a034099aa384daf0a10d6
Author: Phillip Lord <address@hidden>
Commit: Phillip Lord <address@hidden>

    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 b57e35b..6a68c63 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)))))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]