Emacs Lisp 模式下 If 缩进出问题

我现在用的 indent 函数是抄来的,能偷懒则偷懒:.emacs.d/redef.el at af82072196564fa57726bdbabf97f1d35c43b7f7 · Fuco1/.emacs.d · GitHub

parse-partial-sexp 我需要把 docstring 贴在旁边作为注释,或者:

(let* ((st (parse-partial-sexp (point-min) (point)))
       (depth              (nth 0 st))
       (start-of-innermost (nth 1 st))
       (start-of-last-sexp (nth 2 st))
       (inside-a-string?   (nth 3 st))
       ...
       ))