Subject: bug#33563: 27.0.50; Autoload generation during package installation pollutes recent-files list

From: Clément Pit-Claudel <[email-masked]>
Date: Sat, 1 Dec 2018 14:31:38 -0500

Hi all,

Generating autoloads as part of installing a package creates an entry in the recentf list.  For example, if I start emacs -Q, run M-x recentf-mode and M-x package-install RET company RET, then run M-x recentf-open-files, I see this:

  [1] /build/emacs/melpa/sandbox/elpa/company-20181105.2312/company-autoloads.el

This minor annoyance becomes more problematic when updating a large number of packages; here's how my recentf list looks after doing an update and browsing a few files:

  [6] /home/clement/.emacs.d/.cask/27.0/elpa/adaptive-wrap-0.7/adaptive-wrap-autoloads.el
  [7] /home/clement/.emacs.d/.cask/27.0/elpa/ag-20180225.1040/ag-autoloads.el
  [8] /home/clement/.emacs.d/.cask/27.0/elpa/aggressive-indent-20181018.236/aggressive-indent-autoloads.el
  [9] /home/clement/.emacs.d/.cask/27.0/elpa/apache-mode-20180724.351/apache-mode-autoloads.el
  [0] /home/clement/.emacs.d/.cask/27.0/elpa/apiwrap-20180602.2231/apiwrap-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/async-20180527.1730/async-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/avy-20181126.1705/avy-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/buttercup-20181123.927/buttercup-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/cask-20181107.942/cask-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ansi-20150703.826/ansi-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/cider-20181128.1311/cider-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/clojure-mode-20181119.1200/clojure-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/color-theme-20080305.834/color-theme-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/color-theme-solarized-20171024.1525/color-theme-solarized-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/company-20181105.2312/company-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/company-auctex-20180725.1912/company-auctex-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/company-math-20171016.1514/company-math-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/company-quickhelp-20180525.1003/company-quickhelp-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/company-tern-20161004.1847/company-tern-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/dash-20180910.1856/dash-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/dash-functional-20180107.1618/dash-functional-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/diminish-20170419.1736/diminish-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/dracula-theme-20180710.1324/dracula-theme-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/dumb-jump-20181129.543/dumb-jump-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/elpy-20181124.2003/elpy-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/elpygen-20171225.1736/elpygen-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/epl-20180205.2049/epl-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/expand-region-20180817.1134/expand-region-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/f-20180106.922/f-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/faceup-20170925.1946/faceup-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/fill-column-indicator-20171209.1924/fill-column-indicator-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/find-file-in-project-20181128.1428/find-file-in-project-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/flycheck-20181127.1510/flycheck-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/flycheck-cask-20160928.926/flycheck-cask-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/flycheck-ledger-20180819.321/flycheck-ledger-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/flycheck-ocaml-20170730.2153/flycheck-ocaml-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/flycheck-package-20161111.2251/flycheck-package-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/flycheck-rust-20180904.1117/flycheck-rust-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/fsharp-mode-20180518.1820/fsharp-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/gh-20180308.2138/gh-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ghub-20181112.1755/ghub-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ghub+-20181113.32/ghub+-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/git-commit-20181124.1111/git-commit-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/graphviz-dot-mode-20181118.551/graphviz-dot-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/haskell-mode-20181122.823/haskell-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/highlight-indentation-20171218.937/highlight-indentation-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/highlight-symbol-20160102.2009/highlight-symbol-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ht-20180129.2234/ht-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/htmlize-20180923.1829/htmlize-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ido-completing-read+-20180628.244/ido-completing-read+-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/impatient-mode-20181002.1231/impatient-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ivy-20181129.2105/ivy-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/jinja2-mode-20141128.1007/jinja2-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/js2-mode-20180724.801/js2-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/json-mode-20180718.809/json-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/json-reformat-20160212.853/json-reformat-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/json-snatcher-20150512.347/json-snatcher-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/julia-mode-20180816.2117/julia-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/keyfreq-20160516.1416/keyfreq-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/latex-extra-20170817.147/latex-extra-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/latex-preview-pane-20181008.1822/latex-preview-pane-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/lean-mode-20180906.1645/lean-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ledger-mode-20181129.1821/ledger-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/load-relative-20170526.1010/load-relative-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/loc-changes-20160801.1708/loc-changes-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/logito-20120225.2055/logito-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/lua-mode-20180323.1021/lua-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/m-buffer-20170407.2141/m-buffer-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/magit-20181128.1821/magit-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/graphql-20180912.31/graphql-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/treepy-20180724.656/treepy-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/magit-gh-pulls-20180716.1636/magit-gh-pulls-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/magit-popup-20181003.921/magit-popup-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/magithub-20181116.1355/magithub-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/markdown-mode-20181112.1529/markdown-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/marshal-20180124.1239/marshal-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/math-symbol-lists-20170221.1353/math-symbol-lists-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/memoize-20180614.1930/memoize-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/merlin-20180816.815/merlin-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/multiple-cursors-20180913.1237/multiple-cursors-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/nameless-20180215.2221/nameless-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/nginx-mode-20170612.437/nginx-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/noflet-20141102.1454/noflet-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/package-build-20181126.220/package-build-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/package-lint-20181115.103/package-lint-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/page-break-lines-20171210.831/page-break-lines-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/pcache-20170105.2214/pcache-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/pdf-tools-20181118.2051/pdf-tools-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/pkg-info-20150517.1143/pkg-info-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/popup-20160709.1429/popup-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/pos-tip-20150318.1513/pos-tip-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/proof-general-20181115.1610/proof-general-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/pyvenv-20180831.847/pyvenv-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/racer-20181023.2304/racer-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/racket-mode-20181117.229/racket-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/rainbow-delimiters-20170929.1132/rainbow-delimiters-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/realgud-20181126.1151/realgud-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/rich-minority-20170813.1322/rich-minority-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/rust-mode-20181008.1628/rust-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/s-20180406.808/s-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/sesman-20181109.1100/sesman-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/shut-up-20180628.1830/shut-up-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/simple-httpd-20180528.1603/simple-httpd-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/skewer-mode-20180706.1807/skewer-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/smart-mode-line-20180926.1036/smart-mode-line-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/smex-20151212.2209/smex-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/tablist-20170220.335/tablist-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/tern-20181108.722/tern-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/test-simple-20170527.1532/test-simple-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/tide-20181122.1004/tide-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/tldr-20180122.1112/tldr-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/tuareg-20181125.1926/tuareg-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/typescript-mode-20181018.553/typescript-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/undercover-20180403.1452/undercover-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/visual-fill-column-20180919.757/visual-fill-column-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/visual-regexp-20170301.116/visual-regexp-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/web-mode-20181104.2004/web-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/wgrep-20180711.626/wgrep-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/wgrep-ag-20160923.1103/wgrep-ag-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/which-key-20181114.1432/which-key-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/with-editor-20181113.1845/with-editor-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/writeroom-mode-20170623.1027/writeroom-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/ws-butler-20170111.2334/ws-butler-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/xelb-0.16/xelb-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/yaml-mode-20180409.607/yaml-mode-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/yasnippet-20181015.1212/yasnippet-autoloads.el
  /home/clement/.emacs.d/.cask/27.0/elpa/yasnippet-snippets-20181107.2203/yasnippet-snippets-autoloads.el

I presume the fix would be to make sure that autoload-find-generated-file does not call find-file-hook?

Cheers,
Clément.