summaryrefslogtreecommitdiff
path: root/emacs/guile-emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'emacs/guile-emacs.scm')
-rw-r--r--emacs/guile-emacs.scm8
1 files changed, 6 insertions, 2 deletions
diff --git a/emacs/guile-emacs.scm b/emacs/guile-emacs.scm
index 7bc0ee785..08e56500e 100644
--- a/emacs/guile-emacs.scm
+++ b/emacs/guile-emacs.scm
@@ -84,9 +84,13 @@
(define (procedure-call name args)
(let ((restp (memq '&rest args))
- (args (delq '&rest (delq '&optional args))))
+ (args (map (lambda (a) `(let ((_t ,a))
+ (if (guile-tokenp _t)
+ (cadr _t)
+ (list 'quote _t))))
+ (delq '&rest (delq '&optional args)))))
(if restp
- `(list* ',name ,@args)
+ `(list 'apply ',name ,@args)
`(list ',name ,@args))))
(let ((name (procedure-name proc))