changeset 3597:26662775f4e9

[project @ 2000-02-12 02:24:41 by jwe]
author jwe
date Sat, 12 Feb 2000 02:24:46 +0000
parents edcaebe1b81b
children 0ae310231c46
files ChangeLog Makeconf.in configure.in liboctave/ChangeLog liboctave/Makefile.in liboctave/oct-time.cc scripts/ChangeLog scripts/miscellaneous/bug_report.m scripts/plot/hist.m scripts/set/create_set.m src/ChangeLog src/Makefile.in src/defaults.cc src/defaults.h.in src/octave.cc src/toplev.cc
diffstat 16 files changed, 169 insertions(+), 47 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu Feb 10 09:26:51 2000 +0000
+++ b/ChangeLog	Sat Feb 12 02:24:46 2000 +0000
@@ -1,3 +1,20 @@
+2000-02-11  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* configure.in (octincludedir): Delete trailing /octave here.
+	* Makeconf.in (mk-includedir-link): Append it here.
+	(MKOCTFILE_INCFLAGS): Use both -I$(octincludedir) and
+	-I$(octincludedir)/octave.
+
+	* configure.in (localveroctfiledir, localverarchlibdir,
+	localverfcnfiledir): New variables.
+	(localfcnfilepath): Prepend localverfcnfiledir.
+	(localoctfilepath): Prepend localveroctfiledir.
+	* Makeconf.in: Substitute them here.
+
+	* Makeconf.in (do-subst-default-vals): Substitute
+	OCTAVE_LOCALVERARCHLIBDIR, OCTAVE_LOCALVERFCNFILEDIR,
+	OCTAVE_LOCALVEROCTFILEDIR.
+
 2000-02-08  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* config.guess: Update to latest from subversions.gnu.org.
--- a/Makeconf.in	Thu Feb 10 09:26:51 2000 +0000
+++ b/Makeconf.in	Sat Feb 12 02:24:46 2000 +0000
@@ -199,7 +199,8 @@
 # These variables hold the values specific to Octave.  They are
 # based on the values of the standard Make variables above.
 
-# Where to install Octave's include files.  The default is
+# Where to install Octave's include files (they will actually be
+# installed in a subdirectory called octave).  The default is
 # ${includedir}/octave-${version}
 octincludedir = @octincludedir@
 
@@ -214,6 +215,7 @@
 # ${fcnfiledir}.  This should be a colon-separated list of
 # directories.
 localfcnfiledir = @localfcnfiledir@
+localverfcnfiledir = @localverfcnfiledir@
 localfcnfilepath = @localfcnfilepath@
 
 # Where to put executables to be run by Octave rather than
@@ -225,6 +227,7 @@
 # Where to put executables to be run by Octave rather than by the
 # user that are specific to this site.
 localarchlibdir = @localarchlibdir@
+localverarchlibdir = @localverarchlibdir@
 
 # Where to put object files that will by dynamically loaded.
 # This path usually includes the Octave version and configuration
@@ -237,6 +240,7 @@
 # (i.e. customizations), before consulting ${octfiledir}.  This should
 # be a colon-separated list of directories.
 localoctfiledir = @localoctfiledir@
+localveroctfiledir = @localveroctfiledir@
 localoctfilepath = @localoctfilepath@
 
 # Where Octave will search to find its function files.  Before
@@ -253,7 +257,8 @@
 canonical_host_type = @canonical_host_type@
 
 # The -I flags to use for the mkoctfile script.
-MKOCTFILE_INCFLAGS = -I$(octincludedir) -I$(includedir)
+MKOCTFILE_INCFLAGS = \
+  -I$(octincludedir) -I$(octincludedir)/octave -I$(includedir)
 
 # The following pattern rules and the substitution functions require
 # GNU make.  If you don't have it, get it!
@@ -416,6 +421,9 @@
   -e "s;%OCTAVE_LOCALFCNFILEPATH%;\"${localfcnfilepath}\";" \
   -e "s;%OCTAVE_LOCALOCTFILEDIR%;\"${localoctfiledir}\";" \
   -e "s;%OCTAVE_LOCALOCTFILEPATH%;\"${localoctfilepath}\";" \
