Index: /issm/trunk/src/m/utils/Array/allequal.m
===================================================================
--- /issm/trunk/src/m/utils/Array/allequal.m	(revision 7396)
+++ /issm/trunk/src/m/utils/Array/allequal.m	(revision 7397)
@@ -1,5 +1,8 @@
 %
 %  function to return an empty array if all array elements are
-%  equal to the given value.
+%  equal to the given value, which may also be empty but not nan.
+%
+%  (note that by definition, nan is not equal to nan.  this could
+%  be changed by using isequalwithequalnans.)
 %
 %  function [aout]=allequal(ain,aval)
@@ -16,5 +19,5 @@
 if     islogical(ain) && islogical(aval)
     for i=1:numel(ain)
-        if ain(i) ~= aval
+        if ~isequal(ain(i),aval)
             return
         end
@@ -24,5 +27,5 @@
 elseif isnumeric(ain) && isnumeric(aval)
     for i=1:numel(ain)
-        if ain(i) ~= aval
+        if ~isequal(ain(i),aval)
             return
         end
@@ -41,5 +44,5 @@
     if     islogical(aval)
         for i=1:numel(ain)
-            if ~islogical(ain{i}) || ain{i} ~= aval
+            if ~islogical(ain{i}) || ~isequal(ain{i},aval)
                 return
             end
@@ -49,5 +52,5 @@
     elseif isnumeric(aval)
         for i=1:numel(ain)
-            if ~isnumeric(ain{i}) || ain{i} ~= aval
+            if ~isnumeric(ain{i}) || ~isequal(ain{i},aval)
                 return
             end
Index: /issm/trunk/src/m/utils/Array/rotateticklabel.m
===================================================================
--- /issm/trunk/src/m/utils/Array/rotateticklabel.m	(revision 7396)
+++ /issm/trunk/src/m/utils/Array/rotateticklabel.m	(revision 7397)
@@ -51,9 +51,19 @@
 c=get(h,'YTick');
 %make new tick labels
-if rot<180
-    th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','right','rotation',rot,'Interpreter','none');
-else
-    th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','left','rotation',rot,'Interpreter','none');
+%  must consider yscale (jes, 9/14/10)
+switch lower(get(h,'YScale'))
+    case 'linear'
+        if rot<180
+            th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','right','rotation',rot,'Interpreter','none');
+        else
+            th=text(b,repmat(c(1)-.1*(c(2)-c(1)),length(b),1),a,'HorizontalAlignment','left','rotation',rot,'Interpreter','none');
+        end
+    case 'log'
+        if rot<180
+            th=text(b,repmat(10^(log10(c(1))-.1*(log10(c(2))-log10(c(1)))),length(b),1),a,'HorizontalAlignment','right','rotation',rot,'Interpreter','none');
+        else
+            th=text(b,repmat(10^(log10(c(1))-.1*(log10(c(2))-log10(c(1)))),length(b),1),a,'HorizontalAlignment','left','rotation',rot,'Interpreter','none');
+        end
+    otherwise
+        set(h,'XTickLabel',a);
 end
-
-end
