Function: eshell--string-to-range

eshell--string-to-range is a byte-compiled function defined in esh-util.el.gz.

Signature

(eshell--string-to-range STRING)

Documentation

Convert STRING to an eshell-range object.

Source Code

;; Defined in /usr/src/emacs/lisp/eshell/esh-util.el.gz
(defun eshell--string-to-range (string)
  "Convert STRING to an `eshell-range' object."
  (let* ((startpos (text-property-any 0 (length string) 'eshell-range t string))
         (endpos (next-single-property-change startpos 'eshell-range
                                              string (length string)))
         range-begin range-end)
    (unless (= startpos 0)
      (setq range-begin (substring string 0 startpos))
      (unless (eshell--numeric-string-p range-begin)
        (user-error "range begin `%s' is not a number" range-begin))
      (setq range-begin (string-to-number range-begin)))
    (unless (= endpos (length string))
      (setq range-end (substring string endpos))
      (unless (eshell--numeric-string-p range-end)
        (user-error "range end `%s' is not a number" range-end))
      (setq range-end (string-to-number range-end)))
    (eshell-range-create range-begin range-end)))