The macro let-alist is too useful to work with JSON-parsed data for it to be missing from the docs. In the page https://www.gnu.org/software/emacs/manual/html_node/elisp/Association-Lists.html we should add some documentation about it. Below a suggestion. Thank you! — Macro: let-alist `value` Creates a binding for each symbol in the association list `value`, prefixed with dot. This is very useful when accessing several items in the same alist, and it's best understood through a simple example: (setq colors '((rose red) (lily white) (buttercup yellow))) (let-alist colors (print .rose) (print .buttercup)) ⇒ red ⇒ yellow In GNU Emacs 26.1 (build 1, x86_64-w64-mingw32) of 2018-05-30 built on CIRROCUMULUS Repository revision: 07f8f9bc5a51f5aa94eb099f3e15fbe0c20ea1ea Windowing system distributor 'Microsoft Corp.', version 10.0.17134 Recent messages: When done with a buffer, type C-c C-c Type C-c C-c to finish, or C-c C-k to cancel Auto-saving...done Saving file c:/Home/github/pepita/.git/COMMIT_EDITMSG... Wrote c:/Home/github/pepita/.git/COMMIT_EDITMSG Git.Exe finished Mark set Running C:/Program Files/Git/mingw64/libexec/git-core/git.exe push -v origin master:refs/heads/master Git.Exe finished delete-backward-char: Text is read-only [4 times] Configured using: 'configure --without-dbus --host=x86_64-w64-mingw32 --without-compress-install 'CFLAGS=-O2 -static -g3'' Configured features: XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB TOOLKIT_SCROLL_BARS THREADS LCMS2 Important settings: value of $LANG: ENU locale-coding-system: utf-8 Major mode: Magit Minor modes in effect: semantic-minor-modes-format: ((:eval (if (or semantic-highlight-edits-mode semantic-show-unmatched-syntax-mode) S))) electric-pair-mode: t delete-selection-mode: t global-hl-line-mode: t which-key-mode: t nyan-mode: t magit-gitflow-mode: t global-magit-file-mode: t diff-auto-refine-mode: t magit-auto-revert-mode: t global-git-commit-mode: t icomplete-mode: t ido-vertical-mode: t doom-modeline-mode: t eldoc-in-minibuffer-mode: t async-bytecomp-package-mode: t recentf-mode: t global-company-mode: t company-mode: t global-anzu-mode: t anzu-mode: t shell-dirtrack-mode: t symon-mode: t minions-mode: t ido-ubiquitous-mode: t ido-everywhere: t global-visible-mark-mode: t visible-mark-mode: t global-flycheck-mode: t projectile-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: c:/home/github/pepita/temp hides c:/home/github/panda/temp ~/.emacs.d/lisp/dired-git-info hides c:/Home/.emacs.d/elpa/dired-git-info-0.2/dired-git-info Features: (shadow sort mail-extr emacsbug sendmail pepita loadhist markdown-mode color pcmpl-unix em-xtra em-rebind em-smart em-tramp texnfo-upd texinfo man em-unix em-term term ehelp em-script em-prompt em-ls em-hist em-pred em-glob em-dirs em-cmpl em-basic em-banner em-alias esh-var esh-io esh-cmd esh-opt esh-ext esh-proc esh-arg esh-groups eshell esh-module esh-mode esh-util profiler pulse eieio-opt help-fns warnings subword-mode-expansions cap-words superword subword ruby-mode-expansions ruby-mode smie ert ewoc autoload radix-tree lisp-mnt tar-mode magit-patch magit-subtree magit-ediff timezone python-el-fgallina-expansions python tramp-sh cl-print debug conf-mode dired-x dabbrev vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs vc vc-dispatcher deadgrep spinner rng-xsd xsd-regexp rng-cmpct nxml-mode-expansions rng-nxml rng-valid rng-loc rng-uri rng-parse nxml-parse rng-match rng-dt rng-util rng-pttrn nxml-ns nxml-mode nxml-outln nxml-rap nxml-util nxml-enc xmltok bug-reference magit-extras speedbar sb-image ezimage dframe org-rmail org-mhe org-irc org-info org-gnus nnir gnus-sum gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range gnus-win org-docview doc-view jka-compr image-mode org-bibtex bibtex org-bbdb org-w3m org-element avl-tree generator the-org-mode-expansions org org-macro org-footnote org-pcomplete org-list org-faces org-entities org-version ob-emacs-lisp ob ob-tangle org-src ob-ref ob-lob ob-table ob-keys ob-exp ob-comint ob-core ob-eval org-compat org-macs org-loaddefs misearch multi-isearch two-column iso-transl face-remap vc-git company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-capf company-cmake company-xcode company-clang company-semantic company-eclim company-template company-bbdb linum whitespace csv deploy-status panda let-alist elec-pair delsel hl-line ws-butler which-key web-mode-expansions web-mode sql view sly sly-completion sly-buttons sly-messages sly-common apropos arc-mode archive-mode noutline outline hyperspec powershell omnisharp omnisharp-unit-test-actions omnisharp-code-structure omnisharp-server-installation omnisharp-format-actions omnisharp-solution-actions omnisharp-helm-integration omnisharp-navigation-actions omnisharp-current-symbol-actions omnisharp-auto-complete-actions omnisharp-server-actions omnisharp-http-utils omnisharp-utils omnisharp-server-management omnisharp-settings etags xref popup csharp-mode nyan-mode magit-gitflow magit-bookmark magit-submodule magit-obsolete magit-blame magit-stash magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func magit-diff smerge-mode diff-mode magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process magit-mode transient git-commit magit-git magit-section magit-utils crm log-edit pcvs-util add-log with-editor server json-mode json-reformat json-snatcher js-mode-expansions js html-mode-expansions sgml-mode cc-mode-expansions cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs imenu icomplete ido-vertical-mode ibuffer-projectile format-all dotnet doom-modeline doom-modeline-segments doom-modeline-env all-the-icons all-the-icons-faces data-material data-weathericons data-octicons data-fileicons data-faicons data-alltheicons doom-modeline-core project shrink-path f eldoc-eval docker docker-volume docker-network docker-machine docker-image docker-container docker-process docker-utils tablist tablist-filter semantic/wisent/comp semantic/wisent semantic/wisent/wisent semantic/util-modes semantic/util semantic semantic/tag semantic/lex semantic/fw mode-local cedet docker-group magit-popup async-bytecomp async dashboard dashboard-widgets recentf tree-widget page-break-lines cal-menu calendar cal-loaddefs bookmark pp eww-lnum eww mm-url gnus nnheader url-queue shr svg xml dom browse-url expand-region text-mode-expansions er-basic-expansions expand-region-core expand-region-custom ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff company edmacro kmacro pcase browse-kill-ring cl anzu docker-tramp tramp-cache tramp tramp-compat tramp-loaddefs trampver ucs-normalize shell pcomplete parse-time advice doom-challenger-deep-theme symon battery minions ido-completing-read+ memoize s cus-edit wid-edit minibuf-eldef ido visible-mark easy-mmode flycheck cl-extra json map find-func help-mode subr-x dash cus-start cus-load projectile grep compile comint ansi-color ring ibuf-ext ibuffer ibuffer-loaddefs thingatpt doom-themes doom-themes-common mm-archive message dired dired-loaddefs format-spec rfc822 mml mml-sec epa derived epg gnus-util rmail rmail-loaddefs mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode mail-utils network-stream starttls url-http tls gnutls mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm rmc puny url-cache url-auth url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap finder-inf gh-common marshal eieio-compat rx sly-autoloads info package easymenu epg-config url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table term/w32-win w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote w32notify w32 lcms2 multi-tty make-network-process emacs) Memory information: ((conses 16 1709736 281452) (symbols 56 71685 1) (miscs 48 3592 362) (strings 32 250688 79276) (string-bytes 1 7771630) (vectors 16 139525) (vector-slots 8 2987162 7516) (floats 8 1544 3542) (intervals 56 18844 7820) (buffers 992 97))