jwiegley / use-package

A use-package declaration for simplifying your .emacs
https://jwiegley.github.io/use-package
GNU General Public License v3.0
4.39k stars 259 forks source link

(wrong-type-argument processp nil) when installing package #93

Closed haxney closed 10 years ago

haxney commented 10 years ago

I am trying to port my init over from a hand-rolled thing to use-package, but it is failing to some packages. There were some which installed without any problem, but it is currently stuck trying to install keyfreq. I get the following backtrace on init:

Debugger entered--Lisp error: (wrong-type-argument processp nil)
  set-process-buffer(nil #<buffer  *url-http-temp*>)
  open-network-stream("melpa.milkbox.net" #<buffer  *url-http-temp*> "melpa.milkbox.net" 80 :type plain :nowait t)
  byte-code("..." [coding-system-for-write coding-system-for-read gw-method name buffer host binary (tls ssl native) native plain open-network-stream :type :nowait featurep make-network-process (:nowait t) socks socks-open-network-stream telnet url-open-telnet rlogin url-open-rlogin error "Bad setting of url-gateway-method: %s" service url-gateway-method conn] 11)
  url-open-stream("melpa.milkbox.net" #<buffer  *url-http-temp*> "melpa.milkbox.net" 80)
  url-http-find-free-connection("melpa.milkbox.net" 80)
  url-http([cl-struct-url "http" nil nil "melpa.milkbox.net" nil "/packages/keyfreq-20131109.926.el" nil nil t nil t] #[128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)"] (nil))
  url-retrieve-internal("http://melpa.milkbox.net/packages/keyfreq-20131109.926.el" #[128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)"] (nil) nil nil)
  url-retrieve("http://melpa.milkbox.net/packages/keyfreq-20131109.926.el" #[128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)"])
  url-retrieve-synchronously("http://melpa.milkbox.net/packages/keyfreq-20131109.926.el")
  package-download-single(keyfreq "20131109.926" "track command frequencies" nil)
  package-download-transaction((keyfreq))
  package-install(keyfreq)
  use-package-ensure-elpa(keyfreq)
  #[(name &rest args) "..." [args commands pre-init-body pre-load-body init-body config-body use-package-validate-keywords use-package-plist-get :commands :pre-init :pre-load :init :config use-package-plist-get-value :diminish :defines :idle :bind :mode :interpreter :if :load-path mapcar #[(var) "\301D\207" [var defvar] 2] defvar :requires t not member nil (function featurep) quote featurep symbol-name intern :disabled :ensure require package use-package-ensure-elpa progn ignore-errors diminish "-mode" #[(var) "..." [var diminish quote] 3] (require (quote use-package)) use-package-init-on-idle lambda #[(func sym-or-list) "..." [sym-or-list cons-list init-body progn mapcar #[(elem) "..." [elem commands func] 2]] 6] #[(binding) "..." [binding bind-key quote] 4] ...] 24 ("/home/dhackney/.emacs.d/.cask/24.3.1/elpa/use-package-20140216.602/use-package.elc" . 4890)](keyfreq :ensure keyfreq :ensure keyfreq)
  (use-package keyfreq :ensure keyfreq :ensure keyfreq)
  eval((use-package keyfreq :ensure keyfreq :ensure keyfreq))
  #[(target) "..." [verbose target x req-package-log nil t "loading " symbol-name eval] 7]((use-package keyfreq :ensure keyfreq :ensure keyfreq))
  mapcar(#[(target) "..." [verbose target x req-package-log nil t "loading " symbol-name eval] 7] ((use-package tramp :config (progn (add-to-list (quote tramp-default-proxies-alist) (quote (nil "\\`root\\'" "/ssh:%h:"))) (add-to-list (quote tramp-default-proxies-alist) (quote ((regexp-quote (system-name)) nil nil))))) (use-package conf-mode :mode ".cnf$") (use-package man :config (progn (add-hook (quote Man-mode-hook) (quote scroll-lock-mode)))) (use-package woman :config (progn (add-hook (quote woman-mode-hook) (quote scroll-lock-mode)))) (use-package dired :config (progn (require (quote org)) (define-key dired-mode-map "r" (quote dired-launch-command)))) (use-package pcache :ensure pcache :ensure pcache :config (setq pcache-directory (concat tmp-dir "pcache"))) (use-package smex :ensure smex :ensure smex :bind (("M-x" . smex) ("M-X" . smex-major-mode-commands) ("C-c M-x" . execute-extended-command)) :config (smex-initialize)) (use-package smart-mode-line :ensure smart-mode-line :ensure smart-mode-line :init (sml/setup)) (use-package scheme :mode (("\\.ss\\'" . scheme-mode) ("\\.scm$" . scheme-mode)) :config (add-hook (quote scheme-mode-hook) (quote paredit-mode))) (use-package haml-mode :ensure haml-mode) (use-package feature-mode :ensure feature-mode) (use-package rspec-mode :ensure rspec-mode) (use-package sass-mode :ensure sass-mode) (use-package less-css-mode :ensure less-css-mode) (use-package rinari :ensure rinari :ensure rinari) (use-package inf-ruby :ensure inf-ruby :config (setf (car inf-ruby-implementations) (quote ("ruby" . "pry")))) (use-package yard-mode :ensure yard-mode) (use-package ruby-block :ensure ruby-block) (use-package ruby-test-mode :ensure ruby-test-mode) (use-package rvm :ensure rvm) (use-package ruby-mode :ensure ruby-mode :mode (("Gemfile$" . ruby-mode) ("Buildfile$" . ruby-mode) ("config.ru$" . ruby-mode) ("\\.rake$" . ruby-mode) ("Rakefile$" . ruby-mode) ("\\.rabl$" . ruby-mode) ("\\.json_builder$" . ruby-mode)) :config (progn (add-hook (quote ruby-mode-hook) (quote flyspell-prog-mode)) (add-hook (quote ruby-mode-hook) (quote yard-mode)))) (use-package paredit :ensure paredit :ensure paredit :config (define-key lisp-interaction-mode-map (kbd "C-c C-e") (quote eval-print-last-sexp))) (use-package org-plus-contrib :ensure org-plus-contrib) (use-package org :ensure org :ensure org :bind (("C-c l" . org-store-link) ("C-c a" . org-agenda) ("C-c M-d" . org-open-day-page) ("C-c C-x C-o" . org-clock-out) ("C-c r" . org-capture)) :config (progn (defun org-open-day-page nil "Prompt for a date, and open associated day-page." (interactive) (find-file (expand-file-name (concat (replace-regexp-in-string "-" "." ...) ".org") org-directory))) (defun org-format-export-tel-link (path desc format) "Format a tel: link for export" (case format (html (format "<a href=\"%s\">%s</a>" path desc)) (latex (format "\\href{tel:%s}{\\texttt{%s}}" path desc)))) (define-key org-mode-map (kbd "C-M-m") (quote org-insert-heading-after-current)) (org-add-link-type "tel" nil (quote org-format-export-tel-link)))) (use-package multiple-cursors :ensure multiple-cursors :ensure multiple-cursors :bind (("C-c C-S-c" . mc/edit-lines) ("C->" . mc/mark-next-like-this) ("C-<" . mc/mark-previous-like-this) ("C-c C-<" . mc/mark-all-like-this) ("s-SPC" . set-rectangular-region-anchor)) :config (setq mc/list-file (concat tmp-dir ".mc-lists.el"))) (use-package magit :ensure magit :ensure magit :bind ("C-c g" . magit-status) :config (define-key magit-status-mode-map (kbd "W") (quote magit-toggle-whitespace))) (use-package js2-mode :ensure js2-mode :ensure js2-mode :mode (("\\.js\\'" . js2-mode) ("\\.json\\'" . javascript-mode))) (use-package hl-line+ :ensure hl-line+ :ensure hl-line+ :config (progn (defvar hl-line-ignore-regexp "*magit:.*") (defadvice global-hl-line-highlight (around unhighlight-some-buffers nil activate) "Don't highlight in buffers which match a regexp." (unless (string-match hl-line-ignore-regexp (buffer-name (window-buffer ...))) ad-do-it)))) (use-package helm :ensure helm :ensure helm :bind (("M-C-y" . helm-show-kill-ring) ("C-x f" . helm-recentf) ("C-x b" . helm-buffers-list)) :config (progn (define-key esc-map [remap find-tag] (quote helm-semantic-or-imenu)) (global-set-key [remap find-tag] (quote helm-semantic-or-imenu)) (define-key help-map [remap apropos-command] (quote helm-apropos)) (global-set-key [remap apropos-command] (quote helm-apropos)) (when (boundp (quote ido-minor-mode-map-entry)) (define-key (cdr ido-minor-mode-map-entry) [remap ido-switch-buffer] (quote helm-buffers-list))))) (use-package graphviz-dot-mode :ensure graphviz-dot-mode :ensure graphviz-dot-mode :mode "\\.dot$") (use-package quack :ensure quack) (use-package geiser :ensure geiser :ensure geiser :config (eval-after-load (quote geiser-mode) (quote (define-key geiser-mode-map [remap geiser-edit-symbol-at-point] (quote helm-semantic-or-imenu))))) (use-package geben :ensure geben :ensure geben :config (defadvice geben-dbgp-redirect-stream (around geben-output-inhibit-read-only activate) "Set `inhibit-read-only' during `geben-dbgp-redirect-stream'" (let ((inhibit-read-only t) (inhibit-modification-hooks t)) ad-do-it) (set-buffer-modified-p nil))) (use-package ess :ensure ess :ensure ess :config (require (quote ess-site) nil t)) (use-package erc :config (progn (add-hook (quote erc-mode-hook) (quote visual-line-mode)) (ad-activate (quote erc-process-away)) (ad-activate (quote erc-cmd-AWAY)))) (use-package jedi :ensure jedi) (use-package elpy :ensure elpy :ensure elpy :config (progn (add-to-list (quote exec-path) (expand-file-name "~/.local/bin")) (elpy-use-ipython) (define-key elpy-mode-map [remap elpy-goto-definition] (quote helm-semantic-or-imenu)))) (use-package dired-details :ensure dired-details :ensure dired-details :init (autoload (quote dired-details-install) "dired-details") :config (add-hook (quote after-init-hook) (quote dired-details-install))) (use-package auto-indent-mode :ensure auto-indent-mode :ensure auto-indent-mode) (use-package groovy-mode :ensure groovy-mode :ensure groovy-mode) (use-package yaml-mode :ensure yaml-mode :ensure yaml-mode) (use-package whitespace-cleanup-mode :ensure whitespace-cleanup-mode :ensure whitespace-cleanup-mode) (use-package websocket :ensure websocket :ensure websocket) (use-package vlf :ensure vlf :ensure vlf) (use-package undo-tree :ensure undo-tree :ensure undo-tree) (use-package unbound :ensure unbound :ensure unbound) (use-package tidy :ensure tidy :ensure tidy) (use-package sws-mode :ensure sws-mode :ensure sws-mode) (use-package ssh-config-mode :ensure ssh-config-mode :ensure ssh-config-mode) (use-package smooth-scrolling :ensure smooth-scrolling :ensure smooth-scrolling) ...))
  req-package-eval(((use-package tramp :config (progn (add-to-list (quote tramp-default-proxies-alist) (quote (nil "\\`root\\'" "/ssh:%h:"))) (add-to-list (quote tramp-default-proxies-alist) (quote ((regexp-quote (system-name)) nil nil))))) (use-package conf-mode :mode ".cnf$") (use-package man :config (progn (add-hook (quote Man-mode-hook) (quote scroll-lock-mode)))) (use-package woman :config (progn (add-hook (quote woman-mode-hook) (quote scroll-lock-mode)))) (use-package dired :config (progn (require (quote org)) (define-key dired-mode-map "r" (quote dired-launch-command)))) (use-package pcache :ensure pcache :ensure pcache :config (setq pcache-directory (concat tmp-dir "pcache"))) (use-package smex :ensure smex :ensure smex :bind (("M-x" . smex) ("M-X" . smex-major-mode-commands) ("C-c M-x" . execute-extended-command)) :config (smex-initialize)) (use-package smart-mode-line :ensure smart-mode-line :ensure smart-mode-line :init (sml/setup)) (use-package scheme :mode (("\\.ss\\'" . scheme-mode) ("\\.scm$" . scheme-mode)) :config (add-hook (quote scheme-mode-hook) (quote paredit-mode))) (use-package haml-mode :ensure haml-mode) (use-package feature-mode :ensure feature-mode) (use-package rspec-mode :ensure rspec-mode) (use-package sass-mode :ensure sass-mode) (use-package less-css-mode :ensure less-css-mode) (use-package rinari :ensure rinari :ensure rinari) (use-package inf-ruby :ensure inf-ruby :config (setf (car inf-ruby-implementations) (quote ("ruby" . "pry")))) (use-package yard-mode :ensure yard-mode) (use-package ruby-block :ensure ruby-block) (use-package ruby-test-mode :ensure ruby-test-mode) (use-package rvm :ensure rvm) (use-package ruby-mode :ensure ruby-mode :mode (("Gemfile$" . ruby-mode) ("Buildfile$" . ruby-mode) ("config.ru$" . ruby-mode) ("\\.rake$" . ruby-mode) ("Rakefile$" . ruby-mode) ("\\.rabl$" . ruby-mode) ("\\.json_builder$" . ruby-mode)) :config (progn (add-hook (quote ruby-mode-hook) (quote flyspell-prog-mode)) (add-hook (quote ruby-mode-hook) (quote yard-mode)))) (use-package paredit :ensure paredit :ensure paredit :config (define-key lisp-interaction-mode-map (kbd "C-c C-e") (quote eval-print-last-sexp))) (use-package org-plus-contrib :ensure org-plus-contrib) (use-package org :ensure org :ensure org :bind (("C-c l" . org-store-link) ("C-c a" . org-agenda) ("C-c M-d" . org-open-day-page) ("C-c C-x C-o" . org-clock-out) ("C-c r" . org-capture)) :config (progn (defun org-open-day-page nil "Prompt for a date, and open associated day-page." (interactive) (find-file (expand-file-name (concat (replace-regexp-in-string "-" "." ...) ".org") org-directory))) (defun org-format-export-tel-link (path desc format) "Format a tel: link for export" (case format (html (format "<a href=\"%s\">%s</a>" path desc)) (latex (format "\\href{tel:%s}{\\texttt{%s}}" path desc)))) (define-key org-mode-map (kbd "C-M-m") (quote org-insert-heading-after-current)) (org-add-link-type "tel" nil (quote org-format-export-tel-link)))) (use-package multiple-cursors :ensure multiple-cursors :ensure multiple-cursors :bind (("C-c C-S-c" . mc/edit-lines) ("C->" . mc/mark-next-like-this) ("C-<" . mc/mark-previous-like-this) ("C-c C-<" . mc/mark-all-like-this) ("s-SPC" . set-rectangular-region-anchor)) :config (setq mc/list-file (concat tmp-dir ".mc-lists.el"))) (use-package magit :ensure magit :ensure magit :bind ("C-c g" . magit-status) :config (define-key magit-status-mode-map (kbd "W") (quote magit-toggle-whitespace))) (use-package js2-mode :ensure js2-mode :ensure js2-mode :mode (("\\.js\\'" . js2-mode) ("\\.json\\'" . javascript-mode))) (use-package hl-line+ :ensure hl-line+ :ensure hl-line+ :config (progn (defvar hl-line-ignore-regexp "*magit:.*") (defadvice global-hl-line-highlight (around unhighlight-some-buffers nil activate) "Don't highlight in buffers which match a regexp." (unless (string-match hl-line-ignore-regexp (buffer-name (window-buffer ...))) ad-do-it)))) (use-package helm :ensure helm :ensure helm :bind (("M-C-y" . helm-show-kill-ring) ("C-x f" . helm-recentf) ("C-x b" . helm-buffers-list)) :config (progn (define-key esc-map [remap find-tag] (quote helm-semantic-or-imenu)) (global-set-key [remap find-tag] (quote helm-semantic-or-imenu)) (define-key help-map [remap apropos-command] (quote helm-apropos)) (global-set-key [remap apropos-command] (quote helm-apropos)) (when (boundp (quote ido-minor-mode-map-entry)) (define-key (cdr ido-minor-mode-map-entry) [remap ido-switch-buffer] (quote helm-buffers-list))))) (use-package graphviz-dot-mode :ensure graphviz-dot-mode :ensure graphviz-dot-mode :mode "\\.dot$") (use-package quack :ensure quack) (use-package geiser :ensure geiser :ensure geiser :config (eval-after-load (quote geiser-mode) (quote (define-key geiser-mode-map [remap geiser-edit-symbol-at-point] (quote helm-semantic-or-imenu))))) (use-package geben :ensure geben :ensure geben :config (defadvice geben-dbgp-redirect-stream (around geben-output-inhibit-read-only activate) "Set `inhibit-read-only' during `geben-dbgp-redirect-stream'" (let ((inhibit-read-only t) (inhibit-modification-hooks t)) ad-do-it) (set-buffer-modified-p nil))) (use-package ess :ensure ess :ensure ess :config (require (quote ess-site) nil t)) (use-package erc :config (progn (add-hook (quote erc-mode-hook) (quote visual-line-mode)) (ad-activate (quote erc-process-away)) (ad-activate (quote erc-cmd-AWAY)))) (use-package jedi :ensure jedi) (use-package elpy :ensure elpy :ensure elpy :config (progn (add-to-list (quote exec-path) (expand-file-name "~/.local/bin")) (elpy-use-ipython) (define-key elpy-mode-map [remap elpy-goto-definition] (quote helm-semantic-or-imenu)))) (use-package dired-details :ensure dired-details :ensure dired-details :init (autoload (quote dired-details-install) "dired-details") :config (add-hook (quote after-init-hook) (quote dired-details-install))) (use-package auto-indent-mode :ensure auto-indent-mode :ensure auto-indent-mode) (use-package groovy-mode :ensure groovy-mode :ensure groovy-mode) (use-package yaml-mode :ensure yaml-mode :ensure yaml-mode) (use-package whitespace-cleanup-mode :ensure whitespace-cleanup-mode :ensure whitespace-cleanup-mode) (use-package websocket :ensure websocket :ensure websocket) (use-package vlf :ensure vlf :ensure vlf) (use-package undo-tree :ensure undo-tree :ensure undo-tree) (use-package unbound :ensure unbound :ensure unbound) (use-package tidy :ensure tidy :ensure tidy) (use-package sws-mode :ensure sws-mode :ensure sws-mode) (use-package ssh-config-mode :ensure ssh-config-mode :ensure ssh-config-mode) (use-package smooth-scrolling :ensure smooth-scrolling :ensure smooth-scrolling) ...) nil)
  req-package-finish()
  eval-buffer()  ; Reading at buffer position 1005
  call-interactively(eval-buffer record nil)
  command-execute(eval-buffer record)
  execute-extended-command(nil "eval-buffer")
  call-interactively(execute-extended-command nil nil)

See my init settings here. I am using Cask and following the pattern used in this init file.

To reproduce, start Emacs with -Q and call eval-buffer in init.el. If I start emacs -Q and run package-install manually, it installs without a problem. Any ideas?

haxney commented 10 years ago

I removed the use of req-package from my init and things seem to be a bit better, but I am still unable to install org-plus-contrib. I get the following error:

Debugger entered--Lisp error: (wrong-type-argument processp nil)
  set-process-buffer(nil #<buffer  *url-http-temp*>)
  open-network-stream("orgmode.org" #<buffer  *url-http-temp*> "orgmode.org" 80 :type plain :nowait t)
  byte-code("..." [coding-system-for-write coding-system-for-read gw-method name buffer host binary (tls ssl native) native plain open-network-stream :type :nowait featurep make-network-process (:nowait t) socks socks-open-network-stream telnet url-open-telnet rlogin url-open-rlogin error "Bad setting of url-gateway-method: %s" service url-gateway-method conn] 11)
  url-open-stream("orgmode.org" #<buffer  *url-http-temp*> "orgmode.org" 80)
  url-http-find-free-connection("orgmode.org" 80)
  url-http([cl-struct-url "http" nil nil "orgmode.org" nil "/elpa/org-plus-contrib-20140224.tar" nil nil t nil t] #[128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)"] (nil))
  url-retrieve-internal("http://orgmode.org/elpa/org-plus-contrib-20140224.tar" #[128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)"] (nil) nil nil)
  url-retrieve("http://orgmode.org/elpa/org-plus-contrib-20140224.tar" #[128 "\302\303\304p#\210\300\305\240\210\301p\240\207" [(nil) (nil) url-debug retrieval "Synchronous fetching done (%S)" t] 5 "\n\n(fn &rest IGNORED)"])
  url-retrieve-synchronously("http://orgmode.org/elpa/org-plus-contrib-20140224.tar")
  package-download-tar(org-plus-contrib "20140224")
  package-download-transaction((org-plus-contrib))
  package-install(org-plus-contrib)
  call-interactively(package-install record nil)
  command-execute(package-install record)
  execute-extended-command(nil "package-install")
  smex-read-and-run(("toggle-debug-on-error" "toggle-debug-on-quit" "package-install" "sml/setup" "rgrep" "find-library" "customize-group" "describe-package" "load-library" "package-list-packages" "lisp-interaction-mode" "R" "S" "S+" "cd" "5x5" "S+3" "S+6" "SAS" "arp" "dbx" "dig" "erc" "ert" "ftp" "gdb" "irc" "jdb" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "vlf" "xdb" "yow" "calc" "diff" "dirs" "ffap" "ffip" "gnus" "grep" "help" "ielm" "info" "life" "mail" "mpuz" ...))
  smex()
  call-interactively(smex nil nil)

Again, when I am not using Cask and use-package, things work fine.

See my updated repo for the change.

jwiegley commented 10 years ago

Why is your init file trying to download org-mode? I can't see how that has anything to do with use-package.

haxney commented 10 years ago

It is using :ensure to force installation for missing packages.

It could be Cask that is causing problems. I'll investigate a bit.

haxney commented 10 years ago

Ah, I figured out what I needed to do for org-plus-contrib: set :defer t, since there isn't any file actually named org-plus-contrib.el to require. Also, getting rid of Cask seems to have fixed things.

I'll mark this as closed, since it looks like a problem with Cask.

thomasf commented 10 years ago

you can use it like this:

(use-package org
    :ensure org-plus-contrib
...