Template for splash screen #3

Closed
opened 2020-06-02 13:04:05 +00:00 by pmnerfed · 9 comments
pmnerfed commented 2020-06-02 13:04:05 +00:00 (Migrated from github.com)

I love most of your config. especially the exporting to HTML part.
But even more than that I like the splash screen.
I see that you are using the blackholes-lines-template.svg for generating your splash screen, can you point me to the right file for it?

I love most of your config. especially the exporting to HTML part. But even more than that I like the splash screen. I see that you are using the blackholes-lines-template.svg for generating your splash screen, can you point me to the right file for it?
tecosaur commented 2020-06-02 14:41:07 +00:00 (Migrated from github.com)

Glad to hear that you've found my config useful! If you see the first code block of https://tecosaur.github.io/emacs-config/config.html#splash-screen, particularly the code block

(setq fancy-splash-sizes
  `((:height 500 :min-height 50 :padding (0 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-0.svg" doom-private-dir))
    (:height 440 :min-height 42 :padding (1 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-0.svg" doom-private-dir))
    (:height 400 :min-height 38 :padding (1 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-1.svg" doom-private-dir))
    (:height 350 :min-height 36 :padding (1 . 3) :template ,(expand-file-name "misc/splash-images/blackhole-lines-2.svg" doom-private-dir))
    (:height 300 :min-height 34 :padding (1 . 3) :template ,(expand-file-name "misc/splash-images/blackhole-lines-3.svg" doom-private-dir))
    (:height 250 :min-height 32 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/blackhole-lines-4.svg" doom-private-dir))
    (:height 200 :min-height 30 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/blackhole-lines-5.svg" doom-private-dir))
    (:height 100 :min-height 24 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/emacs-e-template.svg" doom-private-dir))
    (:height 0   :min-height 0  :padding (0 . 0) :file ,fancy-splash-image-nil)))

those are the files I'm using (see misc/splash-images)

A word of warning though, with Emacs 27 I'm aware of some positioning issues (related to the change to Cairo rendering I suspect). This is something which will recieve more attention from me when I begin looking at Emacs 27 more. In the meantime, I'd just check back here every now and then for updates 😁

Glad to hear that you've found my config useful! If you see the first code block of https://tecosaur.github.io/emacs-config/config.html#splash-screen, particularly the code block ```elisp (setq fancy-splash-sizes `((:height 500 :min-height 50 :padding (0 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-0.svg" doom-private-dir)) (:height 440 :min-height 42 :padding (1 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-0.svg" doom-private-dir)) (:height 400 :min-height 38 :padding (1 . 4) :template ,(expand-file-name "misc/splash-images/blackhole-lines-1.svg" doom-private-dir)) (:height 350 :min-height 36 :padding (1 . 3) :template ,(expand-file-name "misc/splash-images/blackhole-lines-2.svg" doom-private-dir)) (:height 300 :min-height 34 :padding (1 . 3) :template ,(expand-file-name "misc/splash-images/blackhole-lines-3.svg" doom-private-dir)) (:height 250 :min-height 32 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/blackhole-lines-4.svg" doom-private-dir)) (:height 200 :min-height 30 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/blackhole-lines-5.svg" doom-private-dir)) (:height 100 :min-height 24 :padding (1 . 2) :template ,(expand-file-name "misc/splash-images/emacs-e-template.svg" doom-private-dir)) (:height 0 :min-height 0 :padding (0 . 0) :file ,fancy-splash-image-nil))) ``` those are the files I'm using (see [misc/splash-images](https://github.com/tecosaur/emacs-config/tree/master/misc/splash-images)) A word of warning though, with Emacs 27 I'm aware of some positioning issues (related to the change to Cairo rendering I suspect). This is something which will recieve more attention from me when I begin looking at Emacs 27 more. In the meantime, I'd just check back here every now and then for updates :grin:
pmnerfed commented 2020-06-02 16:43:56 +00:00 (Migrated from github.com)

Thanks for your reply. True I can use the splash screen now although the positioning is like you said. Still, I really like how the colors are taken from the theme and a cache svg is generated.

Also, I've shamelessly stolen more than half of your config coz I love everything about it. Thanks for sharing your hard work. :)

Thanks for your reply. True I can use the splash screen now although the positioning is like you said. Still, I really like how the colors are taken from the theme and a cache svg is generated. Also, I've shamelessly stolen more than half of your config coz I love everything about it. Thanks for sharing your hard work. :)
pmnerfed commented 2020-06-03 04:54:01 +00:00 (Migrated from github.com)

Also Can you help me get the xkcd working?
I am getting the following error

Debugger entered--Lisp error: (wrong-type-argument listp #<hash-table eql 2/65 0x4466b0f9>)
  assoc(1319 #<hash-table eql 2/65 0x4466b0f9>)
  (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num)))
  (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))))) json-assoc)
  (+xkcd-db-write (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))))) json-assoc))
  (if res nil (+xkcd-db-write (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))))) json-assoc)) (setq res (+xkcd-db-read num)))
  (let ((res (or (gethash num +xkcd-stored-info) (puthash num (+xkcd-db-read num) +xkcd-stored-info)))) (if res nil (+xkcd-db-write (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string ...)))) json-assoc)) (setq res (+xkcd-db-read num))) res)
  +xkcd-fetch-info(1319)
  (let* ((xkcd-data (+xkcd-fetch-info num)) (num (plist-get xkcd-data :num)) (img (plist-get xkcd-data :img)) (safe-title (plist-get xkcd-data :safe-title)) (alt (plist-get xkcd-data :alt)) title file) (message "Getting comic...") (setq file (xkcd-download img num)) (setq title (format "%d: %s" num safe-title)) (insert (propertize title (quote face) (quote outline-1))) (center-line) (insert "\n") (xkcd-insert-image file num) (if (eq xkcd-cur 0) (setq xkcd-cur num)) (setq xkcd-alt alt) (message "%s" title))
  (let (buffer-read-only) (erase-buffer) (setq xkcd-cur num) (let* ((xkcd-data (+xkcd-fetch-info num)) (num (plist-get xkcd-data :num)) (img (plist-get xkcd-data :img)) (safe-title (plist-get xkcd-data :safe-title)) (alt (plist-get xkcd-data :alt)) title file) (message "Getting comic...") (setq file (xkcd-download img num)) (setq title (format "%d: %s" num safe-title)) (insert (propertize title (quote face) (quote outline-1))) (center-line) (insert "\n") (xkcd-insert-image file num) (if (eq xkcd-cur 0) (setq xkcd-cur num)) (setq xkcd-alt alt) (message "%s" title)))
  +xkcd-get(1319)
  apply(+xkcd-get 1319)
  xkcd-get(1319)
  funcall-interactively(xkcd-get 1319)
  call-interactively(xkcd-get record nil)
  command-execute(xkcd-get record)
  counsel-M-x-action("xkcd-get")
  #f(compiled-function (x) #<bytecode 0x4431df91>)("xkcd-get")
  ivy-call()
  #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>)("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t)
  apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t))
  #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands)("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-posframe--read(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands) "M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(ivy-posframe--read #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-read("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)

