Subject: url-handler-mode broken

From: Stefan Monnier <[email-masked]>
Date: Mon, 04 Jun 2012 09:41:17 -0400

Package: Emacs
Version: 24.1.50

Emacs -Q -f url-handler-mode h--eval '(setq debug-on-error t)'
C-x C-f http://www.emacswiki.org/emacs/download/icicles-cmd1.el RET

gets you:

Debugger entered--Lisp error: (wrong-type-argument char-or-string-p [cl-struct-url "http" nil nil "www.emacswiki.org" nil "/emacs/download/icicles-cmd1.el" nil nil t nil t])
  signal(wrong-type-argument (char-or-string-p [cl-struct-url "http" nil nil "www.emacswiki.org" nil "/emacs/download/icicles-cmd1.el" nil nil t nil t]))
  completion--some(#[257 "\303\302\300\301$\207" ["http://www.emacswiki.org/emacs/download/icicles-cmd1.el" file-exists-p lambda complete-with-action] 6 "\n\n(fn TABLE)"] (completion--embedded-envvar-table completion--file-name-table))
  read-file-name-internal("http://www.emacswiki.org/emacs/download/icicles-cmd1.el" file-exists-p lambda)
  test-completion("http://www.emacswiki.org/emacs/download/icicles-cmd1.el" read-file-name-internal file-exists-p)
  minibuffer-complete-and-exit()
  call-interactively(minibuffer-complete-and-exit nil nil)
  read-from-minibuffer("Find file: " "~/src/emacs/trunk/" (keymap (keymap (32)) keymap (10 . minibuffer-complete-and-exit) (13 . minibuffer-complete-and-exit) keymap (menu-bar keymap (minibuf "Minibuf" keymap (tab menu-item "Complete" minibuffer-complete :help "Complete as far as possible") (space menu-item "Complete Word" minibuffer-complete-word :help "Complete at most one word") (63 menu-item "List Completions" minibuffer-completion-help :help "Display all possible completions") "Minibuf")) (27 keymap (118 . switch-to-completions)) (prior . switch-to-completions) (63 . minibuffer-completion-help) (32 . minibuffer-complete-word) (9 . minibuffer-complete) keymap (menu-bar keymap (minibuf "Minibuf" keymap (previous menu-item "Previous History Item" previous-history-element :help "Put previous minibuffer history element in the minibuffer") (next menu-item "Next History Item" next-history-element :help "Put next minibuffer history element in the minibuffer") (isearch-backward menu-item "Isearch History Backward" isearch-backward :help "Incrementally search minibuffer history backward") (isearch-forward menu-item "Isearch History Forward" isearch-forward :help "Incrementally search minibuffer history forward") (return menu-item "Enter" exit-minibuffer :key-sequence "" :help "Terminate input and exit minibuffer") (quit menu-item "Quit" abort-recursive-edit :help "Abort input and exit minibuffer") "Minibuf")) (10 . exit-minibuffer) (13 . exit-minibuffer) (7 . abort-recursive-edit) (C-tab . file-cache-minibuffer-complete) (9 . self-insert-command) (up . previous-history-element) (prior . previous-history-element) (down . next-history-element) (next . next-history-element) (27 keymap (114 . previous-matching-history-element) (115 . next-matching-history-element) (112 . previous-history-element) (110 . next-history-element))) nil file-name-history "~/src/emacs/trunk/" nil)
  completing-read-default("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/src/emacs/trunk/" file-name-history "~/src/emacs/trunk/" nil)
  completing-read("Find file: " read-file-name-internal file-exists-p confirm-after-completion "~/src/emacs/trunk/" file-name-history "~/src/emacs/trunk/")
  read-file-name-default("Find file: " nil "~/src/emacs/trunk/" confirm-after-completion nil nil)
  read-file-name("Find file: " nil "~/src/emacs/trunk/" confirm-after-completion)
  find-file-read-args("Find file: " confirm-after-completion)
  byte-code("\300\301\302 \"\207" [find-file-read-args "Find file: " confirm-nonexistent-file-or-buffer] 3)
  call-interactively(find-file nil nil)

In GNU Emacs 24.1.50.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2012-05-04 on ceviche
Bzr revision: 99953 [email-masked]
Windowing system distributor `The X.Org Foundation', version 11.0.11104000
Configured using:
 `configure
 'CFLAGS=-Wall -Wno-pointer-sign -DUSE_LISP_UNION_TYPE -DSYNC_INPUT -DENABLE_CHECKING -DXASSERTS -DFONTSET_DEBUG -g -O1 -I/usr/include/GNUstep'
 '--enable-maintainer-mode' '--with-x-toolkit=lucid''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: fr_CH.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: InactiveMinibuffer

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  electric-pair-mode: t
  electric-indent-mode: t
  url-handler-mode: t
  global-reveal-mode: t
  reveal-mode: t
  auto-insert-mode: t
  savehist-mode: t
  minibuffer-electric-default-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
m o d e <return> C-y M-y <up> <up> <up> <up> <up> C-SPC 
<C-down> C-w C-d <C-down> C-d <C-down> C-d <C-down> 
C-d C-e <right> <up> <left> <right> <up> <left> <right> 
<up> <left> <right> <down> <left> <right> <down> <left> 
<right> <up> <left> <left> <up> <left> SPC C-e <right> 
<down> <left> <right> <down> <left> <down> <right> 
<left> <right> <up> <right> <down> <left> <right> C-x 
C-s <switch-frame> <switch-frame> <switch-frame> <up> 
<up> <up> <up> <up> m <up> <up> <up> <up> <up> <up> 
<up> <up> m g <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> C-s l 
i b / C-s C-s C-s C-s C-s C-a <C-down> <left> <right> 
<down> <left> <right> <down> <left> <down> <right> 
<left> <down> <right> <left> <right> <switch-frame> 
g <up> <up> <up> <up> m v <switch-frame> <switch-frame> 
<switch-frame> y <switch-frame> <switch-frame> <down> 
<down> <left> R e t o SPC Z i m m e r m a n <select-window> 
<switch-frame> <switch-frame> <switch-frame> <select-window> 
<help-echo> n SPC < > <select-window> <switch-frame> 
<switch-frame> <down-mouse-1> <mouse-1> <switch-frame> 
<select-window> <switch-frame> <help-echo> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> M-< C-e 
<down-mouse-1> <mouse-movement> <mouse-movement> <drag-mouse-1> 
<switch-frame> <backspace> <backspace> <down-mouse-2> 
<mouse-2> C-c C-c <switch-frame> <switch-frame> <switch-frame> 
<help-echo> <help-echo> <help-echo> <help-echo> <help-echo> 
<help-echo> <switch-frame> <switch-frame> <help-echo> 
<help-echo> <help-echo> <help-echo> <help-echo> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<help-echo> <help-echo> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <help-echo> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> s s <switch-frame> <switch-frame> 
s <switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<help-echo> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <help-echo> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> f C-a C-y C-k <return> q <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> <switch-frame> 
<switch-frame> <switch-frame> <switch-frame> M-x r 
e p o e t - e m <backspace> <backspace> <backspace> 
<backspace> <backspace> r t - e m a - c <backspace> 
<backspace> c s - b u g <return>

Recent messages:
...monnier/.emacs-history locked by monnier@cevic... (pid 23025): (s, q, p, ?)? 
Warning: interactive-p is obsolete!
...monnier/.emacs-history locked by monnier@cevic... (pid 23025): (s, q, p, ?)? 
Warning: interactive-p is obsolete! [2 times]
Source file `/home/monnier/src/emacs/work/lisp/url/url-http.el' newer than byte-compiled file
Entering debugger...
Back to top level.
Warning: interactive-p is obsolete!
Source file `/home/monnier/src/emacs/work/lisp/mail/emacsbug.el' newer than byte-compiled file
Source file `/home/monnier/src/emacs/work/lisp/mail/sendmail.el' newer than byte-compiled file

Load-path shadows:
None found.

Features:
(sort mail-extr emacsbug message format-spec rfc822 mml mml-sec
mm-decode mm-bodies mm-encode mailheader sendmail mail-utils url-http
tls url url-proxy url-privacy url-history mailcap url-auth mail-parse
rfc2231 rfc2047 rfc2045 ietf-drums url-cookie url-domsuf url-gw
url-expand url-methods url-util descr-text caml tuareg speedbar sb-image
ezimage dframe caml-help caml-types caml-emacs make-mode vc-annotate
hideif cpp cmacexp cc-mode cc-langs cc-fonts cc-guess cc-menus cc-cmds
cc-styles cc-align cc-engine cc-vars cc-defs bbdb-com mailabbrev bbdb
timezone epa-file epa epg epg-config picture shell pcomplete grep rect
sml-proc sml-mode derived skeleton smie sml-defs log-edit pcvs-util
compile cl-specs dabbrev xscheme trace testcover scheme unsafep
re-builder shadow inf-lisp ielm pp comint ansi-color ring gmm-utils ert
find-func debug elp edebug cust-print whitespace vc-sccs vc-svn vc-cvs
vc-rcs vc-dir ewoc vc ediff-merg ediff-diff ediff-wind ediff-help
ediff-util ediff-mult ediff-init ediff executable copyright
multi-isearch smerge-mode newcomment diff-mode vc-dispatcher cus-edit
cus-start cus-load wid-edit vc-bzr filecache add-log server noutline
outline easy-mmode flyspell ispell eldoc checkdoc thingatpt help-mode
view prog-mode load-dir electric url-handlers url-parse auth-source
warnings eieio byte-opt bytecomp byte-compile cconv macroexp gnus-util
password-cache url-vars mm-util mail-prsvr reveal autoinsert uniquify
advice help-fns advice-preload time-date savehist minibuf-eldef
disp-table cl cl-loaddefs all-autoloads company-autoloads
debbugs-autoloads epoch-view-autoloads jgraph-mode-autoloads
js2-mode-autoloads lmc-autoloads load-dir-autoloads markchars-autoloads
minimap-autoloads muse-autoloads info easymenu oauth2-autoloads
quarter-plane-autoloads rainbow-mode-autoloads register-list-autoloads
sisu-mode-autoloads svg-clock-autoloads undo-tree-autoloads
uni-confusables-autoloads windresize-autoloads package tabulated-list
proof-site proof-autoloads pg-vars bbdb-autoloads agda2 tooltip
ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd tool-bar dnd
fontset image regexp-opt fringe lisp-mode register page menu-bar
rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax
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 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 x-toolkit x multi-tty emacs)