anchor.diff:  
   (export-always 'start)
   (defun start (&key urls (init-file (init-file-path)))
  -  "Start Next and load URLS if any. A new `*browser*' is
  -   instantiated. The platform port is automatically started if
  -   needed. Finally, run the `*after-init-hook*'."
  +  "Load INIT-FILE if non-nil.
  +Instantiate `*browser*'.
  +Start Next and load URLS if any.
  +Finally,run the `*after-init-hook*'."
     (let ((startup-timestamp (local-time:now))
           (startup-error-reporter nil))
       (format t "Next version ~a~&" +version+)
       (setf *session* (derive-session *session*))
  -    (unless (getf *options* :no-init)
  +    (unless (or (getf *options* :no-init)
  +                (not init-file))
         (handler-case
             (load-lisp init-file :interactive t :package (find-package :next-user))
           (error (c)
  
positive.code:     (setf *keep-alive* nil)             ; Not a REPL.
      (start :urls free-args)))
  
  (defun init-file-path (&optional (filename "init.lisp"))
    "The path where the system will look to load an init file from. This
     can't be a regular variable or else the value will be hard-coded at
     compile time.  It seems to be hard-coded with (eval-when (:execute)
     ...) as well."
    (or (getf *options* :init)
        (xdg-config-home filename)))
  
  (defparameter *load-init-error-message* "Error: Could not load the init file")
  (defparameter *load-init-type-error-message* (str:concat *load-init-error-message*
  
negative.code: 
  (declaim (ftype (function (trivial-types:pathname-designator &key (:interactive t) (:package (or null package))))
                  load-lisp))
  (defun load-lisp (file &key interactive package) ; TODO: Replace `interactive' with `*keep-alive*'.
    "Load the Lisp FILE (or stream).
     If FILE is \"-\", read from the standard input.
     If INTERACTIVE is t, allow the debugger on errors. If :running, show
  