anchor.diff:    (if (getf *options* :verbose)
         (progn
           (log:config :debug)
  -        (format t "Arguments parsed: ~a and ~a~&" *options* free-args))
  +        (format t "Arguments parsed: ~a and ~a~&" *options* urls))
         (log:config :pattern "<%p> [%D{%H:%M:%S}] %m%n"))
   
     (cond
  
positive.code:   (opts:describe)
    (uiop:quit))
  
  (defun parse-cli-args ()
    "Parse command line arguments."
    (opts:define-opts
      (:name :help
             :description "Print this help and exit."
             :short #\h
  
negative.code:         (uiop:quit))))
  
  (export-always 'start)
  (define-function start `(urls &rest options
                                &key ,@(mapcar (alex:compose #'intern
                                                             #'symbol-name
                                                             #'opts::name)
                                               opts::*options*))
    "Start the browser, loading URLs if any.
  URLs is a list of strings.
  The OPTIONS are the same as the command line options.
  
  Examples:
  
  - Display version and return immediately:
    (nyxt:start :version t)
  
  - Start the browser with increased verbosity, a different history data path and
    open the given URLs.
    (nyxt:start '(\"https://nyxt.atlas.engineer\" \"https://en.wikipedia.org\")
                :verbose t :with-path '(\"history\" \"/tmp/nyxt/history.lisp\"))"
    ;; Options should be accessible anytime, even when run from the REPL.
    (setf *options* options)
  
  