From gcarncross at common-lisp.net Wed Jul 1 03:38:54 2009 From: gcarncross at common-lisp.net (CVS User gcarncross) Date: Tue, 30 Jun 2009 23:38:54 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv28604 Modified Files: swank-ecl.lisp ChangeLog Log Message: swank-ecl.lisp: Package profiling support --- /project/slime/cvsroot/slime/swank-ecl.lisp 2009/06/25 04:04:45 1.42 +++ /project/slime/cvsroot/slime/swank-ecl.lisp 2009/07/01 03:38:54 1.43 @@ -496,6 +496,11 @@ (defimplementation profiled-functions () (profile:profile)) +(defimplementation profile-package (package callers methods) + (declare (ignore callers methods)) + (eval `(profile:profile ,(package-name (find-package package))))) + + ;;;; Threads #+threads --- /project/slime/cvsroot/slime/ChangeLog 2009/06/30 02:50:25 1.1800 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/01 03:38:54 1.1801 @@ -1,3 +1,7 @@ +2009-06-30 Geo Carncross + + * swank-ecl.lisp: Package profiling support + 2009-06-30 Stas Boukarev * swank-openmcl.lisp (arglist): Return :not-available if the arglist From sboukarev at common-lisp.net Thu Jul 2 04:13:10 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Thu, 02 Jul 2009 00:13:10 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv31936 Modified Files: ChangeLog slime.el Log Message: * slime.el (slime-net-coding-system): make it customizable. (slime-inspector-operate-on-click): Make --more-- button in the inspector clickable. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/01 03:38:54 1.1801 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/02 04:13:10 1.1802 @@ -1,3 +1,9 @@ +2009-07-02 Stas Boukarev + + * slime.el (slime-net-coding-system): make it customizable. + (slime-inspector-operate-on-click): Make --more-- button in + the inspector clickable. + 2009-06-30 Geo Carncross * swank-ecl.lisp: Package profiling support --- /project/slime/cvsroot/slime/slime.el 2009/06/28 19:15:08 1.1193 +++ /project/slime/cvsroot/slime/slime.el 2009/07/02 04:13:10 1.1194 @@ -195,6 +195,37 @@ :type 'integer :group 'slime-lisp) +(defvar slime-net-valid-coding-systems + '((iso-latin-1-unix nil "iso-latin-1-unix") + (iso-8859-1-unix nil "iso-latin-1-unix") + (binary nil "iso-latin-1-unix") + (utf-8-unix t "utf-8-unix") + (emacs-mule-unix t "emacs-mule-unix") + (euc-jp-unix t "euc-jp-unix")) + "A list of valid coding systems. +Each element is of the form: (NAME MULTIBYTEP CL-NAME)") + +(defun slime-find-coding-system (name) + "Return the coding system for the symbol NAME. +The result is either an element in `slime-net-valid-coding-systems' +of nil." + (let ((probe (assq name slime-net-valid-coding-systems))) + (when (and probe (if (fboundp 'check-coding-system) + (ignore-errors (check-coding-system (car probe))) + (eq (car probe) 'binary))) + probe))) + +(defcustom slime-net-coding-system + (car (find-if 'slime-find-coding-system + slime-net-valid-coding-systems :key 'car)) + "Coding system used for network connections. +See also `slime-net-valid-coding-systems'." + :type (cons 'choice + (mapcar (lambda (x) + (list 'const (car x))) + slime-net-valid-coding-systems)) + :group 'slime-lisp) + ;;;;; slime-mode (defgroup slime-mode nil @@ -1170,7 +1201,6 @@ See `slime-lisp-implementations'") ;; dummy definitions for the compiler -(defvar slime-net-coding-system) (defvar slime-net-processes) (defvar slime-default-connection) @@ -1615,31 +1645,7 @@ ;;;;; Coding system madness -(defvar slime-net-valid-coding-systems - '((iso-latin-1-unix nil "iso-latin-1-unix") - (iso-8859-1-unix nil "iso-latin-1-unix") - (binary nil "iso-latin-1-unix") - (utf-8-unix t "utf-8-unix") - (emacs-mule-unix t "emacs-mule-unix") - (euc-jp-unix t "euc-jp-unix")) - "A list of valid coding systems. -Each element is of the form: (NAME MULTIBYTEP CL-NAME)") -(defun slime-find-coding-system (name) - "Return the coding system for the symbol NAME. -The result is either an element in `slime-net-valid-coding-systems' -of nil." - (let* ((probe (assq name slime-net-valid-coding-systems))) - (if (and probe (if (fboundp 'check-coding-system) - (ignore-errors (check-coding-system (car probe))) - (eq (car probe) 'binary))) - probe))) - -(defvar slime-net-coding-system - (find-if 'slime-find-coding-system - '(iso-latin-1-unix iso-8859-1-unix binary)) - "*Coding system used for network connections. -See also `slime-net-valid-coding-systems'.") (defun slime-check-coding-system (coding-system) "Signal an error if CODING-SYSTEM isn't a valid coding system." @@ -6436,6 +6442,7 @@ (let ((point (posn-point (event-end event)))) (cond ((and point (or (get-text-property point 'slime-part-number) + (get-text-property point 'slime-range-button) (get-text-property point 'slime-action-number))) (goto-char point) (slime-inspector-operate-on-point)) From heller at common-lisp.net Thu Jul 2 14:14:17 2009 From: heller at common-lisp.net (CVS User heller) Date: Thu, 02 Jul 2009 10:14:17 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv8472 Modified Files: ChangeLog swank.lisp Log Message: * swank.lisp (operator-arglist): Don't use pprint-fill for people with wide screens. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/02 04:13:10 1.1802 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/02 14:14:16 1.1803 @@ -1,3 +1,8 @@ +2009-07-02 Helmut Eller + + * swank.lisp (operator-arglist): Don't use pprint-fill + for people with wide screens. + 2009-07-02 Stas Boukarev * slime.el (slime-net-coding-system): make it customizable. --- /project/slime/cvsroot/slime/swank.lisp 2009/06/29 04:24:51 1.652 +++ /project/slime/cvsroot/slime/swank.lisp 2009/07/02 14:14:16 1.653 @@ -3002,10 +3002,9 @@ (defslimefun operator-arglist (name package) (ignore-errors - (let ((args (arglist (parse-symbol name (guess-buffer-package package)))) - (*print-escape* nil)) + (let ((args (arglist (parse-symbol name (guess-buffer-package package))))) (cond ((eq args :not-available) nil) - (t (format nil "(~a ~/pprint-fill/)" name args)))))) + (t (princ-to-string (cons name args))))))) ;;;; Documentation From heller at common-lisp.net Thu Jul 2 14:14:26 2009 From: heller at common-lisp.net (CVS User heller) Date: Thu, 02 Jul 2009 10:14:26 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv8510 Modified Files: ChangeLog slime.el swank.lisp Log Message: * swank.lisp (ed-in-emacs): Handle symbols/function-names better. * slime.el (slime-ed): Updated accordingly. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/02 14:14:16 1.1803 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/02 14:14:26 1.1804 @@ -1,5 +1,10 @@ 2009-07-02 Helmut Eller + * swank.lisp (ed-in-emacs): Handle symbols/function-names better. + * slime.el (slime-ed): Updated accordingly. + +2009-07-02 Helmut Eller + * swank.lisp (operator-arglist): Don't use pprint-fill for people with wide screens. --- /project/slime/cvsroot/slime/slime.el 2009/07/02 04:13:10 1.1194 +++ /project/slime/cvsroot/slime/slime.el 2009/07/02 14:14:26 1.1195 @@ -4055,40 +4055,24 @@ WHAT can be: A filename (string), - A list (FILENAME LINE [COLUMN]), - A list (FILENAME :charpos CHARPOS), - A function name (symbol or cons), + A list (:filename FILENAME &key LINE COLUMN POSITION), + A function name (:function-name STRING) nil. This is for use in the implementation of COMMON-LISP:ED." - ;; Without `save-excursion' very strange things happen if you call - ;; (swank:ed-in-emacs X) from the REPL. -luke (18/Jan/2004) - (save-excursion - (when slime-ed-use-dedicated-frame - (unless (and slime-ed-frame (frame-live-p slime-ed-frame)) - (setq slime-ed-frame (make-frame))) - (select-frame slime-ed-frame)) - (cond ((stringp what) - (find-file (slime-from-lisp-filename what))) - ((and (consp what) (stringp (first what))) - (find-file (first (slime-from-lisp-filename what))) - (cond - ((eql (second what) :charpos) - (goto-char (third what))) - (t - (goto-line (second what)) - ;; Find the correct column, without going past the end of - ;; the line. - (let ((col (third what))) - (while (and col - (< (point) (point-at-eol)) - (/= (decf col) -1)) - (forward-char 1)))))) - ((and what (symbolp what)) - (slime-edit-definition (symbol-name what))) - ((consp what) - (slime-edit-definition (prin1-to-string what))) - (t nil)))) ; nothing in particular + (when slime-ed-use-dedicated-frame + (unless (and slime-ed-frame (frame-live-p slime-ed-frame)) + (setq slime-ed-frame (make-frame))) + (select-frame slime-ed-frame)) + (when what + (destructure-case what + ((:filename file &key line column position) + (find-file (slime-from-lisp-filename file)) + (when line (goto-line line)) + (when column (move-to-column column)) + (when position (goto-char position))) + ((:function-name name) + (slime-edit-definition name))))) (defun slime-y-or-n-p (thread tag question) (slime-dispatch-event `(:emacs-return ,thread ,tag ,(y-or-n-p question)))) --- /project/slime/cvsroot/slime/swank.lisp 2009/07/02 14:14:16 1.653 +++ /project/slime/cvsroot/slime/swank.lisp 2009/07/02 14:14:26 1.654 @@ -2359,29 +2359,25 @@ WHAT can be: A pathname or a string, - A list (PATHNAME-OR-STRING LINE [COLUMN]), + A list (PATHNAME-OR-STRING &key LINE COLUMN POSITION), A function name (symbol or cons), - NIL. - -Returns true if it actually called emacs, or NIL if not." - (flet ((pathname-or-string-p (thing) - (or (pathnamep thing) (typep thing 'string))) - (canonicalize-filename (filename) + NIL. " + (flet ((canonicalize-filename (filename) (pathname-to-filename (or (probe-file filename) filename)))) - (let ((target - (cond ((and (listp what) (pathname-or-string-p (first what))) - (cons (canonicalize-filename (car what)) (cdr what))) - ((pathname-or-string-p what) - (canonicalize-filename what)) - ((symbolp what) what) - ((consp what) what) - (t (return-from ed-in-emacs nil))))) - (cond - (*emacs-connection* (send-oob-to-emacs `(:ed ,target))) - ((default-connection) - (with-connection ((default-connection)) - (send-oob-to-emacs `(:ed ,target)))) - (t nil))))) + (let ((target + (etypecase what + (null nil) + ((or string pathname) + `(:filename ,(canonicalize-filename what))) + ((cons (or string pathname) *) + `(:filename ,(canonicalize-filename (car what)) ,@(cdr what))) + ((or symbol cons) + `(:function-name ,(prin1-to-string-for-emacs what)))))) + (cond (*emacs-connection* (send-oob-to-emacs `(:ed ,target))) + ((default-connection) + (with-connection ((default-connection)) + (send-oob-to-emacs `(:ed ,target)))) + (t (error "No connection")))))) (defslimefun inspect-in-emacs (what &key wait) "Inspect WHAT in Emacs. If WAIT is true (default NIL) blocks until the From heller at common-lisp.net Thu Jul 2 14:14:33 2009 From: heller at common-lisp.net (CVS User heller) Date: Thu, 02 Jul 2009 10:14:33 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv8553 Modified Files: ChangeLog swank-lispworks.lisp Log Message: * swank-lispworks.lisp (thread-attributes): Implemented. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/02 14:14:26 1.1804 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/02 14:14:33 1.1805 @@ -1,9 +1,13 @@ +2009-07-02 Terje Norderhaug + + * swank-lispworks.lisp (thread-attributes): Implemented. + 2009-07-02 Helmut Eller * swank.lisp (ed-in-emacs): Handle symbols/function-names better. * slime.el (slime-ed): Updated accordingly. -2009-07-02 Helmut Eller +2009-07-02 Terje Norderhaug * swank.lisp (operator-arglist): Don't use pprint-fill for people with wide screens. --- /project/slime/cvsroot/slime/swank-lispworks.lisp 2009/06/21 07:22:56 1.130 +++ /project/slime/cvsroot/slime/swank-lispworks.lisp 2009/07/02 14:14:33 1.131 @@ -859,6 +859,10 @@ (acons var `(eval (quote ,form)) mp:*process-initial-bindings* ))) +(defimplementation thread-attributes (thread) + (list :priority (mp:process-priority thread) + :idle (mp:process-idle-time thread))) + ;;; Some intergration with the lispworks environment (defun swank-sym (name) (find-symbol (string name) :swank)) From sboukarev at common-lisp.net Thu Jul 2 17:00:21 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Thu, 02 Jul 2009 13:00:21 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv20148 Modified Files: ChangeLog slime.el Log Message: * slime.el (slime-beginning-of-symbol): Limit searching to 2000 characters. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/02 14:14:33 1.1805 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/02 17:00:21 1.1806 @@ -1,3 +1,8 @@ +2009-07-02 Stas Boukarev + + * slime.el (slime-beginning-of-symbol): Limit searching to 2000 + characters. + 2009-07-02 Terje Norderhaug * swank-lispworks.lisp (thread-attributes): Implemented. --- /project/slime/cvsroot/slime/slime.el 2009/07/02 14:14:26 1.1195 +++ /project/slime/cvsroot/slime/slime.el 2009/07/02 17:00:21 1.1196 @@ -8309,7 +8309,8 @@ (defun slime-beginning-of-symbol () "Move to the beginning of the CL-style symbol at point." (while (re-search-backward "\\(\\sw\\|\\s_\\|\\s\\.\\|\\s\\\\|[#@|]\\)\\=" - nil t)) + (when (> (point) 2000) (- (point) 2000)) + t)) (re-search-forward "\\=#[-+.<|]" nil t) (when (and (looking-at "@") (eq (char-before) ?\,)) (forward-char))) From sboukarev at common-lisp.net Thu Jul 2 17:00:25 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Thu, 02 Jul 2009 13:00:25 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv20148/contrib Modified Files: ChangeLog slime-repl.el Log Message: * slime.el (slime-beginning-of-symbol): Limit searching to 2000 characters. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/06/28 08:51:18 1.220 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/02 17:00:25 1.221 @@ -1,3 +1,7 @@ +2009-07-02 Stas Boukarev + + * slime-repl.el (slime-repl-delete-current-input): Make it interactive. + 2009-06-28 Stas Boukarev * slime-fuzzy.el (slime-fuzzy-complete-symbol): show message in the --- /project/slime/cvsroot/slime/contrib/slime-repl.el 2009/05/28 15:40:10 1.22 +++ /project/slime/cvsroot/slime/contrib/slime-repl.el 2009/07/02 17:00:25 1.23 @@ -790,6 +790,8 @@ (lisp-indent-line))) (defun slime-repl-delete-current-input () + "Delete all text from the prompt." + (interactive) (delete-region slime-repl-input-start-mark (point-max))) (defun slime-repl-kill-input () From trittweiler at common-lisp.net Sat Jul 4 09:54:17 2009 From: trittweiler at common-lisp.net (CVS User trittweiler) Date: Sat, 04 Jul 2009 05:54:17 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv24282/contrib Modified Files: ChangeLog slime-fontifying-fu.el Log Message: Fix font-lock magic for s-code.lisp in the series package. * slime-fontifying-fu.el (slime-beginning-of-tlf): Use `syntax-ppss-toplevel-pos' on GNU Emacs. Old definition is retained for systems where it's not available. Also wrap an `ignore-errors' around the call to `up-list' in the old definition to guard against unbalanced parentheses. Reported by Stelian Ionescu, Raymond Toy. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/02 17:00:25 1.221 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/04 09:54:16 1.222 @@ -1,3 +1,15 @@ +2009-07-04 Tobias C. Rittweiler + + Fix font-lock magic for s-code.lisp in the series package. + + * slime-fontifying-fu.el (slime-beginning-of-tlf): Use + `syntax-ppss-toplevel-pos' on GNU Emacs. Old definition is + retained for systems where it's not available. Also wrap an + `ignore-errors' around the call to `up-list' in the old definition + to guard against unbalanced parentheses. + + Reported by Stelian Ionescu, Raymond Toy. + 2009-07-02 Stas Boukarev * slime-repl.el (slime-repl-delete-current-input): Make it interactive. --- /project/slime/cvsroot/slime/contrib/slime-fontifying-fu.el 2009/06/21 12:18:25 1.13 +++ /project/slime/cvsroot/slime/contrib/slime-fontifying-fu.el 2009/07/04 09:54:16 1.14 @@ -145,19 +145,25 @@ "Further: font-lock-beg=%d, font-lock-end=%d.") c font-lock-beg font-lock-end))))) -(defun slime-beginning-of-tlf () - (let* ((state (slime-current-parser-state)) - (comment-start (nth 8 state))) - (when comment-start ; or string - (goto-char comment-start) - (setq state (slime-current-parser-state))) - (let ((depth (nth 0 state))) - (if (plusp depth) - (up-list (- depth)) - (when-let (upper-pt (nth 1 state)) - (goto-char upper-pt) - (while (when-let (upper-pt (nth 1 (slime-current-parser-state))) - (goto-char upper-pt)))))))) +(when (fboundp 'syntax-ppss-toplevel-pos) + (defun slime-beginning-of-tlf () + (when-let (pos (syntax-ppss-toplevel-pos (slime-current-parser-state))) + (goto-char pos)))) + +(unless (fboundp 'syntax-ppss-toplevel-pos) + (defun slime-beginning-of-tlf () + (let* ((state (slime-current-parser-state)) + (comment-start (nth 8 state))) + (when comment-start ; or string + (goto-char comment-start) + (setq state (slime-current-parser-state))) + (let ((depth (nth 0 state))) + (when (plusp depth) + (ignore-errors (up-list (- depth)))) ; ignore unbalanced parentheses + (when-let (upper-pt (nth 1 state)) + (goto-char upper-pt) + (while (when-let (upper-pt (nth 1 (slime-current-parser-state))) + (goto-char upper-pt)))))))) (defun slime-compute-region-for-font-lock (orig-beg orig-end) (let ((beg orig-beg) @@ -175,8 +181,6 @@ (point))))) (values (or (/= beg orig-beg) (/= end orig-end)) beg end))) - - (defun slime-activate-font-lock-magic () From trittweiler at common-lisp.net Mon Jul 6 11:22:49 2009 From: trittweiler at common-lisp.net (CVS User trittweiler) Date: Mon, 06 Jul 2009 07:22:49 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv13461 Modified Files: swank.lisp ChangeLog Log Message: * swank.lisp (make-repl-input-stream): Make sure to redirect output from slime requests to the REPL buffer for communication-style=NIL. --- /project/slime/cvsroot/slime/swank.lisp 2009/07/02 14:14:26 1.654 +++ /project/slime/cvsroot/slime/swank.lisp 2009/07/06 11:22:47 1.655 @@ -1358,15 +1358,19 @@ (if (open-stream-p stdin) :stdin-open :stdin-closed)) (loop - (let* ((socket (connection.socket-io connection)) (inputs (list socket stdin)) (ready (wait-for-input inputs))) (cond ((eq ready :interrupt) (check-slime-interrupts)) ((member socket ready) - (handle-requests connection t)) + ;; A Slime request from Emacs is pending; make sure to + ;; redirect IO to the REPL buffer. + (with-io-redirection (connection) + (handle-requests connection t))) ((member stdin ready) + ;; User typed something into the *inferior-lisp* buffer, + ;; so do not redirect. (return (read-non-blocking stdin))) (t (assert (null ready))))))))) --- /project/slime/cvsroot/slime/ChangeLog 2009/07/02 17:00:21 1.1806 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/06 11:22:47 1.1807 @@ -1,3 +1,9 @@ +2009-07-06 Tobias C. Rittweiler + + * swank.lisp (make-repl-input-stream): Make sure to redirect + output from slime requests to the REPL buffer for + communication-style=NIL. + 2009-07-02 Stas Boukarev * slime.el (slime-beginning-of-symbol): Limit searching to 2000 @@ -148,7 +154,7 @@ * swank-ecl.lisp: Support new environment changes in recent ECL/CVS patch largely from ECL maintainer. -2009-06-1 Tobias C. Rittweiler +2009-06-11 Tobias C. Rittweiler * slime.el ([test] font-lock-magic): Moved to fontifying-fu contrib. From trittweiler at common-lisp.net Mon Jul 6 12:32:12 2009 From: trittweiler at common-lisp.net (CVS User trittweiler) Date: Mon, 06 Jul 2009 08:32:12 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv5781 Modified Files: swank-ecl.lisp ChangeLog Log Message: * swank-ecl.lisp (find-external-format): Copied from swank-sbcl.lisp. A lot of backends seem to share the same implementation, perhaps some refactoring is needed. --- /project/slime/cvsroot/slime/swank-ecl.lisp 2009/07/01 03:38:54 1.43 +++ /project/slime/cvsroot/slime/swank-ecl.lisp 2009/07/06 12:32:12 1.44 @@ -72,6 +72,16 @@ (defimplementation preferred-communication-style () (values nil)) +(defvar *external-format-to-coding-system* + '((:iso-8859-1 + "latin-1" "latin-1-unix" "iso-latin-1-unix" + "iso-8859-1" "iso-8859-1-unix") + (:utf-8 "utf-8" "utf-8-unix"))) + +(defimplementation find-external-format (coding-system) + (car (rassoc-if (lambda (x) (member coding-system x :test #'equal)) + *external-format-to-coding-system*))) + ;;;; Unix signals --- /project/slime/cvsroot/slime/ChangeLog 2009/07/06 11:22:47 1.1807 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/06 12:32:12 1.1808 @@ -1,5 +1,11 @@ 2009-07-06 Tobias C. Rittweiler + * swank-ecl.lisp (find-external-format): Copied from + swank-sbcl.lisp. A lot of backends seem to share the same + implementation, perhaps some refactoring is needed. + +2009-07-06 Tobias C. Rittweiler + * swank.lisp (make-repl-input-stream): Make sure to redirect output from slime requests to the REPL buffer for communication-style=NIL. From sboukarev at common-lisp.net Sat Jul 11 15:35:10 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Sat, 11 Jul 2009 11:35:10 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv5414 Modified Files: ChangeLog Log Message: * doc/Makefile (clean): Remove bash extensions. Patch by Teemu Likonen. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/06 12:32:12 1.1808 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/11 15:35:09 1.1809 @@ -1,3 +1,8 @@ +2009-07-11 Stas Boukarev + + * doc/Makefile (clean): Remove bash extensions. Patch by + Teemu Likonen. + 2009-07-06 Tobias C. Rittweiler * swank-ecl.lisp (find-external-format): Copied from From sboukarev at common-lisp.net Sat Jul 11 15:35:12 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Sat, 11 Jul 2009 11:35:12 -0400 Subject: [slime-cvs] CVS slime/doc Message-ID: Update of /project/slime/cvsroot/slime/doc In directory cl-net:/tmp/cvs-serv5414/doc Modified Files: Makefile Log Message: * doc/Makefile (clean): Remove bash extensions. Patch by Teemu Likonen. --- /project/slime/cvsroot/slime/doc/Makefile 2009/01/08 16:20:14 1.13 +++ /project/slime/cvsroot/slime/doc/Makefile 2009/07/11 15:35:12 1.14 @@ -95,6 +95,8 @@ clean: rm -f contributors.texi - rm -f slime.{aux,cp,cps,fn,fns,ky,kys,log,pg,tmp,toc,tp,vr,vrs} - rm -f slime.{info,pdf,dvi,ps,html} - rm -rf html{,.tgz} + rm -f slime.aux slime.cp slime.cps slime.fn slime.fns slime.ky + rm -f slime.kys slime.log slime.pg slime.tmp slime.toc slime.tp + rm -f slime.vr slime.vrs + rm -f slime.info slime.pdf slime.dvi slime.ps slime.html + rm -rf html html.tgz From mkoeppe at common-lisp.net Sat Jul 11 18:25:16 2009 From: mkoeppe at common-lisp.net (CVS User mkoeppe) Date: Sat, 11 Jul 2009 14:25:16 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv14386 Modified Files: swank-backend.lisp Log Message: (definterface): Fix typo in error message. --- /project/slime/cvsroot/slime/swank-backend.lisp 2009/06/28 19:15:08 1.177 +++ /project/slime/cvsroot/slime/swank-backend.lisp 2009/07/11 18:25:15 1.178 @@ -149,7 +149,7 @@ (let ((f (or (get ',name 'implementation) (get ',name 'default)))) (cond (f (apply f ,@(args-as-list args))) - (t (error "~S not implementated" ',name))))) + (t (error "~S not implemented" ',name))))) (pushnew ',name *interface-functions*) ,(if (null default-body) `(pushnew ',name *unimplemented-interfaces*) From mkoeppe at common-lisp.net Sat Jul 11 18:25:59 2009 From: mkoeppe at common-lisp.net (CVS User mkoeppe) Date: Sat, 11 Jul 2009 14:25:59 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv14438 Modified Files: ChangeLog Log Message: *** empty log message *** --- /project/slime/cvsroot/slime/ChangeLog 2009/07/11 15:35:09 1.1809 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/11 18:25:59 1.1810 @@ -1,3 +1,7 @@ +2009-07-11 Matthias Koeppe + + * swank-backend.lisp (definterface): Fix typo in error message. + 2009-07-11 Stas Boukarev * doc/Makefile (clean): Remove bash extensions. Patch by @@ -84,7 +88,7 @@ 2009-06-25 Geo Carncross - * swank-ecl.lisp: Profiling support by Marko Koci?? + * swank-ecl.lisp: Profiling support by Marko Koci? 2009-06-27 Helmut Eller From sboukarev at common-lisp.net Sat Jul 11 19:20:18 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Sat, 11 Jul 2009 15:20:18 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv29168 Modified Files: ChangeLog slime-parse.el Log Message: * slime-parse.el (slime-make-form-spec-from-string): Set syntax table to lisp-mode-syntax-table in a temporary buffer. Necessary for some parsing functions to work correctly. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/04 09:54:16 1.222 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/11 19:20:18 1.223 @@ -1,3 +1,9 @@ +2009-07-11 Stas Boukarev + + * slime-parse.el (slime-make-form-spec-from-string): + set syntax table to lisp-mode-syntax-table in a temporary buffer. + Necessary for some parsing functions to work correctly. + 2009-07-04 Tobias C. Rittweiler Fix font-lock magic for s-code.lisp in the series package. --- /project/slime/cvsroot/slime/contrib/slime-parse.el 2009/05/01 18:09:43 1.22 +++ /project/slime/cvsroot/slime/contrib/slime-parse.el 2009/07/11 19:20:18 1.23 @@ -235,6 +235,7 @@ ;; Do NEVER ever try to activate `lisp-mode' here with ;; `slime-use-autodoc-mode' enabled, as this function is used ;; to compute the current autodoc itself. + (set-syntax-table lisp-mode-syntax-table) (erase-buffer) (insert string) (when strip-operator-p ; `(OP arg1 arg2 ...)' ==> `(arg1 arg2 ...)' From heller at common-lisp.net Sun Jul 12 08:01:10 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 12 Jul 2009 04:01:10 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv30776/contrib Modified Files: ChangeLog swank-goo.goo swank-kawa.scm swank-mit-scheme.scm swank.rb Log Message: * swank-mit-scheme.scm (swank:create-repl): Implement it. * swank-kawa.scm, swank-goo.scm, swank.rb (frame-source-location): Renamed from frame-source-location-for-emacs. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/11 19:20:18 1.223 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/12 08:01:10 1.224 @@ -16,6 +16,12 @@ Reported by Stelian Ionescu, Raymond Toy. +2009-07-10 Helmut Eller + + * swank-mit-scheme.scm (swank:create-repl): Implement it. + * swank-kawa.scm, swank-goo.scm, swank.rb (frame-source-location): + Renamed from frame-source-location-for-emacs. + 2009-07-02 Stas Boukarev * slime-repl.el (slime-repl-delete-current-input): Make it interactive. --- /project/slime/cvsroot/slime/contrib/swank-goo.goo 2008/10/19 20:03:55 1.2 +++ /project/slime/cvsroot/slime/contrib/swank-goo.goo 2009/07/12 08:01:10 1.3 @@ -245,7 +245,7 @@ (reset-inspector) (inspect-object (@condition sldb-context))) -(defslimefun frame-source-location-for-emacs (frame-idx) +(defslimefun frame-source-location (frame-idx) (match (nth-frame frame-idx) ((,f , at _) (or (emacs-src-loc f) --- /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/03/09 11:06:30 1.14 +++ /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/12 08:01:10 1.15 @@ -389,8 +389,8 @@ (send dbg `(throw-to-toplevel ,thread ,id))) ((_ (':emacs-rex ('|swank:sldb-continue|) pkg thread id)) (send dbg `(thread-continue ,thread ,id))) - ((_ (':emacs-rex ('|swank:frame-source-location-for-emacs| frame) - pkg thread id)) + ((_ (':emacs-rex ('|swank:frame-source-location| frame) + pkg thread id)) (send dbg `(frame-src-loc ,thread ,frame ,id))) ((_ (':emacs-rex ('|swank:frame-locals-and-catch-tags| frame) pkg thread id)) --- /project/slime/cvsroot/slime/contrib/swank-mit-scheme.scm 2008/10/19 20:03:55 1.4 +++ /project/slime/cvsroot/slime/contrib/swank-mit-scheme.scm 2009/07/12 08:01:10 1.5 @@ -314,6 +314,13 @@ (make-port-type `((write-substring ,repl-write-substring) (write-char ,repl-write-char)) #f)) +(define (swank:create-repl socket . _) + (let* ((env (user-env *buffer-package*)) + (name (format #f "~a" + (package/name (environment->package + (user-env *buffer-package*)))))) + (list name name))) + ;;;; Compilation --- /project/slime/cvsroot/slime/contrib/swank.rb 2009/02/14 12:59:32 1.1 +++ /project/slime/cvsroot/slime/contrib/swank.rb 2009/07/12 08:01:10 1.2 @@ -170,7 +170,7 @@ conn.sldb_backtrace(exc, from, to) end -$rpc_entries[:"swank:frame-source-location-for-emacs"] = lambda do |frame| +$rpc_entries[:"swank:frame-source-location"] = lambda do |frame| conn, exc = $sldb_context conn.frame_src_loc(exc, frame) end From heller at common-lisp.net Sun Jul 12 08:01:15 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 12 Jul 2009 04:01:15 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv30824/contrib Modified Files: swank-kawa.scm Log Message: (swank-writer): Use set! for now, as the svn version has problems to resolve setLength. (:init): Don't forget the self slot. --- /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/12 08:01:10 1.15 +++ /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/12 08:01:15 1.16 @@ -19,7 +19,7 @@ '((kawa ("java" "-cp" "/opt/kawa/kawa-svn:/opt/java/jdk1.6.0/lib/tools.jar" "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n" - "kawa.repl") + "kawa.repl" "-s") :init kawa-slime-init))) (defun kawa-slime-init (file _) @@ -1015,11 +1015,8 @@ (pprint-to-string (%macroexpand (read-from-string string)))) (df %macroexpand (sexp) - (let* ((lang (:getDefaultLanguage)) - (msgs ()) - (tr ( lang msgs))) - (! pushNewModule tr (as #!null)) - (! parse tr `(lambda () ,sexp)))) + (let ((tr :: kawa.lang.Translator (gnu.expr.Compilation:getCurrent))) + (! rewrite tr sexp))) ;;;; Inspector @@ -1148,7 +1145,7 @@ (flush (fun () (unless (zero? (! length builder)) (send out `(forward (:write-string ,( builder)))) - (! setLength builder 0)))) + (set! builder:length 0)))) ; pure magic (closed #f)) (while (not closed) (mcase (! poll q 200 :MILLISECONDS) @@ -1289,7 +1286,8 @@ (set (@ loc (this)) loc) (set (@ args (this)) args) (set (@ names (this)) names) - (set (@ values (this)) values)) + (set (@ values (this)) values) + (set (@ self (this)) self)) ((toString) :: (format "#" (src-loc>str loc)))) From heller at common-lisp.net Sun Jul 12 08:01:19 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 12 Jul 2009 04:01:19 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv30854/contrib Modified Files: ChangeLog Log Message: *** empty log message *** --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/12 08:01:10 1.224 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/12 08:01:19 1.225 @@ -1,3 +1,15 @@ +2009-07-12 Helmut Eller + + * swank-kawa.scm (swank-writer): Use set! for now, as the svn + version has problems to resolve setLength. + (:init): Don't forget the self slot. + +2009-07-12 Helmut Eller + + * swank-mit-scheme.scm (swank:create-repl): Implement it. + * swank-kawa.scm, swank-goo.scm, swank.rb (frame-source-location): + Renamed from frame-source-location-for-emacs. + 2009-07-11 Stas Boukarev * slime-parse.el (slime-make-form-spec-from-string): @@ -16,12 +28,6 @@ Reported by Stelian Ionescu, Raymond Toy. -2009-07-10 Helmut Eller - - * swank-mit-scheme.scm (swank:create-repl): Implement it. - * swank-kawa.scm, swank-goo.scm, swank.rb (frame-source-location): - Renamed from frame-source-location-for-emacs. - 2009-07-02 Stas Boukarev * slime-repl.el (slime-repl-delete-current-input): Make it interactive. From heller at common-lisp.net Sun Jul 12 08:01:28 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 12 Jul 2009 04:01:28 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv31106 Modified Files: ChangeLog slime.el Log Message: * slime.el (slime-editing-keys): Don't override M-*. The default binding should do what Matthias wants. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/11 18:25:59 1.1810 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/12 08:01:28 1.1811 @@ -1,3 +1,8 @@ +2009-07-12 Helmut Eller + + * slime.el (slime-editing-keys): Don't override M-*. The default + binding should do what Matthias wants. + 2009-07-11 Matthias Koeppe * swank-backend.lisp (definterface): Fix typo in error message. --- /project/slime/cvsroot/slime/slime.el 2009/07/02 17:00:21 1.1196 +++ /project/slime/cvsroot/slime/slime.el 2009/07/12 08:01:28 1.1197 @@ -585,7 +585,7 @@ ([?\C-\M-.] slime-next-location) ;; Obsolete, redundant bindings ("\C-c\C-i" slime-complete-symbol) - ("\M-*" slime-edit-definition) + ;;("\M-*" pop-tag-mark) ; almost to clever )) (defvar slime-keys From trittweiler at common-lisp.net Wed Jul 15 19:37:27 2009 From: trittweiler at common-lisp.net (CVS User trittweiler) Date: Wed, 15 Jul 2009 15:37:27 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv637/contrib Modified Files: swank-sbcl-exts.lisp ChangeLog Log Message: * swank-sbcl-exts.lisp (compute-enriched-decoded-arglist): Filter uninteresting arguments for SB-ASSEM:INST. --- /project/slime/cvsroot/slime/contrib/swank-sbcl-exts.lisp 2008/12/31 12:31:31 1.2 +++ /project/slime/cvsroot/slime/contrib/swank-sbcl-exts.lisp 2009/07/15 19:37:25 1.3 @@ -18,24 +18,34 @@ ;;; (defmethod compute-enriched-decoded-arglist ((operator-form (eql 'sb-assem:inst)) argument-forms) - (if (null argument-forms) - (call-next-method) - (destructuring-bind (instruction &rest args) argument-forms - (declare (ignore args)) - (let* ((instr-name - (if (arglist-dummy-p instruction) - (string-upcase (arglist-dummy.string-representation instruction)) - (symbol-name instruction))) - (instr-fn (gethash instr-name sb-assem:*assem-instructions*))) - (if (not instr-fn) - (call-next-method) - (with-available-arglist (instr-arglist) (arglist instr-fn) - (let ((decoded-arglist (decode-arglist instr-arglist))) - ;; The arglist of INST is (instruction ...INSTR-ARGLIST...). - (push 'sb-assem::instruction (arglist.required-args decoded-arglist)) - (values decoded-arglist - (list instr-name) - t)))))))) + (flet ((decode-instruction-arglist (instr-name instr-arglist) + (let ((decoded-arglist (decode-arglist instr-arglist))) + ;; The arglist of INST is (instruction ...INSTR-ARGLIST...). + (push 'sb-assem::instruction (arglist.required-args decoded-arglist)) + (values decoded-arglist + (list instr-name) + t)))) + (if (null argument-forms) + (call-next-method) + (destructuring-bind (instruction &rest args) argument-forms + (declare (ignore args)) + (let* ((instr-name + (if (arglist-dummy-p instruction) + (string-upcase (arglist-dummy.string-representation instruction)) + (symbol-name instruction))) + (instr-fn (gethash instr-name sb-assem:*assem-instructions*))) + (cond ((not instr-fn) + (call-next-method)) + ((functionp instr-fn) + (with-available-arglist (arglist) (arglist instr-fn) + (decode-instruction-arglist instr-name arglist))) + (t + (assert (symbolp instr-fn)) + (with-available-arglist (arglist) (arglist instr-fn) + ;; SB-ASSEM:INST invokes a symbolic INSTR-FN with + ;; current segment and current vop implicitly. + (decode-instruction-arglist instr-name (cddr arglist))) + ))))))) ) ; PROGN --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/12 08:01:19 1.225 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/15 19:37:25 1.226 @@ -1,3 +1,8 @@ +2009-07-15 Tobias C. Rittweiler + + * swank-sbcl-exts.lisp (compute-enriched-decoded-arglist): Filter + uninteresting arguments for SB-ASSEM:INST. + 2009-07-12 Helmut Eller * swank-kawa.scm (swank-writer): Use set! for now, as the svn From sboukarev at common-lisp.net Wed Jul 15 20:34:10 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Wed, 15 Jul 2009 16:34:10 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv15286 Modified Files: ChangeLog slime.el Log Message: * slime.el (slime-inspector-fetch-all): new command, bound to > in the inspector buffer. * doc/slime.texi (Frame Navigation): add description of `sldb-end-of-backtrace' and `sldb-beginning-of-backtrace'. (Inspector): add `slime-inspector-fetch-all'. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/12 08:01:28 1.1811 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/15 20:34:09 1.1812 @@ -1,3 +1,13 @@ +2009-07-15 Stas Boukarev + + * slime.el (slime-inspector-fetch-all): new command, bound to > + in the inspector buffer. + + * doc/slime.texi (Frame Navigation): add description + of `sldb-end-of-backtrace' and `sldb-beginning-of-backtrace'. + (Inspector): add `slime-inspector-fetch-all'. + + 2009-07-12 Helmut Eller * slime.el (slime-editing-keys): Don't override M-*. The default --- /project/slime/cvsroot/slime/slime.el 2009/07/12 08:01:28 1.1197 +++ /project/slime/cvsroot/slime/slime.el 2009/07/15 20:34:10 1.1198 @@ -6554,6 +6554,15 @@ 'face 'slime-inspector-action-face) (if previous " [--more--]\n" " [--more--]"))) +(defun slime-inspector-fetch-all () + "Fetch all inspector contents and go to the end." + (interactive) + (let ((button (get-text-property (1- (point-max)) 'slime-range-button))) + (when button + (goto-char (1- (point-max))) + (let (slime-inspector-limit) + (slime-inspector-fetch-more button))))) + (defun slime-inspector-fetch-more (button) (destructuring-bind (index prev) button (slime-inspector-fetch-chunk @@ -6615,7 +6624,8 @@ ("\C-i" 'slime-inspector-next-inspectable-object) ([(shift tab)] 'slime-inspector-previous-inspectable-object) ; Emacs translates S-TAB ([backtab] 'slime-inspector-previous-inspectable-object) ; to BACKTAB on X. - ("." 'slime-inspector-show-source)) + ("." 'slime-inspector-show-source) + (">" 'slime-inspector-fetch-all)) ;;;; Buffer selector From sboukarev at common-lisp.net Wed Jul 15 20:34:18 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Wed, 15 Jul 2009 16:34:18 -0400 Subject: [slime-cvs] CVS slime/doc Message-ID: Update of /project/slime/cvsroot/slime/doc In directory cl-net:/tmp/cvs-serv15286/doc Modified Files: slime.texi Log Message: * slime.el (slime-inspector-fetch-all): new command, bound to > in the inspector buffer. * doc/slime.texi (Frame Navigation): add description of `sldb-end-of-backtrace' and `sldb-beginning-of-backtrace'. (Inspector): add `slime-inspector-fetch-all'. --- /project/slime/cvsroot/slime/doc/slime.texi 2009/05/18 12:54:09 1.73 +++ /project/slime/cvsroot/slime/doc/slime.texi 2009/07/15 20:34:17 1.74 @@ -12,7 +12,7 @@ @set EDITION 3.0-alpha @set SLIMEVER 3.0-alpha @c @set UPDATED @today{} - at set UPDATED @code{$Date: 2009/05/18 12:54:09 $} + at set UPDATED @code{$Date: 2009/07/15 20:34:17 $} @set TITLE SLIME User Manual @settitle @value{TITLE}, version @value{EDITION} @@ -1225,6 +1225,9 @@ @kbditem{., slime-inspector-show-source} Find source of object at point. + at kbditem{>, slime-inspector-fetch-all} +Fetch all inspector contents and go to the end. + @kbditem{M-RET, slime-inspector-copy-down} Store the value under point in the variable `*'. This can then be used to access the object in the REPL. @@ -1416,6 +1419,13 @@ frame and display the details and source code of the next. Sugared motion makes you see the details and source code for the current frame only. + + at kbditem{>, sldb-end-of-backtrace} +Fetch the entire backtrace and go to the last frame. + + at kbditem{<, sldb-beginning-of-backtrace} +Goto the first frame. + @end table @node Stepping From sboukarev at common-lisp.net Wed Jul 15 20:38:07 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Wed, 15 Jul 2009 16:38:07 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv15542 Modified Files: slime.el Log Message: slime.el(slime-inspector-fetch-all): go to the end even if there is nothing more to fetch. --- /project/slime/cvsroot/slime/slime.el 2009/07/15 20:34:10 1.1198 +++ /project/slime/cvsroot/slime/slime.el 2009/07/15 20:37:58 1.1199 @@ -6557,9 +6557,9 @@ (defun slime-inspector-fetch-all () "Fetch all inspector contents and go to the end." (interactive) - (let ((button (get-text-property (1- (point-max)) 'slime-range-button))) + (goto-char (1- (point-max))) + (let ((button (get-text-property (point) 'slime-range-button))) (when button - (goto-char (1- (point-max))) (let (slime-inspector-limit) (slime-inspector-fetch-more button))))) From heller at common-lisp.net Tue Jul 21 11:02:37 2009 From: heller at common-lisp.net (CVS User heller) Date: Tue, 21 Jul 2009 07:02:37 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv6068/contrib Modified Files: ChangeLog swank-kawa.scm Log Message: * swank-kawa.scm (operator-arglist): Implemented, at least for some kind of function. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/15 19:37:25 1.226 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/21 11:02:36 1.227 @@ -3,6 +3,11 @@ * swank-sbcl-exts.lisp (compute-enriched-decoded-arglist): Filter uninteresting arguments for SB-ASSEM:INST. +2009-07-19 Helmut Eller + + * swank-kawa.scm (operator-arglist): Implemented, at least for + some kind of function. + 2009-07-12 Helmut Eller * swank-kawa.scm (swank-writer): Use set! for now, as the svn --- /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/12 08:01:15 1.16 +++ /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/21 11:02:36 1.17 @@ -192,8 +192,8 @@ (result #!null)) (if (instance? tmp ) (let ((tmp :: tmp)) - (mif (p tmp:car) - (mif (ps tmp:cdr) + (mif (p (@ car tmp)) + (mif (ps (@ cdr tmp)) (set! result then) (set! fail? -1)) (set! fail? -1))) @@ -205,8 +205,8 @@ (tmp value)) (if (instance? tmp ) (let ((tmp :: tmp)) - (mif (p tmp:car) - (mif (ps tmp:cdr) + (mif (p (@ car tmp)) + (mif (ps (@ cdr tmp)) then (fail)) (fail))) @@ -774,10 +774,38 @@ ;;;; Dummy defs -(defslimefun operator-arglist (#!rest y) '()) + (defslimefun buffer-first-change (#!rest y) '()) (defslimefun swank-require (#!rest y) '()) +;;;; arglist + +(defslimefun operator-arglist (env name #!rest _) + (mcase (try-catch `(ok ,(eval (read-from-string name) env)) + (ex 'nil)) + (('ok obj) + (mcase (arglist obj) + ('#f 'nil) + ((args rtype) + (format "(~a~{~^ ~a~})~a" name + (map (fun (e) + (if (equal (cadr e) "java.lang.Object") (car e) e)) + args) + (if (equal rtype "java.lang.Object") + "" + (format " => ~a" rtype)))))) + (_ 'nil))) + +(df arglist (obj) + (typecase obj + ( + (let* ((mref (module-method>meth-ref obj))) + (list (mapi (! arguments mref) + (fun ((v )) + (list (! name v) (! typeName v)))) + (! returnTypeName mref)))) + ( #f))) + ;;;; M-. (defslimefun find-definitions-for-emacs (env name) @@ -818,7 +846,10 @@ (if s (all-definitions s) '())))) ( (list o)) ( (all-definitions (! get-class o))) - ( (list o)))) + ( (list o)) + ( (all-definitions (! getReflectClass o))) + ( '()) + )) (df gf-methods ((f )) (let* ((o :: (vm-mirror *the-vm* f)) @@ -913,8 +944,9 @@ (ex #f))))) (define swank-java-source-path - (let ((jre-home (:getProperty "java.home"))) - (list ( ( jre-home):parent "src.zip"):path))) + (let ((jre-home (:getProperty "java.home"))) + (list (! get-path ( (! get-parent ( jre-home)) "src.zip")) + ))) (df source-path () (mlet ((base) (search-path-prop "user.dir")) @@ -975,7 +1007,7 @@ (! write s cpool) (! flush s) (! toByteArray bs)))) - (vm-set-slot *the-vm* ct 'constants + (vm-set-slot *the-vm* ct "constants" ( ( ( @@ -1016,7 +1048,7 @@ (df %macroexpand (sexp) (let ((tr :: kawa.lang.Translator (gnu.expr.Compilation:getCurrent))) - (! rewrite tr sexp))) + (! rewrite tr `(begin ,sexp)))) ;;;; Inspector @@ -1173,6 +1205,7 @@ (df vm-monitor ((c )) (! set-name (current-thread) "swank-vm-monitor") (let ((vm (vm-attach))) + (log-vm-props vm) ;;(enable-uncaught-exception-events vm) (mlet* (((ev . _) (spawn/chan/catch (fun (c) @@ -1315,6 +1348,25 @@ ((request) :: #!null) ((virtualMachine) :: (! virtualMachine thread))) +(df log-vm-props ((vm )) + (letrec-syntax ((p (syntax-rules () + ((p name) (log "~s: ~s\n" 'name (! name vm))))) + (p* (syntax-rules () + ((p* n ...) (seq (p n) ...))))) + (p* canBeModified + canRedefineClasses + canAddMethod + canUnrestrictedlyRedefineClasses + canGetBytecodes + canGetConstantPool + canGetSyntheticAttribute + canGetSourceDebugExtension + canPopFrames + canForceEarlyReturn + canGetMethodReturnValues + canGetInstanceInfo + ))) + ;;;;; Debugger (df debug-thread ((tref ) state (c )) From heller at common-lisp.net Tue Jul 21 11:02:43 2009 From: heller at common-lisp.net (CVS User heller) Date: Tue, 21 Jul 2009 07:02:43 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv6108/contrib Modified Files: ChangeLog swank-goo.goo swank-jolt.k swank-kawa.scm Log Message: * swank-goo.goo, swank-jolt.k (create-repl): Implemented. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/21 11:02:36 1.227 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/21 11:02:42 1.228 @@ -3,6 +3,10 @@ * swank-sbcl-exts.lisp (compute-enriched-decoded-arglist): Filter uninteresting arguments for SB-ASSEM:INST. +2009-07-21 Helmut Eller + + * swank-goo.goo, swank-jolt.k (create-repl): Implemented. + 2009-07-19 Helmut Eller * swank-kawa.scm (operator-arglist): Implemented, at least for --- /project/slime/cvsroot/slime/contrib/swank-goo.goo 2009/07/12 08:01:10 1.3 +++ /project/slime/cvsroot/slime/contrib/swank-goo.goo 2009/07/21 11:02:42 1.4 @@ -499,6 +499,10 @@ (defslimefun ping () "PONG") +(defslimefun create-repl (_) + (let ((name (sym-name (module-name (buffer-module))))) + `(,name ,name))) + (defslimefun listener-eval (string) (clear-input in) `(:values ,(write-to-string (str-eval string (buffer-module))))) --- /project/slime/cvsroot/slime/contrib/swank-jolt.k 2008/10/23 21:33:49 1.1 +++ /project/slime/cvsroot/slime/contrib/swank-jolt.k 2009/07/21 11:02:42 1.2 @@ -117,8 +117,8 @@ (df _>int (word) (! Integer value_: word)) (df int>_ (i) (! i _integerValue)) -;; Fixnum operators. Manual tagging/untagging would probably be -;; efficent than invoking methods +;; Fixnum operators. Manual tagging/untagging would probably be more +;; efficent than invoking methods. (df fix? (obj) (& obj 1)) (df _>fix (n) (! SmallInteger value_: n)) @@ -965,6 +965,7 @@ (df swank:operator-arglist () nil) (df swank:buffer-first-change () nil) +(df swank:create-repl (_) '("jolt" "jolt")) (df min (x y) (if (<= x y) x y)) --- /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/21 11:02:36 1.17 +++ /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2009/07/21 11:02:42 1.18 @@ -360,11 +360,7 @@ ((in . _) (spawn/chan/catch (fun (c) (reader ins c)))) ((out . _) (spawn/chan/catch (fun (c) (writer outs c)))) ((dbg . _) (spawn/chan/catch vm-monitor)) - (user-env - ( - "user" (interaction-environment)) - ;;(interaction-environment) - ) + (user-env (interaction-environment)) (x (seq (! set-flag user-env #t #|:THREAD_SAFE|# 8) (! set-flag user-env #f #|:DIRECT_INHERITED_ON_SET|# 16))) From sboukarev at common-lisp.net Tue Jul 21 18:34:55 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Tue, 21 Jul 2009 14:34:55 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv8839 Modified Files: ChangeLog slime.el Log Message: * slime.el (slime-sexp-at-point-for-macroexpansion): use markers for bounds, because in some situations text layout could be modified before bounds would be used, for example, using keyboard macros. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/15 20:34:09 1.1812 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/21 18:34:54 1.1813 @@ -1,3 +1,9 @@ +2009-07-21 Stas Boukarev + + * slime.el (slime-sexp-at-point-for-macroexpansion): use markers + for bounds, because in some situations text layout could be modified + before bounds would be used, for example, using keyboard macros. + 2009-07-15 Stas Boukarev * slime.el (slime-inspector-fetch-all): new command, bound to > --- /project/slime/cvsroot/slime/slime.el 2009/07/15 20:37:58 1.1199 +++ /project/slime/cvsroot/slime/slime.el 2009/07/21 18:34:54 1.1200 @@ -5057,7 +5057,8 @@ (when (member char0 '(?\' ?\, ?\" ?\@)) (setf string (substring string 1)) (incf (car bounds))))) - (list string bounds))) + (list string (cons (set-marker (make-marker) (car bounds)) + (set-marker (make-marker) (cdr bounds)))))) (defvar slime-eval-macroexpand-expression nil "Specifies the last macroexpansion preformed. From sboukarev at common-lisp.net Wed Jul 22 11:25:30 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Wed, 22 Jul 2009 07:25:30 -0400 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory cl-net:/tmp/cvs-serv20565/contrib Modified Files: ChangeLog slime-fuzzy.el swank-fuzzy.lisp Log Message: * swank-fuzzy.lisp (fuzzy-convert-matching-for-emacs): format floats on the lisp side, because Emacs doesn't accept d0 or s0, which could get there as a result of *read-default-float-format* modification. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/21 11:02:42 1.228 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2009/07/22 11:25:28 1.229 @@ -1,3 +1,12 @@ +2009-07-22 Stas Boukarev + + * swank-fuzzy.lisp (fuzzy-convert-matching-for-emacs): format + floats on the lisp side, because Emacs doesn't accept d0 or s0, + which could get there as a result of *read-default-float-format* + modification. + + * slime-fuzzy.el (slime-fuzzy-insert-completion-choice): ditto. + 2009-07-15 Tobias C. Rittweiler * swank-sbcl-exts.lisp (compute-enriched-decoded-arglist): Filter --- /project/slime/cvsroot/slime/contrib/slime-fuzzy.el 2009/06/28 08:51:18 1.10 +++ /project/slime/cvsroot/slime/contrib/slime-fuzzy.el 2009/07/22 11:25:28 1.11 @@ -313,10 +313,9 @@ (put-text-property start (point) 'mouse-face 'highlight) (dotimes (i (- max-length (- end start))) (insert " ")) - (insert (format " %s %-8.2f" + (insert (format " %s %s\n" classification-string - score)) - (insert "\n") + score)) (put-text-property start (point) 'completion completion)))) (defun slime-fuzzy-insert (text) --- /project/slime/cvsroot/slime/contrib/swank-fuzzy.lisp 2008/03/14 14:31:52 1.8 +++ /project/slime/cvsroot/slime/contrib/swank-fuzzy.lisp 2009/07/22 11:25:28 1.9 @@ -140,7 +140,7 @@ (multiple-value-bind (name added-length) (fuzzy-format-matching fuzzy-matching user-input-string) (list name - score + (format nil "~,2f" score) (append package-chunks (mapcar #'(lambda (chunk) ;; Fix up chunk positions to account for possible From heller at common-lisp.net Sun Jul 26 08:00:43 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 26 Jul 2009 04:00:43 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv31627 Modified Files: ChangeLog swank-loader.lisp Added Files: swank-ccl.lisp Log Message: * swank-ccl.lisp: New file. An updated version of swank-openmcl.lisp in preparation for a slew of changes to CCL and to honor the new name. * swank-loader.lisp (*sysdep-files*): Use it. By Gail Zacharias --- /project/slime/cvsroot/slime/ChangeLog 2009/07/21 18:34:54 1.1813 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/26 08:00:40 1.1814 @@ -1,3 +1,11 @@ +2009-07-26 Gail Zacharias + + * swank-ccl.lisp: New file. An updated version of + swank-openmcl.lisp in preparation for a slew of changes to CCL and + to honor the new name. + + * swank-loader.lisp (*sysdep-files*): Use it. + 2009-07-21 Stas Boukarev * slime.el (slime-sexp-at-point-for-macroexpansion): use markers --- /project/slime/cvsroot/slime/swank-loader.lisp 2009/01/08 16:20:14 1.90 +++ /project/slime/cvsroot/slime/swank-loader.lisp 2009/07/26 08:00:40 1.91 @@ -37,7 +37,7 @@ #+scl '(swank-source-path-parser swank-source-file-cache swank-scl) #+sbcl '(swank-source-path-parser swank-source-file-cache swank-sbcl swank-gray) - #+openmcl '(metering swank-openmcl swank-gray) + #+clozure '(metering swank-ccl swank-gray) #+lispworks '(swank-lispworks swank-gray) #+allegro '(swank-allegro swank-gray) #+clisp '(xref metering swank-clisp swank-gray) @@ -46,7 +46,7 @@ #+ecl '(swank-source-path-parser swank-source-file-cache swank-ecl swank-gray)) (defparameter *implementation-features* - '(:allegro :lispworks :sbcl :openmcl :cmu :clisp :ccl :corman :cormanlisp + '(:allegro :lispworks :sbcl :clozure :cmu :clisp :ccl :corman :cormanlisp :armedbear :gcl :ecl :scl)) (defparameter *os-features* @@ -58,8 +58,8 @@ :sparc64 :sparc :hppa64 :hppa)) (defun lisp-version-string () - #+(or openmcl cmu) (substitute-if #\_ (lambda (x) (find x " /")) - (lisp-implementation-version)) + #+(or clozure cmu) (substitute-if #\_ (lambda (x) (find x " /")) + (lisp-implementation-version)) #+(or cormanlisp scl sbcl ecl) (lisp-implementation-version) #+lispworks (lisp-implementation-version) #+allegro (format nil --- /project/slime/cvsroot/slime/swank-ccl.lisp 2009/07/26 08:00:43 NONE +++ /project/slime/cvsroot/slime/swank-ccl.lisp 2009/07/26 08:00:43 1.1 ;;;; -*- Mode: lisp; indent-tabs-mode: nil -*- ;;; ;;; openmcl-swank.lisp --- SLIME backend for OpenMCL. ;;; ;;; Copyright (C) 2003, James Bielman ;;; ;;; This program is licensed under the terms of the Lisp Lesser GNU ;;; Public License, known as the LLGPL, and distributed with OpenMCL ;;; as the file "LICENSE". The LLGPL consists of a preamble and the ;;; LGPL, which is distributed with OpenMCL as the file "LGPL". Where ;;; these conflict, the preamble takes precedence. ;;; ;;; The LLGPL is also available online at ;;; http://opensource.franz.com/preamble.html ;;; ;;; This is the beginning of a Slime backend for OpenMCL. It has been ;;; tested only with OpenMCL version 0.14-030901 on Darwin --- I would ;;; be interested in hearing the results with other versions. ;;; ;;; Additionally, reporting the positions of warnings accurately requires ;;; a small patch to the OpenMCL file compiler, which may be found at: ;;; ;;; http://www.jamesjb.com/slime/openmcl-warning-position.diff ;;; ;;; Things that work: ;;; ;;; * Evaluation of forms with C-M-x. ;;; * Compilation of defuns with C-c C-c. ;;; * File compilation with C-c C-k. ;;; * Most of the debugger functionality, except EVAL-IN-FRAME, ;;; FRAME-SOURCE-LOCATION, and FRAME-CATCH-TAGS. ;;; * Macroexpanding with C-c RET. ;;; * Disassembling the symbol at point with C-c M-d. ;;; * Describing symbol at point with C-c C-d. ;;; * Compiler warnings are trapped and sent to Emacs using the buffer ;;; position of the offending top level form. ;;; * Symbol completion and apropos. ;;; ;;; Things that sort of work: ;;; ;;; * WHO-CALLS is implemented but is only able to return the file a ;;; caller is defined in---source location information is not ;;; available. ;;; ;;; Things that aren't done yet: ;;; ;;; * Cross-referencing. ;;; * Due to unimplementation functionality the test suite does not ;;; run correctly (it hangs upon entering the debugger). ;;; (in-package :swank-backend) ;; Backward compatibility (eval-when (:compile-toplevel) (unless (fboundp 'ccl:compute-applicable-methods-using-classes) (compile-file (make-pathname :name "swank-openmcl" :type "lisp" :defaults swank-loader::*source-directory*) :output-file (make-pathname :name "swank-ccl" :defaults swank-loader::*fasl-directory*) :verbose t) (invoke-restart (find-restart 'ccl::skip-compile-file)))) (eval-when (:compile-toplevel :execute :load-toplevel) (assert (and (= ccl::*openmcl-major-version* 1) (>= ccl::*openmcl-minor-version* 4)) () "This file needs CCL version 1.4 or newer")) (import-from :ccl *gray-stream-symbols* :swank-backend) (eval-when (:compile-toplevel :load-toplevel :execute) (require 'xref)) ;;; swank-mop (import-to-swank-mop '( ;; classes cl:standard-generic-function ccl:standard-slot-definition cl:method cl:standard-class ccl:eql-specializer openmcl-mop:finalize-inheritance openmcl-mop:compute-applicable-methods-using-classes ;; standard-class readers openmcl-mop:class-default-initargs openmcl-mop:class-direct-default-initargs openmcl-mop:class-direct-slots openmcl-mop:class-direct-subclasses openmcl-mop:class-direct-superclasses openmcl-mop:class-finalized-p cl:class-name openmcl-mop:class-precedence-list openmcl-mop:class-prototype openmcl-mop:class-slots openmcl-mop:specializer-direct-methods ;; eql-specializer accessors openmcl-mop:eql-specializer-object ;; generic function readers openmcl-mop:generic-function-argument-precedence-order openmcl-mop:generic-function-declarations openmcl-mop:generic-function-lambda-list openmcl-mop:generic-function-methods openmcl-mop:generic-function-method-class openmcl-mop:generic-function-method-combination openmcl-mop:generic-function-name ;; method readers openmcl-mop:method-generic-function openmcl-mop:method-function openmcl-mop:method-lambda-list openmcl-mop:method-specializers openmcl-mop:method-qualifiers ;; slot readers openmcl-mop:slot-definition-allocation openmcl-mop:slot-definition-documentation openmcl-mop:slot-value-using-class openmcl-mop:slot-definition-initargs openmcl-mop:slot-definition-initform openmcl-mop:slot-definition-initfunction openmcl-mop:slot-definition-name openmcl-mop:slot-definition-type openmcl-mop:slot-definition-readers openmcl-mop:slot-definition-writers openmcl-mop:slot-boundp-using-class openmcl-mop:slot-makunbound-using-class)) (defmacro swank-sym (sym) (let ((str (symbol-name sym))) `(or (find-symbol ,str :swank) (error "There is no symbol named ~a in the SWANK package" ,str)))) ;;; TCP Server (defimplementation preferred-communication-style () :spawn) (defimplementation create-socket (host port) (ccl:make-socket :connect :passive :local-port port :local-host host :reuse-address t)) (defimplementation local-port (socket) (ccl:local-port socket)) (defimplementation close-socket (socket) (close socket)) (defimplementation accept-connection (socket &key external-format buffering timeout) (declare (ignore buffering timeout)) (ccl:accept-connection socket :wait t :stream-args (and external-format `(:external-format ,external-format)))) (defvar *external-format-to-coding-system* '((:iso-8859-1 "latin-1" "latin-1-unix" "iso-latin-1-unix" "iso-8859-1" "iso-8859-1-unix") (:utf-8 "utf-8" "utf-8-unix"))) (defimplementation find-external-format (coding-system) (car (rassoc-if (lambda (x) (member coding-system x :test #'equal)) *external-format-to-coding-system*))) ;;; Unix signals (defimplementation call-without-interrupts (fn) ;; This prevents the current thread from being interrupted, but it doesn't ;; keep other threads from running concurrently, so it's not an appropriate ;; replacement for locking. (ccl:without-interrupts (funcall fn))) (defimplementation getpid () (ccl::getpid)) (defimplementation lisp-implementation-type-name () "ccl") ;;; Arglist (defimplementation arglist (fname) (multiple-value-bind (arglist binding) (let ((*break-on-signals* nil)) (ccl:arglist fname)) (if binding arglist :not-available))) (defimplementation function-name (function) (ccl:function-name function)) (defmethod declaration-arglist ((decl-identifier (eql 'optimize))) (let ((flags (ccl:declaration-information decl-identifier))) (if flags `(&any ,flags) (call-next-method)))) ;;; Compilation (defun handle-compiler-warning (condition) "Resignal a ccl:compiler-warning as swank-backend:compiler-warning." (signal (make-condition 'compiler-condition :original-condition condition :message (format nil "~A" condition) :short-message (compiler-warning-short-message condition) :severity (compiler-warning-severity condition) :location (source-note-to-source-location (ccl:compiler-warning-source-note condition) (lambda () "Unknown source") (ccl:compiler-warning-function-name condition))))) (defgeneric compiler-warning-severity (condition)) (defmethod compiler-warning-severity ((c ccl:compiler-warning)) :warning) (defmethod compiler-warning-severity ((c ccl:style-warning)) :style-warning) (defgeneric compiler-warning-short-message (condition)) ;; Pretty much the same as ccl:report-compiler-warning but ;; without the source position and function name stuff. (defmethod compiler-warning-short-message ((c ccl:compiler-warning)) (with-output-to-string (stream) (ccl:report-compiler-warning c stream :short t))) (defimplementation call-with-compilation-hooks (function) (handler-bind ((ccl:compiler-warning 'handle-compiler-warning)) (let ((ccl:*merge-compiler-warnings* nil)) (funcall function)))) (defimplementation swank-compile-file (input-file output-file load-p external-format) (with-compilation-hooks () (compile-file input-file :output-file output-file :load load-p :external-format external-format))) ;; Use a temp file rather than in-core compilation in order to handle eval-when's ;; as compile-time. (defimplementation swank-compile-string (string &key buffer position filename policy) (declare (ignore policy)) (with-compilation-hooks () (let ((temp-file-name (ccl:temp-pathname)) (ccl:*save-source-locations* t)) (unwind-protect (progn (with-open-file (s temp-file-name :direction :output :if-exists :error) (write-string string s)) (let ((binary-filename (compile-temp-file temp-file-name filename buffer position))) (delete-file binary-filename))) (delete-file temp-file-name))))) (defvar *temp-file-map* (make-hash-table :test #'equal) "A mapping from tempfile names to Emacs buffer names.") (defun compile-temp-file (temp-file-name buffer-file-name buffer-name offset) (compile-file temp-file-name :load t :compile-file-original-truename (or buffer-file-name (progn (setf (gethash temp-file-name *temp-file-map*) buffer-name) temp-file-name)) :compile-file-original-buffer-offset (1- offset))) (defimplementation save-image (filename &optional restart-function) (ccl:save-application filename :toplevel-function restart-function)) ;;; Cross-referencing (defun xref-locations (relation name &optional inverse) (delete-duplicates (mapcan #'find-definitions (if inverse (ccl:get-relation relation name :wild :exhaustive t) (ccl:get-relation relation :wild name :exhaustive t))) :test 'equal)) (defimplementation who-binds (name) (xref-locations :binds name)) (defimplementation who-macroexpands (name) (xref-locations :macro-calls name t)) (defimplementation who-references (name) (remove-duplicates (append (xref-locations :references name) (xref-locations :sets name) (xref-locations :binds name)) :test 'equal)) (defimplementation who-sets (name) (xref-locations :sets name)) (defimplementation who-calls (name) (remove-duplicates (append (xref-locations :direct-calls name) (xref-locations :indirect-calls name) (xref-locations :macro-calls name t)) :test 'equal)) (defimplementation who-specializes (class) (delete-duplicates (mapcar (lambda (m) (car (find-definitions m))) (ccl:specializer-direct-methods (if (symbolp class) (find-class class) class))) :test 'equal)) (defimplementation list-callees (name) (remove-duplicates (append (xref-locations :direct-calls name t) (xref-locations :macro-calls name nil)) :test 'equal)) (defimplementation list-callers (symbol) (delete-duplicates (mapcan #'find-definitions (ccl:caller-functions symbol)) :test #'equal)) ;;; Profiling (alanr: lifted from swank-clisp) (defimplementation profile (fname) (eval `(mon:monitor ,fname))) ;monitor is a macro (defimplementation profiled-functions () mon:*monitored-functions*) (defimplementation unprofile (fname) (eval `(mon:unmonitor ,fname))) ;unmonitor is a macro (defimplementation unprofile-all () (mon:unmonitor)) (defimplementation profile-report () (mon:report-monitoring)) (defimplementation profile-reset () (mon:reset-all-monitoring)) (defimplementation profile-package (package callers-p methods) (declare (ignore callers-p methods)) (mon:monitor-all package)) ;;; Debugging (defun openmcl-set-debug-switches () (setq ccl:*fasl-save-definitions* nil) (setq ccl:*fasl-save-doc-strings* t) (setq ccl:*fasl-save-local-symbols* t) (setq ccl:*save-arglist-info* t) (setq ccl:*save-definitions* nil) (setq ccl:*save-doc-strings* t) (setq ccl:*save-local-symbols* t) (ccl:start-xref)) (defimplementation call-with-debugging-environment (debugger-loop-fn) (let* (;;(*debugger-hook* nil) ;; don't let error while printing error take us down (ccl:*signal-printing-errors* nil)) (funcall debugger-loop-fn))) (defun find-repl-thread () ;; This is called for an async interrupt and is running in a random thread not ;; selected by the user, so don't use thread-local vars such as *emacs-connection*. (let* ((conn (funcall (swank-sym default-connection)))) [459 lines skipped] From heller at common-lisp.net Sun Jul 26 10:18:08 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 26 Jul 2009 06:18:08 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv32708 Modified Files: slime.el Log Message: * slime.el (slime-display-popup-buffer): Synch window-point. window-point would be ot the end of the buffer for reused buffers. (slime-maybe-show-compilation-log): New function. (slime-compilation-finished-hook): Use it. Now that the compilation buffer gets not selected it's more acceptable to display it more often. (slime-insert-compilation-log): Set compilation-skip-threshold to 0 and compilation-skip-to-next-location to nil. Seems to work for us. --- /project/slime/cvsroot/slime/slime.el 2009/07/21 18:34:54 1.1200 +++ /project/slime/cvsroot/slime/slime.el 2009/07/26 10:18:07 1.1201 @@ -1081,6 +1081,7 @@ (walk-windows (lambda (w) (push (cons w (window-buffer w)) old-windows)) nil t) (let ((new-window (display-buffer (current-buffer)))) + (set-window-point new-window (point)) (unless slime-popup-restore-data (set (make-local-variable 'slime-popup-restore-data) (list new-window @@ -2652,11 +2653,12 @@ The function receive two arguments: the beginning and the end of the region that will be compiled.") -(defcustom slime-compilation-finished-hook 'slime-create-compilation-log +(defcustom slime-compilation-finished-hook 'slime-maybe-show-compilation-log "Hook called with a list of compiler notes after a compilation." :group 'slime-mode :type 'hook - :options '(slime-create-compilation-log + :options '(slime-display-compilation-log-as-needed + slime-create-compilation-log slime-show-compilation-log slime-maybe-list-compiler-notes slime-list-compiler-notes @@ -2938,6 +2940,18 @@ (erase-buffer)) (slime-insert-compilation-log notes))) +(defun slime-maybe-show-compilation-log (notes) + "Display the log on failed compilations or if NOTES is non-nil." + (with-struct (slime-compilation-result. notes duration successp) + slime-last-compilation-result + (when (or notes (not successp)) + (slime-with-popup-buffer ("*SLIME Compilation*") + (slime-insert-compilation-log notes) + (let ((inhibit-read-only t)) + (goto-char (point-max)) + (insert "\nCompilation " (if successp "succeeded." "failed.")) + (goto-char (point-min))))))) + (defun slime-show-compilation-log (notes) (interactive (list (slime-compiler-notes))) (slime-with-popup-buffer ("*SLIME Compilation*") @@ -2947,6 +2961,8 @@ "Insert NOTES in format suitable for `compilation-mode'." (with-temp-message "Preparing compilation log..." (compilation-mode) + (set (make-local-variable 'compilation-skip-threshold) 0) + (set (make-local-variable 'compilation-skip-to-next-location) nil) (let ((inhibit-read-only t)) (insert (format "cd %s\n%d compiler notes:\n" default-directory (length notes))) @@ -2956,7 +2972,6 @@ (substring (symbol-name (slime-note.severity note)) 1) (slime-note.message note))))) - (goto-char (point-min)) (setq next-error-last-buffer (current-buffer)))) (defun slime-compilation-loc (location) From heller at common-lisp.net Sun Jul 26 10:18:19 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 26 Jul 2009 06:18:19 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv32738 Modified Files: ChangeLog swank-sbcl.lisp Log Message: * swank-sbcl.lisp (tempnam): Muffle efficientcy notes. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/26 08:00:40 1.1814 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/26 10:18:17 1.1815 @@ -1,3 +1,7 @@ +2009-07-26 Helmut Eller + + * swank-sbcl.lisp (tempnam): Muffle efficientcy notes. + 2009-07-26 Gail Zacharias * swank-ccl.lisp: New file. An updated version of --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2009/06/28 19:14:44 1.244 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2009/07/26 10:18:17 1.245 @@ -582,11 +582,15 @@ ;;; (compile nil `(lambda () ,(read-from-string string))) ;;; did not provide. +(locally (declare (sb-ext:muffle-conditions sb-ext:compiler-note)) + (sb-alien:define-alien-routine (#-win32 "tempnam" #+win32 "_tempnam" tempnam) sb-alien:c-string (dir sb-alien:c-string) (prefix sb-alien:c-string)) +) + (defun temp-file-name () "Return a temporary file name to compile strings into." (tempnam nil nil)) From heller at common-lisp.net Sun Jul 26 10:18:30 2009 From: heller at common-lisp.net (CVS User heller) Date: Sun, 26 Jul 2009 06:18:30 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv300 Modified Files: ChangeLog slime.el Log Message: * slime.el (slime-maybe-show-compilation-log): New function. (slime-compilation-finished-hook): Use it. Now that the compilation buffer gets not selected it's more acceptable to display it more often. (slime-insert-compilation-log): Set compilation-skip-threshold to 0 and compilation-skip-to-next-location to nil. Seems to work better for us. (slime-with-popup-buffer): Synch window-point, otherwise it be at the end of the buffer for reused buffers. (slime-display-popup-buffer): Return the window. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/26 10:18:17 1.1815 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/26 10:18:29 1.1816 @@ -1,6 +1,19 @@ 2009-07-26 Helmut Eller - * swank-sbcl.lisp (tempnam): Muffle efficientcy notes. + * slime.el (slime-maybe-show-compilation-log): New function. + (slime-compilation-finished-hook): Use it. Now that the + compilation buffer gets not selected it's more acceptable to + display it more often. + (slime-insert-compilation-log): Set compilation-skip-threshold to + 0 and compilation-skip-to-next-location to nil. Seems to work + better for us. + (slime-with-popup-buffer): Synch window-point, otherwise it be at + the end of the buffer for reused buffers. + (slime-display-popup-buffer): Return the window. + +2009-07-26 Helmut Eller + + * swank-sbcl.lisp (tempnam): Muffle efficiency notes. 2009-07-26 Gail Zacharias --- /project/slime/cvsroot/slime/slime.el 2009/07/26 10:18:07 1.1201 +++ /project/slime/cvsroot/slime/slime.el 2009/07/26 10:18:29 1.1202 @@ -1052,7 +1052,9 @@ (assert (eq (current-buffer) standard-output)) (setq buffer-read-only t) (slime-init-popup-buffer vars%) - (slime-display-popup-buffer ,(or select 'nil)))))) + (set-window-point (slime-display-popup-buffer ,(or select 'nil)) + (point)) + (current-buffer))))) (put 'slime-with-popup-buffer 'lisp-indent-function 1) @@ -1081,7 +1083,6 @@ (walk-windows (lambda (w) (push (cons w (window-buffer w)) old-windows)) nil t) (let ((new-window (display-buffer (current-buffer)))) - (set-window-point new-window (point)) (unless slime-popup-restore-data (set (make-local-variable 'slime-popup-restore-data) (list new-window @@ -1089,7 +1090,7 @@ (cdr (find new-window old-windows :key #'car))))) (when select (select-window new-window)) - (current-buffer)))) + new-window))) (defun slime-close-popup-window () (when slime-popup-restore-data @@ -2657,7 +2658,7 @@ "Hook called with a list of compiler notes after a compilation." :group 'slime-mode :type 'hook - :options '(slime-display-compilation-log-as-needed + :options '(slime-maybe-show-compilation-log slime-create-compilation-log slime-show-compilation-log slime-maybe-list-compiler-notes From gcarncross at common-lisp.net Mon Jul 27 04:08:41 2009 From: gcarncross at common-lisp.net (CVS User gcarncross) Date: Mon, 27 Jul 2009 00:08:41 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv16655 Modified Files: ChangeLog swank-ecl.lisp Log Message: 2009-07-27 Geo Carncross * swank-ecl.lisp: Support for older ECL installs from patch by Mark Evenson --- /project/slime/cvsroot/slime/ChangeLog 2009/07/26 10:18:29 1.1816 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/27 04:08:41 1.1817 @@ -1,3 +1,8 @@ +2009-07-27 Geo Carncross + + * swank-ecl.lisp: Support for older ECL installs + from patch by Mark Evenson + 2009-07-26 Helmut Eller * slime.el (slime-maybe-show-compilation-log): New function. --- /project/slime/cvsroot/slime/swank-ecl.lisp 2009/07/06 12:32:12 1.44 +++ /project/slime/cvsroot/slime/swank-ecl.lisp 2009/07/27 04:08:41 1.45 @@ -295,11 +295,16 @@ (declare (ignore position)) (if file (is-swank-source-p file))))) +#+#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT) (defmacro find-ihs-top (x) (if (< ext:+ecl-version-number+ 90601) `(si::ihs-top ,x) '(si::ihs-top))) +#-#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT) +(defmacro find-ihs-top (x) + `(si::ihs-top ,x)) + (defimplementation call-with-debugging-environment (debugger-loop-fn) (declare (type function debugger-loop-fn)) (let* ((*tpl-commands* si::tpl-commands) @@ -364,9 +369,12 @@ (let ((functions '()) (blocks '()) (variables '())) + #+#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT) #.(if (< ext:+ecl-version-number+ 90601) '(setf frame (second frame)) '(setf frame (si::decode-ihs-env (second frame)))) + #-#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT) + '(setf frame (second frame)) (dolist (record frame) (let* ((record0 (car record)) (record1 (cdr record))) @@ -474,9 +482,13 @@ `(:position ,pos) `(:snippet ,(with-open-file (s file) + + #+#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT) (if (< ext:+ecl-version-number+ 90601) (skip-toplevel-forms pos s) (file-position s pos)) + #-#.(swank-backend::with-symbol '+ECL-VERSION-NUMBER+ 'EXT) + (skip-toplevel-forms pos s) (skip-comments-and-whitespace s) (read-snippet s)))))))) `(:error (format nil "Source definition of ~S not found" obj)))) From sboukarev at common-lisp.net Mon Jul 27 13:08:19 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Mon, 27 Jul 2009 09:08:19 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv5803 Modified Files: ChangeLog swank-ccl.lisp Log Message: swank-ccl.lisp (source-note-to-source-location): keys of *temp-file-map* are pathnames, not namestrings; convert namestrings to pathnames before looking up. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/27 04:08:41 1.1817 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/27 13:08:16 1.1818 @@ -1,3 +1,9 @@ +2009-07-27 Stas Boukarev + + * swank-ccl.lisp (source-note-to-source-location): keys of + *temp-file-map* are pathnames, not namestrings; convert + namestrings to pathnames before looking up. + 2009-07-27 Geo Carncross * swank-ecl.lisp: Support for older ECL installs --- /project/slime/cvsroot/slime/swank-ccl.lisp 2009/07/26 08:00:40 1.1 +++ /project/slime/cvsroot/slime/swank-ccl.lisp 2009/07/27 13:08:17 1.2 @@ -584,7 +584,7 @@ (file-name (ccl:source-note-filename source)) (start-pos (ccl:source-note-start-pos source))) (make-location - (when file-name (filename-to-buffer file-name)) + (when file-name (filename-to-buffer (pathname file-name))) (when start-pos (list :position (1+ start-pos))) (when full-text (list :snippet (subseq full-text 0 (min 40 (length full-text)))))))) ((and source name) From sboukarev at common-lisp.net Tue Jul 28 15:03:43 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Tue, 28 Jul 2009 11:03:43 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv24416 Modified Files: ChangeLog Log Message: * doc/slime.texi (slime-selector): mention t and c keys. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/27 13:08:16 1.1818 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/28 15:03:41 1.1819 @@ -1,3 +1,7 @@ +2009-07-28 Stas Boukarev + + * doc/slime.texi (slime-selector): mention t and c keys. + 2009-07-27 Stas Boukarev * swank-ccl.lisp (source-note-to-source-location): keys of From sboukarev at common-lisp.net Tue Jul 28 15:03:44 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Tue, 28 Jul 2009 11:03:44 -0400 Subject: [slime-cvs] CVS slime/doc Message-ID: Update of /project/slime/cvsroot/slime/doc In directory cl-net:/tmp/cvs-serv24416/doc Modified Files: slime.texi Log Message: * doc/slime.texi (slime-selector): mention t and c keys. --- /project/slime/cvsroot/slime/doc/slime.texi 2009/07/15 20:34:17 1.74 +++ /project/slime/cvsroot/slime/doc/slime.texi 2009/07/28 15:03:44 1.75 @@ -12,7 +12,7 @@ @set EDITION 3.0-alpha @set SLIMEVER 3.0-alpha @c @set UPDATED @today{} - at set UPDATED @code{$Date: 2009/07/15 20:34:17 $} + at set UPDATED @code{$Date: 2009/07/28 15:03:44 $} @set TITLE SLIME User Manual @settitle @value{TITLE}, version @value{EDITION} @@ -1508,6 +1508,10 @@ The most recently visited @code{lisp-mode} source buffer. @item s The @code{*slime-scratch*} buffer (@pxref{slime-scratch}). + at item c +SLIME connections buffer (@pxref{Multiple connections}). + at item t +SLIME threads buffer. @end table @code{slime-selector} doesn't have a key binding by default but we From trittweiler at common-lisp.net Thu Jul 30 17:05:22 2009 From: trittweiler at common-lisp.net (CVS User trittweiler) Date: Thu, 30 Jul 2009 13:05:22 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv1424 Modified Files: ChangeLog swank-clisp.lisp Log Message: * swank-clisp.lisp: Clisp 2.48 experimentally supports threads. So add infrastructure to use threads in Clisp's swank backend. We do not make it the default, because it's not prime time yet. There are still problems with GC, weak-pointers, and thread objects. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/28 15:03:41 1.1819 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/30 17:05:18 1.1820 @@ -1,3 +1,10 @@ +2009-07-30 Tobias C. Rittweiler + + * swank-clisp.lisp: Clisp 2.48 experimentally supports threads. So + add infrastructure to use threads in Clisp's swank backend. We do + not make it the default, because it's not prime time yet. There + are still problems with GC, weak-pointers, and thread objects. + 2009-07-28 Stas Boukarev * doc/slime.texi (slime-selector): mention t and c keys. --- /project/slime/cvsroot/slime/swank-clisp.lisp 2009/06/21 07:22:56 1.90 +++ /project/slime/cvsroot/slime/swank-clisp.lisp 2009/07/30 17:05:19 1.91 @@ -734,9 +734,126 @@ #+lisp=cl (ext:quit) #-lisp=cl (lisp:quit)) -(defimplementation thread-id (thread) - (declare (ignore thread)) - 0) + +(defimplementation preferred-communication-style () + nil) + +;;; FIXME +;;; +;;; Clisp 2.48 added experimental support for threads. Basically, you +;;; can use :SPAWN now, BUT: +;;; +;;; - there are problems with GC, and threads stuffed into weak +;;; hash-tables as is the case for *THREAD-PLIST-TABLE*. +;;; +;;; See test case at +;;; http://thread.gmane.org/gmane.lisp.clisp.devel/20429 +;;; +;;; Even though said to be fixed, it's not: +;;; +;;; http://thread.gmane.org/gmane.lisp.clisp.devel/20429/focus=20443 +;;; +;;; - The DYNAMIC-FLET above is an implementation technique that's +;;; probably not sustainable in light of threads. This got to be +;;; rewritten. +;;; +;;; TCR (2009-07-30) + +#+#.(cl:if (cl:find-package "MP") '(:and) '(:or)) +(progn + (defimplementation spawn (fn &key name) + (mp:make-thread fn :name name)) + + (defvar *thread-plist-table-lock* + (mp:make-mutex :name "THREAD-PLIST-TABLE-LOCK")) + + (defvar *thread-plist-table* (make-hash-table :weak :key) + "A hashtable mapping threads to a plist.") + + (defvar *thread-id-counter* 0) + + (defimplementation thread-id (thread) + (mp:with-mutex-lock (*thread-plist-table-lock*) + (or (getf (gethash thread *thread-plist-table*) 'thread-id) + (setf (getf (gethash thread *thread-plist-table*) 'thread-id) + (incf *thread-id-counter*))))) + + (defimplementation find-thread (id) + (find id (all-threads) + :key (lambda (thread) + (getf (gethash thread *thread-plist-table*) 'thread-id)))) + + (defimplementation thread-name (thread) + ;; To guard against returning #. + (princ-to-string (mp:thread-name thread))) + + (defimplementation thread-status (thread) + (if (thread-alive-p thread) + "RUNNING" + "STOPPED")) + + (defimplementation make-lock (&key name) + (mp:make-mutex :name name :recursive-p t)) + + (defimplementation call-with-lock-held (lock function) + (mp:with-mutex-lock (lock) + (funcall function))) + + (defimplementation current-thread () + (mp:current-thread)) + + (defimplementation all-threads () + (mp:list-threads)) + + (defimplementation interrupt-thread (thread fn) + (mp:thread-interrupt thread :function fn)) + + (defimplementation kill-thread (thread) + (mp:thread-interrupt thread :function t)) + + (defimplementation thread-alive-p (thread) + (mp:thread-active-p thread)) + + (defvar *mailboxes-lock* (make-lock :name "MAILBOXES-LOCK")) + (defvar *mailboxes* (list)) + + (defstruct (mailbox (:conc-name mailbox.)) + thread + (lock (make-lock :name "MAILBOX.LOCK")) + (waitqueue (mp:make-exemption :name "MAILBOX.WAITQUEUE")) + (queue '() :type list)) + + (defun mailbox (thread) + "Return THREAD's mailbox." + (mp:with-mutex-lock (*mailboxes-lock*) + (or (find thread *mailboxes* :key #'mailbox.thread) + (let ((mb (make-mailbox :thread thread))) + (push mb *mailboxes*) + mb)))) + + (defimplementation send (thread message) + (let* ((mbox (mailbox thread)) + (lock (mailbox.lock mbox))) + (mp:with-mutex-lock (lock) + (setf (mailbox.queue mbox) + (nconc (mailbox.queue mbox) (list message))) + (mp:exemption-broadcast (mailbox.waitqueue mbox))))) + + (defimplementation receive-if (test &optional timeout) + (let* ((mbox (mailbox (current-thread))) + (lock (mailbox.lock mbox))) + (assert (or (not timeout) (eq timeout t))) + (loop + (check-slime-interrupts) + (mp:with-mutex-lock (lock) + (let* ((q (mailbox.queue mbox)) + (tail (member-if test q))) + (when tail + (setf (mailbox.queue mbox) (nconc (ldiff q tail) (cdr tail))) + (return (car tail)))) + (when (eq timeout t) (return (values nil t))) + (mp:exemption-wait (mailbox.waitqueue mbox) lock :timeout 0.2)))))) + ;;;; Weak hashtables From sboukarev at common-lisp.net Thu Jul 30 23:27:05 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Thu, 30 Jul 2009 19:27:05 -0400 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory cl-net:/tmp/cvs-serv8495 Modified Files: ChangeLog Log Message: * doc/slime.texi (Setting up pathname translations): add that it is in the `slime-tramp' contrib. --- /project/slime/cvsroot/slime/ChangeLog 2009/07/30 17:05:18 1.1820 +++ /project/slime/cvsroot/slime/ChangeLog 2009/07/30 23:27:05 1.1821 @@ -1,3 +1,8 @@ +2009-07-30 Stas Boukarev + + * doc/slime.texi (Setting up pathname translations): add that it is + in the `slime-tramp' contrib. + 2009-07-30 Tobias C. Rittweiler * swank-clisp.lisp: Clisp 2.48 experimentally supports threads. So From sboukarev at common-lisp.net Thu Jul 30 23:27:06 2009 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Thu, 30 Jul 2009 19:27:06 -0400 Subject: [slime-cvs] CVS slime/doc Message-ID: Update of /project/slime/cvsroot/slime/doc In directory cl-net:/tmp/cvs-serv8495/doc Modified Files: slime.texi Log Message: * doc/slime.texi (Setting up pathname translations): add that it is in the `slime-tramp' contrib. --- /project/slime/cvsroot/slime/doc/slime.texi 2009/07/28 15:03:44 1.75 +++ /project/slime/cvsroot/slime/doc/slime.texi 2009/07/30 23:27:05 1.76 @@ -12,7 +12,7 @@ @set EDITION 3.0-alpha @set SLIMEVER 3.0-alpha @c @set UPDATED @today{} - at set UPDATED @code{$Date: 2009/07/28 15:03:44 $} + at set UPDATED @code{$Date: 2009/07/30 23:27:05 $} @set TITLE SLIME User Manual @settitle @value{TITLE}, version @value{EDITION} @@ -2020,8 +2020,8 @@ and translate it into something that tramp can understand and access (and vice versa). Assuming the remote machine's host name is @code{remote.example.com}, @code{cl:machine-instance} returns -``remote'' and we login as the user ``user'' we can use @SLIME{}'s -built-in mechanism to setup the proper translations by simply doing: +``remote'' and we login as the user ``user'' we can use @code{slime-tramp} +contrib to setup the proper translations by simply doing: @example (push (slime-create-filename-translator :machine-instance "remote.example.com"