Subject: Re: bug#30035: 27.0.50; stream of messages about‘semantic-flex’

From: Glenn Morris <[email-masked]>
Date: Tue, 09 Jan 2018 13:57:27 -0500

Anyway, I guess the following works around it. AFAICS, this code is
unchanged since Cedet was added to Emacs.

commit 34b41e3 (HEAD, origin/emacs-26, emacs-26)
Date:   Tue Jan 9 13:54:11 2018 -0500

    Quieten semantic normal usage
    
    * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
    compile time in the normal way, not at run-time.  (Bug#30035)

diff --git a/lisp/cedet/semantic/lex.el b/lisp/cedet/semantic/lex.el
index 9a35dd8..3a8b0c7 100644
--- a/lisp/cedet/semantic/lex.el
+++ b/lisp/cedet/semantic/lex.el
@@ -471,6 +471,7 @@ semantic-lex-types
 ;;; Lexical Analyzer framework settings
 ;;
 
+;; FIXME change to non-obsolete default.
 (defvar semantic-lex-analyzer 'semantic-flex
   "The lexical analyzer used for a given buffer.
 See `semantic-lex' for documentation.
@@ -1857,7 +1858,7 @@ semantic-flex
 scanning, use `narrow-to-region'.
 The last argument, LENGTH specifies that `semantic-flex' should only
 return LENGTH tokens."
-  (message "`semantic-flex' is an obsolete function.  Use `define-lex' to create lexers.")
+  (declare (obsolete define-lex "23.2"))
   (if (not semantic-flex-keywords-obarray)
       (setq semantic-flex-keywords-obarray [ nil ]))
   (let ((ts nil)