Subject: swipl v7 changed print predicate
Description: v7 print predicate (~p in format) adds some quotes when
 priting data, need to use ~w in format to avoid quotes
Author: Olivier Sallou <osallou@debian.org>
Last-Updated: 2015-06-29
Forwarded: yes
--- a/prolog/logol.pl
+++ b/prolog/logol.pl
@@ -2123,16 +2123,16 @@
 
 %sub predicates, do not call
 writecontent(X,OutStream):- maxsize(Maxsize),getVariable(X,_,Begin,End,Size,Info,Level,[Errors,Indel],Name),((Size>Maxsize,Content='-');(Size=0,Content='NULL');(Size=<Maxsize,Size>0,getVariable(X,TmpContent,_,_,_,_,_,_,_),atom_chars(Content,TmpContent)))
-,format(OutStream,'<variable name="~p">~N~10|<data><begin>~p</begin>~N~10|<end>~p</end>~N~10|<size>~p</size>~N~10|<errors>~p</errors>~N~10|<distance>~p</distance>~N~10|<content>~p</content>~N~10|<text>~p</text>~N~10|</data>~N',[Name,Begin,End,Size,Errors,Indel,Content,Level]),(Info=[];(\+ Info=[],format(OutStream,'<subdata>~N',[]),writeresult(Info,OutStream),format(OutStream,'</subdata>~N',[]))),format(OutStream,'</variable>~N',[]).
+,format(OutStream,'<variable name="~w">~N~10|<data><begin>~w</begin>~N~10|<end>~w</end>~N~10|<size>~w</size>~N~10|<errors>~w</errors>~N~10|<distance>~w</distance>~N~10|<content>~w</content>~N~10|<text>~w</text>~N~10|</data>~N',[Name,Begin,End,Size,Errors,Indel,Content,Level]),(Info=[];(\+ Info=[],format(OutStream,'<subdata>~N',[]),writeresult(Info,OutStream),format(OutStream,'</subdata>~N',[]))),format(OutStream,'</variable>~N',[]).
 writeresult([],OutStream):- format(OutStream,'',[]).
 writeresult([X],OutStream):- writecontent(X,OutStream).
 writeresult([X|Y],OutStream):- writecontent(X,OutStream),writeresult(Y,OutStream).
 %main predicate
-writeresult(Id,[X|Y],OutStream):- format(OutStream,'<model id="~p">~N',[Id]),writeresult([X|Y],OutStream),format(OutStream,'</model>~N',[]).
+writeresult(Id,[X|Y],OutStream):- format(OutStream,'<model id="~w">~N',[Id]),writeresult([X|Y],OutStream),format(OutStream,'</model>~N',[]).
 
 writeallresult(Id,[X],OutStream):- writeresult(Id,X,OutStream).
 writeallresult(Id,[X|Y],OutStream):- writeresult(Id,X,OutStream),NewId is Id+1,writeallresult(NewId,Y,OutStream).
-writeallresult(File,[X|Y]):- open(File,append,OutStream),bb_get('matchCounter',Count),format(OutStream,'<match id="~p">~N',[Count]),NewCount is Count + 1,bb_put('matchCounter',NewCount),writeallresult(1,[X|Y],OutStream),format(OutStream,'</match>~N',[]),close(OutStream),!.  
+writeallresult(File,[X|Y]):- open(File,append,OutStream),bb_get('matchCounter',Count),format(OutStream,'<match id="~w">~N',[Count]),NewCount is Count + 1,bb_put('matchCounter',NewCount),writeallresult(1,[X|Y],OutStream),format(OutStream,'</match>~N',[]),close(OutStream),!.  
 
 
 %% initResultFile(+File:char-list)
@@ -2237,7 +2237,7 @@
 % @param Message message to log
 %
 
-logData(File,Message):-open(File,append,OutStream),format(OutStream,'~p~N',Message),close(OutStream).
+logData(File,Message):-open(File,append,OutStream),format(OutStream,'~w~N',Message),close(OutStream).
 
 
 %:-comment(setParent/2," Set parent value in variable structure@p Description: @p @bf{DEPRECATED}@p Set the parent value in structure @begin{itemize} @item @bf{setParent(Var, Parent) , list * char-list => list * char-list}. @end{itemize} @p Input: @begin{itemize} @item @var{Var} is variable structure saved in @pred{varDefinition} @item @var{Parent} is the parent string@end{itemize} @p Output: ").
--- a/src/org/irisa/genouest/logol/Treatment.java
+++ b/src/org/irisa/genouest/logol/Treatment.java
@@ -383,7 +383,7 @@
 				switch(sc.type) {
 					case Constants.SAVECONSTRAINT: {
 						//if(!data.equals("")) data+=",";							
-						save+="((\\+var("+sc.variableContent+"),format(OutStream,'~p,~p,~p~N',["+sc.variableContent+",'"+lvar.model+"','"+lvar.id+"']),nl);(var("+sc.variableContent+")))";
+						save+="((\\+var("+sc.variableContent+"),format(OutStream,'~w,~w,~w~N',["+sc.variableContent+",'"+lvar.model+"','"+lvar.id+"']),nl);(var("+sc.variableContent+")))";
 					
 						LogolVariable.matchedVariables.add(sc.variableContent);
 						break;
