Changeset 2615
- Timestamp:
- 02/24/08 16:54:09 (9 months ago)
- Files:
-
- branches/bos/thirdparty/arnesi/_darcs/inventory (modified) (1 diff)
- branches/bos/thirdparty/arnesi/_darcs/patches/20080109193201-783f4-65fd5cb639548a57d86a5e0008f1587794439032.gz (added)
- branches/bos/thirdparty/arnesi/_darcs/patches/20080204210653-783f4-a2d349d6df6b26c9fbcde50800eaef17b25245ec.gz (added)
- branches/bos/thirdparty/arnesi/_darcs/patches/20080210170822-942af-2faa185a2e22621089ffe9034f05271f6371a6c1.gz (added)
- branches/bos/thirdparty/arnesi/_darcs/patches/20080210171007-942af-3435901f015be046cd0bf30b5bd0e025856c956e.gz (added)
- branches/bos/thirdparty/arnesi/_darcs/patches/20080217133715-dd2a1-30bc2f2d43091d9a918175610b368e6570e6c7e3.gz (added)
- branches/bos/thirdparty/arnesi/_darcs/patches/20080217134147-dd2a1-321faee163683d503bd9fe621e6a26dfb440aa34.gz (added)
- branches/bos/thirdparty/arnesi/_darcs/patches/pending (added)
- branches/bos/thirdparty/arnesi/_darcs/pristine/arnesi.asd (modified) (2 diffs)
- branches/bos/thirdparty/arnesi/_darcs/pristine/src/call-cc/apply.lisp (modified) (1 diff)
- branches/bos/thirdparty/arnesi/_darcs/pristine/src/log.lisp (modified) (4 diffs)
- branches/bos/thirdparty/arnesi/_darcs/pristine/src/packages.lisp (modified) (1 diff)
- branches/bos/thirdparty/arnesi/_darcs/pristine/src/slime-extras.lisp (added)
- branches/bos/thirdparty/arnesi/arnesi.asd (modified) (2 diffs)
- branches/bos/thirdparty/arnesi/src/call-cc/apply.lisp (modified) (1 diff)
- branches/bos/thirdparty/arnesi/src/log.lisp (modified) (4 diffs)
- branches/bos/thirdparty/arnesi/src/packages.lisp (modified) (1 diff)
- branches/bos/thirdparty/arnesi/src/slime-extras.lisp (added)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
branches/bos/thirdparty/arnesi/_darcs/inventory
r2328 r2615 175 175 ] 176 176 [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] 177 attila.lendvai@gmail.com**20071026225935] [Adding swank::present-in-emacs that used to be part of swank proper but was removed from there. 178 Nathan Bird <nathan@acceleration.net>**20080109193201] 179 [removing parameters to swank:inspect-for-emacs to keep up to date with swank. 180 Nathan Bird <nathan@acceleration.net>**20080204210653] 181 [Fix LOOP statement order (unbreaks compilation on ECL). 182 Maciek Pasternacki <maciekp@japhy.fnord.org>**20080210170822] 183 [Don't inline package object in ECL (breaks compilation) 184 Maciek Pasternacki <maciekp@japhy.fnord.org>**20080210171007] 185 [swank:inspect-for-emacs is known called swank:emacs-inspect 186 Marco Baringer <mb@bese.it>**20080217133715] 187 [Moved slime specific stuff into arnesi.slime-extras system, arnesi itself no longer depends on swank 188 Marco Baringer <mb@bese.it>**20080217134147] branches/bos/thirdparty/arnesi/_darcs/pristine/arnesi.asd
r2328 r2615 56 56 (:file "walk" :depends-on ("packages" "list" "mopp" "lexenv" "one-liners"))))) 57 57 :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"))) 60 59 61 60 (defsystem :arnesi.test … … 83 82 :components ((:file "cl-ppcre-extras")))) 84 83 :depends-on (:cl-ppcre :arnesi)) 84 85 (defsystem :arnesi.slime-extras 86 :components ((:module :src :components ((:file "slime-extras")))) 87 :depends-on (:arnesi :swank)) 85 88 86 89 (defmethod perform ((op asdf:test-op) (system (eql (find-system :arnesi)))) branches/bos/thirdparty/arnesi/_darcs/pristine/src/call-cc/apply.lisp
r2328 r2615 185 185 ;; first the required arguments 186 186 (loop 187 for parameter = (first remaining-parameters) 187 188 while remaining-parameters 188 for parameter = (first remaining-parameters)189 189 do (typecase parameter 190 190 (required-function-argument-form branches/bos/thirdparty/arnesi/_darcs/pristine/src/log.lisp
r2328 r2615 77 77 (pushnew l (children anc) :test (lambda (a b) 78 78 (eql (name a) (name b)))))) 79 80 (defun log-level-setter-inspector-action-for (prompt current-level setter)81 (lambda ()82 (with-simple-restart83 (abort "Abort setting log level")84 (let ((value-string (swank::eval-in-emacs85 `(condition-case c86 (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-string91 (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-for103 "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-for112 "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)))))118 79 119 80 ;;; Runtime levels … … 204 165 (*print-readably* nil) 205 166 (*print-length* 64) 206 (*package* #.(find-package "COMMON-LISP"))) 167 (*package* #+ecl (find-package "COMMON-LISP") 168 #-ecl #.(find-package "COMMON-LISP"))) 207 169 ,@body)) 208 170 … … 331 293 args)) 332 294 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-hook340 (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 nil352 "~2,'0D:~2,'0D ~A/~A: "353 hour minute354 (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-control363 (setf message (apply #'format nil format-control args)))364 (swank::present-in-emacs message)365 (awhen (and format-control366 (> (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 377 295 (defun arnesi-logger-inspector-lookup-hook (form) 378 296 (when (symbolp form) … … 382 300 (when-bind logger (get-logger logger-name) 383 301 (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))391 302 392 303 (defclass file-log-appender (stream-log-appender) branches/bos/thirdparty/arnesi/_darcs/pristine/src/packages.lisp
r2328 r2615 225 225 #:verbose-stream-log-appender 226 226 #:make-stream-log-appender 227 #:make-slime-repl-log-appender228 227 #:file-log-appender 229 228 #:make-file-log-appender branches/bos/thirdparty/arnesi/arnesi.asd
r2328 r2615 56 56 (:file "walk" :depends-on ("packages" "list" "mopp" "lexenv" "one-liners"))))) 57 57 :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"))) 60 59 61 60 (defsystem :arnesi.test … … 83 82 :components ((:file "cl-ppcre-extras")))) 84 83 :depends-on (:cl-ppcre :arnesi)) 84 85 (defsystem :arnesi.slime-extras 86 :components ((:module :src :components ((:file "slime-extras")))) 87 :depends-on (:arnesi :swank)) 85 88 86 89 (defmethod perform ((op asdf:test-op) (system (eql (find-system :arnesi)))) branches/bos/thirdparty/arnesi/src/call-cc/apply.lisp
r2328 r2615 185 185 ;; first the required arguments 186 186 (loop 187 for parameter = (first remaining-parameters) 187 188 while remaining-parameters 188 for parameter = (first remaining-parameters)189 189 do (typecase parameter 190 190 (required-function-argument-form branches/bos/thirdparty/arnesi/src/log.lisp
r2328 r2615 77 77 (pushnew l (children anc) :test (lambda (a b) 78 78 (eql (name a) (name b)))))) 79 80 (defun log-level-setter-inspector-action-for (prompt current-level setter)81 (lambda ()82 (with-simple-restart83 (abort "Abort setting log level")84 (let ((value-string (swank::eval-in-emacs85 `(condition-case c86 (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-string91 (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-for103 "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-for112 "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)))))118 79 119 80 ;;; Runtime levels … … 204 165 (*print-readably* nil) 205 166 (*print-length* 64) 206 (*package* #.(find-package "COMMON-LISP"))) 167 (*package* #+ecl (find-package "COMMON-LISP") 168 #-ecl #.(find-package "COMMON-LISP"))) 207 169 ,@body)) 208 170 … … 331 293 args)) 332 294 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-hook340 (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 nil352 "~2,'0D:~2,'0D ~A/~A: "353 hour minute354 (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-control363 (setf message (apply #'format nil format-control args)))364 (swank::present-in-emacs message)365 (awhen (and format-control366 (> (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 377 295 (defun arnesi-logger-inspector-lookup-hook (form) 378 296 (when (symbolp form) … … 382 300 (when-bind logger (get-logger logger-name) 383 301 (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))391 302 392 303 (defclass file-log-appender (stream-log-appender) branches/bos/thirdparty/arnesi/src/packages.lisp
r2328 r2615 225 225 #:verbose-stream-log-appender 226 226 #:make-stream-log-appender 227 #:make-slime-repl-log-appender228 227 #:file-log-appender 229 228 #:make-file-log-appender
