[slime-cvs] CVS slime
heller
heller at common-lisp.net
Tue Aug 28 22:03:26 UTC 2007
Update of /project/slime/cvsroot/slime
In directory clnet:/tmp/cvs-serv7063
Modified Files:
ChangeLog slime.el swank.lisp
Log Message:
Fix some output related bugs.
* swank.lisp (send-repl-results-to-emacs): Emit a fresh line.
* slime.el (slime-insert-transcript-delimiter): Use
insert-before-markers since slime-output-end is no longer left
inserting. Reported by Austin Haas <austin at pettomato.com>.
--- /project/slime/cvsroot/slime/ChangeLog 2007/08/28 22:00:48 1.1182
+++ /project/slime/cvsroot/slime/ChangeLog 2007/08/28 22:03:26 1.1183
@@ -1,3 +1,19 @@
+2007-08-28 Helmut Eller <heller at common-lisp.net>
+
+ Fix some output related bugs.
+
+ * swank.lisp (send-repl-results-to-emacs): Emit a fresh line.
+
+ * slime.el (slime-insert-transcript-delimiter): Use
+ insert-before-markers since slime-output-end is no longer left
+ inserting. Reported by Austin Haas <austin at pettomato.com>.
+
+2007-08-28 Helmut Eller <heller at common-lisp.net>
+
+ * slime.el (slime-display-or-scroll-completions,
+ slime-scroll-completions): New functions. Factored out of
+ slime-expand-abbreviations-and-complete.
+
2007-08-28 Matthias Koeppe <mkoeppe at mail.math.uni-magdeburg.de>
* slime.el (slime-repl-write-string): Handle arbitrary targets
@@ -11,7 +27,7 @@
* swank.lisp (classify-symbol, symbol-classification->string):
Resurrected in swank.lisp. (I was bitten by cvs-pcl which
committed (2007-08-27) my locally changed `contribs/swank-fuzzy.lisp'
- where I already removed these functions from.)
+ where I already removed these functions from.)
2007-08-28 Tobias C. Rittweiler <tcr at freebits.de>
@@ -20,7 +36,7 @@
* swank.lisp (read-form-spec): Unintern just newly interned
symbols when an reader error occurs.
-
+
2007-08-28 Helmut Eller <heller at common-lisp.net>
Move presentations to contrib. Part II.
--- /project/slime/cvsroot/slime/slime.el 2007/08/28 22:00:20 1.834
+++ /project/slime/cvsroot/slime/slime.el 2007/08/28 22:03:26 1.835
@@ -5491,6 +5491,23 @@
(setq slime-completions-window
(get-buffer-window slime-completions-buffer-name)))))
+(defun slime-display-or-scroll-completions (completions base)
+ (cond ((and (eq last-command this-command)
+ (slime-completion-window-active-p))
+ (slime-scroll-completions))
+ (t
+ (slime-display-completion-list completions base)))
+ (slime-complete-delay-restoration))
+
+(defun slime-scroll-completions ()
+ (let ((window slime-completions-window))
+ (with-current-buffer (window-buffer window)
+ (if (pos-visible-in-window-p (point-max) window)
+ (set-window-start window (point-min))
+ (save-selected-window
+ (select-window window)
+ (scroll-up))))))
+
(defun slime-complete-symbol ()
"Complete the symbol at point.
@@ -5532,19 +5549,8 @@
(when (member completed-prefix completion-set)
(slime-minibuffer-respecting-message
"Complete but not unique"))
- (if (and (eq last-command this-command)
- (slime-completion-window-active-p))
- ;; Scroll the completions window only
- (let ((window slime-completions-window))
- (with-current-buffer (window-buffer window)
- (if (pos-visible-in-window-p (point-max) window)
- (set-window-start window (point-min) nil)
- (let ((other-window-scroll-buffer
- (window-buffer window)))
- (scroll-other-window))))) ; madhu
- (slime-display-completion-list completion-set
- completed-prefix)
- (slime-complete-delay-restoration)))))))
+ (slime-display-or-scroll-completions completion-set
+ completed-prefix))))))
(defun slime-complete-symbol*-fancy-bit ()
"Do fancy tricks after completing a symbol.
@@ -5588,10 +5594,10 @@
(slime-complete-restore-window-configuration))
;; Incomplete
(t
- (slime-minibuffer-respecting-message
+ (slime-minibuffer-respecting-message
"Complete but not unique")
- (slime-display-completion-list completions partial)
- (slime-complete-delay-restoration))))))))
+ (slime-display-or-scroll-completions completions
+ partial))))))))
(defun slime-maybe-complete-as-filename ()
"If point is at a string starting with \", complete it as filename.
@@ -5982,13 +5988,13 @@
(defun slime-insert-transcript-delimiter (string)
(with-current-buffer (slime-output-buffer)
(slime-with-output-end-mark
- (unless (bolp) (insert "\n"))
- (slime-insert-propertized
- '(slime-transcript-delimiter t)
- ";;;; " (subst-char-in-string ?\n ?\
- (substring string 0
- (min 60 (length string))))
- " ...\n"))))
+ (unless (bolp) (insert-before-markers "\n"))
+ (slime-propertize-region '(slime-transcript-delimiter t)
+ (insert-before-markers
+ ";;;; " (subst-char-in-string ?\n ?\
+ (substring string 0
+ (min 60 (length string))))
+ " ...\n")))))
(defun slime-display-buffer-region (buffer start end &optional other-window)
"Like `display-buffer', but only display the specified region."
--- /project/slime/cvsroot/slime/swank.lisp 2007/08/28 21:13:57 1.505
+++ /project/slime/cvsroot/slime/swank.lisp 2007/08/28 22:03:26 1.506
@@ -2936,6 +2936,8 @@
(package-string-for-prompt *package*)))))))
(defun send-repl-results-to-emacs (values)
+ (fresh-line)
+ (finish-output)
(if (null values)
(send-to-emacs `(:write-string "; No value" :repl-result))
(dolist (v values)
More information about the slime-cvs
mailing list