(eq 'foo 'foo)
⇒ t
(eq ?A ?A)
⇒ t
(eq 3.0 3.0)
⇒ t or nil
;; Equal floats may or may not be the same object.
(eq (make-string 3 ?A) (make-string 3 ?A))
⇒ nil
(eq "asdf" "asdf")
⇒ t or nil
;; Equal string constants or may not be the same object.
(eq '(1 (2 (3))) '(1 (2 (3))))
⇒ nil
(setq foo '(1 (2 (3))))
⇒ (1 (2 (3)))
(eq foo foo)
⇒ t
(eq foo '(1 (2 (3))))
⇒ nil
(eq [(1 2) 3] [(1 2) 3])
⇒ nil
(eq (point-marker) (point-marker))
⇒ nil