Function: org-table--read-column-selection

org-table--read-column-selection is a byte-compiled function defined in org-table.el.gz.

Signature

(org-table--read-column-selection SELECT MAX)

Documentation

Read column selection select as a list of numbers.

SELECT is a string containing column ranges, separated by white space characters, see org-table-toggle-column-width for details. MAX is the maximum column number.

Return value is a sorted list of numbers. Ignore any number outside of the [1;MAX] range.

Source Code

;; Defined in /usr/src/emacs/lisp/org/org-table.el.gz
(defun org-table--read-column-selection (select max)
  "Read column selection select as a list of numbers.

SELECT is a string containing column ranges, separated by white
space characters, see `org-table-toggle-column-width' for details.
MAX is the maximum column number.

Return value is a sorted list of numbers.  Ignore any number
outside of the [1;MAX] range."
  (catch :all
    (sort
     (delete-dups
      (cl-mapcan
       (lambda (s)
	 (cond
	  ((member s '("-" "1-")) (throw :all (number-sequence 1 max)))
	  ((string-match-p "\\`[0-9]+\\'" s)
	   (let ((n (string-to-number s)))
	     (and (> n 0) (<= n max) (list n))))
	  ((string-match "\\`\\([0-9]+\\)?-\\([0-9]+\\)?\\'" s)
	   (let ((n (match-string 1 s))
		 (m (match-string 2 s)))
	     (number-sequence (if n (max 1 (string-to-number n))
				1)
			      (if m (min max (string-to-number m))
				max))))
	  (t nil)))			;invalid specification
       (split-string select)))
     #'<)))