// This macro demonstrates how macro error messages // in ImageJ 1.52v and later include the call stack. case = getNumber("enter case (1..3) ", 1); if (case == 1) doCase1(); //6 if (case == 2) result = doCase2(2); //8 if (case == 3) doCase3(); //10 function doCase1() { x = 123; aString = getAString(); //14 } function getAString(p) { //17 n = getANumber(); return "My String"; } function getANumber() { //25 return 17 + 3; } function getNothing() { a= 3; b = 1 dummy 3; //28 } function doCase2(x) { abc = 0; return "x= " + 123 + getAString(); //33 } function doCase3() { x = 123; aString = getNothing(); //38 }