Index: /issm/trunk-jpl/m4/issm_options.m4
===================================================================
--- /issm/trunk-jpl/m4/issm_options.m4	(revision 25928)
+++ /issm/trunk-jpl/m4/issm_options.m4	(revision 25929)
@@ -342,5 +342,4 @@
 		HAVE_MATLAB=no
 	else
-		HAVE_MATLAB=yes
 		if ! test -d "${MATLAB_ROOT}"; then
 			AC_MSG_ERROR([MATLAB directory provided (${MATLAB_ROOT}) does not exist!]);
@@ -349,4 +348,5 @@
 			AC_MSG_ERROR([Couldn't find mex.h... check your installation of MATLAB])
 		fi
+		HAVE_MATLAB=yes
 	fi
 	AC_MSG_RESULT([${HAVE_MATLAB}])
Index: /issm/trunk-jpl/src/m/plot/applyoptions.m
===================================================================
--- /issm/trunk-jpl/src/m/plot/applyoptions.m	(revision 25928)
+++ /issm/trunk-jpl/src/m/plot/applyoptions.m	(revision 25929)
@@ -448,10 +448,26 @@
 
 %flag edges of a partition
-if exist(options,'partitionedges') & ~strcmp(getfieldvalue(options,'partitionedges','off'),'off')
-	mdp=getfieldvalue(options,'partitionedges','off');
-	if ischar(mdp)
-		mdp=md;
-	end
-	[xsegments ysegments]=flagedges(mdp.mesh.elements,mdp.mesh.x,mdp.mesh.y,mdp.qmu.partition);
+%
+% TODO:
+% - Figure out how to expand string representing an object (e.g. 
+%	'md.qmu.variables.thickness.partition') to get the actual value *without* 
+%	using `eval` and like functions (md.('token').('token') works, but how do 
+%	we access md given the string 'md').
+if exist(options,'partition')
+	partition=getfieldvalue(options,'partition','');
+	if isvector(partition) & isnumeric(partition) % partition option is vector
+		% do nothing: we already have a partition vector
+	% elseif ischar(partition) & ~isempty(partition) % partition option is string
+	% 	% expand string
+	% 	partition=eval(partition);
+	% 	class(partition);
+	% 	if ~(isvector(partition) & isnumeric(partition))
+	% 		error('String passed to ''partition'' option does not represent a partition vector');
+	% 	end
+	else
+		error('If ''partition'' option is supplied, it should be a partition vector object');
+	end
+	mdp=md;
+	[xsegments ysegments]=flagedges(mdp.mesh.elements,mdp.mesh.x,mdp.mesh.y,partition);
 	xsegments=xsegments*getfieldvalue(options,'unit',1);
 	ysegments=ysegments*getfieldvalue(options,'unit',1);
Index: /issm/trunk-jpl/src/m/plot/plotdoc.m
===================================================================
--- /issm/trunk-jpl/src/m/plot/plotdoc.m	(revision 25928)
+++ /issm/trunk-jpl/src/m/plot/plotdoc.m	(revision 25929)
@@ -122,5 +122,5 @@
 disp('       ''mask'': list of flags of size numberofnodes or numberofelements. Only ''true'' values are plotted ');
 disp('       ''nan'': value assigned to NaNs (convenient when plotting BC)');
-disp('       ''partitionedges'': ''off'' by default. overlay plot of partition edges');
+disp('       ''partition'': a partion vector. generates overlay plot of partition edges');
 disp('       ''log'': value of log');
 disp('       ''latlon'': ''on'' or {latstep lonstep [resolution [color]]} where latstep,longstep and resolution are in degrees, color is a [r g b] array');
Index: /issm/trunk-jpl/src/m/plot/plotdoc.py
===================================================================
--- /issm/trunk-jpl/src/m/plot/plotdoc.py	(revision 25928)
+++ /issm/trunk-jpl/src/m/plot/plotdoc.py	(revision 25929)
@@ -127,5 +127,5 @@
     #                'border': " size of printlay border (in pixels). active only for overlay plots",
     #                'nan': " value assigned to NaNs (convenient when plotting BC)",
-    #                'partitionedges': " 'off' by default. overlay plot of partition edges",
+    #                'partition: " a partion vector. generates overlay plot of partition edges",
     #                'latlon': " 'on' or {latstep lonstep [resolution [color]]} where latstep, longstep and resolution are in degrees, color is a [r g b] array",
     #                'latlonnumbering': " 'on' or {latgap longap colornumber latangle lonangle} where latgap and longap are pixel gaps for the numbers",
