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

Diff of /slime/swank.lisp

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

revision 1.435 by alendvai, Tue Dec 19 10:51:03 2006 UTC revision 1.436 by alendvai, Tue Dec 19 10:57:40 2006 UTC
# Line 4449  See `methods-by-applicability'.") Line 4449  See `methods-by-applicability'.")
4449      (declare (ignore inspector))      (declare (ignore inspector))
4450      (append '("------------------------------" (:newline)      (append '("------------------------------" (:newline)
4451                "All Slots:" (:newline))                "All Slots:" (:newline))
4452              (loop              (let* ((class (class-of object))
4453                 with direct-slots = (swank-mop:class-direct-slots (class-of object))                     (direct-slots (swank-mop:class-direct-slots class))
4454                 for effective-slot :in (swank-mop:class-slots (class-of object))                     (effective-slots (swank-mop:class-slots class))
4455                 for direct-slot = (find (swank-mop:slot-definition-name effective-slot)                     (slot-presentations (loop for effective-slot :in effective-slots
4456                                         direct-slots :key #'swank-mop:slot-definition-name)                                               collect (inspect-slot-for-emacs
4457                 collect `(:value ,(if direct-slot                                                        class object effective-slot)))
4458                                       (list direct-slot effective-slot)                     (longest-slot-name-length
4459                                       effective-slot)                      (loop for slot :in effective-slots
4460                           ,(inspector-princ (swank-mop:slot-definition-name effective-slot)))                            maximize (length (symbol-name
4461                 collect " = "                                              (swank-mop:slot-definition-name slot))))))
4462                 append (inspect-slot-for-emacs (class-of object) object effective-slot)                (loop
4463                 collect '(:newline)))))                    for effective-slot :in effective-slots
4464                      for slot-presentation :in slot-presentations
4465                      for direct-slot = (find (swank-mop:slot-definition-name effective-slot)
4466                                              direct-slots :key #'swank-mop:slot-definition-name)
4467                      for slot-name = (inspector-princ
4468                                       (swank-mop:slot-definition-name effective-slot))
4469                      for padding-length = (- longest-slot-name-length
4470                                              (length (symbol-name
4471                                                       (swank-mop:slot-definition-name
4472                                                        effective-slot))))
4473                      collect `(:value ,(if direct-slot
4474                                            (list direct-slot effective-slot)
4475                                            effective-slot)
4476                                ,slot-name)
4477                      collect (make-array padding-length
4478                                          :element-type 'character
4479                                          :initial-element #\Space)
4480                      collect " = "
4481                      append slot-presentation
4482                      collect '(:newline))))))
4483    
4484  (defmethod inspect-for-emacs ((gf standard-generic-function) inspector)  (defmethod inspect-for-emacs ((gf standard-generic-function) inspector)
4485    (flet ((lv (label value) (label-value-line label value)))    (flet ((lv (label value) (label-value-line label value)))

Legend:
Removed from v.1.435  
changed lines
  Added in v.1.436

  ViewVC Help
Powered by ViewVC 1.1.5