From lgorrie at common-lisp.net Sat May 1 00:05:55 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Fri, 30 Apr 2004 20:05:55 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv4957 Modified Files: slime.el Log Message: (slime-edit-definition-fallback-function): Name of a function to try if the builtin edit-definition finding fails. You can set this to `find-tag' to fall back on TAGS. Date: Fri Apr 30 20:05:55 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.286 slime/slime.el:1.287 --- slime/slime.el:1.286 Fri Apr 30 19:40:39 2004 +++ slime/slime.el Fri Apr 30 20:05:55 2004 @@ -123,6 +123,12 @@ (defvar slime-reply-update-banner-p t "Whether Slime should keep a repl banner updated or not.") +(defvar slime-edit-definition-fallback-function nil + "Function to call when edit-definition fails to find the source itself. +The function is called with the definition name, a string, as its argument. + +If you want to fallback on TAGS you can set this to `find-tag'.") + ;;; Customize group @@ -3741,18 +3747,20 @@ (interactive (list (slime-read-symbol-name "Symbol: "))) (let ((definitions (slime-eval `(swank:find-definitions-for-emacs ,name) (slime-buffer-package)))) - (when (null definitions) - (error "No known definition for: %s" name)) - (slime-push-definition-stack) - (cond ((slime-length> definitions 1) - (slime-show-definitions name definitions)) - (t - (slime-goto-source-location (slime-definition.location - (car definitions))) - (cond ((not other-window) - (switch-to-buffer (current-buffer))) - (t - (switch-to-buffer-other-window (current-buffer)))))))) + (if (null definitions) + (if slime-edit-definition-fallback-function + (funcall slime-edit-definition-fallback-function name) + (error "No known definition for: %s" name)) + (slime-push-definition-stack) + (cond ((slime-length> definitions 1) + (slime-show-definitions name definitions)) + (t + (slime-goto-source-location (slime-definition.location + (car definitions))) + (cond ((not other-window) + (switch-to-buffer (current-buffer))) + (t + (switch-to-buffer-other-window (current-buffer))))))))) (defun slime-edit-definition-other-window (name) "Like `slime-edit-definition' but switch to the other window." From lgorrie at common-lisp.net Sat May 1 00:10:41 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Fri, 30 Apr 2004 20:10:41 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv5662 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Fri Apr 30 20:10:40 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.359 slime/ChangeLog:1.360 --- slime/ChangeLog:1.359 Fri Apr 30 19:43:23 2004 +++ slime/ChangeLog Fri Apr 30 20:10:40 2004 @@ -3,6 +3,9 @@ * slime.el (sldb-abort): Print a message if the Emacs RPC returns. It shouldn't, if ABORT manages to unwind the stack, but it currently does in OpenMCL due to some bug. + (slime-edit-definition-fallback-function): Name of a function to + try if the builtin edit-definition finding fails. You can set + this to `find-tag' to fall back on TAGS. * swank.lisp (list-all-systems-in-central-registry): Use explicit :wild in pathname for matching (needed in at least SBCL). From heller at common-lisp.net Sat May 1 16:37:44 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 01 May 2004 12:37:44 -0400 Subject: [slime-cvs] CVS update: slime/swank-lispworks.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv28320 Modified Files: swank-lispworks.lisp Log Message: (find-top-frame): New function used to hide debugger internal frames. (call-with-debugging-environment): Use it. Date: Sat May 1 12:37:43 2004 Author: heller Index: slime/swank-lispworks.lisp diff -u slime/swank-lispworks.lisp:1.40 slime/swank-lispworks.lisp:1.41 --- slime/swank-lispworks.lisp:1.40 Fri Apr 30 02:32:24 2004 +++ slime/swank-lispworks.lisp Sat May 1 12:37:43 2004 @@ -178,15 +178,6 @@ (defvar *sldb-top-frame*) -(defimplementation call-with-debugging-environment (fn) - (dbg::with-debugger-stack () - (let ((*sldb-top-frame* - (dbg::frame-next - (dbg::frame-next - (dbg::frame-next - (dbg::debugger-stack-current-frame dbg::*debugger-stack*)))))) - (funcall fn)))) - (defun interesting-frame-p (frame) (cond ((or (dbg::call-frame-p frame) (dbg::derived-call-frame-p frame) @@ -200,11 +191,29 @@ ((dbg::open-frame-p frame) dbg:*print-open-frames*) (t nil))) -(defun nth-frame (index) - (do ((frame *sldb-top-frame* (dbg::frame-next frame)) - (i index (if (interesting-frame-p frame) (1- i) i))) +(defun nth-next-frame (frame n) + "Unwind FRAME N times." + (do ((frame frame (dbg::frame-next frame)) + (i n (if (interesting-frame-p frame) (1- i) i))) ((and (interesting-frame-p frame) (zerop i)) frame) (assert frame))) + +(defun nth-frame (index) + (nth-next-frame *sldb-top-frame* index)) + +(defun find-top-frame () + "Return the most suitable top-frame for the debugger." + (do ((frame (dbg::debugger-stack-current-frame dbg::*debugger-stack*) + (nth-next-frame frame 1))) + ((and (dbg::call-frame-p frame) + (eq (dbg::call-frame-function-name frame) + 'invoke-debugger)) + (nth-next-frame frame 1)))) + +(defimplementation call-with-debugging-environment (fn) + (dbg::with-debugger-stack () + (let ((*sldb-top-frame* (find-top-frame))) + (funcall fn)))) (defimplementation compute-backtrace (start end) (let ((end (or end most-positive-fixnum)) From heller at common-lisp.net Sat May 1 16:46:25 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 01 May 2004 12:46:25 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv21056 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Sat May 1 12:46:24 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.360 slime/ChangeLog:1.361 --- slime/ChangeLog:1.360 Fri Apr 30 20:10:40 2004 +++ slime/ChangeLog Sat May 1 12:46:24 2004 @@ -1,3 +1,9 @@ +2004-05-01 Helmut Eller + + * swank-lispworks.lisp (find-top-frame): New function used to hide + debugger-internal frames. + (call-with-debugging-environment): Use it. + 2004-05-01 Luke Gorrie * slime.el (sldb-abort): Print a message if the Emacs RPC From lgorrie at common-lisp.net Sun May 2 02:14:10 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sat, 01 May 2004 22:14:10 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv28352 Modified Files: slime.el Log Message: (slime-goto-source-location): Added support for the :snippet "hint" in a location specifier. If Lisp sends the (initial) source text for the definition then Emacs isearches for it in both directions from the given character position. This makes M-. robust when the Emacs buffer has been edited. Requires backends to provide this snippet information. (slime-goto-location-position): Tightened up the regular expressions for :function-name style location search. (slime-cleanup-definition-refs): New function to do a little post-processing on definition references from Lisp. Mostly this is a hack: if POSITION is NIL then we fill it in with the function name, ready for regexp search. I was in a hurry and it was easier to do here, and it doesn't seem entirely unreasonable. Date: Sat May 1 22:14:10 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.287 slime/slime.el:1.288 --- slime/slime.el:1.287 Fri Apr 30 20:05:55 2004 +++ slime/slime.el Sat May 1 22:14:09 2004 @@ -3085,10 +3085,9 @@ (name (regexp-quote name))) (or (re-search-forward - (format "^(\\(def.*[ \n\t(]\\([-.%%$&a-z0-9]+:?:\\)?\\)?%s[ \t)]" - name) nil t) + (format "\\s *(def\\(\\s_\\|\\sw\\)*\\s +%s\\>" name) nil t) (re-search-forward - (format "\\s %s" name) nil t))) + (format "\\<%s\\>" name) nil t))) (goto-char (match-beginning 0))) ((:source-path source-path start-position) (cond (start-position @@ -3113,9 +3112,11 @@ | (:function-name ) | (:source-path ) " (destructure-case location - ((:location buffer position) + ((:location buffer position hints) (slime-goto-location-buffer buffer) - (slime-goto-location-position position)) + (slime-goto-location-position position) + (when-let (snippet (getf hints :snippet)) + (slime-isearch snippet))) ((:error message) (if noerror (slime-message "%s" message) @@ -3181,6 +3182,54 @@ (cdr e)))) +;;;;; Incremental search +;; +;; Search for the longest match of a string in either direction. +;; +;; This is for locating text that is expected to be near the point and +;; may have been modified (but hopefully not near the beginning!) + +(defun slime-isearch (string) + "Find the longest occurence of STRING either backwards of forwards. +If multiple matches exist the choose the one nearest to point." + (goto-char + (let* ((start (point)) + (len1 (slime-isearch-with-function 'search-forward string)) + (pos1 (point))) + (goto-char start) + (let* ((len2 (slime-isearch-with-function 'search-backward string)) + (pos2 (point))) + (cond ((and len1 len2) + ;; Have a match in both directions + (cond ((= len1 len2) + ;; Both are full matches -- choose the nearest. + (if (< (abs (- start pos1)) + (abs (- start pos2))) + pos1 pos2)) + ((> len1 len2) pos1) + ((> len2 len1) pos2))) + (pos1 pos1) + (pos2 pos2) + (t start)))))) + +(defun slime-isearch-with-function (search-fn string) + "Search for the longest substring of STRING using SEARCH-FN. +SEARCH-FN is either the symbol `search-forward' or `search-backward'." + (unless (string= string "") + (loop for i from 1 to (length string) + while (funcall search-fn (substring string 0 i) nil t) + for match-data = (match-data) + do (case search-fn + (search-forward (goto-char (match-beginning 0))) + (search-backward (goto-char (1+ (match-end 0))))) + finally (return (if (null match-data) + nil + ;; Finish based on the last successful match + (store-match-data match-data) + (goto-char (match-beginning 0)) + (- (match-end 0) (match-beginning 0))))))) + + ;;;;; Visiting and navigating the overlays of compiler notes (defun slime-next-note () @@ -3745,8 +3794,10 @@ If there's no symbol at point, or a prefix argument is given, then the function name is prompted." (interactive (list (slime-read-symbol-name "Symbol: "))) - (let ((definitions (slime-eval `(swank:find-definitions-for-emacs ,name) - (slime-buffer-package)))) + (let ((definitions (slime-cleanup-definition-refs + (slime-cl-symbol-name name) + (slime-eval `(swank:find-definitions-for-emacs ,name) + (slime-buffer-package))))) (if (null definitions) (if slime-edit-definition-fallback-function (funcall slime-edit-definition-fallback-function name) @@ -3761,6 +3812,18 @@ (switch-to-buffer (current-buffer))) (t (switch-to-buffer-other-window (current-buffer))))))))) + +(defun slime-cleanup-definition-refs (name definitions) + "Cleanup a list of definition references. +If the position is NIL then replace it with NAME." + (loop for (dspec location) in definitions + collect (list dspec + (destructure-case location + ((:location buffer position hints) + (list :location + buffer + (or position (list :function-name name)) + hints)))))) (defun slime-edit-definition-other-window (name) "Like `slime-edit-definition' but switch to the other window." From lgorrie at common-lisp.net Sun May 2 02:16:05 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sat, 01 May 2004 22:16:05 -0400 Subject: [slime-cvs] CVS update: slime/swank-backend.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv23804 Modified Files: swank-backend.lisp Log Message: (:location): Added a 'hints' property list to the location structure. This is for extra information that compliments the buffer/position. Date: Sat May 1 22:16:04 2004 Author: lgorrie Index: slime/swank-backend.lisp diff -u slime/swank-backend.lisp:1.44 slime/swank-backend.lisp:1.45 --- slime/swank-backend.lisp:1.44 Sun Apr 25 02:35:29 2004 +++ slime/swank-backend.lisp Sat May 1 22:16:04 2004 @@ -349,8 +349,14 @@ ;;;; Definition finding (defstruct (:location (:type list) :named - (:constructor make-location (buffer position))) - buffer position) + (:constructor make-location + (buffer position &optional hints))) + buffer position + ;; Hints is a property list optionally containing: + ;; :snippet SOURCE-TEXT + ;; This is a snippet of the actual source text at the start of + ;; the definition, which could be used in a text search. + hints) (defstruct (:error (:type list) :named (:constructor)) message) (defstruct (:file (:type list) :named (:constructor)) name) From lgorrie at common-lisp.net Sun May 2 02:19:35 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sat, 01 May 2004 22:19:35 -0400 Subject: [slime-cvs] CVS update: slime/swank-cmucl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv29088 Modified Files: swank-cmucl.lisp Log Message: (code-location-stream-position): Position the argument stream at the definition before returning. (source-location-from-code-location): Include the :snippet hint for Emacs (see above). The snippet will only be accurate provided that the source file on disk has not been modified. (*source-file-cache*) The contents of all source files consulted for M-. are now cached if they match the version of the running code. This is so that we can accurately lookup source locations even when the file is modified, provided we manage to get the right version (by file timestamp) at least once. (source-location-from-code-location): If the right source version is not available on disk or in our cache then let Emacs fall back on a regular expression search. Date: Sat May 1 22:19:35 2004 Author: lgorrie Index: slime/swank-cmucl.lisp diff -u slime/swank-cmucl.lisp:1.98 slime/swank-cmucl.lisp:1.99 --- slime/swank-cmucl.lisp:1.98 Sun Apr 25 02:37:05 2004 +++ slime/swank-cmucl.lisp Sat May 1 22:19:35 2004 @@ -408,7 +408,7 @@ (make-location (list :file (unix-truename file)) (list :function-name (string name)))) (t - `(:error ,(format nil "Unkown source location: ~S ~S ~S " + `(:error ,(format nil "Unknown source location: ~S ~S ~S " name file source-path)))))) (defun clear-xref-info (namestring) @@ -556,6 +556,48 @@ "When true don't handle errors while looking for definitions. This is useful when debugging the definition-finding code.") +(defvar *source-snippet-size* 256 + "Maximum number of characters in a snippet of source code. +Snippets at the beginning of definitions are used to tell Emacs what +the definitions looks like, so that it can accurately find them by +text search.") + +(defvar *cache-sourcecode* t + "When true complete source files are cached. +The cache is used to keep known good copies of the source text which +correspond to the loaded code. Finding definitions is much more +reliable when the exact source is available, so we cache it incase it +gets edited on disk later.") + +(defvar *source-file-cache* (make-hash-table :test 'equal) + "Cache of source file contents. +Maps from truename to source-cache-entry structure.") + +(defstruct (source-cache-entry + (:conc-name source-cache-entry.) + (:constructor make-source-cache-entry (text date))) + text date) + +(defun source-cache-get (filename date) + "Return the source code for FILENAME written on DATE as a string. +Return NIL if the right version cannot be found." + (let ((entry (gethash filename *source-file-cache*))) + (cond ((and entry (equal date (source-cache-entry.date entry))) + ;; Cache hit. + (source-cache-entry.text entry)) + ((or (null entry) + (not (equal date (source-cache-entry.date entry)))) + ;; Cache miss. + (if (equal (file-write-date filename) date) + ;; File on disk has the correct version. + (with-open-file (s filename :direction :input) + (let ((string (make-string (file-length s)))) + (read-sequence string s) + (setf (gethash filename *source-file-cache*) + (make-source-cache-entry string date)) + string)) + nil))))) + (defmacro safe-definition-finding (&body body) "Execute BODY ignoring errors. Return the source location returned by BODY or if an error occurs a description of the error. The second @@ -1043,11 +1085,15 @@ (defun code-location-stream-position (code-location stream) "Return the byte offset of CODE-LOCATION in STREAM. Extract the toplevel-form-number and form-number from CODE-LOCATION and use that -to find the position of the corresponding form." +to find the position of the corresponding form. + +Finish with STREAM positioned at the start of the code location." (let* ((location (debug::maybe-block-start-location code-location)) (tlf-offset (di:code-location-top-level-form-offset location)) (form-number (di:code-location-form-number location))) - (form-number-stream-position tlf-offset form-number stream))) + (let ((pos (form-number-stream-position tlf-offset form-number stream))) + (file-position stream pos) + pos))) (defun form-number-stream-position (tlf-number form-number stream) (let ((*read-suppress* t)) @@ -1058,7 +1104,7 @@ (if (<= (length path-table) form-number) ; source out of sync? (list 0) ; should probably signal a condition (reverse (cdr (aref path-table form-number)))))) - (source-path-source-position source-path tlf position-map))))) + (source-path-source-position source-path tlf position-map))))) (defun code-location-string-offset (code-location string) (with-input-from-string (s string) @@ -1086,18 +1132,32 @@ (name (di:debug-source-name debug-source))) (ecase from (:file - (make-location (list :file (unix-truename name)) - (list :position (1+ (code-location-file-position - code-location name))))) + (let* ((code-date (di:debug-source-created debug-source)) + (source (source-cache-get name code-date))) + (if (null source) + ;; We don't have up-to-date sourcecode. Emacs will have + ;; to make a regexp search. + ;; XXX Leave position blank. Emacs will plug in the function name. + (make-location (list :file (unix-truename name)) nil) + (with-open-file (s name :direction :input) + (make-location (list :file (unix-truename name)) + (list :position + (1+ (code-location-stream-position + code-location s))) + `(:snippet ,(read-snippet s))))))) (:stream (assert (debug-source-info-from-emacs-buffer-p debug-source)) - (let ((info (c::debug-source-info debug-source))) + (let* ((info (c::debug-source-info debug-source)) + (string (getf info :emacs-buffer-string)) + (position (code-location-string-offset + code-location + string))) (make-location (list :buffer (getf info :emacs-buffer)) - (list :position (+ (getf info :emacs-buffer-offset) - (code-location-string-offset - code-location - (getf info :emacs-buffer-string))))))) + (list :position (+ (getf info :emacs-buffer-offset) position)) + (list :snippet (with-input-from-string (s string) + (file-position s position) + (read-snippet s)))))) (:lisp (make-location (list :source-form (with-output-to-string (*standard-output*) @@ -1109,6 +1169,15 @@ "Safe wrapper around `code-location-from-source-location'." (safe-definition-finding (source-location-from-code-location code-location))) + +(defun read-snippet (stream) + (read-upto-n-chars stream *source-snippet-size*)) + +(defun read-upto-n-chars (stream n) + "Return a string of upto N chars from STREAM." + (let* ((string (make-string n)) + (chars (read-sequence string stream))) + (subseq string 0 chars))) ;;;; Debugging From lgorrie at common-lisp.net Sun May 2 02:19:44 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sat, 01 May 2004 22:19:44 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv7200 Modified Files: ChangeLog Log Message: Date: Sat May 1 22:19:44 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.361 slime/ChangeLog:1.362 --- slime/ChangeLog:1.361 Sat May 1 12:46:24 2004 +++ slime/ChangeLog Sat May 1 22:19:44 2004 @@ -1,3 +1,37 @@ +2004-05-02 Luke Gorrie + + * slime.el (slime-goto-source-location): Added support for the + :snippet "hint" in a location specifier. If Lisp sends the + (initial) source text for the definition then Emacs isearches for + it in both directions from the given character position. This + makes M-. robust when the Emacs buffer has been edited. Requires + backends to provide this snippet information. + (slime-goto-location-position): Tightened up the regular + expressions for :function-name style location search. + (slime-cleanup-definition-refs): New function to do a little + post-processing on definition references from Lisp. Mostly this is + a hack: if POSITION is NIL then we fill it in with the function + name, ready for regexp search. I was in a hurry and it was easier + to do here, and it doesn't seem entirely unreasonable. + + * swank-backend.lisp (:location): Added a 'hints' property list + to the location structure. This is for extra information that + compliments the buffer/position. + + * swank-cmucl.lisp (code-location-stream-position): Position the + argument stream at the definition before returning. + (source-location-from-code-location): Include the :snippet hint + for Emacs (see above). The snippet will only be accurate provided + that the source file on disk has not been modified. + (*source-file-cache*) The contents of all source files consulted + for M-. are now cached if they match the version of the running + code. This is so that we can accurately lookup source locations + even when the file is modified, provided we manage to get the + right version (by file timestamp) at least once. + (source-location-from-code-location): If the right source version + is not available on disk or in our cache then let Emacs fall back + on a regular expression search. + 2004-05-01 Helmut Eller * swank-lispworks.lisp (find-top-frame): New function used to hide From heller at common-lisp.net Sun May 2 18:39:45 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sun, 02 May 2004 14:39:45 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv10336 Modified Files: slime.el Log Message: (slime-kill-without-query-p): New variable. (slime-net-connect): Use it. (slime-open-stream-to-lisp): Ditto. (slime-maybe-start-lisp): Ditto. Date: Sun May 2 14:39:45 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.288 slime/slime.el:1.289 --- slime/slime.el:1.288 Sat May 1 22:14:09 2004 +++ slime/slime.el Sun May 2 14:39:45 2004 @@ -129,6 +129,9 @@ If you want to fallback on TAGS you can set this to `find-tag'.") +(defun slime-kill-without-query-p nil + "If non-nil, kill Slime processes without query when quitting Emacs.") + ;;; Customize group @@ -1077,6 +1080,8 @@ "Start an inferior lisp unless one is already running." (unless (get-buffer-process (get-buffer "*inferior-lisp*")) (call-interactively 'inferior-lisp) + (when slime-kill-without-query-p + (process-kill-without-query (inferior-lisp-proc))) (comint-send-string (inferior-lisp-proc) (format "(load %S)\n" (slime-to-lisp-filename @@ -1255,6 +1260,8 @@ (set-process-buffer proc buffer) (set-process-filter proc 'slime-net-filter) (set-process-sentinel proc 'slime-net-sentinel) + (when slime-kill-without-query-p + (process-kill-without-query proc)) (when (fboundp 'set-process-coding-system) (set-process-coding-system proc 'no-conversion 'no-conversion)) proc)) @@ -1925,6 +1932,8 @@ (slime-with-connection-buffer () (current-buffer)) "localhost" port))) + (when slime-kill-without-query-p + (process-kill-without-query stream)) (set-process-filter stream 'slime-output-filter) stream)) @@ -3524,11 +3533,6 @@ This is buffer local in the buffer where the completion is performed.") -(defvar slime-complete-modified-window-configuration nil - "Window configuration after we showing the *Completions* buffer. -This is buffer local in the buffer where the completion is -performed.") - (defun slime-complete-maybe-save-window-configuration () (make-local-variable 'slime-complete-saved-window-configuration) (unless slime-complete-saved-window-configuration @@ -3823,7 +3827,8 @@ (list :location buffer (or position (list :function-name name)) - hints)))))) + hints)) + ((:error _) location))))) (defun slime-edit-definition-other-window (name) "Like `slime-edit-definition' but switch to the other window." @@ -6188,7 +6193,7 @@ "Lookup the argument list for FUNCTION-NAME. Confirm that EXPECTED-ARGLIST is displayed." '(("swank:start-server" - "(swank:start-server port-file &optional (background *communication-style*) dont-close)") + "(swank:start-server port-file &optional (style *communication-style*) dont-close)") ("swank::compound-prefix-match" "(swank::compound-prefix-match prefix target)") ("swank::create-socket" From heller at common-lisp.net Sun May 2 18:54:52 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sun, 02 May 2004 14:54:52 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv663 Modified Files: slime.el Log Message: (slime-kill-without-query-p): Make it a defvar not a defun. Date: Sun May 2 14:54:52 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.289 slime/slime.el:1.290 --- slime/slime.el:1.289 Sun May 2 14:39:45 2004 +++ slime/slime.el Sun May 2 14:54:52 2004 @@ -129,7 +129,7 @@ If you want to fallback on TAGS you can set this to `find-tag'.") -(defun slime-kill-without-query-p nil +(defvar slime-kill-without-query-p nil "If non-nil, kill Slime processes without query when quitting Emacs.") From heller at common-lisp.net Sun May 2 19:08:24 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sun, 02 May 2004 15:08:24 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv27105 Modified Files: slime.el Log Message: (slime-start-and-load): New function. Suggested by Lars Magne Ingebrigtsen. Date: Sun May 2 15:08:23 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.290 slime/slime.el:1.291 --- slime/slime.el:1.290 Sun May 2 14:54:52 2004 +++ slime/slime.el Sun May 2 15:08:23 2004 @@ -1042,6 +1042,22 @@ (slime-maybe-start-lisp) (slime-read-port-and-connect))) +(defun slime-start-and-load () + "Start Slime, load the current file and set the package." + (interactive) + (let ((package (slime-find-buffer-package))) + (when (not package) + (error "No package to load")) + (lexical-let ((hook nil) + (package package) + (filename (expand-file-name (buffer-file-name)))) + (setq hook (lambda () + (remove-hook 'slime-connected-hook hook) + (slime-load-file filename) + (slime-repl-set-package package))) + (add-hook 'slime-connected-hook hook) + (slime)))) + (defun slime-bytecode-stale-p () "Return true if slime.elc is older than slime.el." (when-let (libfile (locate-library "slime")) From heller at common-lisp.net Sun May 2 19:09:51 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sun, 02 May 2004 15:09:51 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv10400 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Sun May 2 15:09:51 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.362 slime/ChangeLog:1.363 --- slime/ChangeLog:1.362 Sat May 1 22:19:44 2004 +++ slime/ChangeLog Sun May 2 15:09:50 2004 @@ -1,3 +1,15 @@ +2004-05-02 Helmut Eller + + * slime.el (slime-start-and-load): New command. Suggested by + Lars Magne Ingebrigtsen. + +2004-05-02 Lars Magne Ingebrigtsen + + * slime.el (slime-kill-without-query-p): New variable. + (slime-net-connect): Use it. + (slime-open-stream-to-lisp): Ditto. + (slime-maybe-start-lisp): Ditto. + 2004-05-02 Luke Gorrie * slime.el (slime-goto-source-location): Added support for the From chelseazinck at totalemail.co.uk Sun May 2 20:32:49 2004 From: chelseazinck at totalemail.co.uk (Clement Keenan) Date: Sun, 02 May 2004 15:32:49 -0500 Subject: [slime-cvs] Rx Online, We're Practically Giving Them Away, Sun, 02 May 2004 15:32:49 -0500 Message-ID: Sun, 02 May 2004 15:32:49 -0500 Wholesale Rx - http://www.metro-savings.com/jw Take A Step Into The Future And Join The Millions Of People Already Using Rx Meds Online. Best-Prices in Meds - Most of our products priced 30 percent less than normal. No Prior Rx Required - Shipped-Direct to Your Door - U.S. Licensed Doctors. Come On In: http://www.metro-savings.com/jw Sun, 02 May 2004 15:32:49 -0500 tecum sultan chaucer headset seashore stein desiderata adjudge canal audition penrose decatur mcconnell ave passband oyster partisan dodo ghana bryophyta edify cohesion archibald kevin blurb blurb chieftain hernandez religious distribution sal sex carboloy horsemen deconvolution befall derelict irony digram morton eh mimicking tommy quadrant bitten leek kin clash slander roam musket transgression cb imposition aniline No thanks: http://www.metro-savings.com/postmark.html From majfivgbonf at catchacat.org Mon May 3 01:28:17 2004 From: majfivgbonf at catchacat.org (Virgie Head) Date: Mon, 03 May 2004 07:28:17 +0600 Subject: [slime-cvs] Fwd: Meds and Pills prescribed online and shipped to you discreetly overnight References: Message-ID: <70xah4g5wpe230xi$zud4o0r99$pcn22yxz45@SU69> An HTML attachment was scrubbed... URL: From unalindner at mysororitysisters.com Mon May 3 03:32:01 2004 From: unalindner at mysororitysisters.com (Winnie Earl) Date: Sun, 02 May 2004 22:32:01 -0500 Subject: [slime-cvs] Rx Online, We're Practically Giving Them Away, Sun, 02 May 2004 22:32:01 -0500 Message-ID: Sun, 02 May 2004 22:32:01 -0500 Wholesale Rx - http://www.metro-savings.com/jw Take A Step Into The Future And Join The Millions Of People Already Using Rx Meds Online. Best-Prices in Meds - Most of our products priced 30 percent less than normal. No Prior Rx Required - Shipped-Direct to Your Door - U.S. Licensed Doctors. Come On In: http://www.metro-savings.com/jw Sun, 02 May 2004 22:32:01 -0500 napkin up polytechnic cox debauch dixon dirichlet potentate monument dishwater directorate flamingo gambia suntanning cheer nixon deferred concision clement demitted adapt glamorous candle ymca prosperous valedictorian arcturus ansi barbital unitarian larynx citron radiocarbon slurry raccoon vitrify chalet interpretive roundtable expert herdsman govern cowardice volunteer capitoline confect helicopter capstan brunswick thrill ia calligraphy boson rarefy No thanks: http://www.metro-savings.com/postmark.html From CSZCJF at msn.com Mon May 3 06:19:28 2004 From: CSZCJF at msn.com (Troy Sears) Date: Mon, 03 May 2004 02:19:28 -0400 Subject: [slime-cvs] Purchase cialis.., Viagra, levitra, Diet Pills, and other prescriptions with no Prescription mana worry perplex schroedinger cliffhang ruthenium triumph approve backpack cardiovascular arcane conant pool theatric aphasia phenylalanine saracen anarchy az amputee dirge downtrend Message-ID: An HTML attachment was scrubbed... URL: From VORGIDY at hotmail.com Mon May 3 01:25:55 2004 From: VORGIDY at hotmail.com (Tami Harrington) Date: Mon, 03 May 2004 06:25:55 +0500 Subject: [slime-cvs] Re: controlled drugs we fully comply with International law ZM2xkZkHJp Message-ID: <659837161495.57213@VORGIDY@hotmail.com> Through the whistling sleet and snow, .It fell to earth, I knew not where; .Then the maiden clasped her hands and prayed . Strange to me now are the forms I meet .From my study I see in the lamplight, .It fell to earth, I knew not where; . We make it easier and faster than ever to get the medications you need! Join tens of thousands of customers who safely, conveniently, and discreetly order prescription medication including weight loss/diet pill medications, skin care, birth control, muscle relaxants, high level pain relief, anxiety, prescription sleeping aids, anti-depressant medications and more. Your comfort and convenience is our prime concern. parablerxweb.com In the world's broad field of battle, .I remember the bulwarks by the shore, .But to act, that each to-morrow . Her cheeks like the dawn of day, .Is our destined end or way; .Such songs have power to quiet . From JKVDC at kappa.ro Mon May 3 22:24:58 2004 From: JKVDC at kappa.ro (Thomas Dolan) Date: Mon, 03 May 2004 19:24:58 -0300 Subject: [slime-cvs] degrees for sale Message-ID: An HTML attachment was scrubbed... URL: From lgorrie at common-lisp.net Tue May 4 08:09:20 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 04:09:20 -0400 Subject: [slime-cvs] CVS update: slime/swank-cmucl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv22969 Modified Files: swank-cmucl.lisp Log Message: (source-location-from-code-location): Fixed a bug where the source-file-cache was not really used. Now always report the location based on source file (cached or not) even if modified -- not falling back on regexps, which was probably a misfeature. Date: Tue May 4 04:09:20 2004 Author: lgorrie Index: slime/swank-cmucl.lisp diff -u slime/swank-cmucl.lisp:1.99 slime/swank-cmucl.lisp:1.100 --- slime/swank-cmucl.lisp:1.99 Sat May 1 22:19:35 2004 +++ slime/swank-cmucl.lisp Tue May 4 04:09:20 2004 @@ -1,7 +1,5 @@ ;;;; -*- indent-tabs-mode: nil; outline-regexp: ";;;;+" -*- -(declaim (optimize (debug 2))) - (in-package :swank-backend) (in-package :lisp) @@ -590,14 +588,19 @@ ;; Cache miss. (if (equal (file-write-date filename) date) ;; File on disk has the correct version. - (with-open-file (s filename :direction :input) - (let ((string (make-string (file-length s)))) - (read-sequence string s) - (setf (gethash filename *source-file-cache*) - (make-source-cache-entry string date)) - string)) + (let ((source (read-file filename))) + (setf (gethash filename *source-file-cache*) + (make-source-cache-entry source date)) + source) nil))))) +(defun read-file (filename) + "Return the entire contents of FILENAME as a string." + (with-open-file (s filename :direction :input) + (let ((string (make-string (file-length s)))) + (read-sequence string s) + string))) + (defmacro safe-definition-finding (&body body) "Execute BODY ignoring errors. Return the source location returned by BODY or if an error occurs a description of the error. The second @@ -1134,18 +1137,19 @@ (:file (let* ((code-date (di:debug-source-created debug-source)) (source (source-cache-get name code-date))) - (if (null source) - ;; We don't have up-to-date sourcecode. Emacs will have - ;; to make a regexp search. - ;; XXX Leave position blank. Emacs will plug in the function name. - (make-location (list :file (unix-truename name)) nil) - (with-open-file (s name :direction :input) - (make-location (list :file (unix-truename name)) - (list :position - (1+ (code-location-stream-position - code-location s))) - `(:snippet ,(read-snippet s))))))) - (:stream + (when (null source) + ;; We don't have up-to-date sourcecode. Just read the + ;; file that we have on disk. + ;; XXX Maybe the right solution, but needs code cleanup anyway. + (setf source (read-file name))) + (make-location (list :file (unix-truename name)) nil) + (with-input-from-string (s source) + (make-location (list :file (unix-truename name)) + (list :position + (1+ (code-location-stream-position + code-location s))) + `(:snippet ,(read-snippet s)))))) + (:stream (assert (debug-source-info-from-emacs-buffer-p debug-source)) (let* ((info (c::debug-source-info debug-source)) (string (getf info :emacs-buffer-string)) From lgorrie at common-lisp.net Tue May 4 08:09:58 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 04:09:58 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv23771 Modified Files: slime.el Log Message: Remove `slime-cleanup-definition-refs'. Date: Tue May 4 04:09:58 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.291 slime/slime.el:1.292 --- slime/slime.el:1.291 Sun May 2 15:08:23 2004 +++ slime/slime.el Tue May 4 04:09:57 2004 @@ -3814,10 +3814,8 @@ If there's no symbol at point, or a prefix argument is given, then the function name is prompted." (interactive (list (slime-read-symbol-name "Symbol: "))) - (let ((definitions (slime-cleanup-definition-refs - (slime-cl-symbol-name name) - (slime-eval `(swank:find-definitions-for-emacs ,name) - (slime-buffer-package))))) + (let ((definitions (slime-eval `(swank:find-definitions-for-emacs ,name) + (slime-buffer-package)))) (if (null definitions) (if slime-edit-definition-fallback-function (funcall slime-edit-definition-fallback-function name) @@ -3832,19 +3830,6 @@ (switch-to-buffer (current-buffer))) (t (switch-to-buffer-other-window (current-buffer))))))))) - -(defun slime-cleanup-definition-refs (name definitions) - "Cleanup a list of definition references. -If the position is NIL then replace it with NAME." - (loop for (dspec location) in definitions - collect (list dspec - (destructure-case location - ((:location buffer position hints) - (list :location - buffer - (or position (list :function-name name)) - hints)) - ((:error _) location))))) (defun slime-edit-definition-other-window (name) "Like `slime-edit-definition' but switch to the other window." From lgorrie at common-lisp.net Tue May 4 08:10:13 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 04:10:13 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv27841 Modified Files: ChangeLog Log Message: Date: Tue May 4 04:10:13 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.363 slime/ChangeLog:1.364 --- slime/ChangeLog:1.363 Sun May 2 15:09:50 2004 +++ slime/ChangeLog Tue May 4 04:10:13 2004 @@ -1,3 +1,13 @@ +2004-05-04 Luke Gorrie + + * swank-cmucl.lisp (source-location-from-code-location): Fixed a + bug where the source-file-cache was not really used. + Now always report the location based on source file (cached or + not) even if modified -- not falling back on regexps, which was + probably a misfeature. + + * slime.el: Remove `slime-cleanup-definition-refs'. + 2004-05-02 Helmut Eller * slime.el (slime-start-and-load): New command. Suggested by From lgorrie at common-lisp.net Tue May 4 08:13:19 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 04:13:19 -0400 Subject: [slime-cvs] CVS update: slime/swank.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv4832 Modified Files: swank.lisp Log Message: Remove (declaim (optimize ...)). The side-effect this has on people's environment seems harmful (I saw someone having trouble on the OpenMCL list). Date: Tue May 4 04:13:19 2004 Author: lgorrie Index: slime/swank.lisp diff -u slime/swank.lisp:1.183 slime/swank.lisp:1.184 --- slime/swank.lisp:1.183 Fri Apr 30 19:20:05 2004 +++ slime/swank.lisp Tue May 4 04:13:19 2004 @@ -36,8 +36,6 @@ (in-package :swank) -(declaim (optimize (debug 3))) - (defvar *swank-io-package* (let ((package (make-package :swank-io-package :use '()))) (import '(nil t quote) package) From lgorrie at common-lisp.net Tue May 4 08:15:12 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 04:15:12 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv16947 Modified Files: ChangeLog Log Message: Date: Tue May 4 04:15:10 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.364 slime/ChangeLog:1.365 --- slime/ChangeLog:1.364 Tue May 4 04:10:13 2004 +++ slime/ChangeLog Tue May 4 04:15:03 2004 @@ -1,5 +1,9 @@ 2004-05-04 Luke Gorrie + * swank.lisp: Remove (declaim (optimize ...)). The side-effect + this has on people's environment seems harmful (I saw someone + having trouble on the OpenMCL list). + * swank-cmucl.lisp (source-location-from-code-location): Fixed a bug where the source-file-cache was not really used. Now always report the location based on source file (cached or From lgorrie at common-lisp.net Tue May 4 09:11:12 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 05:11:12 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv26390 Modified Files: slime.el Log Message: (slime-goto-location-position): Regexp fix. Date: Tue May 4 05:11:11 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.292 slime/slime.el:1.293 --- slime/slime.el:1.292 Tue May 4 04:09:57 2004 +++ slime/slime.el Tue May 4 05:11:11 2004 @@ -3112,7 +3112,7 @@ (re-search-forward (format "\\s *(def\\(\\s_\\|\\sw\\)*\\s +%s\\>" name) nil t) (re-search-forward - (format "\\<%s\\>" name) nil t))) + (format "\\s %s\\>\\(\\s \\|$\\)" name) nil t))) (goto-char (match-beginning 0))) ((:source-path source-path start-position) (cond (start-position From lgorrie at common-lisp.net Tue May 4 09:33:56 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 05:33:56 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv30762 Modified Files: slime.el Log Message: Patch from Thomas Burdick: (slime-reindent-defun): New command on C-M-q. Reindent the current Lisp defun after trying to close any unmatched parenthesis. If used within a comment it just calls fill-paragraph. Date: Tue May 4 05:33:56 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.293 slime/slime.el:1.294 --- slime/slime.el:1.293 Tue May 4 05:11:11 2004 +++ slime/slime.el Tue May 4 05:33:56 2004 @@ -469,6 +469,7 @@ ("\M-." slime-edit-definition :inferior t :sldb t) ("\M-," slime-pop-find-definition-stack :inferior t :sldb t) ("\C-q" slime-close-parens-at-point :prefixed t :inferior t) + ("\C-\M-q" slime-reindent-defun :inferior t) ;; Evaluating ("\C-x\C-e" slime-eval-last-expression :inferior t) ("\C-x\M-e" slime-eval-last-expression-display-output :inferior t) @@ -5674,6 +5675,29 @@ (get symbol 'slime-indent)) (put symbol 'slime-indent indent) (put symbol 'common-lisp-indent-function indent))))) + +(defun slime-reindent-defun (&optional force-text-fill) + "Reindent the current defun, or refill the current paragraph. +If point is inside a comment block, the text around point will be +treated as a paragraph and will be filled with `fill-paragraph'. +Otherwise, it will be treated as Lisp code, and the current defun +will be reindented. If the current defun has unbalanced parens, +an attempt will be made to fix it before reindenting. + +When given a prefix argument, the text around point will always +be treated as a paragraph. This is useful for filling docstrings." + (interactive "P") + (save-excursion + (if (or force-text-fill (slime-beginning-of-comment)) + (fill-paragraph nil) + (let ((start (progn (beginning-of-defun) (point))) + (end (ignore-errors (end-of-defun) (point)))) + (unless end + (forward-paragraph) + (slime-close-all-sexp) + (end-of-defun) + (setf end (point))) + (indent-region start end))))) ;;; Test suite From lgorrie at common-lisp.net Tue May 4 09:34:33 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Tue, 04 May 2004 05:34:33 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv8211 Modified Files: ChangeLog Log Message: Date: Tue May 4 05:34:32 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.365 slime/ChangeLog:1.366 --- slime/ChangeLog:1.365 Tue May 4 04:15:03 2004 +++ slime/ChangeLog Tue May 4 05:34:32 2004 @@ -1,4 +1,14 @@ +2004-05-04 Thomas F. Burdick + + * slime.el (slime-reindent-defun): New command on C-M-q. Reindent + the current Lisp defun after trying to close any unmatched + parenthesis. If used within a comment it just calls fill-paragraph. + 2004-05-04 Luke Gorrie + + * slime.el (slime-goto-location-position): Regexp fix. + (slime-reindent-defun): New command on M-q. Reindent the current + Lisp defun after trying to close any unmatched parenthesis. * swank.lisp: Remove (declaim (optimize ...)). The side-effect this has on people's environment seems harmful (I saw someone From jwzdrmdy at realtycenter.com Tue May 4 16:34:02 2004 From: jwzdrmdy at realtycenter.com (Flora Milton) Date: Tue, 04 May 2004 20:34:02 +0400 Subject: [slime-cvs] Get all meds here. Any Pills You Want. No prescription. Discreet. Secure Message-ID: An HTML attachment was scrubbed... URL: From heller at common-lisp.net Tue May 4 18:57:52 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 04 May 2004 14:57:52 -0400 Subject: [slime-cvs] CVS update: slime/swank-backend.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv4542 Modified Files: swank-backend.lisp Log Message: (with-struct): New macro. Date: Tue May 4 14:57:52 2004 Author: heller Index: slime/swank-backend.lisp diff -u slime/swank-backend.lisp:1.45 slime/swank-backend.lisp:1.46 --- slime/swank-backend.lisp:1.45 Sat May 1 22:16:04 2004 +++ slime/swank-backend.lisp Tue May 4 14:57:52 2004 @@ -79,6 +79,24 @@ (sort (copy-list *unimplemented-interfaces*) #'string<))) +;;;; Utilities + +(defmacro with-struct ((conc-name &rest names) obj &body body) + "Like with-slots but works only for structs." + (flet ((reader (slot) (intern (concatenate 'string + (symbol-name conc-name) + (symbol-name slot)) + (symbol-package conc-name)))) + (let ((tmp (gensym "OO-"))) + ` (let ((,tmp ,obj)) + (symbol-macrolet + ,(loop for name in names collect + (typecase name + (symbol `(,name (,(reader name) ,tmp))) + (cons `(,(first name) (,(reader (second name)) ,tmp))) + (t (error "Malformed syntax in WITH-STRUCT: ~A" name)))) + , at body))))) + ;;;; TCP server (definterface create-socket (host port) From heller at common-lisp.net Tue May 4 19:02:36 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 04 May 2004 15:02:36 -0400 Subject: [slime-cvs] CVS update: slime/swank-cmucl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv13697 Modified Files: swank-cmucl.lisp Log Message: (arglist): Handle byte-code functions better. We don't know much about the actual argument list, only the number of arguments. Return at lest something mildy interesting like (arg0 arg1 &optional arg2 ...) (function-location): Special-case byte-code functions. Date: Tue May 4 15:02:36 2004 Author: heller Index: slime/swank-cmucl.lisp diff -u slime/swank-cmucl.lisp:1.100 slime/swank-cmucl.lisp:1.101 --- slime/swank-cmucl.lisp:1.100 Tue May 4 04:09:20 2004 +++ slime/swank-cmucl.lisp Tue May 4 15:02:36 2004 @@ -71,8 +71,8 @@ (mapc (lambda (handler) (funcall (cdr handler))) *sigio-handlers*)) (defun set-sigio-handler () - (sys:enable-interrupt unix:sigio (lambda (signal code scp) - (sigio-handler signal code scp)))) + (sys:enable-interrupt :sigio (lambda (signal code scp) + (sigio-handler signal code scp)))) (defun fcntl (fd command arg) (multiple-value-bind (ok error) (unix:unix-fcntl fd command arg) @@ -656,6 +656,31 @@ (coerce (if (consp constructor) (car constructor) constructor) 'function)))) +(defun debug-info-function-name-location (debug-info) + "Return a function-name source-location for DEBUG-INFO." + (with-struct (c::debug-info- (fname name) source) debug-info + (with-struct (c::debug-source- info from name) (car source) + (ecase from + (:file + (make-location (list :file (namestring (truename name))) + (list :function-name fname))) + (:stream + (assert (debug-source-info-from-emacs-buffer-p (car source))) + (make-location (list :buffer (getf info :emacs-buffer)) + (list :function-name fname))) + (:lisp + (make-location (list :source-form (princ-to-string (aref name 0))) + (list :position 1))))))) + +(defun byte-function-location (fn) + (etypecase fn + ((or c::hairy-byte-function c::simple-byte-function) + (let* ((component (c::byte-function-component fn)) + (debug-info (kernel:%code-debug-info component))) + (debug-info-function-name-location debug-info))) + (c::byte-closure + (byte-function-location (c::byte-closure-function fn))))) + (defun function-location (function) "Return the source location for FUNCTION." ;; First test if FUNCTION is a closure created by defstruct; if so @@ -671,6 +696,8 @@ (dd-location (struct-closure-dd function)))) ((genericp function) (gf-location function)) + ((c::byte-function-or-closure-p function) + (byte-function-location function)) (t (multiple-value-bind (code-location error) (safe-definition-finding (function-first-code-location function)) @@ -711,7 +738,7 @@ (:error ,(format nil "Special operator: ~S" name))))) ((and (ext:valid-function-name-p name) (ext:info :function :definition name)) - (let ((function (coerce name 'function))) + (let ((function (fdefinition name))) (cond ((genericp function) (cons (list `(defgeneric ,name) (function-location function)) @@ -828,7 +855,9 @@ (kernel::standard-class (list (list `(defclass ,name) (class-location (find-class name))))) - ((or kernel::built-in-class conditions::condition-class) + ((or kernel::built-in-class + conditions::condition-class + kernel:funcallable-structure-class) (list (list `(kernel::define-type-class ,name) `(:error ,(format nil "No source info for ~A" name))))))))) @@ -1018,6 +1047,47 @@ (let ((*package* (or package *package*))) (read-from-string string))))) +(defun make-arg-symbol (i) + (make-symbol (format nil "~A~D" (string 'arg) i))) + +(defun hairy-byte-function-arglist (fn) + (let ((counter -1)) + (flet ((next-arg () (make-arg-symbol (incf counter)))) + (with-struct (c::hairy-byte-function- min-args max-args rest-arg-p + keywords-p keywords) fn + (let ((arglist '()) + (optional (- max-args min-args))) + ;; XXX isn't there a better way to write this? + (dotimes (i min-args) + (push (next-arg) arglist)) + (when (plusp optional) + (push '&optional arglist) + (dotimes (i optional) + (push (next-arg) arglist))) + (when rest-arg-p + (push '&rest arglist) + (push (next-arg) arglist)) + (when keywords-p + (push '&key arglist) + (loop for (key _ __) in keywords + do (push key arglist)) + (when (eq keywords-p :allow-others) + (push '&allow-other-keys arglist))) + (nreverse arglist)))))) + +(defun byte-code-function-arglist (fn) + ;; There doesn't seem to be much arglist information around for + ;; byte-code functions. Use the arg-count and return something like + ;; (arg0 arg1 ...) + (etypecase fn + (c::simple-byte-function + (loop for i from 0 below (c::simple-byte-function-num-args fn) + collect (make-arg-symbol i))) + (c::hairy-byte-function + (hairy-byte-function-arglist fn)) + (c::byte-closure + (byte-code-function-arglist (c::byte-closure-function fn))))) + (defimplementation arglist (symbol) (let* ((fun (or (macro-function symbol) (symbol-function symbol))) @@ -1026,6 +1096,8 @@ (eval:interpreted-function-arglist fun)) ((pcl::generic-function-p fun) (pcl:generic-function-lambda-list fun)) + ((c::byte-function-or-closure-p fun) + (byte-code-function-arglist fun)) ((kernel:%function-arglist (kernel:%function-self fun)) (read-arglist fun)) ;; this should work both for @@ -1149,7 +1221,7 @@ (1+ (code-location-stream-position code-location s))) `(:snippet ,(read-snippet s)))))) - (:stream + (:stream (assert (debug-source-info-from-emacs-buffer-p debug-source)) (let* ((info (c::debug-source-info debug-source)) (string (getf info :emacs-buffer-string)) @@ -1160,8 +1232,8 @@ (list :buffer (getf info :emacs-buffer)) (list :position (+ (getf info :emacs-buffer-offset) position)) (list :snippet (with-input-from-string (s string) - (file-position s position) - (read-snippet s)))))) + (file-position s position) + (read-snippet s)))))) (:lisp (make-location (list :source-form (with-output-to-string (*standard-output*) From heller at common-lisp.net Tue May 4 19:12:15 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 04 May 2004 15:12:15 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv12576 Modified Files: slime.el Log Message: (slime-compiler-notes-show-details/mouse): New command. (slime-compiler-notes-mode-map): Use it. Date: Tue May 4 15:12:15 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.294 slime/slime.el:1.295 --- slime/slime.el:1.294 Tue May 4 05:33:56 2004 +++ slime/slime.el Tue May 4 15:12:15 2004 @@ -2781,6 +2781,7 @@ (make-local-variable 'slime-compiler-notes-saved-window-configuration) (setq slime-compiler-notes-saved-window-configuration (current-window-configuration)) + (goto-char (point-min)) (pop-to-buffer (current-buffer))))) (defun slime-alistify (list key test) @@ -2844,6 +2845,7 @@ (slime-define-keys slime-compiler-notes-mode-map ((kbd "RET") 'slime-compiler-notes-show-details) + ([mouse-2] 'slime-compiler-notes-show-details/mouse) ("q" 'slime-compiler-notes-quit)) (defun slime-compiler-notes-quit () @@ -2861,6 +2863,12 @@ (slime-tree-toggle tree)) (t (slime-show-source-location (slime-note.location note)))))) + +(defun slime-compiler-notes-show-details/mouse (event) + (interactive "e") + (destructuring-bind (mouse-2 (w pos &rest _) &rest __) event + (goto-char pos) + (slime-compiler-notes-show-details))) ;;;;;;; Tree Widget From heller at common-lisp.net Tue May 4 19:17:44 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 04 May 2004 15:17:44 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv18507 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Tue May 4 15:17:43 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.366 slime/ChangeLog:1.367 --- slime/ChangeLog:1.366 Tue May 4 05:34:32 2004 +++ slime/ChangeLog Tue May 4 15:17:43 2004 @@ -1,3 +1,18 @@ +2004-05-04 Alan Shutko + + * slime.el (slime-compiler-notes-show-details/mouse): New command. + (slime-compiler-notes-mode-map): Use it. + +2004-05-04 Helmut Eller + + * swank-cmucl.lisp (arglist): Handle byte-code functions better. + We don't know much about the actual argument list, only the number + of arguments. Return at lest something mildly interesting like + (arg0 arg1 &optional arg2 ...) + (function-location): Special-case byte-code functions. + + * swank-backend.lisp (with-struct): New macro. + 2004-05-04 Thomas F. Burdick * slime.el (slime-reindent-defun): New command on C-M-q. Reindent From djvngk at yahoo.com Wed May 5 02:48:41 2004 From: djvngk at yahoo.com (Robin Contreras) Date: Wed, 05 May 2004 05:48:41 +0300 Subject: [slime-cvs] Slime-cvs we are almost there Message-ID: An HTML attachment was scrubbed... URL: From ZQNNC at yahoo.com Wed May 5 09:02:03 2004 From: ZQNNC at yahoo.com (Cecilia Allison) Date: Wed, 05 May 2004 03:02:03 -0600 Subject: [slime-cvs] Slime-cvs yes its true Message-ID: An HTML attachment was scrubbed... URL: From MOIRBAV at msn.com Wed May 5 19:55:36 2004 From: MOIRBAV at msn.com (Mitchel Mueller) Date: Wed, 05 May 2004 23:55:36 +0400 Subject: [slime-cvs] Slime-cvs learning for life Message-ID: An HTML attachment was scrubbed... URL: From NPCUK at yahoo.com Thu May 6 02:09:28 2004 From: NPCUK at yahoo.com (Candy Vernon) Date: Thu, 06 May 2004 08:09:28 +0600 Subject: [slime-cvs] Slime-cvs You don't know the half of it Message-ID: An HTML attachment was scrubbed... URL: From mbaringer at common-lisp.net Thu May 6 07:38:41 2004 From: mbaringer at common-lisp.net (Marco Baringer) Date: Thu, 06 May 2004 03:38:41 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog slime/slime.el slime/swank-openmcl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv29119 Modified Files: ChangeLog slime.el swank-openmcl.lisp Log Message: See Changelog entry 2004-05-06 Marco Baringer Date: Thu May 6 03:38:41 2004 Author: mbaringer Index: slime/ChangeLog diff -u slime/ChangeLog:1.367 slime/ChangeLog:1.368 --- slime/ChangeLog:1.367 Tue May 4 15:17:43 2004 +++ slime/ChangeLog Thu May 6 03:38:41 2004 @@ -1,3 +1,12 @@ +2004-05-06 Marco Baringer + + * slime.el (slime-repl-sayoonara): Don't attempt to quit the lisp + if we're not connected. + + * swank-openmcl.lisp (*buffer-offset*, *buffer-name*): Supply + default values. This avoids unbound value errors when compiling an + asdf system signals errors. + 2004-05-04 Alan Shutko * slime.el (slime-compiler-notes-show-details/mouse): New command. Index: slime/slime.el diff -u slime/slime.el:1.295 slime/slime.el:1.296 --- slime/slime.el:1.295 Tue May 4 15:12:15 2004 +++ slime/slime.el Thu May 6 03:38:41 2004 @@ -5952,7 +5952,7 @@ (defmacro defslime-repl-shortcut (elisp-name names &rest options) "Define a new repl shortcut. ELISP-NAME is a symbol specifying the name of the interactive function to create, or NIL if no - function whould be created. NAMES is a list of (full-name . + function should be created. NAMES is a list of (full-name . aliases). OPTIONS is an olist specifying the handler and the help text." `(progn @@ -6052,7 +6052,8 @@ (defslime-repl-shortcut slime-repl-sayoonara ("sayoonara") (:handler (lambda () (interactive) - (slime-eval-async '(swank:quit-lisp) nil (lambda (_) nil)) + (when (slime-connected-p) + (slime-eval-async '(swank:quit-lisp) nil (lambda (_) nil))) (slime-kill-all-buffers))) (:one-liner "Quit the lisp and close all SLIME buffers.")) Index: slime/swank-openmcl.lisp diff -u slime/swank-openmcl.lisp:1.73 slime/swank-openmcl.lisp:1.74 --- slime/swank-openmcl.lisp:1.73 Fri Apr 30 19:16:28 2004 +++ slime/swank-openmcl.lisp Thu May 6 03:38:41 2004 @@ -161,8 +161,8 @@ ;;; Compilation -(defvar *buffer-offset*) -(defvar *buffer-name*) +(defvar *buffer-offset* nil) +(defvar *buffer-name* nil) (defun condition-source-position (condition) "Return the position in the source file of a compiler condition." From ahuin at hotmail.com Thu May 6 09:02:11 2004 From: ahuin at hotmail.com (Neil Ervin) Date: Thu, 06 May 2004 02:02:11 -0700 Subject: [slime-cvs] Slime-cvs FW: increaze your piece now Message-ID: An HTML attachment was scrubbed... URL: From knzxeud at yahoo.com Thu May 6 20:06:41 2004 From: knzxeud at yahoo.com (Darren Herron) Date: Fri, 07 May 2004 02:06:41 +0600 Subject: [slime-cvs] Slime-cvs Extinguish pain with codenol.. Message-ID: An HTML attachment was scrubbed... URL: From heller at common-lisp.net Thu May 6 19:52:26 2004 From: heller at common-lisp.net (Helmut Eller) Date: Thu, 06 May 2004 15:52:26 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv22578 Modified Files: slime.el Log Message: (slime-maybe-list-compiler-notes): Display the notes listing after C-c C-c only if there are no annotations in the buffer. CMUCL creates usually one warning with a error location and an almost redundant warning at the end of the compilation unit. Don't display the listing in this common case. (slime-reindent-defun): Pass nil as the third arument to indent-region. Date: Thu May 6 15:52:25 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.296 slime/slime.el:1.297 --- slime/slime.el:1.296 Thu May 6 03:38:41 2004 +++ slime/slime.el Thu May 6 15:52:23 2004 @@ -2759,9 +2759,9 @@ Useful value for `slime-compilation-finished-hook'" (unless (or (null notes) (and (eq last-command 'slime-compile-defun) - (not (find ':error notes - :key (lambda (x) - (car (slime-note.location x))))))) + (some (lambda (x) + (not (eq ':error (car (slime-note.location x))))) + notes))) (slime-list-compiler-notes notes))) (defun slime-list-compiler-notes (&optional notes) @@ -4526,7 +4526,6 @@ (interactive) (slime-eval-macroexpand 'swank:print-ir1-converted-blocks)) - ;;; Subprocess control @@ -5698,14 +5697,14 @@ (save-excursion (if (or force-text-fill (slime-beginning-of-comment)) (fill-paragraph nil) - (let ((start (progn (beginning-of-defun) (point))) - (end (ignore-errors (end-of-defun) (point)))) - (unless end - (forward-paragraph) - (slime-close-all-sexp) - (end-of-defun) - (setf end (point))) - (indent-region start end))))) + (let ((start (progn (beginning-of-defun) (point))) + (end (ignore-errors (end-of-defun) (point)))) + (unless end + (forward-paragraph) + (slime-close-all-sexp) + (end-of-defun) + (setf end (point))) + (indent-region start end nil))))) ;;; Test suite From heller at common-lisp.net Thu May 6 19:55:22 2004 From: heller at common-lisp.net (Helmut Eller) Date: Thu, 06 May 2004 15:55:22 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv9722 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Thu May 6 15:55:22 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.368 slime/ChangeLog:1.369 --- slime/ChangeLog:1.368 Thu May 6 03:38:41 2004 +++ slime/ChangeLog Thu May 6 15:55:21 2004 @@ -1,3 +1,14 @@ +2004-05-06 Helmut Eller + + * slime.el (slime-maybe-list-compiler-notes): Display the notes + listing after C-c C-c only if there are no annotations in the + buffer. CMUCL creates usually one warning with an error location + and an almost redundant warning without at the end of the + compilation unit. Don't display the listing in this common case. + + (slime-reindent-defun): Pass nil as the third arument to + indent-region. + 2004-05-06 Marco Baringer * slime.el (slime-repl-sayoonara): Don't attempt to quit the lisp @@ -16,7 +27,7 @@ * swank-cmucl.lisp (arglist): Handle byte-code functions better. We don't know much about the actual argument list, only the number - of arguments. Return at lest something mildly interesting like + of arguments. Return at least something mildly interesting like (arg0 arg1 &optional arg2 ...) (function-location): Special-case byte-code functions. From GTOLQMEVEQ at msn.com Thu May 6 21:20:17 2004 From: GTOLQMEVEQ at msn.com (Todd Ricks) Date: Thu, 06 May 2004 22:20:17 +0100 Subject: [slime-cvs] 99^ Are you serious? Message-ID: An HTML attachment was scrubbed... URL: From CKTRPXVUZJD at socal.rr.com Thu May 6 22:13:27 2004 From: CKTRPXVUZJD at socal.rr.com (Bret Cahill) Date: Fri, 07 May 2004 02:13:27 +0400 Subject: [slime-cvs] R.ates as low as 2.8% Message-ID: An HTML attachment was scrubbed... URL: From jcmgcxo at yahoo.com Fri May 7 00:00:24 2004 From: jcmgcxo at yahoo.com (Bonita Earl) Date: Thu, 06 May 2004 23:00:24 -0100 Subject: [slime-cvs] Slime-cvs Extinguish pain with codenol.. Message-ID: An HTML attachment was scrubbed... URL: From lyqfopb at msn.com Fri May 7 07:52:17 2004 From: lyqfopb at msn.com (Josie Ham) Date: Fri, 07 May 2004 00:52:17 -0700 Subject: [slime-cvs] Lose Weight Now with Phentermine.., Adipex, Bontril, Prescribed Online, shipped to Your Door bezel saloonkeeper exculpate armistice chump abundant counterproposal contention wrap surtout electron sheldon champaign alundum bladder buy carve buff kitty seymour Message-ID: An HTML attachment was scrubbed... URL: From afttst at msn.com Fri May 7 19:37:58 2004 From: afttst at msn.com (Felipe Wynn) Date: Fri, 07 May 2004 22:37:58 +0300 Subject: [slime-cvs] Order cialis.., Viagra, levitra, Valium, xanax, Diet Pills, and other prescription medcations online with no prior prescription iconic quite crusade contort petticoat traversable poinsettia goes cipher satiate accelerate conciliate hodge kidney deep contractor stream propellant inexplainable radiosonde awe expend newline transmutation padlock orbit cursive riemannian janissary drove Message-ID: An HTML attachment was scrubbed... URL: From heller at common-lisp.net Fri May 7 21:10:38 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 07 May 2004 17:10:38 -0400 Subject: [slime-cvs] CVS update: slime/swank.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv2572 Modified Files: swank.lisp Log Message: (prin1-to-string-for-emacs): CVS CLISP prints NIL as |COMMON-LISP|::|NIL| if *print-readably* is true. Set *print-readably* to nil for a more Emacs friendly printer syntax. (arglist-to-string): Ditto. Date: Fri May 7 17:10:38 2004 Author: heller Index: slime/swank.lisp diff -u slime/swank.lisp:1.184 slime/swank.lisp:1.185 --- slime/swank.lisp:1.184 Tue May 4 04:13:19 2004 +++ slime/swank.lisp Fri May 7 17:10:38 2004 @@ -719,7 +719,7 @@ (defun prin1-to-string-for-emacs (object) (with-standard-io-syntax (let ((*print-case* :downcase) - (*print-readably* t) + (*print-readably* nil) (*print-pretty* nil) (*package* *swank-io-package*)) (prin1-to-string object)))) @@ -856,6 +856,7 @@ (*print-case* :downcase) (*print-pretty* t) (*print-circle* nil) + (*print-readably* nil) (*print-level* 10) (*print-length* 20)) (pprint-logical-block (nil nil :prefix "(" :suffix ")") From heller at common-lisp.net Fri May 7 21:11:19 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 07 May 2004 17:11:19 -0400 Subject: [slime-cvs] CVS update: slime/swank-clisp.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv4933 Modified Files: swank-clisp.lisp Log Message: (compiler-note-location): Use make-location to instead of `(:location ...). This initializes the new hint slot. Date: Fri May 7 17:11:18 2004 Author: heller Index: slime/swank-clisp.lisp diff -u slime/swank-clisp.lisp:1.30 slime/swank-clisp.lisp:1.31 --- slime/swank-clisp.lisp:1.30 Wed Apr 28 18:19:14 2004 +++ slime/swank-clisp.lisp Fri May 7 17:11:18 2004 @@ -299,9 +299,11 @@ (lineno2 sys::*compile-file-lineno2*) (file sys::*compile-file-truename*)) (cond ((and file lineno1 lineno2) - `(:location (:file ,(namestring file)) (:line ,lineno1))) + (make-location (list ':file (namestring file)) + (list ':line lineno1))) (*buffer-name* - `(:location (:buffer ,*buffer-name*) (:position ,*buffer-offset*))) + (make-location (list ':buffer *buffer-name*) + (list ':position *buffer-offset*))) (t (list :error "No error location available"))))) From heller at common-lisp.net Fri May 7 21:12:20 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 07 May 2004 17:12:20 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv11456 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Fri May 7 17:12:19 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.369 slime/ChangeLog:1.370 --- slime/ChangeLog:1.369 Thu May 6 15:55:21 2004 +++ slime/ChangeLog Fri May 7 17:12:17 2004 @@ -1,3 +1,16 @@ +2004-05-07 Helmut Eller + + * swank-clisp.lisp (compiler-note-location): Use make-location to + instead of `(:location ...). This initializes the new hint slot + automatically. + +2004-05-07 Barry Fishman + + * swank.lisp (prin1-to-string-for-emacs, arglist-to-string): CVS + CLISP prints NIL as |COMMON-LISP|::|NIL| if *print-readably* is + true. Set *print-readably* to nil for a more Emacs friendly + printer syntax. + 2004-05-06 Helmut Eller * slime.el (slime-maybe-list-compiler-notes): Display the notes From mmaget at msn.com Sat May 8 09:04:06 2004 From: mmaget at msn.com (Jamaal Haney) Date: Sat, 08 May 2004 12:04:06 +0300 Subject: [slime-cvs] You can order Anti-depressants.., weight loss meds, and pain relief meds online with NO PRESCRIPTION comatose office cyclotron compare cola pastoral grassland numeric horace built cryptic poignant syllabus wanton gratis crone antwerp cambridge Message-ID: An HTML attachment was scrubbed... URL: From AshliMaietta at myexcel.com Sat May 8 12:45:59 2004 From: AshliMaietta at myexcel.com (Wallace Brunswick) Date: Sat, 08 May 2004 10:45:59 -0200 Subject: [slime-cvs] Re: good stuff Message-ID: An HTML attachment was scrubbed... URL: From neelnzuecrxh at yahoo.com Sat May 8 15:45:11 2004 From: neelnzuecrxh at yahoo.com (Newton Padilla) Date: Sat, 08 May 2004 10:45:11 -0500 Subject: [slime-cvs] Valium drugs for sale - Valium sales - Valium online - Valium diazepam Message-ID: An HTML attachment was scrubbed... URL: From heller at common-lisp.net Sat May 8 19:00:38 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 08 May 2004 15:00:38 -0400 Subject: [slime-cvs] CVS update: slime/swank-cmucl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv25836 Modified Files: swank-cmucl.lisp Log Message: *** empty log message *** Date: Sat May 8 15:00:38 2004 Author: heller Index: slime/swank-cmucl.lisp diff -u slime/swank-cmucl.lisp:1.101 slime/swank-cmucl.lisp:1.102 --- slime/swank-cmucl.lisp:1.101 Tue May 4 15:02:36 2004 +++ slime/swank-cmucl.lisp Sat May 8 15:00:38 2004 @@ -146,6 +146,9 @@ (defimplementation lisp-implementation-type-name () "cmucl") +(defimplementation quit-lisp () + (ext::quit)) + ;;;; Stream handling @@ -815,6 +818,8 @@ (make-location `(:buffer ,emacs-buffer) `(:position ,(+ emacs-buffer-offset pos)))))))) +;; XXX predicates for 18e backward compatibilty. Remove them when +;; we're 19a only. (defun file-source-location-p (object) (when (fboundp 'c::file-source-location-p) (c::file-source-location-p object))) @@ -823,15 +828,24 @@ (when (fboundp 'c::stream-source-location-p) (c::stream-source-location-p object))) +(defun source-location-p (object) + (or (file-source-location-p object) + (stream-source-location-p object))) + +(defun resolve-source-location (location) + (etypecase location + ((satisfies file-source-location-p) + (resolve-file-source-location location)) + ((satisfies stream-source-location-p) + (resolve-stream-source-location location)))) + (defun definition-source-location (object name) (let ((source (pcl::definition-source object))) (etypecase source (null `(:error ,(format nil "No source info for: ~A" object))) - ((satisfies file-source-location-p) - (resolve-file-source-location source)) - ((satisfies stream-source-location-p) - (resolve-stream-source-location source)) + ((satisfies source-location-p) + (resolve-source-location source)) (pathname (make-name-in-file-location source name)) (cons @@ -869,6 +883,23 @@ (list (list `(setf ,name) (function-location (coerce function 'function))))))) + +(defun variable-location (symbol) + (multiple-value-bind (location foundp) + ;; XXX for 18e compatibilty. rewrite this when we drop 18e + ;; support. + (ignore-errors (eval `(ext:info :source-location :defvar ',symbol))) + (if (and foundp location) + (resolve-source-location location) + `(:error ,(format nil "No source info for variable ~S" symbol))))) + +(defun variable-definitions (name) + (if (symbolp name) + (multiple-value-bind (kind recorded-p) (ext:info :variable :kind name) + (if recorded-p + (list (list `(variable ,kind ,name) + (variable-location name))))))) + (defun compiler-macro-definitions (symbol) (maybe-make-definition (compiler-macro-function symbol) 'define-compiler-macro @@ -909,12 +940,14 @@ (defimplementation find-definitions (name) (append (function-definitions name) (setf-definitions name) + (variable-definitions name) (class-definitions name) (type-definitions name) (compiler-macro-definitions name) (source-transform-definitions name) (function-info-definitions name) (ir1-translator-definitions name))) + ;;;; Documentation. @@ -1116,37 +1149,6 @@ (defimplementation macroexpand-all (form) (walker:macroexpand-all form)) -;; (in-package :c) -;; -;; (defun swank-backend::expand-ir1-top-level (form) -;; "A scaled down version of the first pass of the compiler." -;; (with-compilation-unit () -;; (let* ((*lexical-environment* -;; (make-lexenv :default (make-null-environment) -;; :cookie *default-cookie* -;; :interface-cookie *default-interface-cookie*)) -;; (*source-info* (make-lisp-source-info form)) -;; (*block-compile* nil) -;; (*block-compile-default* nil)) -;; (with-ir1-namespace -;; (clear-stuff) -;; (find-source-paths form 0) -;; (ir1-top-level form '(0) t))))) -;; -;; (in-package :swank-backend) -;; -;; (defun print-ir1-converted-blocks (form) -;; (with-output-to-string (*standard-output*) -;; (c::print-all-blocks (expand-ir1-top-level (from-string form))))) -;; -;; (defun print-compilation-trace (form) -;; (with-output-to-string (*standard-output*) -;; (with-input-from-string (s form) -;; (ext:compile-from-stream s -;; :verbose t -;; :progress t -;; :trace-stream *standard-output*)))) - (defimplementation set-default-directory (directory) (setf (ext:default-directory) (namestring directory)) ;; Setting *default-pathname-defaults* to an absolute directory @@ -1413,52 +1415,6 @@ (di::bogus-debug-function (format t "~%[Disassembling bogus frames not implemented]"))))) -#+(or) -(defun print-binding-stack () - (flet ((bsp- (p) (sys:sap+ p (- (* vm:binding-size vm:word-bytes)))) - (frob (p offset) (kernel:make-lisp-obj (sys:sap-ref-32 p offset)))) - (do ((bsp (bsp- (kernel:binding-stack-pointer-sap)) (bsp- bsp)) - (start (sys:int-sap (lisp::binding-stack-start)))) - ((sys:sap= bsp start)) - (format t "~X: ~S = ~S~%" - (sys:sap-int bsp) - (frob bsp (* vm:binding-symbol-slot vm:word-bytes)) - (frob bsp (* vm:binding-value-slot vm:word-bytes)))))) - -;; (print-binding-stack) - -#+(or) -(defun print-catch-blocks () - (do ((b (di::descriptor-sap lisp::*current-catch-block*) - (sys:sap-ref-sap b (* vm:catch-block-previous-catch-slot - vm:word-bytes)))) - (nil) - (let ((int (sys:sap-int b))) - (when (zerop int) (return)) - (flet ((ref (offset) (sys:sap-ref-32 b (* offset vm:word-bytes)))) - (let ((uwp (ref vm:catch-block-current-uwp-slot)) - (cfp (ref vm:catch-block-current-cont-slot)) - (tag (ref vm:catch-block-tag-slot)) - ) - (format t "~X: uwp = ~8X cfp = ~8X tag = ~X~%" - int uwp cfp (kernel:make-lisp-obj tag))))))) - -;; (print-catch-blocks) - -#+(or) -(defun print-unwind-blocks () - (do ((b (di::descriptor-sap lisp::*current-unwind-protect-block*) - (sys:sap-ref-sap b (* vm:unwind-block-current-uwp-slot - vm:word-bytes)))) - (nil) - (let ((int (sys:sap-int b))) - (when (zerop int) (return)) - (flet ((ref (offset) (sys:sap-ref-32 b (* offset vm:word-bytes)))) - (let ((cfp (ref vm:unwind-block-current-cont-slot))) - (format t "~X: cfp = ~X~%" int cfp)))))) - -;; (print-unwind-blocks) - ;;;; Inspecting @@ -1473,18 +1429,19 @@ vm:other-pointer-type)) (defconstant +header-type-symbols+ - ;; Is there a convinient place for all those constants? - (flet ((tail-comp (string tail) - (and (>= (length string) (length tail)) - (string= string tail :start1 (- (length string) - (length tail)))))) + (flet ((suffixp (suffix string) + (and (>= (length string) (length suffix)) + (string= string suffix :start1 (- (length string) + (length suffix)))))) + ;; Is there a convinient place for all those constants? (remove-if-not - (lambda (x) (and (tail-comp (symbol-name x) "-TYPE") - (not (member x +lowtag-symbols+)) - (boundp x) - (typep (symbol-value x) 'fixnum))) + (lambda (x) (and (suffixp "-TYPE" (symbol-name x)) + (not (member x +lowtag-symbols+)) + (boundp x) + (typep (symbol-value x) 'fixnum))) (append (apropos-list "-TYPE" "VM" t) - (apropos-list "-TYPE" "BIGNUM" t))))) + (apropos-list "-TYPE" "BIGNUM" t)))) + "A list of names of the type codes in boxed objects.") (defimplementation describe-primitive-type (object) (with-output-to-string (*standard-output*) @@ -1641,6 +1598,3 @@ (pop (mailbox.queue mbox))))) ) - -(defimplementation quit-lisp () - (ext::quit)) From heller at common-lisp.net Sat May 8 19:01:06 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 08 May 2004 15:01:06 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv29153 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Sat May 8 15:01:06 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.370 slime/ChangeLog:1.371 --- slime/ChangeLog:1.370 Fri May 7 17:12:17 2004 +++ slime/ChangeLog Sat May 8 15:01:05 2004 @@ -1,3 +1,8 @@ +2004-05-08 Helmut Eller + + * swank-cmucl.lisp (find-definitions): Add support for variables + and constants. + 2004-05-07 Helmut Eller * swank-clisp.lisp (compiler-note-location): Use make-location to From ZFXUYKJ at yahoo.com Sat May 8 20:30:03 2004 From: ZFXUYKJ at yahoo.com (Jeanne Kline) Date: Sat, 08 May 2004 18:30:03 -0200 Subject: [slime-cvs] Lose Weight Now with Phentermine.., Adipex, Bontril, Prescribed Online, shipped to Your Door entropy execrate hex distinct looseleaf decompose quaternary provoke woolgather paradoxic daughter dressy muddlehead mailman algorithmic counteract islamic mastodon electoral abrupt fictive acknowledge ralph lentil grapevine irate nausea electric bachelor killjoy doe sourwood Message-ID: An HTML attachment was scrubbed... URL: From PHZYZW at yahoo.com Sun May 9 02:40:33 2004 From: PHZYZW at yahoo.com (Raymond Cervantes) Date: Sun, 09 May 2004 05:40:33 +0300 Subject: [slime-cvs] cialis.., Viagra, levitra, Valium, xanax, Soma, Fioricet, Prescribed Online for Free, Shipped Overnight finance rousseau sinuous airflow cycle viscoelastic crypt fidelity comprehend complete whup affectionate Message-ID: An HTML attachment was scrubbed... URL: From huecromartie at gradu8.every1.net Sun May 9 14:20:10 2004 From: huecromartie at gradu8.every1.net (Eileen Kirby) Date: Sun, 09 May 2004 06:20:10 -0800 Subject: [slime-cvs] Cable-TV Filter Lets You Get It ALL-FOR-NOTHING, Sun, 09 May 2004 06:20:10 -0800 Message-ID: Sun, 09 May 2004 06:20:10 -0800 Cable-TV Viewers - http://www.livewyred.com?refid=10010000873432729&action=10&eid=nrdfrd2 Cable-TV Filter lets you get your Pay-Per-View, Mature Channels, Movie Channels, and Sporting Events for NOTHING. Not to worry, it's legal. Check out the legal-page on our site. Find Out More - http://www.viktrola.com?refid=10010000874166572&action=10&eid=nf Not for you - http://www.viktrola.com?unsub=10010000874166572&action=10&eid=nf gangway drank factory soiree recent gap andrei incaution port christine sisal anastasia spiro astronomer capture celerity banister increasable daze particular cygnus curie percentile graze personnel multiply crocodile lundberg lutetium hanoi tremble prorate pathogen culbertson efficacy cloakroom cotoneaster kindred high athabascan emission confute charley serenade des contraption carven refractometer prowess retinal termini workpiece yang conrad crowbait papoose extension bromley admiration bifocal gather From rcrijnb at msn.com Sun May 9 20:14:44 2004 From: rcrijnb at msn.com (Julia Hilton) Date: Sun, 09 May 2004 16:14:44 -0400 Subject: [slime-cvs] Get prescribed cialis.., Viagra, Valium, xanax, Diet Pills and much more online! Overnight Shipping monkey orb pawnshop busboy custodian bonaparte sonic pilewort digitate configuration amass pacifism stimulus boulder Message-ID: An HTML attachment was scrubbed... URL: From kassandramyklebust at bigramp.com Mon May 10 02:38:22 2004 From: kassandramyklebust at bigramp.com (Franklin Cordero) Date: Sun, 09 May 2004 21:38:22 -0500 Subject: [slime-cvs] University Certificates, No Classes Needed, Sun, 09 May 2004 21:38:22 -0500 Message-ID: Sun, 09 May 2004 21:38:22 -0500 Academic-Qualifications from NON?ACCR. Universities. No exams. No classes. No books. Call to register and get yours in days - 1 203 286 2403. No more ads: elizslifer at poczta.onet.pl butyric cilia curse whir broil anheuser herein corruption silicic where pro faro bruegel mandarin paramus meaty polaron tacky remittance aftermath countervail impersonal worsen crania fallen mastermind shay hadley sourwood cardiovascular hoagland chemotherapy significant varistor venom geometer lozenge calvary detain confiscable copra scholastic tientsin From ZFUCA at yahoo.com Mon May 10 08:51:09 2004 From: ZFUCA at yahoo.com (Kara Franco) Date: Mon, 10 May 2004 13:51:09 +0500 Subject: [slime-cvs] Prescription Diet Pills.., cialis, Viagra, levitra, Valium, xanax, and more prescribed online and shipped overnight bimodal hewitt oxcart bronchiolar emil nirvana ephesus fanciful jitter polytechnic thorium parke corey feudatory stephens mobcap torus accept gullet beech battelle deneb enfant incompletion fjord backpack shorthand Message-ID: An HTML attachment was scrubbed... URL: From NYOXTXSZGRI at hotmail.com Tue May 11 00:08:47 2004 From: NYOXTXSZGRI at hotmail.com (Joan Oconnor) Date: Mon, 10 May 2004 20:08:47 -0400 Subject: [slime-cvs] Where I got the cheapest V.I.A.G.R.A Message-ID: An HTML attachment was scrubbed... URL: From lgorrie at common-lisp.net Mon May 10 13:44:26 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Mon, 10 May 2004 09:44:26 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv10528 Modified Files: slime.el Log Message: (slime-eval-with-transcript): Don't print the "=>" prefix in messages showing evaluation results. It mucks up alignment in multi-line messages. (sldb-eval-in-frame): Don't print "==>" prefix on evaluation results, for the same reason. (slime-show-source-location): Move the point to the source location in addition to highlighting the matching parens. Date: Mon May 10 09:44:26 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.297 slime/slime.el:1.298 --- slime/slime.el:1.297 Thu May 6 15:52:23 2004 +++ slime/slime.el Mon May 10 09:44:25 2004 @@ -3909,7 +3909,7 @@ (lambda (value) (with-current-buffer (slime-output-buffer) (cond (fn (funcall fn value)) - (t (message "=> %s" value))) + (t (message "%s" value))) (slime-show-last-output)))))) (defun slime-eval-describe (form) @@ -4927,7 +4927,11 @@ (display-buffer (current-buffer) t) (save-excursion (beginning-of-line -4) - (set-window-start (get-buffer-window (current-buffer) t) (point))))) + (let ((window (get-buffer-window (current-buffer) t)) + (pos (point))) + (set-window-start (get-buffer-window (current-buffer) t) (point)) + (select-window window) + (goto-char pos))))) (defun sldb-toggle-details (&optional on) @@ -5012,7 +5016,7 @@ (let* ((number (sldb-frame-number-at-point))) (slime-eval-async `(swank:eval-string-in-frame ,string ,number) (slime-buffer-package) - (lambda (reply) (slime-message "==> %s" reply))))) + (lambda (reply) (slime-message "%s" reply))))) (defun sldb-pprint-eval-in-frame (string) "Prompt for an expression, evaluate in selected frame, pretty-print result." @@ -5575,7 +5579,6 @@ If REGION is true, operate on the region. Otherwise operate on the top-level sexp before point." (interactive "P") - (message "region = %S" region) (let ((sexp-level 0) point) (save-excursion @@ -6365,8 +6368,8 @@ (slime-sync-to-top-level 5) (slime-check-top-level) (let ((message (current-message))) - (slime-check "Minibuffer contains: \"=> 3\"" - (equal "=> 3" message)))))) + (slime-check "Minibuffer contains: \"3\"" + (equal "3" message)))))) (def-slime-test interrupt-bubbling-idiot () From lgorrie at common-lisp.net Mon May 10 13:49:22 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Mon, 10 May 2004 09:49:22 -0400 Subject: [slime-cvs] CVS update: slime/swank.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv14080 Modified Files: swank.lisp Log Message: (from-string): Bind *READ-SUPPRESS* to NIL. (swank-compiler): Bind a restart to abort compilation but still report the compiler messages already trapped. (string-to-package-designator): Function that uses READ to case-convert package names. (apropos-list-for-emacs): Use it. Date: Mon May 10 09:49:22 2004 Author: lgorrie Index: slime/swank.lisp diff -u slime/swank.lisp:1.185 slime/swank.lisp:1.186 --- slime/swank.lisp:1.185 Fri May 7 17:10:38 2004 +++ slime/swank.lisp Mon May 10 09:49:22 2004 @@ -772,13 +772,14 @@ (defun from-string (string) "Read string in the *BUFFER-PACKAGE*" - (let ((*package* *buffer-package*)) + (let ((*package* *buffer-package*) + (*read-suppress* nil)) (read-from-string string))) (defun symbol-from-string (string) - "Read string in the *BUFFER-PACKAGE*" - (let ((*package* *buffer-package*)) - (find-symbol (string-upcase string)))) + "Find the symbol named STRING in *BUFFER-PACKAGE*." + ;;; XXX Is this broken with respect to readtable-case? + (find-symbol (string-upcase string) *buffer-package*)) (defun to-string (string) "Write string in the *BUFFER-PACKAGE*." @@ -1280,11 +1281,12 @@ (defun swank-compiler (function) (clear-compiler-notes) - (multiple-value-bind (result usecs) - (handler-bind ((compiler-condition #'record-note-for-condition)) - (measure-time-interval function)) - (list (to-string result) - (format nil "~,2F" (/ usecs 1000000.0))))) + (with-simple-restart (abort "Abort SLIME compilation.") + (multiple-value-bind (result usecs) + (handler-bind ((compiler-condition #'record-note-for-condition)) + (measure-time-interval function)) + (list (to-string result) + (format nil "~,2F" (/ usecs 1000000.0)))))) (defslimefun compile-file-for-emacs (filename load-p) "Compile FILENAME and, when LOAD-P, load the result. @@ -1708,12 +1710,18 @@ "Make an apropos search for Emacs. The result is a list of property lists." (let ((package (if package - (or (find-package package) + (or (find-package (string-to-package-designator package)) (error "No such package: ~S" package))))) (mapcan (listify #'briefly-describe-symbol-for-emacs) (sort (remove-duplicates (apropos-symbols name external-only case-sensitive package)) #'present-symbol-before-p)))) + +(defun string-to-package-designator (string) + "Return a package designator made from STRING. +Uses READ to case-convert STRING." + (let ((*package* *swank-io-package*)) + (read-from-string string))) (defun briefly-describe-symbol-for-emacs (symbol) "Return a property list describing SYMBOL. From lgorrie at common-lisp.net Mon May 10 13:54:00 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Mon, 10 May 2004 09:54:00 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv11811 Modified Files: ChangeLog Log Message: Date: Mon May 10 09:54:00 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.371 slime/ChangeLog:1.372 --- slime/ChangeLog:1.371 Sat May 8 15:01:05 2004 +++ slime/ChangeLog Mon May 10 09:54:00 2004 @@ -1,3 +1,20 @@ +2004-05-10 Luke Gorrie + + * swank.lisp (from-string): Bind *READ-SUPPRESS* to NIL. + (swank-compiler): Bind a restart to abort compilation but still + report the compiler messages already trapped. + (string-to-package-designator): Function that uses READ to + case-convert package names. + (apropos-list-for-emacs): Use it. + + * slime.el (slime-eval-with-transcript): Don't print the "=>" + prefix in messages showing evaluation results. It mucks up + alignment in multi-line messages. + (sldb-eval-in-frame): Don't print "==>" prefix on evaluation + results, for the same reason. + (slime-show-source-location): Move the point to the source + location in addition to highlighting the matching parens. + 2004-05-08 Helmut Eller * swank-cmucl.lisp (find-definitions): Add support for variables From cassaundralongsdorf at zurc2.com.every1.net Mon May 10 15:13:19 2004 From: cassaundralongsdorf at zurc2.com.every1.net (Victor Stringer) Date: Mon, 10 May 2004 10:13:19 -0500 Subject: [slime-cvs] TECHNOLOGY Sector UPDATE - (IT) Hiring UP 200%, S&P Opinion On TECH Sector, Ref. K662rQ21 Message-ID: Ref. E467gr51 US Stock-Market - Systems Evolution, Inc. - SEVI Symbol: SEVI Market: NASDAQ/OTC.BB Sector: TECHNOLOGY (IT) TECHNOLOGY Sector UPDATE - (IT) Hiring UP 200% Since Last Quarter, S&P Opinion On TECH Sector...see below, THE BIGGER PICTURE But first, some information on our spotlight company. THE COMPANY Systems Evolution, Inc. (SEVI) is a high-technology consulting firm with cutting-edge technologists and integration specialists. Its seasoned staff, which includes former lead technical officers from other organizations, possesses considerable expertise and multiple certifications in technologies from such industry leaders as Microsoft, Sybase, Oracle, and Novell, as well as innovators such as Plumtree, SAP, and Actuate. GROWTH THROUGH ACQUISITION SEVI has acquired AXP Technologies. This acquisition accelerates Systems Evolution's move into network security and computer support services for small to mid-size businesses (SMBs). According to Systems Evolution, CEO, Robert C. Rhodes II, "The addition of AXP cements our commitment to delivering world class network security and computer support to SMB clients. Using their unique methodology, AXP assesses network security and support vulnerabilities, and assigns a score to weigh the assessed 'criticality' of a particular network service, resource, device, or process. This acquisition provides our mid-market and small business clients with a uniformed approach to viewing business systems' vulnerabilities and strengths and allows us to prescribe the appropriate support solution or mitigation measures." THE BIGGER PICTURE While SEVI is obviously a leader in Information Technology, it is the sector itself on which we care to focus. In the end, any company is subject to its broader market, and the outlook for Technologies is very bright. THE TECHNOLOGY SECTOR Year-to-date, technology stocks have been trailing the broad market averages (with a 3 month Price Change of just 4.5%), but we believe that is about to change dramatically. We note that such is also the view of Thomas W. Smith, Standard & Poor's senior investment officer and head of the analyst group covering information-technology (IT) stocks. S&P currently recommends that investors overweight the tech sector in their portfolios. Smith attributes the softness to investors discounting good earnings reports and also worrying about the impact of a hike in interest rates, though he does point out that the second half of the year normally brings strong sales. (IT) WORKLOADS INCREASING According to a new report from Robert Half Technology, (IT) professionals are shouldering more projects than they did one year ago. The Menlo Park, Calif.-based IT outsourcing firm asked more than 1,400 chief information officers across the United States how the workloads of their (IT) staff had changed in the past 12 months. Fifty-five percent said the number of projects in their IT departments had increased. CIOs PROJECT INCREASE IN (IT) HIRING Eleven percent of chief information officers (CIOs) interviewed for Robert Half Technology's Information Technology Hiring Index and Skills Report plan to add full-time staff to their information technology (IT) departments this quarter of 2004, while only 2 percent anticipate personnel reductions. Eighty-seven percent of survey respondents expect to maintain current staff levels in the upcoming quarter. The net 9 percent hiring increase compares with a net 3 percent forecast last quarter and is the largest net increase reflected in the survey since the third quarter of 2002. You can get more information on SEVI at http://www.systemsevolution.com *Web-hosters in particular, please note that SEVI had absolutely nothing to do with this report and is not a participant in any way. No more advertisements: felazarus at 2com.pl Technology Tracker is an independent research firm. This report is based on Technology Tracker's independent analysis but also relies on information supplied by sources believed to be reliable. This report may not be the opinion of SEVI management. Technology Tracker has also been retained to research and issue reports on SEVI. Micro Electronic Ticker may from time to time purchase or sell SEVI common shares in the open market without notice. The information contained in this report shall not constitute, an offer to sell or solicitation of any offer to purchase any security. It is intended for information only. Some statements may contain so-called "forward-looking statements". Many factors could cause actual results to differ. Investors should consult with their Investment Advisor concerning SEVI. Copyright 2004 ? Technology Tracker. Apartado 261-4005 Belen, Heredia, Costa Rica. All Rights Reserved. Technology Tracker was paid four thousand dollars to distribute this report. constantinople adsorption schoolboy spun rupture frazzle grope rascal gorse holler curate arcturus clatter inestimable counterpoint teeter chaotic manuscript lithospheric atheism hare bedrock dendritic goblet confect breakwater darpa dynamism decompression depict aurochs crypt compote appleton watertown concoct comprehension declassify corrigendum typewrite formidable radiosonde square botany reed den deception trance baboon argillaceous incomprehensible margo balinese begin dorado shitepoke saskatoon sheppard flow carruthers selkirk conclude hymen garry backside len downstate flaw bleak From yoincv at hotmail.com Mon May 10 15:56:41 2004 From: yoincv at hotmail.com (Jerrold Lucero) Date: Mon, 10 May 2004 16:56:41 +0100 Subject: [slime-cvs] Order cialis.., Viagra, levitra, Valium, xanax, Diet Pills, and other prescription medcations online with no prior prescription jules assent bully gusset hickey hundredfold corporal jacobi apathy bellicose insubstantial baroque christy alpheratz buckle rsvp Message-ID: An HTML attachment was scrubbed... URL: From sharleenbrest at logo2mob.com Tue May 11 12:14:43 2004 From: sharleenbrest at logo2mob.com (Lewis Rutherford) Date: Tue, 11 May 2004 07:14:43 -0500 Subject: [slime-cvs] TECHNOLOGY Sector UPDATE - (IT) Hiring UP 200%, S&P Opinion On TECH Sector, Ref. K444ue78 Message-ID: Ref. 3678mR80 US Stock-Market - Systems Evolution, Inc. - SEVI Symbol: SEVI Market: NASDAQ/OTC.BB Sector: TECHNOLOGY (IT) TECHNOLOGY Sector UPDATE - (IT) Hiring UP 200% Since Last Quarter, S&P Opinion On TECH Sector...see below, THE BIGGER PICTURE But first, some information on our spotlight company. THE COMPANY Systems Evolution, Inc. (SEVI) is a high-technology consulting firm with cutting-edge technologists and integration specialists. Its seasoned staff, which includes former lead technical officers from other organizations, possesses considerable expertise and multiple certifications in technologies from such industry leaders as Microsoft, Sybase, Oracle, and Novell, as well as innovators such as Plumtree, SAP, and Actuate. GROWTH THROUGH ACQUISITION SEVI has acquired AXP Technologies. This acquisition accelerates Systems Evolution's move into network security and computer support services for small to mid-size businesses (SMBs). According to Systems Evolution, CEO, Robert C. Rhodes II, "The addition of AXP cements our commitment to delivering world class network security and computer support to SMB clients. Using their unique methodology, AXP assesses network security and support vulnerabilities, and assigns a score to weigh the assessed 'criticality' of a particular network service, resource, device, or process. This acquisition provides our mid-market and small business clients with a uniformed approach to viewing business systems' vulnerabilities and strengths and allows us to prescribe the appropriate support solution or mitigation measures." THE BIGGER PICTURE While SEVI is obviously a leader in Information Technology, it is the sector itself on which we care to focus. In the end, any company is subject to its broader market, and the outlook for Technologies is very bright. THE TECHNOLOGY SECTOR Year-to-date, technology stocks have been trailing the broad market averages (with a 3 month Price Change of just 4.5%), but we believe that is about to change dramatically. We note that such is also the view of Thomas W. Smith, Standard & Poor's senior investment officer and head of the analyst group covering information-technology (IT) stocks. S&P currently recommends that investors overweight the tech sector in their portfolios. Smith attributes the softness to investors discounting good earnings reports and also worrying about the impact of a hike in interest rates, though he does point out that the second half of the year normally brings strong sales. (IT) WORKLOADS INCREASING According to a new report from Robert Half Technology, (IT) professionals are shouldering more projects than they did one year ago. The Menlo Park, Calif.-based IT outsourcing firm asked more than 1,400 chief information officers across the United States how the workloads of their (IT) staff had changed in the past 12 months. Fifty-five percent said the number of projects in their IT departments had increased. CIOs PROJECT INCREASE IN (IT) HIRING Eleven percent of chief information officers (CIOs) interviewed for Robert Half Technology's Information Technology Hiring Index and Skills Report plan to add full-time staff to their information technology (IT) departments this quarter of 2004, while only 2 percent anticipate personnel reductions. Eighty-seven percent of survey respondents expect to maintain current staff levels in the upcoming quarter. The net 9 percent hiring increase compares with a net 3 percent forecast last quarter and is the largest net increase reflected in the survey since the third quarter of 2002. You can get more information on SEVI at http://www.systemsevolution.com *Web-hosters in particular, please note that SEVI had absolutely nothing to do with this report and is not a participant in any way. No more advertisements: felazarus at 2com.pl Technology Tracker is an independent research firm. This report is based on Technology Tracker's independent analysis but also relies on information supplied by sources believed to be reliable. This report may not be the opinion of SEVI management. Technology Tracker has also been retained to research and issue reports on SEVI. Micro Electronic Ticker may from time to time purchase or sell SEVI common shares in the open market without notice. The information contained in this report shall not constitute, an offer to sell or solicitation of any offer to purchase any security. It is intended for information only. Some statements may contain so-called "forward-looking statements". Many factors could cause actual results to differ. Investors should consult with their Investment Advisor concerning SEVI. Copyright 2004 ? Technology Tracker. Apartado 261-4005 Belen, Heredia, Costa Rica. All Rights Reserved. Technology Tracker was paid four thousand dollars to distribute this report. warn muezzin shoemake histochemic pang innkeeper cheek frustrate collet haiti simons tokyo annulling angelica demystify mode eggshell quietus bivouac chateaux destiny mountain delphi colonel too crag loom bilinear scaffold promiscuity commerce aspirant retinue miss vex kudo mushroom belgrade obtain pathology aerial depose From heller at common-lisp.net Tue May 11 20:58:47 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 11 May 2004 16:58:47 -0400 Subject: [slime-cvs] CVS update: slime/swank-sbcl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv7329 Modified Files: swank-sbcl.lisp Log Message: (resolve-note-location): Resolve the location if we are called by swank-compile-string. The pathname argument is never :stream in SBCL, so the method written for CMUCL was never called. Date: Tue May 11 16:58:47 2004 Author: heller Index: slime/swank-sbcl.lisp diff -u slime/swank-sbcl.lisp:1.84 slime/swank-sbcl.lisp:1.85 --- slime/swank-sbcl.lisp:1.84 Fri Apr 30 19:19:50 2004 +++ slime/swank-sbcl.lisp Tue May 11 16:58:46 2004 @@ -137,6 +137,9 @@ (defimplementation lisp-implementation-type-name () "sbcl") +(defimplementation quit-lisp () + (sb-ext:quit)) + ;;; Utilities (defvar *swank-debugger-stack-frame*) @@ -196,12 +199,25 @@ `(:file ,(namestring (truename f))) `(:position ,(1+ (source-path-file-position path f))))) +#+(or) (defmethod resolve-note-location ((b string) (f (eql :stream)) pos path source) (make-location `(:buffer ,b) `(:position ,(+ *buffer-offset* (source-path-string-position path *buffer-substring*))))) +;; SBCL doesn't have compile-from-stream, so C-c C-c ends up here +(defmethod resolve-note-location ((b string) (f (eql :lisp)) pos path source) + ;; Remove the sourounding lambda from the path (was added by + ;; swank-compile-string) + (destructuring-bind (_ form &rest rest) path + (declare (ignore _)) + (make-location + `(:buffer ,b) + `(:position ,(+ *buffer-offset* + (source-path-string-position (list* (- form 2) rest) + *buffer-substring*)))))) + (defmethod resolve-note-location (b (f (eql :lisp)) pos path (source string)) (make-location `(:source-form ,source) @@ -228,7 +244,7 @@ (if error-context (values (sb-c::compiler-error-context-enclosing-source error-context) (sb-c::compiler-error-context-source error-context))) - (format nil "~@[--> ~{~<~%--> ~1:;~A~> ~}~%~]~@[~{==>~%~A~^~%~}~]~A" + (format nil "~@[--> ~{~<~%--> ~1:;~A~> ~}~%~]~@[~{==>~%~A~%~}~]~A" enclosing source condition))) (defun current-compiler-error-source-path (context) @@ -615,8 +631,7 @@ (declare (ignore name)) (sb-thread:make-thread fn)) - (defimplementation startup-multiprocessing () - (setq *communication-style* :spawn)) + (defimplementation startup-multiprocessing ()) (defimplementation thread-name (thread) (format nil "Thread ~D" thread)) @@ -686,6 +701,3 @@ mutex)))))))) ) - -(defimplementation quit-lisp () - (sb-ext::quit)) From heller at common-lisp.net Tue May 11 21:01:00 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 11 May 2004 17:01:00 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv19131 Modified Files: slime.el Log Message: (slime-events-buffer): Disable outline by default. (slime-inhibit-ouline-mode-in-events-buffer): New variable. Date: Tue May 11 17:00:59 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.298 slime/slime.el:1.299 --- slime/slime.el:1.298 Mon May 10 09:44:25 2004 +++ slime/slime.el Tue May 11 17:00:59 2004 @@ -1689,6 +1689,9 @@ (defvar slime-log-events t "*Log protocol events to the *slime-events* buffer.") +(defvar slime-inhibit-ouline-mode-in-events-buffer t + "*Don't use outline-mode if true.") + ;;;;;;; Event logging to *slime-events* (defun slime-log-event (event) @@ -1713,7 +1716,8 @@ (set (make-local-variable 'outline-regexp) "^(") (set (make-local-variable 'comment-start) ";") (set (make-local-variable 'comment-end) "") - (outline-minor-mode)) + (unless slime-inhibit-ouline-mode-in-events-buffer + (outline-minor-mode))) buffer))) @@ -1920,6 +1924,8 @@ (unless (get-buffer-window (current-buffer) t) (display-buffer (current-buffer) t)))) +(defsetf marker-insertion-type set-marker-insertion-type) + (defmacro slime-with-output-end-mark (&rest body) "Execute BODY at `slime-output-end'. @@ -1929,6 +1935,9 @@ `(progn (cond ((= (point) slime-output-end) (let ((start (point))) + ;; XXX Assertion is currently easy to break, by type + ;; input while we're waiting for output + ;;(assert (<= (point) slime-repl-input-start-mark)) , at body (when-let (w (get-buffer-window (current-buffer) t)) (set-window-point w (point))) @@ -1937,6 +1946,7 @@ (t (save-excursion (goto-char slime-output-end) + ;;(assert (<= (point) slime-repl-input-start-mark)) , at body))))) (defun slime-output-filter (process string) @@ -2157,9 +2167,10 @@ (set-marker slime-repl-input-start-mark (point) (current-buffer)) (set-marker slime-repl-input-end-mark (point) (current-buffer))) -(defun slime-mark-output-start () - (set-marker slime-output-start (point)) - (set-marker slime-output-end (point))) +(defun slime-mark-output-start (&optional position) + (let ((position (or position (point)))) + (set-marker slime-output-start position) + (set-marker slime-output-end position))) (defun slime-mark-output-end () (add-text-properties slime-output-start slime-output-end @@ -2261,8 +2272,8 @@ (goto-char slime-repl-input-end-mark) (add-text-properties slime-repl-input-start-mark (point) '(face slime-repl-input-face rear-nonsticky (face))) - (slime-mark-output-start) (slime-mark-input-start) + (slime-mark-output-start) (slime-repl-send-string (concat input "\n")))) (defun slime-repl-closing-return () @@ -5728,7 +5739,7 @@ (defvar slime-expected-failures '(("cmucl" 0) - ("sbcl" 7) + ("sbcl" 2) ("clisp" 13) ("lispworks" 7) ("allegro" 6)) From heller at common-lisp.net Tue May 11 21:02:28 2004 From: heller at common-lisp.net (Helmut Eller) Date: Tue, 11 May 2004 17:02:28 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv13760 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Tue May 11 17:02:28 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.372 slime/ChangeLog:1.373 --- slime/ChangeLog:1.372 Mon May 10 09:54:00 2004 +++ slime/ChangeLog Tue May 11 17:02:28 2004 @@ -1,3 +1,14 @@ +2004-05-11 Helmut Eller + + * slime.el (slime-events-buffer): Disable outline-mode by default. + (slime-inhibit-ouline-mode-in-events-buffer): New variable. + (slime-expected-failures): Reduce the number for SBCL. + + * swank-sbcl.lisp (resolve-note-location): Resolve the location if + we are called by swank-compile-string. The pathname argument is + never :stream in SBCL, so the method written for CMUCL was never + called. + 2004-05-10 Luke Gorrie * swank.lisp (from-string): Bind *READ-SUPPRESS* to NIL. From coeqhj at attbi.com Wed May 12 01:36:07 2004 From: coeqhj at attbi.com (Adan Bishop) Date: Tue, 11 May 2004 21:36:07 -0400 (CST) Subject: [slime-cvs] Get All Meds. Any Meds You Want Prescriptions Written and Filled Online. Message-ID: <3800244684135.qz1KGTlTRN438@anyplace202.connoisseur362ndmail.com> An HTML attachment was scrubbed... URL: From twannamcmains at cyberforeplay.net Wed May 12 15:57:04 2004 From: twannamcmains at cyberforeplay.net (Hershel Sexton) Date: Wed, 12 May 2004 10:57:04 -0500 Subject: [slime-cvs] University Certificates, No Classes Needed, Wed, 12 May 2004 10:57:04 -0500 Message-ID: Wed, 12 May 2004 10:57:04 -0500 Academic-Qualifications from NON?ACCR. Universities. No exams. No classes. No books. Call to register and get yours in days - 1 203 286 2403. No more ads: elizslifer at poczta.onet.pl caribbean egregious jurisdiction auditory useful compilation incredible ail edison sidetrack assent menfolk lifelong sting charitable bantu selectman clipboard offenbach splash acrobatic cathedral putty alewife begonia throes spark ipso pretoria parallel dormitory erase chine asthma procedural button mangle decollimate iota baklava domesday insinuate motorola final resumption biennial newtonian howell cyclone histidine debilitate cowslip heretic From lgorrie at common-lisp.net Wed May 12 16:21:14 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Wed, 12 May 2004 12:21:14 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv3679 Modified Files: slime.el Log Message: Fixes for outline-mode in *slime-events* from Edi Weitz. Date: Wed May 12 12:21:13 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.299 slime/slime.el:1.300 --- slime/slime.el:1.299 Tue May 11 17:00:59 2004 +++ slime/slime.el Wed May 12 12:21:13 2004 @@ -1689,7 +1689,7 @@ (defvar slime-log-events t "*Log protocol events to the *slime-events* buffer.") -(defvar slime-inhibit-ouline-mode-in-events-buffer t +(defvar slime-inhibit-outline-mode-in-events-buffer t "*Don't use outline-mode if true.") ;;;;;;; Event logging to *slime-events* @@ -1705,7 +1705,8 @@ (goto-char (point-max)) (save-excursion (pp event (current-buffer))) - (when outline-minor-mode + (when (and (boundp 'outline-minor-mode) + outline-minor-mode) (hide-entry)) (goto-char (point-max))))) @@ -1716,7 +1717,7 @@ (set (make-local-variable 'outline-regexp) "^(") (set (make-local-variable 'comment-start) ";") (set (make-local-variable 'comment-end) "") - (unless slime-inhibit-ouline-mode-in-events-buffer + (unless slime-inhibit-outline-mode-in-events-buffer (outline-minor-mode))) buffer))) From lgorrie at common-lisp.net Wed May 12 16:23:31 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Wed, 12 May 2004 12:23:31 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv19199 Modified Files: ChangeLog Log Message: Date: Wed May 12 12:23:31 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.373 slime/ChangeLog:1.374 --- slime/ChangeLog:1.373 Tue May 11 17:02:28 2004 +++ slime/ChangeLog Wed May 12 12:23:31 2004 @@ -1,3 +1,8 @@ +2004-05-12 Luke Gorrie + + * slime.el: Fixes for outline-mode in *slime-events* from Edi + Weitz. + 2004-05-11 Helmut Eller * slime.el (slime-events-buffer): Disable outline-mode by default. From aruttenberg at common-lisp.net Thu May 13 04:47:51 2004 From: aruttenberg at common-lisp.net (Alan Ruttenberg) Date: Thu, 13 May 2004 00:47:51 -0400 Subject: [slime-cvs] CVS update: slime/swank-openmcl.lisp slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv20267/slime Modified Files: swank-openmcl.lisp ChangeLog Log Message: 2004-05-12 Alan Ruttenberg * swank-openmcl.lisp: Fixes to support openmcl 0.14.2 changes in backtrace protocol, from Gary Byers. - Replace string "tcr" to "context". - Change the call to %current-tcr in map-backtrace to get-backtrace-context, defined so as to be back compatible with 0.14.1. - Change the call to %catch-top to explicitly use %current-tcr instead of the passed in tcr-which-is-now-called-context. Users of map-backtrace (outside of slime code) note: The tcr position in the function call is now occupied by the backtrace "context" which is always nil. If you really need the tcr then you need to call %current-tcr yourself now. Gary comments: The part that's a little hard to document about the new "context" stuff - used to walk the stacks of thread A from thread B - is that thread B has to be aware of when a context becomes invalid (a context describing part of thread A's stack is valid while thread A's sitting in a break loop and becomes invalid as soon as it exits that break loop.) A thread sort of announces when a context becomes valid and when it becomes invalid; whether and how SWANK could hook into that isn't yet clear. * swank-openmcl.lisp: Minor changes to backtrace display: Anonymous functions names in function position surrounded by #<>. Use prin1 instead of princ to print function arguments (so strings have "s around them). prefix symbol and list arguments by "'" to make them more look like a valid function call. Let me know if you don't like this... Date: Thu May 13 00:47:51 2004 Author: aruttenberg Index: slime/swank-openmcl.lisp diff -u slime/swank-openmcl.lisp:1.74 slime/swank-openmcl.lisp:1.75 --- slime/swank-openmcl.lisp:1.74 Thu May 6 03:38:41 2004 +++ slime/swank-openmcl.lisp Thu May 13 00:47:51 2004 @@ -109,8 +109,8 @@ (previous-f nil)) (block find-frame (map-backtrace - #'(lambda(frame-number p tcr lfun pc) - (declare (ignore frame-number tcr pc)) + #'(lambda(frame-number p context lfun pc) + (declare (ignore frame-number context pc)) (when (eq previous-f 'ccl::%pascal-functions%) (setq *swank-debugger-stack-frame* p) (return-from find-frame)) @@ -139,8 +139,8 @@ (previous-f2 nil)) (block find-frame (map-backtrace - #'(lambda(frame-number p tcr lfun pc) - (declare (ignore frame-number tcr pc)) + #'(lambda(frame-number p context lfun pc) + (declare (ignore frame-number context pc)) (when (eq previous-f2 'break-in-sldb) (setq *swank-debugger-stack-frame* p) (return-from find-frame)) @@ -224,54 +224,72 @@ (ccl::*signal-printing-errors* nil)) ; don't let error while printing error take us down (funcall debugger-loop-fn))) +(defun backtrace-context () + (if (and (= ccl::*openmcl-major-version* 0) + (<= ccl::*openmcl-minor-version* 14) + (< ccl::*openmcl-revision* 2)) + (ccl::%current-tcr) + nil)) + (defun map-backtrace (function &optional (start-frame-number 0) (end-frame-number most-positive-fixnum)) "Call FUNCTION passing information about each stack frame from frames START-FRAME-NUMBER to END-FRAME-NUMBER." - (let ((tcr (ccl::%current-tcr)) + (let ((context (backtrace-context)) (frame-number 0) (top-stack-frame (or *swank-debugger-stack-frame* (ccl::%get-frame-ptr)))) - (do* ((p top-stack-frame (ccl::parent-frame p tcr)) - (q (ccl::last-frame-ptr tcr))) - ((or (null p) (eq p q) (ccl::%stack< q p tcr)) + (do* ((p top-stack-frame (ccl::parent-frame p context)) + (q (ccl::last-frame-ptr context))) + ((or (null p) (eq p q) (ccl::%stack< q p context)) (values)) (multiple-value-bind (lfun pc) (ccl::cfp-lfun p) (when lfun (if (and (>= frame-number start-frame-number) (< frame-number end-frame-number)) - (funcall function frame-number p tcr lfun pc)) + (funcall function frame-number p context lfun pc)) (incf frame-number)))))) -(defun frame-arguments (p tcr lfun pc) +;; May 13, 2004 alanr: use prin1 instead of princ so I see " around strings. Write ' in front of symbol names and lists. + +(defun frame-arguments (p context lfun pc) "Returns a string representing the arguments of a frame." (multiple-value-bind (count vsp parent-vsp) - (ccl::count-values-in-frame p tcr) + (ccl::count-values-in-frame p nil) (let (result) (dotimes (i count) (multiple-value-bind (var type name) - (ccl::nth-value-in-frame p i tcr lfun pc vsp parent-vsp) + (ccl::nth-value-in-frame p i context lfun pc vsp parent-vsp) (when name + (when (or (symbolp var) (listp var)) (setq var (list 'quote var))) (cond ((equal type "required") - (push (princ-to-string var) result)) + (push (prin1-to-string var) result)) ((equal type "optional") - (push (princ-to-string var) result)) + (push (prin1-to-string var) result)) ((equal type "keyword") (push (format nil "~S ~A" (intern (symbol-name name) "KEYWORD") - (princ-to-string var)) + (prin1-to-string var)) result)))))) (format nil "~{ ~A~}" (nreverse result))))) + + + ;; XXX should return something less stringy +;; alanr May 13, 2004: put #<> around anonymous functions in the backtrace. + (defimplementation compute-backtrace (start-frame-number end-frame-number) (let (result) - (map-backtrace (lambda (frame-number p tcr lfun pc) + (map-backtrace (lambda (frame-number p context lfun pc) + (declare (ignore frame-number)) (push (with-output-to-string (s) (format s "(~A~A)" - (ccl::%lfun-name-string lfun) - (frame-arguments p tcr lfun pc))) + (if (ccl::function-name lfun) + (ccl::%lfun-name-string lfun) + lfun) + (frame-arguments p context lfun pc))) result)) start-frame-number end-frame-number) (nreverse result))) @@ -281,14 +299,14 @@ (defimplementation frame-locals (index) (map-backtrace - (lambda (frame-number p tcr lfun pc) + (lambda (frame-number p context lfun pc) (when (= frame-number index) (multiple-value-bind (count vsp parent-vsp) - (ccl::count-values-in-frame p tcr) + (ccl::count-values-in-frame p context) (let (result) (dotimes (i count) (multiple-value-bind (var type name) - (ccl::nth-value-in-frame p i tcr lfun pc vsp parent-vsp) + (ccl::nth-value-in-frame p i context lfun pc vsp parent-vsp) (declare (ignore type)) (when name (push (list @@ -300,19 +318,19 @@ (defimplementation frame-catch-tags (index &aux my-frame) (map-backtrace - (lambda (frame-number p tcr lfun pc) + (lambda (frame-number p context lfun pc) (declare (ignore pc lfun)) (if (= frame-number index) (setq my-frame p) (when my-frame (return-from frame-catch-tags - (loop for catch = (ccl::%catch-top tcr) then (ccl::next-catch catch) + (loop for catch = (ccl::%catch-top (ccl::%current-tcr)) then (ccl::next-catch catch) while catch for csp = (ccl::uvref catch 3) ; ppc32::catch-frame.csp-cell) defined in arch.lisp for tag = (ccl::uvref catch 0) ; ppc32::catch-frame.catch-tag-cell) - until (ccl::%stack< p csp tcr) + until (ccl::%stack< p csp context) do (print "-") (print catch) (terpri) (describe tag) - when (ccl::%stack< my-frame csp tcr) + when (ccl::%stack< my-frame csp context) collect (cond ((symbolp tag) tag) @@ -324,8 +342,8 @@ (let ((function-to-disassemble nil)) (block find-frame (map-backtrace - (lambda(frame-number p tcr lfun pc) - (declare (ignore p tcr pc)) + (lambda(frame-number p context lfun pc) + (declare (ignore p context pc)) (when (= frame-number the-frame-number) (setq function-to-disassemble lfun) (return-from find-frame))))) @@ -360,47 +378,46 @@ find the precise position of the frame, but we do attempt to give at least the filename containing it." (map-backtrace - (lambda (frame-number p tcr lfun pc) - (declare (ignore p tcr pc)) + (lambda (frame-number p context lfun pc) + (declare (ignore p context pc)) (when (and (= frame-number index) lfun) (return-from frame-source-location-for-emacs (function-source-location lfun)))))) (defimplementation eval-in-frame (form index) (map-backtrace - (lambda (frame-number p tcr lfun pc) + (lambda (frame-number p context lfun pc) (when (= frame-number index) (multiple-value-bind (count vsp parent-vsp) - (ccl::count-values-in-frame p tcr) + (ccl::count-values-in-frame p context) (let ((bindings nil)) (dotimes (i count) (multiple-value-bind (var type name) - (ccl::nth-value-in-frame p i tcr lfun pc vsp parent-vsp) + (ccl::nth-value-in-frame p i context lfun pc vsp parent-vsp) (declare (ignore type)) (when name (push (list name `',var) bindings)) )) (return-from eval-in-frame (eval `(let ,bindings - (Declare (ccl::ignore-if-unused - ,@(mapcar 'car bindings))) + (declare (ignorable ,@(mapcar 'car bindings))) ,form))) )))))) (defimplementation return-from-frame (index form) (let ((values (multiple-value-list (eval-in-frame form index)))) (map-backtrace - (lambda (frame-number p tcr lfun pc) - (declare (ignore tcr lfun pc)) + (lambda (frame-number p context lfun pc) + (declare (ignore context lfun pc)) (when (= frame-number index) (ccl::apply-in-frame p #'values values)))))) (defimplementation restart-frame (index) (map-backtrace - (lambda (frame-number p tcr lfun pc) + (lambda (frame-number p context lfun pc) (when (= frame-number index) (ccl::apply-in-frame p lfun - (ccl::frame-supplied-args p lfun pc nil tcr)))))) + (ccl::frame-supplied-args p lfun pc nil context)))))) ;;; Utilities @@ -441,7 +458,7 @@ (loop for caller in (ccl::callers symbol) append (multiple-value-bind (info name type specializers modifiers) (ccl::edit-definition-p caller) - (loop for (dspec . file) in info + (loop for (nil . file) in info collect (list (if (eq t type) name `(,type ,name ,specializers Index: slime/ChangeLog diff -u slime/ChangeLog:1.374 slime/ChangeLog:1.375 --- slime/ChangeLog:1.374 Wed May 12 12:23:31 2004 +++ slime/ChangeLog Thu May 13 00:47:51 2004 @@ -1,3 +1,31 @@ +2004-05-12 Alan Ruttenberg + * swank-openmcl.lisp: Fixes to support openmcl 0.14.2 changes in + backtrace protocol, from Gary Byers. + - Replace string "tcr" to "context". + - Change the call to %current-tcr in map-backtrace to get-backtrace-context, + defined so as to be back compatible with 0.14.1. + - Change the call to %catch-top to explicitly use %current-tcr + instead of the passed in tcr-which-is-now-called-context. + + Users of map-backtrace (outside of slime code) note: The tcr position in the + function call is now occupied by the backtrace "context" which is always nil. + If you really need the tcr then you need to call %current-tcr yourself now. + + Gary comments: The part that's a little hard to document about + the new "context" stuff - used to walk the stacks of thread A from + thread B - is that thread B has to be aware of when a context + becomes invalid (a context describing part of thread A's stack is + valid while thread A's sitting in a break loop and becomes invalid + as soon as it exits that break loop.) A thread sort of announces + when a context becomes valid and when it becomes invalid; whether + and how SWANK could hook into that isn't yet clear. + + * swank-openmcl.lisp: Minor changes to backtrace display: Anonymous + functions names in function position surrounded by #<>. Use prin1 instead of + princ to print function arguments (so strings have "s around them). + prefix symbol and list arguments by "'" to make them more look like a + valid function call. Let me know if you don't like this... + 2004-05-12 Luke Gorrie * slime.el: Fixes for outline-mode in *slime-events* from Edi @@ -1670,7 +1698,7 @@ * slime.el, swank-backend.lisp, swank-cmucl.lisp, swank-sbcl.lisp, swank.lisp: Profiler support. -2004-01-23 Alan Ruttenberg +2004-01-23 Alan Ruttenberg * swank-openmcl.lisp: Bind ccl::*signal-printing-errors* to nil inside debugger so that error while printing error take us down. @@ -1789,7 +1817,7 @@ "Eval Region", "Scratch Buffer", "Apropos Package..." Added some bold to default SLDB faces. -2004-01-19 Alan Ruttenberg +2004-01-19 Alan Ruttenberg *swank-openmcl.lisp in frame-catch-tags, ppc32::catch-frame.catch-tag-cell -> 0, ppc32::catch-frame.csp-cell -> 3. FIXME when this code is more stable in openMCL. @@ -1859,7 +1887,7 @@ a buffer local variable. Reported by Janis Dzerins. (slime-batch-test): Wait until the connection is ready. -2004-01-18 Alan Ruttenberg +2004-01-18 Alan Ruttenberg * swank-openmcl: Implement frame-catch-tags. Added debugger functions sldb-restart-frame, sldb-return-from-frame. Should probably be added to backend.lisp @@ -2395,11 +2423,11 @@ (slime-open-inspector): Minor indentation fixes. (slime-net-output-funcall): Removed. Was unused. -2003-12-19 Alan Ruttenberg +2003-12-19 Alan Ruttenberg * slime.el 1.157 fix bug in sldb-princ-locals I introduced when adding fonts to sldb -2003-12-19 Alan Ruttenberg +2003-12-19 Alan Ruttenberg * swank-openmcl.lisp 1.42 in request-loop register output stream to be periodically slushed per Gary Byer's email. * slime.el 1.156 @@ -2411,12 +2439,12 @@ * null-swank-impl.lisp: Deleted this old file. See swank-backend.lisp instead. -2003-12-18 Alan Ruttenberg +2003-12-18 Alan Ruttenberg * swank-openmcl.lisp 1.41 in openmcl (break) now goes into slime debugger. (setq swank:*break-in-sldb* nil) to disable that. -2003-12-17 Alan Ruttenberg +2003-12-17 Alan Ruttenberg * slime.el 1.155 Allow font choices for backtrack. Add group for customizing them: sldb. Whole thing is enabled with sldb-enable-styled-backtrace which is off by default, for now. @@ -2431,7 +2459,7 @@ '(sldb-selected-frame-line-face ((t (:foreground "brown" :weight bold :height 1.2)))) '(sldb-topline-face ((t (:foreground "brown" :weight bold :height 1.2)))) -2003-12-17 Alan Ruttenberg +2003-12-17 Alan Ruttenberg * slime.el 1.154 Allow some face choices in the inspector. Try '(slime-inspector-label-face ((t (:weight bold)))) @@ -2439,7 +2467,7 @@ '(slime-inspector-type-face ((t (:foreground "DarkRed" :weight bold)))) You can also set slime-inspector-value-face -2003-12-17 Alan Ruttenberg +2003-12-17 Alan Ruttenberg * swank-openmcl.lisp 1.40 Fix an error with frame-source-location-for-emacs when the @@ -2555,7 +2583,7 @@ (slime-popup-thread-control-panel): When true, automatically popup the thread-control buffer when a new thread suspends. -2003-12-14 Alan Ruttenberg +2003-12-14 Alan Ruttenberg * swank-openmcl.lisp (eval-in-frame, inspect-object and friends): Most of this is copied from swank-cmucl. The parts between &&&&& From lopatashuffled at bravenet.com Thu May 13 09:44:13 2004 From: lopatashuffled at bravenet.com (Editor) Date: Thu, 13 May 2004 10:44:13 +0100 Subject: [slime-cvs] Get a piece of the rock Ganges Message-ID: An HTML attachment was scrubbed... URL: From dkfqo at msn.com Thu May 13 13:16:02 2004 From: dkfqo at msn.com (Anna Keith) Date: Thu, 13 May 2004 18:16:02 +0500 Subject: [slime-cvs] You can order Anti-depressants.., weight loss meds, and pain relief meds online with NO PRESCRIPTION copeland otiose blasphemy mr down polysaccharide gubernatorial drophead threefold tibia cadent indium ouzel Message-ID: An HTML attachment was scrubbed... URL: From royceoppy at ct2001.com Thu May 13 17:10:30 2004 From: royceoppy at ct2001.com (Angelo Champion) Date: Thu, 13 May 2004 12:10:30 -0500 Subject: [slime-cvs] 500 DOLLARS For You, Just For Opening This Notice, Thu, 13 May 2004 12:10:30 -0500 Message-ID: Thu, 13 May 2004 12:10:30 -0500 CASH TODAY will help you get back on your feet. http://www.lifetimedealz.com/cash23/ If late payments and unexpected bills have set you back financially CASH TODAY can help. We specialize in helping people pay their bills on time without any expensive fees or hassles. http://www.lifetimedealz.com/cash23/ It only takes a minute to apply for a CASH TODAY personal loan for up to 500 dollars. Once you're approved we deposit money directly into your account within 1/2 hour of Approval. http://www.lifetimedealz.com/cash23/ No more ads: http://www.lifetimedealz.com/away.html activate improvisate mimetic nanking calm healy carriage broil jarvin eucalyptus pdp cottage diabetic mammalian reward conductance gilchrist huckster filibuster evil deterring basidiomycetes samson senile adjourn fair homophobia sexy taketh jessie stroke bianco caleb inhabitation worshipful corrigendum guiana they'll ballet calfskin toroidal tumultuous kite lamentation nylon synaptic buss farfetched damp epitaxial refectory subversive padre thiouracil atop strode airtight brick substituent shaffer baffle bushy cameroun From QFGGK at yahoo.com Fri May 14 04:28:13 2004 From: QFGGK at yahoo.com (Wallace Battle) Date: Thu, 13 May 2004 22:28:13 -0600 Subject: [slime-cvs] Get pre*scribed Va*lium, Xa*nax, cial^is, Vi*agra, Di*et Pi*lls and much more 0nline! 0ve*rnight Sh*ipping curious inter schematic episode herpetology alvarez hate righteous shoal morsel blatant pablo inventory parody derogate mountainous upwind brighton county adequacy burdock conference immature debug declassify agleam polyphony demure predictor merle death disperse incredulous passer churchill slater diagnosis toot adequate Message-ID: An HTML attachment was scrubbed... URL: From frdbaou at yahoo.com Fri May 14 06:44:28 2004 From: frdbaou at yahoo.com (Odell David) Date: Fri, 14 May 2004 02:44:28 -0400 Subject: [slime-cvs] Cheap Vicodin Online - US FDA Pharmacy Message-ID: An HTML attachment was scrubbed... URL: From valariebest at soulfoodcookbook.com Fri May 14 07:22:59 2004 From: valariebest at soulfoodcookbook.com (Alan Burton) Date: Fri, 14 May 2004 02:22:59 -0500 Subject: [slime-cvs] Rx Online, We're Practically Giving Them Away, Fri, 14 May 2004 02:22:59 -0500 Message-ID: Fri, 14 May 2004 02:22:59 -0500 Wholesale Rx - http://www.lifetimedealz.com/jw Take A Step Into The Future And Join The Millions Of People Already Using Rx Meds Online. Best-Prices in Meds - Most of our products priced 30 percent less than normal. No Prior Rx Required - Shipped-Direct to Your Door - U.S. Licensed Doctors. Come On In: http://www.lifetimedealz.com/jw concomitant disturb shelf scarsdale conferred blomberg embower tarry shaken memo coach devastate wove abdicate analgesic rejecter ichneumon postpaid donovan deafen buttonhole classmate ginsberg boeotian accordion artie orphic basis flex consequential gurkha arrowhead succeed conservator ethnology kittenish dipole buddy treacherous mythic baseplate bema commensurate satire bushy syntactic sabbatical telepathy deniable embargo No thanks: http://www.lifetimedealz.com/postmark.html From mbaringer at common-lisp.net Fri May 14 10:39:09 2004 From: mbaringer at common-lisp.net (Marco Baringer) Date: Fri, 14 May 2004 06:39:09 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv1825 Modified Files: ChangeLog slime.el Log Message: See ChangeLog entry 2004-05-14 Marco Baringer Date: Fri May 14 06:39:08 2004 Author: mbaringer Index: slime/ChangeLog diff -u slime/ChangeLog:1.375 slime/ChangeLog:1.376 --- slime/ChangeLog:1.375 Thu May 13 00:47:51 2004 +++ slime/ChangeLog Fri May 14 06:39:07 2004 @@ -1,3 +1,13 @@ +2004-05-14 Marco Baringer + + * slime.el (slime-with-output-to-temp-buffer): Now takes a + package arg specifying what slime-buffer-package should be in the + generated buffer. + (slime-show-description): actually pass the package arg. + (slime-show-apropos): pass the package arg to + slime-with-output-to-temp-buffer. + (slime-list-repl-shortcuts): pass a package arg. + 2004-05-12 Alan Ruttenberg * swank-openmcl.lisp: Fixes to support openmcl 0.14.2 changes in backtrace protocol, from Gary Byers. Index: slime/slime.el diff -u slime/slime.el:1.300 slime/slime.el:1.301 --- slime/slime.el:1.300 Wed May 12 12:21:13 2004 +++ slime/slime.el Fri May 14 06:39:07 2004 @@ -924,7 +924,7 @@ (slime-define-keys slime-temp-buffer-mode-map ("q" 'slime-temp-buffer-quit)) -(defmacro slime-with-output-to-temp-buffer (name &rest body) +(defmacro slime-with-output-to-temp-buffer (name package &rest body) "Similar to `with-output-to-temp-buffer'. Also saves the window configuration, and inherits the current `slime-connection' in a buffer-local variable." @@ -946,6 +946,7 @@ (set-syntax-table lisp-mode-syntax-table) (slime-temp-buffer-mode 1) (setq buffer-read-only t) + (setq slime-buffer-package ,package) (unless (get-buffer-window (current-buffer) t) (switch-to-buffer-other-window (current-buffer)))))))) @@ -4151,8 +4152,7 @@ (hyperspec-lookup symbol-name)) (defun slime-show-description (string package) - (slime-with-output-to-temp-buffer "*SLIME Description*" - (princ string))) + (slime-with-output-to-temp-buffer "*SLIME Description*" package (princ string))) (defun slime-describe-symbol (symbol-name) "Describe the symbol at point." @@ -4220,14 +4220,13 @@ (defun slime-show-apropos (plists string package summary) (if (null plists) (message "No apropos matches for %S" string) - (slime-with-output-to-temp-buffer "*SLIME Apropos*" + (slime-with-output-to-temp-buffer "*SLIME Apropos*" package (apropos-mode) (set-syntax-table lisp-mode-syntax-table) (slime-mode t) (if (boundp 'header-line-format) (setq header-line-format summary) (insert summary "\n\n")) - (setq slime-buffer-package package) (slime-set-truncate-lines) (slime-print-apropos plists)))) @@ -5987,7 +5986,7 @@ (defun slime-list-repl-short-cuts () (interactive) - (slime-with-output-to-temp-buffer "*slime-repl-help*" + (slime-with-output-to-temp-buffer "*slime-repl-help*" nil (let ((table (sort* slime-repl-shortcut-table #'string< :key (lambda (x) (car (slime-repl-shortcut.names x)))))) From WYMUKEJSHX at orange.ichtj.waw.pl Fri May 14 12:37:41 2004 From: WYMUKEJSHX at orange.ichtj.waw.pl (Darryl Hinkle) Date: Fri, 14 May 2004 05:37:41 -0700 Subject: [slime-cvs] better job Message-ID: An HTML attachment was scrubbed... URL: From BDGCEJ at hotmail.com Fri May 14 13:01:55 2004 From: BDGCEJ at hotmail.com (Clay Lockwood) Date: Fri, 14 May 2004 17:01:55 +0400 Subject: [slime-cvs] Va*lium, Xa*nax, cial*is, Vi*agra, lev*itra, S*oma, Fi*oricet, Pre*scribed Online for Freee, Shi*pped Overn*ight morale emphysematous helmholtz grandchildren helm apprehension bergamot extremal laudanum peddle sunnyvale Message-ID: An HTML attachment was scrubbed... URL: From rpcmijjb at iscte.pt Fri May 14 17:33:34 2004 From: rpcmijjb at iscte.pt (Darrell Fuentes) Date: Fri, 14 May 2004 10:33:34 -0700 Subject: [slime-cvs] a new hot otcbb for all of you Message-ID: An HTML attachment was scrubbed... URL: From VSHBVPJ at yahoo.com Sat May 15 06:37:34 2004 From: VSHBVPJ at yahoo.com (Bobbie Livingston) Date: Sat, 15 May 2004 03:37:34 -0300 Subject: [slime-cvs] L0se Wei*ght Now with Ph*entermine, Adi*pex, B0ntril, Pr*escribed 0nline, sh*ipped t0 Y0ur D00r immanent puckish downs candlelight gould stephanotis allowance botch glycerin serpent defect disposable complaisant catawba auditor eventful then wristwatch Message-ID: An HTML attachment was scrubbed... URL: From VIYIYNGTQA at hotmail.com Sat May 15 06:28:29 2004 From: VIYIYNGTQA at hotmail.com (Millie Walker) Date: Sat, 15 May 2004 09:28:29 +0300 Subject: [slime-cvs] Name Brand Software wholesale prices Fre.e Shipping graze blockage Message-ID: An HTML attachment was scrubbed... URL: From fodcel at msn.com Sat May 15 22:16:25 2004 From: fodcel at msn.com (Clark Wiseman) Date: Sun, 16 May 2004 00:16:25 +0200 Subject: [slime-cvs] L0se Wei^ght N0w with Phe*ntermine, Ad*ipex, B0ntril, Pre^scribed 0nline, shi^pped t0 Y0ur D00r antipodean retinue chit cancerous succubus pessimum constructible f's cub score rudolf luis theologian urinal harrington deepen dugout eutectic pulsate technician mulct grid brunch sergei pillory paddock keyes corps dickson uranus hearst ayers speckle despair encryption drum Message-ID: An HTML attachment was scrubbed... URL: From RWRNDSPUDPD at dana.de Sun May 16 05:47:51 2004 From: RWRNDSPUDPD at dana.de (Lionel Field) Date: Sun, 16 May 2004 02:47:51 -0300 Subject: [slime-cvs] American Medical Directory medical directory, physicians guide, Message-ID: An HTML attachment was scrubbed... URL: From lgorrie at common-lisp.net Sun May 16 23:33:51 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sun, 16 May 2004 19:33:51 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv1071 Modified Files: slime.el Log Message: Added `C-c C-e' as an alternative binding for `slime-interactive-eval' (usually `C-c :'). This seems slightly more convenient, and has the added bonus of clobbering an unwanted `inf-lisp' binding. Date: Sun May 16 19:33:50 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.301 slime/slime.el:1.302 --- slime/slime.el:1.301 Fri May 14 06:39:07 2004 +++ slime/slime.el Sun May 16 19:33:50 2004 @@ -476,7 +476,8 @@ ("\C-p" slime-pprint-eval-last-expression :prefixed t :inferior t) ("\C-r" slime-eval-region :prefixed t :inferior t) ("\C-\M-x" slime-eval-defun) - (":" slime-interactive-eval :prefixed t :sldb t) + (":" slime-interactive-eval :prefixed t :sldb t) + ("\C-e" slime-interactive-eval :prefixed t :sldb t :inferior t) ("\C-z" slime-switch-to-output-buffer :prefixed t :sldb t) ("\C-g" slime-interrupt :prefixed t :inferior t :sldb t) ;; NB: XEmacs dosn't like \C-g. Use \C-b as "break" key. @@ -2456,7 +2457,8 @@ ("\M-s" 'slime-repl-next-matching-input) ("\C-c\C-c" 'slime-interrupt) ("\C-c\C-g" 'slime-interrupt) - ("\C-c:" 'slime-interactive-eval) + ("\C-c:" 'slime-interactive-eval) + ("\C-c\C-e" 'slime-interactive-eval) ;("\t" 'slime-complete-symbol) ("\t" 'slime-repl-indent-and-complete-symbol) (" " 'slime-space) From lgorrie at common-lisp.net Sun May 16 23:35:12 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sun, 16 May 2004 19:35:12 -0400 Subject: [slime-cvs] CVS update: slime/swank-backend.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv20352 Modified Files: swank-backend.lisp Log Message: Trivial doc additions. Date: Sun May 16 19:35:12 2004 Author: lgorrie Index: slime/swank-backend.lisp diff -u slime/swank-backend.lisp:1.46 slime/swank-backend.lisp:1.47 --- slime/swank-backend.lisp:1.46 Tue May 4 14:57:52 2004 +++ slime/swank-backend.lisp Sun May 16 19:35:11 2004 @@ -166,14 +166,15 @@ ;;;; Compilation (definterface call-with-compilation-hooks (func) - "Call FUNC with hooks to trigger SLDB on compiler errors.") + "Call FUNC with hooks to record compiler conditions.") (defmacro with-compilation-hooks ((&rest ignore) &body body) + "Execute BODY as in CALL-WITH-COMPILATION-HOOKS." (declare (ignore ignore)) `(call-with-compilation-hooks (lambda () (progn , at body)))) (definterface swank-compile-string (string &key buffer position) - "Compile source from STRING. During compilation, compiler + "Compile source from STRING. During compilation, compiler conditions must be trapped and resignalled as COMPILER-CONDITIONs. If supplied, BUFFER and POSITION specify the source location in Emacs. From lgorrie at common-lisp.net Mon May 17 00:25:25 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sun, 16 May 2004 20:25:25 -0400 Subject: [slime-cvs] CVS update: slime/xref.lisp slime/swank-clisp.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv24427 Modified Files: xref.lisp swank-clisp.lisp Log Message: Renamed XREF package to PXREF (P for portable). This makes it possible to load the package in e.g. CMUCL, which is nice because it's a good package. Date: Sun May 16 20:25:25 2004 Author: lgorrie Index: slime/xref.lisp diff -u slime/xref.lisp:1.1 slime/xref.lisp:1.2 --- slime/xref.lisp:1.1 Fri Jan 2 03:17:15 2004 +++ slime/xref.lisp Sun May 16 20:25:24 2004 @@ -653,7 +653,7 @@ ;;; List Callers *************************************************** ;;; **************************************************************** -(defpackage :xref +(defpackage :pxref (:use :common-lisp) (:export #:list-callers #:list-users @@ -690,7 +690,7 @@ #:psgraph-xref )) -(in-package "XREF") +(in-package "PXREF") ;;; Warn user if they're loading the source instead of compiling it first. ;(eval-when (compile load eval) Index: slime/swank-clisp.lisp diff -u slime/swank-clisp.lisp:1.31 slime/swank-clisp.lisp:1.32 --- slime/swank-clisp.lisp:1.31 Fri May 7 17:11:18 2004 +++ slime/swank-clisp.lisp Sun May 16 20:25:24 2004 @@ -359,18 +359,18 @@ ;;; Portable XREF from the CMU AI repository. -(setq xref::*handle-package-forms* '(cl:in-package)) +(setq pxref::*handle-package-forms* '(cl:in-package)) (defmacro defxref (name function) `(defimplementation ,name (name) (xref-results (,function name)))) -(defxref who-calls xref:list-callers) -(defxref who-references xref:list-readers) -(defxref who-binds xref:list-setters) -(defxref who-sets xref:list-setters) -(defxref list-callers xref:list-callers) -(defxref list-callees xref:list-callees) +(defxref who-calls pxref:list-callers) +(defxref who-references pxref:list-readers) +(defxref who-binds pxref:list-setters) +(defxref who-sets pxref:list-setters) +(defxref list-callers pxref:list-callers) +(defxref list-callees pxref:list-callees) (defun xref-results (symbols) (let ((xrefs '())) From lgorrie at common-lisp.net Mon May 17 00:26:44 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Sun, 16 May 2004 20:26:44 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv27425 Modified Files: ChangeLog Log Message: Date: Sun May 16 20:26:44 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.376 slime/ChangeLog:1.377 --- slime/ChangeLog:1.376 Fri May 14 06:39:07 2004 +++ slime/ChangeLog Sun May 16 20:26:44 2004 @@ -1,3 +1,18 @@ +2004-05-17 Luke Gorrie + + * xref.lisp, swank-clisp.lisp: Renamed XREF package to PXREF (P + for portable). This makes it possible to load the package in + e.g. CMUCL, which is nice because it's a good package. + + * swank-cmucl.lisp: Some refactoring and high-level + commenting. Mostly just trying to organise things into fairly + self-contained sections (my new hobby, sad I know!) + + * slime.el: Added `C-c C-e' as an alternative binding for + `slime-interactive-eval' (usually `C-c :'). This seems slightly + more convenient, and has the added bonus of clobbering an unwanted + `inf-lisp' binding. + 2004-05-14 Marco Baringer * slime.el (slime-with-output-to-temp-buffer): Now takes a From YVNDYQS at hotmail.com Mon May 17 03:24:31 2004 From: YVNDYQS at hotmail.com (Ivory Cleveland) Date: Mon, 17 May 2004 00:24:31 -0300 Subject: [slime-cvs] Pr*escripti0ns written and f*illed 0nline! US d0ct0rs and ph*armacies! 0ve*rnight Sh*ipping indigo fragile cousin puzzle adapt marriageable swift diagnose ozone bard congressmen level billion pulley gaspee modus Message-ID: An HTML attachment was scrubbed... URL: From oboxpvysn at yahoo.com Mon May 17 10:21:49 2004 From: oboxpvysn at yahoo.com (Martina ) Date: Mon, 17 May 2004 06:21:49 -0400 Subject: [slime-cvs] good stuff Message-ID: An HTML attachment was scrubbed... URL: From ingsamelmagehat at free2.every1.net Mon May 17 15:07:21 2004 From: ingsamelmagehat at free2.every1.net (Leola Groves) Date: Mon, 17 May 2004 10:07:21 -0500 Subject: [slime-cvs] Cable-TV Filter Lets You Get It ALL-FOR-NOTHING, ID: F468J883 Message-ID: ID: V966L518 Cable-TV Viewers - http://www.jetmynet.com?refid=10010000874688084&action=10&eid=hk Cable-TV Filter lets you get your Pay-Per-View, Mature Channels, Movie Channels, and Sporting Events for NOTHING. Not to worry, it's legal. Check out the legal-page on our site. Find Out More - http://www.jetmynet.com?refid=10010000874688084&action=10&eid=hk Not for you - http://www.jetmynet.com?unsub=10010000874688084&action=10&eid=hk antagonistic skilletcrowfootseashoreconveyancecowlickdouglassmushyprohibitoryleafletchurchwomenacquittalcynicinsuppressibleaugustineporeandautodurrelldwyerexoneratechemisorbbuzzsawbalmheliummarketplaceblasteradicable bronxcoleridgedeferrablecentrexdonnadeviseefearmushyvocabulariannothingdusenburynatalieiabriceespecialcarcassmutandis From DJIDI at yahoo.com Mon May 17 16:20:45 2004 From: DJIDI at yahoo.com (Clay Carney) Date: Mon, 17 May 2004 17:20:45 +0100 Subject: [slime-cvs] Va*lium, Xa*nax, cial*is, Pa*xil, Phe*ntermine, Vi*agra, lev*itra and more. 0rder 0nline with NO PRIOR PRE*SCRIPTI0N increase konrad bulb bangor incinerate edinburgh chen denton davenport boeotia dodson grantee bolo argumentation cyclorama emolument mazurka vietnam demountable bromley jansenist cumberland crowley greylag britannic brigadier crescendo jerome gape baldy aristocrat abdicate banister stokes airborne nicodemus trilobite convolution Message-ID: An HTML attachment was scrubbed... URL: From annamariawexler at ardkoore.com Tue May 18 05:06:59 2004 From: annamariawexler at ardkoore.com (Ward Souza) Date: Tue, 18 May 2004 00:06:59 -0500 Subject: [slime-cvs] CIGARETTE Warehouse - We're Practically Giving Them Away, ID: A8494p97 Message-ID: ID: 5619eU48 Cigarette Warehouse - http://www.protectiontrust.com/ctc/refjw.html BIG MONEY off HUNDREDS or even THOUSANDS of dollars over the course of a year when purchasing cigarettes through Cigarette Warehouse. We stock only the freshest cigarettes of the highest quality: Marlboro, Camel, Winston, Benson & Hedges, Salem, Kool, ALL the premium brands including Dunhill, Barclay, Virginia Slims, and so many more. Our products are fresh and genuine. Get your smokes now: http://www.protectiontrust.com/ctc/refjw.html No thanks: http://www.protectiontrust.com/postmark.html advisor contradistinctioncannibalblackstonecocopukefleawortpromenadebacterialschultzacuitychurchgoingemployeehearsaycompacter conscionablestammercallerclovegreenmonolithdowntownwilcoxhottochiveproximitybootleggingnormalcyperlepoemchaplindianeapprehendbadinagesand From unayoutsey at valudeal.net Wed May 19 01:17:33 2004 From: unayoutsey at valudeal.net (Antoine Nielsen) Date: Tue, 18 May 2004 20:17:33 -0500 Subject: [slime-cvs] Rx Online, We're Practically Giving Them Away, ID: J894go78 Message-ID: ID: A690Qk13 Wholesale Rx - http://www.protectiontrust.com/jw Take A Step Into The Future And Join The Millions Of People Already Using Rx Meds Online. Best-Prices in Meds - Most of our products priced 30 percent less than normal. No Prior Rx Required - Shipped-Direct to Your Door - U.S. Licensed Doctors. Come On In: http://www.protectiontrust.com/jw newark piquepilotfleeeldestartyboardinghousecolatexasminskchemistryseaquakepyrexwastemalagasyelectrocardiogramtoledorepetitionsuccinctleaorchidtorfromabreactmanchaoticyeomanrybongoowingsalesperson demarcatezaireworkmenparboilnegroesvenialrotenonehectorsudanesecoleushalcyontartarderailassimilatepuffconclavecelestialchameleonpiquechastediacriticaltransfinitedaughterbrewery No thanks: http://www.protectiontrust.com/postmark.html From mgympna at uni-hohenheim.de Wed May 19 03:27:38 2004 From: mgympna at uni-hohenheim.de (Alphonse Carlson) Date: Wed, 19 May 2004 09:27:38 +0600 Subject: [slime-cvs] Top growth stocks tend to innovate their industries Message-ID: An HTML attachment was scrubbed... URL: From ikdqpcarzsy at axis.org Wed May 19 05:42:25 2004 From: ikdqpcarzsy at axis.org (Damion English) Date: Tue, 18 May 2004 23:42:25 -0600 Subject: [slime-cvs] "Cialis", The New Generation of "Viagra" Message-ID: <047tx48w160$74tu9fm9$3he739gvie@swiggingposabledcq29547> An HTML attachment was scrubbed... URL: From gzalmafiqux at zephyr.dti.ne.jp Wed May 19 20:04:11 2004 From: gzalmafiqux at zephyr.dti.ne.jp (Gwen Weston) Date: Wed, 19 May 2004 18:04:11 -0200 Subject: [slime-cvs] 14' Turn your opinion into big bux Message-ID: An HTML attachment was scrubbed... URL: From hqxbxvlper at east.net Wed May 19 21:36:45 2004 From: hqxbxvlper at east.net (Monte Bartlett) Date: Thu, 20 May 2004 00:36:45 +0300 Subject: [slime-cvs] Amazing Software Deals coward 83 trombones Message-ID: An HTML attachment was scrubbed... URL: From angelinemontenegro at soulfoodcookbook.com Thu May 20 06:45:13 2004 From: angelinemontenegro at soulfoodcookbook.com (Joan Lucero) Date: Thu, 20 May 2004 01:45:13 -0500 Subject: [slime-cvs] University Certificates, No Classes Needed, ID: g579Ic09 Message-ID: ID: e594Kl03 Academic-Qualifications from NON?ACCR. Universities. No exams. No classes. No books. Call to register and get yours in days - 1.203.286.2403 No more ads: deloresaber at 1net.gr objectifysolomonbromineroboticschasenewmanbucolicadiabaticadjointophiuchusprovocationatreuslyledarpamrpolygonadamsonsquirtslymercator edmundappearancecreoleashamedcowhandbroodysamuelhazecontrivancecomprehensivesnookprocurespectrographybobcatbravura From AGUSRT at cox.net Thu May 20 09:43:36 2004 From: AGUSRT at cox.net (Marcelino Flowers) Date: Thu, 20 May 2004 12:43:36 +0300 Subject: [slime-cvs] Time may be running out Message-ID: An HTML attachment was scrubbed... URL: From heller at common-lisp.net Fri May 21 08:19:48 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 21 May 2004 04:19:48 -0400 Subject: [slime-cvs] CVS update: slime/swank-allegro.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv20691 Modified Files: swank-allegro.lisp Log Message: (find-fspec-location): Better handling of methods. Reported by Bill Clementson. Date: Fri May 21 04:19:48 2004 Author: heller Index: slime/swank-allegro.lisp diff -u slime/swank-allegro.lisp:1.30 slime/swank-allegro.lisp:1.31 --- slime/swank-allegro.lisp:1.30 Mon Apr 26 13:11:36 2004 +++ slime/swank-allegro.lisp Fri May 21 04:19:47 2004 @@ -30,7 +30,6 @@ ;;;; TCP Server - (defimplementation preferred-communication-style () :spawn) @@ -62,8 +61,8 @@ (defimplementation set-default-directory (directory) (excl:chdir directory) - (namestring (setf *default-pathname-defaults* (truename (merge-pathnames directory))))) - + (namestring (setf *default-pathname-defaults* + (truename (merge-pathnames directory))))) ;;;; Misc @@ -92,16 +91,6 @@ (doc 'class))) result))) - -(defimplementation describe-definition (symbol namespace) - (ecase namespace - (:variable - (describe symbol)) - ((:function :generic-function) - (describe (symbol-function symbol))) - (:class - (describe (find-class symbol))))) - (defimplementation describe-definition (symbol namespace) (ecase namespace (:variable @@ -214,14 +203,18 @@ ;;;; Definition Finding (defun find-fspec-location (fspec type) - (let ((file (excl::fspec-pathname fspec type))) + (let* ((fspec (if (consp fspec) + (excl::to-internal-fspec fspec) + fspec)) + (info (car (excl::fspec-fspec-info fspec))) + (file (excl::fspec-info-pathname info))) (etypecase file (pathname (let ((start (scm:find-definition-in-file fspec type file))) (make-location (list :file (namestring (truename file))) (if start (list :position (1+ start)) - (list :function-name (string fspec)))))) + (list :function-name (string (third info))))))) ((member :top-level) (list :error (format nil "Defined at toplevel: ~A" fspec))) (null From heller at common-lisp.net Fri May 21 08:24:39 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 21 May 2004 04:24:39 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv25760 Modified Files: slime.el Log Message: (slime-switch-to-output-buffer): Override the prefix-arg if we are called non-interactively. (slime-repl-current-input): Don't add newlines. (slime-repl-return): Send input if we are read-mode even if it isn't a complete expression. (repl-read-lines): New test case. Date: Fri May 21 04:24:39 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.302 slime/slime.el:1.303 --- slime/slime.el:1.302 Sun May 16 19:33:50 2004 +++ slime/slime.el Fri May 21 04:24:38 2004 @@ -1978,10 +1978,10 @@ (insert "\n") (set-marker slime-output-end (1- (point))))))) -(defun slime-switch-to-output-buffer () +(defun slime-switch-to-output-buffer (&optional select-connection) "Select the output buffer, preferably in a different window." - (interactive) - (slime-with-chosen-connection () + (interactive "p") + (slime-with-chosen-connection (select-connection) (set-buffer (slime-output-buffer)) (unless (eq (current-buffer) (window-buffer)) (pop-to-buffer (current-buffer) t)) @@ -2126,12 +2126,7 @@ "Return the current input as string. The input is the region from after the last prompt to the end of buffer." (buffer-substring-no-properties slime-repl-input-start-mark - (save-excursion - (goto-char slime-repl-input-end-mark) - (when (and (eq (char-before) ?\n) - (not (slime-reading-p))) - (backward-char 1)) - (point)))) + slime-repl-input-end-mark)) (defun slime-repl-add-to-input-history (string) (when (and (plusp (length string)) @@ -2258,8 +2253,10 @@ (slime-check-connected) (assert (<= (point) slime-repl-input-end-mark)) (cond (current-prefix-arg - (slime-repl-send-input) - (insert "\n")) + (slime-repl-send-input)) + (slime-repl-read-mode ; bad style? + (insert "\n") + (slime-repl-send-input)) ((slime-input-complete-p slime-repl-input-start-mark slime-repl-input-end-mark) (goto-char slime-repl-input-end-mark) @@ -2277,7 +2274,7 @@ '(face slime-repl-input-face rear-nonsticky (face))) (slime-mark-input-start) (slime-mark-output-start) - (slime-repl-send-string (concat input "\n")))) + (slime-repl-send-string input))) (defun slime-repl-closing-return () "Evaluate the current input string after closing all open lists." @@ -6497,6 +6494,31 @@ (slime-sync-to-top-level 5) (slime-check "Buffer contains result" (equal result-contents (buffer-string))))) + +(def-slime-test repl-read-lines + (command inputs final-contents) + "Test reading multiple lines from the repl." + '(("(list (read-line) (read-line) (read-line))" + ("a" "b" "c") + "SWANK> (list (read-line) (read-line) (read-line)) +a +b +c +\(\"a\" \"b\" \"c\") +SWANK> ")) + (when (slime-output-buffer) + (kill-buffer (slime-output-buffer))) + (with-current-buffer (slime-output-buffer) + (setf (slime-lisp-package) "SWANK") + (insert command) + (call-interactively 'slime-repl-return) + (dolist (input inputs) + (slime-wait-condition "reading" #'slime-reading-p 5) + (insert input) + (call-interactively 'slime-repl-return)) + (slime-sync-to-top-level 5) + (slime-check "Buffer contains result" + (equal final-contents (buffer-string))))) (def-slime-test interactive-eval-output (input result-contents visiblep) From heller at common-lisp.net Fri May 21 08:27:07 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 21 May 2004 04:27:07 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv8577 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Fri May 21 04:27:07 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.377 slime/ChangeLog:1.378 --- slime/ChangeLog:1.377 Sun May 16 20:26:44 2004 +++ slime/ChangeLog Fri May 21 04:27:06 2004 @@ -1,3 +1,15 @@ +2004-05-21 Helmut Eller + + * slime.el (slime-switch-to-output-buffer): Override the + prefix-arg if we are called non-interactively. + (slime-repl-current-input): Don't add newlines. + (slime-repl-return): Send input if we are in read-mode also if it + isn't a complete expression. + (repl-read-lines): New test case. + + * swank-allegro.lisp (find-fspec-location): Better handling of + methods. From Bill Clementson. + 2004-05-17 Luke Gorrie * xref.lisp, swank-clisp.lisp: Renamed XREF package to PXREF (P From heller at common-lisp.net Fri May 21 21:24:21 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 21 May 2004 17:24:21 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv24540 Modified Files: slime.el Log Message: (slime-enable-startup-animation-p): New configurable. (slime-repl-update-banner): Use it. (slime-hide-inferior-lisp-buffer): New function. Reuse the *inferior-lisp* buffer window for the SLIME REPL. Date: Fri May 21 17:24:21 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.303 slime/slime.el:1.304 --- slime/slime.el:1.303 Fri May 21 04:24:38 2004 +++ slime/slime.el Fri May 21 17:24:21 2004 @@ -123,6 +123,9 @@ (defvar slime-reply-update-banner-p t "Whether Slime should keep a repl banner updated or not.") +(defvar slime-enable-startup-animation-p t + "*Flag to suppress the animation at the beginning.") + (defvar slime-edit-definition-fallback-function nil "Function to call when edit-definition fails to find the source itself. The function is called with the definition name, a string, as its argument. @@ -1453,7 +1456,8 @@ (interactive) (when (null slime-net-processes) (error "Not connected.")) - (let ((conn (nth (mod (1+ (or (position slime-default-connection slime-net-processes) + (let ((conn (nth (mod (1+ (or (position slime-default-connection + slime-net-processes) 0)) (length slime-net-processes)) slime-net-processes))) @@ -1671,15 +1675,25 @@ (slime-connection-name) (slime-generate-connection-name name) (slime-lisp-features) features)) (setq slime-state-name "") - (when-let (buffer (get-buffer "*inferior-lisp*")) - (delete-windows-on buffer) - (bury-buffer buffer)) + (slime-hide-inferior-lisp-buffer) (slime-init-output-buffer process) (message "Connected on port %S. %s" (slime-connection-port connection) (slime-random-words-of-encouragement)) (run-hooks 'slime-connected-hook)) +(defun slime-hide-inferior-lisp-buffer () + "Display the REPL buffer instead of the *inferior-lisp* buffer." + (let* ((buffer (get-buffer "*inferior-lisp*")) + (window (if buffer (get-buffer-window buffer))) + (repl (slime-output-buffer t))) + (when buffer + (bury-buffer buffer)) + (cond (window + (set-window-buffer window repl)) + ((not (get-buffer-window repl)) + (pop-to-buffer repl))))) + (defun slime-busy-p () slime-rex-continuations) @@ -1706,7 +1720,9 @@ (delete-region (point-min) (point))) (goto-char (point-max)) (save-excursion - (pp event (current-buffer))) + (let ((print-level 5) + (print-length 20)) + (pp event (current-buffer)))) (when (and (boundp 'outline-minor-mode) outline-minor-mode) (hide-entry)) @@ -1861,29 +1877,26 @@ (current-buffer))))) (defun slime-repl-update-banner () - (let ((banner (format "%s Port: %s Pid: %s" - (slime-lisp-implementation-type) - (if (featurep 'xemacs) - (process-id (slime-connection)) - (process-contact (slime-connection))) - (slime-pid)))) - ;; Emacs21 has the fancy persistent header-line. - (cond ((boundp 'header-line-format) - (when slime-reply-update-banner-p - (setq header-line-format banner)) - (pop-to-buffer (current-buffer)) - (when (fboundp 'animate-string) - ;; and dancing text - (when (zerop (buffer-size)) - (animate-string (format "; SLIME %s" slime-changelog-date) - 0 0))) - (slime-repl-insert-prompt "")) - (t - (slime-repl-insert-prompt - (if slime-reply-update-banner-p - (concat "; " banner) - "")) - (pop-to-buffer (current-buffer)))))) + (let* ((banner (format "%s Port: %s Pid: %s" + (slime-lisp-implementation-type) + (slime-connection-port (slime-connection)) + (slime-pid))) + ;; Emacs21 has the fancy persistent header-line. + (use-header-p (and (boundp 'header-line-format) + slime-reply-update-banner-p)) + ;; and dancing text + (animantep (and (fboundp 'animate-string) + slime-enable-startup-animation-p + (zerop (buffer-size))))) + (when use-header-p + (setq header-line-format banner)) + (when animantep + (pop-to-buffer (current-buffer)) + (animate-string (format "; SLIME %s" slime-changelog-date) 0 0)) + (slime-repl-insert-prompt (if (or (not slime-reply-update-banner-p) + use-header-p) + "" + (concat "; " banner))))) (defun slime-init-output-buffer (connection) (with-current-buffer (slime-output-buffer t) @@ -1980,7 +1993,7 @@ (defun slime-switch-to-output-buffer (&optional select-connection) "Select the output buffer, preferably in a different window." - (interactive "p") + (interactive "P") (slime-with-chosen-connection (select-connection) (set-buffer (slime-output-buffer)) (unless (eq (current-buffer) (window-buffer)) From heller at common-lisp.net Fri May 21 21:30:27 2004 From: heller at common-lisp.net (Helmut Eller) Date: Fri, 21 May 2004 17:30:27 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv8257 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Fri May 21 17:30:26 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.378 slime/ChangeLog:1.379 --- slime/ChangeLog:1.378 Fri May 21 04:27:06 2004 +++ slime/ChangeLog Fri May 21 17:30:25 2004 @@ -1,3 +1,8 @@ +2004-05-21 Bill Clementson + + * slime.el (slime-switch-to-output-buffer): Use "P" as interactive + spec. + 2004-05-21 Helmut Eller * slime.el (slime-switch-to-output-buffer): Override the @@ -6,6 +11,10 @@ (slime-repl-return): Send input if we are in read-mode also if it isn't a complete expression. (repl-read-lines): New test case. + (slime-enable-startup-animation-p): New configurable. + (slime-repl-update-banner): Use it. + (slime-hide-inferior-lisp-buffer): New function. Reuse the + *inferior-lisp* buffer window for the SLIME REPL. * swank-allegro.lisp (find-fspec-location): Better handling of methods. From Bill Clementson. From heller at common-lisp.net Sat May 22 07:59:26 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 22 May 2004 03:59:26 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv7136 Modified Files: slime.el Log Message: (slime-pprint-event): New function. (slime-log-event): Use it. (slime-reindent-defun): Indent the defun after point, if point is in the first column an immediately before a #\(. Date: Sat May 22 03:59:26 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.304 slime/slime.el:1.305 --- slime/slime.el:1.304 Fri May 21 17:24:21 2004 +++ slime/slime.el Sat May 22 03:59:26 2004 @@ -1710,6 +1710,13 @@ ;;;;;;; Event logging to *slime-events* +(defun slime-pprint-event (object buffer) + "Pretty print OBJECT in BUFFER with limited depth and width." + (let ((print-length 20) + (print-level 6) + (pp-escape-newlines t)) + (pp event buffer))) + (defun slime-log-event (event) (when slime-log-events (with-current-buffer (slime-events-buffer) @@ -1720,9 +1727,7 @@ (delete-region (point-min) (point))) (goto-char (point-max)) (save-excursion - (let ((print-level 5) - (print-length 20)) - (pp event (current-buffer)))) + (slime-pprint-event event (current-buffer))) (when (and (boundp 'outline-minor-mode) outline-minor-mode) (hide-entry)) @@ -5723,7 +5728,10 @@ (save-excursion (if (or force-text-fill (slime-beginning-of-comment)) (fill-paragraph nil) - (let ((start (progn (beginning-of-defun) (point))) + (let ((start (progn (unless (and (zerop (current-column)) + (eq ?\( (char-after))) + (beginning-of-defun)) + (point))) (end (ignore-errors (end-of-defun) (point)))) (unless end (forward-paragraph) From heller at common-lisp.net Sat May 22 08:04:20 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 22 May 2004 04:04:20 -0400 Subject: [slime-cvs] CVS update: slime/swank-allegro.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv25632 Modified Files: swank-allegro.lisp Log Message: (fspec-primary-name): New function. (find-fspec-location): Use it, if the start position cannot be found. Date: Sat May 22 04:04:20 2004 Author: heller Index: slime/swank-allegro.lisp diff -u slime/swank-allegro.lisp:1.31 slime/swank-allegro.lisp:1.32 --- slime/swank-allegro.lisp:1.31 Fri May 21 04:19:47 2004 +++ slime/swank-allegro.lisp Sat May 22 04:04:19 2004 @@ -202,19 +202,21 @@ ;;;; Definition Finding +(defun fspec-primary-name (fspec) + (etypecase fspec + (symbol (string fspec)) + (list (string (second fspec))))) + (defun find-fspec-location (fspec type) - (let* ((fspec (if (consp fspec) - (excl::to-internal-fspec fspec) - fspec)) - (info (car (excl::fspec-fspec-info fspec))) - (file (excl::fspec-info-pathname info))) + (let ((file (excl:source-file fspec))) (etypecase file (pathname - (let ((start (scm:find-definition-in-file fspec type file))) + (let* ((start (scm:find-definition-in-file fspec type file)) + (pos (if start + (list :position (1+ start)) + (list :function-name (fspec-primary-name fspec))))) (make-location (list :file (namestring (truename file))) - (if start - (list :position (1+ start)) - (list :function-name (string (third info))))))) + pos))) ((member :top-level) (list :error (format nil "Defined at toplevel: ~A" fspec))) (null From heller at common-lisp.net Sat May 22 08:05:50 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 22 May 2004 04:05:50 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv6583 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Sat May 22 04:05:50 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.379 slime/ChangeLog:1.380 --- slime/ChangeLog:1.379 Fri May 21 17:30:25 2004 +++ slime/ChangeLog Sat May 22 04:05:50 2004 @@ -1,3 +1,14 @@ +2004-05-22 Helmut Eller + + * swank-allegro.lisp (fspec-primary-name): New function. + (find-fspec-location): Use it, if the start position cannot be + found. + + * slime.el (slime-pprint-event): New function. + (slime-log-event): Use it. + (slime-reindent-defun): Indent the form after point, if point is + in the first column an immediately before a #\(. + 2004-05-21 Bill Clementson * slime.el (slime-switch-to-output-buffer): Use "P" as interactive From heller at common-lisp.net Sat May 22 08:14:39 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 22 May 2004 04:14:39 -0400 Subject: [slime-cvs] CVS update: slime/swank-cmucl.lisp Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv12160 Modified Files: swank-cmucl.lisp Log Message: (arglist): Catch (reader) errors in read-arglist. Date: Sat May 22 04:14:39 2004 Author: heller Index: slime/swank-cmucl.lisp diff -u slime/swank-cmucl.lisp:1.103 slime/swank-cmucl.lisp:1.104 --- slime/swank-cmucl.lisp:1.103 Sun May 16 20:21:24 2004 +++ slime/swank-cmucl.lisp Sat May 22 04:14:39 2004 @@ -1269,7 +1269,8 @@ ((c::byte-function-or-closure-p fun) (byte-code-function-arglist fun)) ((kernel:%function-arglist (kernel:%function-self fun)) - (read-arglist fun)) + (handler-case (read-arglist fun) + (error () :not-available))) ;; this should work both for compiled-debug-function ;; and for interpreted-debug-function (t From heller at common-lisp.net Sat May 22 08:15:43 2004 From: heller at common-lisp.net (Helmut Eller) Date: Sat, 22 May 2004 04:15:43 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv8321 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Sat May 22 04:15:43 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.380 slime/ChangeLog:1.381 --- slime/ChangeLog:1.380 Sat May 22 04:05:50 2004 +++ slime/ChangeLog Sat May 22 04:15:42 2004 @@ -1,5 +1,8 @@ 2004-05-22 Helmut Eller + * swank-cmucl.lisp (arglist): Catch (reader) errors in + READ-ARGLIST. + * swank-allegro.lisp (fspec-primary-name): New function. (find-fspec-location): Use it, if the start position cannot be found. From mbaringer at common-lisp.net Sat May 22 11:20:44 2004 From: mbaringer at common-lisp.net (Marco Baringer) Date: Sat, 22 May 2004 07:20:44 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv6433 Modified Files: ChangeLog slime.el Log Message: 2004-05-22 Marco Baringer * slime.el (slime-repl-sayoonara): Added "quit" as an alias for sayoonara. Date: Sat May 22 07:20:43 2004 Author: mbaringer Index: slime/ChangeLog diff -u slime/ChangeLog:1.381 slime/ChangeLog:1.382 --- slime/ChangeLog:1.381 Sat May 22 04:15:42 2004 +++ slime/ChangeLog Sat May 22 07:20:42 2004 @@ -1,3 +1,8 @@ +2004-05-22 Marco Baringer + + * slime.el (slime-repl-sayoonara): Added "quit" as an alias for + sayoonara. + 2004-05-22 Helmut Eller * swank-cmucl.lisp (arglist): Catch (reader) errors in Index: slime/slime.el diff -u slime/slime.el:1.305 slime/slime.el:1.306 --- slime/slime.el:1.305 Sat May 22 03:59:26 2004 +++ slime/slime.el Sat May 22 07:20:42 2004 @@ -6082,7 +6082,7 @@ (slime-repl-send-input))) (:one-liner "Resend the last form.")) -(defslime-repl-shortcut slime-repl-sayoonara ("sayoonara") +(defslime-repl-shortcut slime-repl-sayoonara ("sayoonara" "quit") (:handler (lambda () (interactive) (when (slime-connected-p) From CSVVGJVUCHZXYT at msn.com Sun May 23 08:08:16 2004 From: CSVVGJVUCHZXYT at msn.com (Aisha Schmidt) Date: Sun, 23 May 2004 14:08:16 +0600 Subject: [slime-cvs] Get pre*scribed Va*lium, Xa*nax, cial^is, Vi*agra, Di*et Pi*lls and much more 0nline! 0ve*rnight Sh*ipping erosive bess bookbind rooseveltian breakwater british sift caravan diorite suspend destroy safety albumin atlas acts lockheed expiate cicero talkie linear diurnal belch rake ferromagnetism newlywed cooke betrothal Message-ID: An HTML attachment was scrubbed... URL: From GUTKMIYSXBXC at stud.uni-bayreuth.de Sun May 23 22:36:23 2004 From: GUTKMIYSXBXC at stud.uni-bayreuth.de (Margarita Duvall) Date: Sun, 23 May 2004 19:36:23 -0300 Subject: [slime-cvs] no more lying in applications - buy a degree from an accredited university here Message-ID: An HTML attachment was scrubbed... URL: From NBONBINQNF at telus.net Mon May 24 07:54:22 2004 From: NBONBINQNF at telus.net (Holly Finch) Date: Mon, 24 May 2004 06:54:22 -0100 Subject: [slime-cvs] The M.ortgage Information you wanted Message-ID: An HTML attachment was scrubbed... URL: From heller at common-lisp.net Mon May 24 16:10:51 2004 From: heller at common-lisp.net (Helmut Eller) Date: Mon, 24 May 2004 12:10:51 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv3295 Modified Files: slime.el Log Message: (slime-input-complete-p): Return nil for unbalanced sexps starting with quote ?', backquote ?`, or hash ?#. C-j can be used if Emacs gets the parsing wrong. Date: Mon May 24 12:10:51 2004 Author: heller Index: slime/slime.el diff -u slime/slime.el:1.306 slime/slime.el:1.307 --- slime/slime.el:1.306 Sat May 22 07:20:42 2004 +++ slime/slime.el Mon May 24 12:10:51 2004 @@ -424,7 +424,7 @@ "Return t if the region from START to END contains a complete sexp." (save-excursion (goto-char start) - (cond ((looking-at "\\s *(") + (cond ((looking-at "\\s *['`#]?(") (ignore-errors (save-restriction (narrow-to-region start end) From heller at common-lisp.net Mon May 24 16:14:12 2004 From: heller at common-lisp.net (Helmut Eller) Date: Mon, 24 May 2004 12:14:12 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv3754 Modified Files: ChangeLog Log Message: *** empty log message *** Date: Mon May 24 12:14:12 2004 Author: heller Index: slime/ChangeLog diff -u slime/ChangeLog:1.382 slime/ChangeLog:1.383 --- slime/ChangeLog:1.382 Sat May 22 07:20:42 2004 +++ slime/ChangeLog Mon May 24 12:14:12 2004 @@ -1,3 +1,9 @@ +2004-05-24 Helmut Eller + + * slime.el (slime-input-complete-p): Return nil for unbalanced + sexps starting with quote ?', backquote ?`, or hash ?#. C-j can + be used for more complicated cases. + 2004-05-22 Marco Baringer * slime.el (slime-repl-sayoonara): Added "quit" as an alias for From lgorrie at common-lisp.net Tue May 25 01:31:54 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Mon, 24 May 2004 21:31:54 -0400 Subject: [slime-cvs] CVS update: slime/slime.el Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv7777 Modified Files: slime.el Log Message: (slime-kill-without-query-p): Default to T. (sldb-highlight): Variable to control face-based highlighting of SLDB locations. (In Emacs21 the point is visible even in unselected windows, which is sufficient for me.) (sldb-show-location-recenter-arg): Argument to `recenter' when showing SLDB locations. Default to nil, i.e. location appears in the middle of the window. Date: Mon May 24 21:31:54 2004 Author: lgorrie Index: slime/slime.el diff -u slime/slime.el:1.307 slime/slime.el:1.308 --- slime/slime.el:1.307 Mon May 24 12:10:51 2004 +++ slime/slime.el Mon May 24 21:31:53 2004 @@ -132,7 +132,7 @@ If you want to fallback on TAGS you can set this to `find-tag'.") -(defvar slime-kill-without-query-p nil +(defvar slime-kill-without-query-p t "If non-nil, kill Slime processes without query when quitting Emacs.") @@ -4893,6 +4893,12 @@ ;;;;; SLDB commands +(defvar sldb-highlight t + "When non-nil use temporary face attributes to mark buffer expressions.") + +(defvar sldb-show-location-recenter-arg nil + "Argument to pass to `recenter' when displaying a source location.") + (defun sldb-default-action/mouse (event) "Invoke the action pointed at by the mouse." (interactive "e") @@ -4911,16 +4917,6 @@ (defun sldb-delete-overlays () (mapc #'delete-overlay sldb-overlays) (setq sldb-overlays '())) - -(defun sldb-highlight-sexp (&optional start end) - "Highlight the first sexp after point." - (sldb-delete-overlays) - (let ((start (or start (point))) - (end (or end (save-excursion (forward-sexp) (point))))) - (push (make-overlay start (1+ start)) sldb-overlays) - (push (make-overlay (1- end) end) sldb-overlays) - (dolist (overlay sldb-overlays) - (overlay-put overlay 'face 'secondary-selection)))) (defun sldb-frame-number-at-point () (let ((frame (get-text-property (point) 'frame))) @@ -4949,17 +4945,25 @@ (slime-show-source-location source-location))))))) (defun slime-show-source-location (source-location) - (save-selected-window - (slime-goto-source-location source-location) - (sldb-highlight-sexp) - (display-buffer (current-buffer) t) - (save-excursion - (beginning-of-line -4) - (let ((window (get-buffer-window (current-buffer) t)) - (pos (point))) - (set-window-start (get-buffer-window (current-buffer) t) (point)) - (select-window window) - (goto-char pos))))) + (slime-goto-source-location source-location) + (when sldb-highlight (sldb-highlight-sexp)) + (let ((position (point))) + (save-selected-window + (select-window (or (get-buffer-window (current-buffer) t) + (display-buffer (current-buffer) t))) + (goto-char position) + (unless (pos-visible-in-window-p) + (recenter sldb-show-location-recenter-arg))))) + +(defun sldb-highlight-sexp (&optional start end) + "Highlight the first sexp after point." + (sldb-delete-overlays) + (let ((start (or start (point))) + (end (or end (save-excursion (forward-sexp) (point))))) + (push (make-overlay start (1+ start)) sldb-overlays) + (push (make-overlay (1- end) end) sldb-overlays) + (dolist (overlay sldb-overlays) + (overlay-put overlay 'face 'secondary-selection)))) (defun sldb-toggle-details (&optional on) From lgorrie at common-lisp.net Tue May 25 01:33:27 2004 From: lgorrie at common-lisp.net (Luke Gorrie) Date: Mon, 24 May 2004 21:33:27 -0400 Subject: [slime-cvs] CVS update: slime/ChangeLog Message-ID: Update of /project/slime/cvsroot/slime In directory common-lisp.net:/tmp/cvs-serv11776 Modified Files: ChangeLog Log Message: Date: Mon May 24 21:33:27 2004 Author: lgorrie Index: slime/ChangeLog diff -u slime/ChangeLog:1.383 slime/ChangeLog:1.384 --- slime/ChangeLog:1.383 Mon May 24 12:14:12 2004 +++ slime/ChangeLog Mon May 24 21:33:24 2004 @@ -1,3 +1,13 @@ +2004-05-25 Luke Gorrie + + * slime.el (slime-kill-without-query-p): Default to T. + (sldb-highlight): Variable to control face-based highlighting of + SLDB locations. (In Emacs21 the point is visible even in unselected + windows, which is sufficient for me.) + (sldb-show-location-recenter-arg): Argument to `recenter' when + showing SLDB locations. Default to nil, i.e. location appears in + the middle of the window. + 2004-05-24 Helmut Eller * slime.el (slime-input-complete-p): Return nil for unbalanced