And do your comics show inline in org mode?

Also Can you help me get the xkcd working? I am getting the following error ``` Debugger entered--Lisp error: (wrong-type-argument listp #<hash-table eql 2/65 0x4466b0f9>) assoc(1319 #<hash-table eql 2/65 0x4466b0f9>) (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))) (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))))) json-assoc) (+xkcd-db-write (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))))) json-assoc)) (if res nil (+xkcd-db-write (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string (xkcd-get-json url num))))) json-assoc)) (setq res (+xkcd-db-read num))) (let ((res (or (gethash num +xkcd-stored-info) (puthash num (+xkcd-db-read num) +xkcd-stored-info)))) (if res nil (+xkcd-db-write (let* ((url (format "http://xkcd.com/%d/info.0.json" num)) (json-assoc (if (assoc num +xkcd-stored-info) (assoc num +xkcd-stored-info) (json-read-from-string ...)))) json-assoc)) (setq res (+xkcd-db-read num))) res) +xkcd-fetch-info(1319) (let* ((xkcd-data (+xkcd-fetch-info num)) (num (plist-get xkcd-data :num)) (img (plist-get xkcd-data :img)) (safe-title (plist-get xkcd-data :safe-title)) (alt (plist-get xkcd-data :alt)) title file) (message "Getting comic...") (setq file (xkcd-download img num)) (setq title (format "%d: %s" num safe-title)) (insert (propertize title (quote face) (quote outline-1))) (center-line) (insert "\n") (xkcd-insert-image file num) (if (eq xkcd-cur 0) (setq xkcd-cur num)) (setq xkcd-alt alt) (message "%s" title)) (let (buffer-read-only) (erase-buffer) (setq xkcd-cur num) (let* ((xkcd-data (+xkcd-fetch-info num)) (num (plist-get xkcd-data :num)) (img (plist-get xkcd-data :img)) (safe-title (plist-get xkcd-data :safe-title)) (alt (plist-get xkcd-data :alt)) title file) (message "Getting comic...") (setq file (xkcd-download img num)) (setq title (format "%d: %s" num safe-title)) (insert (propertize title (quote face) (quote outline-1))) (center-line) (insert "\n") (xkcd-insert-image file num) (if (eq xkcd-cur 0) (setq xkcd-cur num)) (setq xkcd-alt alt) (message "%s" title))) +xkcd-get(1319) apply(+xkcd-get 1319) xkcd-get(1319) funcall-interactively(xkcd-get 1319) call-interactively(xkcd-get record nil) command-execute(xkcd-get record) counsel-M-x-action("xkcd-get") #f(compiled-function (x) #<bytecode 0x4431df91>)("xkcd-get") ivy-call() #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>)("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t) apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t)) #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands)("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x) apply(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)) ivy-posframe--read(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands) "M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x) apply(ivy-posframe--read #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x43eb4de9>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)) ivy-read("M-x " ("xkcd" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "org-roam-db--clear" "org-roam--db-clear" "customize" "org-noter-insert-note" "org-noter-create-skeleton" "org-ref" "org-noter" "org-noter-doc-mode" "org-noter-sync-current-page-or-chapter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-noter-notes-mode" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "org-noter-insert-precise-note" "doom/describe-active-minor-mode" "org-noter-sync-next-page-or-chapter" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" ...) :predicate #f(compiled-function (x) #<bytecode 0x45e63029>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x) counsel-M-x() funcall-interactively(counsel-M-x) call-interactively(counsel-M-x nil nil) command-execute(counsel-M-x) ``` And do your comics show inline in org mode?
tecosaur commented 2020-06-03 05:19:58 +00:00 (Migrated from github.com)

