Mercurial > octave-nkf
annotate scripts/miscellaneous/delete.m @ 20654:b65888ec820e draft default tip gccjit
dmalcom gcc jit import
author | Stefan Mahr <dac922@gmx.de> |
---|---|
date | Fri, 27 Feb 2015 16:59:36 +0100 |
parents | 9fc020886ae9 |
children |
rev | line source |
---|---|
19731
4197fc428c7d
maint: Update copyright notices for 2015.
John W. Eaton <jwe@octave.org>
parents:
19631
diff
changeset
|
1 ## Copyright (C) 2004-2015 John W. Eaton |
4691 | 2 ## |
3 ## This file is part of Octave. | |
4 ## | |
5 ## Octave is free software; you can redistribute it and/or modify it | |
6 ## under the terms of the GNU General Public License as published by | |
7016 | 7 ## the Free Software Foundation; either version 3 of the License, or (at |
8 ## your option) any later version. | |
4691 | 9 ## |
10 ## Octave is distributed in the hope that it will be useful, but | |
11 ## WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 ## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 ## General Public License for more details. | |
14 ## | |
15 ## You should have received a copy of the GNU General Public License | |
7016 | 16 ## along with Octave; see the file COPYING. If not, see |
17 ## <http://www.gnu.org/licenses/>. | |
4691 | 18 |
19 ## -*- texinfo -*- | |
9316
c539ec5726e7
Update some of Advanced Plotting documentation.
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
20 ## @deftypefn {Function File} {} delete (@var{file}) |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
21 ## @deftypefnx {Function File} {} delete (@var{file1}, @var{file2}, @dots{}) |
9316
c539ec5726e7
Update some of Advanced Plotting documentation.
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
22 ## @deftypefnx {Function File} {} delete (@var{handle}) |
8188
946035db5605
delete.m: Permit a vector of handles to be deleted.
Ben Abbott <bpabbott@mac.com>
parents:
7017
diff
changeset
|
23 ## Delete the named file or graphics handle. |
9316
c539ec5726e7
Update some of Advanced Plotting documentation.
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
24 ## |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
25 ## @var{file} may contain globbing patterns such as @samp{*}. Multiple files |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
26 ## to be deleted may be specified in the same function call. |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
27 ## |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
28 ## @var{handle} may be a scalar or vector of graphic handles to delete. |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
29 ## |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
30 ## Programming Note: Deleting graphics objects is the proper way to remove |
9316
c539ec5726e7
Update some of Advanced Plotting documentation.
Rik <rdrider0-list@yahoo.com>
parents:
8920
diff
changeset
|
31 ## features from a plot without clearing the entire figure. |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
32 ## @seealso{clf, cla, unlink, rmdir} |
4691 | 33 ## @end deftypefn |
34 | |
35 ## Author: jwe | |
36 | |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
37 function delete (varargin) |
4691 | 38 |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
39 if (nargin == 0) |
6046 | 40 print_usage (); |
4691 | 41 endif |
42 | |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
43 if (iscellstr (varargin)) |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
44 for arg = varargin |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
45 files = glob (arg{1}); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
46 if (isempty (files)) |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
47 warning ("delete: no such file: %s", arg{1}); |
13819
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
48 endif |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
49 for i = 1:length (files) |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
50 file = files{i}; |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
51 [err, msg] = unlink (file); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
52 if (err) |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
53 warning ("delete: %s: %s", file, msg); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
54 endif |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
55 endfor |
13819
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
56 endfor |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
57 |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
58 elseif (isscalar (varargin) && all (ishandle (varargin{1}(:)))) |
13819
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
59 ## Delete a graphics object. |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
60 __go_delete__ (varargin{1}); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
61 |
13819
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
62 else |
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
63 error ("delete: first argument must be a filename or graphics handle"); |
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
64 endif |
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
65 |
4691 | 66 endfunction |
13819
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
67 |
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
68 |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
69 %!test |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
70 %! unwind_protect |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
71 %! file = tempname; |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
72 %! tmp_var = pi; |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
73 %! save (file, "tmp_var"); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
74 %! assert (exist (file, "file")); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
75 %! delete (file); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
76 %! assert (! exist (file, "file")); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
77 %! unwind_protect_cleanup |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
78 %! unlink (file); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
79 %! end_unwind_protect |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
80 |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
81 %!test |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
82 %! unwind_protect |
19631
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19299
diff
changeset
|
83 %! hf = figure ("visible", "off"); |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
84 %! hl = plot (1:10); |
19631
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19299
diff
changeset
|
85 %! assert (get (gca, "children"), hl); |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
86 %! delete (hl); |
19631
db92e7e28e1f
strip trailing whitespace from most source files
John W. Eaton <jwe@octave.org>
parents:
19299
diff
changeset
|
87 %! assert (get (gca, "children"), zeros (0,1)); |
19299
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
88 %! unwind_protect_cleanup |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
89 %! close (hf); |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
90 %! end_unwind_protect |
d0f02639f560
delete.m: Allow multiple file names to delete.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
91 |
19867
9fc020886ae9
maint: Clean up m-files to follow Octave coding conventions.
Rik <rik@octave.org>
parents:
19731
diff
changeset
|
92 ## Test input validation |
13819
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
93 %!error delete () |
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
94 %!error <first argument must be a filename> delete (struct ()) |
9a8763bcf575
delete.m: Update seealso link. Add input validation tests.
Rik <octave@nomad.inbox5.com>
parents:
11523
diff
changeset
|
95 |