+(defun forms--goto-record (rn &optional current)
+ "Goto record number RN.
+If CURRENT is provided, it specifies the current record and can be used
+to speed up access to RN. Returns the number of records missing, if any."
+ (if current
+ (forward-line (- rn current))
+ ;; goto-line does not do what we want when the buffer is narrowed.
+ (goto-char (point-min))
+ (forward-line (1- rn))))
+