Function: try-expand-line
try-expand-line is a byte-compiled function defined in
hippie-exp.el.gz.
Signature
(try-expand-line OLD)
Documentation
Try to complete the current line to an entire line in the buffer.
The argument OLD has to be nil the first call of this function, and t for subsequent calls (for further possible completions of the same string). It returns t if a new completion is found, nil otherwise.
Source Code
;; Defined in /usr/src/emacs/lisp/hippie-exp.el.gz
(defun try-expand-line (old)
"Try to complete the current line to an entire line in the buffer.
The argument OLD has to be nil the first call of this function, and t
for subsequent calls (for further possible completions of the same
string). It returns t if a new completion is found, nil otherwise."
(let ((expansion ())
(strip-prompt (and (get-buffer-process (current-buffer))
comint-use-prompt-regexp
comint-prompt-regexp)))
(if (not old)
(progn
(he-init-string (he-line-beg strip-prompt) (point))
(set-marker he-search-loc he-string-beg)
(setq he-search-bw t)))
(if (not (equal he-search-string ""))
(save-excursion
(save-restriction
(if hippie-expand-no-restriction
(widen))
;; Try looking backward unless inhibited.
(if he-search-bw
(progn
(goto-char he-search-loc)
(setq expansion (he-line-search he-search-string
strip-prompt t))
(set-marker he-search-loc (point))
(if (not expansion)
(progn
(set-marker he-search-loc he-string-end)
(setq he-search-bw ())))))
(if (not expansion) ; Then look forward.
(progn
(goto-char he-search-loc)
(setq expansion (he-line-search he-search-string
strip-prompt nil))
(set-marker he-search-loc (point)))))))
(if (not expansion)
(progn
(if old (he-reset-string))
())
(progn
(he-substitute-string expansion t)
t))))