]> Creatis software - CreaPhase.git/blob - octave_packages/m/prefs/private/prefsfile.m
update packages
[CreaPhase.git] / octave_packages / m / prefs / private / prefsfile.m
1 ## Copyright (C) 2012 John W. Eaton
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
7 ## the Free Software Foundation; either version 3 of the License, or (at
8 ## your option) any later version.
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
16 ## along with Octave; see the file COPYING.  If not, see
17 ## <http://www.gnu.org/licenses/>.
18
19 ## -*- texinfo -*-
20 ## @deftypefn {Function File} {} prefsfile ()
21 ## Undocumented internal function.
22 ## @end deftypefn
23
24 ## Author: jwe
25
26 function retval = prefsfile ()
27
28   retval = "~/.octave_prefs";
29
30   ## Transition users to new filename if necessary
31   ## FIXME: Delete before 3.6.0 release
32   oldname = tilde_expand ("~/.octave-prefs");
33   if (exist (oldname, "file"))
34     newname = tilde_expand (retval); 
35     if (exist (newname, "file"))
36       error (["Octave uses the file ~/.octave_prefs to store preferences.\n",...
37               "       The old file name was ~/.octave-prefs.\n",...
38               "       Both files exist."...
39               "  User must manually delete one of the files.\n"]);
40     endif
41     status = movefile (oldname, newname);
42     if (! status)
43       error (["Octave uses the file ~/.octave_prefs to store preferences.\n",
44              "        The old file name was ~/.octave-prefs.\n",
45              "        User must manually rename the old file to the new name.\n"]);
46     endif
47   endif
48
49 endfunction
50
51 %% Testing these functions will require some care to avoid wiping out
52 %% existing (or creating unwanted) preferences for the user running the
53 %% tests.