emacsdynamicexpansionminibuffer

dynamic expansion in minibuffer no longer works when upgrading from Emacs 21.2


Continuing my process of migrating the latest & greatest Emacs 23.2, I hit another unpleasant surprise: dynamic expansion in minibuffer no longer works!

By "dynamic expansion in the minibuffer" I mean the feature that lets you blindly hit the spacebar to complete filenames, variables, etc.

I also invoked 'Emacs -Q' (to rule out any .emacs artifacts) and the problem exists not only with Emacs 23.2 on Windows XP, but even with Emacs 22.1 on Ubuntu.

Something has changed in Emacs' default behavior, but what is it?


Solution

  • From the (22.1) NEWS file:

    ** When Emacs prompts for file names, SPC no longer completes the file name.
    This is so filenames with embedded spaces could be input without the
    need to quote the space with a C-q.  The underlying changes in the
    keymaps that are active in the minibuffer are described below under
    "New keymaps for typing file names".
    
    If you want the old behavior back, add these two key bindings to your
    ~/.emacs init file:
    
      (define-key minibuffer-local-filename-completion-map
             " " 'minibuffer-complete-word)
      (define-key minibuffer-local-must-match-filename-map
             " " 'minibuffer-complete-word)