summary refs log tree commit diff
path: root/.dir-locals.el
diff options
context:
space:
mode:
authorBrian Cully <bjc@spork.org>2023-07-17 13:02:19 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-08-31 23:31:50 -0400
commitf66fa5f917e76935187935b09ae7ac037b8b35f8 (patch)
treea867e51a541e2525568f76b3b55d7fc6e9dc190d /.dir-locals.el
parent69f6edc1a8596d2cb4c67e0435d35633af6f3cbc (diff)
downloadguix-f66fa5f917e76935187935b09ae7ac037b8b35f8.tar.gz
gnu: services: Revert to deleting and updating all matching services
This patch reverts the behavior introduced in
181951207339508789b28ba7cb914f983319920f which caused ‘modify-services’
clauses to only match a single instance of a service.

We will now match all service instances when doing a deletion or update, while
still raising an exception when trying to match against a service that does
not exist in the services list, or which was deleted explicitly by a ‘delete’
clause (or an update clause that returns ‘#f’ for the service).

Fixes: #64106

* gnu/services.scm (%modify-services): New procedure.
(modify-services): Use it.
(apply-clauses): Add DELETED-SERVICES argument, change to modify one service
at a time.
* tests/services.scm
("modify-services: delete then modify")
("modify-services: modify then delete")
("modify-services: delete multiple services of the same type")
("modify-services: modify multiple services of the same type"): New tests.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Modified-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Diffstat (limited to '.dir-locals.el')
0 files changed, 0 insertions, 0 deletions