Code Monkey home page Code Monkey logo

gh.el's Introduction

Build Status Coverage Status

This is a GitHub client library for Emacs.

This library also allows implementation of the various authentication schemes (password, OAuth).

Implementation is heavily based on EIEIO so that various components can be replaced easily.

Current state:

gh.el's People

Contributors

alpha22jp avatar amorymeltzer avatar areina avatar colonelpanic8 avatar danielfleischer avatar danielmartin avatar dgutov avatar domtronn avatar hellomatty avatar iensu avatar jingtaozf avatar karimaziev avatar kidd avatar mlang avatar nicferrier avatar ninjudd avatar rothmichaels avatar sigma avatar syohex avatar tarsius avatar thieman avatar txgvnn avatar yssource avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

gh.el's Issues

Emacs 25 support

Hey,

it seems like gh.el currently doesn't work on latest Emacs 25. Whenever I use functions from gh.el I end up with (wrong-type-argument number-or-marker-p nil) error.

For example, running (gh-issues-issue-list (gh-issues-api "API") "sigma" "gh.el") shows following trace.

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  signal(wrong-type-argument (number-or-marker-p nil))
  gh-url-set-response(nil ([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]))
  #[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10]([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  apply(#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316  !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] ([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]))
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"](#[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-url-run-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]]) nil] [cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] ([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]) apply] 4 "\n\n(fn &rest CNM-ARGS)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316 !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"] #[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-url-run-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]]) nil] [cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] ([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]) apply] 4 "\n\n(fn &rest CNM-ARGS)"] ([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]))
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"] #[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-url-run-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]]) nil] [cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] apply make-byte-code 128 "\302\300�\206��\301\"\207" vconcat vector [apply] 4 "\n\n(fn &rest CNM-ARGS)"] 10 "\n\n(fn &rest ARGS)"]([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316  !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"] #[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-url-run-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]]) nil] [cl-struct-cl--generic-method (gh-url-request) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method ... high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[... "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM REQ &optional RESP)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] apply make-byte-code 128 "\302\300�\206��\301\"\207" vconcat vector [apply] 4 "\n\n(fn &rest CNM-ARGS)"] 10 "\n\n(fn &rest ARGS)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  gh-url-run-request([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [eieio-class-tag--gh-api-paged-response nil nil nil nil nil #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] [eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/repos/sigma/gh.el/issues" nil (("Authorization" . "token 56b9e3196d0a215af07d0c229321c73fcb9ece72") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  #[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17]([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues")
  apply(#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues"))
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��  \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"](#[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-api-authenticated-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]]) nil] [cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues") apply] 4 "\n\n(fn &rest CNM-ARGS)"] [eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues")
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��    \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"] #[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-api-authenticated-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]]) nil] [cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues") apply] 4 "\n\n(fn &rest CNM-ARGS)"] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues"))
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"] #[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-api-authenticated-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202��    \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]]) nil] [cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] apply make-byte-code 128 "\302\300�\206��\301\"\207" vconcat vector [apply] 4 "\n\n(fn &rest CNM-ARGS)"] 10 "\n\n(fn &rest ARGS)"]([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues")
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"] #[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-api-authenticated-request ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202��    \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]]) nil] [cl-struct-cl--generic-method (gh-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�1\"!E�2�\2057�
\306�\320\"\235\2057��2\211�3\205B�\321��3\"\211�4\205M�\322��3\"�5�4\205Y�\323��3\"\211�6\205d�\324��3\"�7�4\203p��6\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�8\336�7\203\225�\337�7B\nB\202\226�\n\340 \312=\203\244�\341�9!\206\262�  \310=\203\261�\342�9!\206\262�\343\344�:&
\"�;�4\203\317��6\204\317�\345\346\347\350\340�5%\202'��3\203\376�\327\306�;\351\"\352�1#�<\353�;�<\"\210\354�<\327\355\314�\356�3\357�7&�\"\210�<)\202'��\203��\360��2\"\210\353�;\327\306�;\351\"\352�1#\"\202'�\353�;\327\306�;\351\"\352�1#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form ... :json ... :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer ...] 17] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API TRANSFORMER METHOD RESOURCE &optional DATA PARAMS PAGE-LIMIT)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] apply make-byte-code 128 "\302\300�\206��\301\"\207" vconcat vector [apply] 4 "\n\n(fn &rest CNM-ARGS)"] 10 "\n\n(fn &rest ARGS)"] [eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] (#[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues"))
  gh-api-authenticated-request([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-object-list-read (gh-issues-issue) apply append] 6 "\n\n(fn &rest ARGS2)"] "GET" "/repos/sigma/gh.el/issues")
  #[(api user repo) "\303�\304\305�\306\"!\307\310\311  \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8]([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el")
  apply(#[(api user repo) "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el"))
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api user repo) "\303�\304\305�\306\"!\307\310\311 \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"](#[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-issues-issue-list ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311   \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]]) nil] [cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el") apply] 4 "\n\n(fn &rest CNM-ARGS)"] [eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el")
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api user repo) "\303�\304\305�\306\"!\307\310\311   \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"] #[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-issues-issue-list ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311   \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]]) nil] [cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el") apply] 4 "\n\n(fn &rest CNM-ARGS)"] ([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el"))
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api user repo) "\303�\304\305�\306\"!\307\310\311  \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"] #[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-issues-issue-list ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311  \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]]) nil] [cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] apply make-byte-code 128 "\302\300�\206��\301\"\207" vconcat vector [apply] 4 "\n\n(fn &rest CNM-ARGS)"] 10 "\n\n(fn &rest ARGS)"]([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el")
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api user repo) "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"] #[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-issues-issue-list ((0 [cl-struct-cl--generic-generalizer eieio--generic-generalizer 50 cl--generic-struct-tag #[385 "�9\205*�\301�!\205*�\302�J!\205*��JG\303Y\205*��J\304H�>\205*�\305\306\307�J!\"\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 mapcar eieio--class-name eieio--class-precedence-list] 6 "\n\n(fn TAG &rest _)"]] [cl-struct-cl--generic-generalizer cl--generic-t-generalizer 0 #[385 "\300\207" [nil] 3 "\n\n(fn NAME &rest _)"] #[385 "\300\207" [...] 3 "\n\n(fn TAG &rest _)"]])) ([cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311  \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]]) nil] [cl-struct-cl--generic-method (gh-issues-api) nil t #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[... "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref issue-cls "GET" format "/repos/%s/%s/issues"] 8] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM API USER REPO)"]] apply cl-no-next-method] 6 "\n\n(fn &rest ARGS)"] apply make-byte-code 128 "\302\300�\206��\301\"\207" vconcat vector [apply] 4 "\n\n(fn &rest CNM-ARGS)"] 10 "\n\n(fn &rest ARGS)"] [eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] ("sigma" "gh.el"))
  gh-issues-issue-list([eieio-class-tag--gh-issues-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "SECRET" "SECRET"] :json 0 nil] "sigma" "gh.el")
  eval((gh-issues-issue-list (gh-issues-api (identity "API")) "sigma" "gh.el") nil)
  eval-expression((gh-issues-issue-list (gh-issues-api "API") "sigma" "gh.el") nil)
  funcall-interactively(eval-expression (gh-issues-issue-list (gh-issues-api "API") "sigma" "gh.el") nil)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

This also breaks some other packages that depend on gh.el.

emacs 25 eieio inconsistencies

This is for all api creation. Here is an example: M-: (gh-gist-api)

Debugger entered--Lisp error: (wrong-number-of-arguments (2 . 2) 1)
  #[514 "�9\205P�\301�!\205P��J\211\262�\205P�\302�!\205P��G\303Y\205P��\304H�>\205P�\305�!\306�\211\203K�\211@\211\307H\262�\211�B\262�\310�D�B\262��A\266\202\202-�\210\211\237\266\202\207" [cl-struct-eieio--class-tags boundp vectorp 12 0 eieio--class-precedence-list nil 1 eieio--static] 8 "\n\n(fn TAG TARGETS)"](nil)
  make-instance(gh-gist-api)
  apply(make-instance gh-gist-api nil)
  gh-gist-api()
  eval((gh-gist-api) nil)

And my emacs version

(version)
"GNU Emacs 25.0.50.1 (x86_64-apple-darwin14.5.0, NS appkit-1348.17 Version 10.10.5 (Build 14F27))\n of 2015-11-02"

merging next into master

I'm considering merging the "next" branch into "master". (one of the reasons being that it's where I'm kinda fixing the eieio-related disaster that Emacs 25 is introducing...)

A lot of work has gone into this branch, and some pretty intrusive changes took place (especially the introduction of a new response parsing structure based on https://github.com/sigma/marshal.el)

@aki2o @dgtized @IvanMalison @syohex @alexander-yakushev @nicferrier @lujun9972 you maintain packages that might be impacted by this merge. Would you mind checking if your package keeps working, and open issues/PR if things don't work as expected?

Thanks !

it appears it's only possible to pull the opening text of an issue, no further updates

This code:

(let ((ghcon (gh-issues-api "api")))
    (with-current-buffer (get-buffer-create "*marmalade-issues*")
      (erase-buffer)
      (--map
       (insert
        (format
         "#%s %s -- %s\n%s\n\n"
         (oref it number)
         (oref it created_at)
         (fill-string (oref it title))
         (fill-string (replace-regexp-in-string "\r" "\n" (oref it body)))))
       (oref
        (gh-issues-issue-list ghcon "nicferrier" "elmarmalade")
        data))
      (pop-to-buffer (current-buffer))))

Produces this currently:

#50 2014-10-24T09:41:37Z -- Issues with using marmalade
Hello, I am interested in getting some packages from marmalade for
emacs, but i can't seem to get it to work, whenever I try to access
the "http://marmalade-repo.org/packages/" URL I get "error in process
filter: could not create connection to marmalade-repo.org:433". Do i
need an account or something? Please help.

#47 2014-10-24T07:32:11Z -- eshell-manual is uninstallable
From marmalade#78



Seems to be related to version number?

#43 2014-10-18T12:47:25Z -- marmalade and discovery
Found this via #emacs 



http://vimawesome.com/



#30 2014-07-25T12:42:55Z -- Where's the searchbox?
I like the site redesign, but how do I search for packages now?

But I'd like to pull the updates too.

(wrong-type-argument symbolp) in marshal-get-marshal-info

I'm not sure whether this issue should be filed against gh.el or marshal. Here is the backtrace

Debugger entered--Lisp error: (wrong-type-argument symbolp [eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound])
  #[(obj) "\302\303\304\217\203
�\305�!\202���\211�\306N)\207" [obj cls nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-object-class :marshal-info] 4]([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unboun
  apply(#[(obj) "\302\303\304\217\203
�\305�!\202���\211�\306N)\207" [obj cls nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-object-class :marshal-info] 4] [eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound 
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj) "\302\303\304\217\203
�\305�!\202���\211�\306N)\207" [obj cls nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-object-class :marshal-info] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isno
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj) "\302\303\304\217\203
�\305�!\202���\211�\306N)\207" [obj cls nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) eieio-object-class :marshal-info] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generi
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj) "\302\303\304\217\203
�\305�!\202���\211�\306N)\207" [obj cls nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil ... ...] 4) ((error)) eieio-object-class :marshal-info] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-meth
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj) "\302\303\304\217\203
�\305�!\202���\211�\306N)\207" [obj cls nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil ... ...] 4) ((error)) eieio-object-class :marshal-info] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 nex
* marshal-get-marshal-info([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound])
  #[(obj blob type) "\306�!\307�\310    !\"A��\311�\f\"\210\n\203R�\f\203R�\312 !\313�\211��\203Q���@�\307
