]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 8 Dec 2011 13:20:20 +0000 (08:20 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 8 Dec 2011 13:20:20 +0000 (08:20 -0500)
(pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that
end in ".mk".
(pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors
when reading the makefile.

Fixes: debbugs:10116
lisp/ChangeLog
lisp/pcmpl-gnu.el

index 443ca2d5c34778c27dc97d4bdf21d29de4a967f3..f27ed2abb65aaa4a0baa9211d01a78f15bede62d 100644 (file)
@@ -1,3 +1,11 @@
+2011-12-08  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * pcmpl-gnu.el: Don't fail when there is no Makefile nor -f arg.
+       (pcmpl-gnu-makefile-regexps): Accept "makefile" as well as files that
+       end in ".mk".
+       (pcmpl-gnu-make-rule-names): Check "makefile" and ignore errors
+       when reading the makefile (bug#10116).
+
 2011-12-06  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * pcmpl-gnu.el (pcomplete/make): Also allow filename arguments
index 72332b723db5d1234141e4aa5c40994b9e93265f..3b2a944f5bb6af3d9242414629471ba7c0a943eb 100644 (file)
@@ -35,7 +35,7 @@
 ;; User Variables:
 
 (defcustom pcmpl-gnu-makefile-regexps
-  '("\\`GNUmakefile" "\\`Makefile" "\\.mak\\'")
+  '("\\`GNUmakefile" "\\`[Mm]akefile" "\\.ma?k\\'")
   "A list of regexps that will match Makefile names."
   :type '(repeat regexp)
   :group 'pcmpl-gnu)
   "Return a list of possible make rule names in MAKEFILE."
   (let* ((minus-f (member "-f" pcomplete-args))
         (makefile (or (cadr minus-f)
-                      (if (file-exists-p "GNUmakefile")
-                          "GNUmakefile"
-                        "Makefile")))
+                      (cond
+                        ((file-exists-p "GNUmakefile") "GNUmakefile")
+                        ((file-exists-p "makefile") "makefile")
+                        (t "Makefile"))))
         rules)
     (if (not (file-readable-p makefile))
        (unless minus-f (list "-f"))
       (with-temp-buffer
-       (insert-file-contents-literally makefile)
+       (ignore-errors                  ;Could be a directory or something.
+         (insert-file-contents makefile))
        (while (re-search-forward
                (concat "^\\s-*\\([^\n#%.$][^:=\n]*\\)\\s-*:[^=]") nil t)
          (setq rules (append (split-string (match-string 1)) rules))))