/* Call a Lisp function interactively.
- Copyright (C) 1985-1986, 1993-1995, 1997, 2000-2013 Free Software
+ Copyright (C) 1985-1986, 1993-1995, 1997, 2000-2014 Free Software
Foundation, Inc.
This file is part of GNU Emacs.
if (CONSP (exp)
|| (SYMBOLP (exp)
&& !NILP (exp) && !EQ (exp, Qt)))
- return Fcons (Qquote, Fcons (exp, Qnil));
+ return list2 (Qquote, exp);
return exp;
}
specs = Qnil;
string = 0;
- /* The idea of FILTER_SPECS is to provide away to
+ /* The idea of FILTER_SPECS is to provide a way to
specify how to represent the arguments in command history.
The feature is not fully implemented. */
filter_specs = Qnil;
/* If SPECS is set to a string, use it as an interactive prompt. */
if (STRINGP (specs))
- {
- /* Make a copy of string so that if a GC relocates specs,
- `string' will still be valid. */
- string = alloca (SBYTES (specs) + 1);
- memcpy (string, SSDATA (specs), SBYTES (specs) + 1);
- }
+ /* Make a copy of string so that if a GC relocates specs,
+ `string' will still be valid. */
+ string = xlispstrdupa (specs);
else
{
Lisp_Object input;
make_number (SCHARS (callint_message)),
Qface, Qminibuffer_prompt, callint_message);
args[i] = Fread_char (callint_message, Qnil, Qnil);
- message1_nolog ((char *) 0);
+ message1_nolog (0);
/* Passing args[i] directly stimulates compiler bug. */
teml = args[i];
/* See bug#8479. */
Fput_text_property (make_number (0),
make_number (SCHARS (callint_message)),
Qface, Qminibuffer_prompt, callint_message);
- args[i] = Fread_key_sequence (callint_message,
- Qnil, Qt, Qnil, Qnil);
+ args[i] = Fread_key_sequence_vector (callint_message,
+ Qnil, Qt, Qnil, Qnil);
teml = args[i];
visargs[i] = Fkey_description (teml, Qnil);
unbind_to (speccount1, Qnil);
for (i = 1; i < nargs; i++)
{
if (varies[i] > 0)
- visargs[i] = Fcons (intern (callint_argfuns[varies[i]]), Qnil);
+ visargs[i] = list1 (intern (callint_argfuns[varies[i]]));
else
visargs[i] = quotify_arg (args[i]);
}