+  -e "s;%OCTAVE_LOCALVERARCHLIBDIR%;\"${localverarchlibdir}\";" \
+  -e "s;%OCTAVE_LOCALVERFCNFILEDIR%;\"${localverfcnfiledir}\";" \
+  -e "s;%OCTAVE_LOCALVEROCTFILEDIR%;\"${localveroctfiledir}\";" \
   -e "s;%OCTAVE_MAN1DIR%;\"${man1dir}\";" \
   -e "s;%OCTAVE_MAN1EXT%;\"${man1ext}\";" \
   -e "s;%OCTAVE_MANDIR%;\"${mandir}\";" \
@@ -426,13 +434,14 @@
 $(top_srcdir)/move-if-change $@.tmp $@
 endef
 
-# Make a relative symbolic link from $includedir/octave to $octincludedir. 
+# Make a relative symbolic link from $includedir/octave to
+# $octincludedir/octave.
 
 # XXX FIXME XXX -- this assumes that $octincludedir is a subdirectory
 # of $includedir.
 
 define mk-includedir-link
-src=`echo $(octincludedir) | sed 's|^$(includedir)/*||'`; \
+src=`echo $(octincludedir)/octave | sed 's|^$(includedir)/*||'`; \
 echo $$src; \
 if [ "$$src" = "octave" ]; then \
   true; \
--- a/configure.in	Thu Feb 10 09:26:51 2000 +0000
+++ b/configure.in	Sat Feb 12 02:24:46 2000 +0000
@@ -21,7 +21,7 @@
 ### Software Foundation, 59 Temple Place - Suite 330, Boston, MA
 ### 02111-1307, USA. 
 
-AC_REVISION($Revision: 1.322 $)
+AC_REVISION($Revision: 1.323 $)
 AC_PREREQ(2.9)
 AC_INIT(src/octave.cc)
 AC_CONFIG_HEADER(config.h)
@@ -35,20 +35,27 @@
 OCTAVE_SET_DEFAULT(man1dir, '$(mandir)/man1')
 OCTAVE_SET_DEFAULT(man1ext, '.1')
 OCTAVE_SET_DEFAULT(infofile, '$(infodir)/octave.info')
-OCTAVE_SET_DEFAULT(octincludedir, '$(includedir)/octave-$(version)/octave')
+OCTAVE_SET_DEFAULT(octincludedir, '$(includedir)/octave-$(version)')
 OCTAVE_SET_DEFAULT(fcnfiledir, '$(datadir)/octave/$(version)/m')
 OCTAVE_SET_DEFAULT(localfcnfiledir, '$(datadir)/octave/site/m')
-OCTAVE_SET_DEFAULT(localfcnfilepath, '$(localfcnfiledir)//')
+OCTAVE_SET_DEFAULT(localverfcnfiledir, '$(datadir)/octave/$(version)/site/m')
+OCTAVE_SET_DEFAULT(localfcnfilepath,
+  '$(localverfcnfiledir)//:$(localfcnfiledir)//')
 OCTAVE_SET_DEFAULT(octlibdir, '$(libdir)/octave-$(version)')
 OCTAVE_SET_DEFAULT(archlibdir,
   '$(libexecdir)/octave/$(version)/exec/$(canonical_host_type)')
 OCTAVE_SET_DEFAULT(localarchlibdir,
   '$(libexecdir)/octave/site/exec/$(canonical_host_type)')
+OCTAVE_SET_DEFAULT(localverarchlibdir,
+  '$(libexecdir)/octave/$(version)/site/exec/$(canonical_host_type)')
 OCTAVE_SET_DEFAULT(octfiledir,
   '$(libexecdir)/octave/$(version)/oct/$(canonical_host_type)')
 OCTAVE_SET_DEFAULT(localoctfiledir,
   '$(libexecdir)/octave/site/oct/$(canonical_host_type)')
