For the first ten minutes or so, the speech that Donald Trump delivered at the Lima Army Tank Plant in Fort Shawnee, Ohio, on Wednesday afternoon, was standard fare. Standing in front of several M1A1 tanks and a huge American flag, Trump told the assembled workers that they should love him because he had kept the plant open when its future had been in doubt. He said that he had wanted to get into one of the tanks but had thought of Michael Dukakis, the Democratic Presidential candidate in 1988, and how “he tanked when he got into a tank.” Trump also boasted about the “incredible” job he was doing with the economy, and held up a map of Iraq and Syria with no ISIS positions marked on it. He repeated his recent criticism of General Motors for shuttering an auto plant in Lordstown, Ohio. Lordstown is “a great area,” he said, adding, “I guess I love it because I won so big there.”

Trump seemed buoyed to be back in a campaign-style setting. “The fact is that we have the best tanks, driven by the best soldiers, made by the best workers anywhere in the world,” he declared. Then he placed his left hand on the lectern and changed course completely. “A lot of people are asking, because they love me, and they ask me about a man named John McCain,” he said. “And if you want, I could tell you about . . . should I or should I not?” A few people in the crowd, or perhaps in Trump’s entourage, shouted yes, and Trump went on. “So I have to be honest, I’ve never liked him much—hasn’t been for me.” He flicked his right wrist in a gesture of dismissal. “I’ve really, probably never will, but there are certain reasons for it, and I’ll tell you.”

With that, the forty-fifth President launched into a five-minute disquisition on why he so loathes McCain, who died seven months ago, and whom he has been attacking periodically ever since, including several times in the days before his trip to Ohio. The recent attacks have caused distress to McCain’s family and have irked some senior Republicans. On Wednesday afternoon, just a couple of hours before Trump spoke in Ohio, Mitch McConnell, the Senate Majority Leader, tweeted, “Today and every day I miss my good friend John McCain. It was a blessing to serve alongside a rare patriot and genuine American hero in the Senate.”

Perhaps McConnell’s tweet bothered Trump, and prompted him to escalate his assault on McCain’s legacy. His comments, however, were detailed enough that they appeared to have been prepared in advance. “Did you hear about the dossier?” he began, referring to the notorious Trump-Russia document put together by Christopher Steele, a former British spy. “It was paid for by Crooked Hillary Clinton, and John McCain got it. What did he do? He didn’t call me. He turned it over to the F.B.I. hoping to put me in jeopardy, and that’s not the nicest thing to do.”

The next entry on the rap sheet was McCain’s late-night vote, in the summer of 2017, against a Republican bill targeting the Affordable Care Act. “He said two hours before he was voting to repeal and replace, then he went thumbs down,” Trump said, affecting a tone of disgust. He also claimed that McCain “didn’t get the job done” for military veterans. Finally, Trump turned to the wars in Iraq and Afghanistan, accusing McCain of pushing George W. Bush to enter conflicts that “have been a disaster for this, our, country.”

When the long wars started, Trump supported them along with McCain and most of the U.S. establishment, of course. The failure to disclose this fact was the least of his offenses on this occasion. Here was the Commander-in-Chief, who dodged the Vietnam draft with the assistance of a doctor who knew his rich father, denigrating and dismissing a former prisoner of war and five-term Republican senator who died from brain cancer. It wasn’t just unseemly. It was kind of demented.

As Trump’s diatribe continued, the members of the crowd, who had been chanting “U.S.A.! U.S.A.!” when he took the stage, mostly fell silent. He didn’t take the hint. Instead, he brought up yet another beef with McCain that has been festering somewhere in his fragile psyche, one that he hadn’t mentioned in public before. “I gave him the kind of funeral he wanted, which as President I had to approve,” he said. “I don’t care about this—I didn’t get ‘Thank you,’ ” he said, referring to the elaborate memorial service last summer, to which he wasn’t invited. “That’s O.K. We sent him on the way, but I wasn’t a fan of John McCain. . . . Not my kind of guy, but some people like him and I think that’s great.”

That last statement was almost certainly not true, and neither was a lot else of what Trump said. A fact-checking piece published by the New York Times on Wednesday night concluded that his description of McCain’s role in handling the Trump-Russia dossier and his claim that veterans groups took his side against McCain were both “misleading.” The article also said that Trump “exaggerated” his role in authorizing McCain’s funeral. That was a gentle way of putting it.

It was Congress that allowed McCain’s body to lie in state at the Capitol, and the Episcopal Church runs the Washington National Cathedral, where the funeral service was held. For his part, Trump didn’t order the flag at the White House to be lowered to half staff until almost forty-eight hours after McCain’s death, and he “stubbornly refused repeated requests from officials as senior as Vice President Mike Pence and John F. Kelly, the White House chief of staff, to acknowledge Mr. McCain’s death with a formal and unifying statement,” the Times reported at the time.

It should never, ever be forgotten what a resentful, self-absorbed, petty, and insecure husk of a man is occupying the Oval Office, and it never, ever will be forgotten. As he demonstrated again on Wednesday, Donald Trump won’t allow it.