Function: forms-search-backward

forms-search-backward is an interactive and byte-compiled function defined in forms.el.gz.

Signature

(forms-search-backward REGEXP)

Documentation

Search backward for record containing REGEXP.

Key Bindings

Source Code

;; Defined in /usr/src/emacs/lisp/forms.el.gz
(defun forms-search-backward (regexp)
  "Search backward for record containing REGEXP."
  (interactive
   (list (read-string (concat "Search backward for"
				  (if forms--search-regexp
				   (concat " ("
					   forms--search-regexp
					   ")"))
				  ": "))))
  (if (equal "" regexp)
      (setq regexp forms--search-regexp))
  (forms--checkmod)

  (let (the-line the-record here)
    (with-current-buffer forms--file-buffer
      (beginning-of-line)
      (setq here (point))
      (if (or (re-search-backward regexp nil t)
	      (and (< (point) (point-max))
		   (progn
		     (goto-char (point-max))
		     (re-search-backward regexp here t))))
	  (progn
	    (setq the-record (forms--get-record))
	    (setq the-line (1+ (count-lines (point-min) (point))))
	    (if (> (point) here)
		(message "Wrapped")))
	(goto-char here)
	(error "Search failed: %s" regexp)))
    (setq forms--current-record the-line)
    (forms--show-record the-record))
  (re-search-forward regexp nil t)
  (setq forms--search-regexp regexp))