Sachverhalt:
A.
A.a. Die A._ GmbH (nachfolgend: A._, Beschwerdeführerin) mit Sitz in U._ ist Teil der A._-Unternehmensgruppe, die hauptsächlich Nahrungsmittel, Ausrüstung und Treibstoffe in Krisengebieten an militärische Organisationen liefert. Sie war vormals eine Aktiengesellschaft (A._ AG) und wurde am 29. Juni 2009 in eine Gesellschaft mit beschränkter Haftung umgewandelt. Die B._ AG (nachfolgend: B._, Beschwerdegegnerin) ist im Kanton V._ domiziliert und bezweckt den Handel mit Waren aller Art, insbesondere Import und Export von Gütern, Gütertransport und -umschlag, Transport- und Finanzberatung sowie entsprechende Vertretungen im internationalen Warenhandel.
Ende 2006 führten die Parteien Gespräche, wobei es darum ging, ob die B._ für die A._ Flugzeugtreibstoff für die internationalen Friedenstruppen der NATO in Afghanistan liefern könnte.
Im April 2007 bestellte die A._ bei der B._ zweimal 150'000 I Flugzeugtreibstoff für das deutsche Kontingent der ISAF (International Security Systems Force) nach Masar-e-Sharif. Die B._ stellte am 11. und 17. April 2007 die entsprechenden pro forma-Rechnungen für je 150'000 I aus, wobei sich bei einem Preis von EUR 0.91 per Liter Rechnungsbeträge von je EUR 136'500.-- ergaben. Die A._ überwies der B._ per Valuta vom 13. und 27. April 2007 die entsprechenden Beträge von je EUR 136'500.--.
Im Juni 2007 bestellte die A._ 1'120'000 I Flugzeugtreibstoff. Die B._ stellte am 19. Juni 2007 eine pro forma-Rechnung für 1'000'000 I à EUR 0.85, mithin zu einem Gesamtbetrag von EUR 850'000.--, aus, wobei als Lieferort Herat aufgeführt wurde. Ebenfalls am 19. Juni 2007 stellte die B._ eine pro forma-Rechnung über 120'000 I mit Lieferort Mazar-e-Sharif aus, wobei sich bei einem Preis von EUR 0.91 per Liter ein Gesamtbetrag von EUR 109'200.-- ergab. Die A._ leistete für die bestellten 1'120'000 I Flugzeugtreibstoff am 25. Juni 2007 entsprechend den pro forma-Rechnungen eine Zahlung von EUR 959'200.--.
Ende Juni 2007 bestellte die A._ bei der B._ 5'000'000 I Flugzeugtreibstoff für die ISAF in Kandahar. Die B._ stellte am 1. Juli 2007 eine pro forma-Rechnung über 5'000'000 I zu einem Preis von EUR 0.91 per Liter aus, was einen Gesamtbetrag von EUR 4'550'000.-- ergab. In einem Postskriptum hielt die B._ fest, dass diese pro forma-Rechnung ersetzt werde durch eine Schlussrechnung ("Final Invoice"), nachdem die aktuellen Lieferungen erfolgt seien und die exakten Liefermengen feststünden. Ferner wurde festgehalten, dass der genannte pro forma-Preis auf den Platt-Durchschnittspreisen ("Platt Mediterranean USD 610.- per ton") basiere. Am 3. Juli 2007 überwies die A._ der B._ den in der pro forma-Rechnung genannten Betrag von EUR 4'550'000.--.
Insgesamt leistete die A._ Vorauszahlungen im Gesamtbetrag von EUR 5'782'200.--.
Mit Schreiben vom 1. Dezember 2008 teilte die A._ der B._ mit, dass sie per sofort vom Vertrag zurücktrete. Sie forderte von der B._ Vorauszahlungen im Betrag von EUR 2'010'358.98 zurück.
A.b. Bereits am 1. April 2008 hatte die B._ beim Kantonsgericht Glarus Klage gegen die A._ eingereicht, wobei sie insbesondere verlangte, diese sei zu verpflichten, ihr Fr. 2'936'352.85 (entsprechend den Fremdwährungsbeträgen von EUR 1'368'211.95 und USD 584'500.--) nebst Zins sowie Fr. 410.-- für Zahlungsbefehlskosten zu bezahlen. Die A._ bestritt mit Klageantwort vom 28. November 2008 im Hauptstandpunkt ihre Passivlegitimation (sowie den Bestand der Forderung). Für den Fall, dass die Klage geschützt werde, machte sie im entsprechenden Umfang Verrechnung geltend mit ihrer Forderung in der Höhe von EUR 2'010'358.98 aus den Vorauszahlungen für nicht erbrachte Treibstofflieferungen.
Das Kantonsgericht Glarus wies die Klage der B._ mit Entscheid vom 23. Juni 2009 ab. Es begründete diesen Entscheid zusammengefasst damit, es bestehe aus den gegenseitigen Ansprüchen ein Saldo in der Höhe von EUR 129'970.05 zugunsten der A._. Gegen diesen Entscheid wurden keine Rechtsmittel erhoben.
B.
Am 28. Oktober 2009 reichte die A._ ihrerseits als Klägerin beim Handelsgericht des Kantons St. Gallen Klage gegen die B._ ein. Sie beantragte, Letztere sei zu verpflichten, ihr den Betrag von EUR 2'010'359.-- nebst Zins zu 5 % seit dem 3. Juli 2007 zu bezahlen. Zusammengefasst machte sie geltend, dies entspreche dem Betrag, den sie der B._ für das Geschäft vom 1. Juli 2007 überwiesen habe, für den Letztere aber keinen Flugzeugtreibstoff geliefert habe.
Die B._ erhob die Einrede der res iudicata und beantragte Nichteintreten, eventualiter Abweisung der Klage. Für den Fall, dass das Handelsgericht auf die Klage eintreten sollte, erhob sie Widerklage mit dem Begehren, die Klägerin habe ihr USD 584'500.-- sowie EUR 1'368'211.95 nebst Zins zu bezahlen. Damit machte sie die Beträge geltend, die sie - umgerechnet in Schweizer Franken (Fr. 2'936'352.85) - bereits vor dem Kantonsgericht Glarus eingeklagt hatte.
Mit Entscheid vom 2. März 2011 trat das Handelsgericht auf die Klage ein. Die von der B._ erhobene Einrede der abgeurteilten Sache verwarf es, soweit sie gegen die vorliegende Klage insgesamt erhoben werde. Soweit die geltend gemachte Forderung der A._ den Betrag von EUR 129'970.05 übersteige - so das Handelsgericht weiter - stehe der B._ die Möglichkeit offen, in Bezug auf jede einzelne Position den begründeten Einwand zu erheben, dass diese in dem vom Kantonsgericht Glarus berechneten Saldo erfasst und damit bereits rechtskräftig beurteilt worden sei.
In der Replik und Widerklageantwort vom 27. März 2012 reduzierte die A._ ihren eingeklagten Anspruch auf EUR 1'773'330.70 nebst Zins.
Am 28. August 2013 fällte das Handelsgericht folgenden Entscheid:
"1. Die B._ AG Altstätten wird verpflichtet, der A._ GmbH EUR 129'970.05 nebst Zins zu 5 % seit dem 3. Juli 2007 zu bezahlen.
2. Im Mehrbetrag werden die Klage und die Widerklage abgewiesen, soweit darauf eingetreten werden kann.
3. Die Gerichtskosten von Fr. 120'000.00 bezahlen die Parteien je zur Hälfte. Der Klägerin wird die Entscheidgebühr von Fr. 1'000.00 angerechnet.
4. Die Parteikosten trägt jede Partei selber."
Das Handelsgericht prüfte in Bezug auf die einzelnen Positionen von B._ und A._, ob das Kantonsgericht Glarus diese beurteilt und damit in Bezug auf diese bzw. den berechneten Saldo bereits rechtskräftig entschieden habe. Dabei gelangte es (hinsichtlich der Klage) zum Ergebnis, die A._ habe nicht nachgewiesen, dass ihr Ansprüche zustünden, die nicht bereits vom Kantonsgericht Glarus beurteilt worden seien. Demzufolge sprach das Handelsgericht der A._ EUR 129'970.05 nebst Zins zu, entsprechend dem Saldo, der laut der Beurteilung des Kantonsgerichts Glarus zugunsten der A._ besteht.
C.
Die A._ beantragt dem Bundesgericht mit Beschwerde in Zivilsachen, der Entscheid des Handelsgerichts vom 28. August 2013 sei in Ziffer 2 bezüglich der Klage, sowie in Ziffern 3 und 4 aufzuheben und es sei die Streitsache zur erneuten bzw. ergänzenden Beurteilung an die Vorinstanz zurückzuweisen. Eventualiter sei ihr der Betrag von EUR 1'643'360.65 nebst Zins zu 5 % seit dem 3. Juli 2007 zuzusprechen.
Die B._ beantragt, die Beschwerde abzuweisen. Die Vorinstanz verzichtete auf eine Vernehmlassung.
Erwägungen:
1.
Der angefochtene Entscheid des Handelsgerichts ist ein verfahrensabschliessender Endentscheid (Art. 90 BGG) einer Vorinstanz im Sinne von Art. 75 BGG. Da auch die übrigen Sachurteilsvoraussetzungen erfüllt sind, ist auf die Beschwerde einzutreten.
Mit Blick auf die grundsätzliche Bindung des Bundesgerichts an die tatsächlichen Feststellungen der Vorinstanz (Art. 105 Abs. 1 BGG), zu denen auch die Feststellungen zum Prozesssachverhalt zählen (BGE 140 III 16 E. 1.3.1), ist immerhin festzuhalten, dass auf die eigene Sachverhaltsdarstellung der Beschwerdeführerin nicht abgestellt werden kann. Auch kann die Beschwerdeführerin nicht gehört werden, soweit sie ihre Argumentation auf tatsächliche Annahmen stützt, die von den verbindlichen Feststellungen der Vorinstanz abweichen, ohne hinreichend begründete Sachverhaltsrügen zu erheben.
2.
2.1. Die Beschwerdeführerin macht geltend, die von ihr vor der Vorinstanz eingeklagten Forderungen seien von der materiellen Rechtskraft des Urteils des Kantonsgerichts Glarus nicht erfasst. Die Vorinstanz sei unzutreffend davon ausgegangen, das Kantonsgericht Glarus habe die Verrechnung von Forderungen der Beschwerdeführerin gegen die Beschwerdegegnerin geprüft. Im Gegenteil habe das Kantonsgericht Glarus die allgemeine Verrechnungserklärung der Beschwerdeführerin als gegenstandslos bezeichnet und damit zum Ausdruck gebracht, dass es keine Verrechnung geprüft habe.
2.2. Materielle Rechtskraft bedeutet, dass ein zwischen zwei Parteien ergangenes Urteil in einem späteren Prozess verbindlich ist. In positiver Hinsicht bindet die materielle Rechtskraft das Gericht in einem späteren Prozess an alles, was im Urteilsdispositiv des früheren Prozesses festgestellt wurde (sog. Präjudizialitäts- oder Bindungswirkung). In negativer Hinsicht verbietet die materielle Rechtskraft jedem späteren Gericht, auf eine Klage einzutreten, deren Streitgegenstand mit dem rechtskräftig beurteilten identisch ist, sofern der Kläger nicht ein schutzwürdiges Interesse an Wiederholung des früheren Entscheids geltend machen kann (vgl. Art. 59 Abs. 2 lit. e ZPO sowie zum Ganzen BGE 139 III 126 E. 3.1 mit Hinweisen). Nach konstanter Rechtsprechung war die materielle Rechtskraft bereits vor Inkrafttreten der Schweizerischen Zivilprozessordnung eine Frage des Bundesrechts, sofern der zu beurteilende Anspruch auf Bundesrecht beruhte (BGE 121 III 474 E. 2; 119 II 89 E. 2a S. 90; je mit Hinweisen).
Die materielle Rechtskraft der Entscheidung wird objektiv begrenzt durch den Streitgegenstand. Nach der präzisierten Rechtsprechung des Bundesgerichts beurteilt sich die Identität von prozessualen Ansprüchen nach den Klageanträgen und dem behaupteten Lebenssachverhalt, d.h. dem Tatsachenfundament, auf das sich die Klagebegehren stützen. Dabei ist der Begriff der Anspruchsidentität nicht grammatikalisch, sondern inhaltlich zu verstehen. Der neue prozessuale Anspruch ist deshalb trotz abweichender Umschreibung vom beurteilten nicht verschieden, wenn er in diesem bereits enthalten war oder wenn im neuen Verfahren das kontradiktorische Gegenteil zur Beurteilung gestellt wird (BGE 139 III 126 E. 3.2.3; 136 III 123 E. 4.3.1; 123 III 16 E. 2a S. 19).
Die Rechtskraftwirkung tritt nur soweit ein, als über den geltend gemachten Anspruch entschieden worden ist. Inwieweit dies der Fall ist, ergibt die Auslegung des Urteils, zu der dessen ganzer Inhalt heranzuziehen ist. Zwar beschränkt sich die Rechtskraftwirkung auf das Urteilsdispositiv; doch ergibt sich dessen Tragweite vielfach erst aus einem Beizug der Urteilserwägungen, namentlich im Falle einer Klageabweisung (BGE 121 III 474 E. 4a S. 478). Die Tragweite des konkreten Urteilsdispositivs ist demnach im Einzelfall anhand der gesamten Urteilserwägungen zu beurteilen (BGE 136 III 345 E. 2.1 S. 348).
Die Rechtskraft des Urteils erstreckt sich auch auf die Verrechnungsforderung, soweit das Gericht diese beurteilt hat (Urteil 4C.233/2000 vom 15. November 2000 E. 3; Zingg, in: Berner Kommentar, Schweizerische Zivilprozessordnung, Bd. I, 2012, N. 133 zu Art. 59 ZPO; Zürcher, in: Kommentar zur Schweizerischen Zivilprozessordnung, Sutter-Somm/Hasenböhler/Leuenberger [Hrsg.], 2. Aufl. 2013, N. 43 zu Art. 59 ZPO; vgl. so ausdrücklich Art. 71 Abs. 2 BZP [SR 273]). In der Regel ergibt sich erst aus den Urteilserwägungen, ob und wie eine zur Verrechnung erklärte Gegenforderung beurteilt wurde.
2.3. Die Beschwerdeführerin macht - jedenfalls sinngemäss - geltend, das Kantonsgericht Glarus habe die von ihr im Prozess zur Verrechnung gebrachte Forderung nicht beurteilt, weil es bereits aus anderen Gründen die eingeklagte Hauptforderung für unbegründet gehalten und die Klage abgewiesen habe. Mangels Verrechnung sei ihre eigene (nun eingeklagte) Forderung nicht untergegangen, und die Vorinstanz habe ihr zu Unrecht bloss den Betrag von EUR 129'970.05 zugesprochen. Dass es sich tatsächlich so verhält und die Vorinstanz durch ihre abweichende Ansicht Bundesrecht verletzt hat, vermag die Beschwerdeführerin indessen nicht darzutun:
2.3.1. Die B._ klagte (gemäss der Zusammenfassung des Handelsgerichts) vor dem Kantonsgericht Glarus einen Anspruch von Fr. 2'936'362.85 für die Lieferung von Flugzeugtreibstoff, den Ersatz für Kosten der Standtage von Tanklastwagen, Annullierungskosten und weitere Ansprüche, insbesondere Schadenersatzansprüche, ein. Dabei zählte sie sämtliche Ansprüche, die ihr gemäss eigener Auffassung gegenüber der A._ zustanden, zusammen und zog davon die von der A._ geleisteten Vorauszahlungen ab. Demnach entsprach der eingeklagte Betrag den in Schweizer Franken umgerechneten Saldi des von ihr geführten EUR-Kontos von EUR 1'368'211.95 und des USD-Kontos von USD 584'500.--. Das Kantonsgericht Glarus prüfte die einzelnen im Soll und Haben aufgelisteten Positionen des EUR- bzw. des USD-Kontos, mithin jeweils einschliesslich der zugunsten der A._ aufgeführten Gutschriften. Zusammenfassend schützte es ausgewiesene Forderungen der B._ von EUR 5'652'229.95. Diesen stellte es die Zahlungen der A._ von EUR 5'782'200.-- gegenüber, woraus ein Saldo von EUR 129'970.05 zugunsten der A._ resultierte. Da somit die Vorauszahlungen der A._ die für berechtigt befundenen Klageforderungen der B._ überstiegen, wies das Kantonsgericht Glarus die Klage ab. Zudem hielt es fest, damit sei auch die von der A._ mit Schreiben vom 18. April 2008 erklärte Verrechnung gegenstandslos geworden.
2.3.2. In Anbetracht dieses Vorgehens des Kantonsgerichts Glarus hielt die Vorinstanz in ihrem Zwischenentscheid vom 2. März 2011 fest, das Kantonsgericht Glarus habe über sämtliche Forderungen der B._ entschieden und die unbestrittenen Vorauszahlungen der A._ von EUR 5'782'200.-- berücksichtigt. Da die Klage abzuweisen gewesen sei, habe es die verrechnungsweise geltend gemachten Ansprüche der A._ nicht bzw. nur so weit beurteilen müssen, "als nicht ein Saldo zugunsten der [B._]" resultiert habe. Die A._ habe mit der dem Kantonsgericht Glarus eingereichten Klageantwort festgehalten, soweit die Klage geschützt werde, mache sie in entsprechendem Umfang Verrechnung geltend mit der ihr aus dem Geschäft vom 3. Juli 2007 gegen die B._ zustehenden Forderung aus der vorausbezahlten, aber bis heute nicht erbrachten Treibstofflieferung in der Höhe von EUR 2'010'358.98. Diesen auf EUR 2'010'359.-- aufgerundeten Betrag - so die Vorinstanz weiter - mache die A._ nun mit ihrer Klage geltend. Da diese Ansprüche im Verfahren vor dem Kantonsgericht Glarus (als Verrechnungsforderung) nicht bzw. nur teilweise beurteilt worden seien, erweise sich die von B._ erhobene Einrede der abgeurteilten Sache, soweit sie "gegen die vorliegende Klage insgesamt" erhoben werde, als nicht begründet. Sie sei jedenfalls in der Höhe des vom Kantonsgericht Glarus berechneten Saldos zugunsten der A._ von EUR 129'970.05 zu verwerfen. Dieser Betrag könne von der A._ auf jeden Fall geltend gemacht werden. Soweit die Forderung der A._ den Betrag von EUR 129'970.05 übersteige, stehe der B._ die Möglichkeit offen, in Bezug auf jede einzelne Position den begründeten Einwand zu erheben, dass diese in dem vom Kantonsgericht Glarus berechneten Saldo erfasst und damit bereits rechtskräftig beurteilt worden sei. Aus diesen Überlegungen sei auf die Klage einzutreten.
Entsprechend dem - nicht angefochtenen - Zwischenentscheid vom 2. März 2011 ging die Vorinstanz im Endentscheid vom 28. August 2013 sämtliche Positionen im Einzelnen durch und prüfte dabei, ob und inwieweit das Kantonsgericht Glarus über die im vorliegenden Verfahren von der A._ eingeklagte Forderung (aufgrund der Verrechnungserklärung) entschieden hatte. Dabei gelangte sie zum Schluss, die A._ habe nicht nachgewiesen, dass ihr Ansprüche zustünden, die nicht bereits vom Kantonsgericht Glarus beurteilt worden seien. Das Kantonsgericht Glarus - so das Handelsgericht - habe die Ansprüche der Parteien aus den Lieferungen, Vorauszahlungen und dem behaupteten Schaden vollständig beurteilt, womit auch allfällige Forderungen der Parteien "aus Verrechnung untergegangen" seien. Soweit die A._ geltend mache, das Kantonsgericht Glarus habe ihre Verrechnungsforderungen falsch berechnet bzw. Einwände von ihr nicht oder unzureichend berücksichtigt, sei sie nicht zu hören, nachdem das Urteil des Kantonsgerichts Glarus rechtskräftig sei und einer Neubeurteilung im vorliegenden Verfahren die materielle Rechtskraft entgegenstehe. Zusammenfassend hielt die Vorinstanz fest, dass die B._ der A._ EUR 129'970.05 nebst Zins zu 5 % seit dem 3. Juli 2007 zu bezahlen habe.
2.3.3. Zu Unrecht hält die Beschwerdeführerin der Vorinstanz vor, sie sei fälschlicherweise davon ausgegangen, das Kantonsgericht Glarus habe die Verrechnung ihrer Forderungen gegen die Beschwerdegegnerin geprüft und festgestellt, während das Kantonsgericht Glarus in Wirklichkeit lediglich festgestellt habe, dass die Vorauszahlungen höher gewesen seien als die kumulierten Werte der Lieferungen. Das Kantonsgericht Glarus prüfte zwar in der Tat vordergründig nicht die Verrechnungserklärung der A._, sondern bezeichnete diese als gegenstandslos. Es behandelte jedoch im Rahmen der Berücksichtigung der von der B._ zugunsten der A._ aufgeführten Gutschriften bzw. Vorauszahlungen die Forderungen der B._ materiell. Es gelangte zum Schluss, den anerkannten Zahlungen der A._ in der Höhe von EUR 5'782'200.-- stünden "ausgewiesene Forderungen" der B._ von insgesamt EUR 5'652'229.95 gegenüber. Wenn es die Klage der B._ abwies, hielt es damit der Sache nach eine Verrechnungslage und eine Verrechnungserklärung im entsprechenden Umfang für gegeben. Die A._ zeigt nicht auf, inwiefern die Vorinstanz zu Unrecht angenommen hätte, dass das Kantonsgericht Glarus über die gegenseitigen Forderungen der Parteien entschieden und die Verrechnung bejaht hat.
2.3.4. Nach dem Gesagten ist mit der Vorinstanz davon auszugehen, dass die Klageforderung der A._ bis auf den Betrag von EUR 129'970.05 bereits vom Kantonsgericht Glarus rechtskräftig beurteilt und in diesem Umfang durch Verrechnung getilgt worden ist.
3.
Die Beschwerde erweist sich als unbegründet und ist abzuweisen. Bei diesem Verfahrensausgang wird die Beschwerdeführerin kosten- und entschädigungspflichtig (Art. 66 Abs. 1 und Art. 68 Abs. 2 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Die Gerichtskosten von Fr. 15'000.-- werden der Beschwerdeführerin auferlegt.
3.
Die Beschwerdeführerin hat die Beschwerdegegnerin für das bundesgerichtliche Verfahren mit Fr. 17'000.-- zu entschädigen.
4.
Dieses Urteil wird den Parteien und dem Handelsgericht des Kantons St. Gallen schriftlich mitgeteilt.
Lausanne, 16. April 2014
Im Namen der I. zivilrechtlichen Abteilung
des Schweizerischen Bundesgerichts
Die Präsidentin: Klett
Der Gerichtsschreiber: Kölz