clarified literal data;
authorwenzelm
Wed, 18 Dec 2024 12:49:42 +0100
changeset 81627 079dee3b117c
parent 81622 91a7e5719b2b
child 81628 e5be995d21f0
clarified literal data;
src/Pure/General/mailman.scala
--- a/src/Pure/General/mailman.scala	Wed Dec 18 11:59:44 2024 +0100
+++ b/src/Pure/General/mailman.scala	Wed Dec 18 12:49:42 2024 +0100
@@ -20,27 +20,27 @@
 
   private val standard_name: Map[String, String] =
     Map(
-      "121171528@qq.com" -> "Guo Fan\n121171528@qq.com",
+      "121171528:qq/com" -> "Guo Fan\n121171528:qq/com",
       "Aman Pohjola, Johannes (Data61, Kensington NSW)" -> "Johannes Aman Pohjola",
       "Andrei de AraÃjo Formiga" -> "Andrei de Araujo Formiga",
-      "Benedikt.AHRENS@unice.fr" -> "Benedikt Ahrens\nBenedikt.AHRENS@unice.fr",
+      "Benedikt/AHRENS:unice/fr" -> "Benedikt Ahrens\nBenedikt/AHRENS:unice/fr",
       "Berg, Nils Erik" -> "Nils Erik Berg",
-      "Berger U." -> "Ulrich Berger",
+      "Berger U/" -> "Ulrich Berger",
       "Bisping, Benjamin" -> "Benjamin Bisping",
-      "Blanchette, J.C." -> "Jasmin Christian Blanchette",
+      "Blanchette, J/C/" -> "Jasmin Christian Blanchette",
       "Buday Gergely István" -> "Gergely Buday",
-      "CALaF1UJ9Uy0vGCu4WkBmbfuPDxG7nFm8hfeCMP+O3g7_5CQ0Bw@mail.gmail.com" -> "",
-      "CRACIUN F." -> "Florin Craciun",
+      "CALaF1UJ9Uy0vGCu4WkBmbfuPDxG7nFm8hfeCMP+O3g7_5CQ0Bw:mail/gmail/com" -> "",
+      "CRACIUN F/" -> "Florin Craciun",
       "Carsten Schuermann" -> "Carsten Schürmann",
       "Chris" -> "",
       "Christoph Lueth" -> "Christoph Lüth",
       "Claude Marche" -> "Claude Marché",
       "Daniel StÃwe" -> "Daniel Stüwe",
-      "Daniel.Matichuk@data61.csiro.au" -> "Daniel Matichuk\nDaniel.Matichuk@data61.csiro.au",
-      "Daniel.Matichuk@nicta.com.au" -> "Daniel Matichuk\nDaniel.Matichuk@nicta.com.au",
+      "Daniel/Matichuk:data61/csiro/au" -> "Daniel Matichuk\nDaniel/Matichuk:data61/csiro/au",
+      "Daniel/Matichuk:nicta/com/au" -> "Daniel Matichuk\nDaniel/Matichuk:nicta/com/au",
       "David MENTRE" -> "David MENTRÉ",
       "Dey, Katie" -> "Katie Dey",
-      "Dr. Brendan Patrick Mahony" -> "Brendan Mahony",
+      "Dr/ Brendan Patrick Mahony" -> "Brendan Mahony",
       "Farn" -> "Farn Wang",
       "Farquhar, Colin I" -> "Colin Farquhar",
       "Fernandez, Matthew" -> "Matthew Fernandez",
@@ -50,7 +50,7 @@
       "Francisco Jose CHAVES ALONSO" -> "Francisco Jose Chaves Alonso",
       "Frederic Tuong (Dr)" -> "Frederic Tuong",
       "Fulya" -> "Fulya Horozal",
-      "George K." -> "George Karabotsos",
+      "George K/" -> "George Karabotsos",
       "Gidon Ernst" -> "Gidon ERNST",
       "Gransden, Thomas" -> "Thomas Gransden",
       "Hans-JÃrg Schurr" -> "Hans-Jörg Schurr",
@@ -58,7 +58,7 @@
       "Hitoshi Ohsaki (RTA publicity chair)" -> "Hitoshi Ohsaki",
       "Häuselmann Rafael" -> "Rafael Häuselmann",
       "Isabelle" -> "",
-      "J. Juhas (TUM)" -> "Jonatan Juhas",
+      "J/ Juhas (TUM)" -> "Jonatan Juhas",
       "Jackson, Vincent (Data61, Kensington NSW)" -> "Vincent Jackson",
       "Janney, Mark-P26816" -> "Mark Janney",
       "Jean François Molderez" -> "Jean-François Molderez",
@@ -70,7 +70,7 @@
       "Klein, Gerwin (Data61, Kensington NSW)" -> "Gerwin Klein",
       "Kobayashi, Hidetsune" -> "Hidetsune Kobayashi",
       "Kylie Williams (IND)" -> "Kylie Williams",
-      "Laarman, A.W." -> "A.W. Laarman",
+      "Laarman, A/W/" -> "A/W/ Laarman",
       "Laurent Thery" -> "Laurent Théry",
       "Li, Chanjuan" -> "Li Chanjuan",
       "Lochbihler Andreas" -> "Andreas Lochbihler",
@@ -86,7 +86,7 @@
       "Marmsoler, Diego" -> "Diego Marmsoler",
       "Martin Klebermass" -> "Martin Klebermaß",
       "Martyn Johnson via RT" -> "",
-      "Mathias.Fleury@ens-rennes.fr" -> "Mathias Fleury\nmathias.fleury12@gmail.com",
+      "Mathias/Fleury:ens-rennes/fr" -> "Mathias Fleury\nmathias/fleury12:gmail/com",
       "Matthew" -> "",
       "Matthews, John R" -> "John Matthews",
       "McCarthy, Jim (C3ID)" -> "Jim McCarthy",
@@ -94,10 +94,10 @@
       "Michael FÃrber" -> "Michael Färber",
       "Michel" -> "",
       "Miranda, Brando" -> "Brando Miranda",
-      "Moscato, Mariano M. \\(LARC-D320\\)\\[NATIONAL INSTITUTE OF AEROSPACE\\]" -> "Mariano M. Moscato",
+      "Moscato, Mariano M/ \\(LARC-D320\\)\\[NATIONAL INSTITUTE OF AEROSPACE\\]" -> "Mariano M/ Moscato",
       "Mr Julian Fell" -> "Julian Fell",
       "Mueller Peter" -> "Peter Müller",
-      "Munoz, Cesar Augusto (LARC-D320)" -> "Cesar A. Munoz",
+      "Munoz, Cesar Augusto (LARC-D320)" -> "Cesar A/ Munoz",
       "Nadel, Alexander" -> "Alexander Nadel",
       "Nagashima, Yutaka" -> "Yutaka Nagashima",
       "Norrish, Michael (Data61, Acton)" -> "Michael Norrish",
@@ -109,34 +109,34 @@
       "PAQUI LUCIO" -> "Paqui Lucio",
       "Pal, Abhik" -> "Abhik Pal",
       "Pasupuleti, Vijay" -> "Vijay Pasupuleti",
-      "Peter Vincent Homeier" -> "Peter V. Homeier",
+      "Peter Vincent Homeier" -> "Peter V/ Homeier",
       "Peter" -> "",
       "Philipp Ruemmer" -> "Philipp Rümmer",
       "Philipp RÃmmer" -> "Philipp Rümmer",
       "Piete Brooks via RT" -> "",
       "RTA publicity chair" -> "",
-      "Raamsdonk, F. van" -> "Femke van Raamsdonk",
+      "Raamsdonk, F/ van" -> "Femke van Raamsdonk",
       "Raul Gutierrez" -> "Raúl Gutiérrez",
       "Renà Thiemann" -> "René Thiemann",
-      "Ridgway, John V. E." -> "John V. E. Ridgway",
-      "Roggenbach M." -> "Markus Roggenbach",
+      "Ridgway, John V/ E/" -> "John V/ E/ Ridgway",
+      "Roggenbach M/" -> "Markus Roggenbach",
       "Rosu, Grigore" -> "Grigore Rosu",
       "Rozman, Mihaela" -> "Mihaela Rozman",
-      "Schmaltz, J." -> "Julien Schmaltz",
-      "Serguei A. Mokhov on behalf of PST-11" -> "Serguei A. Mokhov",
-      "Serguei Mokhov" -> "Serguei A. Mokhov",
+      "Schmaltz, J/" -> "Julien Schmaltz",
+      "Serguei A/ Mokhov on behalf of PST-11" -> "Serguei A/ Mokhov",
+      "Serguei Mokhov" -> "Serguei A/ Mokhov",
       "Shumeiko, Igor" -> "Igor Shumeiko",
       "Siek, Jeremy" -> "Jeremy Siek",
-      "Silvio.Ranise@loria.fr" -> "Silvio Ranise\nSilvio.Ranise@loria.fr",
+      "Silvio/Ranise:loria/fr" -> "Silvio Ranise\nSilvio/Ranise:loria/fr",
       "Siu, Tony" -> "Tony Siu",
       "Stüber, Sebastian" -> "Sebastian Stüber",
       "Thiemann, Rene" -> "René Thiemann",
       "Thiemann, René" -> "René Thiemann",
       "Thomas Arthur Leck Sewell" -> "Thomas Sewell",
       "Thomas Goethel" -> "Thomas Göthel",
-      "Thomas.Sewell@data61.csiro.au" -> "Thomas Sewell\nThomas.Sewell@data61.csiro.au",
+      "Thomas/Sewell:data61/csiro/au" -> "Thomas Sewell\nThomas/Sewell:data61/csiro/au",
       "Tjark Weber via RT" -> "Tjark Weber",
-      "Toby.Murray@data61.csiro.au" -> "Toby Murray\nToby.Murray@data61.csiro.au",
+      "Toby/Murray:data61/csiro/au" -> "Toby Murray\nToby/Murray:data61/csiro/au",
       "Urban, Christian" -> "Christian Urban",
       "Ursula Eschbach" -> "",
       "Van Staden Stephan" -> "Stephan van Staden",
@@ -154,57 +154,64 @@
       "chen kun" -> "Chen Kun",
       "chunhan wu" -> "Chunhan Wu",
       "daniel de la concepción sáez" -> "Daniel de la Concepción Sáez",
-      "daniel.luckhardt@mathematik.uni-goettingen.de" -> "Logiker@gmx.net",
+      "daniel/luckhardt:mathematik/uni-goettingen/de" -> "Logiker:gmx/net",
       "david streader" -> "David Streader",
-      "eschbach@in.tum.de" -> "",
-      "f.rabe@jacobs-university.de" -> "florian.rabe@fau.de",
-      "florian@haftmann-online.de" -> "haftmann@in.tum.de",
-      "fredegar@haftmann-online.de" -> "haftmann@in.tum.de",
-      "gallais @ ensl.org" -> "Guillaume Allais",
+      "eschbach:in/tum/de" -> "",
+      "f/rabe:jacobs-university/de" -> "florian/rabe:fau/de",
+      "florian:haftmann-online/de" -> "haftmann:in/tum/de",
+      "fredegar:haftmann-online/de" -> "haftmann:in/tum/de",
+      "gallais : ensl/org" -> "Guillaume Allais",
       "geng chen" -> "Geng Chen",
-      "henning.seidler" -> "Henning Seidler",
+      "henning/seidler" -> "Henning Seidler",
       "hkb" -> "Hidetsune Kobayashi",
-      "jobs-pm@inf.ethz.ch" -> "",
-      "julien@RadboudUniversity" -> "",
+      "jobs-pm:inf/ethz/ch" -> "",
+      "julien:RadboudUniversity" -> "",
       "jun sun" -> "Jun Sun",
-      "jwang whu.edu.cn (jwang)" -> "jwang",
+      "jwang whu/edu/cn (jwang)" -> "jwang",
       "kostas pouliasis" -> "Kostas Pouliasis",
-      "kristof.teichel@ptb.de" -> "Kristof Teichel\nkristof.teichel@ptb.de",
+      "kristof/teichel:ptb/de" -> "Kristof Teichel\nkristof/teichel:ptb/de",
       "lucas cavalcante" -> "Lucas Cavalcante",
       "mahmoud abdelazim" -> "Mahmoud Abdelazim",
       "manish surolia" -> "Manish Surolia",
       "mantel" -> "Heiko Mantel",
       "marco caminati" -> "Marco Caminati",
-      "mathias.fleury@ens-rennes.fr" -> "Mathias Fleury\nmathias.fleury12@gmail.com",
-      "merz@loria.fr" -> "stephan.merz@loria.fr",
+      "mathias/fleury:ens-rennes/fr" -> "Mathias Fleury\nmathias/fleury12:gmail/com",
+      "merz:loria/fr" -> "stephan/merz:loria/fr",
       "michel levy" -> "Michel Levy",
-      "michel.levy2009@laposte.net" -> "Michel Levy\nmichel.levy2009@laposte.net",
+      "michel/levy2009:laposte/net" -> "Michel Levy\nmichel/levy2009:laposte/net",
       "nemouchi" -> "Yakoub Nemouchi",
       "noam neer" -> "Noam Neer",
       "olfa mraihi" -> "Olfa Mraihi",
-      "pathsnottakenworkshop@gmail.com" -> "Leo Freitas\nleo.freitas@newcastle.ac.uk",
+      "pathsnottakenworkshop:gmail/com" -> "Leo Freitas\nleo/freitas:newcastle/ac/uk",
       "patrick barlatier" -> "Patrick Barlatier",
       "patrick dabou" -> "Patrick Dabou",
       "paul zimmermann" -> "Paul Zimmermann",
-      "popescu2@illinois.edu" -> "Andrei Popescu",
+      "popescu2:illinois/edu" -> "Andrei Popescu",
       "recruiting" -> "",
-      "recruiting@mais.informatik.tu-darmstadt.de" -> "",
+      "recruiting:mais/informatik/tu-darmstadt/de" -> "",
       "roux cody" -> "Cody Roux",
       "scott constable" -> "Scott Constable",
-      "superuser@mattweidner.com" -> "Matthew Weidner\nsuperuser@mattweidner.com",
-      "urban@math.lmu.de" -> "Christian Urban\nurban@math.lmu.de",
-      "veronique.cortier@loria.fr" -> "Veronique.Cortier@loria.fr",
+      "superuser:mattweidner/com" -> "Matthew Weidner\nsuperuser:mattweidner/com",
+      "urban:math/lmu/de" -> "Christian Urban\nurban:math/lmu/de",
+      "veronique/cortier:loria/fr" -> "Veronique/Cortier:loria/fr",
       "vikram singh" -> "Vikram Singh",
-      "wenzelm@in.tum.de" -> "makarius@sketis.net",
-      "werner@lix.polytechnique.fr" -> "Benjamin Werner\nwerner@lix.polytechnique.fr",
-      "wmansky@cs.princeton.edu" -> "William Mansky\nwmansky@cs.princeton.edu",
-      "y.nemouchi@ensbiotech.edu.dz" -> "Yakoub Nemouchi\ny.nemouchi@ensbiotech.edu.dz",
+      "wenzelm:in/tum/de" -> "makarius:sketis/net",
+      "werner:lix/polytechnique/fr" -> "Benjamin Werner\nwerner:lix/polytechnique/fr",
+      "wmansky:cs/princeton/edu" -> "William Mansky\nwmansky:cs/princeton/edu",
+      "y/nemouchi:ensbiotech/edu/dz" -> "Yakoub Nemouchi\ny/nemouchi:ensbiotech/edu/dz",
       "ÐÑÐÐÐÑÐÐÐ ÐÐÐÐÐÐÐÑÐÐÐÑ ÐÐÐÑÐÐÐ" -> "",
-      "∀X.Xπ - Tutorials about Proofs" -> "Bruno Woltzenlogel Paleo",
-    ).withDefault(identity)
+      "∀X/Xπ - Tutorials about Proofs" -> "Bruno Woltzenlogel Paleo",
+    )
+
+  private def tune(s: String): String =
+    s.replace(64.toChar, 58.toChar).replace(46.toChar, 47.toChar)
+
+  private def untune(s: String): String =
+    s.replace(58.toChar, 64.toChar).replace(47.toChar, 46.toChar)
 
   def standard_author_info(author_info: List[String]): List[String] =
-    author_info.flatMap(s => split_lines(standard_name.getOrElse(s, s))).distinct
+    author_info.flatMap(s =>
+      split_lines(standard_name.get(tune(s)).map(untune).getOrElse(s))).distinct
 
   sealed case class Message(
     name: String,