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
8877fa6f
Commit
8877fa6f
authored
Jul 16, 2005
by
Richard M. Stallman
Browse files
(byte-compile-and-recursion): New function.
(byte-compile-and): Use byte-compile-and-recursion.
parent
3c54e8f1
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
12 additions
and
5 deletions
+12
-5
lisp/emacs-lisp/bytecomp.el
lisp/emacs-lisp/bytecomp.el
+12
-5
No files found.
lisp/emacs-lisp/bytecomp.el
View file @
8877fa6f
...
...
@@ -3448,12 +3448,19 @@ warnings during execution of BODY."
(
args
(
cdr
form
)))
(
if
(
null
args
)
(
byte-compile-form-do-effect
t
)
(
while
(
cdr
args
)
(
byte-compile-form
(
car
args
))
(
byte-compile-and-recursion
args
failtag
))))
;; Handle compilation of a multi-argument `and' call.
;; We use tail recursion so we can use byte-compile-maybe-guarded.
(
defun
byte-compile-and-recursion
(
rest
failtag
)
(
if
(
cdr
rest
)
(
progn
(
byte-compile-form
(
car
rest
))
(
byte-compile-goto-if
nil
for-effect
failtag
)
(
setq
args
(
cdr
args
)))
(
byte-compile-form-do-effect
(
car
args
))
(
byte-compile-out-tag
failtag
))))
(
byte-compile-maybe-guarded
(
car
rest
)
(
byte-compile-and-recursion
(
cdr
rest
)
failtag
)))
(
byte-compile-form-do-effect
(
car
rest
))
(
byte-compile-out-tag
failtag
)))
(
defun
byte-compile-or
(
form
)
(
let
((
wintag
(
byte-compile-make-tag
))
...
...
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