Function: comint-delim-arg
comint-delim-arg is a byte-compiled function defined in comint.el.gz.
Signature
(comint-delim-arg ARG)
Documentation
Return a list of arguments from ARG.
Break it up at the delimiters in comint-delimiter-argument-list.
Returned list is backwards.
Characters with non-nil values of the text property literal are
assumed to have literal values (e.g., backslash-escaped
characters), and are not considered to be delimiters.
Source Code
;; Defined in /usr/src/emacs/lisp/comint.el.gz
(defun comint-delim-arg (arg)
"Return a list of arguments from ARG.
Break it up at the delimiters in `comint-delimiter-argument-list'.
Returned list is backwards.
Characters with non-nil values of the text property `literal' are
assumed to have literal values (e.g., backslash-escaped
characters), and are not considered to be delimiters."
(if (null comint-delimiter-argument-list)
(list arg)
(let ((args nil)
(pos 0)
(len (length arg)))
(while (< pos len)
(let ((char (aref arg pos))
(start pos))
(if (and (memq char comint-delimiter-argument-list)
;; Ignore backslash-escaped characters.
(not (get-text-property pos 'literal arg)))
(while (and (< pos len) (eq (aref arg pos) char))
(setq pos (1+ pos)))
(while (and (< pos len)
(not (and (memq (aref arg pos)
comint-delimiter-argument-list)
(not (get-text-property
pos 'literal arg)))))
(setq pos (1+ pos))))
(setq args (cons (substring arg start pos) args))))
args)))