diff --git a/asdf.asd b/asdf.asd
index 06bab9e578659fc779240ab59e3222c61d33fe84..26bb02af6af48257454d7e1bf020b4b38753bbf5 100644
--- a/asdf.asd
+++ b/asdf.asd
@@ -75,7 +75,7 @@
   :licence "MIT"
   :description "Another System Definition Facility"
   :long-description "ASDF builds Common Lisp software organized into defined systems."
-  :version "3.1.4.3" ;; to be automatically updated by make bump-version
+  :version "3.1.4.4" ;; to be automatically updated by make bump-version
   :depends-on ()
   #+asdf3 :encoding #+asdf3 :utf-8
   :class #.(if (find-class 'package-inferred-system nil) 'package-inferred-system 'system)
diff --git a/bundle.lisp b/bundle.lisp
index 72f4a6ef396f2f83630357629ba8c2154652e730..b6d40edaa19bf41a7938d07c360ab62861d3164c 100644
--- a/bundle.lisp
+++ b/bundle.lisp
@@ -160,10 +160,10 @@ itself.")) ;; operation on a system and its dependencies
       ((member :dll :lib :shared-library :static-library :program :object :program)
        (compile-file-type :type bundle-type))
       ((member :image) #-allegro "image" #+allegro "dxl")
-      ((member :dll :shared-library) (cond ((os-macosx-p) "dylib") ((os-unix-p) "so") ((os-windows-p) "dll")))
-      ((member :lib :static-library) (cond ((os-unix-p) "a")
-                                           ((os-windows-p) (if (featurep '(:or :mingw32 :mingw64)) "a" "lib"))))
-      ((eql :program) (cond ((os-unix-p) nil) ((os-windows-p) "exe")))))
+      ((member :dll :shared-library) (os-cond ((os-macosx-p) "dylib") ((os-unix-p) "so") ((os-windows-p) "dll")))
+      ((member :lib :static-library) (os-cond ((os-unix-p) "a")
+                                              ((os-windows-p) (if (featurep '(:or :mingw32 :mingw64)) "a" "lib"))))
+      ((eql :program) (os-cond ((os-unix-p) nil) ((os-windows-p) "exe")))))
 
   (defun bundle-output-files (o c)
     (let ((bundle-type (bundle-type o)))
diff --git a/doc/index.html b/doc/index.html
index 6b3f65bc3627024ee2f45ac40c196a3179a5509b..a430cc9b917159f5d209739088dee20f95053baa 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -9,7 +9,7 @@
   <body>
     <div class="header">
       <span class="logo">
-        <a href="http://common-lisp.net/project/asdf/" title="ASDF Homepage">
+        <a href="https://common-lisp.net/project/asdf/" title="ASDF Homepage">
           <img src="lisp-logo120x80.png" title="ASDF homepage" width="100" alt="Lisp Lizzard" />
         </a>
       </span>
@@ -84,7 +84,7 @@
               call other programs and parse their output,
               compile Lisp code, muffle conditions, or configure Lisp software.
               See its
-              <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=uiop/README;hb=HEAD;js=1">README</a>.
+              <a href="https://gitlab.common-lisp.net/asdf/asdf/tree/master/uiop/README.md">README.md</a>.
             </p>
             <p><tt>uiop</tt> is distributed as part of the <tt>ASDF</tt>,
               its source code is transcluded in the single-file <tt>asdf.lisp</tt> being distributed
@@ -101,7 +101,7 @@
           For that, you want <a href="http://quicklisp.org/"><tt>Quicklisp</tt></a>,
           that builds upon ASDF, and is great for pulling and installing
           tarballs of packages you may depend upon;
-          we also recommend <a href="http://common-lisp.net/project/clbuild/"><tt>clbuild</tt></a>,
+          we also recommend <a href="https://common-lisp.net/project/clbuild/"><tt>clbuild</tt></a>,
           that now builds upon Quicklisp, as a great tool for pulling from version control
           packages you need to modify or want to contribute to.
           We recommend you should <em>not</em> use <tt>asdf-install</tt> anymore,
@@ -113,17 +113,17 @@
         </p><p>
           If you're unsatisfied with ASDF,
           beside helping with our
-          <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=TODO">TODO list</a>,
+          <a href="https://gitlab.common-lisp.net/asdf/asdf/tree/master/TODO">TODO list</a>,
           you might be interested in other build systems for Common-Lisp:
           <ul>
             <li>Alastair Bridgewater's small and simple one-package-per-file
               <a href="https://bugs.launchpad.net/asdf/+bug/1230368"><tt>quick-build</tt></a>
               (also reimplemented as the ASDF extension
-              <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-package-system.git"
+              <a href="https://gitlab.common-lisp.net/asdf/asdf-package-system"
                  ><tt>asdf-package-system</tt></a>; similar to <tt>faslpath</tt> below).
             </li>
             <li>Fran&ccedil;ois-Ren&eacute; Rideau's
-              <a href="http://common-lisp.net/project/xcvb/"><tt>XCVB</tt></a>
+              <a href="https://common-lisp.net/project/xcvb/"><tt>XCVB</tt></a>
               (building object and image files deterministically and in parallel,
               but not actively maintained since 2012;
               thanks to its new build model, ASDF 3 could conceivably be modified
@@ -182,8 +182,8 @@
             <th align="left">Will provide ASDF 3</th>
             <th align="left">Unmaintained</th></tr>
           <tr><th align="left">Free</th>
-            <td align="left"><tt>abcl ccl clisp cmucl ecl mkcl sbcl</tt></td>
-            <td align="left"><tt>clasp gcl</tt></td>
+            <td align="left"><tt>abcl ccl clasp clisp cmucl ecl mkcl sbcl</tt></td>
+            <td align="left"><tt>gcl</tt></td>
             <td align="left"><tt>mcl xcl</tt></td></tr>
           <tr><th align="left">Proprietary</th>
             <td align="left"><tt>allegro</tt></td>
@@ -192,7 +192,7 @@
         </table>
         <p>
           To deal with an implementation that doesn't yet provide ASDF 3,
-          we provide <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=tools/install-asdf.lisp">a script</a> that can install ASDF 3
+          we provide <a href="https://common-lisp.net/asdf/asdf/tree/master/tools/install-asdf.lisp">a script</a> that can install ASDF 3
           where your implementation goes looking for it
           when you <tt>(require "asdf")</tt> .
         </p><p>
@@ -246,7 +246,7 @@ XCL (Peter Graves) <gnooth@gmail.com>
           <li><a href="asdf.html">as one HTML file</a></li>
           <li><a href="asdf/">split into one HTML file per section</a></li>
           <li><a href="asdf.pdf">as a PDF document</a></li>
-          <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=doc/asdf.texinfo">as texinfo source</a></li>
+          <li><a href="https://gitlab.common-lisp.net/asdf/asdf/tree/master/doc/asdf.texinfo">as texinfo source</a></li>
         </ul>
         <p>Regarding the internal design of ASDF in general,
           and the work we did on ASDF 3,
@@ -254,7 +254,7 @@ XCL (Peter Graves) <gnooth@gmail.com>
           <cite><a href="http://fare.tunes.org/files/asdf3/asdf3-2014.html"
                    >ASDF 3, or Why Lisp is Now an Acceptable Scripting Language</a></cite>
           (<a href="http://fare.tunes.org/files/asdf3/asdf3-2014.pdf">PDF</a>,
-          <a href="http://github.com/fare/asdf3-2013">git</a>).
+          <a href="https://github.com/fare/asdf3-2013">git</a>).
           The shorter version (8 pages), submitted to
           <a href="http://www.european-lisp-symposium.org/">ELS 2014</a>,
           focuses on ASDF 3 and misses historical and technical information
@@ -270,7 +270,7 @@ XCL (Peter Graves) <gnooth@gmail.com>
           <a href="http://www.international-lisp-conference.org/2010/index">ILC 2010</a>,
           <cite><a href="ilc2010draft.pdf"
                    >Evolving ASDF: More Cooperation, Less Coordination</a></cite>
-          (<a href="http://common-lisp.net/gitweb?p=projects/asdf/ilc2010.git">git</a>).
+          (<a href="https://gitlab.common-lisp.net/asdf/ilc2010">git</a>).
         </p>
         <p>Finally, while the manual covers all the basics,
           some advanced or new features remain underdocumented.
@@ -289,59 +289,55 @@ XCL (Peter Graves) <gnooth@gmail.com>
         </p>
         <ul>
           <li>download just the latest <em>release</em> source for
-            <!--<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob_plain;tag=RELEASE;f=asdf.lisp">asdf.lisp</a>,-->
-            <a href="http://common-lisp.net/project/asdf/asdf.lisp">asdf.lisp</a>;
+            <a href="https://common-lisp.net/project/asdf/asdf.lisp">asdf.lisp</a>;
           </li>
           <li>download the latest <em>release</em>
-            <!--<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;tag=RELEASE;a=snapshot;sf=tgz">tarball</a>,-->
-            <a href="http://common-lisp.net/project/asdf/asdf.tar.gz">tarball</a>
+            <a href="https://common-lisp.net/project/asdf/asdf.tar.gz">tarball</a>
             to get all bells and whistles;
           </li>
           <li>pull the latest <em>development</em> tree from our git repository
-            <pre>git clone git://common-lisp.net/projects/asdf/asdf.git</pre>
+            <pre>git clone https://gitlab.common-lisp.net/asdf/asdf.git</pre>
             (note that our "master" branch is for current development;
             get our "release" branch for the latest stable release.
             Run <tt>make</tt> to create <tt>build/asdf.lisp</tt>);
           </li>
           <li>browse the latest <em>development</em> tree from our git
         repository:
-          <a href="http://common-lisp.net/gitweb/?p=asdf/asdf.git;a=summary;js=1">gitweb</a>
-            <!-- <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git">gitweb</a> -->
+          <a href="https://gitlab.common-lisp.net/asdf/asdf">gitlab</a>
           </li>
           <li>download the tarball of a past release:
-            <a href="http://common-lisp.net/project/asdf/archives/">archives</a>
+            <a href="https://common-lisp.net/project/asdf/archives/">archives</a>
         </li></ul>
 
         <a id="extensions"></a>
         <h3>Extensions</h3>
         <p>Known extensions to ASDF include:</p>
         <ul>
-          <li><a href="http://common-lisp.net/gitweb/?p=asdf/asdf-contrib.git"
+          <li><a href="https://gitlab.common-lisp.net/asdf/asdf-contrib"
                  ><tt>asdf-contrib</tt></a>,
             a collection of most of the below.</li>
-          <li><a href="http://common-lisp.net/gitweb/?p=asdf/asdf-encodings.git"
+          <li><a href="https://gitlab.common-lisp.net/asdf/asdf-encodings"
                  ><tt>asdf-encodings</tt></a>,
             to compile Lisp source files with character encodings other than UTF-8.</li>
-          <li><a href="http://common-lisp.net/gitweb/?p=asdf/asdf-finalizers.git"
+          <li><a href="https://gitlab.common-lisp.net/asdf/asdf-finalizers"
                  ><tt>asdf-finalizers</tt></a>,
             to allow macros to include code to be evaluated
             at the end of a file being compiled.</li>
           <li>
-            <!-- <a href="http://common-lisp.net/gitweb?p=projects/xcvb/asdf-dependency-grovel.git"> -->
-            <a href="http://common-lisp.net/gitweb/?p=xcvb/asdf-dependency-grovel.git;a=summary;js=1">
+            <a href="https://gitlab.common-lisp.net/xcvb/asdf-dependency-grovel">
             <tt>asdf-dependency-grovel</tt></a>,
             to compute the actual dependencies in a big ASDF system.</li>
-          <li><a href="http://common-lisp.net/project/qitab/"
+          <li><a href="https://common-lisp.net/project/qitab/"
                  ><tt>poiu</tt></a>,
             to compile a system in parallel.</li>
-          <li><a href="http://common-lisp.net/project/asdf-system-connections/"
+          <li><a href="https://common-lisp.net/project/asdf-system-connections/"
                  ><tt>asdf-system-connections</tt></a>,
             lets you specify systems that are automatically loaded when
             two other systems are loaded, to connect them.</li>
           <li><a href="http://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv"
                  ><tt>asdf-flv</tt></a>,
             to bind file-local variables around the compilation of some files.</li>
-          <li><a href="http://common-lisp.net/gitweb/?p=asdf/asdf-package-system.git"
+          <li><a href="http://gitlab.common-lisp.net/asdf/asdf-package-system"
                  ><tt>asdf-package-system</tt></a>,
             to compile Lisp source files with one package per file
             that also determines dependencies, in the style of
@@ -503,7 +499,7 @@ XCL (Peter Graves) <gnooth@gmail.com>
         <a class="nav" href="http://common-lisp.net/" title="Common-Lisp.net"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png" width="80" height="15" title="Common-Lisp.net" alt="Common-Lisp.net button" /></a>
         <p><span class="copyright"Copyright &copy; 2001-2014 Daniel Barlow and contributors</span></p>
         <p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p>
-        <div id="timestamp">Last updated 2014-10-10</div>
+        <div id="timestamp">Last updated 2015-03-28</div>
     </div>
   </body>
 </html>
diff --git a/header.lisp b/header.lisp
index 06095260dfb80bc3efdcc14e4802dcf0ec1478d9..eb7a3053e31c361ad758359897282d6c74a7916c 100644
--- a/header.lisp
+++ b/header.lisp
@@ -1,5 +1,5 @@
 ;;; -*- mode: Common-Lisp; Base: 10 ; Syntax: ANSI-Common-Lisp ; buffer-read-only: t; -*-
-;;; This is ASDF 3.1.4.3: Another System Definition Facility.
+;;; This is ASDF 3.1.4.4: Another System Definition Facility.
 ;;;
 ;;; Feedback, bug reports, and patches are all welcome:
 ;;; please mail to <asdf-devel@common-lisp.net>.
diff --git a/uiop/os.lisp b/uiop/os.lisp
index 1c5a9d92530bd85360188ddd5adacd42865e225f..173f61cfe1adccdbb8b62a990a06cb5e40be0cf3 100644
--- a/uiop/os.lisp
+++ b/uiop/os.lisp
@@ -7,6 +7,7 @@
   (:use :uiop/common-lisp :uiop/package :uiop/utility)
   (:export
    #:featurep #:os-unix-p #:os-macosx-p #:os-windows-p #:os-genera-p #:detect-os ;; features
+   #:os-cond
    #:getenv #:getenvp ;; environment variables
    #:implementation-identifier ;; implementation identifier
    #:implementation-type #:*implementation-type*
@@ -73,6 +74,10 @@ except on ABCL where it might change between FASL compilation and runtime."
            (return (or o (error "Congratulations for trying ASDF on an operating system~%~
 that is neither Unix, nor Windows, nor Genera, nor even old MacOS.~%Now you port it.")))))
 
+  (defmacro os-cond (&rest clauses)
+    #+abcl `(cond ,@clauses)
+    #-abcl (loop* :for (test . body) :in clauses :when (eval test) :return `(progn ,@body)))
+
   (detect-os))
 
 ;;;; Environment variables: getting them, and parsing them.
@@ -109,20 +114,19 @@ use getenvp to return NIL in such a case."
     #-(or abcl allegro clasp clisp clozure cmu cormanlisp ecl gcl genera lispworks mcl mkcl sbcl scl xcl)
     (error "~S is not supported on your implementation" 'getenv))
 
-
-    (defsetf getenv (x) (val)
+  (defsetf getenv (x) (val)
     "Set an environment variable."
       (declare (ignorable x val))
-    #+clisp `(system::setenv ,x ,val)
-    #+ecl `(ext:setenv ,x ,val)
     #+allegro `(setf (sys:getenv ,x) ,val)
+    #+clisp `(system::setenv ,x ,val)
     #+clozure `(ccl:setenv ,x ,val)
     #+cmu `(unix:unix-setenv ,x ,val 1)
+    #+ecl `(ext:setenv ,x ,val)
     #+lispworks `(hcl:setenv ,x ,val)
     #+mkcl `(mkcl:setenv ,x ,val)
     #+sbcl `(progn (require :sb-posix) (symbol-call :sb-posix :setenv ,x ,val 1))
-    #-(or allegro clisp clozure ecl lispworks mkcl sbcl cmu)
-    '(error "SETF ~S is not supported on your implementation" 'getenv))
+    #-(or allegro clisp clozure cmu ecl lispworks mkcl sbcl)
+    '(error "~S ~S is not supported on your implementation" 'setf 'getenv))
 
   (defun getenvp (x)
     "Predicate that is true if the named variable is present in the libc environment,
diff --git a/uiop/pathname.lisp b/uiop/pathname.lisp
index 19cbf132c82bfec8840ad08d823db9b95fdb1c10..74177b8e2982185d1d090285aed58e527787b7f2 100644
--- a/uiop/pathname.lisp
+++ b/uiop/pathname.lisp
@@ -404,9 +404,9 @@ For an empty type, *UNSPECIFIC-PATHNAME-TYPE* is returned."
     "Coerce NAME into a PATHNAME using standard Unix syntax.
 
 Unix syntax is used whether or not the underlying system is Unix;
-on such non-Unix systems it is only usable but for relative pathnames;
-but especially to manipulate relative pathnames portably, it is of crucial
-to possess a portable pathname syntax independent of the underlying OS.
+on such non-Unix systems it is reliably usable only for relative pathnames.
+This function is especially useful to manipulate relative pathnames portably,
+where it is of crucial to possess a portable pathname syntax independent of the underlying OS.
 This is what PARSE-UNIX-NAMESTRING provides, and why we use it in ASDF.
 
 When given a PATHNAME object, just return it untouched.
diff --git a/uiop/run-program.lisp b/uiop/run-program.lisp
index 1e43cd0c61893fff1a9b6bfa4237a69a0946bbca..7fdaf817f1b656f92aa2e7925883431d4030132e 100644
--- a/uiop/run-program.lisp
+++ b/uiop/run-program.lisp
@@ -104,7 +104,7 @@ for use within a POSIX Bourne shell, outputing to S."
 
   (defun escape-shell-token (token &optional s)
     "Escape a token for the current operating system shell"
-    (cond
+    (os-cond
       ((os-unix-p) (escape-sh-token token s))
       ((os-windows-p) (escape-windows-token token s))))
 
diff --git a/uiop/stream.lisp b/uiop/stream.lisp
index 9a6ceef2e10e1af854c64d441d4772a7d4400785..6c1840148b0c6893d4f34876bc08789de2eaa806 100644
--- a/uiop/stream.lisp
+++ b/uiop/stream.lisp
@@ -277,7 +277,7 @@ and return that"
   (defun null-device-pathname ()
     "Pathname to a bit bucket device that discards any information written to it
 and always returns EOF when read from"
-    (cond
+    (os-cond
       ((os-unix-p) #p"/dev/null")
       ((os-windows-p) #p"NUL") ;; Q: how many Lisps accept the #p"NUL:" syntax?
       (t (error "No /dev/null on your OS"))))
@@ -528,13 +528,13 @@ If a string, repeatedly read and evaluate from it, returning the last values."
 (with-upgradability ()
   (defun default-temporary-directory ()
     "Return a default directory to use for temporary files"
-    (or
-     (when (os-unix-p)
+    (os-cond
+      ((os-unix-p)
        (or (getenv-pathname "TMPDIR" :ensure-directory t)
            (parse-native-namestring "/tmp/")))
-     (when (os-windows-p)
+      ((os-windows-p)
        (getenv-pathname "TEMP" :ensure-directory t))
-     (subpathname (user-homedir-pathname) "tmp/")))
+      (t (subpathname (user-homedir-pathname) "tmp/"))))
 
   (defvar *temporary-directory* nil "User-configurable location for temporary files")
 
diff --git a/upgrade.lisp b/upgrade.lisp
index 640a5f3c05be5bee3e426fb79a28a73474870003..64c29772a4d0c24f59bf8891730cb10705173257 100644
--- a/upgrade.lisp
+++ b/upgrade.lisp
@@ -67,7 +67,7 @@ previously-loaded version of ASDF."
          ;; "3.4.5.67" would be a development version in the official branch, on top of 3.4.5.
          ;; "3.4.5.0.8" would be your eighth local modification of official release 3.4.5
          ;; "3.4.5.67.8" would be your eighth local modification of development version 3.4.5.67
-         (asdf-version "3.1.4.3")
+         (asdf-version "3.1.4.4")
          (existing-version (asdf-version)))
     (setf *asdf-version* asdf-version)
     (when (and existing-version (not (equal asdf-version existing-version)))
diff --git a/version.lisp-expr b/version.lisp-expr
index 7901198b04121d263c016814ca7c61a8d6605976..813a228d38fc368f9d7a077105d5d4531902b9f8 100644
--- a/version.lisp-expr
+++ b/version.lisp-expr
@@ -1,2 +1,2 @@
-"3.1.4.3"
+"3.1.4.4"