anchor.diff:  	  ((not (string= new-password confirm-password)) (err "cpw"))
             ((check-password password *account*)
              (let ((salt     (make-random-string 50)))
  -	     (update-account account
  +	     (update-account *account*
   			     account-password-digest (password-digest new-password salt)
   			     account-password-salt   salt))
   	   #/site/preferences-ok?what=Password)
  
positive.code:   (if *account*
        (progn
  	#H[<h3>Change account preferences</h3>
  	<h2>Change password</h2>
          <form id="changepassword" class="prefs" method="post"
                action="$(#/site/change-password)">
          <dl>]
            (maybe-show-form-error error "npw" "Bad password")
            #H[<dt><label for="new-password">New password:</label></dt>
            <dd><input class="regin" type="password" name="new-password" title="new password" /></dd>]
  	  (maybe-show-form-error error "cpw" "Different passwords")
            #H[<dt><label for="confirm-password">New password:</label></dt>
            <dd><input class="regin" type="password" name="confirm-password" title="confirm password" /></dd>]
  	  (maybe-show-form-error error "opw" "Wrong password")
            #H[<dt><label for="password">Old password:</label></dt>
            <dd><input class="regin" type="password" name="password" /></dd>
            <dt /><dd><input type="submit" value="change password" /></dd>
          </dl>
        </form>]
  
        <h2>Change email</h2>
        #H[<form id="changemail" class="prefs" method="post"
                action="$(#/site/change-email)">
          <dl>]
            (maybe-show-form-error error "email" "Bad email address")
            #H[<dt><label for="email">New email:</label></dt>
  
negative.code:           <dd><input class="regin" type="password" name="password" /></dd>
            <dt /><dd><input type="submit" value="change email" /></dd>
          </dl>
  	</fieldset>
  	</form>])
        (redirect #/)))
  
  ;;; moderation
  