Mercurial > hg > octave-lojdl
changeset 4265:48897c78c52b
[project @ 2003-01-03 06:04:29 by jwe]
author | jwe |
---|---|
date | Fri, 03 Jan 2003 06:06:33 +0000 |
parents | 4e2d2516da22 |
children | 1086ac09a411 |
files | scripts/ChangeLog scripts/miscellaneous/fileparts.m scripts/miscellaneous/fullfile.m src/pt-arg-list.cc |
diffstat | 4 files changed, 60 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +2003-01-03 John W. Eaton <jwe@bevo.che.wisc.edu> + + * miscellaneous/fullfile.m: New file. + 2003-01-02 John W. Eaton <jwe@bevo.che.wisc.edu> * miscellaneous/fileparts.m: New file.
--- a/scripts/miscellaneous/fileparts.m +++ b/scripts/miscellaneous/fileparts.m @@ -31,7 +31,7 @@ es = rindex (filename, "."); directory = filename(1:ds-1); name = filename(ds+1:es-1); - extension = filename(es+1:length (filename)); + extension = filename(es+1:end); version = ""; else error ("filesep: expecting filename argument to be a string");
new file mode 100644 --- /dev/null +++ b/scripts/miscellaneous/fullfile.m @@ -0,0 +1,47 @@ +## Copyright (C) 2003 John W. Eaton +## +## This file is part of Octave. +## +## Octave is free software; you can redistribute it and/or modify it +## under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 2, or (at your option) +## any later version. +## +## Octave is distributed in the hope that it will be useful, but +## WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +## General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with Octave; see the file COPYING. If not, write to the Free +## Software Foundation, 59 Temple Place - Suite 330, Boston, MA +## 02111-1307, USA. + +## -*- texinfo -*- +## @deftypefn {Built-in Function} {[@var{dir}, @var{name}, @var{ext}, @var{ver}]} fnmatch (@var{filename}) +## Return the directory, name, extension, and version components of +## @var{filename}. +## @end deftypefn + +function filename = fullfile (varargin) + + if (nargin > 0) + filename = varargin{1}; + if (strcmp (filename(end), "/")) + filename(end) = ""; + endif + for i = 2:nargin + tmp = varargin{i}; + if (strcmp (tmp(1), "/")) + tmp(1) = ""; + endif + if (i < nargin && strcmp (tmp(end), "/")) + tmp(end) = ""; + endif + filename = strcat (filename, filesep, tmp); + endfor + else + usage ("fullfile (dir1, dir2, ..., file)"); + endif + +endfunction
--- a/src/pt-arg-list.cc +++ b/src/pt-arg-list.cc @@ -62,8 +62,14 @@ { octave_base_list<tree_expression *>::append (s); - if (s && s->is_identifier () && s->name () == "__end__") - list_includes_magic_end = true; + // XXX FIXME XXX -- wait, it's not that simple! The argument list + // may include expressions, so we will have to do some more work + // here. We need a new function for all expression types that can + // tell us whether the expression includes the magic end token! + + // if (s && s->is_identifier () && s->name () == "__end__") + + list_includes_magic_end = true; } int