Index: /issm/trunk-jpl/scripts/ol.m
===================================================================
--- /issm/trunk-jpl/scripts/ol.m	(revision 27670)
+++ /issm/trunk-jpl/scripts/ol.m	(revision 27671)
@@ -3,5 +3,10 @@
 	options=pairoptions(varargin{:});
 
-	range=getfieldvalue(options,'<',Inf);
+	%recover steps in calling workspace:  will be used to highlight current step.
+	steps= evalin('base', 'steps');
+	
+	mmin=getfieldvalue(options,'>',1);
+	mmax=getfieldvalue(options,'<',Inf);
+
 	file=getfieldvalue(options,'file','runme.m');
 
@@ -20,6 +25,14 @@
 				return;
 			end
-			disp(sprintf('%2i: %s',count,tline(16:lastchar)));
-			if count>range,
+			if ismember(count,steps),
+				disp(sprintf('%2i: *%s',count,tline(17:lastchar-1)));
+			else
+				if count>=mmin & count <= mmax,
+					disp(sprintf('%2i:  %s',count,tline(17:lastchar-1)));
+				else
+					%do nothing. 
+				end
+			end
+			if count>mmax,
 				break;
 			end
Index: /issm/trunk-jpl/scripts/ola.m
===================================================================
--- /issm/trunk-jpl/scripts/ola.m	(revision 27671)
+++ /issm/trunk-jpl/scripts/ola.m	(revision 27671)
@@ -0,0 +1,40 @@
+function ola(varargin)
+
+	options=pairoptions(varargin{:});
+
+	%recover steps in calling workspace:  will be used to highlight current step.
+	steps= evalin('base', 'steps');
+	
+	r=getfieldvalue(options,'r',10);
+	range=(min(steps)-r):(max(steps)+r);
+
+	file=getfieldvalue(options,'file','runme.m');
+
+	%Open runme.m file and read line by line
+	fid=fopen(file,'r');
+
+	tline = fgets(fid);
+	count=1;
+	while ischar(tline)
+		tline = fgets(fid);
+		if strncmpi(tline,'if perform(org,',14),
+			lastchar = strfind(tline,')');
+			lastchar = lastchar(end)-1;
+			string=tline(17:lastchar-1);
+			if strcmpi(string,'End'),
+				return;
+			end
+			if ismember(count,range),
+				if ismember(count,steps),
+					disp(sprintf('%2i: *%s',count,tline(17:lastchar-1)));
+				else
+					disp(sprintf('%2i:  %s',count,tline(17:lastchar-1)));
+				end
+			end
+			if count>range(end),
+				break;
+			end
+			count=count+1;
+		end
+	end
+	fclose(fid);
