summaryrefslogtreecommitdiff
path: root/src/callint.c
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-12-25 00:33:14 +0000
committerRichard M. Stallman <rms@gnu.org>1995-12-25 00:33:14 +0000
commit62f91342810f83e0450425f16fdc56264995d1d0 (patch)
treed2068053976cc8248860211a995b7d30328647fc /src/callint.c
parent4753b681939946e1f0c9468067b003d826e4e512 (diff)
downloademacs-62f91342810f83e0450425f16fdc56264995d1d0.tar.gz
(Fcall_interactively): Undo previous change.
Diffstat (limited to 'src/callint.c')
-rw-r--r--src/callint.c32
1 files changed, 4 insertions, 28 deletions
diff --git a/src/callint.c b/src/callint.c
index 94f64c63528..a509dc4f328 100644
--- a/src/callint.c
+++ b/src/callint.c
@@ -174,16 +174,13 @@ See `interactive'.\n\
\n\
Optional second arg RECORD-FLAG non-nil\n\
means unconditionally put this command in the command-history.\n\
-Otherwise, this is done only if an arg is read using the minibuffer.\n\n\
-FUNCTION may be a list (FUNCTION ARGS...), which means to provide\n\
-the arguments ARGS before the ones read by FUNCTION's interactive spec.")
+Otherwise, this is done only if an arg is read using the minibuffer.")
(function, record, keys)
Lisp_Object function, record, keys;
{
Lisp_Object *args, *visargs;
unsigned char **argstrings;
Lisp_Object fun;
- Lisp_Object given_args;
Lisp_Object funcar;
Lisp_Object specs;
Lisp_Object teml;
@@ -222,16 +219,6 @@ the arguments ARGS before the ones read by FUNCTION's interactive spec.")
/* Save this now, since use of minibuffer will clobber it. */
prefix_arg = Vcurrent_prefix_arg;
- /* Separate out any initial args specified by the caller. */
- if (CONSP (function) && ! EQ (XCONS (function)->car, Qlambda)
- && ! EQ (XCONS (function)->car, Qautoload))
- {
- given_args = XCONS (function)->cdr;
- function = XCONS (function)->car;
- }
- else
- given_args = Qnil;
-
retry:
if (SYMBOLP (function))
@@ -303,7 +290,7 @@ the arguments ARGS before the ones read by FUNCTION's interactive spec.")
i = num_input_chars;
input = specs;
/* Compute the arg values using the user's expression. */
- specs = nconc2 (Fcopy_sequence (given_args), Feval (specs));
+ specs = Feval (specs);
if (i != num_input_chars || !NILP (record))
{
/* We should record this command on the command history. */
@@ -416,8 +403,7 @@ the arguments ARGS before the ones read by FUNCTION's interactive spec.")
else
tem = (unsigned char *) "";
}
- /* Add in the number of args the caller specified. */
- count = j + XINT (Flength (given_args));
+ count = j;
args = (Lisp_Object *) alloca ((count + 1) * sizeof (Lisp_Object));
visargs = (Lisp_Object *) alloca ((count + 1) * sizeof (Lisp_Object));
@@ -431,16 +417,6 @@ the arguments ARGS before the ones read by FUNCTION's interactive spec.")
varies[i] = 0;
}
- /* Put any args that the caller specified
- into the vector. */
- i = 1;
- while (!NILP (given_args))
- {
- visargs[i] = args[i] = XCONS (given_args)->car;
- given_args = XCONS (given_args)->cdr;
- i++;
- }
-
GCPRO4 (prefix_arg, function, *args, *visargs);
gcpro3.nvars = (count + 1);
gcpro4.nvars = (count + 1);
@@ -449,7 +425,7 @@ the arguments ARGS before the ones read by FUNCTION's interactive spec.")
specbind (Qenable_recursive_minibuffers, Qt);
tem = string;
- for (; *tem; i++)
+ for (i = 1; *tem; i++)
{
strncpy (prompt1, tem + 1, sizeof prompt1 - 1);
prompt1[sizeof prompt1 - 1] = 0;