Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package octave-forge-vrml for 
openSUSE:Factory checked in at 2025-09-14 18:50:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/octave-forge-vrml (Old)
 and      /work/SRC/openSUSE:Factory/.octave-forge-vrml.new.1977 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "octave-forge-vrml"

Sun Sep 14 18:50:55 2025 rev:3 rq:1304555 version:1.0.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/octave-forge-vrml/octave-forge-vrml.changes      
2025-01-07 20:52:02.609498847 +0100
+++ 
/work/SRC/openSUSE:Factory/.octave-forge-vrml.new.1977/octave-forge-vrml.changes
    2025-09-14 18:51:51.778339375 +0200
@@ -1,0 +2,12 @@
+Sat Sep  6 17:51:35 UTC 2025 - Stefan BrĂ¼ns <stefan.bru...@rwth-aachen.de>
+
+- Update to version 1.0.14:
+  * The following functions are new:
+    + vrml_Shape
+    + vrml_set_browser
+  * Alternative vrml browsers are now supported with
+    `vrml_set_browser'. Default support for whitedune is now
+    included in addition to freewrl.
+- Drop upstream fix-octave9-line-continuation.patch
+
+-------------------------------------------------------------------

Old:
----
  fix-octave9-line-continuation.patch
  vrml-1.0.13.tar.gz

New:
----
  vrml-1.0.14.tar.gz

----------(Old B)----------
  Old:    included in addition to freewrl.
- Drop upstream fix-octave9-line-continuation.patch
----------(Old E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ octave-forge-vrml.spec ++++++
--- /var/tmp/diff_new_pack.B0UtqM/_old  2025-09-14 18:51:52.290360832 +0200
+++ /var/tmp/diff_new_pack.B0UtqM/_new  2025-09-14 18:51:52.290360832 +0200
@@ -18,14 +18,13 @@
 
 %define octpkg  vrml
 Name:           octave-forge-%{octpkg}
-Version:        1.0.13
+Version:        1.0.14
 Release:        0
 Summary:        3D graphics using VRML for Octave
 License:        GPL-3.0-or-later
 Group:          Productivity/Scientific/Math
 URL:            https://gnu-octave.github.io/packages/vrml/
 Source0:        
https://downloads.sourceforge.net/project/octave/Octave%20Forge%20Packages/Individual%20Package%20Releases/%{octpkg}-%{version}.tar.gz
-Patch0:         
https://file.savannah.gnu.org/file/octave-9.patch?file_id=55689#/fix-octave9-line-continuation.patch
 BuildRequires:  octave-devel
 Requires:       octave-cli >= 2.9.7
 Requires:       octave-forge-linear-algebra
@@ -40,9 +39,6 @@
 
 %prep
 %setup -c %{name}-%{version}
-(cd vrml
-%patch -P0 -p1
-)
 %octave_pkg_src
 
 %build

++++++ vrml-1.0.13.tar.gz -> vrml-1.0.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/DESCRIPTION new/vrml/DESCRIPTION
--- old/vrml/DESCRIPTION        2012-06-18 13:08:21.000000000 +0200
+++ new/vrml/DESCRIPTION        2025-02-10 16:08:41.000000000 +0100
@@ -1,6 +1,6 @@
-Name: Vrml
-Version: 1.0.13
-Date: 2012-06-18
+Name: vrml
+Version: 1.0.14
+Date: 2025-02-10
 Author: Etienne Grossmann <etie...@egdn.net>
 Maintainer: Etienne Grossmann <etie...@egdn.net>
 Title: VRML.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/Makefile new/vrml/Makefile
--- old/vrml/Makefile   2012-06-11 18:51:02.000000000 +0200
+++ new/vrml/Makefile   1970-01-01 01:00:00.000000000 +0100
@@ -1,24 +0,0 @@
-sinclude ../../Makeconf
-
-
-PKG_FILES = COPYING DESCRIPTION INDEX $(wildcard src/*) \
-       $(wildcard inst/*) $(wilcard data/*) doc/*.pdf doc/*.tex \
-       doc/*.lyx doc/Makefile $(wildcard doc/figures/*)
-SUBDIRS = doc/
-
-.PHONY: $(SUBDIRS)
-
-pre-pkg::
-       @for _dir in $(SUBDIRS); do \
-         $(MAKE) -C $$_dir all; \
-       done
-
-clean:
-       @for _dir in $(SUBDIRS); do \
-         $(MAKE) -C $$_dir clean ; \
-       done
-       find . \( -name \*~ -o -name \*.bak -o -name \#\* -o -name \.\#\* -\) 
-exec rm -f {} \;
-
-documentation:
-       make -C ./doc all
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/NEWS new/vrml/NEWS
--- old/vrml/NEWS       2012-06-12 03:51:29.000000000 +0200
+++ new/vrml/NEWS       2025-02-10 16:08:41.000000000 +0100
@@ -1,3 +1,19 @@
+
+Summary of important user-visible changes for vrml 1.X.X:
+-------------------------------------------------------------------
+
+Summary of important user-visible changes for vrml 1.0.14:
+-------------------------------------------------------------------
+
+ ** The following functions are new:
+
+      vrml_Shape
+      vrml_set_browser
+
+ ** Alternative vrml browsers are now supported with `vrml_set_browser'.
+    Default support for whitedune is now included in addition to freewrl.
+
+
 Summary of important user-visible changes for vrml 1.0.13:
 -------------------------------------------------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/best_dir_cov.m new/vrml/inst/best_dir_cov.m
--- old/vrml/inst/best_dir_cov.m        2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/best_dir_cov.m        2025-02-10 16:08:41.000000000 +0100
@@ -90,8 +90,8 @@
   
   ## d2wx(W+i,(i-1)*P+1:i*P) = \
   ##    2*x'*(kron(y(i,:))
-  d2wx(W+i,:) =                        \
-      2*x'*kron(y(i,:),kron(d,isig)) - \
+  d2wx(W+i,:) =                        ...
+      2*x'*kron(y(i,:),kron(d,isig)) - ...
       w'*a'*isig*kron(y(i,:),eye(P)) ;
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/save_vrml.m new/vrml/inst/save_vrml.m
--- old/vrml/inst/save_vrml.m   2012-04-16 11:50:24.000000000 +0200
+++ new/vrml/inst/save_vrml.m   2025-02-10 16:08:41.000000000 +0100
@@ -54,15 +54,15 @@
 
 bg_node = sprintf (["Background {\n",...
                    "  skyColor    %8.3g %8.3g %8.3g\n",...
-                   "}\n"],\
+                   "}\n"],...
                   bg_col);
 bg_node = "";
 
