Function: csv-sort-skip-fields
csv-sort-skip-fields is a natively compiled function defined in
csv-mode.el.
Signature
(csv-sort-skip-fields N &optional YANK)
Documentation
Position point at the beginning of field N on the current line.
Fields are separated by csv-separators; null terminal field allowed.
Assumes point is initially at the beginning of the line.
YANK non-nil allows N to be greater than the number of fields, in
which case extend the record as necessary.
Source Code
;; Defined in /nix/store/3gmjnyw9n226b7k7jamikx980vf8267p-emacs-packages-deps/share/emacs/site-lisp/elpa/csv-mode-1.27/csv-mode.el
(defun csv-sort-skip-fields (n &optional yank)
"Position point at the beginning of field N on the current line.
Fields are separated by `csv-separators'; null terminal field allowed.
Assumes point is initially at the beginning of the line.
YANK non-nil allows N to be greater than the number of fields, in
which case extend the record as necessary."
(if (> n 0)
;; Skip across N - 1 fields.
(let ((i (1- n)))
(while (> i 0)
(csv-end-of-field)
(if (eolp)
(if yank
(if (> i 1) (insert (car csv-separators)))
(error "Line has too few fields: %s"
(buffer-substring
(save-excursion (beginning-of-line) (point))
(save-excursion (end-of-line) (point)))))
(forward-char)) ; skip separator
(setq i (1- i))))
(end-of-line)
;; Skip back across -N - 1 fields.
(let ((i (1- (- n))))
(while (> i 0)
(csv-beginning-of-field)
(if (bolp)
(error "Line has too few fields: %s"
(buffer-substring
(save-excursion (beginning-of-line) (point))
(save-excursion (end-of-line) (point)))))
(backward-char) ; skip separator
(setq i (1- i)))
;; Position at the front of the field
;; even if moving backwards.
(csv-beginning-of-field))))