sigma / gh.el

GitHub API library for Emacs
274 stars 74 forks source link

gh.el autoloads fail to load #77

Closed dakrone closed 8 years ago

dakrone commented 8 years ago

I noticed a failure this morning after updating my MELPA packages, the autoloads fail to define the gh-defclass (from gh-common.el I assume):

Debugger entered--Lisp error: (void-function gh-defclass)
  (gh-defclass gh-gist-gist-stub (gh-object) ((files :initarg :files :type list :initform nil :marshal-type (list gh-gist-gist-file)) (public :initarg :public :marshal-type bool) (description :initarg :description)) "Class for user-created gist objects")
  eval-buffer(#<buffer  *load*-404165> nil "/home/hinmanm/.emacs.d/elpa/gh-20160724.1930/gh-autoloads.el" nil t)  ; Reading at buffer position 1816
  load-with-code-conversion("/home/hinmanm/.emacs.d/elpa/gh-20160724.1930/gh-autoloads.el" "/home/hinmanm/.emacs.d/elpa/gh-20160724.1930/gh-autoloads.el" nil t)
  load("/home/hinmanm/.emacs.d/elpa/gh-20160724.1930/gh-autoloads" nil t)
  package--activate-autoloads-and-load-path([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/hinmanm/.emacs.d/elpa/gh-20160724.1930" nil nil])
  package--load-files-for-activation([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/hinmanm/.emacs.d/elpa/gh-20160724.1930" nil nil] :reload)
  package-activate-1([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/hinmanm/.emacs.d/elpa/gh-20160724.1930" nil nil] :reload :deps)
  package-unpack([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) tar "melpa" nil nil nil])
  #[256 "\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\301c\210\317\320\300!\210+\210\211\205
kaushalmodi commented 8 years ago

I noticed this just today morning too, after updating the marshal and gh packages.

Current marshal version: 20160724.1930 Current gh version: 20160724.1930

Current emacs version: Emacs version: GNU Emacs 25.1.50.12 (x86_64-unknown-linux-gnu, GTK+ Version 2.24.23) of 2016-07-25, built using commit 50cc08bf6e6cdc96dcdcbef388cf9cf76a15f81a (master branch).

Debugger entered--Lisp error: (void-function gh-defclass)
  (gh-defclass gh-gist-gist-stub (gh-object) ((files :initarg :files :type list :initform nil :marshal-type (list gh-gist-gist-file)) (public :initarg :public :marshal-type bool) (description :initarg :description)) "Class for user-created gist objects")
  eval-buffer(#<buffer  *load*-568003> nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930/gh-autoloads.el" nil t)  ; Reading at buffer position 2272
  load-with-code-conversion("/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930/gh-autoloads.el" "/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930/gh-autoloads.el" nil t)
  load("/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930/gh-autoloads" nil t)
  package--activate-autoloads-and-load-path([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930" nil nil])
  package--load-files-for-activation([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930" nil nil] nil)
  package-activate-1([cl-struct-package-desc gh (20160724 1930) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160724.1930" nil nil] nil deps)
  package-activate(gh)
sigma commented 8 years ago

Hopefully 2b6f0f0aac1e28c940df2c23c64295f040e12b96 should fix this

kaushalmodi commented 8 years ago

@sigma Now I get

Error loading autoloads: (error Given parent class gh-pulls-request-stub is not a class)

Debugger entered--Lisp error: (error "Given parent class gh-pulls-request-stub is not a class")
  signal(error ("Given parent class gh-pulls-request-stub is not a class"))
  error("Given parent class %S is not a class" gh-pulls-request-stub)
  eieio-defclass-internal(gh-pulls-request (gh-pulls-request-stub marshal-base) ((merged :initarg :merged) (mergeable :initarg :mergeable) (merged-by :initarg :merged-by) (comments :initarg :comments) (user :initarg :user :initform nil :marshal-type gh-user) (commits :initarg :commits) (additions :initarg :additions) (deletions :initarg :deletions) (changed-files :initarg :changed-files)) (:documentation "Git pull requests API" :marshal-default-spec gh-marshal-default-spec))
  eval-buffer(#<buffer  *load*-428585> nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031/gh-autoloads.el" nil t)  ; Reading at buffer position 5961
  load-with-code-conversion("/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031/gh-autoloads.el" "/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031/gh-autoloads.el" nil t)
  load("/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031/gh-autoloads" nil t)
  package--activate-autoloads-and-load-path([cl-struct-package-desc gh (20160725 1031) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031" nil nil])
  package--load-files-for-activation([cl-struct-package-desc gh (20160725 1031) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031" nil nil] nil)
  package-activate-1([cl-struct-package-desc gh (20160725 1031) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 1))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gh-20160725.1031" nil nil] nil deps)
  package-activate(gh)
  package-activate-1([cl-struct-package-desc gist (20160118 1656) "Emacs integration for gist.github.com" ((emacs (24 1)) (gh (0 9 2))) nil nil "/home/kmodi/.emacs.d/elpa_25_1/gist-20160118.1656" ((:keywords "tools") (:url . "https://github.com/defunkt/gist.el")) nil] nil deps)
  package-activate(gist)
sigma commented 8 years ago

that's one of these times I'm just wondering how it ever worked... a5cc3f169bee98392cd6c8185d24ddd33b2dbb6a should help

kaushalmodi commented 8 years ago

Sorry, but things do not yet seem to be right.

To add more info, I do not get the below errors on the emacs-25 branch build (emacs 25.1 RC1). But I do get these on the master branch build.

Eager macro-expansion failure: (wrong-type-argument symbolp [cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base](:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object](:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)]) [2 times] Error loading autoloads: (wrong-type-argument symbolp [cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base](:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object](:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)])

Debugger entered--Lisp error: (wrong-type-argument symbolp [cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base] (:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ()) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object] (:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)])
  eieio--class-precedence-c3([cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base] (:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object] (:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)])
  eieio--class-precedence-list([cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base] (:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object] (:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)])
  eieio--generic-subclass-specializers([cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base] (:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object] (:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)])
  eieio--generic-static-symbol-specializers([cl-struct-eieio--class gh-object nil ([cl-struct-eieio--class marshal-base nil nil [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object gh-object) nil [[cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--marshal-base] (:custom-groups nil)]) [] #s(hash-table size 65 test eq rehash-size 1.5 rehash-threshold 0.8 data ( ...)) (gh-ref-object) nil [[cl-struct-cl-slot-descriptor -marshal-info nil t ((:protection . protected))] [cl-struct-cl-slot-descriptor -type-info nil t ((:protection . protected))]] [nil nil] [eieio-class-tag--gh-object] (:custom-groups nil :marshal-default-spec gh-marshal-default-spec :method-invocation-order :c3)])
  marshal-get-marshal-info(gh-object)
  byte-code("\302\303\304\303\305\"\"\210\306\303\307\310\311$\210\312\310\313\314#\210\315\305\211\2035
kaushalmodi commented 8 years ago

I believe it is this commit: https://github.com/sigma/marshal.el/commit/a42f36073e01685e45049d7996de02dfad08bc59

(and (= emacs-major-version 25)
     (= emacs-minor-version 0))

Above will evaluate to nil for both emacs-25 (25.1 RC1) and master branches. Is that intended? Looks like the fix in RC1 you referred to is not yet in the master branch?

The 25.1 RC 1 emacs-version is 25.1.51.

The master branch emacs-version is 25.1.50.N (when N is the Nth build without doing make bootstrap).

sigma commented 8 years ago

well, basically it's a hack mostly for travis-ci that I'll remove as soon as evm packages rc1. Basically master seems to be currently broken the same way 25.0.95 was. And if I was to apply the same workaround, it would break in the other direction as soon as master is fixed so... I guess I'll let it be :)

sigma commented 8 years ago

ok, so I just pushed a new version of sigma/marshal.el that doesn't make use of that broken feature. I tested it on 24.5, 25.0.95 and 25.1.1 Let me know if that helps for master? I have enough Emacs versions in my life right now :)

kaushalmodi commented 8 years ago

Thank you! Looks good on master build too (25.1.50.x).

sigma commented 8 years ago

great, thanks for confirming

dakrone commented 8 years ago

@sigma I am still seeing this even with updated marshal and gh libraries, but in a different form:

Debugger entered--Lisp error: (void-function gh-marshal-default-spec)
  gh-marshal-default-spec(id)
  #[(s) "@\304A\305\"\206
  (marshal-defclass gh-ref-object (gh-object) ((id :initarg :id) (url :initarg :url) (html-url :initarg :html-url)) :marshal-default-spec gh-marshal-default-spec)
  (gh-defclass gh-ref-object (gh-object) ((id :initarg :id) (url :initarg :url) (html-url :initarg :html-url)))
  eval-buffer(#<buffer  *load*-748918> nil "/home/hinmanm/.emacs.d/elpa/gh-20160725.1853/gh-autoloads.el" nil t)  ; Reading at buffer position 2302
  load-with-code-conversion("/home/hinmanm/.emacs.d/elpa/gh-20160725.1853/gh-autoloads.el" "/home/hinmanm/.emacs.d/elpa/gh-20160725.1853/gh-autoloads.el" nil t)
  load("/home/hinmanm/.emacs.d/elpa/gh-20160725.1853/gh-autoloads" nil t)
  package--activate-autoloads-and-load-path([cl-struct-package-desc gh (20160725 1853) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 3))) nil nil "/home/hinmanm/.emacs.d/elpa/gh-20160725.1853" nil nil])
  package--load-files-for-activation([cl-struct-package-desc gh (20160725 1853) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 3))) nil nil "/home/hinmanm/.emacs.d/elpa/gh-20160725.1853" nil nil] :reload)
  package-activate-1([cl-struct-package-desc gh (20160725 1853) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 3))) nil nil "/home/hinmanm/.emacs.d/elpa/gh-20160725.1853" nil nil] :reload :deps)
  package-unpack([cl-struct-package-desc gh (20160725 1853) "A GitHub library for Emacs" ((emacs (24 3)) (s (1 9 0)) (dash (2 9 0)) (pcache (0 4 1)) (logito (0 1)) (marshal (0 6 3))) tar "melpa" nil nil nil])
  #[256 "\306\307!r\211q\210\310\311\312\313\314!\315\"\316$\216\301c\210\317\320\300!\210+\210\211\205

I believe there might be an autoload needed here: https://github.com/sigma/gh.el/blob/master/gh-common.el#L75

sigma commented 8 years ago

@dakrone oops, thanks !