Hello,

That is exactly what happened. I reread the helper and now it is obvious that "Root" is among the parents also. I didn't realized that at the time.

Thanks Kyle and Adrian for the clarification.

Lem

On Sun, Sep 16, 2018 at 4:29 PM Kyle Meyer <kyle@kyleam.com> wrote:
Hello,

Lem Ming <ramboman777@gmail.com> writes:

> In the agenda list `org-agenda-list` buffer, when I do
> `org-agenda-filter-by-top-headline` when the point is over a line with a
> headline, nothing is filtered.
>

I've never used org-agenda-filter-by-top-headline, but taking a quick
look at it and its helper, org-find-top-headline, the intention seems to
be to find the level-one parent of the current heading.  So, in your
example,

> * Root
> ** TODO task 2
> :tag_2:
>    DEADLINE: <2018-09-14 Fri 12:00:00>
>    :PROPERTIES:
>    :ADD_TIME: <2018-09-07 Fri 23:47:00>
>    :END:
> *** TODO task 2.1
>     DEADLINE: <2018-09-14 Fri 11:00:00>
>     :PROPERTIES:
>     :ADD_TIME: <2018-09-07 Fri 23:47:00>
>     :END:
[...]
> ** TODO task 7
>    DEADLINE: <2018-09-14 Fri 12:00:00> SCHEDULED: <2018-09-12 Wed 10:00:00>

... it'd find "Root" if point were on any of the tasks.  If I'm reading
your report correctly, you're assuming that with point on the "task 2",
it'd take *that* as the top-level heading and filter to all the tasks
under it (task 2.1, etc).  Instead, it finds "Root" and filters to
everything thing under that, which---in your example file---is the same
thing, so you don't see any change.

--
Kyle