project.el: A project has only one main root now

Practice shows that the vast majority of projects only use one main
root.  The users of this API very often make this assumption as well.
The rest of the "roots" should be possible to express through
project-external-roots.

* lisp/progmodes/project.el: Update the commentary.
Only 4 non-obsolete generics now.
(project-root): Replacement for `project-roots'.
All callers updated.  Implementations too.
(project-roots): Declare obsolete.
(project-external-roots): Simplify the docstring.
(project-ignores): Update the docstring.
(project-find-regexp): Omit the second arg to project-files.
(project--dir-ignores): Simplify.
(project-compile): Simplify, remove outdated comment.

* lisp/cedet/ede.el: Add a FIXME.
1 job for master in 11 minutes and 6 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Test
failed #6059
test-all

00:11:06

 
Name Stage Failure
failed
test-all Test
../../lisp/cedet/semantic/scope.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
../../lisp/cedet/semantic/scope.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
../../lisp/cedet/semantic/scope.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
../../lisp/cedet/semantic/scope.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
../../lisp/cedet/semantic/scope.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
../../lisp/cedet/semantic/scope.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
../../lisp/cedet/semantic/analyze.el: `oset' is an obsolete macro (as of 28.1); use (setf (oref ..) ..) instead
GEN ../../lisp/cedet/semantic/wisent/python-wy.el
ERROR: Job failed: exit code 137