Function: ffap-next

ffap-next is an autoloaded, interactive and byte-compiled function defined in ffap.el.gz.

Signature

(ffap-next &optional BACK WRAP)

Documentation

Search buffer for next file or URL, and run ffap.

Optional argument BACK says to search backwards. Optional argument WRAP says to try wrapping around if necessary. Interactively: use a single prefix C-u (universal-argument) to search backwards, double prefix to wrap forward, triple to wrap backwards. Actual search is done by the function ffap-next-guess(var)/ffap-next-guess(fun).

View in manual

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/ffap.el.gz
;;;###autoload
(defun ffap-next (&optional back wrap)
  "Search buffer for next file or URL, and run ffap.
Optional argument BACK says to search backwards.
Optional argument WRAP says to try wrapping around if necessary.
Interactively: use a single prefix \\[universal-argument] to search backwards,
double prefix to wrap forward, triple to wrap backwards.
Actual search is done by the function `ffap-next-guess'."
  (interactive
   (cdr (assq (prefix-numeric-value current-prefix-arg)
	      '((1) (4 t) (16 nil t) (64 t t)))))
  (let ((pt (point))
	(guess (ffap-next-guess back)))
    ;; Try wraparound if necessary:
    (and (not guess) wrap
	 (goto-char (if back (point-max) (point-min)))
	 (setq guess (ffap-next-guess back pt)))
    (if guess
	(progn
	  (sit-for 0)			; display point movement
	  (find-file-at-point (ffap-prompter guess)))
      (goto-char pt)			; restore point
      (message "No %sfiles or URLs found"
	       (if wrap "" "more ")))))