* Re: [Emacs-diffs] fix-info-dups 6316172: Fix duplicates when completing Info files
[not found] ` <E1YkAoN-0003Om-Rx@vcs.savannah.gnu.org>
@ 2015-04-20 14:58 ` Stefan Monnier
2015-04-20 15:16 ` Oleh Krehel
0 siblings, 1 reply; 3+ messages in thread
From: Stefan Monnier @ 2015-04-20 14:58 UTC (permalink / raw
To: emacs-devel; +Cc: Oleh Krehel
> * lisp/info.el (Info-read-node-name-2): Use the STRING argument a lot
> less, it's actually always "".
What makes you think it's always ""?
I haven't actually tested your patch, but the way I read it, I get the
impression that it will break things like
C-h i g (emacs-23/e TAB
and
C-h i g (/usr/sh TAB
> Update the regex to remove the split files, the old one wasn't
> working properly.
But the new one only handles those cases where the ".info" extension is
present, which is sadly not always the case (yup, the conventions about how
to name info files suck).
Stefan
> + (not (string-match "\.info-[0-9]+" file))
^^
You forgot to double the backslash.
> + (complete-with-action action (cl-delete-duplicates
> + (nreverse names) :test 'equal) string pred)))
There's `delete-dups' for that.
But I also wonder whether we couldn't try to reduce the amount of
duplication (at least in some of the common cases) even before passing
the result through delete-dups.
IOW, I'm wondering where the duplication actually comes from.
Stefan
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Emacs-diffs] fix-info-dups 6316172: Fix duplicates when completing Info files
2015-04-20 14:58 ` [Emacs-diffs] fix-info-dups 6316172: Fix duplicates when completing Info files Stefan Monnier
@ 2015-04-20 15:16 ` Oleh Krehel
2015-04-20 19:43 ` Stefan Monnier
0 siblings, 1 reply; 3+ messages in thread
From: Oleh Krehel @ 2015-04-20 15:16 UTC (permalink / raw
To: Stefan Monnier; +Cc: emacs-devel
Stefan Monnier <monnier@iro.umontreal.ca> writes:
>> * lisp/info.el (Info-read-node-name-2): Use the STRING argument a lot
>> less, it's actually always "".
>
> What makes you think it's always ""?
I deduced it from the two calls to it and the setup of my system. I may
be wrong.
> I haven't actually tested your patch, but the way I read it, I get the
> impression that it will break things like
>
> C-h i g (emacs-23/e TAB
> and
> C-h i g (/usr/sh TAB
OK, my impression was that only the files on `Info-directory-list' were
acceptable. So actually it should be possible to navigate to any info
file on the filesystem?
>> Update the regex to remove the split files, the old one wasn't
>> working properly.
>
> But the new one only handles those cases where the ".info" extension is
> present, which is sadly not always the case (yup, the conventions about how
> to name info files suck).
OK, I'll work on it some more.
> But I also wonder whether we couldn't try to reduce the amount of
> duplication (at least in some of the common cases) even before passing
> the result through delete-dups.
> IOW, I'm wondering where the duplication actually comes from.
In my case, it comes from `Info-directory-list':
("/usr/local/info/" "/usr/share/info/" "/usr/local/share/info/")
I didn't mess with it on my own, this is the default value. These dirs
have some intersections, hence the duplicates. So they're not actually
duplicates, but duplicate info files, but there's no way to know which
one is which from the completion system.
Oleh
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [Emacs-diffs] fix-info-dups 6316172: Fix duplicates when completing Info files
2015-04-20 15:16 ` Oleh Krehel
@ 2015-04-20 19:43 ` Stefan Monnier
0 siblings, 0 replies; 3+ messages in thread
From: Stefan Monnier @ 2015-04-20 19:43 UTC (permalink / raw
To: Oleh Krehel; +Cc: emacs-devel
> OK, my impression was that only the files on `Info-directory-list' were
> acceptable. So actually it should be possible to navigate to any info
> file on the filesystem?
Yes. Of course, you may decide not to care about this functionality,
but the `g' command normally supports that, if completing-read-function
lets the user write it.
> In my case, it comes from `Info-directory-list':
>
> ("/usr/local/info/" "/usr/share/info/" "/usr/local/share/info/")
Ah, because you have "emacs" info files in several places. Right, that
makes sense. Then `delete-dups' is the only option.
Stefan
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2015-04-20 19:43 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20150420122827.13008.83006@vcs.savannah.gnu.org>
[not found] ` <E1YkAoN-0003Om-Rx@vcs.savannah.gnu.org>
2015-04-20 14:58 ` [Emacs-diffs] fix-info-dups 6316172: Fix duplicates when completing Info files Stefan Monnier
2015-04-20 15:16 ` Oleh Krehel
2015-04-20 19:43 ` Stefan Monnier
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.