                                                           to-pos)
             )
       (while (car current-tagspec)
+        ;; Prepend each new tag pair.  Since we're searching outward, this
+        ;; builds `analysis-cache-working' in depth-descending order.
         (setq analysis-cache-working
               (cons current-tagspec analysis-cache-working)
               )
+        ;;  Note the backward/forward offsetting by one character from the
+        ;;  positions of the last start/end tags.
         (setq current-tagspec 
               (jpw-phpBB-tag-find-enclosing (1- (caadr current-tagspec))
                                             (1+ (cadadr current-tagspec))

  )


(defun jpw-phpBB-tag-analysis ()
  "Search forward and backward from `point' to see what tags we're enclosed
in.  Each pair is the position of the start tag and end tag, respectively.
The list of pairs is built from the inside-out.  The results are stored in the
variable `jpw-phpBB-tag-analysis-cache'.

So, `\(car \(caadr \(jpw-phpBB-tag-analysis-cache\)\)\)' would return the
position of the outermost start tag.

      ) ;;end excursion

    ;; Lastly, append the working analysis cache to the remnant of the old
    ;; cache (both of which are in depth-descending order).  This will also
    ;; make the contents of the cache the expression to which this defun
    ;; evals.
    (setq jpw-phpBB-tag-analysis-cache 
          (nconc jpw-phpBB-tag-analysis-cache analysis-cache-working))
    );;end let
