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)))"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.