5.3.2 带参数的 beginning-of-buffer

beginning-of-buffer 带参数调用时,会执行一段计算逻辑,确定传给 goto-char 的位置值。这段表达式初看比较复杂,包含内层 if 和大量算术运算,形式如下:

(if (> (buffer-size) 10000)
    ;; Avoid overflow for large buffer sizes!
    (* (prefix-numeric-value arg)
       (/ size 10))
  (/
   (+ 10
      (* size
         (prefix-numeric-value arg)))
   10))