From 91a7fc3c6623946462c0382d569d21042dcde140 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADtor=20Manuel=20de=20Morais=20Santos=20Costa?= Date: Fri, 27 Nov 2009 13:45:18 +0000 Subject: [PATCH] fix bugs in backtrackable versions of atom_concat/3 and atomic_concat/3 (obs from Paulo Moura). --- pl/utils.yap | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/pl/utils.yap b/pl/utils.yap index 27a005480..1c118608b 100644 --- a/pl/utils.yap +++ b/pl/utils.yap @@ -333,10 +333,10 @@ atom_concat(X,Y,At) :- atom_codes(At, Codes), atom_codes(Y, Ys), once(lists:append(Xs,Ys,Codes)), - atom_codes(Y, Ys). + atom_codes(X, Xs). '$atom_contact_split'(At,X,Y) :- atom_codes(At, Codes), - '$split_codes'(Codes, Xs, Ys), + lists:append(Xs, Ys, Codes), atom_codes(X, Xs), atom_codes(Y, Ys). @@ -352,7 +352,7 @@ atomic_concat(X,Y,At) :- ; atom(At) -> atom_length(At,Len), - '$atom_contact_split'(At,0,Len,X,Y) + '$atom_contact_split'(At,X,Y) ; number(At) -> '$number_contact_split'(At,X,Y) @@ -374,10 +374,10 @@ atomic_concat(X,Y,At) :- number_codes(At, Codes), name(Y, Ys), once(lists:append(Xs,Ys,Codes)), - name(Y, Ys). + name(X, Xs). '$number_contact_split'(At,X,Y) :- number_codes(At, Codes), - '$split_codes'(Codes, Xs, Ys), + lists:append(Xs, Ys, Codes), name(X, Xs), name(Y, Ys).