From sboukarev at common-lisp.net Tue Mar 6 01:47:49 2012 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Mon, 05 Mar 2012 17:47:49 -0800 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv26297/contrib Modified Files: ChangeLog slime-package-fu.el Log Message: * contrib/slime-package-fu.el (slime-export-save-file): New variable, when set to T saves package.lisp after each modification. Defaults to NIL. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/01/06 09:57:15 1.530 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/06 01:47:49 1.531 @@ -1,3 +1,8 @@ +2012-03-06 Stas Boukarev + + * slime-package-fu.el (slime-export-save-file): New variable, when + set to T saves package.lisp after each modification. Defaults to NIL. + 2012-01-06 Helmut Eller * swank-mrepl.lisp (send-prompt): Fix use of OR. --- /project/slime/cvsroot/slime/contrib/slime-package-fu.el 2011/05/31 10:30:02 1.15 +++ /project/slime/cvsroot/slime/contrib/slime-package-fu.el 2012/03/06 01:47:49 1.16 @@ -28,6 +28,9 @@ If it's mixed or no symbols are exported so far, use `slime-export-symbol-representation-function'.") +(defvar slime-export-save-file nil + "Save the package file after each automatic modification") + (defvar slime-defpackage-regexp "^(\\(cl:\\|common-lisp:\\)?defpackage\\>[ \t']*") @@ -181,6 +184,8 @@ (when (slime-symbol-exported-p symbol-name exported-symbols) (slime-remove-export symbol-name) (incf number-of-actions)))))) + (when slime-export-save-file + (save-buffer)) number-of-actions))) (defun slime-add-export () From heller at common-lisp.net Tue Mar 6 20:55:08 2012 From: heller at common-lisp.net (CVS User heller) Date: Tue, 06 Mar 2012 12:55:08 -0800 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv7948 Modified Files: ChangeLog swank.lisp Log Message: * swank.lisp (swank-require): Ensure that provide as called. --- /project/slime/cvsroot/slime/ChangeLog 2012/02/14 16:46:33 1.2297 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/06 20:55:07 1.2298 @@ -1,3 +1,7 @@ +2012-03-06 Helmut Eller + + * swank.lisp (swank-require): Ensure that provide as called. + 2012-02-12 Stas Boukarev * swank-ecl.lisp (accept-connection): Use the proper element-type --- /project/slime/cvsroot/slime/swank.lisp 2012/01/06 09:02:43 1.782 +++ /project/slime/cvsroot/slime/swank.lisp 2012/03/06 20:55:07 1.783 @@ -2516,7 +2516,9 @@ (unless (member (string module) *modules* :test #'string=) (require module (if filename (filename-to-pathname filename) - (module-filename module))))) + (module-filename module))) + (assert (member (string module) *modules* :test #'string=) + () "Required module ~s was not provided" module))) *modules*) (defvar *find-module* 'find-module From heller at common-lisp.net Tue Mar 6 20:55:13 2012 From: heller at common-lisp.net (CVS User heller) Date: Tue, 06 Mar 2012 12:55:13 -0800 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv8011/contrib Modified Files: ChangeLog swank-mrepl.lisp swank-repl.lisp swank-snapshot.lisp swank-util.lisp Log Message: Add missing provide. * swank-repl.lisp * swank-util.lisp * swank-mrepl.lisp * swank-snapshot.lisp --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/06 01:47:49 1.531 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/06 20:55:13 1.532 @@ -1,3 +1,12 @@ +2012-03-06 Helmut Eller + + Add missing provide. + + * swank-repl.lisp + * swank-util.lisp + * swank-mrepl.lisp + * swank-snapshot.lisp + 2012-03-06 Stas Boukarev * slime-package-fu.el (slime-export-save-file): New variable, when --- /project/slime/cvsroot/slime/contrib/swank-mrepl.lisp 2012/01/06 09:57:15 1.3 +++ /project/slime/cvsroot/slime/contrib/swank-mrepl.lisp 2012/03/06 20:55:13 1.4 @@ -158,3 +158,5 @@ (catch tag (process-requests nil)) (setf tag old-tag) (set-mode channel old-mode))))) + +(provide :swank-mrepl) --- /project/slime/cvsroot/slime/contrib/swank-repl.lisp 2011/12/10 12:33:57 1.4 +++ /project/slime/cvsroot/slime/contrib/swank-repl.lisp 2012/03/06 20:55:13 1.5 @@ -349,3 +349,5 @@ (setq *global-stdio-connection* nil))))) (add-hook *connection-closed-hook* 'update-redirection-after-close) + +(provide :swank-repl) --- /project/slime/cvsroot/slime/contrib/swank-snapshot.lisp 2010/08/21 06:39:59 1.3 +++ /project/slime/cvsroot/slime/contrib/swank-snapshot.lisp 2012/03/06 20:55:13 1.4 @@ -16,11 +16,9 @@ (stream (swank::connection.socket-io conn)) (clone (swank-backend:dup (swank-backend:socket-fd stream))) (style (swank::connection.communication-style conn)) - (coding (swank::connection.coding-system conn)) (repl (if (swank::connection.user-io conn) t)) (args (list "--swank-fd" (format nil "~d" clone) "--swank-style" (format nil "~s" style) - "--swank-coding" (format nil "~s" coding) "--swank-repl" (format nil "~s" repl)))) (swank::close-connection conn nil nil) (swank-backend:exec-image image-file args))) @@ -49,13 +47,12 @@ (format *error-output* "args: ~s~%" (command-line-args)) (let* ((fd (read-command-line-arg "--swank-fd")) (style (read-command-line-arg "--swank-style")) - (coding (read-command-line-arg "--swank-coding")) (repl (read-command-line-arg "--swank-repl")) - (* (format *error-output* "fd=~s style=~s cs=~s~%" fd style coding)) - (stream (make-fd-stream fd (find-external-format-or-lose coding))) - (connection (make-connection nil stream style coding))) + (* (format *error-output* "fd=~s style=~s~%" fd style)) + (stream (make-fd-stream fd nil)) + (connection (make-connection nil stream style))) (let ((*emacs-connection* connection)) - (when repl (create-repl nil)) + (when repl (swank::create-repl nil)) (background-message "~A" "Lisp image restored")) (serve-requests connection) (simple-repl))) @@ -66,3 +63,5 @@ (read-from-string (elt args (1+ pos))))) (in-package :swank-snapshot) + +(provide :swank-snapshot) --- /project/slime/cvsroot/slime/contrib/swank-util.lisp 2011/12/01 16:51:29 1.1 +++ /project/slime/cvsroot/slime/contrib/swank-util.lisp 2012/03/06 20:55:13 1.2 @@ -62,3 +62,5 @@ (when (special-operator-p symbol) (flip #\s)) (when (find-package symbol) (flip #\p)) result))) + +(provide :swank-util) From heller at common-lisp.net Tue Mar 6 20:55:19 2012 From: heller at common-lisp.net (CVS User heller) Date: Tue, 06 Mar 2012 12:55:19 -0800 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv8079/contrib Modified Files: ChangeLog swank-kawa.scm Log Message: * swank-kawa.scm (module-method>meth-ref): Slightly better heuristic for vararg functions. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/06 20:55:13 1.532 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/06 20:55:19 1.533 @@ -1,5 +1,10 @@ 2012-03-06 Helmut Eller + * swank-kawa.scm (module-method>meth-ref): Slightly better + heuristic for vararg functions. + +2012-03-06 Helmut Eller + Add missing provide. * swank-repl.lisp --- /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2011/12/02 18:18:11 1.26 +++ /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2012/03/06 20:55:19 1.27 @@ -914,18 +914,23 @@ (! location (module-method>meth-ref f))) (df module-method>meth-ref ((f ) => ) - (let ((module (! reference-type - (as (vm-mirror *the-vm* (@ module f))))) - (name (mangled-name f))) - (as (1st (! methods-by-name module name))))) + (let* ((module (! reference-type + (as (vm-mirror *the-vm* (@ module f))))) + (1st-method-by-name (fun (name) + (let ((i (! methods-by-name module name))) + (cond ((! is-empty i) #f) + (#t (1st i))))))) + (as (or (1st-method-by-name (! get-name f)) + (let ((mangled (mangled-name f))) + (or (1st-method-by-name mangled) + (1st-method-by-name (cat mangled "$V")) + (1st-method-by-name (cat mangled "$X")))))))) (df mangled-name ((f )) (let* ((name0 (! get-name f)) (name (cond ((nul? name0) (format "lambda~d" (@ selector f))) (#t (gnu.expr.Compilation:mangleName name0))))) - (if (= (! maxArgs f) -1) - (cat name "$V") - name))) + name)) (df class>src-loc ((c ) => ) (let* ((type (class>class-ref c)) From heller at common-lisp.net Tue Mar 6 21:42:11 2012 From: heller at common-lisp.net (CVS User heller) Date: Tue, 06 Mar 2012 13:42:11 -0800 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv21101 Modified Files: ChangeLog swank-sbcl.lisp Log Message: Fix SBCL backend for Windows. * swank-sbcl.lisp (fd-stream-input-buffer-empty-p): Restore it. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/06 20:55:07 1.2298 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/06 21:42:10 1.2299 @@ -1,5 +1,11 @@ 2012-03-06 Helmut Eller + Fix SBCL backend for Windows. + + * swank-sbcl.lisp (fd-stream-input-buffer-empty-p): Restore it. + +2012-03-06 Helmut Eller + * swank.lisp (swank-require): Ensure that provide as called. 2012-02-12 Stas Boukarev --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/01/06 09:02:43 1.301 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/06 21:42:10 1.302 @@ -195,12 +195,15 @@ (return nil)) (sleep 0.1)))) +(defun fd-stream-input-buffer-empty-p (stream) + (let ((buffer (sb-impl::fd-stream-ibuf stream))) + (or (not buffer) + (= (sb-impl::buffer-head buffer) + (sb-impl::buffer-tail buffer))))) + #-win32 (defun input-ready-p (stream) - (or (let ((buffer (sb-impl::fd-stream-ibuf stream))) - (when buffer - (< (sb-impl::buffer-head buffer) - (sb-impl::buffer-tail buffer)))) + (or (not (fd-stream-input-buffer-empty-p stream)) #+#.(swank-backend:with-symbol 'fd-stream-fd-type 'sb-impl) (eq :regular (sb-impl::fd-stream-fd-type stream)) (not (sb-impl::sysread-may-block-p stream)))) From heller at common-lisp.net Tue Mar 6 22:04:21 2012 From: heller at common-lisp.net (CVS User heller) Date: Tue, 06 Mar 2012 14:04:21 -0800 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv27744 Modified Files: ChangeLog swank-ccl.lisp Log Message: * swank-ccl.lisp: If 'xref is not provided warn about it but continue. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/06 21:42:10 1.2299 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/06 22:04:21 1.2300 @@ -1,5 +1,10 @@ 2012-03-06 Helmut Eller + * swank-ccl.lisp: If 'xref is not provided warn about it but + continue. + +2012-03-06 Helmut Eller + Fix SBCL backend for Windows. * swank-sbcl.lisp (fd-stream-input-buffer-empty-p): Restore it. --- /project/slime/cvsroot/slime/swank-ccl.lisp 2012/01/06 09:02:43 1.25 +++ /project/slime/cvsroot/slime/swank-ccl.lisp 2012/03/06 22:04:21 1.26 @@ -23,7 +23,9 @@ (import-from :ccl *gray-stream-symbols* :swank-backend) (eval-when (:compile-toplevel :load-toplevel :execute) - (require 'xref)) + (multiple-value-bind (ok err) (ignore-errors (require 'xref)) + (unless ok + (warn "~a~%" err)))) ;;; swank-mop @@ -235,8 +237,8 @@ (delete-duplicates (mapcan #'find-definitions (if inverse - (ccl:get-relation relation name :wild :exhaustive t) - (ccl:get-relation relation :wild name :exhaustive t))) + (ccl::get-relation relation name :wild :exhaustive t) + (ccl::get-relation relation :wild name :exhaustive t))) :test 'equal)) (defimplementation who-binds (name) From sboukarev at common-lisp.net Thu Mar 8 03:04:48 2012 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Wed, 07 Mar 2012 19:04:48 -0800 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv29534 Modified Files: ChangeLog swank-arglists.lisp Log Message: * swank-arglists.lisp (print-decoded-arglist): When the source of the arglist is a local definition from FLET, some parts may be represented as ARGLIST-DUMMY, handle them. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/06 20:55:19 1.533 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/08 03:04:48 1.534 @@ -1,3 +1,9 @@ +2012-03-08 Stas Boukarev + + * swank-arglists.lisp (print-decoded-arglist): When the source of + the arglist is a local definition from FLET, some parts may be + represented as ARGLIST-DUMMY, handle them. + 2012-03-06 Helmut Eller * swank-kawa.scm (module-method>meth-ref): Slightly better --- /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2011/10/05 14:17:59 1.71 +++ /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2012/03/08 03:04:48 1.72 @@ -213,6 +213,11 @@ ;;;; Arglist Printing +(defun undummy (x) + (if (typep x 'arglist-dummy) + (arglist-dummy.string-representation x) + (prin1-to-string x))) + (defun print-decoded-arglist (arglist &key operator provided-args highlight) (macrolet ((space () ;; Kludge: When OPERATOR is not given, we don't want to @@ -257,7 +262,8 @@ (with-highlighting (:index index) (if (null init-value) (print-arg arg) - (format t "~:@<~A ~S~@:>" arg init-value)))) + (format t "~:@<~A ~A~@:>" + (undummy arg) (undummy init-value))))) (incf index)) (&key :initially (when (arglist.key-p arglist) @@ -271,9 +277,10 @@ (print-arglist-recursively arg :index keyword)) (with-highlighting (:index keyword) (cond ((and init (keywordp keyword)) - (format t "~:@<~A ~S~@:>" keyword init)) + (format t "~:@<~A ~A~@:>" keyword (undummy init))) (init - (format t "~:@<(~S ..) ~S~@:>" keyword init)) + (format t "~:@<(~A ..) ~A~@:>" + (undummy keyword) (undummy init))) ((not (keywordp keyword)) (format t "~:@<(~S ..)~@:>" keyword)) (t @@ -1493,8 +1500,8 @@ :quoted-symbol) ((search "#'" string :end2 (min length 2)) :sharpquoted-symbol) - ((and (eql (aref string 0) #\") - (eql (aref string (1- length)) #\")) + ((char= (char string 0) (char string (1- length)) + #\") :string) (t :symbol)))) @@ -1510,7 +1517,9 @@ (:symbol symbol) (:quoted-symbol `(quote ,symbol)) (:sharpquoted-symbol `(function ,symbol)) - (:string string)) + (:string (if (> length 1) + (subseq string 1 (1- length)) + string))) (make-arglist-dummy string))))) (defun test-print-arglist () From sboukarev at common-lisp.net Sat Mar 10 00:00:19 2012 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Fri, 09 Mar 2012 16:00:19 -0800 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv10358 Modified Files: ChangeLog swank-clipboard.lisp Log Message: 2012-03-09 Stas Boukarev * swank-clipboard.lisp: Add provide. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/08 03:04:48 1.534 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/10 00:00:19 1.535 @@ -1,3 +1,7 @@ +2012-03-09 Stas Boukarev + + * swank-clipboard.lisp: Add provide. + 2012-03-08 Stas Boukarev * swank-arglists.lisp (print-decoded-arglist): When the source of --- /project/slime/cvsroot/slime/contrib/swank-clipboard.lisp 2008/08/12 17:54:37 1.2 +++ /project/slime/cvsroot/slime/contrib/swank-clipboard.lisp 2012/03/10 00:00:19 1.3 @@ -67,3 +67,5 @@ (defun to-line (object &optional (width 75)) (with-output-to-string (*standard-output*) (write object :right-margin width :lines 1))) + +(provide :swank-clipboard) From sboukarev at common-lisp.net Sat Mar 10 00:04:12 2012 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Fri, 09 Mar 2012 16:04:12 -0800 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv12112 Modified Files: ChangeLog swank-hyperdoc.lisp swank-motd.lisp Log Message: swank-motd.lisp, swank-hyperdoc.lisp: Add provide. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/10 00:00:19 1.535 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/10 00:04:12 1.536 @@ -1,6 +1,8 @@ 2012-03-09 Stas Boukarev - * swank-clipboard.lisp: Add provide. + * swank-motd.lisp, + swank-clipboard.lisp, + swank-hyperdoc.lisp: Add provide. 2012-03-08 Stas Boukarev --- /project/slime/cvsroot/slime/contrib/swank-hyperdoc.lisp 2009/12/03 15:54:49 1.1 +++ /project/slime/cvsroot/slime/contrib/swank-hyperdoc.lisp 2012/03/10 00:04:12 1.2 @@ -14,3 +14,5 @@ *buffer-package* package)) symbol-name)))))) + +(provide :swank-hyperdoc) --- /project/slime/cvsroot/slime/contrib/swank-motd.lisp 2008/02/03 18:39:23 1.1 +++ /project/slime/cvsroot/slime/contrib/swank-motd.lisp 2012/03/10 00:04:12 1.2 @@ -64,3 +64,5 @@ do (write-line line motd-for-emacs))))))) (error (c) (format nil ";; ERROR ~S OPENING MOTD ~S.~%" c motd-pathname)))) + +(provide :swank-motd) From rtoy at common-lisp.net Sun Mar 11 18:35:52 2012 From: rtoy at common-lisp.net (CVS User rtoy) Date: Sun, 11 Mar 2012 11:35:52 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv22419 Modified Files: swank-cmucl.lisp Log Message: Fix compiler warning about inhibit-warnings and use find-external-format to compile and load the utf-8 format if needed. --- /project/slime/cvsroot/slime/swank-cmucl.lisp 2011/12/01 16:54:52 1.240 +++ /project/slime/cvsroot/slime/swank-cmucl.lisp 2012/03/11 18:35:52 1.241 @@ -66,10 +66,9 @@ ;;; UTF8 -(locally (declare (ext:inhibit-warnings 3)) - (stream:octets-to-string - (stream:string-to-octets "compile utf8 transcoder" :external-format :utf-8) - :external-format :utf-8)) +(locally (declare (optimize (ext:inhibit-warnings 3))) + ;; Compile and load the utf8 format, if not already loaded. + (stream::find-external-format :utf-8)) (defimplementation string-to-utf8 (string) (let ((ef (load-time-value (stream::find-external-format :utf-8) t))) From heller at common-lisp.net Wed Mar 14 17:13:15 2012 From: heller at common-lisp.net (CVS User heller) Date: Wed, 14 Mar 2012 10:13:15 -0700 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv1836/contrib Modified Files: ChangeLog swank-kawa.scm Log Message: * swank-kawa.scm (%macroexpand): Use Kawa's syntaxutils. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/10 00:04:12 1.536 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/14 17:13:15 1.537 @@ -10,6 +10,10 @@ the arglist is a local definition from FLET, some parts may be represented as ARGLIST-DUMMY, handle them. +2012-03-14 Helmut Eller + + * swank-kawa.scm (%macroexpand): Use Kawa's syntaxutils. + 2012-03-06 Helmut Eller * swank-kawa.scm (module-method>meth-ref): Slightly better --- /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2012/03/06 20:55:19 1.27 +++ /project/slime/cvsroot/slime/contrib/swank-kawa.scm 2012/03/14 17:13:15 1.28 @@ -17,6 +17,7 @@ ;; You also need to start the debug agent. (setq slime-lisp-implementations '((kawa ("java" + "-Xss450k" ; compiler needs more stack "-cp" "/opt/kawa/kawa-svn:/opt/java/jdk1.6.0/lib/tools.jar" "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n" "kawa.repl" "-s") @@ -36,14 +37,15 @@ (module-export start-swank create-swank-server swank-java-source-path break) -(module-static #t) - (module-compile-options + warn-unknown-member: #t warn-invoke-unknown-method: #t warn-undefined-variable: #t ) +;;(import (rnrs hashtables)) (require 'hash-table) +(import (only (gnu kawa slib syntaxutils) expand)) ;;;; Macros () @@ -1106,16 +1108,14 @@ ;;;; Macroexpansion -(defslimefun swank-expand-1 (env s) (%swank-macroexpand s)) -(defslimefun swank-expand (env s) (%swank-macroexpand s)) -(defslimefun swank-expand-all (env s) (%swank-macroexpand s)) - -(df %swank-macroexpand (string) - (pprint-to-string (%macroexpand (read-from-string string)))) - -(df %macroexpand (sexp) - (let ((tr :: kawa.lang.Translator (gnu.expr.Compilation:getCurrent))) - (! rewrite tr `(begin ,sexp)))) +(defslimefun swank-expand-1 (env s) (%swank-macroexpand s env)) +(defslimefun swank-expand (env s) (%swank-macroexpand s env)) +(defslimefun swank-expand-all (env s) (%swank-macroexpand s env)) + +(df %swank-macroexpand (string env) + (pprint-to-string (%macroexpand (read-from-string string) env))) + +(df %macroexpand (sexp env) (expand sexp env: env)) ;;;; Inspector @@ -2034,6 +2034,11 @@ (df del (tab key) (hash-table-delete! tab key) tab) (df tab () (make-hash-table)) +;;(df put (tab key value) (hashtable-set! tab key value) tab) +;;(df get (tab key default) (hashtable-ref tab key default)) +;;(df del (tab key) (hashtable-delete! tab key) tab) +;;(df tab () (make-eqv-hashtable)) + (df equal (x y => ) (equal? x y)) (df current-thread (=> ) (java.lang.Thread:currentThread)) From heller at common-lisp.net Wed Mar 14 17:13:26 2012 From: heller at common-lisp.net (CVS User heller) Date: Wed, 14 Mar 2012 10:13:26 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv1865 Modified Files: ChangeLog swank-allegro.lisp swank-lispworks.lisp Log Message: Use Unix-EOL convention even on Windows. * swank-allegro.lisp (string-to-utf8, utf8-to-string): Use excl:crlf-base-ef. * swank-lispworks.lisp (string-to-utf8, utf8-to-string): Use '(:utf-8 :eol-style :lf) --- /project/slime/cvsroot/slime/ChangeLog 2012/03/06 22:04:21 1.2300 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/14 17:13:26 1.2301 @@ -1,3 +1,12 @@ +2012-03-14 Paulo Madeira + + Use Unix-EOL convention even on Windows. + + * swank-allegro.lisp (string-to-utf8, utf8-to-string): Use + excl:crlf-base-ef. + * swank-lispworks.lisp (string-to-utf8, utf8-to-string): Use + '(:utf-8 :eol-style :lf) + 2012-03-06 Helmut Eller * swank-ccl.lisp: If 'xref is not provided warn about it but --- /project/slime/cvsroot/slime/swank-allegro.lisp 2012/01/06 09:02:43 1.150 +++ /project/slime/cvsroot/slime/swank-allegro.lisp 2012/03/14 17:13:26 1.151 @@ -29,13 +29,16 @@ ;;;; UTF8 +(define-symbol-macro utf8-ef + (load-time-value + (excl:crlf-base-ef (excl:find-external-format :utf-8)) + t)) + (defimplementation string-to-utf8 (s) - (let ((ef (load-time-value (excl:find-external-format :utf-8) t))) - (excl:string-to-octets s :external-format ef))) + (excl:string-to-octets s :external-format utf8-ef)) (defimplementation utf8-to-string (u) - (let ((ef (load-time-value (excl:find-external-format :utf-8) t))) - (excl:octets-to-string u :external-format ef))) + (excl:octets-to-string u :external-format utf8-ef)) ;;;; TCP Server --- /project/slime/cvsroot/slime/swank-lispworks.lisp 2012/02/07 15:48:14 1.148 +++ /project/slime/cvsroot/slime/swank-lispworks.lisp 2012/03/14 17:13:26 1.149 @@ -65,10 +65,10 @@ ;;; UTF8 (defimplementation string-to-utf8 (string) - (ef:encode-lisp-string string :utf-8)) + (ef:encode-lisp-string string '(:utf-8 :eol-style :lf))) (defimplementation utf8-to-string (octets) - (ef:decode-external-string octets :utf-8)) + (ef:decode-external-string octets '(:utf-8 :eol-style :lf))) ;;; TCP server From sboukarev at common-lisp.net Mon Mar 19 14:27:04 2012 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Mon, 19 Mar 2012 07:27:04 -0700 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv29042/contrib Modified Files: ChangeLog swank-arglists.lisp Log Message: * contrib/swank-arglists.lisp (compute-enriched-decoded-arglist): Add arglist display for MULTIPLE-VALUE-CALL, the same as with APPLY. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/14 17:13:15 1.537 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/19 14:27:04 1.538 @@ -1,3 +1,8 @@ +2012-03-19 Stas Boukarev + + * swank-arglists.lisp (compute-enriched-decoded-arglist): Add + arglist display for MULTIPLE-VALUE-CALL, the same as with APPLY. + 2012-03-09 Stas Boukarev * swank-motd.lisp, --- /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2012/03/08 03:04:48 1.72 +++ /project/slime/cvsroot/slime/contrib/swank-arglists.lisp 2012/03/19 14:27:04 1.73 @@ -918,6 +918,10 @@ t))))))) (call-next-method)) +(defmethod compute-enriched-decoded-arglist + ((operator-form (eql 'multiple-value-call)) argument-forms) + (compute-enriched-decoded-arglist 'apply argument-forms)) + (defun delete-given-args (decoded-arglist args) "Delete given ARGS from DECODED-ARGLIST." (macrolet ((pop-or-return (list) From heller at common-lisp.net Mon Mar 26 15:09:46 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:09:46 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv23669 Modified Files: ChangeLog slime.el Log Message: * slime.el (utf-8-source): New test case. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/14 17:13:26 1.2301 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:09:46 1.2302 @@ -1,3 +1,7 @@ +2012-03-26 Helmut Eller + + * slime.el (utf-8-source): New test case. + 2012-03-14 Paulo Madeira Use Unix-EOL convention even on Windows. --- /project/slime/cvsroot/slime/slime.el 2011/12/24 17:45:23 1.1392 +++ /project/slime/cvsroot/slime/slime.el 2012/03/26 15:09:46 1.1393 @@ -7986,6 +7986,46 @@ (slime-check "Compilation successfull" (eq (slime-compilation-result.successp result) t)))))) +(def-slime-test utf-8-source + (input output) + "Source code containing utf-8 should work" + '(("(defun cl-user::foo () \"\x304a\x306f\x3088\x3046\")" + "\x304a\x306f\x3088\x3046")) + (slime-eval `(cl:eval (cl:read-from-string ,input))) + (slime-test-expect "Eval result correct" + output (slime-eval '(cl-user::foo))) + (let ((cell (cons nil nil))) + (let ((hook (slime-curry (lambda (cell &rest _) (setcar cell t)) cell))) + (add-hook 'slime-compilation-finished-hook hook) + (unwind-protect + (progn + (slime-compile-string input 0) + (slime-wait-condition "Compilation finished" + (lambda () (car cell)) + 0.5) + (slime-test-expect "Compile-string result correct" + output (slime-eval '(cl-user::foo)))) + (remove-hook 'slime-compilation-finished-hook hook)) + (let ((filename "/tmp/slime-tmp-file.lisp")) + (setcar cell nil) + (add-hook 'slime-compilation-finished-hook hook) + (unwind-protect + (with-temp-buffer + (set-buffer-multibyte t) + (setq buffer-file-coding-system 'utf-8-unix) + (setq buffer-file-name filename) + (insert ";; -*- coding: utf-8-unix -*- \n") + (insert input) + (save-buffer) + (slime-compile-and-load-file) + (slime-wait-condition "Compilation finished" + (lambda () (car cell)) + 0.5) + (slime-test-expect "Compile-file result correct" + output (slime-eval '(cl-user::foo)))) + (remove-hook 'slime-compilation-finished-hook hook) + (delete-file filename)))))) + (def-slime-test async-eval-debugging (depth) "Test recursive debugging of asynchronous evaluation requests." '((1) (2) (3)) @@ -8332,7 +8372,7 @@ (cl:and (cl:typep condition 'cl:condition) (cl:string (cl:type-of condition))))))) (slime-test-expect "Debugger invoked" "END-OF-FILE" value))) - + (def-slime-test interrupt-at-toplevel () "Let's see what happens if we send a user interrupt at toplevel." From heller at common-lisp.net Mon Mar 26 15:09:57 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:09:57 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv23734 Modified Files: ChangeLog swank-ccl.lisp Log Message: * swank-ccl.lisp (swank-compile-string, compile-temp-file): Use utf8. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:09:46 1.2302 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:09:57 1.2303 @@ -1,5 +1,8 @@ 2012-03-26 Helmut Eller + * swank-ccl.lisp (swank-compile-string, compile-temp-file): Use + utf8. + * slime.el (utf-8-source): New test case. 2012-03-14 Paulo Madeira --- /project/slime/cvsroot/slime/swank-ccl.lisp 2012/03/06 22:04:21 1.26 +++ /project/slime/cvsroot/slime/swank-ccl.lisp 2012/03/26 15:09:57 1.27 @@ -207,7 +207,7 @@ (unwind-protect (progn (with-open-file (s temp-file-name :direction :output - :if-exists :error) + :if-exists :error :external-format :utf-8) (write-string string s)) (let ((binary-filename (compile-temp-file temp-file-name filename buffer position))) @@ -226,7 +226,8 @@ (setf (gethash temp-file-name *temp-file-map*) buffer-name) temp-file-name)) - :compile-file-original-buffer-offset (1- offset))) + :compile-file-original-buffer-offset (1- offset) + :external-format :utf-8)) (defimplementation save-image (filename &optional restart-function) (ccl:save-application filename :toplevel-function restart-function)) From heller at common-lisp.net Mon Mar 26 15:10:08 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:10:08 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv23804 Modified Files: ChangeLog swank-cmucl.lisp Log Message: * swank-cmucl.lisp (swank-compile-file): Use external-format arg. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:09:57 1.2303 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:10:08 1.2304 @@ -1,5 +1,7 @@ 2012-03-26 Helmut Eller + * swank-cmucl.lisp (swank-compile-file): Use external-format arg. + * swank-ccl.lisp (swank-compile-string, compile-temp-file): Use utf8. --- /project/slime/cvsroot/slime/swank-cmucl.lisp 2012/03/11 18:35:52 1.241 +++ /project/slime/cvsroot/slime/swank-cmucl.lisp 2012/03/26 15:10:08 1.242 @@ -427,13 +427,14 @@ (defimplementation swank-compile-file (input-file output-file load-p external-format &key policy) - (declare (ignore external-format policy)) + (declare (ignore policy)) (clear-xref-info input-file) (with-compilation-hooks () (let ((*buffer-name* nil) (ext:*ignore-extra-close-parentheses* nil)) (multiple-value-bind (output-file warnings-p failure-p) - (compile-file input-file :output-file output-file) + (compile-file input-file :output-file output-file + :external-format external-format) (values output-file warnings-p (or failure-p (when load-p From heller at common-lisp.net Mon Mar 26 15:10:19 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:10:19 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv24001 Modified Files: ChangeLog swank-sbcl.lisp Log Message: * swank-sbcl.lisp (swank-compile-string): Use utf8. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:10:08 1.2304 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:10:19 1.2305 @@ -1,5 +1,7 @@ 2012-03-26 Helmut Eller + * swank-sbcl.lisp (swank-compile-string): Use utf8. + * swank-cmucl.lisp (swank-compile-file): Use external-format arg. * swank-ccl.lisp (swank-compile-string, compile-temp-file): Use --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/06 21:42:10 1.302 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/26 15:10:19 1.303 @@ -677,11 +677,12 @@ :source-namestring filename :allow-other-keys t) (multiple-value-bind (output-file warningsp failurep) - (compile-file *buffer-tmpfile*) + (compile-file *buffer-tmpfile* :external-format :utf-8) (declare (ignore warningsp)) (unless failurep (funcall cont output-file))))))) - (with-open-file (s *buffer-tmpfile* :direction :output :if-exists :error) + (with-open-file (s *buffer-tmpfile* :direction :output :if-exists :error + :external-format :utf-8) (write-string string s)) (unwind-protect (with-compiler-policy policy From heller at common-lisp.net Mon Mar 26 15:10:32 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:10:32 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv24086 Modified Files: ChangeLog swank-lispworks.lisp Log Message: * swank-lispworks.lisp (swank-compile-string): Don't include the source-string in the dspec::*location*. As LW has the habbit to print the entire *location* on redefinition the source-string would causes troubles for the test case. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:10:19 1.2305 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:10:32 1.2306 @@ -1,5 +1,10 @@ 2012-03-26 Helmut Eller + * swank-lispworks.lisp (swank-compile-string): Don't include the + source-string in the dspec::*location*. As LW has the habbit to + print the entire *location* on redefinition the source-string + would causes troubles for the test case. + * swank-sbcl.lisp (swank-compile-string): Use utf8. * swank-cmucl.lisp (swank-compile-file): Use external-format arg. --- /project/slime/cvsroot/slime/swank-lispworks.lisp 2012/03/14 17:13:26 1.149 +++ /project/slime/cvsroot/slime/swank-lispworks.lisp 2012/03/26 15:10:32 1.150 @@ -681,8 +681,8 @@ (symbol `(:error ,(format nil "Cannot resolve location: ~S" location))) ((satisfies emacs-buffer-location-p) - (destructuring-bind (_ buffer offset string) location - (declare (ignore _ string)) + (destructuring-bind (_ buffer offset) location + (declare (ignore _)) (make-location `(:buffer ,buffer) (dspec-function-name-position dspec `(:offset ,offset 0)) hints))))) @@ -733,7 +733,7 @@ (declare (ignore filename policy)) (assert buffer) (assert position) - (let* ((location (list :emacs-buffer buffer position string)) + (let* ((location (list :emacs-buffer buffer position)) (tmpname (hcl:make-temp-file nil "lisp"))) (with-swank-compilation-unit (location) (compile-from-temp-file From heller at common-lisp.net Mon Mar 26 15:10:39 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:10:39 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv24152 Modified Files: slime.el Log Message: * slime.el (utf-8-source): Bind slime-load-failed-fasl. --- /project/slime/cvsroot/slime/slime.el 2012/03/26 15:09:46 1.1393 +++ /project/slime/cvsroot/slime/slime.el 2012/03/26 15:10:38 1.1394 @@ -8017,10 +8017,11 @@ (insert ";; -*- coding: utf-8-unix -*- \n") (insert input) (save-buffer) - (slime-compile-and-load-file) - (slime-wait-condition "Compilation finished" - (lambda () (car cell)) - 0.5) + (let ((slime-load-failed-fasl 'always)) + (slime-compile-and-load-file) + (slime-wait-condition "Compilation finished" + (lambda () (car cell)) + 0.5)) (slime-test-expect "Compile-file result correct" output (slime-eval '(cl-user::foo)))) (remove-hook 'slime-compilation-finished-hook hook) From heller at common-lisp.net Mon Mar 26 15:36:50 2012 From: heller at common-lisp.net (CVS User heller) Date: Mon, 26 Mar 2012 08:36:50 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv31553 Modified Files: ChangeLog slime.el Log Message: * slime.el (utf-8-source): XEmacs has no set-buffer-multibyte. (slime-create-test-results-buffer): Set file-coding-system. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:10:32 1.2306 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:36:50 1.2307 @@ -1,5 +1,8 @@ 2012-03-26 Helmut Eller + * slime.el (utf-8-source): XEmacs has no set-buffer-multibyte. + (slime-create-test-results-buffer): Set file-coding-system. + * swank-lispworks.lisp (swank-compile-string): Don't include the source-string in the dspec::*location*. As LW has the habbit to print the entire *location* on redefinition the source-string --- /project/slime/cvsroot/slime/slime.el 2012/03/26 15:10:38 1.1394 +++ /project/slime/cvsroot/slime/slime.el 2012/03/26 15:36:50 1.1395 @@ -7481,6 +7481,7 @@ (with-current-buffer (get-buffer-create slime-test-buffer-name) (erase-buffer) (outline-mode) + (setq buffer-file-coding-system 'binary) (set (make-local-variable 'outline-regexp) "\\*+") (slime-set-truncate-lines))) @@ -8009,14 +8010,15 @@ (let ((filename "/tmp/slime-tmp-file.lisp")) (setcar cell nil) (add-hook 'slime-compilation-finished-hook hook) - (unwind-protect + (unwind-protect (with-temp-buffer - (set-buffer-multibyte t) + (when (fboundp 'set-buffer-multibyte) + (set-buffer-multibyte t)) (setq buffer-file-coding-system 'utf-8-unix) (setq buffer-file-name filename) (insert ";; -*- coding: utf-8-unix -*- \n") (insert input) - (save-buffer) + (write-region nil nil filename nil t) (let ((slime-load-failed-fasl 'always)) (slime-compile-and-load-file) (slime-wait-condition "Compilation finished" @@ -8025,7 +8027,7 @@ (slime-test-expect "Compile-file result correct" output (slime-eval '(cl-user::foo)))) (remove-hook 'slime-compilation-finished-hook hook) - (delete-file filename)))))) + (ignore-errors (delete-file filename))))))) (def-slime-test async-eval-debugging (depth) "Test recursive debugging of asynchronous evaluation requests." From nsiivola at common-lisp.net Fri Mar 30 09:45:01 2012 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Fri, 30 Mar 2012 02:45:01 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv24629 Modified Files: ChangeLog swank-sbcl.lisp Log Message: sbcl: make STEP friendlier when SBCL gives the source form for the initial form ...right now it doesn't but next week it will -- and then the initial form shown would be useless. --- /project/slime/cvsroot/slime/ChangeLog 2012/03/26 15:36:50 1.2307 +++ /project/slime/cvsroot/slime/ChangeLog 2012/03/30 09:45:00 1.2308 @@ -1,3 +1,9 @@ +2012-03-30 Nikodemus Siivola + + * swank-sbcl.lisp (lisp-source-location): When processing a STEP-FORM-CONDITION, + don't show the initial form from expansion of STEP. (Currently SBCL doesn't + give the form at all, but when it does seeing it is distinctly useless.) + 2012-03-26 Helmut Eller * slime.el (utf-8-source): XEmacs has no set-buffer-multibyte. --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/26 15:10:19 1.303 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/30 09:45:00 1.304 @@ -1130,7 +1130,13 @@ (defun lisp-source-location (code-location) (let ((source (prin1-to-string (sb-debug::code-location-source-form code-location 100)))) - (make-location `(:source-form ,source) '(:position 1)))) + (if (and (typep swank::*swank-debugger-condition* 'sb-impl::step-form-condition) + (and (search "SB-IMPL::WITH-STEPPING-ENABLED" source :test #'char-equal) + (search "SB-IMPL::STEP-FINISHED" source :test #'char-equal))) + ;; The initial form is utterly uninteresting -- and almost certainly right there + ;; in the REPL. + (make-error-location "Stepping...") + (make-location `(:source-form ,source) '(:position 1))))) (defun emacs-buffer-source-location (code-location plist) (if (code-location-has-debug-block-info-p code-location) From nsiivola at common-lisp.net Fri Mar 30 10:40:21 2012 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Fri, 30 Mar 2012 03:40:21 -0700 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv17514/contrib Modified Files: ChangeLog slime-cl-indent-test.txt slime-cl-indent.el Log Message: slime-indentation: fix indentation of (foo ;; comment\n... (foo ;; Deal with bar (bar) ;; Deal with quux (quux)) instead of (foo ;; Deal with bar (bar) ;; Deal with quux (quux)) --- /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/19 14:27:04 1.538 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2012/03/30 10:40:21 1.539 @@ -43,6 +43,14 @@ * swank-mrepl.lisp (send-prompt): Fix use of OR. Reported by Mark H. David. +2012-03-30 Nikodemus Siivola + + * slime-cl-indent.el (common-lisp-indent-function-1): Fix indentation + of (and ;; Foo\n...). Previously following lines were indented by one, instead + of using normal indentation. + + * slime-cl-indent-test.txt (tests 84-86): Tests. + 2011-12-30 Nikodemus Siivola * slime-cl-indent.el (common-lisp-looking-at-keyword): New function. Looks --- /project/slime/cvsroot/slime/contrib/slime-cl-indent-test.txt 2011/12/30 17:10:13 1.18 +++ /project/slime/cvsroot/slime/contrib/slime-cl-indent-test.txt 2012/03/30 10:40:21 1.19 @@ -890,3 +890,23 @@ #+quux #+quux :quux t :zot t) + +;;; Test: 84 + +(and ;; Foo + (something) + ;; Quux + (more)) + +;;; Test: 85 + +(and ;; Foo + (something) + ;; Quux + (more)) + +;;; Test: 86 + +(foo ( + bar quux + zor)) --- /project/slime/cvsroot/slime/contrib/slime-cl-indent.el 2011/12/30 17:10:13 1.62 +++ /project/slime/cvsroot/slime/contrib/slime-cl-indent.el 2012/03/30 10:40:21 1.63 @@ -951,11 +951,31 @@ (error (setq depth lisp-indent-maximum-backtracking)))))) (or calculated tentative-calculated - ;; Fallback. calculate-lisp-indent doesn't deal with - ;; things like (foo (or x - ;; y) t - ;; z) - ;; but would align the Z with Y. + ;; Fallback. + ;; + ;; Instead of punting directly to calculate-lisp-indent we handle a few + ;; of cases it doesn't deal with: + ;; + ;; A: (foo ( + ;; bar zot + ;; quux)) + ;; + ;; would align QUUX with ZOT. + ;; + ;; B: + ;; (foo (or x + ;; y) t + ;; z) + ;; + ;; would align the Z with Y. + ;; + ;; C: + ;; (foo ;; Comment + ;; (bar) + ;; ;; Comment 2 + ;; (quux)) + ;; + ;; would indent BAR and QUUX by one. (ignore-errors (save-excursion (goto-char indent-point) @@ -966,11 +986,20 @@ (let ((one (current-column))) (skip-chars-forward " \t") (if (or (eolp) (looking-at ";")) + ;; A. (list one containing-form-start) (forward-sexp 2) (backward-sexp) - (unless (= p (point)) - (list (current-column) containing-form-start))))))))))) + (if (/= p (point)) + ;; B. + (list (current-column) containing-form-start) + (backward-sexp) + (forward-sexp) + (let ((tmp (+ (current-column) 1))) + (skip-chars-forward " \t") + (if (looking-at ";") + ;; C. + (list tmp containing-form-start))))))))))))) (defun common-lisp-indent-call-method (function method path state indent-point From nsiivola at common-lisp.net Fri Mar 30 14:54:46 2012 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Fri, 30 Mar 2012 07:54:46 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv31313 Modified Files: swank-sbcl.lisp Log Message: sbcl: fix bug introduced two commits ago SWANK package not there yet when swank-sbcl.lisp is loaded. --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/30 09:45:00 1.304 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2012/03/30 14:54:46 1.305 @@ -1129,8 +1129,10 @@ (defun lisp-source-location (code-location) (let ((source (prin1-to-string - (sb-debug::code-location-source-form code-location 100)))) - (if (and (typep swank::*swank-debugger-condition* 'sb-impl::step-form-condition) + (sb-debug::code-location-source-form code-location 100))) + (condition (intern "*swank-debugger-condition*" :swank))) + (if (and (boundp condition) + (typep (symbol-value condition) 'sb-impl::step-form-condition) (and (search "SB-IMPL::WITH-STEPPING-ENABLED" source :test #'char-equal) (search "SB-IMPL::STEP-FINISHED" source :test #'char-equal))) ;; The initial form is utterly uninteresting -- and almost certainly right there