Subject: bug#15022: [Kevin Layer] 24.3: BUG REPORT: comint completion yields error

From: Stefan Monnier <[email-masked]>
Date: Sun, 04 Aug 2013 14:31:25 -0400

Forwarding to [email-masked].

        Stefan

Subject: 24.3: BUG REPORT: comint completion yields error
From: Kevin Layer <[email-masked]>
To: [email-masked]
Date: Sun, 04 Aug 2013 10:20:16 -0700
List-Id: "Emacs development discussions." <emacs-devel.gnu.org>

This took a while to figure out.  How to reproduce:

You need a directory with .rpm files in it.  Let's call that
/foo/bar/.  Then,

emacs -q
M-x shell RET
rpm --install /foo/bar/<TAB>

where <TAB> is you pressing the TAB key.  I get this:

Debugger entered--Lisp error: (void-variable regexp)
  signal(void-variable (regexp))
  completion--some...
  completion--nth-completion...
  completion-try-completion...
  completion--do-completion()
  minibuffer-complete()
  call-interactively(minibuffer-complete)
  ...
  apply...
  ...
  completion-in-region...
  completion-at-point()
  call-interactively(completion-at-point nil nil)

Very tricky to track down.  I think it's in the pcomplete code.
Specifically, it appears that it has something to do with this
pcomplete-dirs-or-entries in pcomplete.el, since I see that code on
the stack at the point of error.

If you omit the "rpm" part of the input, it does not happen.

Good luck with this one!

Kevin Layer