Malabarba / paradox

Project for modernizing Emacs' Package Menu. With package ratings, usage statistics, customizability, and more.
GNU General Public License v2.0
561 stars 36 forks source link

Wrong type argument error #11

Closed noaham closed 10 years ago

noaham commented 10 years ago

I am running emacs 24.3 on OSX built with gnutls. When running paradox-list-packages I get the following error:

Paradox-package-homepage: Wrong type argument: listp, "original"

Has anyone else experiences something similar?

Malabarba commented 10 years ago

Hi, thanks for reporting this.

Could you open your package.el file and check what version it is? There should be a version number at the top of the file.

Also, you can try to evaluate the following defun, and see if it fixes the problem (let me know if it does or not).

(defun paradox--package-homepage (pkg) "PKG is just the symbol that identifies the package." (cdr-safe (assoc :url (elt (cdr-safe (assoc pkg package-archive-contents)) 4))))

noaham commented 10 years ago

I am using version 1.0 of package.el

The above defun does not fix the problem.

Maybe this is relevant, I am running Yamamoto Matsumaru's OSX port of emacs. I haven't tried to reproduce the error on a different port.

noaham commented 10 years ago

I just built the regular emacs from homebrew with gnutls with the same result.

Malabarba commented 10 years ago

That's odd. Could you set the variable debug-on-error to t and try again? This will give you a backtrace when the error occurs, which you can copy and paste here.

noaham commented 10 years ago

With and without the defun above evaluated I get

Debugger entered--Lisp error: (wrong-type-argument listp "original")
  assoc(:url "original")
  paradox--package-homepage(test-unit)
  package-menu--print-info(((test-unit 0 1) "available" "Unit Test Framework for Emacs Lisp "))
  mapcar(package-menu--print-info (((test-unit 0 1) "available" "Unit Test Framework for Emacs Lisp ") ((zenburn 1 8) "available" "just some alien fruit salad to keep you in the zone") ((Save-visited-files 1 2) "available" "save opened files across sessions") ((mv-shell 1 0) "available" "keep buffers in sync with    filename throughout 'mv'commands in shell-mode.") ((diff-git 0 1 1) "available" "Git integration with diff-mode") ((applescript-mode 20090321) "available" "major mode for editing AppleScript source") ((twitter 20090422) "available" "Simple Emacs-based client for Twitter") ((pastie 20091230) "available" "Emacs integration for pastie.org") ((swank-clojure 1 1 0) "available" "slime adapter for clojure") ((slime-repl 20100404) "available" "Read-Eval-Print Loop written in Emacs Lisp") ((nterm 0 1) "available" "New TERMinal emulator") ((shellfm 0 1) "available" "Emacs Shell.FM interface") ((texdrive 0 3 1) "available" "minor mode for creating png images from TeX formulae ") ((rotate-text 0 1) "available" "cycle through words, symbols and patterns") ((recent-addresses 0 1) "available" "store and recall recently used email addresses") ((guess-style 0 1) "available" "automatic setting of code style variables") ((yasnippet-bundle 0 6 1) "available" "Yet another snippet extension (Auto compiled bundle)") ((ruby-mode 1 1) "available" "Major mode for editing Ruby files") ((idle-highlight 1 0) "available" "highlight the word the point is on") ((tempo-snippets 0 1 5) "available" "visual insertion of tempo templates") ((highlight-80+ 1 0) "available" "highlight characters beyond column 80") ((echo-pick 0 1) "available" "filter for echo area status messages") ((elk-test 0 3 2) "available" "Emacs Lisp testing framework") ((compile-bookmarks 0 2) "available" "bookmarks for compilation commands") ((ert 0 1) "available" "Emacs Lisp Regression Testing") ((nxml-mode 20041004) "available" "Major mode for editing XML documents.") ((columnify 1 0) "available" "arrange lines into columns") ((gdb-mi 0 6 1 0) "available" "User Interface for running GDB") ((asciidoc 0 1) "available" "asciidoc text file development support") ((facebook 0 0 1) "available" "Access the Facebook API from emacs") ((json 1 2) "available" "JavaScript Object Notation parser / generator") ((pick-backup 0 8) "available" "easy access to versioned backup files") ((muse 3 20) "available" "Authoring and publishing tool") ((jimb-patch 1 5) "available" "clean a patch for submission via email") ((lisppaste 1 8) "available" "Interact with the lisppaste pastebot via XML-RPC.") ((iresize 0 2) "available" "Interactively resize a window") ((sgftree 0 1) "available" "Read an sgf file and represent it as a tree") ((chess 1 96) "available" "Play chess in Emacs") ((less 0 2) "available" "less style view mode") ((dired-isearch 0 3) "available" "isearch in Dired") ((cal-china-x 0 6) "available" "Chinese calendar extras") ((wajig 0 53) "available" "an interface for wajig") ((archive-downloader 1 1) "available" "Download files from archive.org") ((tex-math-preview 8) "available" "preview TeX math expressions.") ((gtk-look 19) "available" "lookup Gtk and Gnome documentation.") ((xtide 16) "available" "XTide display in Emacs") ((compilation-recenter-end 4) "available" "compilation-mode window recentre") ((gdb-shell 0 4) "available" "minor mode to add gdb features to shell") ((css-mode 1 0) "available" "Major mode for editing Cascading Style Sheets") ((javascript 2 2 1) "available" "Major mode for editing JavaScript source text") ...))
  paradox-menu--refresh(t nil)
  package-menu--generate(nil t)
  package-list-packages(nil)
  paradox-list-packages(nil)
  call-interactively(paradox-list-packages record nil)
  command-execute(paradox-list-packages record)
  execute-extended-command(nil "paradox-list-packages")
  call-interactively(execute-extended-command nil nil)
