Function: eshell-parse-indices

eshell-parse-indices is a byte-compiled function defined in esh-var.el.gz.

Signature

(eshell-parse-indices)

Documentation

Parse and return a list of index-lists.

For example, "[0 1][2]" becomes:
  (("0" "1") ("2").

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/esh-var.el.gz
(defun eshell-parse-indices ()
  "Parse and return a list of index-lists.

For example, \"[0 1][2]\" becomes:
  ((\"0\" \"1\") (\"2\")."
  (let (indices)
    (while (eq (char-after) ?\[)
      (let ((end (eshell-find-delimiter ?\[ ?\])))
	(if (not end)
	    (throw 'eshell-incomplete ?\[)
	  (forward-char)
          (eshell-with-temp-command (or (eshell-unescape-inner-double-quote end)
                                        (cons (point) end))
	    (let (eshell-glob-function (eshell-current-quoted nil))
	      (setq indices (cons (eshell-parse-arguments
                                   (point-min) (point-max))
				  indices))))
	  (goto-char (1+ end)))))
    (nreverse indices)))