Subject: 24.3; ido-use-virtual-buffers causes error when directory appears in ~/.recentf
From: Reuben Thomas <[email-masked]>
To: [email-masked]
Date: Tue, 04 Jun 2013 01:51:55 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

When I activate ido-use-virtual-buffers, and have an entry in my
~/.recentf which is a directory, I get an error whenever I try C-x b and
then type a character to start narrowing the selection:

Error in post-command-hook (ido-exhibit): (args-out-of-range "" 0)

Sample problematic ~/.recentf:

(setq recentf-list
      '(
        "/home/rrt/"
        ))

(setq recentf-filter-changer-current 'nil)


;; Local Variables:
;; coding: utf-8-emacs
;; End:

In GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.6.4)
 of 2013-04-14 on marid, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.11303000
System Description:	Ubuntu 13.04

Configured using:
 `configure '--build' 'x86_64-linux-gnu' '--build' 'x86_64-linux-gnu'
 '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib'
 '--localstatedir=/var/lib' '--infodir=/usr/share/info'
 '--mandir=/usr/share/man' '--with-pop=yes'
 '--enable-locallisppath=/etc/emacs24:/etc/emacs:/usr/local/share/emacs/24.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/24.3/site-lisp:/usr/share/emacs/site-lisp'
 '--with-crt-dir=/usr/lib/x86_64-linux-gnu' '--with-x=yes'
 '--with-x-toolkit=gtk3' '--with-toolkit-scroll-bars'
 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fstack-protector
 --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall'
 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro'
 'CPPFLAGS=-D_FORTIFY_SOURCE=2''

Important settings:
  value of $LC_MONETARY: en_GB.UTF-8
  value of $LC_NUMERIC: en_GB.UTF-8
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_GB.UTF-8
  value of $XMODIFIERS: @im=local
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: LaTeX/PS

Minor modes in effect:
  recentf-mode: t
  buffer-face-mode: t
  goto-address-mode: t
  smart-quotes-mode: t
  show-paren-mode: t
  server-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  ido-everywhere: t
  icomplete-mode: t
  global-auto-revert-mode: t
  desktop-save-mode: t
  global-undo-tree-mode: t
  undo-tree-mode: t
  global-whitespace-mode: t
  TeX-PDF-mode: t
  TeX-source-correlate-mode: t
  dtrt-indent-mode: t
  auto-dictionary-mode: t
  flyspell-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  visual-line-mode: t
  transient-mark-mode: t
  abbrev-mode: t

Recent input:
C-h f r e c e n t f - m o d e <return> C-n C-f <return> 
C-s c l e a n i n g SPC C-s C-a C-x 1 C-n C-n C-n C-n 
C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n C-n 
C-n C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p C-p 
C-p C-p C-p C-p C-n C-n C-n C-n C-n C-x k <return> 
M-x r e p o r t b u g - <backspace> <backspace> <backspace> 
<backspace> <backspace> C-g M-x r e p o r t - e m a 
c s - b u g f <return> <backspace> <return>

Recent messages:
Wrote /home/rrt/.emacs.desktop.lock
Desktop: 5 buffers restored.
ispell.el is already loaded
For information about GNU Emacs and the GNU system, type C-h C-a.
Type "q" to restore previous buffer.
uncompressing recentf.el.gz...done
Note: file is write protected
Mark saved where search started
Loading /home/rrt/.recentf...done
Cleaning up the recentf list...done (0 removed)
Quit

Load-path shadows:
/home/rrt/.emacs.d/el-get/dictionary/lpath hides /home/rrt/.emacs.d/el-get/auctex/lpath
/home/rrt/.emacs.d/el-get/magit/.dir-locals hides ~/.emacs.d/el-get/el-get/.dir-locals
/home/rrt/.emacs.d/el-get/go-mode/go-mode hides /usr/share/emacs/site-lisp/golang-mode/go-mode
/home/rrt/.emacs.d/el-get/quack/quack hides /usr/share/emacs24/site-lisp/emacs-goodies-el/quack
/home/rrt/.emacs.d/el-get/markdown-mode/markdown-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/markdown-mode
/home/rrt/.emacs.d/el-get/graphviz-dot-mode/graphviz-dot-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/graphviz-dot-mode
/home/rrt/.emacs.d/el-get/filladapt/filladapt hides /usr/share/emacs24/site-lisp/emacs-goodies-el/filladapt
/home/rrt/.emacs.d/el-get/package/elpa/csv-mode-1.50/csv-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/csv-mode
/home/rrt/.emacs.d/el-get/browse-kill-ring/browse-kill-ring hides /usr/share/emacs24/site-lisp/emacs-goodies-el/browse-kill-ring
/home/rrt/.emacs.d/el-get/apache-mode/apache-mode hides /usr/share/emacs24/site-lisp/emacs-goodies-el/apache-mode
/home/rrt/.emacs.d/el-get/auctex/toolbar-x hides /usr/share/emacs24/site-lisp/auctex/toolbar-x
/home/rrt/.emacs.d/el-get/auctex/tex-style hides /usr/share/emacs24/site-lisp/auctex/tex-style
/home/rrt/.emacs.d/el-get/auctex/tex-mik hides /usr/share/emacs24/site-lisp/auctex/tex-mik
/home/rrt/.emacs.d/el-get/auctex/texmathp hides /usr/share/emacs24/site-lisp/auctex/texmathp
/home/rrt/.emacs.d/el-get/auctex/tex-jp hides /usr/share/emacs24/site-lisp/auctex/tex-jp
/home/rrt/.emacs.d/el-get/auctex/tex-info hides /usr/share/emacs24/site-lisp/auctex/tex-info
/home/rrt/.emacs.d/el-get/auctex/tex-font hides /usr/share/emacs24/site-lisp/auctex/tex-font
/home/rrt/.emacs.d/el-get/auctex/tex-fold hides /usr/share/emacs24/site-lisp/auctex/tex-fold
/home/rrt/.emacs.d/el-get/auctex/tex hides /usr/share/emacs24/site-lisp/auctex/tex
/home/rrt/.emacs.d/el-get/auctex/tex-buf hides /usr/share/emacs24/site-lisp/auctex/tex-buf
/home/rrt/.emacs.d/el-get/auctex/tex-bar hides /usr/share/emacs24/site-lisp/auctex/tex-bar
/home/rrt/.emacs.d/el-get/auctex/preview/prv-emacs hides /usr/share/emacs24/site-lisp/auctex/prv-emacs
/home/rrt/.emacs.d/el-get/auctex/preview/preview hides /usr/share/emacs24/site-lisp/auctex/preview
/home/rrt/.emacs.d/el-get/auctex/plain-tex hides /usr/share/emacs24/site-lisp/auctex/plain-tex
/home/rrt/.emacs.d/el-get/auctex/multi-prompt hides /usr/share/emacs24/site-lisp/auctex/multi-prompt
/home/rrt/.emacs.d/el-get/auctex/latex hides /usr/share/emacs24/site-lisp/auctex/latex
/home/rrt/.emacs.d/el-get/auctex/font-latex hides /usr/share/emacs24/site-lisp/auctex/font-latex
/home/rrt/.emacs.d/el-get/auctex/context-nl hides /usr/share/emacs24/site-lisp/auctex/context-nl
/home/rrt/.emacs.d/el-get/auctex/context-en hides /usr/share/emacs24/site-lisp/auctex/context-en
/home/rrt/.emacs.d/el-get/auctex/context hides /usr/share/emacs24/site-lisp/auctex/context
/home/rrt/.emacs.d/el-get/auctex/bib-cite hides /usr/share/emacs24/site-lisp/auctex/bib-cite
/usr/share/emacs/site-lisp/golang-mode/go-mode-load hides /usr/share/emacs/24.3/site-lisp/golang-mode/go-mode-load
/home/rrt/.emacs.d/el-get/go-mode/go-mode hides /usr/share/emacs/24.3/site-lisp/golang-mode/go-mode
/usr/share/emacs/24.3/site-lisp/cmake-data/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/home/rrt/.emacs.d/el-get/auctex/preview/preview-latex hides /usr/share/emacs/site-lisp/preview-latex
/home/rrt/.emacs.d/el-get/auctex/tex-site hides /usr/share/emacs/site-lisp/tex-site
/home/rrt/.emacs.d/el-get/auctex/auctex hides /usr/share/emacs/site-lisp/auctex
/usr/share/emacs/24.3/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/home/rrt/local/share/emacs/site-lisp/whitespace hides /usr/share/emacs/24.3/lisp/whitespace
/usr/share/emacs24/site-lisp/dictionaries-common/flyspell hides /usr/share/emacs/24.3/lisp/textmodes/flyspell
/usr/share/emacs24/site-lisp/dictionaries-common/ispell hides /usr/share/emacs/24.3/lisp/textmodes/ispell
/usr/share/emacs/site-lisp/rst hides /usr/share/emacs/24.3/lisp/textmodes/rst
/home/rrt/.emacs.d/el-get/flymake/flymake hides /usr/share/emacs/24.3/lisp/progmodes/flymake
/home/rrt/.emacs.d/el-get/cperl-mode/cperl-mode hides /usr/share/emacs/24.3/lisp/progmodes/cperl-mode
/home/rrt/.emacs.d/el-get/magit/.dir-locals hides /usr/share/emacs/24.3/lisp/gnus/.dir-locals
/home/rrt/.emacs.d/el-get/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/home/rrt/.emacs.d/el-get/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/home/rrt/.emacs.d/el-get/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/home/rrt/.emacs.d/el-get/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/home/rrt/.emacs.d/el-get/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/home/rrt/.emacs.d/el-get/auctex/preview/prv-emacs hides /usr/share/emacs/site-lisp/auctex/prv-emacs
/home/rrt/.emacs.d/el-get/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/home/rrt/.emacs.d/el-get/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/home/rrt/.emacs.d/el-get/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/home/rrt/.emacs.d/el-get/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/home/rrt/.emacs.d/el-get/auctex/plain-tex hides /usr/share/emacs/site-lisp/auctex/plain-tex
/home/rrt/.emacs.d/el-get/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/home/rrt/.emacs.d/el-get/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/home/rrt/.emacs.d/el-get/auctex/preview/preview hides /usr/share/emacs/site-lisp/auctex/preview
/home/rrt/.emacs.d/el-get/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/home/rrt/.emacs.d/el-get/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/home/rrt/.emacs.d/el-get/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/home/rrt/.emacs.d/el-get/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/home/rrt/.emacs.d/el-get/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/home/rrt/.emacs.d/el-get/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/home/rrt/.emacs.d/el-get/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en

Features:
(shadow sort mail-extr emacsbug recentf tree-widget wid-edit misearch
multi-isearch find-func texmathp message sendmail format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045
ietf-drums mailabbrev mail-utils gmm-utils mailheader jka-compr info
vc-git flymake preview prv-emacs noutline outline tex-buf font-latex
latex tex-style face-remap goto-addr smart-quotes csv-mode-autoloads
completing-help ff-paths uniquify paren server savehist minibuf-eldef
ido icomplete autorevert cus-start cus-load ropemacs pymacs dired-x
desktop undo-tree diff whitespace tex dbus xml crm remember .loaddefs
yasnippet dropdown-list derived quack thingatpt compile cmuscheme comint
ansi-color scheme po-mode php-mode etags ring cc-mode cc-fonts cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs speedbar
sb-image ezimage dframe init-paredit paredit edmacro kmacro go-mode url
url-proxy url-privacy url-expand url-methods url-history url-cookie
url-domsuf url-util mailcap ffap url-parse auth-source eieio gnus-util
mm-util mail-prsvr password-cache url-vars geiser-load geiser
frame-restore flymake-point init-eldoc eldoc-extension eldoc dtrt-indent
byte-opt warnings darkroom-mode frame-local-vars browse-kill-ring advice
advice-preload auto-dictionary flyspell ispell el-get el-get-autoloads
el-get-list-packages el-get-notify help-mode easymenu
el-get-dependencies el-get-build el-get-status pp el-get-recipes
el-get-byte-compile el-get-methods el-get-fossil el-get-svn
el-get-pacman el-get-github-zip el-get-github-tar el-get-http-zip
el-get-http-tar el-get-hg el-get-git-svn el-get-fink el-get-emacswiki
el-get-http el-get-emacsmirror el-get-github el-get-git el-get-elpa
package cl-macs gv el-get-darcs el-get-cvs el-get-bzr el-get-brew
el-get-builtin el-get-apt-get el-get-custom el-get-core autoload
help-fns bytecomp byte-compile cconv cl cl-lib dired user-site-loaddefs
go-mode-load emacs-goodies-el emacs-goodies-custom
emacs-goodies-loaddefs easy-mmode preview-latex tex-site auto-loads
time-date tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment
lisp-mode register page menu-bar rfn-eshadow timer select scroll-bar
mouse jit-lock font-lock syntax facemenu font-core frame cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese case-table epa-hook jka-cmpr-hook help simple abbrev
minibuffer loaddefs button faces cus-face macroexp files text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote make-network-process dbusbind
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty emacs)

-- 
http://rrt.sc3d.org/