Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
023accd6
Commit
023accd6
authored
Sep 10, 2007
by
Stefan Monnier
Browse files
(Fcall_interactively): Use Finteractive_form also for subrs
and compiled functions.
parent
c10b0597
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
16 additions
and
27 deletions
+16
-27
src/ChangeLog
src/ChangeLog
+5
-0
src/callint.c
src/callint.c
+11
-27
No files found.
src/ChangeLog
View file @
023accd6
2007-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
* callint.c (Fcall_interactively): Use Finteractive_form also for subrs
and compiled functions.
2007-09-08 Fredrik Axelsson <f.axelsson@gmail.com>
* window.c (prefer_window_split_horizontally): New variable.
src/callint.c
View file @
023accd6
...
...
@@ -332,32 +332,16 @@ invoke it. If KEYS is omitted or nil, the return value of
/* Decode the kind of function. Either handle it and return,
or go to `lose' if not interactive, or set either STRING or SPECS. */
if
(
SUBRP
(
fun
))
{
string
=
(
unsigned
char
*
)
XSUBR
(
fun
)
->
prompt
;
if
(
!
string
)
{
lose:
wrong_type_argument
(
Qcommandp
,
function
);
}
}
else
if
(
COMPILEDP
(
fun
))
{
if
((
XVECTOR
(
fun
)
->
size
&
PSEUDOVECTOR_SIZE_MASK
)
<=
COMPILED_INTERACTIVE
)
goto
lose
;
specs
=
XVECTOR
(
fun
)
->
contents
[
COMPILED_INTERACTIVE
];
}
else
{
Lisp_Object
form
;
GCPRO2
(
function
,
prefix_arg
);
form
=
Finteractive_form
(
function
);
UNGCPRO
;
if
(
CONSP
(
form
))
specs
=
filter_specs
=
Fcar
(
XCDR
(
form
));
else
goto
lose
;
}
{
Lisp_Object
form
;
GCPRO2
(
function
,
prefix_arg
);
form
=
Finteractive_form
(
function
);
UNGCPRO
;
if
(
CONSP
(
form
))
specs
=
filter_specs
=
Fcar
(
XCDR
(
form
));
else
wrong_type_argument
(
Qcommandp
,
function
);
}
/* If either SPECS or STRING is set to a string, use it. */
if
(
STRINGP
(
specs
))
...
...
@@ -368,7 +352,7 @@ invoke it. If KEYS is omitted or nil, the return value of
bcopy
(
SDATA
(
specs
),
string
,
SBYTES
(
specs
)
+
1
);
}
else
if
(
string
==
0
)
else
{
Lisp_Object
input
;
i
=
num_input_events
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment