anchor.diff:  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   
   (defun compute-user-login-name ()
  -  (restas:with-submodule-context (gethash 'rulisp-auth *submodules*)
  -    (restas.simple-auth::compute-user-login-name)))
  +  (labels ((rulisp (submodule)
  +             (if (eql (restas:submodule-module submodule)
  +                      #.*package*)
  +                 submodule
  +                 (rulisp (restas:submodule-parent submodule)))))
  +    (restas:with-submodule-context (restas:find-submodule 'rulisp-auth (rulisp restas:*submodule*))
  +      (restas.simple-auth::compute-user-login-name))))
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;; rulisp templates
  
positive.code: 
  ;;;; Russian Lisp Planet
  
  (restas:define-submodule rulisp-planet (#:restas.planet)
    (restas.planet:*baseurl* '("planet"))
    (restas.planet:*suggest-mail* "archimag@lisper.ru")
    (restas.planet:*feeds* (merge-pathnames "planet-feeds.lisp" *rulisp-path*))
  
negative.code: 
  ;;;; articles
  
  (restas:mount-submodule rulisp-articles (#:restas.wiki)
    (restas.wiki:*baseurl* '("articles"))
    (restas.wiki:*index-page-title* "Статьи")
    (restas.wiki:*storage* (make-instance 'restas.wiki:file-storage
  