Hindi – Hindu – Indian — what’s the difference?

So I was reading the newspaper yesterday (like I do everyday of course) and the headlines on the main page surprised me:  Something about Hindi Community suffering a terrible tragedy.  The article was about a known and good hearted person from the Indian community in Montreal who passed away in an accident.  While this blog entry is not about that, it brought up a good question in my mind, what is it with folks over here not knowing the difference between “Hindi”, “Hindu” and “Indian”?

All of you guys out there who have no idea how to call us Indians, here’s the difference:

Hindi — Language we speak in India, so calling “Hindu” community a “Hindi” community will be totally wrong!  Imagine, a major english newspaper in Montreal making such a stupid mistake, that too, big bold headline on the main page.  *rolls eyes*.

Hindu — A person who adheres to Hinduism (the religion).  It does not necessarily means that he is from India, he/she could be from anywhere really, as long as they believe in Hinduism and call themselves Hindu.
Indian –  A person from India.  So No! People from India are not “Hindi” (actually no one can be called Hindi as it’s a language, you can’t be “Hindi”, you can only “Speak Hindi” or you can be “Hindu”) and no, not everybody in India is a “Hindu”, in fact we have a very mixed population with all religions present strongly, be it Muslims, Jews, Catholics, Sikhs, Parsis, Jains, Buddhists.  Please do understand the distinction: “Hindu community” vs “Indian community”

Not only does the Montreal Gazette puts that in their Sunday May 6th newspaper, but also, in another little news snippet, they think Lahore is in India, the headline:
Lahore, India