diff scripts/plot/semilogxerr.m @ 7207:71c03c7239fb

[project @ 2007-11-28 02:19:25 by jwe]
author jwe
date Wed, 28 Nov 2007 02:20:48 +0000
parents a1dbe9d80eee
children 5389a52df87b
line wrap: on
line diff
--- a/scripts/plot/semilogxerr.m	Tue Nov 27 22:40:20 2007 +0000
+++ b/scripts/plot/semilogxerr.m	Wed Nov 28 02:20:48 2007 +0000
@@ -40,17 +40,22 @@
 
 function retval = semilogxerr (varargin)
 
-  newplot ();
+  [h, varargin] = __plt_get_axis_arg__ ("semilogxerr", varargin{:});
+  oldh = gca ();
+  unwind_protect
+    axes (h);
+    newplot ();
 
-  ## [h, varargin] = __plt_get_axis_arg__ ("loglog", varargin{:});
-  h = gca ();
+    set (h, "xscale", "log");
 
-  set (h, "xscale", "log");
-
-  tmp = __errcomm__ ("semilogxerr", h, varargin{:});
+    tmp = __errcomm__ ("semilogxerr", h, varargin{:});
 
-  if (nargout > 0)
-    retval = tmp;
-  endif
+    if (nargout > 0)
+      retval = tmp;
+    endif
+
+  unwind_protect_cleanup
+    axes (oldh);
+  end_unwind_protect
 
 endfunction