Bug 98467 [WorkbenchLauncher] [Preferences] Workspace path with comma
If a workspace is opened which has a comma in the path (eg "C:\docs\clients\surname, firstname"), when eclipse is closed then re-opened, the workspace does not open correctly. It instead creates a new folder of "C:\docs\clients\surname" and creates a new workspace there. Noticed that recent workspaces are kept in eclipse\configuration\.settings\org.eclipse.ui.ide.prefs and that the list is comma separated. Reccommend either making the delimiter a character not usable in filenames/paths (eg. pipe character '|') or enclosing paths in quote marks.
bundles/org.eclipse.ui.ide/src/org/eclipse/ui/internal/ide/ChooseWorkspaceData.java
import org.eclipse.ui.ide.IDE;
import org.eclipse.ui.preferences.ScopedPreferenceStore;
import org.osgi.service.prefs.BackingStoreException;
import org.osgi.service.prefs.Preferences;
/**
 * This class stores the information behind the "Launch Workspace" dialog. The
 * class is able to read and write itself to a well known configuration file.
 */
public class ChooseWorkspaceData {
    /**
     * The default max length of the recent workspace mru list.
     */
    private static final int RECENT_MAX_LENGTH = 5;
    /**
     * The directory within the config area that will be used for the
     * receiver's persisted data.
     */
    private static final String PERS_FOLDER = "org.eclipse.ui.ide"; 
    /**
     * The name of the file within the config area that will be used for
     * the recever's persisted data.
     * @see PERS_FOLDER
     */
    private static final String PERS_FILENAME = "recentWorkspaces.xml"; 
    /**
     * In the past a file was used to store persist these values.  This file was written
     * with this value as its protocol identifier.
     */
    private static final int PERS_ENCODING_VERSION = 1;
    /**