/[slime]/slime/swank.lisp
ViewVC logotype

Diff of /slime/swank.lisp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.390 by heller, Fri Aug 11 16:25:59 2006 UTC revision 1.391 by mkoeppe, Sat Aug 19 15:39:48 2006 UTC
# Line 2033  If the arglist is not available, return Line 2033  If the arglist is not available, return
2033           nil)))           nil)))
2034      (values decoded-arglist determining-args t)))      (values decoded-arglist determining-args t)))
2035    
2036    (defmethod compute-enriched-decoded-arglist ((operator-form (eql 'apply))
2037                                                 argument-forms)
2038      (let ((function-name-form (car argument-forms)))
2039        (when (and (listp function-name-form)
2040                   (= (length function-name-form) 2)
2041                   (member (car function-name-form) '(quote function)))
2042          (let ((function-name (cadr function-name-form)))
2043            (when (valid-operator-symbol-p function-name)
2044              (let ((function-arglist
2045                     (compute-enriched-decoded-arglist function-name
2046                                                       (cdr argument-forms))))
2047                (return-from compute-enriched-decoded-arglist
2048                  (values (make-arglist :required-args
2049                                        (list 'function)
2050                                        :optional-args
2051                                        (append
2052                                         (mapcar #'(lambda (arg)
2053                                                     (make-optional-arg arg nil))
2054                                                 (arglist.required-args function-arglist))
2055                                         (arglist.optional-args function-arglist))
2056                                        :key-p
2057                                        (arglist.key-p function-arglist)
2058                                        :keyword-args
2059                                        (arglist.keyword-args function-arglist)
2060                                        :rest
2061                                        'args
2062                                        :allow-other-keys-p
2063                                        (arglist.allow-other-keys-p function-arglist))
2064                          (list function-name-form)
2065                          t)))))))
2066      (call-next-method))
2067    
2068  (defslimefun arglist-for-insertion (name)  (defslimefun arglist-for-insertion (name)
2069    (with-buffer-syntax ()    (with-buffer-syntax ()
2070      (let ((symbol (parse-symbol name)))      (let ((symbol (parse-symbol name)))

Legend:
Removed from v.1.390  
changed lines
  Added in v.1.391

  ViewVC Help
Powered by ViewVC 1.1.5