-OCTAVE_SET_DEFAULT(localoctfilepath, '$(localoctfiledir)//')
+OCTAVE_SET_DEFAULT(localveroctfiledir,
+  '$(libexecdir)/octave/$(version)/site/oct/$(canonical_host_type)')
+OCTAVE_SET_DEFAULT(localoctfilepath,
+  '$(localveroctfiledir)//:$(localoctfiledir)//')
 OCTAVE_SET_DEFAULT(fcnfilepath,
   '.:$(localoctfilepath):$(localfcnfilepath):$(octfiledir)//:$(fcnfiledir)//')
 OCTAVE_SET_DEFAULT(imagedir, '$(datadir)/octave/$(version)/imagelib')
--- a/liboctave/ChangeLog	Thu Feb 10 09:26:51 2000 +0000
+++ b/liboctave/ChangeLog	Sat Feb 12 02:24:46 2000 +0000
@@ -1,3 +1,12 @@
+2000-02-11  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* Makefile.in (install-inc): Install files in
+	$(octincludedir)/octave.
+	(uninstall): Remove them from the correct directory too.
+
+	* oct-time.cc: Temporarily define _BSD_SOURCE and _XOPEN_SOURCE if
+	they are not already defined.
+
 2000-02-08  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* CRowVector.cc, CRowVector.h, CColVector.cc, CColVector.h:
--- a/liboctave/Makefile.in	Thu Feb 10 09:26:51 2000 +0000
+++ b/liboctave/Makefile.in	Sat Feb 12 02:24:46 2000 +0000
@@ -198,10 +198,10 @@
 .PHONY: install-lib
 
 install-inc:
-	$(top_srcdir)/mkinstalldirs $(octincludedir)
+	$(top_srcdir)/mkinstalldirs $(octincludedir)/octave
 	for f in $(INCLUDES_FOR_INSTALL); do \
-	  rm -f $(octincludedir)/$$f; \
-	  $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/$$f; \
+	  rm -f $(octincludedir)/octave/$$f; \
+	  $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/octave/$$f; \
 	done
 	$(mk-includedir-link)
 .PHONY: install-inc
@@ -210,7 +210,7 @@
 	rm -f $(octlibdir)/liboctave.$(LIBEXT)
 	rm -f $(octlibdir)/liboctave.$(SHLEXT)
 	rm -f $(octlibdir)/liboctave.$(SHLEXT_VER)
-	for f in $(INCLUDES); do rm -f $(octincludedir)/$$f; done
+	for f in $(INCLUDES); do rm -f $(octincludedir)/octave/$$f; done
 .PHONY: uninstall
 
 tags: $(SOURCES)
--- a/liboctave/oct-time.cc	Thu Feb 10 09:26:51 2000 +0000
+++ b/liboctave/oct-time.cc	Sat Feb 12 02:24:46 2000 +0000
@@ -24,14 +24,40 @@
 #include <config.h>
 #endif
 
+// I am told that without _BSD_SOURCE, tm_zone won't be declared on
+// some systems.  Defining _XOPEN_SOURCE provides the declaration for
+// strptime on some others.
+//
+// These defines go here, before any system header files are included,
+// because the system header files may define other macros that are
+// actually used to determine the feature set.  If we wait until after
+// some system header file is included, it may be too late.
+
+#if !defined (_BSD_SOURCE)
+#define _BSD_SOURCE 1
+#define OCTAVE_UNDEFINE_BSD_SOURCE
+#endif
+
+#if !defined (_XOPEN_SOURCE)
+#define _XOPEN_SOURCE 1
+#define OCTAVE_UNDEFINE_XOPEN_SOURCE
+#endif
+
 #include <climits>
 #include <cmath>
 
 #include "lo-error.h"
 #include "lo-utils.h"
-#define __USE_XOPEN
 #include "oct-time.h"
 
+#if defined (OCTAVE_UNDEFINE_BSD_SOURCE)
+#undef _BSD_SOURCE
+#endif
+
+#if defined (OCTAVE_UNDEFINE_XOPEN_SOURCE)
+#undef _XOPEN_SOURCE
+#endif
+
 #if !defined (HAVE_STRPTIME)
 extern "C" char *strptime (const char *buf, const char *format, struct tm *tm);
 #endif
