anchor.diff:  
   (defmacro nyxt::use-nyxt-package-nicknames (&optional (package *package*))
     `(eval-when (:compile-toplevel :load-toplevel :execute)
  -     (dolist (package (trivial-package-local-nicknames:package-local-nicknames :nyxt))
  -       (trivial-package-local-nicknames:add-package-local-nickname (first package) (package-name (rest package))
  -                                                                   (find-package ,package)))))
  +     (let ((*package* (find-package ,package)))
  +       (dolist (pkgs (trivial-package-local-nicknames:package-local-nicknames :nyxt))
  +         (trivial-package-local-nicknames:add-package-local-nickname (first pkgs) (package-name (rest pkgs))
  +                                                                     (find-package ,package))))))
   
   (serapeum:export-always 'define-package :nyxt)
   (defmacro define-package (name &rest options)
  
positive.code: 
  It's recommended to use the `nyxt-user' package instead to create new functions,
  modes, commands, etc."))
  
  (in-package :nyxt)
  (defvar *imports* '((:trivia :match :multiple-value-match :lambda-match :guard)
  
negative.code: 
  ;; Some compilers (e.g. SBCL) fail to reload the system with `defpackage' when
  ;; exports are spread around.  `uiop:define-package' does not have this problem.
  
  #+sb-package-locks
  (serapeum:eval-always
    (when (find-package :nyxt)
      (sb-ext:unlock-package :nyxt)))
  
  (uiop:define-package nyxt
    (:use #:common-lisp)
  