Subject: bug#7414: 24.0.50; autoload-find-destination throws error in EOL detection

From: David Engster <[email-masked]>
Date: Tue, 16 Nov 2010 17:45:23 +0100

While trying to update the autoloads of the Emacs Code Browser (ECB),
the following error occured (byte-code snipped):

Debugger entered--Lisp error: (wrong-type-argument numberp [utf-8-unix utf-8-dos utf-8-mac])
  zerop([utf-8-unix utf-8-dos utf-8-mac])
  autoload-find-destination("/Users/foo/emacs-packages/ecb/ecb-help.el" "ecb-help")
  autoload-generate-file-autoloads("ecb-help.el" nil "/Users/foo/emacs-packages/ecb/ecb-autoloads.el")
  update-directory-autoloads("/Users/foo/emacs-packages/ecb/")
  apply(update-directory-autoloads "/Users/foo/emacs-packages/ecb/")
  batch-update-autoloads()
  ecb-batch-update-autoloads()
  ecb-update-autoloads()

The culprit is obviously this

        (unless (zerop (coding-system-eol-type buffer-file-coding-system))
          (set-buffer-file-coding-system 'unix))

which doesn't consider that coding-system-eol-type can return a vector
of coding systems.

-David