\n\"A\211��\203G�\314   
\315\307
\316    !\"A\317���\"�##\210)��A\211��\204$�*\320�!\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info marshal-open object-slots nil eieio-oset unmarshal-internal marshal-get-type-info marshal-read marshal-close --dolist-tail-- path] 9]([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unb
  apply(#[(obj blob type) "\306�!\307�\310  !\"A��\311�\f\"\210\n\203R�\f\203R�\312 !\313�\211��\203Q���@�\307
\n\"A\211��\203G�\314   
\315\307
\316    !\"A\317���\"�##\210)��A\211��\204$�*\320�!\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info marshal-open object-slots nil eieio-oset unmarshal-internal marshal-get-type-info marshal-read marshal-close --dolist-tail-- path] 9] ([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbo
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\306�!\307�\310   !\"A��\311�\f\"\210\n\203R�\f\203R�\312 !\313�\211��\203Q���@�\307
\n\"A\211��\203G�\314   
\315\307
\316    !\"A\317���\"�##\210)��A\211��\204$�*\320�!\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info marshal-open object-slots nil eieio-oset unmarshal-internal marshal-get-type-info ma
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\306�!\307�\310 !\"A��\311�\f\"\210\n\203R�\f\203R�\312 !\313�\211��\203Q���@�\307
\n\"A\211��\203G�\314   
\315\307
\316    !\"A\317���\"�##\210)��A\211��\204$�*\320�!\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info marshal-open object-slots nil eieio-oset unmarshal-internal marshal-get-type-i
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\306�!\307�\310    !\"A��\311�\f\"\210\n\203R�\f\203R�\312 !\313�\211��\203Q���@�\307
\n\"A\211��\203G�\314   
\315\307
\316    !\"A\317���\"�##\210)��A\211��\204$�*\320�!\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info marshal-open obje
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\306�!\307�\310  !\"A��\311�\f\"\210\n\203R�\f\203R�\312 !\313�\211��\203Q���@�\307
\n\"A\211��\203G�\314   
\315\307
\316    !\"A\317���\"�##\210)��A\211��\204$�*\320�!\210 *\207" [type obj marshal-info driver blob s marshal-get-driver assoc marshal-get-marshal-info marshal-ope
  unmarshal--obj([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/s
  #[(obj blob type) "\304\305\306\217\203��\307�    \"@\206����\310\n��#)\207" [type marshal-drivers obj blob nil (byte-code "�\301N\302H\303=\207" [type eieio-class-definition 0 defclass] 2) ((error)) rassoc unmarshal--obj] 4]([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((
  apply(#[(obj blob type) "\304\305\306\217\203��\307�  \"@\206����\310\n��#)\207" [type marshal-drivers obj blob nil (byte-code "�\301N\302H\303=\207" [type eieio-class-definition 0 defclass] 2) ((error)) rassoc unmarshal--obj] 4] ([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbo
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\304\305\306\217\203��\307�   \"@\206����\310\n��#)\207" [type marshal-drivers obj blob nil (byte-code "�\301N\302H\303=\207" [type eieio-class-definition 0 defclass] 2) ((error)) rassoc unmarshal--obj] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\304\305\306\217\203��\307� \"@\206����\310\n��#)\207" [type marshal-drivers obj blob nil (byte-code "�\301N\302H\303=\207" [type eieio-class-definition 0 defclass] 2) ((error)) rassoc unmarshal--obj] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" 
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\304\305\306\217\203��\307�    \"@\206����\310\n��#)\207" [type marshal-drivers obj blob nil (byte-code "�\301N\302H\303=\207" [type eieio-class-definition 0 defclass] 2) ((error)) rassoc unmarshal--obj] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj blob type) "\304\305\306\217\203��\307�  \"@\206����\310\n��#)\207" [type marshal-drivers obj blob nil (byte-code "�\301N\302H\303=\207" [type eieio-class-definition 0 defclass] 2) ((error)) rassoc unmarshal--obj] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nn
  unmarshal--internal([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.
  unmarshal-internal([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.c
  unmarshal([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacem
  #[(obj data) "\302�   \303#\207" [obj data unmarshal alist] 4]([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users
  apply(#[(obj data) "\302� \303#\207" [obj data unmarshal alist] 4] ([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.co
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302�  \303#\207" [obj data unmarshal alist] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"](#[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic gh-obje
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302�    \303#\207" [obj data unmarshal alist] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"] #[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--generic g
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302�   \303#\207" [obj data unmarshal alist] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"] #[128 "\302\303\300\301�$\207"
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302� \303#\207" [obj data unmarshal alist] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"] #[128 "\302\303\300\301�
  gh-object-read-into([eieio-class-tag--gh-users-user unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound unbound] ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.
  #[(obj data) "\303\304\305\217\203���\202��\306�!�\n\203��\307    \n\"\210    )\207" [obj target data nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) make-instance gh-object-read-into] 3](gh-users-user ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.co
  apply(#[(obj data) "\303\304\305\217\203���\202��\306�!�\n\203��\307  \n\"\210    )\207" [obj target data nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) make-instance gh-object-read-into] 3] (gh-users-user ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.gi
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\303\304\305\217\203���\202��\306�!�\n\203��\307   \n\"\210    )\207" [obj target data nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) make-instance gh-object-read-into] 3] make-byte-code 0 "\301\300!\207" vconc
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\303\304\305\217\203���\202��\306�!�\n\203��\307 \n\"\210    )\207" [obj target data nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil (byte-code "�\301H\302N\303H\304=\207" [tobj 1 eieio-class-definition 0 defclass] 2) ((error))] 4) ((error)) make-instance gh-object-read-into] 3] make-byte-code 0 "\301\300!\207"
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\303\304\305\217\203���\202��\306�!�\n\203��\307    \n\"\210    )\207" [obj target data nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil ... ...] 4) ((error)) make-instance gh-object-read-into] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cl--gener
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\303\304\305\217\203���\202��\306�!�\n\203��\307  \n\"\210    )\207" [obj target data nil (byte-code "�\211�\302H\303=\205��\304\305\306\217)\207" [obj tobj 0 object nil ... ...] 4) ((error)) make-instance gh-object-read-into] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cl-
  gh-object-read(gh-users-user ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url . "https://api.github.com/users/spacemacs/gists{/gist_id}") (starred_url . "https://ap
  apply(gh-object-read (gh-users-user ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url . "https://api.github.com/users/spacemacs/gists{/gist_id}") (starred_url . "htt
  #[128 "\302\300\303\301�\"\"\207" [gh-object-read (gh-users-user) apply append] 6 "\n\n(fn &rest ARGS2)"](((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url . "https:
  mapcar(#[128 "\302\300\303\301�\"\"\207" [gh-object-read (gh-users-user) apply append] 6 "\n\n(fn &rest ARGS2)"] (((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url .
  #[(obj data) "\302\303�!  \"\207" [obj data mapcar gh-object-reader] 3](gh-users-user (((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url . "https://api.github.com/use
  apply(#[(obj data) "\302\303�!    \"\207" [obj data mapcar gh-object-reader] 3] (gh-users-user (((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url . "https://api.github.
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302\303�! \"\207" [obj data mapcar gh-object-reader] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"](#[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl--gener
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302\303�!   \"\207" [obj data mapcar gh-object-reader] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"] #[128 "\302\300�\206��\301\"\207" [#[128 "\302\303\300\301�$\207" [[cl-struct-cl-
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302\303�!  \"\207" [obj data mapcar gh-object-reader] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"] #[128 "\302\303\300\
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(obj data) "\302\303�!    \"\207" [obj data mapcar gh-object-reader] 3] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM OBJ DATA)"] #[128 "\302\30
  gh-object-list-read(gh-users-user (((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (followers_url . "https://api.github.com/users/spacemacs/followers") (following_url . "https://api.github.com/users/spacemacs/following{/other_user}") (gists_url . "https://api.github.com/users/spacemacs/gists{/gist_id}") (starred_url . "http
  #[(search-api data) "�<\204   �\303\304!\210\305\301�\"\211�\204��\303\306!\210\307\310\n\311\"   A\")\207" [data items search-api error "Did not recieve a list from the search query" assoc "Search query did not return items" gh-object-list-read eieio-oref user-cls] 5]([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil] ((total_count . 1) (incomplete_results . :json-f
  apply(#[(search-api data) "�<\204 �\303\304!\210\305\301�\"\211�\204��\303\306!\210\307\310\n\311\"   A\")\207" [data items search-api error "Did not recieve a list from the search query" assoc "Search query did not return items" gh-object-list-read eieio-oref user-cls] 5] ([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil] ((total_count . 1) (incomplete_results . 
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api data) "�<\204  �\303\304!\210\305\301�\"\211�\204��\303\306!\210\307\310\n\311\"   A\")\207" [data items search-api error "Did not recieve a list from the search query" assoc "Search query did not return items" gh-object-list-read eieio-oref user-cls] 5] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api data) "�<\204    �\303\304!\210\305\301�\"\211�\204��\303\306!\210\307\310\n\311\"   A\")\207" [data items search-api error "Did not recieve a list from the search query" assoc "Search query did not return items" gh-object-list-read eieio-oref user-cls] 5] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p cal
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api data) "�<\204   �\303\304!\210\305\301�\"\211�\204��\303\306!\210\307\310\n\311\"   A\")\207" [data items search-api error "Did not recieve a list from the search query" assoc "Search query did not return items" gh-object-list-read eieio-oref user-cls] 5] make-byte-code 0 "\301\300!\207"
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api data) "�<\204 �\303\304!\210\305\301�\"\211�\204��\303\306!\210\307\310\n\311\"   A\")\207" [data items search-api error "Did not recieve a list from the search query" assoc "Search query did not return items" gh-object-list-read eieio-oref user-cls] 5] make-byte-code 0 "\301\300
  gh-process-user-search-result([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil] ((total_count . 1) (incomplete_results . :json-false) (items ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacemacs") (f
  apply(gh-process-user-search-result ([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil] ((total_count . 1) (incomplete_results . :json-false) (items ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://api.github.com/users/spacemacs") (html_url . "https://github.com/spacema
  #[128 "\302\300\303\301�\"\"\207" [gh-process-user-search-result ([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil]) apply append] 6 "\n\n(fn &rest ARGS2)"](((total_count . 1) (incomplete_results . :json-false) (items ((login . "spacemacs") (id . 15712071) (avatar_url . "https://avatars.githubusercontent.com/u/15712071?v=3") (gravatar_id . "") (url . "https://ap
  #[(resp data) "\303�\304\"�\305�\306  \203��  \n!\202��\n#\210\305�\307\310#)\207" [resp transform data eieio-oref :transform eieio-oset :data :data-received t] 5]([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-
  apply(#[(resp data) "\303�\304\"�\305�\306    \203��  \n!\202��\n#\210\305�\307\310#)\207" [resp transform data eieio-oref :transform eieio-oset :data :data-received t] 5] ([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\303�\304\"�\305�\306 \203��  \n!\202��\n#\210\305�\307\310#)\207" [resp transform data eieio-oref :transform eieio-oset :data :data-received t] 5] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM RESP DAT
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\303�\304\"�\305�\306   \203��  \n!\202��\n#\210\305�\307\310#)\207" [resp transform data eieio-oref :transform eieio-oset :data :data-received t] 5] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM RE
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\303�\304\"�\305�\306  \203��  \n!\202��\n#\210\305�\307\310#)\207" [resp transform data eieio-oref :transform eieio-oset :data :data-received t] 5] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" 
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\303�\304\"�\305�\306    \203��  \n!\202��\n#\210\305�\307\310#)\207" [resp transform data eieio-oref :transform eieio-oset :data :data-received t] 5] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M
  call-next-method([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control-Allow-O
  #[(resp data) "\302�\303  !\"\207" [resp data call-next-method gh-api-json-decode] 4]([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Conte
  apply(#[(resp data) "\302�\303    !\"\207" [resp data call-next-method gh-api-json-decode] 4] ([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") 
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\302�\303 !\"\207" [resp data call-next-method gh-api-json-decode] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM RESP DATA)"](#[128 "\302\300�\206��\301\"\207" [#[128 "\302\300\303\304\305\306\307\3
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\302�\303   !\"\207" [resp data call-next-method gh-api-json-decode] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM RESP DATA)"] #[128 "\302\300�\206��\301\"\207" [#[128 "\302\300\303\304\305\306
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\302�\303  !\"\207" [resp data call-next-method gh-api-json-decode] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM RESP DATA)"] #[128
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\302�\303    !\"\207" [resp data call-next-method gh-api-json-decode] 4] make-byte-code 0 "\301\300!\207" vconcat vector [cl--generic-isnot-nnm-p] 2 next-method-p call-next-method "\302\300M\210\303\301M\207" [next-method-p call-next-method] apply] 13 "\n\n(fn CL-CNM RESP DATA)"]
  call-next-method()
  #[(resp data) "\306�\307\"\310\311\312�!\"A��\313 \210\314�\307\315\n\306�\307\"\"#\210   \205g�\306�\316\"\317\232?\205g�\306�\320\"�\306�\321\"\211�\247\203>�\fS\202?�\322�\314�\321
#\210\306�\321\"\323=?\205f�\314�\324\325#\210\314�\326 #\210\314�\327\325#\210\330��\"+*\207" [resp next previous-data req last-page-limit this-page-limit eieio-oref :data assoc "next" gh-api-paging-links call-next-method eieio-oset append :http-status 304 :-req :page-limit -1 0 :data-received nil :url :query gh-u
  apply(#[(resp data) "\306�\307\"\310\311\312�!\"A��\313 \210\314�\307\315\n\306�\307\"\"#\210 \205g�\306�\316\"\317\232?\205g�\306�\320\"�\306�\321\"\211�\247\203>�\fS\202?�\322�\314�\321
#\210\306�\321\"\323=?\205f�\314�\324\325#\210\314�\326 #\210\314�\327\325#\210\330��\"+*\207" [resp next previous-data req last-page-limit this-page-limit eieio-oref :data assoc "next" gh-api-paging-links call-next-method eieio-oset append :http-status 304 :-req :page-limit -1 0 :data-received nil :url :quer
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\306�\307\"\310\311\312�!\"A��\313 \210\314�\307\315\n\306�\307\"\"#\210  \205g�\306�\316\"\317\232?\205g�\306�\320\"�\306�\321\"\211�\247\203>�\fS\202?�\322�\314�\321
#\210\306�\321\"\323=?\205f�\314�\324\325#\210\314�\326 #\210\314�\327\325#\210\330��\"+*\207" [resp next previous-data req last-page-limit this-page-limit eieio-oref :data assoc "nex
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\306�\307\"\310\311\312�!\"A��\313 \210\314�\307\315\n\306�\307\"\"#\210    \205g�\306�\316\"\317\232?\205g�\306�\320\"�\306�\321\"\211�\247\203>�\fS\202?�\322�\314�\321
#\210\306�\321\"\323=?\205f�\314�\324\325#\210\314�\326 #\210\314�\327\325#\210\330��\"+*\207" [resp next previous-data req last-page-limit this-page-limit eieio-oref :data asso
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\306�\307\"\310\311\312�!\"A��\313 \210\314�\307\315\n\306�\307\"\"#\210   \205g�\306�\316\"\317\232?\205g�\306�\320\"�\306�\321\"\211�\247\203>�\fS\202?�\322�\314�\321
#\210\306�\321\"\323=?\205f�\314�\324\325#\210\314�\326 #\210\314�\327\325#\210\330��\"+*\207" [resp next previous-d
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp data) "\306�\307\"\310\311\312�!\"A��\313 \210\314�\307\315\n\306�\307\"\"#\210 \205g�\306�\316\"\317\232?\205g�\306�\320\"�\306�\321\"\211�\247\203>�\fS\202?�\322�\314�\321
#\210\306�\321\"\323=?\205f�\314�\324\325#\210\314�\326 #\210\314�\327\325#\210\330��\"+*\207" [resp next prev
  gh-url-response-set-data([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control
  #[(resp buffer) "\305\216r�q\210\306e T{!�\307�\310\n#\210\307�\311\312\313\314\n\"A!#\210)   Tb\210`d{�\315�\f\"\210+\316�!\210�\207" [buffer url-http-end-of-headers headers resp raw ((kill-buffer buffer)) gh-url-parse-headers eieio-oset :headers :http-status read assoc status-code gh-url-response-set-data gh-url-response-finalize] 7]([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb
  apply(#[(resp buffer) "\305\216r�q\210\306e   T{!�\307�\310\n#\210\307�\311\312\313\314\n\"A!#\210)   Tb\210`d{�\315�\f\"\210+\316�!\210�\207" [buffer url-http-end-of-headers headers resp raw ((kill-buffer buffer)) gh-url-parse-headers eieio-oset :headers :http-status read assoc status-code gh-url-response-set-data gh-url-response-finalize] 7] ([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . 
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp buffer) "\305\216r�q\210\306e    T{!�\307�\310\n#\210\307�\311\312\313\314\n\"A!#\210)   Tb\210`d{�\315�\f\"\210+\316�!\210�\207" [buffer url-http-end-of-headers headers resp raw ((kill-buffer buffer)) gh-url-parse-headers eieio-oset :headers :http-status read assoc status-code gh-url-response-set-data gh-url-response-finalize] 7] make-byte-code 0 "\301\300!\2
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp buffer) "\305\216r�q\210\306e  T{!�\307�\310\n#\210\307�\311\312\313\314\n\"A!#\210)   Tb\210`d{�\315�\f\"\210+\316�!\210�\207" [buffer url-http-end-of-headers headers resp raw ((kill-buffer buffer)) gh-url-parse-headers eieio-oset :headers :http-status read assoc status-code gh-url-response-set-data gh-url-response-finalize] 7] make-byte-code 0 "\301\
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp buffer) "\305\216r�q\210\306e T{!�\307�\310\n#\210\307�\311\312\313\314\n\"A!#\210)   Tb\210`d{�\315�\f\"\210+\316�!\210�\207" [buffer url-http-end-of-headers headers resp raw ((kill-buffer buffer)) gh-url-parse-headers eieio-oset :headers :http-status read assoc status-code gh-url-response-
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(resp buffer) "\305\216r�q\210\306e   T{!�\307�\310\n#\210\307�\311\312\313\314\n\"A!#\210)   Tb\210`d{�\315�\f\"\210+\316�!\210�\207" [buffer url-http-end-of-headers headers resp raw ((kill-buffer buffer)) gh-url-parse-headers eieio-oset :headers :http-status read assoc status-code gh-url-res
  gh-url-response-init([eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control-All
  gh-url-set-response(nil ([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/search/users" ((q . "spacemacs")) (("Authorization" . "token 4cdd96ffe2fc7037a92c7a0677419791c84d1c49") ("Content-Type" . "application/json")) "null" nil 0 nil 1] [eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" .
  #[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "
  apply(#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316  !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" url-basic-auth . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-en
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316   !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-req
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316 !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers u
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\3
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316  !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\
  gh-url-run-request([eieio-class-tag--gh-api-paged-request "GET" "https://api.github.com/search/users" ((q . "spacemacs")) (("Authorization" . "token 4cdd96ffe2fc7037a92c7a0677419791c84d1c49") ("Content-Type" . "application/json")) "null" nil 0 nil 1] [eieio-class-tag--gh-api-paged-response nil nil (("X-GitHub-Request-Id" . "43B4C50A:3D57:123EECA:57DB3A9B") ("Content-Encoding" . "gzip") ("X-Served-By" . "8166eb1845e56d99ba68a6b1065016c1") ("Vary" . "Accept-Encoding") ("X-XSS-Protection" . "1; m
  #[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\225�\337�6B\nB\202\226�\n\340 \312=\203\244�\341�8!\206\262�  \310=\203\261�\342�8!\206\262�\343\344�9&
\"�:�3\203\317��5\204\317�\327\3
  apply(#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\225�\337�6B\nB\202\226�\n\340 \312=\203\244�\341�8!\206\262�  \310=\203\261�\342�8!\206\262�\343\344�9&
\"�:�3\203\317��5\204\317�
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��  \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\22
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��    \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270
  gh-api-authenticated-request([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil] #[128 "\302\300\303\301�\"\"\207" [gh-process-user-search-result ([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil]) apply append] 6 "\n\n(fn &rest ARG
  #[(search-api query-string &optional page-limit &rest additional-arguments) "�;\203\f��G\304V\204��\305\306!\210\307  \310\311    \"\312\313\314\315�B\nB�&�\207" [query-string search-api additional-arguments page-limit 1 error "a non-empty query string must be provided to github search" gh-api-authenticated-request apply-partially gh-process-user-search-result "GET" "/search/users" nil q] 8]([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenti
  apply(#[(search-api query-string &optional page-limit &rest additional-arguments) "�;\203\f��G\304V\204��\305\306!\210\307    \310\311    \"\312\313\314\315�B\nB�&�\207" [query-string search-api additional-arguments page-limit 1 error "a non-empty query string must be provided to github search" gh-api-authenticated-request apply-partially gh-process-user-search-result "GET" "/search/users" nil q] 8] ([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-a
  #[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api query-string &optional page-limit &rest additional-arguments) "�;\203\f��G\304V\204��\305\306!\210\307 \310\311    \"\312\313\314\315�B\nB�&�\207" [query-string search-api additional-arguments page-limit 1 error "a non-empty query string must be provided to github search" gh-api-authenticated-request apply-partially gh-process-user-search-result "GET" 
  apply(#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api query-string &optional page-limit &rest additional-arguments) "�;\203\f��G\304V\204��\305\306!\210\307   \310\311    \"\312\313\314\315�B\nB�&�\207" [query-string search-api additional-arguments page-limit 1 error "a non-empty query string must be provided to github search" gh-api-authenticated-request apply-partially gh-process-user-search-result 
  #[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api query-string &optional page-limit &rest additional-arguments) "�;\203\f��G\304V\204��\305\306!\210\307  \310\311    \"\312\313\314\315�B\nB�&�\207" [query-string search-api additional-arguments page-limit 1 error "a non-empty query string must be provided to github search" gh-api-authent
  apply(#[128 "\302\300\303\304\305\306\307\301��\"\310\"\311\312%�#\207" [#[385 "�\301\302\303\304\305��!\306\"\307$\310K\311K\301\302\312\304\305����\"\313\"\307$\216\310�M\210\311�M\210\314\300��\")\207" [#[(search-api query-string &optional page-limit &rest additional-arguments) "�;\203\f��G\304V\204��\305\306!\210\307    \310\311    \"\312\313\314\315�B\nB�&�\207" [query-string search-api additional-arguments page-limit 1 error "a non-empty query string must be provided to github search" gh-api-a
  gh-search-users([eieio-class-tag--gh-search-api t nil "https://api.github.com" "github" [eieio-class-tag--gh-oauth-authenticator "IvanMalison" "4cdd96ffe2fc7037a92c7a0677419791c84d1c49"] :json 0 nil] "spacemacs" 1)
  (let* ((search-api (make-instance gh-search-api)) (search-response (gh-search-users search-api search-string page-limit)) (users (eieio-oref search-response (quote :data)))) (mapcar (quote github-search-format-user) users))
  github-search-users-for-completion("spacemacs" 1)
  (github-search-select-candidate "Select a user: " (github-search-users-for-completion search-string github-search-page-limit))
  github-search-select-user-from-search-string("spacemacs")
  (let* ((user (github-search-select-user-from-search-string search-string)) (user-repos (github-search-get-repos-from-user-for-completion user))) (github-search-select-and-clone-repo-from-repos user-repos))
  github-search-user-clone-repo("spacemacs")
  funcall-interactively(github-search-user-clone-repo "spacemacs")
  call-interactively(github-search-user-clone-repo record nil)
  command-execute(github-search-user-clone-repo record)
  helm-M-x(nil #("github-search-user-clone-repo" 0 29 (match-part "github-search-user-clone-repo")))
  funcall-interactively(helm-M-x nil #("github-search-user-clone-repo" 0 29 (match-part "github-search-user-clone-repo")))
  call-interactively(helm-M-x nil nil)
  command-execute(helm-M-x)

(wrong-type-argument listp 91) since commit a9457ae

With commit a9457ae gh gist.el does not work anymore

Output when I run gist-list (removed api token):

REQUEST [error] Error from parser (closure (t) (&rest args) (apply (quote gh-request-parse-response) (quote [object gh-api-paged-response "gh-api-paged-response" nil nil nil nil nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/users/ptrv/gists" nil (("Authorization" . "token xxxx") ("Content-Type" . "application/json")) "null" nil 0]]) args)): (wrong-type-argument listp 91)

gh doesn't follow http redirects

The API v3 sometimes uses HTTP redirections, for example when the repository's name has changed.

Github documentation about the redirections: https://docs.github.com/en/free-pro-team@latest/rest/overview/resources-in-the-rest-api#http-redirects

I found this when trying to use magit-gh-pulls on a repository that had changed the name recently and I didn't updated the origin url, digging on the responses I saw that github was answering with a Moved Permanently redirect but gh wasn't following it.

Comment on magit-gh-pulls about it: sigma/magit-gh-pulls#107 (comment)

about support mutlibyte character

when the contents or description of the gist contains multi-byte character the response buffer will got unreadable character.
The following code seems to solve this problem for me.


(defun gh-api-set-response (status retry-data)

  ;; support mutlibyte character
  (set-buffer-multibyte t)

  (destructuring-bind (api req transform resp num) retry-data
    (condition-case err
        (gh-api-response-init resp (current-buffer) transform)
      (error
       (if (or (null num) (zerop num))
           (signal (car err) (cdr err))
         (logito:info api "Retrying request %s %s"
                      (oref req :method) (oref req :url))
         (let ((num (1- num)))
           (gh-api-run-request api req transform resp num)))))))

API consistency in gh-repos for selecting from user / repo

In a number of places in gh-repos the following forms are used to access the user / repo to fetch.

(format "/repos/%s/%s/forks"
                       (oref (oref repo :owner) :login)
                       (oref repo :name))

instead of

(format "/users/%s/gists" (or username (gh-api-get-username api)))
;; or
(format "/repos/%s/%s/pulls/%s" user repo id)

This approach is useful if the repo has already been fetched with gh-repos-repo-get, but is more difficulty to fetch from scratch. It also makes it much more difficult to explore the API when starting out, as the need to pass in the object instead of the string is undocumented. It appears that a number of the other apis just take the user repo pair, and allow a stub to update if needed (gh-issues, and gh-pulls in particular take this approach).

I'm happy to swap over gh-repos to use that approach, but wasn't sure if there was a historical reason, and what code depended on it. Is there a preferred, consistent approach?

gh-pulls-req-to-update could be a plain list?

Hi,

Sometimes, I want to update some object, (gh-issue , or gh-pull-req), and I already have all the info I need, but don't have the gh-pull-req object itself.

As those are defined as defmethods, you need the object itself.

(defmethod gh-pulls-req-to-update ((req gh-pulls-request)) `(("title" . ,(oref req :title)) ("body" . ,(oref req :body)) ("state" . ,(oref req :state))))

Is it possible to specialize that method for lists? I tried

(defmethod gh-pulls-req-to-update (req) req)

And works, but it'd be nicer to have it just for lists.

Eieio doesn't seem to support it though.

Opinions on adding those dumb identity defmethods?

I can issue a pull request if you are ok with the idea.

Complete lack of documentation.

Is there any chance to get some usage examples?

The only hint I can see is available in 'gh-issues.el'.

Unfortunately it's wrong.

  1. there is no 'gh-issues-list' but only an 'gh-issues-issue-list'
  2. I corrected this error above but the only thing I get as result is: 'byte-code: JSON readtable error'

How should I configure this library? Where should I provide and store github password and token?

I can run all tests properly. So this library is workable. But is there any real life use case?

don't cache invalid credentials

In sigma/magit-gh-pulls#5 (comment) I noticed that gh.el can cached a stale (invalid) oauth token from my ~/.gitconfig file, and I couldn't find any way to clear it. Eventually I had to quit emacs entirely and start it up again.

It'd be nice if the credential were only cached after it had been seen to work properly, or maybe the cache could be automatically invalidated if the library ever gets a bad-auth error.

expand issue number in git commit

an awesome minor mode would expand the name of a ticket based on the ticket number at the point, or to do a search of tickets by name and insert the result.

e.g. close #33 expands to expand issue number in git commit (close #33)

gh autoloads actually load quite a bit of code

While using benchmark-init to reduce my emacs initialization time, I noticed that gh-autoloads loads many more modules than an autoload ever should

  │ ├─[~/.emacs.d/straight/build/gh/gh-autoloads.el load 26ms]
  │ │ ├─[gh-profile require 3ms]
  │ │ │ ├─[url-parse require 3ms]
  │ │ │ │ ├─[auth-source require 5ms]
  │ │ │ │ │ ├─[mm-util require 24ms]
  │ │ │ │ │ │ ├─[help-fns require 2ms]
  │ │ │ │ │ │ ╰─[mail-prsvr require 1ms]
  │ │ │ │ │ ╰─[password-cache require 1ms]
  │ │ │ │ ╰─[url-vars require 1ms]
  │ │ │ ╰─[rx require 1ms]
  │ │ ├─[marshal require 5ms]
  │ │ │ ├─[ht require 0ms]
  │ │ │ ╰─[json require 2ms]
  │ │ │   ╰─[map require 1ms]
  │ │ ╰─[eieio require 18ms]
  │ │   ╰─[eieio-core require 2ms]

The reason for this is that gh-defclass instances are often marked as autoloads which requires that the autoload file load gh-common, which then loads

(require 'dash)
(require 'marshal)
(require 's)
(require 'gh-profile)

etc. etc.

allow unauthenticated requests

In sigma/magit-gh-pulls#5 I noticed that some basic operations (listing pull-requests for a public repo) were asking for my github password, when the necessary API calls don't actually require authentication. I haven't studied gh.el carefully enough yet, but I get the sense that all calls are using password/OAuth authentication, whether they really need it or not.

It'd be nice if it didn't ask for a password unless really necessary. For magit-gh-pulls, I think I should be able to list, fetch, branch, and merge, without any special github credentials. (when I finally push my merged branch upstream, I'll need something, but that's the responsibility of the forked git command, nothing new).

I don't deal with private repos very often, so I suspect I don't have as much of a need for authenticated API calls as some folks do. I imagine most checkouts are either in "every API needs authentication" mode (for private repos) or "no APIs need authentication" (for public repos, at least for some operations). I guess one option would be to try the operation without auth, and only ask for creds if it fails. Or maybe put a flag in .git/config to indicate whether the repo is private or not, and then only ask for creds if it's a private repo (or if you're hitting an API that requires auth either way, like.. well, like anything with side-effects: gh-repos-star, gh-repos-fork, etc).

Add semver tags for MELPA stable.

I am unable to install magit-gh-pull from MELPA stable because it has gh as a dependency.

Unlike MELPA, MELPA stable doesn't make a package until it seems tag with major.minor.patch format. I am actually expecting stable to be the primary repository over time.

Thanks.

oauth tokens don't work across machines - create more specific tokens?

Here is the scenario:
Access github account from one machine, through oauth, a token gets created and cached on this machine.
On another machine, access the same account. Since a token exists, none gets generated, but there is no token locally either, so the access fails.
Github does not allow (anymore?) retrieval of tokens after they are created, so the token needs to be account & machine specific (I think, but I do not actually understand the magic behind all this, so thinks might work quite differently), and, as has been suggested, it would be cool to be able to invalidate them and get new ones.

fails to deal with invalid oauth tokens

This is a different issue to #38. If an invalid oauth token is used, you get the very cryptic error:

if: Wrong type argument: listp, "https://developer.github.com/v3"

For some reason setting debug-on-error and debug-on-signal both to t didn't help obtain a backtrace of this, so not knowing any better way, I had to spend several hours with Edebug and macrostep before tracking it down. The HTTP response body is:

{"message":"Bad credentials","documentation_url":"https://developer.github.com/v3"}

gh-url-response-init obtains the HTTP response status code (401) but then ignores the fact that the API call failed, and ploughs on regardless, invoking gh-url-response-set-data in a vain attempt to parse the response via gh-object-read-into. In the case where the bug was triggered via magit-gh-pulls-reload, this results in (gh-read data 'url) being evaluated where data is (documentation_url . "https://developer.github.com/v3"), which is not a list; hence the listp failure. However, the error is caught by the condition-case in gh-url-set-response, which made it a lot harder to pin down the real cause:

Debugger entered--Lisp error: (wrong-type-argument listp "https://developer.github.com/v3")
  signal(wrong-type-argument (listp "https://developer.github.com/v3"))
  (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp))
  (let ((num (eieio-oref req (quote :num-retries)))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp)))
  (condition-case err (progn (eieio-oset resp (quote :-req) req) (gh-url-response-init resp (current-buffer))) (error (let ((num (eieio-oref req (quote :num-retries)))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp)))))
  (let* ((--cl-rest-- req-resp) (req (if (= (length --cl-rest--) 2) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal (quote wrong-number-of-arguments) (list nil (length --cl-rest--))))) (resp (car --cl-rest--))) (condition-case err (progn (eieio-oset resp (quote :-req) req) (gh-url-response-init resp (current-buffer))) (error (let ((num (eieio-oref req (quote :num-retries)))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp))))))
  (progn (let* ((--cl-rest-- req-resp) (req (if (= (length --cl-rest--) 2) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal (quote wrong-number-of-arguments) (list nil (length --cl-rest--))))) (resp (car --cl-rest--))) (condition-case err (progn (eieio-oset resp (quote :-req) req) (gh-url-response-init resp (current-buffer))) (error (let ((num (eieio-oref req ...))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp)))))))
  gh-url-set-response(nil ([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("X-GitHub-Request-Id" . "510267F3:19B11:69AF2F7:55FB63E5") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1442539294") ("X-RateLimit-Remaining" . "57") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 18 Sep 2015 01:07:49 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil]]))
  #[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" ignore . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10]([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("X-GitHub-Request-Id" . "510267F3:19B11:69AF2F7:55FB63E5") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1442539294") ("X-RateLimit-Remaining" . "57") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 18 Sep 2015 01:07:49 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil]])
  apply(#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316  !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" ignore . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�   \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] ([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("X-GitHub-Request-Id" . "510267F3:19B11:69AF2F7:55FB63E5") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1442539294") ("X-RateLimit-Remaining" . "57") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 18 Sep 2015 01:07:49 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil]]))
  gh-url-run-request([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("X-GitHub-Request-Id" . "510267F3:19B11:69AF2F7:55FB63E5") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1442539294") ("X-RateLimit-Remaining" . "57") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 18 Sep 2015 01:07:49 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/sigma/gh.el/pulls" nil (("Authorization" . "token <CENSORED>") ("Content-Type" . "application/json")) "null" nil 0 nil]])
  #[(api transformer method resource &optional data params) "\306�\307\"\211�\310=\203��\311\202��  \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\265�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\225�\337�6B\nB\202\226�\n\340 \312=\203\244�\341�8!\206\262�  \310=\203\261�\342�8!\206\262�\343&�\"�9�3\203\314��5\204\314�\344\345\346\347\340�4%\202$��2\203\373�\327\306�9\350\"\351�0#�:\352�9�:\"\210\353�:\327\354\314�\355�2\356�6&�\"\210�:)\202$��\203��\357��1\"\210\352�9\327\306�9\350\"\351�0#\"\202$�\352�9\327\306�9\350\"\351�0#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer key ...] 16]([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) pcache-entry 1442520306.0517635 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "aspiers" "<CENSORED>"] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) "GET" "/repos/sigma/gh.el/pulls")
  apply(#[(api transformer method resource &optional data params) "\306�\307\"\211�\310=\203��\311\202��    \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\265�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\225�\337�6B\nB\202\226�\n\340 \312=\203\244�\341�8!\206\262�  \310=\203\261�\342�8!\206\262�\343&�\"�9�3\203\314��5\204\314�\344\345\346\347\340�4%\202$��2\203\373�\327\306�9\350\"\351�0#�:\352�9�:\"\210\353�:\327\354\314�\355�2\356�6&�\"\210�:)\202$��\203��\357��1\"\210\352�9\327\306�9\350\"\351�0#\"\202$�\352�9\327\306�9\350\"\351�0#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer key ...] 16] ([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) pcache-entry 1442520306.0517635 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "aspiers" "<CENSORED>"] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) "GET" "/repos/sigma/gh.el/pulls"))
  gh-api-authenticated-request([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) pcache-entry 1442520306.0517635 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "aspiers" "<CENSORED>"] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) "GET" "/repos/sigma/gh.el/pulls")
  #[(api user repo) "\303�\304\305�\306\"!\307\310\311  \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref req-cls "GET" format "/repos/%s/%s/pulls"] 8]([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) pcache-entry 1442520306.0517635 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "aspiers" "<CENSORED>"] :json 1 nil] "sigma" "gh.el")
  apply(#[(api user repo) "\303�\304\305�\306\"!\307\310\311    \n#$\207" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref req-cls "GET" format "/repos/%s/%s/pulls"] 8] ([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) pcache-entry 1442520306.0517635 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "aspiers" "<CENSORED>"] :json 1 nil] "sigma" "gh.el"))
  gh-pulls-list([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) pcache-entry 1442520306.0517635 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "aspiers" "<CENSORED>"] :json 1 nil] "sigma" "gh.el")
  (if (not (and creds (car creds) (cdr creds))) (message "Remote repository is not configured or incorrect.") (magit-gh-pulls-purge-cache) (gh-pulls-list (magit-gh-pulls-get-api) (car creds) (cdr creds)) (magit-refresh))
  (let ((creds (magit-gh-pulls-guess-repo))) (if (not (and creds (car creds) (cdr creds))) (message "Remote repository is not configured or incorrect.") (magit-gh-pulls-purge-cache) (gh-pulls-list (magit-gh-pulls-get-api) (car creds) (cdr creds)) (magit-refresh)))
  magit-gh-pulls-reload()
  #<subr call-interactively>(magit-gh-pulls-reload record nil)
  ad-Advice-call-interactively(#<subr call-interactively> magit-gh-pulls-reload record nil)
  apply(ad-Advice-call-interactively #<subr call-interactively> (magit-gh-pulls-reload record nil))
  call-interactively(magit-gh-pulls-reload record nil)
  command-execute(magit-gh-pulls-reload record)

Multibyte error when uploading a gist

Hey!

When uploading a gist containing non-ASCII chars (with gist.el), I get this error:

error in process sentinel: Multibyte text in HTTP request: POST /gists HTTP/1.1

An issue already exists: defunkt/gist.el#94. I have tried to trace it and found that the content is provided to gh.el unmodified. Who should convert the content to UTF-8 bytes? I would think that this could be gh.el.

it seems it doesn't work with 2-way auth

gh-pulls-list failing to work with github account where 2-way auth is enabled

Contacting host: api.github.com:443
Opening TLS connection to ‘api.github.com’...
Opening TLS connection with ‘gnutls-cli --x509cafile nil -p 443 api.github.com’...failed
Opening TLS connection with ‘gnutls-cli --x509cafile nil -p 443 api.github.com --protocols ssl3’...failed
Opening TLS connection with ‘openssl s_client -connect api.github.com:443 -no_ssl2 -ign_eof’...done
Opening TLS connection to ‘api.github.com’...done
gh-url-set-response: Wrong type argument: listp, "Bad credentials"

Why disable adding labels when creating a new issue?

(defmethod gh-issues-issue-req-to-update ((req gh-issues-issue))
  (let ((assignee (oref req assignee))
        ;; (labels (oref req labels))
        (milestone (oref req milestone))
        (to-update `(("title" . ,(oref req title))
                     ("state" . ,(oref req state))
                     ("body" . ,(oref req body)))))

    ;; (when labels (nconc to-update `(("labels" . ,(oref req labels) ))))
    (when milestone
      (nconc to-update `(("milestone" . ,(oref milestone number)))))
    (when assignee
      (nconc to-update `(("assignee" . ,(oref assignee login) ))))
    to-update))

I noticed that you comemnt out those two pieces of code. But I don't know why?

Proposal to make the repos api consistent

The repos subapi is very inconsistent. I want to fix that but would
first like to know if you agree and whether I would have to make my
changes backward compatible.

I identified the presence of the gh-repos-repo-stub class as the main
cause of most of the inconsistencies. I guess that the reason this
class was introduced was that it requires less boilerplate code to
create a stub as compared to creating an actual (and "complete") repo
object when making api calls that don't actually require the values of
any of the additional slots that gh-repos-repo objects have.

So to save the user from writing all that code when it is not needed
the gh-repos-repo-stub was added. Of course an incomplete
gh-repos-repo object could instead be used in all cases where a
gh-repos-repo-stub is needed but adding the latter has the benefit
that one can easily tell whether some method works with a incomplete
repository representation or not.

Or maybe your intention was that gh-repos-repo objects should never be
created using it's constructor directly but always be created from
responses from github.

However, in some cases not even an gh-repos-repo-stub is required: a
simple string is enough. So now we have methods that require (1) a
gh-repos-repo, (2) a gh-repos-repo-stub, or (3) a string ("repo-id")
as second argument. And which of these are actually required by some
functions appears to be completely arbitrary.

Why

  • gh-repo-repo-get(api repo-ID &optional user) but
  • gh-repo-repo-update|rename(api repo-STUB &optional user ...)

Both functions default to doing something with a named repository of
the user returned by gh-api-get-username; and can be told to instead
do there thing to the repository by the same name of the user given
with the optional USER argument. So why does gh-repos-repo-update
expect a gh-repos-repo-stub as argument when just a string is enough,
but gh-repo-get is happy with just the string?

Why gh-repos-repo-contributors|languages|... (api REPO) ?

All of these functions need to know the owner (USER) and the name
(REPO-ID) of the repository. So why does one have to write

(gh-repos-repo-contributors
 api
 (gh-repos-repo "repo" :name "<NAME>"
                :owner (gh-user "user" :login "<OWNER>")))

When just

(gh-repos-repo-contributors "<NAME>" ["<OWNER>"])    or
(gh-repos-repo-contributors "[<OWNER>]/<NAME>")

would be enough information?

Why does gh-repos-repo-get work like that but these functions do not?
Because we can do this?:

(gh-repos-repo-contributors
 api
 (gh-repos-repo-get api "<NAME>" ["<OWNER>"]))

I still haven't figured out whether your intention was to only create
gh-repos-repo objects from data returned by github, or if you expected
that such objects would be created from scratch.

Regardless I think it makes no sense (1) to make an api call just to
get some information we already have and (2) that the alternative of
creating an repo object using the constructor currently requires way
to much code.

So I propose that

  1. the gh-repos-repo-stub class be removed
  2. all functions that require OWNER and NAME be changed to expect an
    gh-repos-repo object
  3. there be an easy way to create such a repo object

The constructor should be changed to accept such input:

(gh-repos-repo "OWNER/NAME")
=pp=> (gh-repos-repo
       :full-name "OWNER/NAME"
       :name "NAME"
       :owner (gh-repo :login "OWNER"))

(gh-repos-repo "NAME") or
(gh-repos-repo "/NAME")
=pp=> (gh-repos-repo
       :full-name "GH-API-GET-USERNAME/NAME"
       :name "NAME"
       :owner (gh-repo :login "GH-API-GET-USERNAME"))

All functions (of the repos subapi) should never use
gh-api-get-username and instead rely on the gh-repos-repo object
always containing the OWNER information. If OWNER is the logged in
user the second form above can be used. This way gh-api-get-username
is still used effortlessly but now when the repo object is created, as
opposed to when some method is called.

Also note that the functions which only require just the OWNER and
NAME (almost all functions in the repos subapi) could instead be
changed to just expect two strings.

Some of these functions currently expect just that (two strings), some
a stub and OWNER, some just a stub (and some of these optionally OWNER
if different from the USER in the stub), and some an actual repo
object. :-\ So switching to expecting two strings would be an
improvement, however in some cases we might already have a repo
object around and requiring two strings as arguments would again lead
to boilerplate - this time in a different situation:

(gh-repos-repo-something (oref repo-object :name)
                         (oref (oref repo-object :name) :login))

It would be best if all methods dispatched on either a repo or two
strings but that is not possible because eieio only dispatches on the
first argument which is used for the api object. (Well we could do
the dispatching ourselves, or move the API argument later in the
argument list... iiks.)

Of course the

... (oref repo-object :name)
    (oref (oref repo-object :name) :login) ...

part still appears somewhere, that is inside the methods but that
isn't different now. This repetition could be reduced with a
gh-format function that could hide that aspect away. But that is
something to worry about later and not necessary at all.

(gh-format "/repos/%u/%n" REPO) ; using format-spec

There are a few related issues I would like to address at the same time:

  1. gh-reposrepo-new|update should lose the CAPS argument, instead:

x

(gh-repos-repo-update (gh-repos-repo "/NAME")
                      :issues t
                      :wiki nil
                      ;; :description ??? -> unbound: keep current value
                      :master-branch "next" ;; currently missing
                      )

(oset existing-repo-object :description "bla bla")
(gh-repos-repo-update existing-repo-object)

This "changes" :issues, :wiki... to what we already have. That's not
a problem: we already do that for :name.

It's unfortunate that github uses different end-points for user and
org repositories. So:

  1. gh-repos-repo-new: the ORG argument should be a boolean (because
    the owner name is already known due to the REPO argument but the fact
    that the owner is a organization is not).
  2. probably keep gh-repos-org-list (Alternatively rename
    gh-repos-user-list -> gh-repos-list and give it a ORG-P argument.
    But I don't think that's a good idea.)

So what do you think?

To summarize my argument: Currently what kind of argument a method in
the repos api expects is fallows no obvious logic. Most functions
just need to know the name and owner of a repository so we could
change these functions to just expect two string. But because we
might already have an object in memory that could be reused we should
instead change all functions to expect a gh-repos-repo object and make
it effortless (= noise-less) to create such an object using the
constructor.

Best regards,
Jonas

Ps: Note that I can not implement and test all this right away. But
it would certainly motivate me if I knew that you agree with the
general direction I have outlined.

gh.el autoloads fail to load

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�

Add support to specify github api url

I'd be very good if we could specify the url for the github api. Where I work we use github enterprise and I'd like to have a variable where I could set the url, this way I could set in my .dir-locals file a different value for my work projects.

I tried to make the gh-api-v3 class to take the value for a variable but it didn't work, and this eieio module and the way of working feels too alien for me to tackle :(

Pakcage cl is deprecated

I get this warning with native-comp emacs. But I believe this gets printed with vanilla emacs too.

Warning (comp): gh-common.el:30:13: Warning: Package cl is deprecated

also other warnings related to defmethod. Replacing cl with cl-lib and defmethod with cl-defmethod gets rid of most of the warnings expect a few which is listed below.

Compiling file ~/.emacs.d/elpa/gh-20201222.438/gh-common.el at Fri Apr 16 08:35:26 2021
gh-common.el:104:14: Warning: ‘gh-object’ is an obsolete variable (as of
    25.1); use 'gh-object instead
gh-common.el:108:22: Warning: ‘object-p’ is an obsolete function (as of 25.1);
    use ‘eieio-object-p’ instead.
gh-common.el:127:15: Warning: ‘call-next-method’ is an obsolete alias (as of
    25.1); use ‘cl-call-next-method’ instead.
gh-common.el:130:14: Warning: ‘gh-ref-object’ is an obsolete variable (as of
    25.1); use 'gh-ref-object instead
gh-common.el:146:14: Warning: ‘gh-user’ is an obsolete variable (as of 25.1);
    use 'gh-user instead
gh-common.el:153:35: Warning: ‘gh-comment’ is an obsolete variable (as of
    25.1); use 'gh-comment instead

Not an elisp expert, fixing those was not straight forward.

Unable to run gist-* commands on emacs 25.0.50.1

Hi,

This package runs great for me on emacs 24.4.

For the same init.el and freshly recompiled elpa directory, emacs 25.0.50.1 gives the below error when doing M-x gist-list.

From the content in the error, it looks like it fetched the gist list alright but am unable to understand why it errored out. The two files fetched from my gist list match up with my gist.

I tried edebug but I lost a way to debug further as the error is generated in the emacs source: cl-generic.el

If it is an emacs bug (it very likely can be as I built it from the latest today on emacs git), how do I describe it when filing emacs bug report?

cl-no-applicable-method: No applicable method for %S: pcache-entry-valid-p, [object gh-cache-entry "gh-cache-entry" 1422398334.409232 nil ([object gh-gist-gist "gh-gist-gist" ([object gh-gist-gist-file "gh-gist-gist-file" "word_match_all_letters.el" 1050 "https://gist.githubusercontent.com/kaushalmodi/dcb9e54fae158211f226/raw/2b4230d42792171431aa5a9292b42d4e620604a1/word_match_all_letters.el" nil]) t "" "2015-01-26T16:42:11Z" "2015-01-26T16:46:57Z" "https://gist.github.com/dcb9e54fae158211f226.git" "https://gist.github.com/dcb9e54fae158211f226.git" ...] [object gh-gist-gist "gh-gist-gist" ([object gh-gist-gist-file "gh-gist-gist-file" "test-hydra.el" 2163 "https://gist.githubusercontent.com/kaushalmodi/b04368e07aa89a28545b/raw/20ebfe8274b4a3aeeedc2e6d7b33905d49d75f12/test-hydra.el" nil]) t "" "2015-01-20T18:13:19Z" "2015-01-20T18:21:19Z" "https://gist.github.com/b04368e07aa89a28545b.git" "https://gist.github.com/b04368e07aa89a28545b.git" ...]) nil nil]

Many thanks!

magit-gh-pulls and gist.el broken since commit e227f19803ef15f17b772e4b23e028ed34071f71

I use Spacemacs and thus the latest packages from MELPA. I fetched the latest packages from MELPA a few days ago and both gist.el and magit-gh-pulls stopped working.

I was able to get them working by rolling back the revision of gh.el used to 248ac04.

With the latest from MELPA installed, I get this backtrace (after toggle-debug-on-error) when running gist-list (and similarly when trying to use magit-gh-pulls functionality):

Debugger entered--Lisp error: (wrong-type-argument listp "https://developer.github.com/v3")
  signal(wrong-type-argument (listp "https://developer.github.com/v3"))
  (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp))
  (let ((num (eieio-oref req (quote :num-retries)))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp)))
  (condition-case err (let ((responses-req (clone req))) (eieio-oset resp (quote :-req) responses-req) (gh-url-response-init resp (current-buffer))) (error (let ((num (eieio-oref req (quote :num-retries)))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp)))))
  (let* ((--cl-rest-- req-resp) (req (if (= (length --cl-rest--) 2) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- (cdr --cl-rest--)))) (signal (quote wrong-number-of-arguments) (list nil (length --cl-rest--))))) (resp (car --cl-rest--))) (condition-case err (let ((responses-req (clone req))) (eieio-oset resp (quote :-req) responses-req) (gh-url-response-init resp (current-buffer))) (error (let ((num (eieio-oref req (quote :num-retries)))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp))))))
  (progn (let* ((--cl-rest-- req-resp) (req (if (= (length --cl-rest--) 2) (car-safe (prog1 --cl-rest-- (setq --cl-rest-- ...))) (signal (quote wrong-number-of-arguments) (list nil (length --cl-rest--))))) (resp (car --cl-rest--))) (condition-case err (let ((responses-req (clone req))) (eieio-oset resp (quote :-req) responses-req) (gh-url-response-init resp (current-buffer))) (error (let ((num (eieio-oref req ...))) (if (or (null num) (zerop num)) (signal (car err) (cdr err)) (eieio-oset req (quote :num-retries) (1- num)) (gh-url-run-request req resp)))))))
  gh-url-set-response(nil ([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "AE7EB81A:18CF:AD85451:577EFF65") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("X-RateLimit-Reset" . "1467943531") ("X-RateLimit-Remaining" . "58") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 08 Jul 2016 01:18:29 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) [object gh-api-paged-request "gh-api-paged-request-1" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]))
  #[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316  !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" ignore . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302� \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10]([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "AE7EB81A:18CF:AD85451:577EFF65") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("X-RateLimit-Reset" . "1467943531") ("X-RateLimit-Remaining" . "58") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 08 Jul 2016 01:18:29 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) [object gh-api-paged-request "gh-api-paged-request-1" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  apply(#[(req &optional resp) "\306\307\310�\311\"\310�\312\"\310�\313\"\310�\314\"\310�\315\"\211�\203!�\316    !\202\"�\317)P��������\310�\320\"\203\\���\206>�\321\310�\322\"!�����D��r\323\n\324��C#q\210\325\326!\210����+\202|���\206g�\321\310�\322\"!�����D��r\327\n!q\210\324\330��\"\210+.�\331\332\310�\333\"\"\210��\207" [req params url url-request-extra-headers url-request-data url-request-method (("basic" ignore . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302� \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] ([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "AE7EB81A:18CF:AD85451:577EFF65") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("X-RateLimit-Reset" . "1467943531") ("X-RateLimit-Remaining" . "58") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 08 Jul 2016 01:18:29 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) [object gh-api-paged-request "gh-api-paged-request-1" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil]]))
  gh-url-run-request([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "AE7EB81A:18CF:AD85451:577EFF65") ("X-XSS-Protection" . "1; mode=block") ("X-Frame-Options" . "deny") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Content-Security-Policy" . "default-src 'none'") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("X-RateLimit-Reset" . "1467943531") ("X-RateLimit-Remaining" . "58") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Fri, 08 Jul 2016 01:18:29 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) [object gh-api-paged-request "gh-api-paged-request-1" "GET" "https://api.github.com/users/travisbhartwell/gists" nil (("Authorization" . "token nil") ("Content-Type" . "application/json")) "null" nil 0 nil nil]])
  #[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202��   \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\225�\337�6B\nB\202\226�\n\340 \312=\203\244�\341�8!\206\262�  \310=\203\261�\342�8!\206\262�\343\344�9&
\"�:�3\203\317��5\204\317�\327\345\346\347\340�4%\202'��2\203\376�\327\306�:\350\"\351�0#�;\352�:�;\"\210\353�;\327\354\314�\355�2\356�6&�\"\210�;)\202'��\203��\357��1\"\210\352�:\327\306�:\350\"\351�0#\"\202'�\352�:\327\306�:\350\"\351�0#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer key ...] 17]([object gh-gist-api "gh-gist-api" nil [object gh-cache "gh/gh-gist-api/travisbhartwell" "/Users/travisbhartwell/.emacs.d/.cache/pcache/gh/gh-gist-api/travisbhartwell" unbound #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1467940708.997538 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "travisbhartwell" nil] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) "GET" "/users/travisbhartwell/gists")
  apply(#[(api transformer method resource &optional data params page-limit) "\306�\307\"\211�\310=\203��\311\202�� \312=\205��\313�\306�\314\"�\f
\315\316\317�0\"!E�1�\2057�
\306�\320\"\235\2057��1\211�2\205B�\321��2\"\211�3\205M�\322��2\"�4�3\205Y�\323��2\"\211�5\205d�\324��2\"�6�3\203p��5\205\270�\325\306�\326\"\327\330\331
\332\306�\333\"\334�\f\"P\335�7\336�6\203\225�\337�6B\nB\202\226�\n\340 \312=\203\244�\341�8!\206\262�  \310=\203\261�\342�8!\206\262�\343\344�9&
\"�:�3\203\317��5\204\317�\327\345\346\347\340�4%\202'��2\203\376�\327\306�:\350\"\351�0#�;\352�:�;\"\210\353�;\327\354\314�\355�2\356�6&�\"\210�;)\202'��\203��\357��1\"\210\352�:\327\306�:\350\"\351�0#\"\202'�\352�:\327\306�:\350\"\351�0#\".\n\207" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" :page-limit gh-api-response :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer key ...] 17] ([object gh-gist-api "gh-gist-api" nil [object gh-cache "gh/gh-gist-api/travisbhartwell" "/Users/travisbhartwell/.emacs.d/.cache/pcache/gh/gh-gist-api/travisbhartwell" unbound #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1467940708.997538 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "travisbhartwell" nil] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) "GET" "/users/travisbhartwell/gists"))
  gh-api-authenticated-request([object gh-gist-api "gh-gist-api" nil [object gh-cache "gh/gh-gist-api/travisbhartwell" "/Users/travisbhartwell/.emacs.d/.cache/pcache/gh/gh-gist-api/travisbhartwell" unbound #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1467940708.997538 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "travisbhartwell" nil] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-gist-gist) args)) "GET" "/users/travisbhartwell/gists")
  #[(api &optional username) "\302�\303\304�\305\"!\306\307\310 \206��\311�!\"$\207" [api username gh-api-authenticated-request gh-object-list-reader eieio-oref gist-cls "GET" format "/users/%s/gists" gh-api-get-username] 8]([object gh-gist-api "gh-gist-api" nil [object gh-cache "gh/gh-gist-api/travisbhartwell" "/Users/travisbhartwell/.emacs.d/.cache/pcache/gh/gh-gist-api/travisbhartwell" unbound #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1467940708.997538 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "travisbhartwell" nil] :json 1 nil] "travisbhartwell")
  apply(#[(api &optional username) "\302�\303\304�\305\"!\306\307\310   \206��\311�!\"$\207" [api username gh-api-authenticated-request gh-object-list-reader eieio-oref gist-cls "GET" format "/users/%s/gists" gh-api-get-username] 8] ([object gh-gist-api "gh-gist-api" nil [object gh-cache "gh/gh-gist-api/travisbhartwell" "/Users/travisbhartwell/.emacs.d/.cache/pcache/gh/gh-gist-api/travisbhartwell" unbound #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1467940708.997538 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "travisbhartwell" nil] :json 1 nil] "travisbhartwell"))
  gh-gist-list([object gh-gist-api "gh-gist-api" nil [object gh-cache "gh/gh-gist-api/travisbhartwell" "/Users/travisbhartwell/.emacs.d/.cache/pcache/gh/gh-gist-api/travisbhartwell" unbound #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1467940708.997538 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "travisbhartwell" nil] :json 1 nil] "travisbhartwell")
  (let ((resp (gh-gist-list api username))) (gh-url-add-response-callback resp (let ((--cl-buffer-- (make-symbol "--buffer--"))) (let* ((v --cl-buffer--)) (set v bufname)) (list (quote lambda) (quote (&rest --cl-rest--)) (list (quote apply) (list (quote quote) (function (lambda ... ...))) (list (quote quote) --cl-buffer--) (quote --cl-rest--))))) (gh-url-add-response-callback resp (let ((--cl-profile-- (make-symbol "--profile--")) (--cl-buffer-- (make-symbol "--buffer--"))) (progn (let* ((v --cl-profile--)) (set v (eieio-oref api (quote :profile)))) (let* ((v --cl-buffer--)) (set v bufname))) (list (quote lambda) (quote (&rest --cl-rest--)) (list (quote apply) (list (quote quote) (function (lambda ... ...))) (list (quote quote) --cl-buffer--) (list (quote quote) --cl-profile--) (quote --cl-rest--))))))
  (if (and background (not (get-buffer bufname))) nil (let ((resp (gh-gist-list api username))) (gh-url-add-response-callback resp (let ((--cl-buffer-- (make-symbol "--buffer--"))) (let* ((v --cl-buffer--)) (set v bufname)) (list (quote lambda) (quote (&rest --cl-rest--)) (list (quote apply) (list (quote quote) (function ...)) (list (quote quote) --cl-buffer--) (quote --cl-rest--))))) (gh-url-add-response-callback resp (let ((--cl-profile-- (make-symbol "--profile--")) (--cl-buffer-- (make-symbol "--buffer--"))) (progn (let* ((v --cl-profile--)) (set v (eieio-oref api ...))) (let* ((v --cl-buffer--)) (set v bufname))) (list (quote lambda) (quote (&rest --cl-rest--)) (list (quote apply) (list (quote quote) (function ...)) (list (quote quote) --cl-buffer--) (list (quote quote) --cl-profile--) (quote --cl-rest--)))))))
  (let* ((gh-profile-current-profile (or gh-profile-current-profile (gh-profile-completing-read))) (bufname (if (null username) (if (not (equal major-mode (quote gist-list-mode))) (error "Current buffer isn't a gist-list-mode buffer") (buffer-name)) (format "*%s:%sgists*" gh-profile-current-profile (if (or (equal "" username) (eq ... username)) "" (format "%s's-" username))))) (api (gist-get-api nil)) (username (or (and (null username) gist-list-buffer-user) (and (not (or (null username) (equal "" username) (eq ... username))) username) (gh-api-get-username api)))) (if force-reload (progn (pcache-clear (eieio-oref api (quote :cache))) (or background (message "Retrieving list of gists...")))) (if (and background (not (get-buffer bufname))) nil (let ((resp (gh-gist-list api username))) (gh-url-add-response-callback resp (let ((--cl-buffer-- (make-symbol "--buffer--"))) (let* ((v --cl-buffer--)) (set v bufname)) (list (quote lambda) (quote (&rest --cl-rest--)) (list (quote apply) (list ... ...) (list ... --cl-buffer--) (quote --cl-rest--))))) (gh-url-add-response-callback resp (let ((--cl-profile-- (make-symbol "--profile--")) (--cl-buffer-- (make-symbol "--buffer--"))) (progn (let* (...) (set v ...)) (let* (...) (set v bufname))) (list (quote lambda) (quote (&rest --cl-rest--)) (list (quote apply) (list ... ...) (list ... --cl-buffer--) (list ... --cl-profile--) (quote --cl-rest--))))))))
  gist-list-user(current-user nil nil)
  gist-list(nil)
  call-interactively(gist-list nil nil)
  command-execute(gist-list)

I am running Emacs 24.5.1. I have seen this error on both Linux and OS X. If important, I have 2FA enabled for my Github account.

Anything else I can do to help debug this?

JSON readtable error when creating gist.

In using gist.el, I am unable to create a gist. The only message shown is JSON readtable error; however, here is a trace: https://gist.github.com/jwinder/965c7d56654259d784e5.

I've tried adding gist.github.com to url-proxy-services as recommended by another issue, and it didn't make a difference (I'm not working behind a proxy). I've also tried installing previous versions of gh.el as well as removing & re-installing pcache, logito & gist.el.

I've also verified that the base64-encoding of "my-github-email:my-password" was correct in Basic auth of the http request.

(wrong-type-argument listp "https://developer.github.com/v3")

I get this error when using magit-gh-pulls.el. Not sure if it's a bug in magit-gh-pulls.el or gh.el so I'm posting the issue to both github pages.
Here is the backtrace (after removing sensitive info):

Debugger entered--Lisp error: (wrong-type-argument listp "https://developer.github.com/v3")
signal(wrong-type-argument (listp "https://developer.github.com/v3"))
byte-code("\304�\305\"\211�\203�\306 !\203�\307\n@\nA\"\202#\310�\305  S#\210\311��\")\207" [req num err resp eieio-oref :num-retries zerop signal eieio-oset gh-url-run-request] 5)
gh-url-set-response(nil ([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "xxxxxxxxxx") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1449073924") ("X-RateLimit-Remaining" . "54") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Wed, 02 Dec 2015 15:38:58 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil]]))
#[(req &optional resp) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [req params url url-request-extra-headers url-request-data url-request-method (("basic" ignore . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302� \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10]([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1449073924") ("X-RateLimit-Remaining" . "54") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Wed, 02 Dec 2015 15:38:58 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil]])
apply(#[(req &optional resp) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [req params url url-request-extra-headers url-request-data url-request-method (("basic" ignore . 4)) high eieio-oref :method :data :headers :url :query gh-url-params-encode "" :async make-instance default-response-cls url-retrieve gh-url-set-response make-local-variable url-registered-auth-schemes url-retrieve-synchronously nil mapc #[(cb) "\302�    \"\207" [resp cb gh-url-add-response-callback] 3] :install-callbacks url-privacy-level resp req-resp] 10] ([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "xxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1449073924") ("X-RateLimit-Remaining" . "54") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Wed, 02 Dec 2015 15:38:58 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil]]))
gh-url-run-request([object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil] [object gh-api-paged-response "gh-api-paged-response" nil nil (("X-GitHub-Request-Id" . "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx") ("X-Content-Type-Options" . "nosniff") ("Strict-Transport-Security" . "max-age=31536000; includeSubdomains; preload") ("Access-Control-Allow-Origin" . "*") ("Access-Control-Expose-Headers" . "ETag, Link, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval") ("Access-Control-Allow-Credentials" . "true") ("Content-Security-Policy" . "default-src 'none'") ("X-Frame-Options" . "deny") ("X-XSS-Protection" . "1; mode=block") ("X-RateLimit-Reset" . "1449073924") ("X-RateLimit-Remaining" . "54") ("X-RateLimit-Limit" . "60") ("X-GitHub-Media-Type" . "github.v3") ("Status" . "401 Unauthorized") ("Content-Length" . "83") ("Content-Type" . "application/json; charset=utf-8") ("Date" . "Wed, 02 Dec 2015 15:38:58 GMT") ("Server" . "GitHub.com") (status-string . "Unauthorized") (status-code . "401") (status-version . "1.1")) 401 nil (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) [object gh-api-paged-request "gh-api-paged-request" "GET" "https://api.github.com/repos/vapniks/jb-misc-functions/pulls" nil (("Authorization" . "token xxxxxxxxxxxxxxxxxxxxxx") ("Content-Type" . "application/json")) "null" nil 0 nil]])
#[(api transformer method resource &optional data params) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer key ...] 16]([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1449066331.8519104 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "vapniks" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) "GET" "/repos/vapniks/jb-misc-functions/pulls")
apply(#[(api transformer method resource &optional data params) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [api fmt headers cache resource method eieio-oref :data-format :form (("Content-Type" . "application/x-www-form-urlencoded")) :json (("Content-Type" . "application/json")) :cache sha1 format "%s" safe-methods pcache-has pcache-get gh-cache-outdated-p gh-cache-etag gh-auth-modify-request :auth make-instance gh-api-paged-request :method :url :base gh-api-expand-resource :query :headers "If-None-Match" :data gh-api-json-encode gh-url-form-encode "" gh-api-response "cached" :data-received t default-response-cls :transform gh-url-run-request gh-url-add-response-callback gh-api-callback :key :revive pcache-invalidate transformer key ...] 16] ([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1449066331.8519104 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "vapniks" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) "GET" "/repos/vapniks/jb-misc-functions/pulls"))
gh-api-authenticated-request([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1449066331.8519104 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "vapniks" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] :json 1 nil] (closure (t) (&rest args) (apply (quote gh-object-list-read) (quote gh-pulls-request) args)) "GET" "/repos/vapniks/jb-misc-functions/pulls")
#[(api user repo) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref req-cls "GET" format "/repos/%s/%s/pulls"] 8]([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1449066331.8519104 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "vapniks" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] :json 1 nil] "vapniks" "jb-misc-functions")
apply(#[(api user repo) "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" [api user repo gh-api-authenticated-request gh-object-list-reader eieio-oref req-cls "GET" format "/repos/%s/%s/pulls"] 8] ([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1449066331.8519104 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "vapniks" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] :json 1 nil] "vapniks" "jb-misc-functions"))
gh-pulls-list([object gh-pulls-api "api" t [object gh-cache "cache" "~/.emacs.d/var/pcache/cache" nil #s(hash-table size 65 test equal rehash-size 1.5 rehash-threshold 0.8 data ( ...)) gh-cache-entry 1449066331.8519104 300] "https://api.github.com" "github" [object gh-oauth-authenticator "auth" "vapniks" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"] :json 1 nil] "vapniks" "jb-misc-functions")
magit-gh-pulls-reload()
call-interactively(magit-gh-pulls-reload)
magit-invoke-popup-action(103)
call-interactively(magit-invoke-popup-action nil nil)
command-execute(magit-invoke-popup-action)

(wrong-type-argument number-or-marker-p nil) in gh-url-response-init because url-http-end-of-headers does not seem to be properly available

Here is a full traceback:

Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
  #f(compiled-function (resp buffer) #<bytecode 0x1f9363d>)(#<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>)
  apply(#f(compiled-function (resp buffer) #<bytecode 0x1f9363d>) (#<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>))
  #f(compiled-function (cl-cnm resp buffer) #<bytecode 0x1da4aed>)(#f(compiled-function (&rest cnm-args) #<bytecode 0x2109df5>) #<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>)
  apply(#f(compiled-function (cl-cnm resp buffer) #<bytecode 0x1da4aed>) #f(compiled-function (&rest cnm-args) #<bytecode 0x2109df5>) (#<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>))
  #f(compiled-function (&rest args) #<bytecode 0x195bfa1>)(#<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>)
  apply(#f(compiled-function (&rest args) #<bytecode 0x195bfa1>) #<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>)
  gh-url-response-init(#<gh-api-paged-response gh-api-paged-response> #<buffer  *http api.github.com:443*>)
  gh-url-set-response(nil (#<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>))
  #f(compiled-function (req &optional resp) #<bytecode 0x221e4a1>)(#<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>)
  apply(#f(compiled-function (req &optional resp) #<bytecode 0x221e4a1>) (#<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>))
  #f(compiled-function (cl-cnm req &optional resp) #<bytecode 0x1cd4041>)(#f(compiled-function (&rest cnm-args) #<bytecode 0x2250935>) #<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>)
  apply(#f(compiled-function (cl-cnm req &optional resp) #<bytecode 0x1cd4041>) #f(compiled-function (&rest cnm-args) #<bytecode 0x2250935>) (#<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>))
  #f(compiled-function (&rest args) #<bytecode 0x1cff1d9>)(#<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>)
  apply(#f(compiled-function (&rest args) #<bytecode 0x1cff1d9>) #<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>)
  gh-url-run-request(#<gh-api-paged-request gh-api-paged-request> #<gh-api-paged-response gh-api-paged-response>)
  #f(compiled-function (api transformer method resource &optional data params page-limit) #<bytecode 0x1ccf4f9>)(#<gh-search-api gh-search-api> #f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1)
  apply(#f(compiled-function (api transformer method resource &optional data params page-limit) #<bytecode 0x1ccf4f9>) (#<gh-search-api gh-search-api> #f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1))
  #f(compiled-function (cl-cnm api transformer method resource &optional data params page-limit) #<bytecode 0x135fde5>)(#f(compiled-function (&rest cnm-args) #<bytecode 0x225080d>) #<gh-search-api gh-search-api> #f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1)
  apply(#f(compiled-function (cl-cnm api transformer method resource &optional data params page-limit) #<bytecode 0x135fde5>) #f(compiled-function (&rest cnm-args) #<bytecode 0x225080d>) (#<gh-search-api gh-search-api> #f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1))
  #f(compiled-function (&rest args) #<bytecode 0x225731d>)(#<gh-search-api gh-search-api> #f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1)
  apply(#f(compiled-function (&rest args) #<bytecode 0x225731d>) #<gh-search-api gh-search-api> (#f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1))
  gh-api-authenticated-request(#<gh-search-api gh-search-api> #f(compiled-function (&rest args2) #<bytecode 0x22507f1>) "GET" "/search/repositories" nil ((q . "lens")) 1)
  #f(compiled-function (search-api query-string &optional page-limit &rest additional-arguments) #<bytecode 0x19586a9>)(#<gh-search-api gh-search-api> "lens" 1)
  apply(#f(compiled-function (search-api query-string &optional page-limit &rest additional-arguments) #<bytecode 0x19586a9>) (#<gh-search-api gh-search-api> "lens" 1))
  #f(compiled-function (cl-cnm search-api query-string &optional page-limit &rest additional-arguments) #<bytecode 0x1c211d1>)(#f(compiled-function (&rest cnm-args) #<bytecode 0x2250799>) #<gh-search-api gh-search-api> "lens" 1)
  apply(#f(compiled-function (cl-cnm search-api query-string &optional page-limit &rest additional-arguments) #<bytecode 0x1c211d1>) #f(compiled-function (&rest cnm-args) #<bytecode 0x2250799>) (#<gh-search-api gh-search-api> "lens" 1))
  #f(compiled-function (&rest args) #<bytecode 0x2257245>)(#<gh-search-api gh-search-api> "lens" 1)
  apply(#f(compiled-function (&rest args) #<bytecode 0x2257245>) #<gh-search-api gh-search-api> ("lens" 1))
  gh-search-repos(#<gh-search-api gh-search-api> "lens" 1)
  github-search-for-completion("lens" 1)
  github-search-clone-repo("lens")
  funcall-interactively(github-search-clone-repo "lens")
  call-interactively(github-search-clone-repo record nil)
  command-execute(github-search-clone-repo record)
  helm-M-x(nil #("github-search-clone-repo" 0 24 (match-part "github-search-clone-repo")))
  funcall-interactively(helm-M-x nil #("github-search-clone-repo" 0 24 (match-part "github-search-clone-repo")))
  call-interactively(helm-M-x nil nil)
  command-execute(helm-M-x)

Can't say I fully understand what is going on, but it seems that gh is expecting the url-http-end-of-headers variable to be populated, but this isn't happening for some reason.

For now setting

For now setting

(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")

fixes the issue. This should get fixed in newer versions of emacs though.

Originally posted by @IvanMalison in #102 (comment)

Error from batch job with gh installed

$ emacs -batch -Q --eval "(progn (toggle-debug-on-error) (require 'package) (message \"initialize\") (package-initialize) (message \"done\"))"
Debug on Error enabled globally
initialize
Eager macro-expansion failure: (void-function eieio-make-class-predicate)
Debugger entered--Lisp error: (void-function eieio-make-class-predicate)
  eieio-make-class-predicate(marshal-driver)
  byte-code("\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\210\314\303\315\316\315$\207" [defalias marshal-driver-p eieio-make-class-predicate marshal-driver marshal-driver--eieio-childp eieio-make-child-predicate marshal-driver-child-p make-obsolete "use (cl-typep ... \\='marshal-driver) instead" "25.1" put cl-deftype-satisfies eieio-defclass-internal nil ((input :initarg :input) (output :initarg :output))] 5)
  require(marshal)
  byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312\313%\207" [require eieio dash marshal s gh-profile custom-declare-group gh nil "Github API client libraries." :group applications] 6)
  (gh-defclass gh-object nil nil)
  eval-buffer(#<buffer  *load*> nil "/Users/sean/.emacs.d/elpa/gh-20160728.1525/gh-autoloads.el" nil t)  ; Reading at buffer position 2204
  load-with-code-conversion("/Users/sean/.emacs.d/elpa/gh-20160728.1525/gh-autoloads.el" "/Users/sean/.emacs.d/elpa/gh-20160728.1525/gh-autoloads.el" nil t)
  load("/Users/sean/.emacs.d/elpa/gh-20160728.1525/gh-autoloads" nil t)
  #[0 "\302\303\304\305\300\"\301\"\306\307#\207" [gh "/Users/sean/.emacs.d/elpa/gh-20160728.1525" load expand-file-name format "%s-autoloads" nil t] 5 "\n\n(fn)"]()
  funcall(#[0 "\302\303\304\305\300\"\301\"\306\307#\207" [gh "/Users/sean/.emacs.d/elpa/gh-20160728.1525" load expand-file-name format "%s-autoloads" nil t] 5 "\n\n(fn)"])
  package-activate-1([cl-struct-package-desc gh (20160728 1525) "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 "/Users/sean/.emacs.d/elpa/gh-20160728.1525" nil nil])
  package-activate(gh (0 9 1))
  #[0 "\300\302H    >\204�\303\304\305\306#\210\300\307H\211\2050\211@\310�@�\211A@\262�\"\204)\311\312�\"\210�A\266\202\202�\207" [[cl-struct-package-desc magit-gh-pulls (20160513 310) "GitHub pull requests extension for Magit" ((emacs (24)) (gh (0 9 1)) (magit (2 1 0)) (pcache (0 2 3)) (s (1 6 1))) nil nil "/Users/sean/.emacs.d/elpa/magit-gh-pulls-20160513.310" ((:keywords "git" "tools") (:url . "https://github.com/sigma/magit-gh-pulls")) nil] cl-struct-package-desc-tags 0 error "%s accessing a non-%s" package-desc-reqs package-desc 4 package-activate throw dep-failure] 6 "\n\n(fn)"]()
  funcall(#[0 "\300\302H    >\204�\303\304\305\306#\210\300\307H\211\2050\211@\310�@�\211A@\262�\"\204)\311\312�\"\210�A\266\202\202�\207" [[cl-struct-package-desc magit-gh-pulls (20160513 310) "GitHub pull requests extension for Magit" ((emacs (24)) (gh (0 9 1)) (magit (2 1 0)) (pcache (0 2 3)) (s (1 6 1))) nil nil "/Users/sean/.emacs.d/elpa/magit-gh-pulls-20160513.310" ((:keywords "git" "tools") (:url . "https://github.com/sigma/magit-gh-pulls")) nil] cl-struct-package-desc-tags 0 error "%s accessing a non-%s" package-desc-reqs package-desc 4 package-activate throw dep-failure] 6 "\n\n(fn)"])
  package-activate(magit-gh-pulls)
  package-initialize()
  (progn (toggle-debug-on-error) (require (quote package)) (message "initialize") (package-initialize) (message "done"))
  eval((progn (toggle-debug-on-error) (require (quote package)) (message "initialize") (package-initialize) (message "done")))
  command-line-1(("--eval" "(progn (toggle-debug-on-error) (require 'package) (message \"initialize\") (package-initialize) (message \"done\"))"))
  command-line()
  normal-top-level()

I'm not really sure where to post this, but it doesn't happen when marshal is installed but does happen when gh is installed.

Despite the package-activate(magit-gh-pulls) (????), magit-gh-pulls isn't necessary.

gh-auth-get-oauth-token should support the `!` bang syntax

It's common to have a .gitconfig that looks like:

github.oauth-token=!cat ~/.github.oauth-token

Which then allows git to read oauth tokens outside of the .gitconfig file (which may be generated and shared on multiple machines)

When invoking (gh-auth-get-oauth-token) however, it returns the string !cat ~/.github.oauth-token instead of executing the cat command to read the token.

latest emacs breaks eieio dependency

Recent versions of Emacs (I'm using emacs-snapshot-gtk from Ubuntu) now ships with eieio-1.4 but the elpa version of gh (didn't try yet with the git repo) depends on eieio-1.3 and as such can't be loaded anymore.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.