quote for symbols:

(setq symbol)
;; is equivelent to
(set 'symbol)

the quote means; keep as it is, dont try to evaluate, so if no quote, the lisp processor will try to evaluate it, means the symbol (or the first element of the list) has to be evaluatable as either a function, or a defined variable

let vs. let*:

(setq y 2)
(let ((y 1)
      (z y))
  (list y z))  (1 2)

(setq y 2)
(let* ((y 1)
      (z y))
  (list y z))  (1 1)

let* binds 1 to y immediately, while let evaluate old y as 2, then list binds 1 to the new y and pring it out

colon : and #:

: is used for constant symboles, it is commonly used as attributes for faces # with quote, i.e., #' is equal to ', the only difference is with #, it provides compiling information once the code is compiled.

TO BE CONTINUED