Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/InstallAndUpdateMacroMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/InstallAndUpdateMacroMacro.groovy	(revision 3235)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/InstallAndUpdateMacroMacro.groovy	(revision 3236)
@@ -1,115 +0,0 @@
-import org.txm.Toolbox
-import org.txm.utils.ConsoleProgressBar
-import org.txm.utils.io.IOUtils
-
-def groovyUserDirectory = new File(Toolbox.getTxmHomePath() + "/scripts/groovy/user/org/txm/macro/");
-
-if (!groovyUserDirectory.exists()) {
-	groovyUserDirectory.mkdirs();
-}
-
-if (!groovyUserDirectory.exists()) {
-	monitorShowError("Le répertoire $groovyUserDirectory n'a pas pu être créé. Abandon.")
-	return;
-}
-@Field @Option(name="macroPaths", usage="Comma separated list of macro paths", widget="String", required=true, def="")
-def macroPaths
-
-@Field @Option(name="svnRepository", usage="http based URL of TXM's SVN ", widget="String", required=true, def="http://forge.cbp.ens-lyon.fr/svn/txm/tmp/org.txm.groovy.core/src/groovy/org/txm/macro/")
-def svnRepository
-
-@Field @Option(name="debug", usage="Show devug messages", widget="Boolean", required=false, def="false")
-def debug
-
-if (!ParametersDialog.open(this)) return false;
-
-if (!svnRepository.endsWith("/")) svnRepository += "/"
-
-def macros = macroPaths.split(",").collect(){it.trim()}
-def copy = []
-copy.addAll(macros)
-macros.clear()
-for (def m : copy) {
-	macros.addAll(getFiles(svnRepository, m, debug))
-}
-
-
-print "Fetching ${macros.size()} files: "
-def errors = new LinkedHashMap()
-def updated = []
-def news = []
-for (def m : macros) {
-	def f = new File(groovyUserDirectory, m)
-	f.getParentFile().mkdirs()
-	String remoteUrl = svnRepository+m
-	try {
-		
-		if (debug) print "\n"+remoteUrl
-		boolean replaced = f.exists()
-		
-		def file = new FileOutputStream(f)
-		def out = new BufferedOutputStream(file)
-		out << new URL(remoteUrl).openStream()
-		out.close()
-		
-		if (replaced) {
-			print "*"
-			updated << m
-		} else {
-			print "."
-			news << m
-		}
-	} catch(Exception e ) {
-		print "x"
-		errors[m] = e;
-	}
-}
-
-if (news.size() > 0 ) {
-	println "\n${news.join(", ")} created."
-}
-
-if (updated.size() > 0 ) {
-	println "\n${updated.join(", ")} updated."
-}
-
-if (errors.size() > 0) {
-	println "\n${errors.keySet().join(", ")} failed:"
-	println errors.values().join("\n\t")
-}
-
-def getFiles(def svnRepository, def m, def debug) {
-	println "get files of $m"
-	def files = []
-	try {
-		
-		//if (debug) println content
-		if (m.endsWith("/")) { //  || content.startsWith("<html><head><title>txm") // nag alternative
-			if (!m.endsWith("/")) m += "/"
-			
-			def content = new URL(svnRepository+m).getText()
-			
-			content.findAll(/<li><a href="([^"]+)">([^<]+)<\/a><\/li>/) { li ->
-				
-						def name =  li[2]
-						if (name != "..") {
-							files.addAll(getFiles(svnRepository, m +name, debug))
-							if (debug) println "add the '$name' file from '$m' content"
-						}
-					}
-		} else {
-			files << m
-		}
-		
-	} catch(Exception e) { }
-	
-	return files
-}
-
-def monitorShowError(String message) {
-	monitor.syncExec(new Runnable() {
-		public void run() {
-			org.eclipse.jface.dialogs.MessageDialog.openError(org.eclipse.swt.widgets.Display.getCurrent().getActiveShell(), "Error", message)
-		}
-	});
-}
Index: tmp/org.txm.groovy.core/src/groovy/org/txm/macro/InstallAndUpdateMacrosMacro.groovy
===================================================================
--- tmp/org.txm.groovy.core/src/groovy/org/txm/macro/InstallAndUpdateMacrosMacro.groovy	(revision 0)
+++ tmp/org.txm.groovy.core/src/groovy/org/txm/macro/InstallAndUpdateMacrosMacro.groovy	(revision 3236)
@@ -0,0 +1,115 @@
+import org.txm.Toolbox
+import org.txm.utils.ConsoleProgressBar
+import org.txm.utils.io.IOUtils
+
+def groovyUserDirectory = new File(Toolbox.getTxmHomePath() + "/scripts/groovy/user/org/txm/macro/");
+
+if (!groovyUserDirectory.exists()) {
+	groovyUserDirectory.mkdirs();
+}
+
+if (!groovyUserDirectory.exists()) {
+	monitorShowError("Le répertoire $groovyUserDirectory n'a pas pu être créé. Abandon.")
+	return;
+}
+@Field @Option(name="macroPaths", usage="Comma separated list of macro paths", widget="String", required=true, def="")
+def macroPaths
+
+@Field @Option(name="svnRepository", usage="http based URL of TXM's SVN ", widget="String", required=true, def="http://forge.cbp.ens-lyon.fr/svn/txm/tmp/org.txm.groovy.core/src/groovy/org/txm/macro/")
+def svnRepository
+
+@Field @Option(name="debug", usage="Show devug messages", widget="Boolean", required=false, def="false")
+def debug
+
+if (!ParametersDialog.open(this)) return false;
+
+if (!svnRepository.endsWith("/")) svnRepository += "/"
+
+def macros = macroPaths.split(",").collect(){it.trim()}
+def copy = []
+copy.addAll(macros)
+macros.clear()
+for (def m : copy) {
+	macros.addAll(getFiles(svnRepository, m, debug))
+}
+
+
+print "Fetching ${macros.size()} files: "
+def errors = new LinkedHashMap()
+def updated = []
+def news = []
+for (def m : macros) {
+	def f = new File(groovyUserDirectory, m)
+	f.getParentFile().mkdirs()
+	String remoteUrl = svnRepository+m
+	try {
+		
+		if (debug) print "\n"+remoteUrl
+		boolean replaced = f.exists()
+		
+		def file = new FileOutputStream(f)
+		def out = new BufferedOutputStream(file)
+		out << new URL(remoteUrl).openStream()
+		out.close()
+		
+		if (replaced) {
+			print "*"
+			updated << m
+		} else {
+			print "."
+			news << m
+		}
+	} catch(Exception e ) {
+		print "x"
+		errors[m] = e;
+	}
+}
+
+if (news.size() > 0 ) {
+	println "\n${news.join(", ")} created."
+}
+
+if (updated.size() > 0 ) {
+	println "\n${updated.join(", ")} updated."
+}
+
+if (errors.size() > 0) {
+	println "\n${errors.keySet().join(", ")} failed:"
+	println errors.values().join("\n\t")
+}
+
+def getFiles(def svnRepository, def m, def debug) {
+	println "get files of $m"
+	def files = []
+	try {
+		
+		//if (debug) println content
+		if (m.endsWith("/")) { //  || content.startsWith("<html><head><title>txm") // nag alternative
+			if (!m.endsWith("/")) m += "/"
+			
+			def content = new URL(svnRepository+m).getText()
+			
+			content.findAll(/<li><a href="([^"]+)">([^<]+)<\/a><\/li>/) { li ->
+				
+						def name =  li[2]
+						if (name != "..") {
+							files.addAll(getFiles(svnRepository, m +name, debug))
+							if (debug) println "add the '$name' file from '$m' content"
+						}
+					}
+		} else {
+			files << m
+		}
+		
+	} catch(Exception e) { }
+	
+	return files
+}
+
+def monitorShowError(String message) {
+	monitor.syncExec(new Runnable() {
+		public void run() {
+			org.eclipse.jface.dialogs.MessageDialog.openError(org.eclipse.swt.widgets.Display.getCurrent().getActiveShell(), "Error", message)
+		}
+	});
+}
