OSCOLA BibLaTeX not recognizing repeated listing of author in bibliography

I am using the OSCOLA BibLaTeX style file. In the bibliography, when citing the same author more than once, the author's name should be replaced with a double em-dash. The file generally handles this correctly. (It does not seem to identify repeated authors when there is a mix of single and co-authored works, but that is not my issue.)

It seems that for specific types of references, it does not identify that the author is repeated. This is a minimal working example. First, a .bib file:

@phdthesis{Author2002,  Author = {Author, An},  School = {Department of Something, University College Somewhere},   Title = {A PhD thesis}, Year = {2002}}

@article{Author2003,    Author = {Author, An}, Journal = {Some Journal}, Number = {2}, Pages = {163}, Title = {An Article},Volume = {27}, Year = {2003}}

@incollection{Author2009,   Author = {Author, An},  Booktitle = {Some Book},    Publisher = {Some Publisher}, Title = {Book Chapter}, Year = {2009}}

@article{Author2013,    Author = {Author, An},Journal = {Another Journal},Number = {1},Pages = {55--69},Title = {Another Journal Article},  Volume = {45}, Year = {2013}}


And the .tex file:

\documentclass[12pt, a4paper]{article}
\usepackage[style=british]{csquotes}
\usepackage[style=oscola,   ibidtracker=true,          backend=biber,       autolang=hyphen]{biblatex}

\title{Test Document}

\begin{document}
\maketitle
First citation.\autocite[66]{Author2013}
Second citation.\autocite[31--2]{Author2002}
Third citation.\autocite{Author2009}
\printbibliography[nottype=commentary,nottype=jurisdiction,nottype=legislation,nottype=misc,nottype=legal]
\end{document}


The bibliography looks like this, at least on my system:

Author A, ‘A PhD thesis’ (PhD thesis, Department of Something, University College Somewhere 2002).

Author A, ‘Book Chapter’ in Some Book (Some Publisher 2009).

— ‘Another Journal Article’ (2013) 45(1) Another Journal 55.

The author name in the book chapter reference should be — but it is not. If I change the type of the first reference to be a book or article, I get the correct output. Does anyone have any idea how to fix this issue?

This is caused by an error in oscola's driver for the thesis types. The code contains a straight \printnames{author} instead of \usebibmacro{author}. The latter macro does checks etc. that in particular print a dash instead of the author name when required. The easiest way to fix this is to use the xpatch package which provides a patching command for such drivers:

\usepackage{xpatch}
\xpatchbibdriver{thesis}{\printnames{author}}{\usebibmacro{author}}{}{}


\documentclass[12pt, a4paper]{article}

\usepackage[style=british]{csquotes}
\usepackage[style=oscola, ibidtracker=true, backend=biber,
autolang=hyphen]{biblatex}

\usepackage{xpatch}

\xpatchbibdriver{thesis}{\printnames{author}}{\usebibmacro{author}}{}{}

\title{Test Document}

\begin{document}

\maketitle

First citation.\autocite[66]{Author2013}
Second citation.\autocite[31--2]{Author2002}
Third citation.\autocite{Author2009}

\printbibliography[nottype=commentary,nottype=jurisdiction,nottype=legislation,not\
type=misc,nottype=legal]

\end{document}


with Test.bib

@PhdThesis{Author2002,
author =       {Author, An},
school =       {Department of Something, University College
Somewhere},
title =        {A PhD thesis},
year =         2002
}

@InCollection{Author2009,
author =       {Author, An},
booktitle =    {Some Book},
publisher =    {Some Publisher},
title =        {Book Chapter},
year =         2009
}

@Article{Author2013,
author =       {Author, An},
journal =      {Another Journal},
number =       1,
pages =        {55--69},
title =        {Another Journal Article},
volume =       45,
year =         2013
}