Index: Singular/LIB/spectrum.lib
===================================================================
--- Singular/LIB/spectrum.lib	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
+++ Singular/LIB/spectrum.lib	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
@@ -0,0 +1,29 @@
+// $Id: spectrum.lib,v 1.1 1999-11-24 18:13:23 Singular Exp $
+///////////////////////////////////////////////////////////////////////////////
+
+version="$Id: spectrum.lib,v 1.1 1999-11-24 18:13:23 Singular Exp $";
+info="
+LIBRARY:  spectrum.lib   PROCEDURES FOR COMPUTING SPECTRA
+
+PROCEDURES:
+ spectrum(poly);        spectrum of a isoloated singularity
+ spectrum(poly[,1]);    spectrum of a isoloated singularity without tests
+          (parameters in square brackets [] are optional)
+";
+
+///////////////////////////////////////////////////////////////////////////////
+
+proc spectrum (poly f, list #)
+"USAGE:   spectrum(f[,1]);  f polynomial
+RETURN:  list
+EXAMPLE: example spectrum; shows examples
+"
+{
+  if(size(#)==0)
+  {  return(system("spectrum",f)); }
+  return (system("spectrum",f,#[1]);
+}
+example
+{ "EXAMPLE:"; echo = 2;
+}
+///////////////////////////////////////////////////////////////////////////////
Index: Singular/extra.cc
===================================================================
--- Singular/extra.cc	(revision e514ee03b6532cbf576ae3600314e75f2b3c5a8f)
+++ Singular/extra.cc	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
@@ -2,5 +2,5 @@
 *  Computer Algebra System SINGULAR      *
 *****************************************/
-/* $Id: extra.cc,v 1.119 1999-11-24 17:09:34 Singular Exp $ */
+/* $Id: extra.cc,v 1.120 1999-11-24 18:13:20 Singular Exp $ */
 /*
 * ABSTRACT: general interface to internals of Singular ("system" command)
@@ -52,4 +52,8 @@
 #include "distrib.h"
 #include "prCopy.h"
+#ifdef HAVE_SPECTRUM
+#include "spectrum.h"
+#endif
+
 
 // Define to enable many more system commands
@@ -441,4 +445,27 @@
    else
    {
+/*==================== spectrum =============================*/
+   #ifdef HAVE_SPECTRUM
+   if(strcmp(sys_cmd,"spectrum") == 0)
+   {
+     if (h->Typ()!=POLY_CMD)
+     {
+       WerrorS("poly expected");
+       return TRUE;
+     }
+     if (h->next==NULL)
+       return spectrumProc(res,h);
+     if (h->next->Typ()!=INT_CMD)
+     {
+       WerrorS("poly,int expected");
+       return TRUE;
+     }
+     if(((int)h->next->Data())==1)
+       return spectrumfProc(res,h);
+     return spectrumProc(res,h);
+   }
+   else
+   {
+   #endif
 /*================= Extended system call ========================*/
 #ifdef HAVE_EXTENDED_SYSTEM
Index: Singular/iparith.cc
===================================================================
--- Singular/iparith.cc	(revision e514ee03b6532cbf576ae3600314e75f2b3c5a8f)
+++ Singular/iparith.cc	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
@@ -2,5 +2,5 @@
 *  Computer Algebra System SINGULAR     *
 ****************************************/
-/* $Id: iparith.cc,v 1.190 1999-11-24 17:09:35 Singular Exp $ */
+/* $Id: iparith.cc,v 1.191 1999-11-24 18:13:21 Singular Exp $ */
 
 /*
@@ -285,5 +285,4 @@
   { "sortvec",     0, SORTVEC_CMD ,       CMD_1},
   #ifdef HAVE_SPECTRUM
-  { "spectrum",    0, SPECTRUM_CMD ,      CMD_123},
   { "semic",       0, SEMIC_CMD ,         CMD_23},
   #endif
@@ -2297,5 +2296,4 @@
 ,{jjSIMPL_ID,  SIMPLIFY_CMD,   MODUL_CMD,      MODUL_CMD,  INT_CMD PROFILER}
 #ifdef HAVE_SPECTRUM
-,{spectrumProc2,SPECTRUM_CMD,  LIST_CMD,       POLY_CMD,   INT_CMD PROFILER}
 ,{semicProc,   SEMIC_CMD,      INT_CMD,        LIST_CMD,   LIST_CMD PROFILER}
 #endif
@@ -3598,7 +3596,4 @@
 ,{jjSort_Id,    SORTVEC_CMD,     INTVEC_CMD,     IDEAL_CMD }
 ,{jjSort_Id,    SORTVEC_CMD,     INTVEC_CMD,     MODUL_CMD }
-#ifdef HAVE_SPECTRUM
-,{spectrumProc, SPECTRUM_CMD,    LIST_CMD,       POLY_CMD }
-#endif
 ,{jjSTD,        STD_CMD,         IDEAL_CMD,      IDEAL_CMD }
 ,{jjSTD,        STD_CMD,         MODUL_CMD,      MODUL_CMD }
Index: Singular/spectrum.cc
===================================================================
--- Singular/spectrum.cc	(revision e514ee03b6532cbf576ae3600314e75f2b3c5a8f)
+++ Singular/spectrum.cc	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
@@ -1260,11 +1260,4 @@
 }
 
-BOOLEAN    spectrumProc2 ( leftv res,leftv u, leftv v)
-{
-  if (((int)v->Data())==1)
-    return spectrumfProc(res,u);
-  return spectrumProc(res,u);
-}
-
 BOOLEAN    spectrumOp3  ( leftv res, leftv u, leftv v, leftv w )
 {
Index: Singular/spectrum.h
===================================================================
--- Singular/spectrum.h	(revision e514ee03b6532cbf576ae3600314e75f2b3c5a8f)
+++ Singular/spectrum.h	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
@@ -9,5 +9,4 @@
 #define SPECTRUM_H
 
-BOOLEAN    spectrumProc2 ( leftv,leftv, leftv );
 BOOLEAN    spectrumOp3  ( leftv,leftv, leftv, leftv );
 BOOLEAN    spectrumProc ( leftv,leftv );
Index: Singular/tok.h
===================================================================
--- Singular/tok.h	(revision e514ee03b6532cbf576ae3600314e75f2b3c5a8f)
+++ Singular/tok.h	(revision 5d32fdb9ecb9fff4978a30bd8fb80b5e9fcdb7b0)
@@ -7,5 +7,5 @@
 * ABSTRACT: tokens, types for interpreter; general macros
 */
-/* $Id: tok.h,v 1.31 1999-11-24 17:09:36 Singular Exp $ */
+/* $Id: tok.h,v 1.32 1999-11-24 18:13:23 Singular Exp $ */
 
 #ifndef MYYSTYPE
@@ -107,5 +107,4 @@
   ROWS_CMD,
 #ifdef HAVE_SPECTRUM
-  SPECTRUM_CMD,
   SEMIC_CMD,
 #endif