--- a/scripts/ChangeLog	Thu Feb 10 09:26:51 2000 +0000
+++ b/scripts/ChangeLog	Sat Feb 12 02:24:46 2000 +0000
@@ -1,3 +1,16 @@
+2000-02-11  Georg Thimm <mgeorg@SGraphicsWS1.mpe.ntu.edu.sg>
+
+	* set/create_set.m: Use find to avoid while loop.
+
+2000-02-11  Stephen Eglen <stephen@cogsci.ed.ac.uk>
+
+	* plot/hist.m: New optional third argument.
+
+2000-02-10  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* miscellaneous/bug_report.m: Use octave-bug script with version
+	number appended.
+
 2000-02-04  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* gethelp.cc: Sprinkle with std:: qualifier.
--- a/scripts/miscellaneous/bug_report.m	Thu Feb 10 09:26:51 2000 +0000
+++ b/scripts/miscellaneous/bug_report.m	Sat Feb 12 02:24:46 2000 +0000
@@ -50,7 +50,7 @@
       endif
     endif
 
-    cmd = "octave-bug";
+    cmd = strcat ("octave-bug-", __OCTAVE_VERSION__);
 
     if (length (subject) > 0)
       cmd = sprintf ("%s -s \"%s\"", cmd, subject);
--- a/scripts/plot/hist.m	Thu Feb 10 09:26:51 2000 +0000
+++ b/scripts/plot/hist.m	Sat Feb 12 02:24:46 2000 +0000
@@ -18,7 +18,7 @@
 ## 02111-1307, USA.
 
 ## -*- texinfo -*-
-## @deftypefn {Function File} {} hist (@var{y}, @var{x})
+## @deftypefn {Function File} {} hist (@var{y}, @var{x}, @var{norm})
 ## Produce histogram counts or plots.
 ##
 ## With one vector input argument, plot a histogram of the values with
@@ -31,6 +31,9 @@
 ## with the width of the bins determined from the adjacent values in
 ## the vector.
 ##
+## If third argument is provided, the histogram is normalised such that
+## the sum of the bars is equal to @var{norm}.
+##
 ## Extreme values are lumped in the first and last bins.
 ##
 ## With two output arguments, produce the values @var{nn} and @var{xx} such
@@ -40,10 +43,10 @@
 
 ## Author: jwe
 
-function [nn, xx] = hist (y, x)
+function [nn, xx] = hist (y, x, norm)
 
   if (nargin < 1 || nargin > 2)
-    usage ("[nn, xx] = hist (y, x)");
+    usage ("[nn, xx] = hist (y, x, norm)");
   endif
 
   if (is_vector (y))
@@ -58,7 +61,8 @@
     delta = (max_val - min_val) / n / 2;
     x = linspace (min_val+delta, max_val-delta, n);
     cutoff = x + delta;
-  elseif (nargin == 2)
+  else
+    ## nargin is either 2 or 3
     if (is_scalar (x))
       n = x;
       if (n <= 0)
@@ -90,6 +94,11 @@
   endfor
   freq (n) = sum (y >= cutoff (n-1));
 
+  if (nargin == 3)
+    ## Normalise the histogram.
+    freq = freq / length(y) * norm;
+  endif
+
   if (nargout > 0)
     nn = freq;
     xx = x;
--- a/scripts/set/create_set.m	Thu Feb 10 09:26:51 2000 +0000
+++ b/scripts/set/create_set.m	Sat Feb 12 02:24:46 2000 +0000
@@ -39,26 +39,13 @@
     usage ("create_set(x)");
   endif
 
-  if(isempty(x))
+  if (isempty(x))
     y = [];
   else
-    [nrx, ncx] = size(x);
-    nelx = nrx*ncx;
-    x = reshape(x,1,nelx);
-    y = zeros(1,nelx);
-
-    x = sort(x);
-    cur_val = y(1) = x(1);
-    yindex = xindex = 2;
-
-    while (xindex <= nelx)
-      if(cur_val != x(xindex))
-        cur_val = x(xindex);
-        y(yindex++) = cur_val;
-      endif
-      xindex++;
-    endwhile
-    y = y(1:(yindex-1));
+    [nrx, ncx] = size (x);
+    nelx = nrx * ncx;
+    y = sort (reshape (x, 1, nelx));
+    y = y ([1, (find (y(1:nelx-1) != y(2:nelx)) + 1)]);
   endif
 
 endfunction
