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
86009dd5
Commit
86009dd5
authored
Nov 15, 2014
by
Stefan Monnier
Browse files
* lisp/emacs-lisp/backquote.el (backquote-process): Optimize away the ,' case.
parent
e68a171e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
10 deletions
+15
-10
lisp/ChangeLog
lisp/ChangeLog
+6
-2
lisp/emacs-lisp/backquote.el
lisp/emacs-lisp/backquote.el
+9
-8
No files found.
lisp/ChangeLog
View file @
86009dd5
2014-11-16 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/backquote.el (backquote-process): Optimize away the ,' case.
2014-11-15 Lars Magne Ingebrigtsen <larsi@gnus.org>
* net/eww.el (eww-search-words): Mention `eww-search-prefix'.
...
...
@@ -11,8 +15,8 @@
* progmodes/python.el (python-shell-font-lock-kill-buffer):
(python-shell-font-lock-with-font-lock-buffer)
(python-shell-get-buffer, python-ffap-module-path):
Use
`derived-mode-p' instead of equality test on `major-mode'.
(python-shell-get-buffer, python-ffap-module-path):
Use
`derived-mode-p' instead of equality test on `major-mode'.
2014-11-14 Fabián Ezequiel Gallina <fgallina@gnu.org>
...
...
lisp/emacs-lisp/backquote.el
View file @
86009dd5
...
...
@@ -148,16 +148,19 @@ LEVEL is only used internally and indicates the nesting level:
(
t
(
list
'apply
'
(
function
vector
)
(
cdr
n
))))))))
((
atom
s
)
;; FIXME: Use macroexp-quote!
(
cons
0
(
if
(
or
(
null
s
)
(
eq
s
t
)
(
not
(
symbolp
s
)))
s
(
list
'quote
s
))))
((
eq
(
car
s
)
backquote-unquote-symbol
)
(
if
(
<=
level
0
)
(
if
(
>
(
length
s
)
2
)
;; We could support it with: (cons 2 `(list . ,(cdr s)))
;; But let's not encourage such uses.
(
error
"Multiple args to , are not supported: %S"
s
)
(
cons
1
(
nth
1
s
)))
(
cond
((
>
(
length
s
)
2
)
;; We could support it with: (cons 2 `(list . ,(cdr s)))
;; But let's not encourage such uses.
(
error
"Multiple args to , are not supported: %S"
s
))
(
t
(
cons
(
if
(
eq
(
car-safe
(
nth
1
s
))
'quote
)
0
1
)
(
nth
1
s
))))
(
backquote-delay-process
s
(
1-
level
))))
((
eq
(
car
s
)
backquote-splice-symbol
)
(
if
(
<=
level
0
)
...
...
@@ -215,9 +218,7 @@ LEVEL is only used internally and indicates the nesting level:
;; Tack on any initial elements.
(
if
firstlist
(
setq
expression
(
backquote-listify
firstlist
(
cons
1
expression
))))
(
if
(
eq
(
car-safe
expression
)
'quote
)
(
cons
0
(
list
'quote
s
))
(
cons
1
expression
))))))
(
cons
(
if
(
eq
(
car-safe
expression
)
'quote
)
0
1
)
expression
)))))
;; backquote-listify takes (tag . structure) pairs from backquote-process
;; and decides between append, list, backquote-list*, and cons depending
...
...
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