It will point at a character at position pos, or the position of the cursor in the current window. Note that a copy of pos is made.
The buffer-or-filename argument specifies the file component of the
mark. If buffer-or-filename is a buffer (nil or undefined means
the current buffer) the mark will use it and therefore will be resident
(see section Mark Residency).
Alternatively, buffer-or-filename can be a string naming the file explicitly. If the file is already loaded into a buffer that buffer will be used and the mark will be resident. Otherwise the mark will be non-resident and the string will be used as the file component.
With no arguments this function will produce a resident mark pointing at the cursor in the current buffer.
(make-mark)
=> #<mark #<buffer programmer.texi> #<pos 46 6152>>
(make-mark (buffer-start) "/tmp/foo")
=> #<mark "/tmp/foo" #<pos 0 0>>
(make-mark (pos 0 3))
=> #<mark #<buffer programmer.texi> #<pos 0 3>>
Go to the first, previous, next, last section, table of contents.