A 69-year-old man was killed after trying to intervene to protect police during a suspected terror attack at a French market.
Five people were injured in the incident just before 4pm on Saturday in the eastern city of Mulhouse - on France's border with Germany.
Two police officers were seriously injured after being stabbed in the neck and chest, and three others were lightly wounded during a protest in support of the Congo on Saturday afternoon.
A 37-year-old Algerian man, who was reportedly heard shouting "Allahu Akbar", was arrested at the scene at around 4pm.
He is now on a terror prevention watchlist, according to the anti-terrorism prosecution office (PNAT), and a terrorist inquiry has been opened by prosecutor Nicolas Heitz.
PNAT said the attacker shouted "God is greatest" in Arabic, with witnesses telling AFP that he repeated the phrase several times. It added that the deceased victim is understood to have been a Portguese national.
A security perimiter has been set up by police following the attack, with forensic scientists looking for evidence and military units at the scene for backup.
President Emmanuel Macron said there is "no doubt it was an Islamist terrorist attack".
He said: "I want to reiterate the determination of the government, and mine, to continue the work to eradicate terrorism on our soil."
Mulhouse mayor Michele Lutz added: "Horror has seized our city. On behalf of the city of Mulhouse, I extend our brotherly feelings to the victims and their loved ones."
French Interior Minister Bruno Retailleau is expected to travel to the scene of the attack this evening.