Subject: Re: bug#10116: M-x compile no longer completes filenames

From: Stefan Monnier <[email-masked]>
Date: Tue, 06 Dec 2011 17:16:46 -0500

> As of emacs-snapshot:
>   Installed: 1:20111121-1
> M-x compile
> make -k <TAB>
> no longer completes filenames.

Indeed, the completion rules for `make' failed to mention that file
names are perfectly valid arguments.  I've just installed the patch
below which should address this problem.

> Furthermore, more TABs will get you
> Error in post-command-hook (completion-in-region--postch): (error IO error
> reading /var/tmp: Is a directory)
> insert-file-contents-literally: IO error reading /var/tmp: Is a directory

I can't reproduce this problem.  Can you give more detailed steps to
reproduce it?

        Stefan

=== modified file 'lisp/pcmpl-gnu.el'
--- lisp/pcmpl-gnu.el	2011-12-02 14:44:19 +0000
+++ lisp/pcmpl-gnu.el	2011-12-06 22:11:15 +0000
@@ -99,7 +99,10 @@
   "Completion for GNU `make'."
   (let ((pcomplete-help "(make)Top"))
     (pcomplete-opt "bmC/def(pcmpl-gnu-makefile-names)hiI/j?kl?no.pqrsStvwW.")
-    (while (pcomplete-here (pcmpl-gnu-make-rule-names) nil 'identity))))
+    (while (pcomplete-here (completion-table-in-turn
+                            (pcmpl-gnu-make-rule-names)
+                            (pcomplete-entries))
+                           nil 'identity))))
 
 (defun pcmpl-gnu-makefile-names ()
   "Return a list of possible makefile names."