[slime-cvs] CVS update: slime/slime.el

Helmut Eller heller at common-lisp.net
Sun Jul 3 15:49:54 UTC 2005


Update of /project/slime/cvsroot/slime
In directory common-lisp.net:/tmp/cvs-serv20786

Modified Files:
	slime.el 
Log Message:
(next-single-char-property-change)
(previous-single-char-property-change) [xemacs]: Only define them if
not present.  
(next-char-property-change, previous-char-property-change): Define if
needed.

(slime-start-swank-server): Send an extra newline before the
"(swank:start-server ...".  I don't know why, but this seems to fix
the problem when starting CLISP/Win32.  Interrupting CLISP/W32 is
still horribly broken.

Date: Sun Jul  3 17:49:54 2005
Author: heller

Index: slime/slime.el
diff -u slime/slime.el:1.510 slime/slime.el:1.511
--- slime/slime.el:1.510	Sat Jul  2 19:49:18 2005
+++ slime/slime.el	Sun Jul  3 17:49:54 2005
@@ -1418,9 +1418,9 @@
   "Start a Swank server on the inferior lisp."
   (let* ((encoding (slime-coding-system-cl-name slime-net-coding-system))
          (file (slime-to-lisp-filename (slime-swank-port-file))))
-    (comint-send-string process 
-                        (format "(swank:start-server %S :external-format %s)\n"
-                                file encoding))))
+    (comint-send-string 
+     process (format "\n(swank:start-server %S :external-format %s)\n"
+                     file encoding))))
 
 (defun slime-swank-port-file ()
   "Filename where the SWANK server writes its TCP port number."
@@ -9096,16 +9096,7 @@
 ;;;;; Portability library
 
 (when (featurep 'xemacs)
-  (require 'overlay)
-  (defun next-single-char-property-change (&rest args)
-    (or (apply 'next-single-property-change args)
-        (point-max)))
-  (defun previous-single-char-property-change (&rest args)
-    (or (apply 'previous-single-property-change args)
-        (point-min)))
-  (unless (fboundp 'string-make-unibyte)
-    (defalias 'string-make-unibyte #'identity))
-  )
+  (require 'overlay))
 
 (eval-when (compile eval)
   (defmacro slime-defun-if-undefined (name &rest rest)
@@ -9156,6 +9147,19 @@
                                 (get-char-property (1- pos) prop object))) 
                     return pos))))))))
 
+(slime-defun-if-undefined next-char-property-change (position &optional limit)
+  (let ((tmp (next-overlay-change position)))
+    (when tmp
+      (setq tmp (min tmp limit)))
+    (next-property-change position nil tmp)))
+
+(slime-defun-if-undefined previous-char-property-change 
+    (position &optional limit)
+  (let ((tmp (previous-overlay-change position)))
+    (when tmp
+      (setq tmp (max tmp limit)))
+    (previous-property-change position nil tmp)))
+        
 (slime-defun-if-undefined substring-no-properties (string &optional start end)
   (let* ((start (or start 0))
 	 (end (or end (length string)))




More information about the slime-cvs mailing list