Commits

Anonymous committed 5a1292b

* lisp/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.

  • Participants
  • Parent commits e0309f2

Comments (0)

Files changed (2)

File lisp/ChangeLog

+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

File lisp/pcmpl-gnu.el

 ;; 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))))