--- a/src/ChangeLog	Thu Feb 10 09:26:51 2000 +0000
+++ b/src/ChangeLog	Sat Feb 12 02:24:46 2000 +0000
@@ -1,6 +1,23 @@
+2000-02-11  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* Makefile.in (install-inc): Install files in
+	$(octincludedir)/octave.
+	(uninstall): Remove them from the correct directory too.
+
+	* defaults.h, defaults.cc (Vlocal_ver_arch_lib_dir): New variable.
+	* defaults.cc (set_default_local_ver_arch_lib_dir): New function.
+	(install_defaults): Call it.
+	(exec_path): Prepend the versioned form of the local arch lib
+	directory to the standard path.
+	* defaults.h.in (OCTAVE_LOCALVERARCHLIBDIR,
+	OCTAVE_LOCALVERFCNFILEDIR, OCTAVE_LOCALVEROCTFILEDIR):
+	Substitute these too.
+	* toplev.cc (Foctave_config_info): Add them to the struct.
+
 2000-02-08  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
-	* toplev.cc (octave_config_info): Add MKOCTFILE_INCFLAGS to the struct.
+	* toplev.cc (Foctave_config_info): Add MKOCTFILE_INCFLAGS to the
+	struct.
 	* oct-conf.h.in (OCTAVE_CONF_MKOCTFILE_INCFLAGS): Define.
 
 2000-02-07  John W. Eaton  <jwe@bevo.che.wisc.edu>
--- a/src/Makefile.in	Thu Feb 10 09:26:51 2000 +0000
+++ b/src/Makefile.in	Sat Feb 12 02:24:46 2000 +0000
@@ -350,17 +350,17 @@
 .PHONY: install-lib
 
 install-inc:
-	$(top_srcdir)/mkinstalldirs $(octincludedir)
+	$(top_srcdir)/mkinstalldirs $(octincludedir)/octave
 	for f in $(INCLUDES); do \
-	  rm -f $(octincludedir)/$$f; \
-	  $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/$$f; \
+	  rm -f $(octincludedir)/octave/$$f; \
+	  $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/octave/$$f; \
 	done
 	for f in defaults.h oct-conf.h oct-gperf.h; do \
-	  rm -f $(octincludedir)/$$f; \
+	  rm -f $(octincludedir)/octave/$$f; \
 	  if [ -f $$f ]; then \
-	    $(INSTALL_DATA) $$f $(octincludedir)/$$f ; \
+	    $(INSTALL_DATA) $$f $(octincludedir)/octave/$$f ; \
 	  else \
-	    $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/$$f ; \
+	    $(INSTALL_DATA) $(srcdir)/$$f $(octincludedir)/octave/$$f ; \
 	  fi ; \
 	done
 	$(mk-includedir-link)
@@ -372,7 +372,7 @@
 	rm -f $(octlibdir)/liboctinterp.$(SHLEXT)
 	rm -f $(octlibdir)/liboctinterp.$(SHLEXT_VER)
 	for f in $(INCLUDES) defaults.h oct-conf.h; do \
-	  rm -f $(octincludedir)/$$f; \
+	  rm -f $(octincludedir)/octave/$$f; \
 	done
 .PHONY: uninstall
 
--- a/src/defaults.cc	Thu Feb 10 09:26:51 2000 +0000
+++ b/src/defaults.cc	Sat Feb 12 02:24:46 2000 +0000
@@ -59,6 +59,7 @@
 std::string Vlibexec_dir;
 std::string Varch_lib_dir;
 std::string Vlocal_arch_lib_dir;
+std::string Vlocal_ver_arch_lib_dir;
 std::string Vfcn_file_dir;
 
 // The path that will be searched for programs that we execute.
@@ -145,6 +146,12 @@
 }
 
 static void
