Changeset 2615

Show
Ignore:
Timestamp:
02/24/08 16:54:09 (9 months ago)
Author:
ksprotte
Message:

arnesi up upstream

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/bos/thirdparty/arnesi/_darcs/inventory

    r2328 r2615  
    175175]  
    176176[rollback the strcat dynamic-extent allocation, it causes too many notes on sbcl (and it's not enabled anyway) 
    177 attila.lendvai@gmail.com**20071026225935]  
     177attila.lendvai@gmail.com**20071026225935] [Adding swank::present-in-emacs that used to be part of swank proper but was removed from there. 
     178Nathan Bird <nathan@acceleration.net>**20080109193201]  
     179[removing parameters to swank:inspect-for-emacs to keep up to date with swank. 
     180Nathan Bird <nathan@acceleration.net>**20080204210653]  
     181[Fix LOOP statement order (unbreaks compilation on ECL). 
     182Maciek Pasternacki <maciekp@japhy.fnord.org>**20080210170822]  
     183[Don't inline package object in ECL (breaks compilation) 
     184Maciek Pasternacki <maciekp@japhy.fnord.org>**20080210171007]  
     185[swank:inspect-for-emacs is known called swank:emacs-inspect 
     186Marco Baringer <mb@bese.it>**20080217133715]  
     187[Moved slime specific stuff into arnesi.slime-extras system, arnesi itself no longer depends on swank 
     188Marco Baringer <mb@bese.it>**20080217134147]  
  • branches/bos/thirdparty/arnesi/_darcs/pristine/arnesi.asd

    r2328 r2615  
    5656                             (:file "walk" :depends-on ("packages" "list" "mopp" "lexenv" "one-liners"))))) 
    5757  :properties ((:features "v1.4.0" "v1.4.1" "v1.4.2" "cc-interpreter" 
    58                           "join-strings-return-value" "getenv")) 
    59   :depends-on (:swank)) 
     58                          "join-strings-return-value" "getenv"))) 
    6059 
    6160(defsystem :arnesi.test 
     
    8382                :components ((:file "cl-ppcre-extras")))) 
    8483  :depends-on (:cl-ppcre :arnesi)) 
     84 
     85(defsystem :arnesi.slime-extras 
     86  :components ((:module :src :components ((:file "slime-extras")))) 
     87  :depends-on (:arnesi :swank)) 
    8588 
    8689(defmethod perform ((op asdf:test-op) (system (eql (find-system :arnesi)))) 
  • branches/bos/thirdparty/arnesi/_darcs/pristine/src/call-cc/apply.lisp

    r2328 r2615  
    185185    ;; first the required arguments 
    186186    (loop 
     187       for parameter = (first remaining-parameters) 
    187188       while remaining-parameters 
    188        for parameter = (first remaining-parameters) 
    189189       do (typecase parameter 
    190190            (required-function-argument-form 
  • branches/bos/thirdparty/arnesi/_darcs/pristine/src/log.lisp

    r2328 r2615  
    7777    (pushnew l (children anc) :test (lambda (a b) 
    7878                                     (eql (name a) (name b)))))) 
    79  
    80 (defun log-level-setter-inspector-action-for (prompt current-level setter) 
    81   (lambda () 
    82     (with-simple-restart 
    83         (abort "Abort setting log level") 
    84       (let ((value-string (swank::eval-in-emacs 
    85                            `(condition-case c 
    86                              (let ((arnesi-log-levels '(,@(mapcar #'string-downcase (coerce *log-level-names* 'list))))) 
    87                                (slime-read-object ,prompt :history (cons 'arnesi-log-levels ,(1+ current-level)) 
    88                                                   :initial-value ,(string-downcase (log-level-name-of current-level)))) 
    89                              (quit nil))))) 
    90         (when (and value-string 
    91                    (not (string= value-string ""))) 
    92           (funcall setter (eval (let ((*package* #.(find-package :arnesi))) 
    93                                   (read-from-string value-string))))))))) 
    94  
    95 (defmethod swank:inspect-for-emacs ((category log-category) inspector) 
    96   (let ((class (class-of category))) 
    97     (values "A log-category." 
    98             `("Class: " (:value ,class) (:newline) 
    99               "Runtime level: " (:value ,(log.level category) 
    100                                  ,(string (log-level-name-of (log.level category)))) 
    101               " " 
    102               (:action "[set level]" ,(log-level-setter-inspector-action-for 
    103                                        "Set runtime log level to (evaluated): " 
    104                                        (log.level category) 
    105                                        (lambda (value) 
    106                                          (setf (log.level category) value)))) 
    107               (:newline) 
    108               "Compile-time level: " (:value ,(log.compile-time-level category) 
    109                                       ,(string (log-level-name-of (log.compile-time-level category)))) 
    110                " " 
    111               (:action "[set level]" ,(log-level-setter-inspector-action-for 
    112                                        "Set compile-time log level to (evaluated): " 
    113                                        (log.compile-time-level category) 
    114                                        (lambda (value) 
    115                                          (setf (log.compile-time-level category) value)))) 
    116               (:newline) 
    117               ,@(swank::all-slots-for-inspector category inspector))))) 
    11879 
    11980;;; Runtime levels 
     
    204165         (*print-readably* nil) 
    205166         (*print-length* 64) 
    206          (*package* #.(find-package "COMMON-LISP"))) 
     167         (*package* #+ecl (find-package "COMMON-LISP") 
     168                    #-ecl #.(find-package "COMMON-LISP"))) 
    207169    ,@body)) 
    208170 
     
    331293         args)) 
    332294 
    333 (defclass slime-repl-log-appender (appender) 
    334   () 
    335   (:documentation "Logs to the slime repl when there's a valid swank::*emacs-connection* bound. Arguments are presented ready for inspection. 
    336  
    337 You may want to add this to your init.el to speed up cursor movement in the repl buffer with many presentations: 
    338  
    339 \(add-hook 'slime-repl-mode-hook 
    340           (lambda () 
    341             (setf parse-sexp-lookup-properties nil))) 
    342 ")) 
    343  
    344 (defmethod append-message ((category log-category) (appender slime-repl-log-appender) 
    345                            message level) 
    346   (when (swank::default-connection) 
    347     (swank::with-connection ((swank::default-connection)) 
    348       (multiple-value-bind (second minute hour day month year) 
    349           (decode-universal-time (get-universal-time)) 
    350         (declare (ignore second day month year)) 
    351         (swank::present-in-emacs (format nil 
    352                                          "~2,'0D:~2,'0D ~A/~A: " 
    353                                          hour minute 
    354                                          (symbol-name (name category)) 
    355                                          (symbol-name level)))) 
    356       (if (consp message) 
    357           (let ((format-control (when (stringp (first message)) 
    358                                   (first message))) 
    359                 (args (if (stringp (first message)) 
    360                           (rest message) 
    361                           message))) 
    362             (when format-control 
    363               (setf message (apply #'format nil format-control args))) 
    364             (swank::present-in-emacs message) 
    365             (awhen (and format-control 
    366                         (> (verbosity-of appender) 1) 
    367                         (remove-if (lambda (el) 
    368                                      (or (stringp el) 
    369                                          (null el))) 
    370                                    args)) 
    371               (swank::present-in-emacs " (") 
    372               (swank::present-in-emacs it) 
    373               (swank::present-in-emacs ")"))) 
    374           (swank::present-in-emacs message)) 
    375       (swank::present-in-emacs #.(string #\Newline))))) 
    376  
    377295(defun arnesi-logger-inspector-lookup-hook (form) 
    378296  (when (symbolp form) 
     
    382300        (when-bind logger (get-logger logger-name) 
    383301          (values logger t)))))) 
    384  
    385 (awhen (find-symbol (symbol-name '#:*inspector-dwim-lookup-hooks*) :swank) 
    386   (pushnew 'arnesi-logger-inspector-lookup-hook (symbol-value it))) 
    387  
    388 (defun make-slime-repl-log-appender (&rest args &key (verbosity 2)) 
    389   (remf-keywords args :verbosity) 
    390   (apply #'make-instance 'slime-repl-log-appender :verbosity verbosity args)) 
    391302 
    392303(defclass file-log-appender (stream-log-appender) 
  • branches/bos/thirdparty/arnesi/_darcs/pristine/src/packages.lisp

    r2328 r2615  
    225225   #:verbose-stream-log-appender 
    226226   #:make-stream-log-appender 
    227    #:make-slime-repl-log-appender 
    228227   #:file-log-appender 
    229228   #:make-file-log-appender 
  • branches/bos/thirdparty/arnesi/arnesi.asd

    r2328 r2615  
    5656                             (:file "walk" :depends-on ("packages" "list" "mopp" "lexenv" "one-liners"))))) 
    5757  :properties ((:features "v1.4.0" "v1.4.1" "v1.4.2" "cc-interpreter" 
    58                           "join-strings-return-value" "getenv")) 
    59   :depends-on (:swank)) 
     58                          "join-strings-return-value" "getenv"))) 
    6059 
    6160(defsystem :arnesi.test 
     
    8382                :components ((:file "cl-ppcre-extras")))) 
    8483  :depends-on (:cl-ppcre :arnesi)) 
     84 
     85(defsystem :arnesi.slime-extras 
     86  :components ((:module :src :components ((:file "slime-extras")))) 
     87  :depends-on (:arnesi :swank)) 
    8588 
    8689(defmethod perform ((op asdf:test-op) (system (eql (find-system :arnesi)))) 
  • branches/bos/thirdparty/arnesi/src/call-cc/apply.lisp

    r2328 r2615  
    185185    ;; first the required arguments 
    186186    (loop 
     187       for parameter = (first remaining-parameters) 
    187188       while remaining-parameters 
    188        for parameter = (first remaining-parameters) 
    189189       do (typecase parameter 
    190190            (required-function-argument-form 
  • branches/bos/thirdparty/arnesi/src/log.lisp

    r2328 r2615  
    7777    (pushnew l (children anc) :test (lambda (a b) 
    7878                                     (eql (name a) (name b)))))) 
    79  
    80 (defun log-level-setter-inspector-action-for (prompt current-level setter) 
    81   (lambda () 
    82     (with-simple-restart 
    83         (abort "Abort setting log level") 
    84       (let ((value-string (swank::eval-in-emacs 
    85                            `(condition-case c 
    86                              (let ((arnesi-log-levels '(,@(mapcar #'string-downcase (coerce *log-level-names* 'list))))) 
    87                                (slime-read-object ,prompt :history (cons 'arnesi-log-levels ,(1+ current-level)) 
    88                                                   :initial-value ,(string-downcase (log-level-name-of current-level)))) 
    89                              (quit nil))))) 
    90         (when (and value-string 
    91                    (not (string= value-string ""))) 
    92           (funcall setter (eval (let ((*package* #.(find-package :arnesi))) 
    93                                   (read-from-string value-string))))))))) 
    94  
    95 (defmethod swank:inspect-for-emacs ((category log-category) inspector) 
    96   (let ((class (class-of category))) 
    97     (values "A log-category." 
    98             `("Class: " (:value ,class) (:newline) 
    99               "Runtime level: " (:value ,(log.level category) 
    100                                  ,(string (log-level-name-of (log.level category)))) 
    101               " " 
    102               (:action "[set level]" ,(log-level-setter-inspector-action-for 
    103                                        "Set runtime log level to (evaluated): " 
    104                                        (log.level category) 
    105                                        (lambda (value) 
    106                                          (setf (log.level category) value)))) 
    107               (:newline) 
    108               "Compile-time level: " (:value ,(log.compile-time-level category) 
    109                                       ,(string (log-level-name-of (log.compile-time-level category)))) 
    110                " " 
    111               (:action "[set level]" ,(log-level-setter-inspector-action-for 
    112                                        "Set compile-time log level to (evaluated): " 
    113                                        (log.compile-time-level category) 
    114                                        (lambda (value) 
    115                                          (setf (log.compile-time-level category) value)))) 
    116               (:newline) 
    117               ,@(swank::all-slots-for-inspector category inspector))))) 
    11879 
    11980;;; Runtime levels 
     
    204165         (*print-readably* nil) 
    205166         (*print-length* 64) 
    206          (*package* #.(find-package "COMMON-LISP"))) 
     167         (*package* #+ecl (find-package "COMMON-LISP") 
     168                    #-ecl #.(find-package "COMMON-LISP"))) 
    207169    ,@body)) 
    208170 
     
    331293         args)) 
    332294 
    333 (defclass slime-repl-log-appender (appender) 
    334   () 
    335   (:documentation "Logs to the slime repl when there's a valid swank::*emacs-connection* bound. Arguments are presented ready for inspection. 
    336  
    337 You may want to add this to your init.el to speed up cursor movement in the repl buffer with many presentations: 
    338  
    339 \(add-hook 'slime-repl-mode-hook 
    340           (lambda () 
    341             (setf parse-sexp-lookup-properties nil))) 
    342 ")) 
    343  
    344 (defmethod append-message ((category log-category) (appender slime-repl-log-appender) 
    345                            message level) 
    346   (when (swank::default-connection) 
    347     (swank::with-connection ((swank::default-connection)) 
    348       (multiple-value-bind (second minute hour day month year) 
    349           (decode-universal-time (get-universal-time)) 
    350         (declare (ignore second day month year)) 
    351         (swank::present-in-emacs (format nil 
    352                                          "~2,'0D:~2,'0D ~A/~A: " 
    353                                          hour minute 
    354                                          (symbol-name (name category)) 
    355                                          (symbol-name level)))) 
    356       (if (consp message) 
    357           (let ((format-control (when (stringp (first message)) 
    358                                   (first message))) 
    359                 (args (if (stringp (first message)) 
    360                           (rest message) 
    361                           message))) 
    362             (when format-control 
    363               (setf message (apply #'format nil format-control args))) 
    364             (swank::present-in-emacs message) 
    365             (awhen (and format-control 
    366                         (> (verbosity-of appender) 1) 
    367                         (remove-if (lambda (el) 
    368                                      (or (stringp el) 
    369                                          (null el))) 
    370                                    args)) 
    371               (swank::present-in-emacs " (") 
    372               (swank::present-in-emacs it) 
    373               (swank::present-in-emacs ")"))) 
    374           (swank::present-in-emacs message)) 
    375       (swank::present-in-emacs #.(string #\Newline))))) 
    376  
    377295(defun arnesi-logger-inspector-lookup-hook (form) 
    378296  (when (symbolp form) 
     
    382300        (when-bind logger (get-logger logger-name) 
    383301          (values logger t)))))) 
    384  
    385 (awhen (find-symbol (symbol-name '#:*inspector-dwim-lookup-hooks*) :swank) 
    386   (pushnew 'arnesi-logger-inspector-lookup-hook (symbol-value it))) 
    387  
    388 (defun make-slime-repl-log-appender (&rest args &key (verbosity 2)) 
    389   (remf-keywords args :verbosity) 
    390   (apply #'make-instance 'slime-repl-log-appender :verbosity verbosity args)) 
    391302 
    392303(defclass file-log-appender (stream-log-appender) 
  • branches/bos/thirdparty/arnesi/src/packages.lisp

    r2328 r2615  
    225225   #:verbose-stream-log-appender 
    226226   #:make-stream-log-appender 
    227    #:make-slime-repl-log-appender 
    228227   #:file-log-appender 
    229228   #:make-file-log-appender