From a24d3d7d2a01b08f80e22ee812ea652f72641ab7 Mon Sep 17 00:00:00 2001
From: Francois-Rene Rideau <tunes@google.com>
Date: Mon, 28 Oct 2013 16:42:19 -0400
Subject: [PATCH] Require ASDF or UIOP 3.0.3 for its new RUN-PROGRAM

---
 inferior-shell.asd |  5 +++--
 pkgdcl.lisp        |  6 ++----
 utilities.lisp     | 16 ----------------
 3 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/inferior-shell.asd b/inferior-shell.asd
index 6aeb499..5389f9a 100644
--- a/inferior-shell.asd
+++ b/inferior-shell.asd
@@ -1,8 +1,9 @@
 ;;; -*- Lisp -*-
 
 (defsystem :inferior-shell
-  :defsystem-depends-on (:asdf #-asdf3 :asdf-driver)
-  :depends-on (#-asdf3 :asdf-driver #+sbcl :sb-posix
+  :defsystem-depends-on (:asdf #-asdf3 :uiop)
+  :depends-on ((:version #+asdf3 :asdf #-asdf3 :uiop "3.0.3")
+               #+sbcl :sb-posix
                :alexandria :optima
                :fare-utils :fare-quasiquote-extras :fare-mop)
   :description "spawn local or remote processes and shell pipes"
diff --git a/pkgdcl.lisp b/pkgdcl.lisp
index ab1f9d0..a4143a2 100644
--- a/pkgdcl.lisp
+++ b/pkgdcl.lisp
@@ -1,9 +1,7 @@
 #+xcvb (module ())
 
-(in-package :cl)
-
-(asdf/package:define-package :inferior-shell
-  (:mix :fare-utils :alexandria :asdf/driver)
+(uiop/package:define-package :inferior-shell
+  (:mix :fare-utils :uiop :alexandria)
   (:use :cl :optima :named-readtables :fare-mop)
   (:export
    #:run #:run/s #:run/ss #:run/lines
diff --git a/utilities.lisp b/utilities.lisp
index aa564a9..be8e0a2 100644
--- a/utilities.lisp
+++ b/utilities.lisp
@@ -40,22 +40,6 @@
   (with-input-from-string (stream string)
     (do-stream-lines fun stream)))
 
-(defvar *cr* (coerce #(#\cr) 'string))
-(defvar *lf* (coerce #(#\newline) 'string))
-(defvar *crlf* (coerce #(#\cr #\newline) 'string))
-
-(defun stripln (x)
-  (check-type x string)
-  (let* ((len (length x))
-         (endlfp (equal (last-char x) #\linefeed))
-         (endcrlfp (and endlfp (<= 2 len) (eql (char x (- len 2)) #\return)))
-         (endcrp (equal (last-char x) #\return)))
-    (cond
-      (endlfp (values (subseq x 0 (- len 1)) *lf*))
-      (endcrp (values (subseq x 0 (- len 1)) *cr*))
-      (endcrlfp (values (subseq x 0 (- len 2)) *crlf*))
-      (t (values x nil)))))
-
 (defun read-line* (&optional (stream *standard-input*) eof-error-p eof-value recursive-p cr lf)
   "Similar to READ-LINE, this function also returns as additional values the state about
 whether CR or LF were read. CR, LF and CR+LF are accepted only.
-- 
GitLab