Malabarba commented 10 years ago

Ok, I'm still not sure what's causing that but I think I know how to fix it.

Try this evaluating this function, if it works I'll push an update.

(defun paradox--package-homepage (pkg) "PKG is just the symbol that identifies the package." (let ((extras (elt (cdr-safe (assoc pkg package-archive-contents)) 4))) (and (listp extras) (cdr-safe (assoc :url extras)))))

2014-05-09 14:25 GMT+01:00 noaham notifications@github.com:

Without the defun above evaluated I get

Debugger entered--Lisp error: (wrong-type-argument listp "original") assoc(:url "original") paradox--package-homepage(test-unit) package-menu--print-info(((test-unit 0 1) "available" "Unit Test Framework for Emacs Lisp ")) mapcar(package-menu--print-info (((test-unit 0 1) "available" "Unit Test Framework for Emacs Lisp ") ((zenburn 1 8) "available" "just some alien fruit salad to keep you in the zone") ((Save-visited-files 1 2) "available" "save opened files across sessions") ((mv-shell 1 0) "available" "keep buffers in sync with filename throughout 'mv'commands in shell-mode.") ((diff-git 0 1 1) "available" "Git integration with diff-mode") ((applescript-mode 20090321) "available" "major mode for editing AppleScript source") ((twitter 20090422) "available" "Simple Emacs-based client for Twitter") ((pastie 20091230) "available" "Emacs integration for pastie.org") ((swank-clojure 1 1 0) "available" "slime adapter for clojure") ((slime-repl 20100404) "available" "Read-Eval-Print Loop written in Emacs Lisp") ((nterm 0 1) "available" "New TERMinal emulator") ((shellfm 0 1) "available" "Emacs Shell.FM interface") ((texdrive 0 3 1) "available" "minor mode for creating png images from TeX formulae ") ((r otate-text 0 1) "available" "cycle through words, symbols and patterns") ((recent-addresses 0 1) "available" "store and recall recently used email addresses") ((guess-style 0 1) "available" "automatic setting of code style variables") ((yasnippet-bundle 0 6 1) "available" "Yet another snippet extension (Auto compiled bundle)") ((ruby-mode 1 1) "available" "Major mode for editing Ruby files") ((idle-highlight 1 0) "available" "highlight the word the point is on") ((tempo-snippets 0 1 5) "available" "visual insertion of tempo templates") ((highlight-80+ 1 0) "available" "highlight characters beyond column 80") ((echo-pick 0 1) "available" "filter for echo area status messages") ((elk-test 0 3 2) "available" "Emacs Lisp testing framework") ((compile-bookmarks 0 2) "available" "bookmarks for compilation commands") ((ert 0 1) "available" "Emacs Lisp Regression Testing") ((nxml-mode 20041004) "available" "Major mode for editing XML documents.") ((columnify 1 0) "available" "arrange lines into columns") ((gdb-mi 0 6 1 0) "available" "User Interface for running GDB") ((asciidoc 0 1) "available" "asciidoc text file development support") ((facebook 0 0 1) "available" "Access the Facebook API from emacs") ((json 1 2) "available" "JavaScript Object Notation parser / generator") ((pick-backup 0 8) "available" "easy access to versioned backup files") ((muse 3 20) "available" "Authoring and publishing tool") ((jimb-patch 1 5) "available" "clean a patch for submission via email") ((lisppaste 1 8) "available" "Interact with the lisppaste pastebot via XML-RPC.") ((iresize 0 2) "available" "Interactively resize a window") ((sgftree 0 1) "available" "Read an sgf file and represent it as a tree") ((chess 1 96) "available" "Play chess in Emacs") ((less 0 2) "available" "less style view mode") ((dired-isearch 0 3) "available" "isearch in Dired") ((cal-china-x 0 6) "available" "Chinese calendar extras") ((wajig 0 53) "available" "an interface for wajig") ((archive-downloader 1 1) "av ailable" "Download files from archive.org") ((tex-math-preview 8) "available" "preview TeX math expressions.") ((gtk-look 19) "available" "lookup Gtk and Gnome documentation.") ((xtide 16) "available" "XTide display in Emacs") ((compilation-recenter-end 4) "available" "compilation-mode window recentre") ((gdb-shell 0 4) "available" "minor mode to add gdb features to shell") ((css-mode 1 0) "available" "Major mode for editing Cascading Style Sheets") ((javascript 2 2 1) "available" "Major mode for editing JavaScript source text") ...)) paradox-menu--refresh(t nil) package-menu--generate(nil t) package-list-packages(nil) paradox-list-packages(nil) call-interactively(paradox-list-packages record nil) command-execute(paradox-list-packages record) execute-extended-command(nil "paradox-list-packages") call-interactively(execute-extended-command nil nil)

— Reply to this email directly or view it on GitHubhttps://github.com/Bruce-Connor/paradox/issues/11#issuecomment-42665104 .

noaham commented 10 years ago

Yep, works great! Thanks a lot, really appreciate it. I am enjoying the package!