New option 'project-mode-line' to show project name on mode line (bug#66317)

* lisp/bindings.el (standard-mode-line-format):
Add '(project-mode-line project-mode-line-format)'.

* lisp/progmodes/project.el (project-mode-line): New user option.
(project-menu-entry, project-mode-line-map): New variables.
(project-mode-line-format): New variable.
(project-mode-line-format): New function.
10 jobs for master in 165 minutes and 48 seconds (queued for 4 seconds)
Status Job ID Name Coverage
  Build Images
passed #75271
build-image-inotify

01:09:23

 
  Normal
failed #75272
test-all-inotify

01:36:23

 
  Platform Images
failed #75273
build-image-eglot

00:02:53

failed #75275
build-image-gnustep

00:26:55

passed #75274
build-image-tree-sitter

01:09:26

 
  Platforms
skipped #75276
test-eglot
skipped #75278
test-gnustep
passed #75277
test-tree-sitter

00:01:50

 
  Native Comp Images
failed #75279
build-native-comp-speed2

00:05:06

 
  Native Comp
skipped #75280
test-native-comp-speed2
 
Name Stage Failure
failed
test-all-inotify Normal
Uploading artifacts for failed job
Uploading artifacts...
test-all-inotify-238292d6/: found 531 matching files and directories

Uploading artifacts as "archive" to coordinator... 201 Created
id=75272 responseStatus=201 Created token=QL5V8BfJ
Uploading artifacts...
test-all-inotify-238292d6/junit-test-report.xml: found 1 matching files and directories

Uploading artifacts as "junit" to coordinator... 201 Created
id=75272 responseStatus=201 Created token=QL5V8BfJ
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 2

failed
build-image-gnustep Platform Images
executor failed running [/bin/sh -c make bootstrap]: exit code: 2
Running after_script
Running after script...
$ test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name}
$ test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}
$ find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
find: build-image-gnustep-238292d6: No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
build-native-comp-speed2 Native Comp Images
rpc error: code = Canceled desc = grpc: the client connection is closing
Running after_script
Running after script...
$ test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name}
$ test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}
$ find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
find: build-native-comp-speed2-238292d6: No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1

failed
build-image-eglot Platform Images
Error response from daemon: Get "https://emba.gnu.org:5050/v2/": Get "https://emba.gnu.org//jwt/auth?account=gitlab-ci-token&client_id=docker&offline_token=true&service=container_registry": net/http: request canceled (Client.Timeout exceeded while awaiting headers) (Client.Timeout exceeded while awaiting headers)
Running after_script
Running after script...
$ test -n "$(docker ps -aq -f name=${test_name})" && docker cp ${test_name}:checkout/test ${test_name}
$ test -n "$(docker ps -aq -f name=${test_name})" && docker rm ${test_name}
$ find ${test_name} ! \( -name "*.log" -o -name ${EMACS_TEST_JUNIT_REPORT} \) -type f -delete
find: build-image-eglot-238292d6: No such file or directory
Cleaning up project directory and file based variables
ERROR: Job failed: exit code 1