Subject: Re: bug#62581: matching for global
From: Stefan Kangas <[email-masked]>
To: Friedrich <[email-masked]>
Cc: [email-masked]
Date: Mon, 11 Sep 2023 16:52:36 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Version: 30.1

Friedrich (QSS) <[email-masked]> writes:

> ​Dear Maintainers,
> at least here run into a probelm while trying to load cedet global:
> /home/frido/src/emacs/lisp/cedet/cedet-global.e
> (defun cedet-gnu-global-version-check (&optional noerror)
>   "Check the version of the installed GNU Global command.
> If optional programmatic argument NOERROR is non-nil,
> then instead of throwing an error if Global isn't available,
> return nil."
>   (interactive)
>   (let ((b (condition-case nil
> 	       (cedet-gnu-global-call (list "--version"))
> 	     (error nil)))
> 	(rev nil))
>     (if (not b)
> 	(progn
> 	  (when (called-interactively-p 'interactive)
> 	    (message "GNU Global not found."))
> 	  nil)
>       (with-current-buffer b
> 	(goto-char (point-min))
> 	->  here (re-search-forward "(?GNU GLOBAL)? \\([0-9.]+\\)" nil t)
> 	(setq rev (match-string 1))
>         (if (version< rev cedet-global-min-version)
> 	    (if noerror
> 		nil
> 	      (error "Version of GNU Global is %s.  Need at least %s"
> 		     rev cedet-global-min-version))
> 	  ;; Else, return TRUE, as in good enough.
> 	  (when (called-interactively-p 'interactive)
> 	    (message "GNU Global %s  - Good enough for CEDET." rev))
> 	  t)))))
>
> My gnu Global announces itself here with:
>
> global --version
> global (Global) 6.6.9
> Powered by Berkeley DB 1.85 and SQLite3 3.8.7.1.

I can verify this:

$ global --version
global (Global) 6.6.10
Powered by Berkeley DB 1.85 and SQLite3 3.43.0.

> And so the match does not work
> replacing "(?GNU GLOBAL)?
>
> with just "global (Global) ..."
> works for me

Thanks, this should now be fixed on master.