From 62e43a3ab0364dfa1f372f055279903356f08dc3 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bennet=20Ble=C3=9Fmann?= Date: Sat, 26 Jul 2025 21:55:18 +0200 Subject: [PATCH] use functor/3 for must_be_known_options --- src/lib/process.pl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/process.pl b/src/lib/process.pl index 0d457d6d..2f8ceec1 100644 --- a/src/lib/process.pl +++ b/src/lib/process.pl @@ -10,7 +10,7 @@ :- use_module(library(error)). :- use_module(library(iso_ext)). :- use_module(library(lists), [member/2, maplist/2]). -:- use_module(library(reif), [tfilter/3]). +:- use_module(library(reif), [tfilter/3, memberd_t/3]). %% process_create(+Exe, +Args:list, +Options). @@ -138,7 +138,7 @@ process_release(Process) :- must_be_known_options(_, _, []). must_be_known_options(Valid, Found, [X|XS]) :- - X =.. [Option|_], + functor(X, Option, 1), ( member(Option, Found) -> domain_error(non_duplicate_process_create_options, process_create/3) ; member(Option, Valid) -> true ; domain_error(process_create_option, Option, process_create/3) @@ -155,7 +155,9 @@ check_options([X | XS], Options) :- ), check_options(XS, Options). -find_option(Names, Found, T) :- (functor(Found, Name, 1), member(Name, Names)) -> T = true ; T = false. +find_option(Names, Found, T) :- + functor(Found, Name, 1), + memberd_t(Name, Names, T). valid_stdio(IO) :- arg(1, IO, Arg), ( var(Arg) -> instantiation_error(process_create/3) -- 2.54.0