From ee575387afed26d9fd6ffd9709f9d66fd250a2fd Mon Sep 17 00:00:00 2001 From: Vitor Santos Costa Date: Fri, 4 Dec 2009 00:29:50 +0000 Subject: [PATCH] rstore user_defined_directive --- pl/directives.yap | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/pl/directives.yap b/pl/directives.yap index e7b7f89c0..efa0a2e9b 100644 --- a/pl/directives.yap +++ b/pl/directives.yap @@ -149,6 +149,19 @@ '$exec_directive'(endif, Context, _) :- '$endif'(Context). +% +% allow users to define their own directives. +% +user_defined_directive(Dir,_) :- + '$directive'(Dir), !. +user_defined_directive(Dir,Action) :- + functor(Dir,Na,Ar), + functor(NDir,Na,Ar), + '$current_module'(M, prolog), + assert_static('$directive'(NDir)), + assert_static(('$exec_directive'(Dir, _, _) :- Action)), + '$current_module'(_, M). + yap_flag(V,Out) :- '$user_defined_flag'(V,_,_,_),