Subject: bug#24875: 26.0.50; In Dotted Pair Notation, the read function returns CDR if CAR is absent

From: Chunyang Xu <[email-masked]>
Date: Fri, 04 Nov 2016 21:36:38 +0800

For example, I eval this in the *scratch* buffer:

(read "( . 123)")
     ⇒ 123

(read "(1 . ( . (3 . nil)))")
     ⇒ (1 3)

I can't find explanation about this behavior in elisp manual. Is it
expected?

According to an answer [1] by wasamasa on Emacs StackExchange,
Guile behaves the same, but other Lisp interpreters (csi, pil and sbcl)
and MIT-Scheme don't permit reading this.

[1] http://emacs.stackexchange.com/a/28410/3889