-lightstr = sprintf (["PointLight {\n",\
-                    "  intensity         %8.3g\n",\
-                    "  ambientIntensity  %8.3g\n",\
-                    "  direction         %8.3g %8.3g %8.3g\n",\
-                    "}\n"],\
+lightstr = sprintf (["PointLight {\n",...
+                    "  intensity         %8.3g\n",...
+                    "  ambientIntensity  %8.3g\n",...
+                    "  direction         %8.3g %8.3g %8.3g\n",...
+                    "}\n"],...
                    l_intensity, l_ambientIntensity, l_direction);
 lightstr = "";
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/test_moving_surf.m 
new/vrml/inst/test_moving_surf.m
--- old/vrml/inst/test_moving_surf.m    2012-06-12 03:45:45.000000000 +0200
+++ new/vrml/inst/test_moving_surf.m    2025-02-10 16:08:41.000000000 +0100
@@ -59,7 +59,7 @@
 
   s4 = vrml_anim ("Coordinate",[a,b,a],"foo.set_point",[0 0.5 1],tn);
 
-  s3 = vrml_faces ([-1 -1 1 1;-1 1 1 -1;0.1 0.1 0.1 0.1],\
+  s3 = vrml_faces ([-1 -1 1 1;-1 1 1 -1;0.1 0.1 0.1 0.1],...
                                   {[1 2 3 4]},"tran",0.4,"col",[0.9 0.4 0.4]);
 
   vrml_browse ([s1,s2,s3,s4])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/test_vmesh.m new/vrml/inst/test_vmesh.m
--- old/vrml/inst/test_vmesh.m  2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/test_vmesh.m  2025-02-10 16:08:41.000000000 +0100
@@ -46,14 +46,14 @@
 
 printf ("Press a key.\n"); pause;
 
-printf (["The same surface, with checkered stripes ",\
+printf (["The same surface, with checkered stripes ",...
         "(see the 'checker' option).\n"]);
 
 vmesh (z,"checker",-[6,5]);
 
 printf ("Press a key.\n"); pause;
 
-printf (["The same surface, with z-dependent coloring (see 'zrb', 'zgrey'\n",\
+printf (["The same surface, with z-dependent coloring (see 'zrb', 
'zgrey'\n",...
         "  and 'zcol' options)\n"]);
 
 vmesh (z,"zrb");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/test_vrml_faces.m 
new/vrml/inst/test_vrml_faces.m
--- old/vrml/inst/test_vrml_faces.m     2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/test_vrml_faces.m     2025-02-10 16:08:41.000000000 +0100
@@ -36,7 +36,7 @@
 
   printf ("Going to show a tetrahedron\n");
 
-  printf (["\n     If nothing appears, it may be due to problems",\
+  printf (["\n     If nothing appears, it may be due to problems",...
           "\n     with your FreeWRL installation\n"]);
   vrml_browse ([slight, s1]);
   printf ("Press a key in this terminal when done\n");pause;
@@ -47,7 +47,7 @@
 
   printf ("Going to show almost the same tetrahedron\n");
 
-  printf (["\n     If nothing appears, it may be due to problems",\
+  printf (["\n     If nothing appears, it may be due to problems",...
           "\n     with your FreeWRL installation\n"]);
   vrml_browse ([slight, s1]);
   printf ("Press a key in this terminal when done\n");pause;
@@ -104,15 +104,15 @@
   s1 = vrml_faces (x, trg, "tex",texfile,"imsz",[H,W]);
   s2 = vrml_faces (x, trg, "tex",texfile);
 
-  printf (["Tetrahedrons should appear like (R=red, G=green, B=blue)\n\n",\
-          "              R 2\n",\
-          "               /\n",\
-          "              / G\n",\
-          "     G     B /\n",\
-          "   3--------4 B\n",\
-          "     R     B \\\n",\
-          "              \\ R\n",\
-          "             G \\\n",\
+  printf (["Tetrahedrons should appear like (R=red, G=green, B=blue)\n\n",...
+          "              R 2\n",...
+          "               /\n",...
+          "              / G\n",...
+          "     G     B /\n",...
+          "   3--------4 B\n",...
+          "     R     B \\\n",...
+          "              \\ R\n",...
+          "             G \\\n",...
           "                 1\n"]);
   
   vrml_browse ([slight, s1, vrml_transfo(s2,[2,0,0])]);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vmesh.m new/vrml/inst/vmesh.m
--- old/vrml/inst/vmesh.m       2012-04-17 05:08:54.000000000 +0200
+++ new/vrml/inst/vmesh.m       2025-02-10 16:08:41.000000000 +0100
@@ -108,7 +108,7 @@
 
 if numel (varargin)
 
-  op1 = [" tran col checker creaseAngle emit colorPerVertex tex zcol  frame ",\
+  op1 = [" tran col checker creaseAngle emit colorPerVertex tex zcol  frame 
",...
         " level lcol ltran bwid "];
   op0 = " smooth zgray zrb normalize steps bars ";
 
@@ -120,8 +120,8 @@
 #   all_surf_opts  = list ("tran", "col", "checker", "creaseAngle", "emit", \
 #                       "colorPerVertex", "smooth", "tex",\
 #                       "zgray","zrb","zcol");
-  all_surf_opts  = {"tran", "col", "checker", "creaseAngle", "emit", \
-                   "colorPerVertex", "smooth", "steps", "bars", "bwid", "tex",\
+  all_surf_opts  = {"tran", "col", "checker", "creaseAngle", "emit", ...
+                   "colorPerVertex", "smooth", "steps", "bars", "bwid", 
"tex",...
                    "zgray","zrb","zcol"};
 
   for i = 1:length(all_surf_opts)
@@ -187,10 +187,10 @@
 
 # pl = [pl1 pl2];
 
-pl = [vrml_DirectionalLight("direction",[-1,-1,-1],"intensity",0.75),\
-      vrml_DirectionalLight("direction",[-1, 1,-1],"intensity",0.5),\
-      vrml_DirectionalLight("direction",[ 1,-1,-1],"intensity",0.5),\
-      vrml_DirectionalLight("direction",[ 1, 1,-1],"intensity",0.33),\
+pl = [vrml_DirectionalLight("direction",[-1,-1,-1],"intensity",0.75),...
+      vrml_DirectionalLight("direction",[-1, 1,-1],"intensity",0.5),...
+      vrml_DirectionalLight("direction",[ 1,-1,-1],"intensity",0.5),...
+      vrml_DirectionalLight("direction",[ 1, 1,-1],"intensity",0.33),...
       vrml_DirectionalLight("direction",[ 0, 0, 1],"intensity",0.5)];
 
 #  distance = max ([max (x(:)) - min (x(:)),\
@@ -205,7 +205,7 @@
 ptssz  = (maxpts - minpts);
 ptssz  = max (ptssz, max (ptssz/10));
 
-if frame, fr = vrml_frame (minpts-ptssz/10,\
+if frame, fr = vrml_frame (minpts-ptssz/10,...
                           "scale", ptssz * 1.2, "col",(ones(3)+eye(3))/2);
 else      fr = "";
 end
@@ -235,10 +235,10 @@
   if prod (size (ltran)) == 1    , ltran = ltran*ones(1,nlev); end
   
   for i = 1:nlev
-    slevel = [slevel, \
-             vrml_parallelogram([xmin     xmin     xmax     xmax;\
-                                 ymin     ymax     ymax     ymin;\
-                                 level(i) level(i) level(i) level(i)],\
+    slevel = [slevel, ...
+             vrml_parallelogram([xmin     xmin     xmax     xmax;...
+                                 ymin     ymax     ymax     ymin;...
+                                 level(i) level(i) level(i) level(i)],...
                                 "col",lcol(i,:),"tran",ltran(i))];
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_DirectionalLight.m 
new/vrml/inst/vrml_DirectionalLight.m
--- old/vrml/inst/vrml_DirectionalLight.m       2012-04-17 07:02:15.000000000 
+0200
+++ new/vrml/inst/vrml_DirectionalLight.m       2025-02-10 16:08:41.000000000 
+0100
@@ -39,10 +39,10 @@
    hash = setfield(hash,varargin{k:k+1}); 
 end
 
-tpl = struct ("ambientIntensity", "%8.3f",\
-             "intensity",        "%8.3f",\
-             "direction",        "%8.3f",\
-             "on",               "%s",\
+tpl = struct ("ambientIntensity", "%8.3f",...
+             "intensity",        "%8.3f",...
+             "direction",        "%8.3f",...
+             "on",               "%s",...
              "color",            "%8.3f %8.3f %8.3f");
 
 body = "";
@@ -55,7 +55,7 @@
       error (sprintf ("vrml_PointLight : unknown field '%s'",key));
     end
 
-    body = [body,\
+    body = [body,...
            sprintf("   %-20s   %s\n",key,
                     sprintf(getfield (tpl,key), val))];
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_PointLight.m 
new/vrml/inst/vrml_PointLight.m
--- old/vrml/inst/vrml_PointLight.m     2012-04-16 11:53:45.000000000 +0200
+++ new/vrml/inst/vrml_PointLight.m     2025-02-10 16:08:41.000000000 +0100
@@ -40,12 +40,12 @@
 if mod(nargin,2) != 0, print_usage; end
 h = struct (varargin{:});
 
-tpl = struct ("ambientIntensity", "%8.3f",\
-             "intensity",        "%8.3f",\
-             "radius",           "%8.3f",\
-             "on",               "%s",\
-             "attenuation",      "%8.3f %8.3f %8.3f",\
-             "color",            "%8.3f %8.3f %8.3f",\
+tpl = struct ("ambientIntensity", "%8.3f",...
+             "intensity",        "%8.3f",...
+             "radius",           "%8.3f",...
+             "on",               "%s",...
+             "attenuation",      "%8.3f %8.3f %8.3f",...
+             "color",            "%8.3f %8.3f %8.3f",...
              "location",         "%8.3f %8.3f %8.3f");
 
 body = "";
@@ -61,8 +61,8 @@
     end
 
 
-    body = [body,\
-           sprintf("   %-20s   %s\n",key, \
+    body = [body,...
+           sprintf("   %-20s   %s\n",key, ...
                    sprintf (getfield (tpl,key), val))];
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_Shape.m new/vrml/inst/vrml_Shape.m
--- old/vrml/inst/vrml_Shape.m  1970-01-01 01:00:00.000000000 +0100
+++ new/vrml/inst/vrml_Shape.m  2025-02-10 16:08:41.000000000 +0100
@@ -0,0 +1,45 @@
+## Copyright (C) 2012 Etienne Grossmann <etie...@egdn.net>
+##
+## This program 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 3 of the License, or (at your option) any later
+## version.
+##
+## This program 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
+## this program; if not, see <http://www.gnu.org/licenses/>.
+##
+## s = vrml_Shape (s_geometry, s_appearance) - VRML code for a shape node
+##
+## Example: An orange flat box
+## 
+##  vrml_browse (vrml_Shape (vrml_Box ([3 2 0.2]),vrml_material([1 .5 0])))
+function s = vrml_Shape (s_geometry, s_appearance)
+
+if nargin < 1, s_geometry =   ""; end
+if nargin < 2, s_appearance = ""; end
+
+if !isempty (s_geometry),
+  s_geometry = ["\n  geometry ",s_geometry];
+end
+if !isempty (s_appearance),
+
+                               # Check whether a "material" is passed. If yes,
+                               # wrap it in an Appearance
+  is_material = strfind (s_appearance,"material");
+  if !isempty (is_material), 
+    is_material = is_material(1) != 1 || all (s_appearance(1:is_material(1)-1) 
== " ");
+  end
+  if is_material
+    s_appearance = ["Appearance {\n",s_appearance,"}\n"];
+  end
+
+  s_appearance = ["\n  appearance ",s_appearance];
+
+end
+
+s = ["Shape {",s_appearance,s_geometry,"}\n"];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_TimeSensor.m 
new/vrml/inst/vrml_TimeSensor.m
--- old/vrml/inst/vrml_TimeSensor.m     2012-06-08 20:12:34.000000000 +0200
+++ new/vrml/inst/vrml_TimeSensor.m     2025-02-10 16:08:41.000000000 +0100
@@ -42,10 +42,10 @@
 
 verbose = 0;
 
-tpl = struct ("cycleInterval", "SFTime",\
-"startTime",     "SFTime",\
-"stopTime",      "SFTime",\
-"enabled",       "SFBool",\
+tpl = struct ("cycleInterval", "SFTime",...
+"startTime",     "SFTime",...
+"stopTime",      "SFTime",...
+"enabled",       "SFBool",...
 "loop",          "SFBool"
 );
 
@@ -55,7 +55,7 @@
                                # Transform varargin into key-value pairs
 i = j = k = 1;                 # i:pos in new varargin, j:pos in headpar,
                                # k:pos is old varargin.
-while i <= length (varargin) && \
+while i <= length (varargin) && ...
       ! (ischar (varargin{i}) && isfield (tpl, varargin{i}))
   
   if j <= length (headpar)
@@ -70,7 +70,7 @@
     i += 2;
     k++;
   else
-    error ("vrml_TimeSensor : Argument %i should be string, not '%s'",\
+    error ("vrml_TimeSensor : Argument %i should be string, not '%s'",...
           k,typeinfo (varargin{i}));
   end
 end
@@ -86,11 +86,11 @@
   k = varargin{i++};   # Read key
 
   if ! ischar (k)
-    error ("vrml_TimeSensor : Arg n. %i should be a string, not a %s.",\
+    error ("vrml_TimeSensor : Arg n. %i should be a string, not a %s.",...
           i-1, typeinfo (k));
   end
   if ! isfield (tpl, k) && ! strcmp (k,"DEF")
-    error ("vrml_TimeSensor : Unknown field '%s'. Should be one of :\n%s",\
+    error ("vrml_TimeSensor : Unknown field '%s'. Should be one of :\n%s",...
            k, sprintf ("   '%s'\n",fieldnames (tpl)'{:}));
   end
 
@@ -107,7 +107,7 @@
   else                         # Add data field
 
     if verbose
-      printf ("vrml_TimeSensor : Adding '%s' of type %s, with arg of type 
%s\n",\
+      printf ("vrml_TimeSensor : Adding '%s' of type %s, with arg of type 
%s\n",...
              k,getfield(tpl,k),typeinfo (v));
     end
     tmp = getfield(tpl,k);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_Viewpoint.m 
new/vrml/inst/vrml_Viewpoint.m
--- old/vrml/inst/vrml_Viewpoint.m      2012-04-16 11:53:45.000000000 +0200
+++ new/vrml/inst/vrml_Viewpoint.m      2025-02-10 16:08:41.000000000 +0100
@@ -42,12 +42,12 @@
 
 h = struct (varargin{:});
  
-tpl = struct ("fieldOfView",      "%8.3f",\
-             "jump",             "%s",\
-             "orientation",      "%8.3f %8.3f %8.3f %8.3f",\
-             "orientation0",     "%8.3f %8.3f %8.3f %8.3f",\
-             "position",         "%8.3f %8.3f %8.3f",\
-             "description",      "\"%s\"",\
+tpl = struct ("fieldOfView",      "%8.3f",...
+             "jump",             "%s",...
+             "orientation",      "%8.3f %8.3f %8.3f %8.3f",...
+             "orientation0",     "%8.3f %8.3f %8.3f %8.3f",...
+             "position",         "%8.3f %8.3f %8.3f",...
+             "description",      "\"%s\"",...
              "DEF",              "");
 DEF = "";
 defaultPos = [0 0 10];
@@ -113,8 +113,8 @@
 
 body = "";
 for [val, key] = h
-  body = [body,\
-         sprintf("   %-20s   %s\n",key, \
+  body = [body,...
+         sprintf("   %-20s   %s\n",key, ...
                  sprintf (getfield (tpl,key), val))];
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_arrow.m new/vrml/inst/vrml_arrow.m
--- old/vrml/inst/vrml_arrow.m  2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_arrow.m  2025-02-10 16:08:41.000000000 +0100
@@ -76,43 +76,43 @@
 smat1 = vrml_material (col(:,1), emit);
 smat2 = vrml_material (col(:,2), emit);
 
-v = sprintf (["Group {\n",\
-              "  children [\n",\
-              "    Transform {\n",\
-              "      translation  %8.3g %8.3g %8.3g\n",\
-              "      children [\n",\
-              "        Shape {\n",\
-              "          appearance Appearance {\n",\
-             smat1,\
-             "          }\n"\
-              "          geometry Cylinder {\n",\
-             "            radius %8.3g\n",\
-             "            height %8.3g\n",\
-             "          }\n",\
-              "        }\n",\
-              "      ]\n",\
-              "    }\n",\
-              "    Transform {\n",\
-              "      translation  %8.3g %8.3g %8.3g\n",\
-              "      children [\n",\
-              "        Shape {\n",\
-              "          appearance Appearance {\n",\
-             smat2,\
-              "          }\n",\
-              "          geometry Cone { \n",\
-              "            bottomRadius  %8.3g \n",\
-              "            height  %8.3g\n",\
-              "          }\n",\
-              "        }\n",\
-              "      ]\n",\
-              "    }\n",\
-              "  ]\n",\
-              "}\n"],\
-            [0,(sz(1)-sz(2))/2,0],\
-            sz(4),\
-            sz(1)-sz(2),\
-            [0,sz(2)/2+sz(1)-sz(2),0],\
-            sz(3),\
+v = sprintf (["Group {\n",...
+              "  children [\n",...
+              "    Transform {\n",...
+              "      translation  %8.3g %8.3g %8.3g\n",...
+              "      children [\n",...
+              "        Shape {\n",...
+              "          appearance Appearance {\n",...
+             smat1,...
+             "          }\n"...
+              "          geometry Cylinder {\n",...
+             "            radius %8.3g\n",...
+             "            height %8.3g\n",...
+             "          }\n",...
+              "        }\n",...
+              "      ]\n",...
+              "    }\n",...
+              "    Transform {\n",...
+              "      translation  %8.3g %8.3g %8.3g\n",...
+              "      children [\n",...
+              "        Shape {\n",...
+              "          appearance Appearance {\n",...
+             smat2,...
+              "          }\n",...
+              "          geometry Cone { \n",...
+              "            bottomRadius  %8.3g \n",...
+              "            height  %8.3g\n",...
+              "          }\n",...
+              "        }\n",...
+              "      ]\n",...
+              "    }\n",...
+              "  ]\n",...
+              "}\n"],...
+            [0,(sz(1)-sz(2))/2,0],...
+            sz(4),...
+            sz(1)-sz(2),...
+            [0,sz(2)/2+sz(1)-sz(2),0],...
+            sz(3),...
             sz(2));
 endfunction
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_browse.m new/vrml/inst/vrml_browse.m
--- old/vrml/inst/vrml_browse.m 2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_browse.m 2025-02-10 16:08:41.000000000 +0100
@@ -32,7 +32,7 @@
 ## 's'   : Save a snapshot in files 'octave.snapshot.NNNN.ppm'
 ## 'q'   : Quit
 ## 
-## WARNING : FreeWRL >0.25 (http://www.crc.ca/FreeWRL/) must be installed.
+## WARNING: vrml_browse() only works if a vrml browser is available. See 
vrml_set_browser().
 ##
 ## BUG     : The vrml browser is not killed when octave exits. Sometimes the
 ##           vrml browser does not get raised or gets raised improperly
@@ -85,9 +85,11 @@
   s = [s, vrml_Background("skyColor",[.7 .7 .9])];
 end
 
+if isempty (vrml_b_name)
+  vrml_set_browser();
+endif
 
-vrml_b_name = "freewrl" ;
-##vrml_b_name = "/home/etienne/bin/my_freewrl.sh";
+## vrml_b_name = "freewrl" ;
 
 ##b_opt = [out_option," ",bop," ",best_option," --server --snapb octave.snap "]
 ##;
@@ -113,7 +115,7 @@
     end
   else 
     if verbose
-      printf ( ["vrml_browse : ",\
+      printf ( ["vrml_browse : ",...
                "browser pid=%d died. I'll spawn another\n"], vrml_b_pid);
     end
     vrml_b_pid = -1 ;
@@ -165,7 +167,7 @@
                                # ####################################
 
                                # ####################################
-                               # Eventually start browser ###########
+                               # If needed, start browser ###########
 if vrml_b_pid <= 0
   new_browser = 1 ;
   if verbose, 
@@ -194,7 +196,7 @@
     ##  cmd
     if status,
     
-      printf("vrml_browse : Can't start browser '%s'. Is it installed?\n",\
+      printf("vrml_browse : Can't start browser '%s'. Is it installed?\n",...
             vrml_b_name);
       p = vrml_b_pid ;
       return ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_cyl.m new/vrml/inst/vrml_cyl.m
--- old/vrml/inst/vrml_cyl.m    2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_cyl.m    2025-02-10 16:08:41.000000000 +0100
@@ -48,7 +48,7 @@
   op1 = " rad tran col hcol brad emit " ;
   op0 = " verbose balls noemit arrow " ;
 
-  df = tars (rad, tran, col, hcol, verbose, balls, noemit, arrow, brad, \
+  df = tars (rad, tran, col, hcol, verbose, balls, noemit, arrow, brad, ...
            emit);
 
 
@@ -97,36 +97,36 @@
 
       smat = vrml_material (col(:,i-1), emitcol(:,i-1), tran(i-1));
                                # Do a cylinder
-      s = [s,sprintf(["Transform {\n",\
-                     "  translation %8.3f %8.3f %8.3f\n",\
-                     "  children [\n",\
-                     "    Transform {\n",\
-                     "      rotation    %8.3f %8.3f %8.3f %8.3f\n",\
-                     "      children [\n",\
-                     "        Shape {\n",\
-                     "          appearance Appearance {\n",\
-                     "              %s",\
-                     "          }\n",\
-                     "          geometry Cylinder {\n",\
-                     "            height %8.3f\n",\
-                     "            radius %8.3f\n",\
-                     "          }\n",\
-                     "        }\n",\
-                     "      ]\n",\
-                     "    }\n",\
-                     "  ]\n",\
-                     "}\n"],\
-                    t,\
-                    ax,an,\
-                    smat,\
-                    n,\
+      s = [s,sprintf(["Transform {\n",...
+                     "  translation %8.3f %8.3f %8.3f\n",...
+                     "  children [\n",...
+                     "    Transform {\n",...
+                     "      rotation    %8.3f %8.3f %8.3f %8.3f\n",...
+                     "      children [\n",...
+                     "        Shape {\n",...
+                     "          appearance Appearance {\n",...
+                     "              %s",...
+                     "          }\n",...
+                     "          geometry Cylinder {\n",...
+                     "            height %8.3f\n",...
+                     "            radius %8.3f\n",...
+                     "          }\n",...
+                     "        }\n",...
+                     "      ]\n",...
+                     "    }\n",...
+                     "  ]\n",...
+                     "}\n"],...
+                    t,...
+                    ax,an,...
+                    smat,...
+                    n,...
                     rad)];
     else
       t = x(:,i-1) ;
       if isnan (hcol), hcol = col(:,i); end
       arrowcol = [col(:,i) hcol(1:3)(:)];
-      s = [s,\
-          vrml_transfo(vrml_arrow ([n,nan,2*rad/n,rad/n],arrowcol,emit),\
+      s = [s,...
+          vrml_transfo(vrml_arrow ([n,nan,2*rad/n,rad/n],arrowcol,emit),...
                        t, ax*an)];
     end
   end
@@ -137,7 +137,7 @@
   s = [s, vrml_points(x,"balls","col",col, "rad",brad,"emit",emit)];
 elseif columns(x)>2,
                                # Make a rounded junction
-  s = [s, vrml_points(x(:,2:columns(x)-1),"balls","col",col,"rad",rad, \
+  s = [s, vrml_points(x(:,2:columns(x)-1),"balls","col",col,"rad",rad, ...
                      "emit", emit)];
 end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_demo_tutorial_1.m 
new/vrml/inst/vrml_demo_tutorial_1.m
--- old/vrml/inst/vrml_demo_tutorial_1.m        2012-04-16 11:01:20.000000000 
+0200
+++ new/vrml/inst/vrml_demo_tutorial_1.m        2025-02-10 16:08:41.000000000 
+0100
@@ -13,19 +13,19 @@
 ## You should have received a copy of the GNU General Public License along with
 ## this program; if not, see <http://www.gnu.org/licenses/>.
 
-printf (["\n",\
-        "    VRML Mini-HOWTO's first listing\n",\
+printf (["\n",...
+        "    VRML Mini-HOWTO's first listing\n",...
         "    Display a quadratic surface w/ 31 x 31 points\n\n"]);
 
-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
-        "      q : quit\n",\
-        "      w : switch to walk mode\n",\
-        "      e : switch to examine mode\n",\
-        "      h : toggle headlights on or off\n",\
-        "      drag left mouse : rotate (examine mode) or translate\n",\
-        "          (walk mode).\n",\
-        "      drag right mouse : zoom (examine mode) or translate\n",\
-        "          (walk mode).\n",\
+printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
+        "      q : quit\n",...
+        "      w : switch to walk mode\n",...
+        "      e : switch to examine mode\n",...
+        "      h : toggle headlights on or off\n",...
+        "      drag left mouse : rotate (examine mode) or translate\n",...
+        "          (walk mode).\n",...
+        "      drag right mouse : zoom (examine mode) or translate\n",...
+        "          (walk mode).\n",...
         "\n"]);
 
 ## Listing 1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_demo_tutorial_2.m 
new/vrml/inst/vrml_demo_tutorial_2.m
--- old/vrml/inst/vrml_demo_tutorial_2.m        2012-04-17 07:02:15.000000000 
+0200
+++ new/vrml/inst/vrml_demo_tutorial_2.m        2025-02-10 16:08:41.000000000 
+0100
@@ -16,19 +16,19 @@
 printf("vrml_select_points does not work any more. Sorry\n");
 return
 
-printf (["\n",\
-        "     VRML Mini-HOWTO's second listing\n",\
+printf (["\n",...
+        "     VRML Mini-HOWTO's second listing\n",...
         "     Show 3D points and select some with the mouse\n\n"]);
 
-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
-        "      q : quit\n",\
-        "      w : switch to walk mode\n",\
-        "      e : switch to examine mode\n",\
-        "      drag left mouse : rotate (examine mode) or translate\n",\
-        "          (walk mode).\n",\
-        "      drag right mouse : zoom (examine mode) or translate\n",\
-        "          (walk mode).\n",\
-        "      click on box : toggle selection\n",\
+printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
+        "      q : quit\n",...
+        "      w : switch to walk mode\n",...
+        "      e : switch to examine mode\n",...
+        "      drag left mouse : rotate (examine mode) or translate\n",...
+        "          (walk mode).\n",...
+        "      drag right mouse : zoom (examine mode) or translate\n",...
+        "          (walk mode).\n",...
+        "      click on box : toggle selection\n",...
         "\n"]);
 
 ## Listing 2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_demo_tutorial_3.m 
new/vrml/inst/vrml_demo_tutorial_3.m
--- old/vrml/inst/vrml_demo_tutorial_3.m        2012-04-17 07:02:15.000000000 
+0200
+++ new/vrml/inst/vrml_demo_tutorial_3.m        2025-02-10 16:08:41.000000000 
+0100
@@ -13,18 +13,18 @@
 ## You should have received a copy of the GNU General Public License along with
 ## this program; if not, see <http://www.gnu.org/licenses/>.
 
-printf (["\n",\
-        "     VRML Mini-HOWTO's second listing\n",\
+printf (["\n",...
+        "     VRML Mini-HOWTO's second listing\n",...
         "     Show a XYZ frame with a background\n\n"]);
 
-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
-        "      q : quit\n",\
-        "      w : switch to walk mode\n",\
-        "      e : switch to examine mode\n",\
-        "      drag left mouse : rotate (examine mode) or translate\n",\
-        "          (walk mode).\n",\
-        "      drag right mouse : zoom (examine mode) or translate\n",\
-        "          (walk mode).\n",\
+printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
+        "      q : quit\n",...
+        "      w : switch to walk mode\n",...
+        "      e : switch to examine mode\n",...
+        "      drag left mouse : rotate (examine mode) or translate\n",...
+        "          (walk mode).\n",...
+        "      drag right mouse : zoom (examine mode) or translate\n",...
+        "          (walk mode).\n",...
         "\n"]);
 
 ## Listing 3
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_demo_tutorial_4.m 
new/vrml/inst/vrml_demo_tutorial_4.m
--- old/vrml/inst/vrml_demo_tutorial_4.m        2012-04-16 11:01:20.000000000 
+0200
+++ new/vrml/inst/vrml_demo_tutorial_4.m        2025-02-10 16:08:41.000000000 
+0100
@@ -13,19 +13,19 @@
 ## You should have received a copy of the GNU General Public License along with
 ## this program; if not, see <http://www.gnu.org/licenses/>.
 
-printf (["\n",\
-        "     VRML Mini-HOWTO's second listing\n",\
+printf (["\n",...
+        "     VRML Mini-HOWTO's second listing\n",...
         "     Show a helix of ellipsoids and one consisting of 
cylinders\n\n"]);
 
-printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"\
-        "      q : quit\n",\
-        "      w : switch to walk mode\n",\
-        "      e : switch to examine mode\n",\
-        "      h : toggle headlights on or off\n",\
-        "      drag left mouse : rotate (examine mode) or translate\n",\
-        "          (walk mode).\n",\
-        "      drag right mouse : zoom (examine mode) or translate\n",\
-        "          (walk mode).\n",\
+printf (["    Reminder of FreeWRL keystrokes and mouse actions :\n"...
+        "      q : quit\n",...
+        "      w : switch to walk mode\n",...
+        "      e : switch to examine mode\n",...
+        "      h : toggle headlights on or off\n",...
+        "      drag left mouse : rotate (examine mode) or translate\n",...
+        "          (walk mode).\n",...
+        "      drag right mouse : zoom (examine mode) or translate\n",...
+        "          (walk mode).\n",...
         "\n"]);
 
 ## Listing 4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_ellipsoid.m 
new/vrml/inst/vrml_ellipsoid.m
--- old/vrml/inst/vrml_ellipsoid.m      2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_ellipsoid.m      2025-02-10 16:08:41.000000000 +0100
@@ -48,26 +48,26 @@
 
 [r,a] = rotparams (u');
 
-v = sprintf (["Transform {\n",\
-              "  translation  0 0 0\n",\
-             "  rotation     %8.3g %8.3g %8.3g %8.3g\n",\
-             "  scale        %8.3g %8.3g %8.3g\n",\
-              "  children [\n",\
-              "    Shape {\n",\
-              "      appearance  Appearance {\n",\
-              "        material Material {\n",\
-             "          diffuseColor  %8.3g %8.3g %8.3g\n",\
-             "          emissiveColor %8.3g %8.3g %8.3g\n",\
-             "        }\n",\
-              "      }\n",\
-              "      geometry Sphere {}\n",\
-              "    }\n",\
-              "  ]\n",\
-              "}\n",\
-              ],\
-            r,a,\
-            d,\
-            col,\
+v = sprintf (["Transform {\n",...
+              "  translation  0 0 0\n",...
+             "  rotation     %8.3g %8.3g %8.3g %8.3g\n",...
+             "  scale        %8.3g %8.3g %8.3g\n",...
+              "  children [\n",...
+              "    Shape {\n",...
+              "      appearance  Appearance {\n",...
+              "        material Material {\n",...
+             "          diffuseColor  %8.3g %8.3g %8.3g\n",...
+             "          emissiveColor %8.3g %8.3g %8.3g\n",...
+             "        }\n",...
+              "      }\n",...
+              "      geometry Sphere {}\n",...
+              "    }\n",...
+              "  ]\n",...
+              "}\n",...
+              ],...
+            r,a,...
+            d,...
+            col,...
             col/20);
 
 endfunction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_faces.m new/vrml/inst/vrml_faces.m
--- old/vrml/inst/vrml_faces.m  2012-04-17 07:02:15.000000000 +0200
+++ new/vrml/inst/vrml_faces.m  2025-02-10 16:08:41.000000000 +0100
@@ -153,11 +153,11 @@
 
     texcoord_point_str = sprintf ("    %8.5f %8.5f\n", tcoord);
     
-    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",\
-                         "    point [\n      %s]\n",\
-                         "  }\n"\
-                         ],\
-                        texcoord_point_str\
+    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",...
+                         "    point [\n      %s]\n",...
+                         "  }\n"...
+                         ],...
+                        texcoord_point_str...
                         );
     
                                # If texture has been provided
@@ -187,14 +187,14 @@
       tcoord = tcoord (:,1:3*nfaces);
     end
 
-    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",\
-                         "    point [\n      %s]\n",\
-                         "  }\n",\
-                         "  texCoordIndex [\n      %s]\n",\
-                         "  coordIndex [\n      %s]\n",\
-                         ],\
-                        sprintf ("%10.8f %10.8f,\n      ",tcoord),\
-                        sprintf ("%-4d, %-4d, %-4d, -1,\n     ",0:3*nfaces-1),\
+    col_str_2 = sprintf (["  texCoord TextureCoordinate {\n",...
+                         "    point [\n      %s]\n",...
+                         "  }\n",...
+                         "  texCoordIndex [\n      %s]\n",...
+                         "  coordIndex [\n      %s]\n",...
+                         ],...
+                        sprintf ("%10.8f %10.8f,\n      ",tcoord),...
+                        sprintf ("%-4d, %-4d, %-4d, -1,\n     
",0:3*nfaces-1),...
                         sprintf ("%-4d, %-4d, %-4d, -1,\n     ",f-1)
                         );
     
@@ -205,7 +205,7 @@
                                # surface
 
     col_str_1 = ["  appearance Appearance {\n",...
-                vrml_material(col, emit, tran,DEFcol),\
+                vrml_material(col, emit, tran,DEFcol),...
                 "  }\n"];
 
     col_str_2 = "";
@@ -219,7 +219,7 @@
       if tran, ts = sprintf ("transparency %8.3f",tran);
       else     ts = "";
       end
-      col_str_1 = ["appearance Appearance {\n",\
+      col_str_1 = ["appearance Appearance {\n",...
                   "    material Material {",ts,"}\n}\n"];
     end
     if isnan (colorPerVertex)
@@ -229,13 +229,13 @@
     end
     if colorPerVertex, cPVs = "TRUE"; else cPVs = "FALSE"; end
 
-    col_str_2 = sprintf (["     colorPerVertex %s\n",\
-                         "     color %s Color {\n",\
-                         "       color [\n%s\n",\
-                         "       ]\n",\
-                         "     }"],\
-                        cPVs,\
-                        col_def_str,\
+    col_str_2 = sprintf (["     colorPerVertex %s\n",...
+                         "     color %s Color {\n",...
+                         "       color [\n%s\n",...
+                         "       ]\n",...
+                         "     }"],...
+                        cPVs,...
+                        col_def_str,...
                         sprintf("         %8.3f %8.3f %8.3f,\n",col));
   end
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_frame.m new/vrml/inst/vrml_frame.m
--- old/vrml/inst/vrml_frame.m  2012-04-16 11:35:51.000000000 +0200
+++ new/vrml/inst/vrml_frame.m  2025-02-10 16:08:41.000000000 +0100
@@ -65,12 +65,12 @@
   verbose = 0;
 
   ## df = tars (col, hcol, diam, scale, verbose);
-  df = struct ("dc",     dc,    \ # Diameter of cone (absolute)
-              "dr",     dr,    \ # Diameter of rod (absolute)
-              "col",    col,   \ # Color
-              "hcol",   hcol,  \ # Color of head (if different)
-              "diam",   diam,  \ # Diameter of cone relative to branch length
-              "scale",  scale, \ # Lenght of branches
+  df = struct ("dc",     dc,    ... # Diameter of cone (absolute)
+              "dr",     dr,    ... # Diameter of rod (absolute)
+              "col",    col,   ... # Color
+              "hcol",   hcol,  ... # Color of head (if different)
+              "diam",   diam,  ... # Diameter of cone relative to branch length
+              "scale",  scale, ... # Lenght of branches
               "verbose",verbose);
   op1 = " col hcol diam scale dc dr ";
   op0 = " verbose ";
@@ -127,17 +127,17 @@
 
 tmp = [r2(:,1), null(r2(:,1)')](:,[2,1,3])';
 if det (tmp) < 0, tmp(3,:) *= -1; end
-a1 = vrml_transfo (vrml_arrow(sz(:,1),[col(1,:);hcol(1,:)],0),\
+a1 = vrml_transfo (vrml_arrow(sz(:,1),[col(1,:);hcol(1,:)],0),...
                   [0,0,0],tmp);
 ## keyboard
 tmp = [r2(:,2), null(r2(:,2)')](:,[2,1,3])';
 if det (tmp) < 0, tmp(3,:) *= -1; end
-a2 = vrml_transfo (vrml_arrow(sz(:,2),[col(2,:);hcol(2,:)],0),\
+a2 = vrml_transfo (vrml_arrow(sz(:,2),[col(2,:);hcol(2,:)],0),...
                   [0,0,0],tmp);
 
 tmp = [r2(:,3), null(r2(:,3)')](:,[2,1,3])';
 if det (tmp) < 0, tmp(3,:) *= -1; end
-a3 = vrml_transfo (vrml_arrow(sz(:,3),[col(3,:);hcol(3,:)],0),\
+a3 = vrml_transfo (vrml_arrow(sz(:,3),[col(3,:);hcol(3,:)],0),...
                   [0,0,0],tmp);
 
 f0 = vrml_group (a1, a2, a3);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_group.m new/vrml/inst/vrml_group.m
--- old/vrml/inst/vrml_group.m  2012-04-16 11:50:24.000000000 +0200
+++ new/vrml/inst/vrml_group.m  2025-02-10 16:08:41.000000000 +0100
@@ -34,11 +34,11 @@
 ni = 4;
 s = [blanks(ni), strrep(s,"\n",["\n",blanks(ni)])(:)'];
 
-v = sprintf (["Group {\n",\
-              "  children [\n",\
-             "%s",\
-              " ]\n",\
-             "}\n"],\
+v = sprintf (["Group {\n",...
+              "  children [\n",...
+             "%s",...
+              " ]\n",...
+             "}\n"],...
             s);
 endfunction
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_material.m 
new/vrml/inst/vrml_material.m
--- old/vrml/inst/vrml_material.m       2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_material.m       2025-02-10 16:08:41.000000000 +0100
@@ -53,10 +53,10 @@
 else              sd = ["DEF ",DEF];
 end
 
-s = sprintf (["            material ",sd," Material {\n",\
-             se,st,\
-             "              diffuseColor  %8.3g %8.3g %8.3g \n",\
-             "          }\n"],\
+s = sprintf (["            material ",sd," Material {\n",...
+             se,st,...
+             "              diffuseColor  %8.3g %8.3g %8.3g \n",...
+             "          }\n"],...
             dc);
 endfunction
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_parallelepiped.m 
new/vrml/inst/vrml_parallelepiped.m
--- old/vrml/inst/vrml_parallelepiped.m 2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_parallelepiped.m 2025-02-10 16:08:41.000000000 +0100
@@ -66,15 +66,15 @@
  end
 end
 
-x = [bnds([1 2 2 1 1 2 2 1],1)';\
-     bnds([1 1 2 2 1 1 2 2],2)';\
+x = [bnds([1 2 2 1 1 2 2 1],1)';...
+     bnds([1 1 2 2 1 1 2 2],2)';...
      bnds([1 1 1 1 2 2 2 2],3)'];
 
-faces = [1 2 3 4;\
-        5 6 7 8;\
-        1 2 6 5;\
-        2 3 7 6;\
-        3 4 8 7;\
+faces = [1 2 3 4;...
+        5 6 7 8;...
+        1 2 6 5;...
+        2 3 7 6;...
+        3 4 8 7;...
         4 1 5 8]';
 
                                # The facet
@@ -99,8 +99,8 @@
   if isnan (bocol), bocol = col; end
     
   if !balls                    # Make pretty junctions of cylinders
-    s = [s,\
-        vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),\
+    s = [s,...
+        vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),...
         vrml_points(x(:,1),"balls","rad",borad,"emit",boemit,"col",col)];
   else                         # but only if balls don't cover them
     s = [s,vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit)];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_parallelogram.m 
new/vrml/inst/vrml_parallelogram.m
--- old/vrml/inst/vrml_parallelogram.m  2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_parallelogram.m  2025-02-10 16:08:41.000000000 +0100
@@ -86,8 +86,8 @@
   if isnan (bocol), bocol = col; end
     
   if !balls                    # Make pretty junctions of cylinders
-    s = [s,\
-        vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),\
+    s = [s,...
+        vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit,"col",col),...
         vrml_points(x(:,1),"balls","rad",borad,"emit",boemit,"col",col)];
   else                         # but only if balls don't cover them
     s = [s,vrml_cyl(x(:,[1:columns(x),1]),"rad",borad,"emit",boemit)];
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_points.m new/vrml/inst/vrml_points.m
--- old/vrml/inst/vrml_points.m 2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_points.m 2025-02-10 16:08:41.000000000 +0100
@@ -103,19 +103,19 @@
 
   if prod (size (col)) == 3*P  # One color per point
     smat = "";
-    scol = sprintf ("  color Color { color [\n   %s]\n   }\n",\
+    scol = sprintf ("  color Color { color [\n   %s]\n   }\n",...
                    sprintf ("      %8.3f %8.3f %8.3f\n", col));
   else                         # One color
-    smat = ["  appearance Appearance {\n",\
-           vrml_material(col, emit),"\n",\
+    smat = ["  appearance Appearance {\n",...
+           vrml_material(col, emit),"\n",...
            "  }\n"];
     scol = "";
   end
 
-  s = sprintf(["Shape {\n",\
-              smat,\
-              "  geometry PointSet {\n",\
-              scol,\
+  s = sprintf(["Shape {\n",...
+              smat,...
+              "  geometry PointSet {\n",...
+              scol,...
               "  coord DEF %s Coordinate {\n  point [\n  " ],name); # ] 
   
   
@@ -131,25 +131,25 @@
   s = "";
   if prod (size (col)) == 3, col = col(:) * ones (1,P); end
   for i = 1:P,
-    s0 = sprintf([\
-                 "Transform {\n",\
-                 "  translation %10.6g %10.6g %10.6g\n",\
-                 "  children [\n",\ # ]
-                 "    Billboard {\n",\
-                 "      children [\n",\ # ]
-                 "        Shape {\n",\
-                 "          appearance Appearance {\n",\
-                 vrml_material(col(:,i), emit, tran),"\n",\
-                 "          }\n",\
-                 "          geometry Text {\n",\
-                 "            string \"%s\"\n",\
-                 "            fontStyle FontStyle { size 0.25 }\n",\
-                 "          }\n",\
-                 "        }\n",\
-                 "      ]\n",\
-                 "    }\n",\
-                 "  ]\n",\
-                 "}\n"],\ # [
+    s0 = sprintf([...
+                 "Transform {\n",...
+                 "  translation %10.6g %10.6g %10.6g\n",...
+                 "  children [\n",... # ]
+                 "    Billboard {\n",...
+                 "      children [\n",... # ]
+                 "        Shape {\n",...
+                 "          appearance Appearance {\n",...
+                 vrml_material(col(:,i), emit, tran),"\n",...
+                 "          }\n",...
+                 "          geometry Text {\n",...
+                 "            string \"%s\"\n",...
+                 "            fontStyle FontStyle { size 0.25 }\n",...
+                 "          }\n",...
+                 "        }\n",...
+                 "      ]\n",...
+                 "    }\n",...
+                 "  ]\n",...
+                 "}\n"],... # [
                 x(:,i),sprintf("%d",i-1));
                 ## x(:,i),col,col,sprintf("%d",i-1));
     ## "              emissiveColor %8.3f %8.3f %8.3f\n",\
@@ -196,18 +196,18 @@
                                # nodes individually
     if ! all_same_col, colorstr = vrml_material (col(:,i), emit); end
 
-    s0 = sprintf([\
-                 "Transform {\n",\
-                 "  translation %10.6g %10.6g %10.6g\n",\
-                 "  children [\n",\ # ]
-                 "    Shape {\n",\
-                 "      appearance Appearance {\n",\
-                 colorstr,"\n",\
-                 "      }\n",\
-                 "      geometry ",shapestr,"\n",\
-                 "    }\n",\
-                 "  ]\n",\
-                 "}\n"],\
+    s0 = sprintf([...
+                 "Transform {\n",...
+                 "  translation %10.6g %10.6g %10.6g\n",...
+                 "  children [\n",... # ]
+                 "    Shape {\n",...
+                 "      appearance Appearance {\n",...
+                 colorstr,"\n",...
+                 "      }\n",...
+                 "      geometry ",shapestr,"\n",...
+                 "    }\n",...
+                 "  ]\n",...
+                 "}\n"],...
                 x(:,i));
     ## "          emissiveColor %8.3f %8.3f %8.3f\n",\
     ##          x(:,i),col,col,shape);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_set_browser.m 
new/vrml/inst/vrml_set_browser.m
--- old/vrml/inst/vrml_set_browser.m    1970-01-01 01:00:00.000000000 +0100
+++ new/vrml/inst/vrml_set_browser.m    2025-02-10 16:08:41.000000000 +0100
@@ -0,0 +1,70 @@
+## Copyright (C) 2012 Etienne Grossmann <etie...@egdn.net>
+##
+## This program 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 3 of the License, or (at your option) any later
+## version.
+##
+## This program 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
+## this program; if not, see <http://www.gnu.org/licenses/>.
+##
+
+## full_path = vrml_set_browser (proposed_browser) - Set or find a vrml browser
+##
+## If argument proposed_browser is passed and non-empty, then 
vmrl_set_browser()
+## tries to determine whether proposed_browser is a valid program. If it is,
+## then the global variable vrml_b_name is set to the full path, which is also
+## returned. Otherwise, an error occurs.
+##
+## If argument proposed_browser is empty or missing, then vrml_set_browser()
+## tries to determine whether either freewrl ( > 0.25) or whitedune (two vrml
+## browsers) are available. If one is found, then the global variable
+## vrml_b_name is set to the full path, which is also returned. Otherwise, an
+## error occurs.
+##
+## WARNING: vrml_set_browser has only been tested under Linux. Please report
+## successes / problems / patches on other systems.
+##
+## See also: vrml_browse(), FreeWRL homepage http://www.crc.ca/FreeWRL,
+## whitedune homepage http://vrml.cip.ica.uni-stuttgart.de/dune.
+##
+function full_path = vrml_set_browser (proposed_browser_name)
+
+global vrml_b_name = [];
+
+full_path = vrml_b_name;
+
+if nargin < 1 || isempty (proposed_browser_name)
+
+  browser_list = {"freewrl", "whitedune"};
+
+  for i = 1:numel(browser_list)
+
+    ## TODO: Test this under windows
+    [status, full_path] = system (sprintf ("which %s", browser_list{i}));
+    if status != 1
+      if full_path(length(full_path)) == "\n",
+       full_path = full_path(1:end-1);
+      end
+      vrml_b_name = full_path;
+      return;
+    endif
+  endfor
+
+  error ("No VRML browser available");
+endif
+
+## TODO: Test this under windows
+[status, full_path] = system (sprintf ("which %s", proposed_browser_name));
+if status == 1
+  error (sprintf ("VRML browser `%s' is not available", 
proposed_browser_name));
+endif
+if full_path(length(full_path)) == "\n",
+  full_path = full_path(1:end-1);
+end
+vrml_b_name = full_path;
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_surf.m new/vrml/inst/vrml_surf.m
--- old/vrml/inst/vrml_surf.m   2012-06-12 03:46:12.000000000 +0200
+++ new/vrml/inst/vrml_surf.m   2025-02-10 16:08:41.000000000 +0100
@@ -118,7 +118,7 @@
   op1 = " tran col creaseAngle emit colorPerVertex checker DEFcoord DEFcol 
zcol bwid tex ";
   op0 = " smooth zgray zrb steps bars " ;
 
-  default = tars (tran, col, creaseAngle, emit, colorPerVertex, steps, bars, \
+  default = tars (tran, col, creaseAngle, emit, colorPerVertex, steps, bars, 
...
                  bwid, DEFcoord, DEFcol, zcol, smooth, checker, zgray, zrb, 
tex);
 
   s = read_options (varargin,"op0",op0,"op1",op1,"default",default);
@@ -374,7 +374,7 @@
   ii = find (ci >= columns (zcol));
   if ! isempty (ii), ci(ii) = columns (zcol) - 1; cw(ii) = 1; end
   col = zeros (3,R*C);
-  col(:,keepip) = \
+  col(:,keepip) = ...
       zcol(:,ci) .* ([1;1;1]*(1-cw)) + zcol(:,ci+1) .* ([1;1;1]*cw);
 
 end                            # EOF zgray zrb and zcol options
@@ -419,8 +419,8 @@
     col = reshape (col,3, (R-1)*(C-1));
     col = [col, col];
   else
-    printf(["vrml_surf : ",\
-           " colorPerVertex==0, (R-1)*(C-1)==%i, but col has size [%i,%i]\n"],\
+    printf(["vrml_surf : ",...
+           " colorPerVertex==0, (R-1)*(C-1)==%i, but col has size 
[%i,%i]\n"],...
      R*C,size (col));
   end
 
@@ -441,9 +441,9 @@
     keept = all (reshape(keepp(trgs),3,2*(R-1)*(C-1)));
   else
     tmp = reshape (keepp,R,C);
-    keept = \
-       all (reshape (tmp(trgs(1:2,:)),2,2*(R-1)*(C-1))) & \
-       [(tmp(1:R-1,2:C) | tmp(2:R,2:C))(:)', \
+    keept = ...
+       all (reshape (tmp(trgs(1:2,:)),2,2*(R-1)*(C-1))) & ...
+       [(tmp(1:R-1,2:C) | tmp(2:R,2:C))(:)', ...
         (tmp(1:R-1,1:C-1) | tmp(2:R,1:C-1))(:)'] ;
   end
 
@@ -473,10 +473,10 @@
 end
 ## printf ("Calling vrml_faces\n");
 if !tex
-  s = vrml_faces (pts, trgs, "col", col,\
-                 "colorPerVertex",colorPerVertex,\
-                 "creaseAngle", creaseAngle,\
-                 "tran", tran, "emit", emit,\
+  s = vrml_faces (pts, trgs, "col", col,...
+                 "colorPerVertex",colorPerVertex,...
+                 "creaseAngle", creaseAngle,...
+                 "tran", tran, "emit", emit,...
                  "DEFcoord",DEFcoord,"DEFcol",DEFcol);
 else
    texXY = texXY(:,keepip);
@@ -488,8 +488,8 @@
 #  texXY(:,trgs(:))
 #   R, C
 #  keyboard
-  s = vrml_faces (pts, trgs,\
-                 "tran", tran, "tex", tex, "tcoord", texXY,\
+  s = vrml_faces (pts, trgs,...
+                 "tran", tran, "tex", tex, "tcoord", texXY,...
                  "DEFcoord",DEFcoord,"DEFcol",DEFcol);
 end  
 ## printf ("Done\n");
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_text.m new/vrml/inst/vrml_text.m
--- old/vrml/inst/vrml_text.m   2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_text.m   2025-02-10 16:08:41.000000000 +0100
@@ -52,31 +52,31 @@
   style=     s.style;
   verbose=   s.verbose;
 end
-s = sprintf (["Shape {\n",\
-             "  appearance Appearance {\n",\
-             "    material Material {\n",\
-             "      diffuseColor  %8.3f %8.3f %8.3f\n",\
-             "      emissiveColor %8.3f %8.3f %8.3f\n",\
-             "    }\n",\
-             "  }\n",\
-             "  geometry Text {\n",\
-             "    string \"%s\"\n"\
-             "    fontStyle FontStyle {\n",\
-             "      family  \"%s\"\n",\
-             "      justify \"%s\"\n",\
-             "      style   \"%s\"\n",\
-             "      size     %-8.3f\n",\
-             "    }\n",\
-             "  }\n",\
-             "}\n",\
-             ],\
-            col,\
-            col,\
-            t,\
-            family,\
-            justify,\
-            style,\
-            size\
+s = sprintf (["Shape {\n",...
+             "  appearance Appearance {\n",...
+             "    material Material {\n",...
+             "      diffuseColor  %8.3f %8.3f %8.3f\n",...
+             "      emissiveColor %8.3f %8.3f %8.3f\n",...
+             "    }\n",...
+             "  }\n",...
+             "  geometry Text {\n",...
+             "    string \"%s\"\n"...
+             "    fontStyle FontStyle {\n",...
+             "      family  \"%s\"\n",...
+             "      justify \"%s\"\n",...
+             "      style   \"%s\"\n",...
+             "      size     %-8.3f\n",...
+             "    }\n",...
+             "  }\n",...
+             "}\n",...
+             ],...
+            col,...
+            col,...
+            t,...
+            family,...
+            justify,...
+            style,...
+            size...
             );
 
 endfunction
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/vrml/inst/vrml_transfo.m new/vrml/inst/vrml_transfo.m
--- old/vrml/inst/vrml_transfo.m        2012-04-16 11:01:20.000000000 +0200
+++ new/vrml/inst/vrml_transfo.m        2025-02-10 16:08:41.000000000 +0100
@@ -75,8 +75,8 @@
   error ("vrml_transfo : rotation should have size 3x3, 3 or 4\n");
 end
 if verbose,
-  printf (["vrml_transfo : %8.3f %8.3f %8.3f %8.3f\n",\
-          "               %8.3f %8.3f %8.3f\n"],\
+  printf (["vrml_transfo : %8.3f %8.3f %8.3f %8.3f\n",...
+          "               %8.3f %8.3f %8.3f\n"],...
          axis,ang,t);
   printf ("length of string is %i\n",prod(size(s)));
 end
@@ -103,11 +103,11 @@
 end
 if !isempty (DEF), sd = ["DEF ",DEF," "]; end 
 
-v = sprintf([sd,"Transform {\n",sr,st,ss,\
-            "  children [\n%s\n",\
-            "           ]\n",\
-            "}\n",\
-            ],\
+v = sprintf([sd,"Transform {\n",sr,st,ss,...
+            "  children [\n%s\n",...
+            "           ]\n",...
+            "}\n",...
+            ],...
            s) ;
 ## keyboard
 

Reply via email to