Node:beginning-of-buffer opt arg, Next:, Previous:Optional Arguments, Up:beginning-of-buffer

5.3.2 beginning-of-buffer with an Argument

When beginning-of-buffer is called with an argument, an expression is evaluated which calculates what value to pass to goto-char. This expression is rather complicated at first sight. It includes an inner if expression and much arithmetic. It looks like this:

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