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: 
      (when (or (getf options :load)
                (getf options :eval))
        (unless (getf options :no-init)
          (load-lisp (init-file-path) :interactive nil :package (find-package :next-user)))
        ;; We need a browser instance so that listen-socket-p can know the socket path.
        ;; TODO: Use (get-default ...) instead?  Ideally, socket could also
  
negative.code:     (setf *keep-alive* nil)             ; Not a REPL.
      (start :urls free-args)))
  
  (defun init-file-path (&key (default-basename "init.lisp"))
    "Return the path of the initialization file."
    ;; This can't be a regular variable or else the value will be hard-coded at
    ;; compile time, even with (eval-when (:execute) ...
    (match (getf *options* :init)
      (nil (xdg-config-home default-basename))
      ("" nil)
      (file file)))
  
  (defparameter *load-init-error-message* "Error: Could not load the init file")
  (defparameter *load-init-type-error-message* (str:concat *load-init-error-message*
  