anchor.diff:        ((and objs (eql dot-mode :find-all))
          (send-to-char ch "Go to the dump if you want to junk EVERYTHING!~%"))
         (objs
  -       (loop
  -          for obj-sublist on objs
  -          as obj = (first obj-sublist)
  -          as next-obj = (second obj-sublist)
  -          as counter from 1
  -          do
  -          (if (perform-drop ch obj :junk "junk" (in-room-of ch) nil)
  -              (when (or (null next-obj)
  -                        (string/= (name-of next-obj) (name-of obj)))
  -                (cond
  -                  ((= counter 1)
  -                   (act ch :item obj :all-emit "$n junk$% $p."))
  -                  ((plusp counter)
  -                   (act ch :item obj
  -                        :all-emit (format nil "$n junk$% $p. (x~d)" counter))))
  -                (setf counter 0))
  -              (setf counter 0))))
  +       (perform-drop ch objs :junk))
         ((eql dot-mode :find-all)
          (send-to-char ch "You don't seem to be carrying anything.~%"))
         (t
  
positive.code:   (let* ((objs (get-matching-objects ch thing (carrying-of ch)))
           (wear-objs (delete nil
                              (mapcar (lambda (obj)
                                        (let ((pos (find-eq-pos ch obj)))
                                          (when pos
                                            (cons obj pos))))
                                      objs))))
  
negative.code:          (act nil :item obj
                :place-emit "$p falls from the sky and lands by your feet.")))
        (:donate
         (let ((dest-room (real-room
                           (random-elt '(3032
                                         30032
                                         5510
                                         20470
                                         63102
                                         22942
                                         22807)))))
           (obj-to-room obj dest-room)
           (when (people-of dest-room)
             (act (first (people-of dest-room)) :item obj
                  :place-emit "$p suddenly appears in a puff of smoke!"))))
        (:junk
         (extract-obj obj)))
      t))
  
  (defun perform-drop (ch objects mode)
    (loop
       for obj-sublist on (copy-list objects)
       as obj = (first obj-sublist)
       as next-obj = (second obj-sublist)
       as counter from 1
       do
         (if (perform-single-drop ch obj mode)
             (when (or (null next-obj)
                       (string/= (name-of next-obj) (name-of obj)))
               (cond
                 ((= counter 1)
                  (act ch :item obj :all-emit (format nil "$n ~(~a~)$% $p." mode)))
                 ((plusp counter)
                  (act ch :item obj
                       :all-emit (format nil "$n ~(~a~)$% $p. (x~d)" mode counter))
                  (setf counter 0))))
             (setf counter 0))))
  
  (defun find-eq-pos (obj)
    (cdr
     (find-if (lambda (tuple)
                (can-wear obj (car tuple)))
  