GNU bug report logs - #6299
In read-file-name: (args-out-of-range "c:" 0 3)

Previous Next

Package: emacs;

Reported by: Lennart Borgman <lennart.borgman <at> gmail.com>

Date: Sat, 29 May 2010 01:36:02 UTC

Severity: normal

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Lennart Borgman <lennart.borgman <at> gmail.com>
Cc: 6299 <at> debbugs.gnu.org
Subject: bug#6299: In read-file-name: (args-out-of-range "c:" 0 3)
Date: Sun, 30 May 2010 10:05:49 -0400
> I am looking around at the code a bit. I do not understand the comment
> in completion--file-name-table:

>   (cond
>    ((eq (car-safe action) 'boundaries)
>     ;; For the boundaries, we can't really delegate to
>     ;; completion-file-name-table and then fix them up, because it
>     ;; would require us to track the relationship between `str' and
>     ;; `string', which is difficult.  And in any case, if
>     ;; substitute-in-file-name turns "fo-$TO-ba" into "fo-o/b-ba", there's
>     ;; no way for us to return proper boundaries info, because the
>     ;; boundary is not (yet) in `string'.

> AFAICS it is doing exactly the same as completion-file-name-table
> here. What am I missing?

You're missing that "delegate to completion-file-name-table" means
calling substitute-in-file-name first and then
completion-file-name-table, so it wouldn't do the same.  But yes, we
could call completion-file-name-table directly without going through
substitute-in-file-name.  The reason why I don't do that is mostly
historical (I first started to do something more clever which didn't
work).

> BTW the doc string for action in completing read etc should be fixed.

I don't know what you mean here.


        Stefan




This bug report was last modified 15 years and 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.