]> code.delx.au - gnu-emacs-elpa/blobdiff - company-etags.el
company-etags-find-table: check that TAGS is a regular file, cf. #222
[gnu-emacs-elpa] / company-etags.el
index b377b362bcaced273cf4648a8d208d42da721a54..5ccbd1e9b93d15c53a6f3053954e94e563d98aad 100644 (file)
@@ -51,11 +51,13 @@ buffer automatically."
 (defvar-local company-etags-buffer-table 'unknown)
 
 (defun company-etags-find-table ()
-  (let ((dir (locate-dominating-file (or buffer-file-name
-                                         default-directory)
-                                     "TAGS")))
-    (when dir
-      (list (expand-file-name "TAGS" dir)))))
+  (let ((file (expand-file-name
+               "TAGS"
+               (locate-dominating-file (or buffer-file-name
+                                           default-directory)
+                                       "TAGS"))))
+    (when (and file (file-regular-p file))
+      (list file))))
 
 (defun company-etags-buffer-table ()
   (or (and company-etags-use-main-table-list tags-table-list)