anchor.diff:                        (log4cl-error "Invalid LOG-CONFIG keyword ~s" arg))
                        (t (log4cl-error
                            "Don't know what do with argument ~S" arg))))))))
  +    (setq
  +     pattern-specified-p (or pattern oneline twoline thread
  +                             ndc file file2 time notime
  +                             pretty nopretty)
  +     appender-specified-p (or daily sane console))
  +    
       (or logger (setq logger *root-logger*))
  -    (or level sane clear daily properties own noown console
  -        (log4cl-error "A log level or one of :SANE :CLEAR :OWN :ADDITIVE :DAILY :CONSOLE or :PROPERTIES must be specified"))
  +    (or level sane clear daily properties own noown console pattern-specified-p
  +        (log4cl-error "Bad combination of options"))
       (or (not properties)
  -        (not (or sane daily console level))
  -        (log4cl-error ":PROPERTIES can't be used with :SANE :DAILY :PATTERN or log level"))
  +        (not (or sane daily console level pattern-specified-p))
  +        (log4cl-error ":PROPERTIES can't be used with other options"))
       (if (and pattern
  -             (or twoline oneline file file2 nofile time notime))
  -        (error ":PATTERN is not compatible with other pattern related flags"))
  -    (unless (or daily sane console)
  -      (when (or pattern twoline oneline
  -                file file2 nofile time notime)
  -        (error "Flags related to pattern can only be specified together with :SANE, :DAILY or :CONSOLE")))
  +             (or twoline oneline file file2 nofile time notime
  +                 thread ndc pretty nopretty))
  +        (error ":PATTERN isn't  compatible with built-in pattern selection flags"))
  +    ;; ZZZ
  +    ;; Then if specified daily/console/sane/etc, create new appender
  +    ;; otherwise go change layout on existing appenders, or self
  +    (when (or appender-specified-p pattern-specified-p)
  +      (setq layout (make-instance 'pattern-layout
  +                    :conversion-pattern
  +                    (or pattern (figure-out-pattern
  +                                 :oneline (if (or oneline twoline) oneline t)
  +                                 :twoline (if (or oneline twoline) twoline nil)
  +                                 :time (if (or time notime) time t)
  +                                 :file (if (or file file2 nofile) file t)
  +                                 :file2 (if (or file file2 nofile) file2 nil)
  +                                 :pretty pretty
  +                                 :nopretty nopretty
  +                                 :thread thread
  +                                 :ndc ndc)))))
       (when (and own (eq logger *root-logger*))
         (error "Can't set root logger non-additive"))
       (when level
  
positive.code:                :backup-name-format (format nil "~a.%Y%m%d" daily)
                 :layout layout)
                appenders))
        ;; create console appender
        (when (or (and sane (not daily))
                  console)
          (push
  
negative.code:  :NOADDITIVE   |
   :ADDITIVE     | Sets additive flag back
  ---------------|---------------------------------------------------------------
   :CLEAR        | Unset log level from all child loggers, and remove any
                 | appenders from them, except the ones with non-additive flag
  ---------------|---------------------------------------------------------------
   :ALL          | Changes :CLEAR to process non-additive loggers
  ---------------|---------------------------------------------------------------
   :SELF         | Configures the LOG4CL-IMPL logger, which can be used to debug
                 | Log4CL itself.
  