From nsiivola at common-lisp.net Fri Aug 5 08:05:47 2011 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Fri, 05 Aug 2011 01:05:47 -0700 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv13826/contrib Modified Files: ChangeLog swank-indentation.lisp Log Message: slime-indentation: tweak macro-indentation once more (defmacro with-foo ((a b &key foo) &body body) ...) (with-foo ((a (a-form)) (b (b-form)) :foo t) ...) --- /project/slime/cvsroot/slime/contrib/ChangeLog 2011/07/27 16:45:36 1.488 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2011/08/05 08:05:47 1.489 @@ -1,3 +1,8 @@ +2011-08-05 Nikodemus Siivola + + * swank-indentation.lisp (macro-indentation): Tweak so that + things that could be bindings are indented by 1, not 4. + 2011-07-27 Nikodemus Siivola * slime-cl-indent.el: Tweak COND indentation. --- /project/slime/cvsroot/slime/contrib/swank-indentation.lisp 2011/06/16 08:29:17 1.4 +++ /project/slime/cvsroot/slime/contrib/swank-indentation.lisp 2011/08/05 08:05:47 1.5 @@ -47,25 +47,31 @@ ;;; More complex version. (defun macro-indentation (arglist) - (labels ((frob (list) + (labels ((frob (list &optional base) (if (every (lambda (x) (member x '(nil "&rest") :test #'equal)) list) ;; If there was nothing interesting, don't return anything. nil - ;; Otherwise substitute leading NIL's with 4. + ;; Otherwise substitute leading NIL's with 4 or 1. (let ((ok t)) - (substitute-if 4 (lambda (x) - (if (and ok (not x)) - t - (setf ok nil))) + (substitute-if (if base + 4 + 1) + (lambda (x) + (if (and ok (not x)) + t + (setf ok nil))) list)))) (walk (list level &optional firstp) (when (consp list) (let ((head (car list))) (if (consp head) (let ((indent (frob (walk head (+ level 1) t)))) - (cons (list* "&whole" 4 indent) (walk (cdr list) level))) + (cons (list* "&whole" (if (zerop level) + 4 + 1) + indent) (walk (cdr list) level))) (case head ;; &BODY is &BODY, this is clear. (&body @@ -116,7 +122,7 @@ (otherwise (unless (member head lambda-list-keywords) (cons nil (walk (cdr list) level)))))))))) - (frob (walk arglist 0 t)))) + (frob (walk arglist 0 t) t))) #+nil (progn @@ -126,7 +132,7 @@ (macro-indentation '(a b c &rest more)))) (assert (equal '(4 4 4 "&body") (macro-indentation '(a b c &body more)))) - (assert (equal '(("&whole" 4 4 4 "&rest" 1) "&body") + (assert (equal '(("&whole" 4 1 1 "&rest" 1) "&body") (macro-indentation '((name zot &key foo bar) &body body)))) (assert (equal nil (macro-indentation '(x y &key z))))) From heller at common-lisp.net Mon Aug 8 12:30:46 2011 From: heller at common-lisp.net (CVS User heller) Date: Mon, 08 Aug 2011 05:30:46 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv7281 Modified Files: ChangeLog Log Message: Minor reformatting: break lines at 80 columns. --- /project/slime/cvsroot/slime/ChangeLog 2011/07/03 18:15:38 1.2206 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/08 12:30:46 1.2207 @@ -1,8 +1,9 @@ 2011-07-03 Nikodemus Siivola - * swank-sbcl.lisp (debug-var-info): New function: calls SB-DI::DEBUG-VAR-INFO - when available. - (frame-locals, frame-var-value): Treat more-context and more-count vars specially. + * swank-sbcl.lisp (debug-var-info): New function: calls + SB-DI::DEBUG-VAR-INFO when available. + (frame-locals, frame-var-value): Treat more-context and more-count + vars specially. 2011-06-21 Nikodemus Siivola @@ -154,12 +155,12 @@ * slime.el (slime-intern-indentation-spec): New function. Converts strings in an indentation spec to symbols. - (slime-handle-indentation-update): Intern the indentation spec using - slime-intern-indentation-spec, so that lisp side can pass complex indentation - specs. - * contrib/swank-indentation.lisp (application-indentation-hint): Downcase - symbol names -- any symbol in an indentation spec is pretty much guaranteed - to have a lowecase name on the Emacs side. + (slime-handle-indentation-update): Intern the indentation spec + using slime-intern-indentation-spec, so that lisp side can pass + complex indentation specs. + * contrib/swank-indentation.lisp (application-indentation-hint): + Downcase symbol names -- any symbol in an indentation spec is + pretty much guaranteed to have a lowecase name on the Emacs side. 2011-04-16 Stas Boukarev From heller at common-lisp.net Mon Aug 8 12:31:01 2011 From: heller at common-lisp.net (CVS User heller) Date: Mon, 08 Aug 2011 05:31:01 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv7307 Modified Files: ChangeLog slime.el swank.lisp Log Message: * slime.el (slime-unintern-symbol): New command. * swank.lisp (unintern-symbol): Lisp-side implementation. --- /project/slime/cvsroot/slime/ChangeLog 2011/08/08 12:30:46 1.2207 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/08 12:31:00 1.2208 @@ -1,3 +1,8 @@ +2011-08-08 Helmut Eller + + * slime.el (slime-unintern-symbol): New command. + * swank.lisp (unintern-symbol): Lisp-side implementation. + 2011-07-03 Nikodemus Siivola * swank-sbcl.lisp (debug-var-info): New function: calls --- /project/slime/cvsroot/slime/slime.el 2011/06/14 14:00:10 1.1372 +++ /project/slime/cvsroot/slime/slime.el 2011/08/08 12:31:00 1.1373 @@ -4329,6 +4329,14 @@ (slime-eval-async `(swank:undefine-function ,symbol-name) (lambda (result) (message "%s" result)))) +(defun slime-unintern-symbol (symbol-name package) + "Unintern the symbol given with SYMBOL-NAME PACKAGE." + (interactive (list (slime-read-symbol-name "Unintern symbol: " t) + (slime-read-package-name "from package: " + (slime-current-package)))) + (slime-eval-async `(swank:unintern-symbol ,symbol-name ,package) + (lambda (result) (message "%s" result)))) + (defun slime-load-file (filename) "Load the Lisp file FILENAME." (interactive (list --- /project/slime/cvsroot/slime/swank.lisp 2011/06/21 11:24:01 1.750 +++ /project/slime/cvsroot/slime/swank.lisp 2011/08/08 12:31:01 1.751 @@ -3263,6 +3263,17 @@ (let ((fname (from-string fname-string))) (format nil "~S" (fmakunbound fname)))) +(defslimefun unintern-symbol (name package) + (let ((pkg (guess-package package))) + (cond ((not pkg) (format nil "No such package: ~s" package)) + (t + (multiple-value-bind (sym found) (parse-symbol name pkg) + (case found + ((nil) (format nil "~s not in package ~s" name package)) + (t + (unintern sym pkg) + (format nil "Uninterned symbol: ~s" sym)))))))) + ;;;; Profiling From nsiivola at common-lisp.net Tue Aug 9 10:27:25 2011 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Tue, 09 Aug 2011 03:27:25 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv25734 Modified Files: ChangeLog swank-sbcl.lisp Log Message: sbcl: use explicit :SERVE-EVENTS T with sockets when necessary It won't be the default for much longer. --- /project/slime/cvsroot/slime/ChangeLog 2011/08/08 12:31:00 1.2208 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/09 10:27:25 1.2209 @@ -1,3 +1,9 @@ +2011-08-09 Nikodemus Siivola + + * swank-sbcl.lisp (make-socket-io-stream): Use :SERVE-EVENTS T when + using :FD-HANDLER as the communication style. SBCL will soon stop + serving events by default on socket streams. + 2011-08-08 Helmut Eller * slime.el (slime-unintern-symbol): New command. --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2011/07/03 18:15:38 1.285 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2011/08/09 10:27:25 1.286 @@ -280,7 +280,8 @@ :buffering buffering #+sb-unicode :external-format #+sb-unicode external-format - )) + :serve-events + (eq :fd-handler swank:*communication-style*))) (defun accept (socket) "Like socket-accept, but retry on EAGAIN." From nsiivola at common-lisp.net Tue Aug 9 10:35:00 2011 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Tue, 09 Aug 2011 03:35:00 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv27101 Modified Files: swank-sbcl.lisp Log Message: sbcl: oops, can't intern SWANK*COMMUNICATION-STYLE* when loading the backend Hackety hack. :/ --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2011/08/09 10:27:25 1.286 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2011/08/09 10:35:00 1.287 @@ -281,7 +281,10 @@ #+sb-unicode :external-format #+sb-unicode external-format :serve-events - (eq :fd-handler swank:*communication-style*))) + (eq :fd-handler + ;; KLUDGE: SWANK package isn't + ;; available when backend is loaded. + (intern "*COMMUNICATION-STYLE*" :swank)))) (defun accept (socket) "Like socket-accept, but retry on EAGAIN." From sboukarev at common-lisp.net Wed Aug 17 15:40:47 2011 From: sboukarev at common-lisp.net (CVS User sboukarev) Date: Wed, 17 Aug 2011 08:40:47 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv22897 Modified Files: ChangeLog swank-allegro.lisp swank.lisp Log Message: * swank-allegro.lisp (with-redirected-y-or-n-p): Fix modern-mode issues. Patch by Andrew Myers. --- /project/slime/cvsroot/slime/ChangeLog 2011/08/09 10:27:25 1.2209 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/17 15:40:47 1.2210 @@ -1,3 +1,9 @@ +2011-08-17 Stas Boukarev + + * swank-allegro.lisp (with-redirected-y-or-n-p): Fix modern-mode + issues. + Patch by Andrew Myers. + 2011-08-09 Nikodemus Siivola * swank-sbcl.lisp (make-socket-io-stream): Use :SERVE-EVENTS T when --- /project/slime/cvsroot/slime/swank-allegro.lisp 2011/02/24 06:38:34 1.143 +++ /project/slime/cvsroot/slime/swank-allegro.lisp 2011/08/17 15:40:47 1.144 @@ -642,17 +642,14 @@ ;; As the CL:Y-OR-N-P question is (for some reason) not directly ;; sent to the Slime user, the function CL:Y-OR-N-P is temporarily ;; overruled. - `(let* ((pkg (find-package "common-lisp")) + `(let* ((pkg (find-package :common-lisp)) (saved-pdl (excl::package-definition-lock pkg)) (saved-ynp (symbol-function 'cl:y-or-n-p))) - (setf (excl::package-definition-lock pkg) nil - (symbol-function 'cl:y-or-n-p) (symbol-function - (find-symbol "y-or-n-p-in-emacs" - "swank"))) + (symbol-function 'cl:y-or-n-p) + (symbol-function (read-from-string "swank:y-or-n-p-in-emacs"))) (unwind-protect - (progn , at body) - + (progn , at body) (setf (symbol-function 'cl:y-or-n-p) saved-ynp (excl::package-definition-lock pkg) saved-pdl)))) --- /project/slime/cvsroot/slime/swank.lisp 2011/08/08 12:31:01 1.751 +++ /project/slime/cvsroot/slime/swank.lisp 2011/08/17 15:40:47 1.752 @@ -65,7 +65,8 @@ #:set-default-directory #:quit-lisp #:eval-for-emacs - #:eval-in-emacs)) + #:eval-in-emacs + #:y-or-n-p-in-emacs)) (in-package :swank) From heller at common-lisp.net Thu Aug 18 09:41:15 2011 From: heller at common-lisp.net (CVS User heller) Date: Thu, 18 Aug 2011 02:41:15 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv23625 Modified Files: ChangeLog slime.el Log Message: Fix line numbers for compiler notes if is narrowing was in effect. * slime.el (slime-canonicalized-location): Widen before calling line-number-at-pos. --- /project/slime/cvsroot/slime/ChangeLog 2011/08/17 15:40:47 1.2210 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/18 09:41:15 1.2211 @@ -1,3 +1,10 @@ +2011-08-18 Helmut Eller + + Fix line numbers for compiler notes if is narrowing was in effect. + + * slime.el (slime-canonicalized-location): Widen before calling + line-number-at-pos. + 2011-08-17 Stas Boukarev * swank-allegro.lisp (with-redirected-y-or-n-p): Fix modern-mode --- /project/slime/cvsroot/slime/slime.el 2011/08/08 12:31:00 1.1373 +++ /project/slime/cvsroot/slime/slime.el 2011/08/18 09:41:15 1.1374 @@ -2913,7 +2913,9 @@ (save-excursion (slime-goto-source-location location) (list (or (buffer-file-name) (buffer-name)) - (line-number-at-pos) + (save-restriction + (widen) + (line-number-at-pos)) (1+ (current-column)))))) (defun slime-canonicalized-location-to-string (loc) From mevenson at common-lisp.net Fri Aug 26 11:10:47 2011 From: mevenson at common-lisp.net (CVS User mevenson) Date: Fri, 26 Aug 2011 04:10:47 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv15959 Modified Files: ChangeLog swank-abcl.lisp Log Message: abcl: fix inspection for classes not using the standard metaclass. --- /project/slime/cvsroot/slime/ChangeLog 2011/08/18 09:41:15 1.2211 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/26 11:10:47 1.2212 @@ -1,3 +1,8 @@ +2011-08-26 Mark Evenson + + * swank-abcl.lisp (class-slots): Use exported symbol allowing + classes with non-standard metaobjects to be inspected. + 2011-08-18 Helmut Eller Fix line numbers for compiler notes if is narrowing was in effect. --- /project/slime/cvsroot/slime/swank-abcl.lisp 2010/10/21 08:07:03 1.85 +++ /project/slime/cvsroot/slime/swank-abcl.lisp 2011/08/26 11:10:47 1.86 @@ -58,7 +58,7 @@ (mop::%slot-definition-name slot)) (defun class-slots (class) - (mop::%class-slots class)) + (mop:class-slots class)) (defun method-generic-function (method) (mop::%method-generic-function method)) @@ -634,7 +634,7 @@ `((:action "[compute toString()]" ,to-string) (:newline))) (loop :for (label . value) :in (sys:inspected-parts o) :appending (label-value-line label value))))) - + ;;;; Multithreading (defimplementation spawn (fn &key name) From nsiivola at common-lisp.net Tue Aug 30 15:34:10 2011 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Tue, 30 Aug 2011 08:34:10 -0700 Subject: [slime-cvs] CVS slime/contrib Message-ID: Update of /project/slime/cvsroot/slime/contrib In directory tiger.common-lisp.net:/tmp/cvs-serv15235/contrib Modified Files: ChangeLog slime-repl.el Log Message: slime-repl: new command: slime-eval-last-expression-in-repl For sending forms from other buffers to repl for evaluation. Default binding is C-c C-j. With prefix argument doesn't switch REPL back the original package. --- /project/slime/cvsroot/slime/contrib/ChangeLog 2011/08/05 08:05:47 1.489 +++ /project/slime/cvsroot/slime/contrib/ChangeLog 2011/08/30 15:34:10 1.490 @@ -1,3 +1,11 @@ +2011-08-30 Nikodemus Siivola + + * slime-repl.el (slime-repl-suppress-prompt): New variable. Bind to T to + temporarily suppress the prompt. + (slime-eval-last-expression-in-repl): New command. Sends form from + another buffer to REPL for evaluation. + (slime-mode-map): Bind slime-eval-last-expression-in-repl to C-c C-j. + 2011-08-05 Nikodemus Siivola * swank-indentation.lisp (macro-indentation): Tweak so that --- /project/slime/cvsroot/slime/contrib/slime-repl.el 2011/01/23 00:08:09 1.53 +++ /project/slime/cvsroot/slime/contrib/slime-repl.el 2011/08/30 15:34:10 1.54 @@ -411,9 +411,10 @@ ("\C-z" 'slime-switch-to-output-buffer) ("\M-p" 'slime-repl-set-package)) -(slime-define-keys slime-mode-map +(slime-define-keys slime-mode-map ("\C-c~" 'slime-sync-package-and-default-directory) - ("\C-c\C-y" 'slime-call-defun)) + ("\C-c\C-y" 'slime-call-defun) + ("\C-c\C-j" 'slime-eval-last-expression-in-repl)) (slime-define-keys slime-connection-list-mode-map ((kbd "RET") 'slime-goto-connection) @@ -551,26 +552,32 @@ (slime-repl-insert-prompt)))) (slime-repl-show-maximum-output))) +(defvar slime-repl-suppress-prompt nil + "Supresses Slime REPL prompt when bound to T.") + (defun slime-repl-insert-prompt () "Insert the prompt (before markers!). -Set point after the prompt. -Return the position of the prompt beginning." +Set point after the prompt. +Return the position of the prompt beginning. + +If `slime-repl-suppress-prompt' is true, does nothing and returns nil." (goto-char slime-repl-input-start-mark) - (slime-save-marker slime-output-start - (slime-save-marker slime-output-end - (unless (bolp) (insert-before-markers "\n")) - (let ((prompt-start (point)) - (prompt (format "%s> " (slime-lisp-package-prompt-string)))) - (slime-propertize-region - '(face slime-repl-prompt-face read-only t intangible t - slime-repl-prompt t - ;; emacs stuff - rear-nonsticky (slime-repl-prompt read-only face intangible) - ;; xemacs stuff - start-open t end-open t) - (insert-before-markers prompt)) - (set-marker slime-repl-prompt-start-mark prompt-start) - prompt-start)))) + (unless slime-repl-suppress-prompt + (slime-save-marker slime-output-start + (slime-save-marker slime-output-end + (unless (bolp) (insert-before-markers "\n")) + (let ((prompt-start (point)) + (prompt (format "%s> " (slime-lisp-package-prompt-string)))) + (slime-propertize-region + '(face slime-repl-prompt-face read-only t intangible t + slime-repl-prompt t + ;; emacs stuff + rear-nonsticky (slime-repl-prompt read-only face intangible) + ;; xemacs stuff + start-open t end-open t) + (insert-before-markers prompt)) + (set-marker slime-repl-prompt-start-mark prompt-start) + prompt-start))))) (defun slime-repl-show-maximum-output () "Put the end of the buffer at the bottom of the window." @@ -800,6 +807,45 @@ (interactive) (delete-region slime-repl-input-start-mark (point-max))) +(defun slime-eval-last-expression-in-repl (prefix) + "Evaluates last expression in the Slime REPL. + +Switches REPL to current package of the source buffer for the duration. If +used with a prefix argument (C-u), doesn't switch back afterwards." + (interactive "P") + (let ((expr (slime-last-expression)) + (buffer-name (buffer-name (current-buffer))) + (new-package (slime-current-package)) + (old-package (slime-lisp-package)) + (slime-repl-suppress-prompt t) + (yank-back nil)) + (save-excursion + (set-buffer (slime-output-buffer)) + (unless (eq (current-buffer) (window-buffer)) + (pop-to-buffer (current-buffer) t)) + (end-of-buffer) + ;; Kill pending input in the REPL + (when (< (marker-position slime-repl-input-start-mark) (point)) + (kill-region slime-repl-input-start-mark (point)) + (setq yank-back t)) + (unwind-protect + (progn + (insert-before-markers (format "\n;;; from %s\n" buffer-name)) + (when new-package + (slime-repl-set-package new-package)) + (let ((slime-repl-suppress-prompt nil)) + (slime-repl-insert-prompt)) + (insert expr) + (slime-repl-return)) + (unless (or prefix (equal (slime-lisp-package) old-package)) + ;; Switch back. + (slime-repl-set-package old-package) + (let ((slime-repl-suppress-prompt nil)) + (slime-repl-insert-prompt)))) + ;; Put pending input back. + (when yank-back + (yank))))) + (defun slime-repl-kill-input () "Kill all text from the prompt to point." (interactive) From nsiivola at common-lisp.net Tue Aug 30 15:34:10 2011 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Tue, 30 Aug 2011 08:34:10 -0700 Subject: [slime-cvs] CVS slime/doc Message-ID: Update of /project/slime/cvsroot/slime/doc In directory tiger.common-lisp.net:/tmp/cvs-serv15235/doc Modified Files: slime.texi Log Message: slime-repl: new command: slime-eval-last-expression-in-repl For sending forms from other buffers to repl for evaluation. Default binding is C-c C-j. With prefix argument doesn't switch REPL back the original package. --- /project/slime/cvsroot/slime/doc/slime.texi 2010/12/10 15:05:06 1.101 +++ /project/slime/cvsroot/slime/doc/slime.texi 2011/08/30 15:34:10 1.102 @@ -12,7 +12,7 @@ @set EDITION 3.0-alpha @set SLIMEVER 3.0-alpha @c @set UPDATED @today{} - at set UPDATED @code{$Date: 2010/12/10 15:05:06 $} + at set UPDATED @code{$Date: 2011/08/30 15:34:10 $} @set TITLE SLIME User Manual @settitle @value{TITLE}, version @value{EDITION} @@ -2214,6 +2214,11 @@ @kbditem{C-c C-y, slime-call-defun} Insert a call to the function defined around point into the REPL. + at kbditem{C-c C-j, slime-eval-last-expression-in-repl} +Inserts the last expression to the REPL and evaluates it there. +Switches to the current packae of the source buffer for the duration. +If used with a prefix argument, doesn't switch back afterwards. + @end table @menu From nsiivola at common-lisp.net Wed Aug 31 13:18:11 2011 From: nsiivola at common-lisp.net (CVS User nsiivola) Date: Wed, 31 Aug 2011 06:18:11 -0700 Subject: [slime-cvs] CVS slime Message-ID: Update of /project/slime/cvsroot/slime In directory tiger.common-lisp.net:/tmp/cvs-serv13798 Modified Files: ChangeLog swank-sbcl.lisp Log Message: sbcl: support for SBCL < 1.0.42.43 In theory at least -- :SERVE-EVENTS keyword argument to MAKE-SOCKET-STREAM was introduced then, but I don't claim to have extensively tested current Slime with SBCLs that old. --- /project/slime/cvsroot/slime/ChangeLog 2011/08/26 11:10:47 1.2212 +++ /project/slime/cvsroot/slime/ChangeLog 2011/08/31 13:18:11 1.2213 @@ -1,3 +1,8 @@ +2011-08-31 Nikodemus Siivola + + * swank-sbcl.lisp (make-socket-io-stream): Backwards compatibility with + SBCL < 1.0.42.43 -- and bugfix. + 2011-08-26 Mark Evenson * swank-abcl.lisp (class-slots): Use exported symbol allowing --- /project/slime/cvsroot/slime/swank-sbcl.lisp 2011/08/09 10:35:00 1.287 +++ /project/slime/cvsroot/slime/swank-sbcl.lisp 2011/08/31 13:18:11 1.288 @@ -284,7 +284,11 @@ (eq :fd-handler ;; KLUDGE: SWANK package isn't ;; available when backend is loaded. - (intern "*COMMUNICATION-STYLE*" :swank)))) + (symbol-value + (intern "*COMMUNICATION-STYLE*" :swank))) + ;; SBCL < 1.0.42.43 doesn't support :SERVE-EVENTS + ;; argument. + :allow-other-keys t)) (defun accept (socket) "Like socket-accept, but retry on EAGAIN."