Looks like I was using assoc somewhere where I should have been using gethash I think 9812e07de1f20317c2c35108e39fcf31d20b14ef should resolve this issue.

Looks like I was using `assoc` somewhere where I should have been using `gethash` I think 9812e07de1f20317c2c35108e39fcf31d20b14ef should resolve this issue.
pmnerfed commented 2020-06-03 06:27:05 +00:00 (Migrated from github.com)

running xkcd after the change gives me this error

Debugger entered--Lisp error: (void-variable res)
  (progn (require (quote emacsql-sqlite)) (defalias (quote +xkcd-select) (function (lambda nil "Prompt the user for an xkcd using `ivy-read' and `+xkcd-select-format'. Return the xkcd number or nil" (let* (prompt-lines (-dummy (maphash ... +xkcd-stored-info)) (num (ivy-read ... prompt-lines))) (if (equal "" num) xkcd-latest (string-to-number (replace-regexp-in-string "\\([0-9]+\\).*" "\\1" num))))))) (defalias (quote +xkcd-select-format) (function (lambda (xkcd-info) "Creates each ivy-read line from an xkcd info plist. Must start with the xkcd number" (format "%-4s  %-30s %s" (propertize (number-to-string (plist-get xkcd-info :num)) (quote face) (quote counsel-key-binding)) (plist-get xkcd-info :title) (propertize (plist-get xkcd-info :alt) (quote face) (quote (variable-pitch font-lock-comment-face))))))) (defalias (quote +xkcd-fetch-info) (function (lambda (&optional num) "Fetch the parsed json info for comic NUM. Fetches latest when omitted or 0" (require (quote xkcd)) (if (or (not num) (= num 0)) (progn (+xkcd-check-latest) (setq num xkcd-latest))) (let ((res (or ... ...))) (if res nil (+xkcd-db-write (let* ...)) json-assoc)) (setq res (+xkcd-db-read num))))) res)
  (lambda nil (progn (require (quote emacsql-sqlite)) (defalias (quote +xkcd-select) (function (lambda nil "Prompt the user for an xkcd using `ivy-read' and `+xkcd-select-format'. Return the xkcd number or nil" (let* (prompt-lines (-dummy ...) (num ...)) (if (equal "" num) xkcd-latest (string-to-number ...)))))) (defalias (quote +xkcd-select-format) (function (lambda (xkcd-info) "Creates each ivy-read line from an xkcd info plist. Must start with the xkcd number" (format "%-4s  %-30s %s" (propertize (number-to-string ...) (quote face) (quote counsel-key-binding)) (plist-get xkcd-info :title) (propertize (plist-get xkcd-info :alt) (quote face) (quote ...)))))) (defalias (quote +xkcd-fetch-info) (function (lambda (&optional num) "Fetch the parsed json info for comic NUM. Fetches latest when omitted or 0" (require (quote xkcd)) (if (or (not num) (= num 0)) (progn (+xkcd-check-latest) (setq num xkcd-latest))) (let ((res ...)) (if res nil (+xkcd-db-write ...) json-assoc)) (setq res (+xkcd-db-read num))))) res))()
  eval-after-load-helper("/Users/puneet/.emacs.d/.local/straight/build/xkcd/xkcd.elc")
  run-hook-with-args(eval-after-load-helper "/Users/puneet/.emacs.d/.local/straight/build/xkcd/xkcd.elc")
  do-after-load-evaluation("/Users/puneet/.emacs.d/.local/straight/build/xkcd/xkcd.elc")
  #<subr autoload-do-load>((autoload "xkcd" ("/Users/puneet/.emacs.d/.local/autoloads.elc" . 844206) t nil) xkcd nil)
  apply(#<subr autoload-do-load> ((autoload "xkcd" ("/Users/puneet/.emacs.d/.local/autoloads.elc" . 844206) t nil) xkcd))
  autoload-do-load((autoload "xkcd" ("/Users/puneet/.emacs.d/.local/autoloads.elc" . 844206) t nil) xkcd)
  command-execute(xkcd record)
  counsel-M-x-action("xkcd")
  #f(compiled-function (x) #<bytecode 0x448a4501>)("xkcd")
  ivy-call()
  #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>)("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t)
  apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t))
  #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands)("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-posframe--read(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands) "M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  apply(ivy-posframe--read #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially.  An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero.  Otherwise, use the first occurrence of\nPRESELECT in the collection.  Comparison is first done with\n`equal'.  If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input.  It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x))
  ivy-read("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)
running `xkcd` after the change gives me this error ``` Debugger entered--Lisp error: (void-variable res) (progn (require (quote emacsql-sqlite)) (defalias (quote +xkcd-select) (function (lambda nil "Prompt the user for an xkcd using `ivy-read' and `+xkcd-select-format'. Return the xkcd number or nil" (let* (prompt-lines (-dummy (maphash ... +xkcd-stored-info)) (num (ivy-read ... prompt-lines))) (if (equal "" num) xkcd-latest (string-to-number (replace-regexp-in-string "\\([0-9]+\\).*" "\\1" num))))))) (defalias (quote +xkcd-select-format) (function (lambda (xkcd-info) "Creates each ivy-read line from an xkcd info plist. Must start with the xkcd number" (format "%-4s %-30s %s" (propertize (number-to-string (plist-get xkcd-info :num)) (quote face) (quote counsel-key-binding)) (plist-get xkcd-info :title) (propertize (plist-get xkcd-info :alt) (quote face) (quote (variable-pitch font-lock-comment-face))))))) (defalias (quote +xkcd-fetch-info) (function (lambda (&optional num) "Fetch the parsed json info for comic NUM. Fetches latest when omitted or 0" (require (quote xkcd)) (if (or (not num) (= num 0)) (progn (+xkcd-check-latest) (setq num xkcd-latest))) (let ((res (or ... ...))) (if res nil (+xkcd-db-write (let* ...)) json-assoc)) (setq res (+xkcd-db-read num))))) res) (lambda nil (progn (require (quote emacsql-sqlite)) (defalias (quote +xkcd-select) (function (lambda nil "Prompt the user for an xkcd using `ivy-read' and `+xkcd-select-format'. Return the xkcd number or nil" (let* (prompt-lines (-dummy ...) (num ...)) (if (equal "" num) xkcd-latest (string-to-number ...)))))) (defalias (quote +xkcd-select-format) (function (lambda (xkcd-info) "Creates each ivy-read line from an xkcd info plist. Must start with the xkcd number" (format "%-4s %-30s %s" (propertize (number-to-string ...) (quote face) (quote counsel-key-binding)) (plist-get xkcd-info :title) (propertize (plist-get xkcd-info :alt) (quote face) (quote ...)))))) (defalias (quote +xkcd-fetch-info) (function (lambda (&optional num) "Fetch the parsed json info for comic NUM. Fetches latest when omitted or 0" (require (quote xkcd)) (if (or (not num) (= num 0)) (progn (+xkcd-check-latest) (setq num xkcd-latest))) (let ((res ...)) (if res nil (+xkcd-db-write ...) json-assoc)) (setq res (+xkcd-db-read num))))) res))() eval-after-load-helper("/Users/puneet/.emacs.d/.local/straight/build/xkcd/xkcd.elc") run-hook-with-args(eval-after-load-helper "/Users/puneet/.emacs.d/.local/straight/build/xkcd/xkcd.elc") do-after-load-evaluation("/Users/puneet/.emacs.d/.local/straight/build/xkcd/xkcd.elc") #<subr autoload-do-load>((autoload "xkcd" ("/Users/puneet/.emacs.d/.local/autoloads.elc" . 844206) t nil) xkcd nil) apply(#<subr autoload-do-load> ((autoload "xkcd" ("/Users/puneet/.emacs.d/.local/autoloads.elc" . 844206) t nil) xkcd)) autoload-do-load((autoload "xkcd" ("/Users/puneet/.emacs.d/.local/autoloads.elc" . 844206) t nil) xkcd) command-execute(xkcd record) counsel-M-x-action("xkcd") #f(compiled-function (x) #<bytecode 0x448a4501>)("xkcd") ivy-call() #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>)("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t) apply(#f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x :sort t)) #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands)("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x) apply(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)) ivy-posframe--read(#f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands) "M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x) apply(ivy-posframe--read #f(advice-wrapper :filter-args #f(compiled-function (arg1 arg2 &rest rest) "Read a string in the minibuffer, with completion.\n\nPROMPT is a string, normally ending in a colon and a space.\n`ivy-count-format' is prepended to PROMPT during completion.\n\nCOLLECTION is either a list of strings, a function, an alist, or\na hash table, supplied for `minibuffer-completion-table'.\n\nPREDICATE is applied to filter out the COLLECTION immediately.\nThis argument is for compatibility with `completing-read'.\n\nWhen REQUIRE-MATCH is non-nil, only members of COLLECTION can be\nselected.\n\nIf INITIAL-INPUT is non-nil, then insert that input in the\nminibuffer initially.\n\nHISTORY is a name of a variable to hold the completion session\nhistory.\n\nKEYMAP is composed with `ivy-minibuffer-map'.\n\nPRESELECT, when non-nil, determines which one of the candidates\nmatching INITIAL-INPUT to select initially. An integer stands\nfor the position of the desired candidate in the collection,\ncounting from zero. Otherwise, use the first occurrence of\nPRESELECT in the collection. Comparison is first done with\n`equal'. If that fails, and when applicable, match PRESELECT as\na regular expression.\n\nDEF is for compatibility with `completing-read'.\n\nUPDATE-FN is called each time the candidate list is re-displayed.\n\nWhen SORT is non-nil, `ivy-sort-functions-alist' determines how\nto sort candidates before displaying them.\n\nACTION is a function to call after selecting a candidate.\nIt takes one argument, the selected candidate. If COLLECTION is\nan alist, the argument is a cons cell, otherwise it's a string.\n\nMULTI-ACTION, when non-nil, is called instead of ACTION when\nthere are marked candidates. It takes the list of candidates as\nits only argument. When it's nil, ACTION is called on each marked\ncandidate.\n\nUNWIND is a function of no arguments to call before exiting.\n\nRE-BUILDER is a function transforming input text into a regex\npattern.\n\nMATCHER is a function which can override how candidates are\nfiltered based on user input. It takes a regex pattern and a\nlist of candidates, and returns the list of matching candidates.\n\nDYNAMIC-COLLECTION is a boolean specifying whether the list of\ncandidates is updated after each input by calling COLLECTION.\n\nEXTRA-PROPS can be used to store collection-specific\nsession-specific data.\n\nCALLER is a symbol to uniquely identify the caller to `ivy-read'.\nIt is used, along with COLLECTION, to determine which\ncustomizations apply to the current completion session." #<bytecode 0x440418a5>) ivy-prescient--enable-sort-commands) ("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)) ivy-read("M-x " ("xkcd" "xkcd-get" "org-pandoc-export-to-html5-and-open" "org-toggle-narrow-to-subtree" "doom/reload" "org-babel-tangle" "org-roam-db-build-cache" "customize" "org-ref" "org-noter" "org-mode" "org-show-todo-tree" "org-brain-visualize" "helm-bibtex" "pdf-view-mode" "package-install" "org-roam" "evil-mode" "org-reload" "doom/upgrade" "server-start" "org-roam-graph" "org-agenda-list" "doom/reload-font" "ediff-debug-info" "org-roam-capture" "doom/reload-theme" "org-roam--db-clear" "org-roam-db--clear" "org-roam-build-cache" "org-ref-open-bibtex-pdf" "org-agenda-fontify-priorities" "doom/describe-active-minor-mode" "projectile-discover-projects-in-directory" "projectile-discover-projects-in-search-path" "R" "cd" "jb" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" ...) :predicate #f(compiled-function (x) #<bytecode 0x472b446d>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x) counsel-M-x() funcall-interactively(counsel-M-x) call-interactively(counsel-M-x nil nil) command-execute(counsel-M-x) ```
pmnerfed commented 2020-06-03 06:29:45 +00:00 (Migrated from github.com)

and clicking on an xkcd link says
No Match - create this as a new heading ( y or n )

and clicking on an xkcd link says ` No Match - create this as a new heading ( y or n ) `
tecosaur commented 2020-06-03 06:37:40 +00:00 (Migrated from github.com)

Gah! That's just a different error. Can you run (+xkcd-fetch-info 2314)? Do you get the same error?

Since I can't reproduce this, if you could perhaps try tinkering/debugging the code that would be most helpful.

Gah! That's just a different error. Can you run `(+xkcd-fetch-info 2314)`? Do you get the same error? Since I can't reproduce this, if you could perhaps try tinkering/debugging the code that would be most helpful.
pmnerfed commented 2020-06-03 07:11:23 +00:00 (Migrated from github.com)

the xkcd mode is finally working. just deleted and copied the changes and it was working.
Thanks for your help.
Can you tell me what is the behaviour for xkcd links in your org mode?
EDIT: For me, at first the links were showing as is, when I clicked on them, I saw the alt text in the bottom of emacs. But after 3-4 minutes, the links converted to inline images.
Thanks once again for quick response from your end.

the xkcd mode is finally working. just deleted and copied the changes and it was working. Thanks for your help. Can you tell me what is the behaviour for xkcd links in your org mode? EDIT: For me, at first the links were showing as is, when I clicked on them, I saw the alt text in the bottom of emacs. But after 3-4 minutes, the links converted to inline images. Thanks once again for quick response from your end.
tecosaur commented 2020-06-03 07:33:27 +00:00 (Migrated from github.com)

Try z i to view as images. I've got xkcd link config stuff in a second block BTW: https://tecosaur.github.io/emacs-config/config.html#extra-links-xkcd which also sets up an HTML/LaTeX export template.

Try `z i` to view as images. I've got xkcd link config stuff in a second block BTW: https://tecosaur.github.io/emacs-config/config.html#extra-links-xkcd which also sets up an HTML/LaTeX export template.
Sign in to join this conversation.
No description provided.