Emacs incremental completion and selection narrowing framework