+set_default_local_ver_arch_lib_dir (void)
+{
+  Vlocal_ver_arch_lib_dir = subst_octave_home (OCTAVE_LOCALVERARCHLIBDIR);
+}
+
+static void
 set_default_fcn_file_dir (void)
 {
   Vfcn_file_dir = subst_octave_home (OCTAVE_FCNFILEDIR);
@@ -282,6 +289,8 @@
 
   set_default_local_arch_lib_dir ();
 
+  set_default_local_ver_arch_lib_dir ();
+
   set_default_fcn_file_dir ();
 
   set_default_bin_dir ();
@@ -335,8 +344,11 @@
     {
       Vexec_path = s;
 
-      std::string std_path = Vlocal_arch_lib_dir + std::string (SEPCHAR_STR)
-	+ Varch_lib_dir + std::string (SEPCHAR_STR) + Vbin_dir;
+      std::string std_path
+	= Vlocal_ver_arch_lib_dir + std::string	(SEPCHAR_STR)
+	+ Vlocal_arch_lib_dir + std::string (SEPCHAR_STR)
+	+ Varch_lib_dir + std::string (SEPCHAR_STR)
+	+ Vbin_dir;
 
       std::string path;
 
--- a/src/defaults.h.in	Thu Feb 10 09:26:51 2000 +0000
+++ b/src/defaults.h.in	Sat Feb 12 02:24:46 2000 +0000
@@ -116,6 +116,18 @@
 #define OCTAVE_LOCALSTARTUPFILEDIR OCTAVE_LOCALFCNFILEDIR "/startup"
 #endif
 
+#ifndef OCTAVE_LOCALVERARCHLIBDIR
+#define OCTAVE_LOCALVERARCHLIBDIR %OCTAVE_LOCALVERARCHLIBDIR%
+#endif
+
+#ifndef OCTAVE_LOCALVERFCNFILEDIR
+#define OCTAVE_LOCALVERFCNFILEDIR %OCTAVE_LOCALVERFCNFILEDIR%
+#endif
+
+#ifndef OCTAVE_LOCALVEROCTFILEDIR
+#define OCTAVE_LOCALVEROCTFILEDIR %OCTAVE_LOCALVEROCTFILEDIR%
+#endif
+
 #ifndef OCTAVE_MAN1DIR
 #define OCTAVE_MAN1DIR %OCTAVE_MAN1DIR%
 #endif
@@ -156,6 +168,7 @@
 extern std::string Vlibexec_dir;
 extern std::string Varch_lib_dir;
 extern std::string Vlocal_arch_lib_dir;
+extern std::string Vlocal_ver_arch_lib_dir;
 extern std::string Vfcn_file_dir;
 
 // The path that will be searched for programs that we execute.
--- a/src/octave.cc	Thu Feb 10 09:26:51 2000 +0000
+++ b/src/octave.cc	Sat Feb 12 02:24:46 2000 +0000
@@ -209,7 +209,7 @@
       // Execute commands from the site-wide configuration file.
       // First from the file $(prefix)/lib/octave/site/m/octaverc
       // (if it exists), then from the file
-      // $(prefix)/lib/octave/$(version)/m/octaverc (if it exists).
+      // $(prefix)/share/octave/$(version)/m/octaverc (if it exists).
 
       parse_and_execute (Vlocal_site_defaults_file, verbose);
 
--- a/src/toplev.cc	Thu Feb 10 09:26:51 2000 +0000
+++ b/src/toplev.cc	Sat Feb 12 02:24:46 2000 +0000
@@ -698,6 +698,9 @@
   m ["localoctfiledir"] = OCTAVE_LOCALOCTFILEDIR;
   m ["localoctfilepath"] = OCTAVE_LOCALOCTFILEPATH;
   m ["localstartupfiledir"] = OCTAVE_LOCALSTARTUPFILEDIR;
+  m ["localverarchlibdir"] = OCTAVE_LOCALVERARCHLIBDIR;
+  m ["localverfcnfiledir"] = OCTAVE_LOCALVERFCNFILEDIR;
+  m ["localveroctfiledir"] = OCTAVE_LOCALVEROCTFILEDIR;
   m ["man1dir"] = OCTAVE_MAN1DIR;
   m ["man1ext"] = OCTAVE_MAN1EXT;
   m ["mandir"] = OCTAVE_MANDIR;