clarified author names;
authorwenzelm
Wed, 15 Dec 2021 12:41:33 +0100
changeset 74940 fe1d22487427
parent 74939 d4d3dec0970a
child 74941 a63c34c28430
clarified author names;
src/Pure/General/mailman.scala
--- a/src/Pure/General/mailman.scala	Tue Dec 14 21:13:07 2021 +0100
+++ b/src/Pure/General/mailman.scala	Wed Dec 15 12:41:33 2021 +0100
@@ -25,7 +25,8 @@
     Map(
       "Aman Pohjola, Johannes (Data61, Kensington NSW)" -> "Johannes Aman Pohjola",
       "Andrei de AraÃjo Formiga" -> "Andrei de Araujo Formiga",
-      "Benedikt.AHRENS@unice.fr" -> "benedikt.ahrens@gmail.com",
+      "Benedikt.AHRENS@unice.fr" -> "Benedikt Ahrens\nBenedikt.AHRENS@unice.fr",
+      "Berg, Nils Erik" -> "Nils Erik Berg",
       "Berger U." -> "Ulrich Berger",
       "Bisping, Benjamin" -> "Benjamin Bisping",
       "Blanchette, J.C." -> "Jasmin Christian Blanchette",
@@ -33,90 +34,168 @@
       "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@nicta.com.au" -> "Daniel.Matichuk@data61.csiro.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",
       "Farn" -> "Farn Wang",
       "Farquhar, Colin I" -> "Colin Farquhar",
+      "Fernandez, Matthew" -> "Matthew Fernandez",
       "Filip Maric" -> "Filip Marić",
       "Filip MariÄ" -> "Filip Marić",
       "Fleury Mathias" -> "Mathias Fleury",
-      "Francisco Jose Chaves Alonso" -> "Francisco Jose CHAVES ALONSO",
+      "Francisco Jose CHAVES ALONSO" -> "Francisco Jose Chaves Alonso",
+      "Frederic Tuong (Dr)" -> "Frederic Tuong",
+      "Fulya" -> "Fulya Horozal",
       "George K." -> "George Karabotsos",
-      "Gidon ERNST" -> "Gidon Ernst",
+      "Gidon Ernst" -> "Gidon ERNST",
+      "Gransden, Thomas" -> "Thomas Gransden",
       "Hans-JÃrg Schurr" -> "Hans-Jörg Schurr",
       "Henri DEBRAT" -> "Henri Debrat",
       "Hitoshi Ohsaki (RTA publicity chair)" -> "Hitoshi Ohsaki",
+      "Häuselmann Rafael" -> "Rafael Häuselmann",
       "Isabelle" -> "",
+      "J. Juhas (TUM)" -> "Jonatan Juhas",
       "Jackson, Vincent (Data61, Kensington NSW)" -> "Vincent Jackson",
       "Janney, Mark-P26816" -> "Mark Janney",
-      "Jean François Molderez" -> "Jean-Francois Molderez",
+      "Jean François Molderez" -> "Jean-François Molderez",
+      "Jean-Francois Molderez" -> "Jean-François Molderez",
+      "John R Harrison" -> "John Harrison",
       "Jose DivasÃn" -> "Jose Divasón",
       "Julian" -> "",
       "Julien" -> "",
       "Klein, Gerwin (Data61, Kensington NSW)" -> "Gerwin Klein",
       "Kobayashi, Hidetsune" -> "Hidetsune Kobayashi",
+      "Kylie Williams (IND)" -> "Kylie Williams",
+      "Laarman, A.W." -> "A.W. Laarman",
       "Laurent Thery" -> "Laurent Théry",
+      "Li, Chanjuan" -> "Li Chanjuan",
       "Lochbihler Andreas" -> "Andreas Lochbihler",
+      "Luckhardt, Daniel" -> "Daniel Luckhardt",
       "Lutz Schroeder" -> "Lutz Schröder",
       "Lutz SchrÃder" -> "Lutz Schröder",
+      "MACKENZIE Carlin" -> "Carlin MACKENZIE",
       "Makarius" -> "Makarius Wenzel",
       "Marco" -> "",
       "Mark" -> "",
+      "Markus Mueller-Olm" -> "Markus Müller-Olm",
       "Markus" -> "",
+      "Marmsoler, Diego" -> "Diego Marmsoler",
       "Martin Klebermass" -> "Martin Klebermaß",
+      "Matthew" -> "",
       "Matthews, John R" -> "John Matthews",
+      "McCarthy, Jim (C3ID)" -> "Jim McCarthy",
+      "McCue, Brian" -> "Brian McCue",
       "Michael FÃrber" -> "Michael Färber",
-      "Moscato, Mariano M. \\(LARC-D320\\)\\[NATIONAL INSTITUTE OF AEROSPACE\\]" -> "Moscato, Mariano M.",
+      "Michel" -> "",
+      "Miranda, Brando" -> "Brando Miranda",
+      "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",
+      "Nadel, Alexander" -> "Alexander Nadel",
+      "Nagashima, Yutaka" -> "Yutaka Nagashima",
       "Norrish, Michael (Data61, Acton)" -> "Michael Norrish",
+      "O'Leary, John W" -> "John W O'Leary",
       "Omar Montano Rivas" -> "Omar Montaño Rivas",
       "Omar MontaÃo Rivas" -> "Omar Montaño Rivas",
       "OndÅej KunÄar" -> "Ondřej Kunčar",
       "PAQUI LUCIO" -> "Paqui Lucio",
+      "Pal, Abhik" -> "Abhik Pal",
+      "Pasupuleti, Vijay" -> "Vijay Pasupuleti",
       "Peter Vincent Homeier" -> "Peter V. Homeier",
       "Peter" -> "",
       "Philipp Ruemmer" -> "Philipp Rümmer",
       "Philipp RÃmmer" -> "Philipp Rümmer",
+      "RTA publicity chair" -> "",
       "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",
+      "Rosu, Grigore" -> "Grigore Rosu",
       "Rozman, Mihaela" -> "Mihaela Rozman",
+      "Schmaltz, J." -> "Julien Schmaltz",
       "Serguei A. Mokhov on behalf of PST-11" -> "Serguei A. Mokhov",
-      "Silvio.Ranise@loria.fr" -> "ranise@dsi.unimi.it",
+      "Serguei Mokhov" -> "Serguei A. Mokhov",
+      "Shumeiko, Igor" -> "Igor Shumeiko",
+      "Siek, Jeremy" -> "Jeremy Siek",
+      "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" -> "tals4@cam.ac.uk",
-      "Toby.Murray@data61.csiro.au" -> "toby.murray@unimelb.edu.au",
+      "Thomas.Sewell@data61.csiro.au" -> "Thomas Sewell\nThomas.Sewell@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",
       "Viktor Kuncak" -> "Viktor Kunčak",
       "Viorel Preoteasaa" -> "Viorel Preoteasa",
-      "Yakoub.Nemouchi@lri.fr" -> "y.nemouchi@ensbiotech.edu.dz",
+      "Wickerson, John P" -> "John Wickerson",
+      "Wong, Yat" -> "Yat Wong",
+      "YAMADA, Akihisa" -> "Akihisa Yamada",
       "YliÃs Falcone" -> "Yliès Falcone",
-      "daniel.matichuk@nicta.com.au" -> "Daniel.Matichuk@data61.csiro.au",
-      "fredegar@haftmann-online.de" -> "florian@haftmann-online.de",
+      "amir mohajeri" -> "Amir Mohajeri",
+      "aniello murano" -> "Aniello Murano",
+      "barzan stefania" -> "Stefania Barzan",
+      "benhamou" -> "Belaid Benhamou",
+      "charmi panchal" -> "Charmi Panchal",
+      "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",
+      "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",
-      "haftmann@in.tum.de" -> "Florian Haftmann",
+      "geng chen" -> "Geng Chen",
+      "henning.seidler" -> "Henning Seidler",
       "hkb" -> "Hidetsune Kobayashi",
       "julien@RadboudUniversity" -> "",
+      "jun sun" -> "Jun Sun",
+      "jwang whu.edu.cn (jwang)" -> "jwang",
+      "kostas pouliasis" -> "Kostas Pouliasis",
+      "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",
       "merz@loria.fr" -> "stephan.merz@loria.fr",
+      "michel levy" -> "Michel Levy",
+      "michel.levy2009@laposte.net" -> "Michel Levy\nmichel.levy2009@laposte.net",
       "nemouchi" -> "Yakoub Nemouchi",
+      "patrick barlatier" -> "Patrick Barlatier",
+      "patrick dabou" -> "Patrick Dabou",
+      "paul zimmermann" -> "Paul Zimmermann",
       "popescu2@illinois.edu" -> "Andrei Popescu",
-      "urban@math.lmu.de" -> "Christian Urban",
+      "recruiting" -> "",
+      "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",
+      "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",
       "ÐÑÐÐÐÑÐÐÐ ÐÐÐÐÐÐÐÑÐÐÐÑ ÐÐÐÑÐÐÐ" -> "",
       "∀X.Xπ - Tutorials about Proofs" -> "Bruno Woltzenlogel Paleo",
     ).withDefault(identity)
 
   def standard_author_info(author_info: List[String]): List[String] =
-    author_info.map(standard_name).filter(_.nonEmpty).distinct
+    author_info.flatMap(s => split_lines(standard_name.getOrElse(s, s))).distinct
 
   sealed case class Message(
     name: String,
@@ -179,6 +258,8 @@
           }
         }
 
+      val name_lowercase: String = Word.lowercase(name)
+
       def get_address: Option[String] = addresses.headOption
 
       def unique: Boolean = names.length == 1 && addresses.length == 1
@@ -212,7 +293,7 @@
 
     def check(check_all: Boolean, check_multi: Boolean = false): Unit =
     {
-      val clusters = sorted.map(get_cluster).distinct.sortBy(_.name)
+      val clusters = sorted.map(get_cluster).distinct.sortBy(_.name_lowercase)
 
       if (check_all) {
         Output.writeln(cat_lines("clusters:" :: clusters.map(_.print)))