Bug 73557 [Dialogs] Pattern matching changes Open Resource type-ahead behaviour
If I use the "Open Resource" dialog (Ctrl-Shift-r) and being typing, it lists matches as though there is an implicit '*' at the end. E.g. if I being typing "MyF", it will show "MyFunClass.java", "MyFoobar.java", etc. But if I add a '*' at the beginning, and start typing e.g. "*F", it doesn't show the same list of files. Instead, only anything ending with 'F' is shown. I've tried this with a couple of other expressions, and it seems that if any regular expression is used, the behaviour of the dialog changes -- there is no longer considered to be a '*' at the end. I think this is confusing behaviour. If I add a manually add a '*' at the end of my expression, and then begin typing before the '*', I get the behaviour that I would expect.
bundles/org.eclipse.ui.ide/extensions/org/eclipse/ui/dialogs/ResourceListSelectionDialog.java
updateGatherThread.refilter = true;
                updateGatherThread.firstMatch = 0;
                updateGatherThread.lastMatch = descriptorsSize - 1;
                updateGatherThread.start();
                return;
            }
        }
        final ArrayList resources = new ArrayList();
        BusyIndicator.showWhile(getShell().getDisplay(), new Runnable() {
            public void run() {
                getMatchingResources(resources);
                IResource resourcesArray[] = new IResource[resources.size()];
                resources.toArray(resourcesArray);
                initDescriptors(resourcesArray);
            }
        });
        updateGatherThread.firstMatch = 0;
        updateGatherThread.lastMatch = descriptorsSize - 1;
        updateGatherThread.start();
    }
    /**
     * Return an image for a resource descriptor.
     * 
     * @param desc resource descriptor to return image for
     * @return an image for a resource descriptor.
     */
    private Image getImage(ResourceDescriptor desc) {
        IResource r = (IResource) desc.resources.get(0);
        return labelProvider.getImage(r);
    }