           (author-width svn-status-default-author-width)
           (svn-marks-length (if (and svn-status-verbose svn-status-remote)
                                 8 6))
-          (dir-set '(".")))
+          (dir-set '("."))
+          (externals-map (make-hash-table :test 'equal))
+          (next-is-first-line-of-external-list nil))
       (set-buffer svn-process-buffer-name)
       (setq svn-status-info nil)
       (run-hooks 'svn-pre-parse-status-hook)

            (setq path (match-string 1)
                  local-rev -1
                  last-change-rev -1
                  author (if (eq svn-file-mark 88) "" "?"))) ;clear author of svn:externals dirs
           (t
            (error "Unknown status line format")))
          (unless path (setq path "."))

          ;;  not contain dir!
          ;; so we should merge lines 'X dir' with ' dir', but for now
          ;; we just leave both in the results

          ;; My attempt to merge the lines uses next-is-first-line-of-external-list
          ;; and externals-map
          (setq next-is-first-line-of-external-list t)
          nil)
         (t
          (setq svn-marks (buffer-substring (point) (+ (point) svn-marks-length))
