Re: Printing an alist of plists with cons format
Yuri Khan <[email protected]>
| Newsgroups | gmane.emacs.help |
|---|---|
| Message-ID | <CAP_d_8UmeASGkfWVHNbpXY3O2gX8o5oZnPKe7+=t-FE4Gkb3pg@mail.gmail.com> |
On Mon, Mar 23, 2026 at 7:47 PM Heime <[email protected]> wrote: > ((:cm :10pt 283.46456 :pt 28.34646 :mm 10 :in 0.3937 :ft 0.03281) > (:in :10pt 720 :pt 72 :mm 25.4 :cm 2.54 :ft 0.083333) > (:ft :10pt 8640 :pt 864 :mm 304.8 :cm 30.48 :in 12)) > > How can I get the new list being printed as > > ((:cm . (:10pt 283.46456 :pt 28.34646 :mm 10 :in 0.3937 :ft 0.03281)) > (:in . (:10pt 720 :pt 72 :mm 25.4 :cm 2.54 :ft 0.083333)) > (:ft . (:10pt 8640 :pt 864 :mm 304.8 :cm 30.48 :in 12))) Nohow, barring a custom prettyprinter. These are two equivalent forms, and there is no information in the data structure that encodes which form you’d prefer. (equal '((:cm . (:10pt 283.46456 :pt 28.34646 :mm 10 :in 0.3937 :ft 0.03281)) (:in . (:10pt 720 :pt 72 :mm 25.4 :cm 2.54 :ft 0.083333)) (:ft . (:10pt 8640 :pt 864 :mm 304.8 :cm 30.48 :in 12))) '((:cm :10pt 283.46456 :pt 28.34646 :mm 10 :in 0.3937 :ft 0.03281) (:in :10pt 720 :pt 72 :mm 25.4 :cm 2.54 :ft 0.083333) (:ft :10pt 8640 :pt 864 :mm 304.8 :cm 30.48 :in 12))) ⇒ t (defun pp-aplist (aplist) (format "(%s)" (mapconcat (lambda (pair) (format "(%s . %s)" (car pair) (cdr pair))) aplist "\n "))) (pp-aplist '((:cm :10pt 283.46456 :pt 28.34646 :mm 10 :in 0.3937 :ft 0.03281) (:in :10pt 720 :pt 72 :mm 25.4 :cm 2.54 :ft 0.083333) (:ft :10pt 8640 :pt 864 :mm 304.8 :cm 30.48 :in 12))) ⇒ "((:cm . (:10pt 283.46456 :pt 28.34646 :mm 10 :in 0.3937 :ft 0.03281)) (:in . (:10pt 720 :pt 72 :mm 25.4 :cm 2.54 :ft 0.083333)) (:ft . (:10pt 8640 :pt 864 :mm 304.8 :cm 30.48 :in 12)))"