5.3.2 beginning-of-buffer with an Argument

当使用参数调用beginning-of-buffer时,将计算一个表达式来确定传递给goto-char的值。这个表达式乍一看相当复杂。它包括一个内部的if表达式和许多算术运算。具体如下:

(if (> (buffer-size) 10000)
    ;; 避免大缓冲区大小溢出!
                          (* (prefix-numeric-value arg)
                             (/ size 10))
  (/
   (+ 10
      (*
       size (prefix-numeric-value arg))) 10)))