(code_convert_region): Fix previous change. Adjusted
[bpt/emacs.git] / src / mocklisp.c
index 4359edb..97b19dc 100644 (file)
@@ -5,7 +5,7 @@ This file is part of GNU Emacs.
 
 GNU Emacs 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 1, or (at your option)
+the Free Software Foundation; either version 2, or (at your option)
 any later version.
 
 GNU Emacs is distributed in the hope that it will be useful,
@@ -15,7 +15,8 @@ GNU General Public License for more details.
 
 You should have received a copy of the GNU General Public License
 along with GNU Emacs; see the file COPYING.  If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.  */
 
 
 /* Compatibility for mocklisp */
@@ -66,27 +67,28 @@ DEFUN ("ml-if", Fml_if, Sml_if, 0, UNEVALLED, 0, "Mocklisp version of `if'.")
   return val;
 }
 
-/* Now converted to regular "while" by hairier conversion code.
-* DEFUN ("ml-while", Fml_while, Sml_while, 1, UNEVALLED, 0, "while  for mocklisp programs")
-*   (args)
-*      Lisp_Object args;
-* {
-*   Lisp_Object test, body, tem;
-*   struct gcpro gcpro1, gcpro2;
-*
-*   GCPRO2 (test, body);
-*
-*   test = Fcar (args);
-*   body = Fcdr (args);
-*   while (tem = Feval (test), XINT (tem))
-*     {
-*       QUIT;
-*       Fprogn (body);
-*    }
-*
-*   UNGCPRO;
-*   return Qnil;
-*}
+#if 0 /* Now converted to regular "while" by hairier conversion code.  */
+/**/DEFUN ("ml-while", Fml_while, Sml_while, 1, UNEVALLED, 0, "while  for mocklisp programs")
+  (args)
+     Lisp_Object args;
+{
+  Lisp_Object test, body, tem;
+  struct gcpro gcpro1, gcpro2;
+
+  GCPRO2 (test, body);
+
+  test = Fcar (args);
+  body = Fcdr (args);
+  while (tem = Feval (test), XINT (tem))
+    {
+      QUIT;
+      Fprogn (body);
+   }
+
+  UNGCPRO;
+  return Qnil;
+}
+#endif
 \f
 /* This is the main entry point to mocklisp execution.
  When eval sees a mocklisp function being called, it calls here
@@ -119,7 +121,7 @@ DEFUN ("ml-arg", Fml_arg, Sml_arg, 1, 2, 0,
      Lisp_Object n, prompt;
 {
   if (EQ (Vmocklisp_arguments, Qinteractive))
-    return Fread_string (prompt, Qnil);
+    return Fread_string (prompt, Qnil, Qnil, Qnil, Qnil);
   CHECK_NUMBER (n, 0);
   XSETINT (n, XINT (n) - 1);   /* Mocklisp likes to be origin-1 */
   return Fcar (Fnthcdr (n, Vmocklisp_arguments));
@@ -140,9 +142,7 @@ DEFUN ("ml-provide-prefix-argument", Fml_provide_prefix_argument, Sml_provide_pr
 {
   struct gcpro gcpro1;
   GCPRO1 (args);
-  if (!current_perdisplay)
-    abort ();
-  current_perdisplay->Vcurrent_prefix_arg = Feval (Fcar (args));
+  Vcurrent_prefix_arg = Feval (Fcar (args));
   UNGCPRO;
   return Feval (Fcar (Fcdr (args)));
 }
@@ -158,13 +158,11 @@ DEFUN ("ml-prefix-argument-loop", Fml_prefix_argument_loop, Sml_prefix_argument_
   struct gcpro gcpro1;
 
   /* Set `arg' in case we call a built-in function that looks at it.  Still are a few. */
-  if (!current_perdisplay)
-    abort ();
-  tem = current_perdisplay->Vcurrent_prefix_arg;
-  if (NILP (tem))
+  if (NILP (Vcurrent_prefix_arg))
     i = 1;
   else
     {
+      tem = Vcurrent_prefix_arg;
       if (CONSP (tem))
        tem = Fcar (tem);
       if (EQ (tem, Qminus))