+ build-report-delete-regexp "\\|"))
+
+(defun build-report-installation-data (&optional file)
+ "Return a list of XEmacs installation data containing MAJOR_NUMBER
+MINOR_NUMBER BETA_STRING CODENAME CONFIGURATION SRCDIR from FILE,
+which defaults to `build-report-installation-file'."
+ (interactive "fInstallation file: ")
+ (unless file
+ (setq file build-report-installation-file))
+ (let
+ (major minor beta codename configuration srcdir)
+ (save-window-excursion
+ (find-file-read-only file)
+ (goto-char (point-min))
+ (while (< (point) (point-max))
+ (cond
+ ((looking-at build-report-installation-version-regexp)
+ (goto-char (match-end 0))
+ (setq major (match-string 1))
+ (setq minor (match-string 2))
+ (setq beta (match-string 3))
+ (setq codename (match-string 6))
+ (setq configuration (match-string 7)))
+ ((looking-at build-report-installation-srcdir-regexp)
+ (goto-char (match-end 0))
+ (setq srcdir (match-string 1)))
+ ;; We avoid matching a potentially zero-length string to avoid
+ ;; infinite looping.
+ ((looking-at
+ "^.+$")
+ (goto-char (match-end 0)))
+ ((looking-at "\n")
+ (goto-char (match-end 0)))))
+ (values major minor (or beta "") codename configuration srcdir))))
+
+(defun build-report-version-file-data (&optional file)
+ "Return a list of XEmacs version information containing
+MAJOR_NUMBER MINOR_NUMBER BETA_STRING CODENAME from FILE, which
+defaults to `build-report-version-file'."
+ (interactive "fversion.sh file: ")
+ (unless file
+ (setq file build-report-version-file))
+ (let
+ (major minor beta codename)
+ (save-window-excursion
+ (find-file-read-only file)
+ (goto-char (point-min))
+ (while (< (point) (point-max))
+ (cond
+ ((looking-at build-report-version-file-regexp)
+ (goto-char (match-end 0))
+ (setq major (match-string 1))
+ (setq minor (match-string 2))
+ (setq beta (match-string 3))
+ (setq codename (match-string 4)))
+ ;; We avoid matching a potentially zero-length string to avoid
+ ;; infinite looping.
+ ((looking-at
+ "^.+$")
+ (goto-char (match-end 0)))
+ ((looking-at "\n")
+ (goto-char (match-end 0)))))
+ (values major minor (or beta "") codename))))