diff options
Diffstat (limited to 'lisp/textmodes')
46 files changed, 369 insertions, 220 deletions
diff --git a/lisp/textmodes/artist.el b/lisp/textmodes/artist.el index cc2eaf1e4e9..ce620821d65 100644 --- a/lisp/textmodes/artist.el +++ b/lisp/textmodes/artist.el @@ -1,6 +1,6 @@ ;;; artist.el --- draw ascii graphics with your mouse -*- lexical-binding: t -*- -;; Copyright (C) 2000-2020 Free Software Foundation, Inc. +;; Copyright (C) 2000-2021 Free Software Foundation, Inc. ;; Author: Tomas Abrahamsson <tab@lysator.liu.se> ;; Keywords: mouse diff --git a/lisp/textmodes/bib-mode.el b/lisp/textmodes/bib-mode.el index 5b4fa34a1ac..1e22287d32e 100644 --- a/lisp/textmodes/bib-mode.el +++ b/lisp/textmodes/bib-mode.el @@ -1,6 +1,6 @@ ;;; bib-mode.el --- major mode for editing bib files -;; Copyright (C) 1989, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1989, 2001-2021 Free Software Foundation, Inc. ;; Author: Henry Kautz ;; (according to authors.el) diff --git a/lisp/textmodes/bibtex-style.el b/lisp/textmodes/bibtex-style.el index 41650eb4371..66d245f9083 100644 --- a/lisp/textmodes/bibtex-style.el +++ b/lisp/textmodes/bibtex-style.el @@ -1,6 +1,6 @@ ;;; bibtex-style.el --- Major mode for BibTeX Style files -*- lexical-binding: t -*- -;; Copyright (C) 2005, 2007-2020 Free Software Foundation, Inc. +;; Copyright (C) 2005, 2007-2021 Free Software Foundation, Inc. ;; Author: Stefan Monnier <monnier@iro.umontreal.ca> ;; Keywords: tex diff --git a/lisp/textmodes/bibtex.el b/lisp/textmodes/bibtex.el index cf193ca9b10..d238b6037e7 100644 --- a/lisp/textmodes/bibtex.el +++ b/lisp/textmodes/bibtex.el @@ -1,6 +1,6 @@ ;;; bibtex.el --- BibTeX mode for GNU Emacs -*- lexical-binding: t -*- -;; Copyright (C) 1992, 1994-1999, 2001-2020 Free Software Foundation, +;; Copyright (C) 1992, 1994-1999, 2001-2021 Free Software Foundation, ;; Inc. ;; Author: Stefan Schoef <schoef@offis.uni-oldenburg.de> @@ -477,280 +477,376 @@ COMMENT is the comment string that appears in the echo area. If COMMENT is nil use `bibtex-BibTeX-field-alist' if possible. INIT is either the initial content of the field or a function, which is called to determine the initial content of the field. -ALTERNATIVE if non-nil is an integer that numbers sets of -alternatives, starting from zero." +ALTERNATIVE if non-nil is an integer N that numbers sets of +alternatives. A negative integer -N indicates an alias for the +field +N. Such aliases are ignored by `bibtex-entry' in the template +for a new entry." :group 'bibtex - :version "26.1" ; add Conference + :version "28.1" ; extend alternatives :type 'bibtex-entry-alist :risky t) (defcustom bibtex-biblatex-entry-alist ;; Compare in biblatex documentation: ;; Sec. 2.1.1 Regular types (required and optional fields) + ;; Sec. 2.2.5 Field Aliases ;; Appendix A Default Crossref setup '(("Article" "Article in Journal" - (("author") ("title") ("journaltitle") - ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("journaltitle" nil nil 3) ("journal" nil nil -3) + ("date" nil nil 1) ("year" nil nil -1)) nil (("translator") ("annotator") ("commentator") ("subtitle") ("titleaddon") ("editor") ("editora") ("editorb") ("editorc") ("journalsubtitle") ("journaltitleaddon") ("issuetitle") ("issuesubtitle") ("issuetitleaddon") ("language") ("origlanguage") ("series") ("volume") ("number") ("eid") ("issue") ("month") ("pages") ("version") ("note") ("issn") - ("addendum") ("pubstate") ("doi") ("eprint") ("eprintclass") - ("eprinttype") ("url") ("urldate"))) + ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Book" "Single-Volume Book" - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("date" nil nil 1) ("year" nil nil -1)) nil (("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") ("volumes") - ("series") ("number") ("note") ("publisher") ("location") ("isbn") ("eid") + ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") ("chapter") ("pages") ("pagetotal") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("MVBook" "Multi-Volume Book" - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("date" nil nil 1) ("year" nil nil -1)) nil (("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("language") ("origlanguage") ("edition") ("volumes") ("series") ("number") ("note") ("publisher") - ("location") ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("InBook" "Chapter or Pages in a Book" - (("title") ("year" nil nil 0) ("date" nil nil 0)) + (("title") ("date" nil nil 1) ("year" nil nil -1)) (("author") ("booktitle")) (("bookauthor") ("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") ("volumes") - ("series") ("number") ("note") ("publisher") ("location") ("isbn") ("eid") - ("chapter") ("pages") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") + ("chapter") ("pages") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("BookInBook" "Book in Collection" ; same as @inbook - (("title") ("year" nil nil 0) ("date" nil nil 0)) + (("title") ("date" nil nil 1) ("year" nil nil -1)) (("author") ("booktitle")) (("bookauthor") ("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") ("volumes") - ("series") ("number") ("note") ("publisher") ("location") ("isbn") ("eid") - ("chapter") ("pages") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") + ("chapter") ("pages") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("SuppBook" "Supplemental Material in a Book" ; same as @inbook - (("title") ("year" nil nil 0) ("date" nil nil 0)) + (("title") ("date" nil nil 1) ("year" nil nil -1)) (("author") ("booktitle")) (("bookauthor") ("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") ("volumes") - ("series") ("number") ("note") ("publisher") ("location") ("isbn") ("eid") - ("chapter") ("pages") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") + ("chapter") ("pages") ("addendum") ("pubstate") ("doi") + ("eprint")("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Booklet" "Booklet (Bound, but no Publisher)" (("author" nil nil 0) ("editor" nil nil 0) ("title") - ("year" nil nil 1) ("date" nil nil 1)) + ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("language") ("howpublished") ("type") - ("note") ("location") ("eid") ("chapter") ("pages") ("pagetotal") - ("addendum") ("pubstate") ("doi") ("eprint") ("eprintclass") - ("eprinttype") ("url") ("urldate"))) + ("note") ("location" nil nil 2) ("address" nil nil -2) + ("eid") ("chapter") ("pages") ("pagetotal") + ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Collection" "Single-Volume Collection" - (("editor") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("editor") ("title") + ("date" nil nil 1) ("year" nil nil -1)) nil (("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") ("volumes") ("series") ("number") ("note") - ("publisher") ("location") ("isbn") ("eid") ("chapter") ("pages") - ("pagetotal") ("addendum") ("pubstate") ("doi") ("eprint") ("eprintclass") - ("eprinttype") ("url") ("urldate"))) + ("publisher") ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("eid") ("chapter") ("pages") + ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("MVCollection" "Multi-Volume Collection" - (("editor") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("editor") ("title") + ("date" nil nil 1) ("year" nil nil -1)) nil (("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("language") ("origlanguage") ("edition") ("volumes") ("series") ("number") ("note") ("publisher") - ("location") ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("InCollection" "Article in a Collection" - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("date" nil nil 1) ("year" nil nil -1)) (("booktitle")) (("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") - ("volumes") ("series") ("number") ("note") ("publisher") ("location") + ("volumes") ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") ("chapter") ("pages") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("SuppCollection" "Supplemental Material in a Collection" ; same as @incollection - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("date" nil nil 1) ("year" nil nil -1)) (("booktitle")) (("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") - ("volumes") ("series") ("number") ("note") ("publisher") ("location") + ("volumes") ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") ("chapter") ("pages") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Dataset" "Data Set" (("author" nil nil 0) ("editor" nil nil 0) ("title") - ("year" nil nil 1) ("date" nil nil 1)) + ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("language") ("edition") ("type") ("series") ("number") ("version") ("note") ("organization") ("publisher") - ("location") ("addendum") ("pubstate") ("doi") ("eprint") ("eprintclass") - ("eprinttype") ("url") ("urldate"))) + ("location" nil nil 2) ("address" nil nil -2) + ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Manual" "Technical Manual" (("author" nil nil 0) ("editor" nil nil 0) ("title") - ("year" nil nil 1) ("date" nil nil 1)) + ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("language") ("edition") ("type") ("series") ("number") ("version") ("note") - ("organization") ("publisher") ("location") ("isbn") ("eid") ("chapter") - ("pages") ("pagetotal") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("organization") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("eid") ("chapter") + ("pages") ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Misc" "Miscellaneous" (("author" nil nil 0) ("editor" nil nil 0) ("title") - ("year" nil nil 1) ("date" nil nil 1)) + ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("language") ("howpublished") ("type") - ("version") ("note") ("organization") ("location") - ("month") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("version") ("note") ("organization") + ("location" nil nil 2) ("address" nil nil -2) + ("month") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Online" "Online Resource" (("author" nil nil 0) ("editor" nil nil 0) ("title") - ("year" nil nil 1) ("date" nil nil 1) + ("date" nil nil 1) ("year" nil nil -1) ("doi" nil nil 2) ("eprint" nil nil 2) ("url" nil nil 2)) nil (("subtitle") ("titleaddon") ("language") ("version") ("note") ("organization") ("month") ("addendum") - ("pubstate") ("eprintclass") ("eprinttype") ("urldate"))) + ("pubstate") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) ("urldate"))) ("Patent" "Patent" - (("author") ("title") ("number") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") ("number") + ("date" nil nil 1) ("year" nil nil -1)) nil - (("holder") ("subtitle") ("titleaddon") ("type") ("version") ("location") - ("note") ("month") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + (("holder") ("subtitle") ("titleaddon") ("type") ("version") + ("location" nil nil 2) ("address" nil nil -2) + ("note") ("month") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Periodical" "Complete Issue of a Periodical" - (("editor") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("editor") ("title") + ("date" nil nil 1) ("year" nil nil -1)) nil (("editora") ("editorb") ("editorc") ("subtitle") ("titleaddon") ("issuetitle") ("issuesubtitle") ("issuetitleaddon") ("language") ("series") ("volume") ("number") ("issue") - ("month") ("note") ("issn") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("month") ("note") ("issn") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("SuppPeriodical" "Supplemental Material in a Periodical" ; same as @article - (("author") ("title") ("journaltitle") - ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("journaltitle" nil nil 3) ("journal" nil nil -3) + ("date" nil nil 1) ("year" nil nil -1)) nil (("translator") ("annotator") ("commentator") ("subtitle") ("titleaddon") ("editor") ("editora") ("editorb") ("editorc") ("journalsubtitle") ("journaltitleaddon") ("issuetitle") ("issuesubtitle") ("issuetitleaddon") ("language") ("origlanguage") ("series") ("volume") ("number") ("eid") ("issue") ("month") ("pages") ("version") ("note") ("issn") - ("addendum") ("pubstate") ("doi") ("eprint") ("eprintclass") - ("eprinttype") ("url") ("urldate"))) + ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Proceedings" "Single-Volume Conference Proceedings" - (("title") ("year" nil nil 0) ("date" nil nil 0)) + (("title") ("date" nil nil 1) ("year" nil nil -1)) nil (("editor") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("eventtitle") ("eventtitleaddon") ("eventdate") ("venue") ("language") ("volume") ("part") ("volumes") ("series") - ("number") ("note") ("organization") ("publisher") ("location") ("month") + ("number") ("note") ("organization") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("month") ("isbn") ("eid") ("chapter") ("pages") ("pagetotal") ("addendum") - ("pubstate") ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") - ("urldate"))) + ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("MVProceedings" "Multi-Volume Conference Proceedings" - (("title") ("year" nil nil 0) ("date" nil nil 0)) + (("title") ("date" nil nil 1) ("year" nil nil -1)) nil (("editor") ("subtitle") ("titleaddon") ("eventtitle") ("eventtitleaddon") ("eventdate") ("venue") ("language") ("volumes") ("series") ("number") - ("note") ("organization") ("publisher") ("location") ("month") - ("isbn") ("pagetotal") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("note") ("organization") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("month") + ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("InProceedings" "Article in Conference Proceedings" - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") + ("date" nil nil 1) ("year" nil nil -1)) (("booktitle")) (("editor") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("eventtitle") ("eventtitleaddon") ("eventdate") ("venue") ("language") ("volume") ("part") ("volumes") ("series") ("number") ("note") - ("organization") ("publisher") ("location") ("month") ("isbn") ("eid") - ("chapter") ("pages") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("organization") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("month") ("isbn") ("eid") + ("chapter") ("pages") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Reference" "Single-Volume Work of Reference" ; same as @collection - (("editor") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("editor") ("title") ("date" nil nil 1) ("year" nil nil -1)) nil (("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") ("volumes") ("series") ("number") ("note") - ("publisher") ("location") ("isbn") ("eid") ("chapter") ("pages") - ("pagetotal") ("addendum") ("pubstate") ("doi") ("eprint") ("eprintclass") - ("eprinttype") ("url") ("urldate"))) + ("publisher") ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("eid") ("chapter") ("pages") + ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("MVReference" "Multi-Volume Work of Reference" ; same as @mvcollection - (("editor") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("editor") ("title") ("date" nil nil 1) ("year" nil nil -1)) nil (("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("language") ("origlanguage") ("edition") ("volumes") ("series") ("number") ("note") ("publisher") - ("location") ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("InReference" "Article in a Work of Reference" ; same as @incollection - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") ("date" nil nil 1) ("year" nil nil -1)) (("booktitle")) (("editor") ("editora") ("editorb") ("editorc") ("translator") ("annotator") ("commentator") ("introduction") ("foreword") ("afterword") ("subtitle") ("titleaddon") ("maintitle") ("mainsubtitle") ("maintitleaddon") ("booksubtitle") ("booktitleaddon") ("language") ("origlanguage") ("volume") ("part") ("edition") - ("volumes") ("series") ("number") ("note") ("publisher") ("location") + ("volumes") ("series") ("number") ("note") ("publisher") + ("location" nil nil 2) ("address" nil nil -2) ("isbn") ("eid") ("chapter") ("pages") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Report" "Technical or Research Report" - (("author") ("title") ("type") ("institution") - ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") ("type") + ("institution" nil nil 6) ("school" nil nil -6) + ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("language") ("number") ("version") ("note") - ("location") ("month") ("isrn") ("eid") ("chapter") ("pages") - ("pagetotal") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("location" nil nil 2) ("address" nil nil -2) + ("month") ("isrn") ("eid") ("chapter") ("pages") + ("pagetotal") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Software" "Computer Software" ; Same as @misc. (("author" nil nil 0) ("editor" nil nil 0) ("title") - ("year" nil nil 1) ("date" nil nil 1)) + ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("language") ("howpublished") ("type") - ("version") ("note") ("organization") ("location") - ("month") ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("version") ("note") ("organization") + ("location" nil nil 2) ("address" nil nil -2) + ("month") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Thesis" "PhD or Master's Thesis" - (("author") ("title") ("type") ("institution") - ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") ("type") + ("institution" nil nil 6) ("school" nil nil -6) + ("date" nil nil 1) ("year" nil nil -1)) nil - (("subtitle") ("titleaddon") ("language") ("note") ("location") + (("subtitle") ("titleaddon") ("language") ("note") + ("location" nil nil 2) ("address" nil nil -2) ("month") ("isbn") ("eid") ("chapter") ("pages") ("pagetotal") - ("addendum") ("pubstate") - ("doi") ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate"))) + ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate"))) ("Unpublished" "Unpublished" - (("author") ("title") ("year" nil nil 0) ("date" nil nil 0)) + (("author") ("title") ("date" nil nil 1) ("year" nil nil -1)) nil (("subtitle") ("titleaddon") ("type") ("eventtitle") ("eventtitleaddon") ("eventdate") ("venue") ("language") ("howpublished") ("note") - ("location") ("isbn") ("month") ("addendum") ("pubstate") ("doi") - ("eprint") ("eprintclass") ("eprinttype") ("url") ("urldate")))) + ("location" nil nil 2) ("address" nil nil -2) + ("isbn") ("month") ("addendum") ("pubstate") ("doi") + ("eprint") ("eprintclass" nil nil 4) ("primaryclass" nil nil -4) + ("eprinttype" nil nil 5) ("archiveprefix" nil nil -5) + ("url") ("urldate")))) "Alist of biblatex entry types and their associated fields. It has the same format as `bibtex-BibTeX-entry-alist'." :group 'bibtex @@ -2328,10 +2424,6 @@ Optional arg COMMA is as in `bibtex-enclosing-field'." "Add NEWELT to the list stored in VEC at index IDX." (aset vec idx (cons newelt (aref vec idx)))) -(defsubst bibtex-vec-incr (vec idx) - "Increment by 1 the counter which is stored in VEC at index IDX." - (aset vec idx (1+ (aref vec idx)))) - (defun bibtex-format-entry () "Helper function for `bibtex-clean-entry'. Formats current entry according to variable `bibtex-entry-format'." @@ -2352,7 +2444,8 @@ Formats current entry according to variable `bibtex-entry-format'." strings sort-fields) bibtex-entry-format)) (left-delim-re (regexp-quote (bibtex-field-left-delimiter))) - bounds crossref-key req-field-list default-field-list field-list + bounds crossref-key req-field-list opt-field-list + default-field-list field-list num-alt alt-fields idx error-field-name) (unwind-protect ;; formatting (undone if error occurs) @@ -2399,16 +2492,22 @@ Formats current entry according to variable `bibtex-entry-format'." ;; list of required fields appropriate for an entry with ;; or without crossref key. - (setq req-field-list (if crossref-key (nth 2 entry-list) - (append (nth 2 entry-list) (nth 3 entry-list))) + (setq req-field-list (append (nth 2 entry-list) + (unless crossref-key + (nth 3 entry-list))) + opt-field-list (append (if crossref-key + (nth 3 entry-list)) + (nth 4 entry-list) + bibtex-user-optional-fields) ;; default list of fields that may appear in this entry - default-field-list (append (nth 2 entry-list) (nth 3 entry-list) - (nth 4 entry-list) - bibtex-user-optional-fields) - ;; number of ALT fields we expect to find - num-alt (length (delq nil (delete-dups - (mapcar (lambda (x) (nth 3 x)) - req-field-list)))) + default-field-list (append req-field-list opt-field-list) + ;; number of ALT fields we may find + num-alt (let ((n 0)) + (mapc (lambda (x) + (if (nth 3 x) + (setq n (max n (abs (nth 3 x)))))) + default-field-list) + (1+ n)) ;; ALT fields of respective groups alt-fields (make-vector num-alt nil)) @@ -2447,8 +2546,9 @@ Formats current entry according to variable `bibtex-entry-format'." (if opt-alt (setq field-name (substring field-name 3))) ;; keep track of alternatives - (if (setq idx (nth 3 (assoc-string field-name req-field-list t))) - (bibtex-vec-push alt-fields idx field-name)) + (if (and (not empty-field) + (setq idx (nth 3 (assoc-string field-name default-field-list t)))) + (bibtex-vec-push alt-fields (abs idx) field-name)) (if (memq 'opts-or-alts format) ;; delete empty optional and alternative fields @@ -2597,34 +2697,34 @@ Formats current entry according to variable `bibtex-entry-format'." ;; check whether all required fields are present (when (memq 'required-fields format) - (let ((alt-expect (make-vector num-alt nil)) - (alt-found (make-vector num-alt 0))) + (let ((alt-expect (make-vector num-alt nil))) (dolist (fname req-field-list) - (cond ((setq idx (nth 3 fname)) - ;; t if field has alternative flag - (bibtex-vec-push alt-expect idx (car fname)) - (if (member-ignore-case (car fname) field-list) - (bibtex-vec-incr alt-found idx))) + (cond ((nth 3 fname) + ;; t if required field has alternative flag + (setq idx (abs (nth 3 fname))) + (bibtex-vec-push alt-expect idx (car fname))) ((not (member-ignore-case (car fname) field-list)) - ;; If we use the crossref field, a required field - ;; can have the OPT prefix. So if it was empty, - ;; we have deleted by now. Nonetheless we can - ;; move point on this empty field. - (setq error-field-name (car fname)) + (setq error-field-name (car fname)) (user-error "Mandatory field `%s' is missing" (car fname))))) (dotimes (idx num-alt) - (cond ((= 0 (aref alt-found idx)) + (cond ((and (aref alt-expect idx) + (not (aref alt-fields idx))) (setq error-field-name (car (last (aref alt-fields idx)))) - (user-error "Alternative mandatory field `%s' is missing" - (aref alt-expect idx))) - ((< 1 (aref alt-found idx)) + (user-error "Alternative mandatory fields `%s' are missing" + (mapconcat 'identity + (reverse + (aref alt-expect idx)) + ", "))) + ((nth 1 (aref alt-fields idx)) (setq error-field-name (car (last (aref alt-fields idx)))) - (user-error "Alternative fields `%s' are defined %s times" - (aref alt-expect idx) - (length (aref alt-fields idx)))))))) + (user-error "Fields `%s' are alternatives" + (mapconcat 'identity + (reverse + (aref alt-fields idx)) + ", "))))))) ;; update comma after last field (if (memq 'last-comma format) @@ -3653,8 +3753,7 @@ and `bibtex-user-optional-fields'." (setq required (append (nth 2 e-list) (nth 3 e-list)) optional (nth 4 e-list))) (if bibtex-include-OPTkey - (push (list "key" - "Crossref key" + (push (list "key" "Used as label with certain BibTeX styles" (if (or (stringp bibtex-include-OPTkey) (functionp bibtex-include-OPTkey)) bibtex-include-OPTkey)) @@ -3663,7 +3762,41 @@ and `bibtex-user-optional-fields'." (push '("crossref" "Reference key of the cross-referenced entry") optional)) (setq optional (append optional bibtex-user-optional-fields)) - (cons required optional))) + (cons (bibtex--skip-field-aliases required) + (bibtex--skip-field-aliases optional)))) + +(defun bibtex--skip-field-aliases (list) + "Skip fields in LIST that are aliases, return the shortened list. +Aliases are fields for which the element ALTERNATIVE is a negative number, +see `bibtex-BibTeX-entry-alist'. The shortened field list is used +for the templates of `bibtex-entry', whereas entry validation performed by +`bibtex-format-entry' uses the full list of fields for an entry." + ;; FIXME: `bibtex-entry' and `bibtex-format-entry' handle aliases + ;; under the hood in a manner that is largely invisible to users. + ;; If instead one wanted to display the aliases as alternatives + ;; in the usual way, field names may get both the ALT and the OPT prefix. + ;; That gets rather clumsy. Also, the code currently assumes that + ;; field names have either the ALT or the OPT prefix, but not both. + ;; Are there scenarios when it would be useful to display both? + (let (alt-list new-list) + (dolist (elt list) ; identify alternatives + (if (and (nth 3 elt) + (<= 0 (nth 3 elt))) + (push (nth 3 elt) alt-list))) + (setq alt-list (sort alt-list '<)) + ;; Skip aliases. If ELT is marked as "proper alternative", but all + ;; alternatives for field ELT are aliases, we do not label ELT + ;; as an alternative either. + (dolist (elt list) + (let ((alt (nth 3 elt))) + (if alt + (if (<= 0 alt) + (push (if (eq alt (cadr (memq alt alt-list))) + elt ; ELT has proper alternatives + (butlast elt)) ; alternatives of ELT are alias + new-list)) + (push elt new-list)))) + (reverse new-list))) (defun bibtex-entry (entry-type) "Insert a template for a BibTeX entry of type ENTRY-TYPE. @@ -4399,12 +4532,19 @@ Return t if test was successful, nil otherwise." (entry-list (assoc-string (bibtex-type-in-head) bibtex-entry-alist t)) (crossref (bibtex-search-forward-field "crossref" end)) - (req (if crossref (copy-sequence (nth 2 entry-list)) - (append (nth 2 entry-list) + (req (append (nth 2 entry-list) + (unless crossref (copy-sequence (nth 3 entry-list))))) - (num-alt (length (delq nil (delete-dups - (mapcar (lambda (x) (nth 3 x)) - req))))) + (opt (append (if crossref (nth 3 entry-list)) + (nth 4 entry-list) + bibtex-user-optional-fields)) + (default (append req opt)) + (num-alt (let ((n 0)) + (mapc (lambda (x) + (if (nth 3 x) + (setq n (max n (abs (nth 3 x)))))) + default) + (1+ n))) (alt-fields (make-vector num-alt nil)) bounds field idx) (while (setq bounds (bibtex-parse-field)) @@ -4419,7 +4559,7 @@ Return t if test was successful, nil otherwise." (push (cons (bibtex-current-line) "Questionable month field") error-list)) - (setq field (assoc-string field-name req t) + (setq field (assoc-string field-name default t) req (delete field req)) (if (setq idx (nth 3 field)) (if (aref alt-fields idx) @@ -4438,12 +4578,13 @@ Return t if test was successful, nil otherwise." (car field))) error-list))) (dotimes (idx num-alt) - (unless (aref alt-fields idx) - (push (cons beg-line - (format-message - "Alternative fields `%s' missing" - (aref alt-expect idx))) - error-list)))))))) + (if (and (aref alt-expect idx) + (not (aref alt-fields idx))) + (push (cons beg-line + (format-message + "Alternative fields `%s' missing" + (aref alt-expect idx))) + error-list)))))))) (bibtex-progress-message 'done))))) (if error-list diff --git a/lisp/textmodes/conf-mode.el b/lisp/textmodes/conf-mode.el index 722fc0a3137..d88964aa4f0 100644 --- a/lisp/textmodes/conf-mode.el +++ b/lisp/textmodes/conf-mode.el @@ -1,6 +1,6 @@ ;;; conf-mode.el --- Simple major mode for editing conf/ini/properties files -*- lexical-binding: t; -*- -;; Copyright (C) 2004-2020 Free Software Foundation, Inc. +;; Copyright (C) 2004-2021 Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer <occitan@esperanto.org> ;; Keywords: conf ini windows java diff --git a/lisp/textmodes/css-mode.el b/lisp/textmodes/css-mode.el index 747657b1ed5..9186e520086 100644 --- a/lisp/textmodes/css-mode.el +++ b/lisp/textmodes/css-mode.el @@ -1,6 +1,6 @@ ;;; css-mode.el --- Major mode to edit CSS files -*- lexical-binding: t -*- -;; Copyright (C) 2006-2020 Free Software Foundation, Inc. +;; Copyright (C) 2006-2021 Free Software Foundation, Inc. ;; Author: Stefan Monnier <monnier@iro.umontreal.ca> ;; Maintainer: Simen Heggestøyl <simenheg@gmail.com> diff --git a/lisp/textmodes/dns-mode.el b/lisp/textmodes/dns-mode.el index dd28cb8f9a4..23a622992ad 100644 --- a/lisp/textmodes/dns-mode.el +++ b/lisp/textmodes/dns-mode.el @@ -1,6 +1,6 @@ ;;; dns-mode.el --- a mode for viewing/editing Domain Name System master files -;; Copyright (C) 2000-2001, 2004-2020 Free Software Foundation, Inc. +;; Copyright (C) 2000-2001, 2004-2021 Free Software Foundation, Inc. ;; Author: Simon Josefsson <simon@josefsson.org> ;; Keywords: DNS master zone file SOA comm diff --git a/lisp/textmodes/enriched.el b/lisp/textmodes/enriched.el index 919e09076d2..1aac96413e4 100644 --- a/lisp/textmodes/enriched.el +++ b/lisp/textmodes/enriched.el @@ -1,6 +1,6 @@ ;;; enriched.el --- read and save files in text/enriched format -;; Copyright (C) 1994-1996, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1994-1996, 2001-2021 Free Software Foundation, Inc. ;; Author: Boris Goldowsky <boris@gnu.org> ;; Keywords: wp, faces diff --git a/lisp/textmodes/fill.el b/lisp/textmodes/fill.el index 15b13af5681..e9bef6ec801 100644 --- a/lisp/textmodes/fill.el +++ b/lisp/textmodes/fill.el @@ -1,6 +1,6 @@ ;;; fill.el --- fill commands for Emacs -;; Copyright (C) 1985-1986, 1992, 1994-1997, 1999, 2001-2020 Free +;; Copyright (C) 1985-1986, 1992, 1994-1997, 1999, 2001-2021 Free ;; Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/flyspell.el b/lisp/textmodes/flyspell.el index 2757074f9f8..d8503168846 100644 --- a/lisp/textmodes/flyspell.el +++ b/lisp/textmodes/flyspell.el @@ -1,6 +1,6 @@ ;;; flyspell.el --- On-the-fly spell checker -*- lexical-binding:t -*- -;; Copyright (C) 1998, 2000-2020 Free Software Foundation, Inc. +;; Copyright (C) 1998, 2000-2021 Free Software Foundation, Inc. ;; Author: Manuel Serrano <Manuel.Serrano@sophia.inria.fr> ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/ispell.el b/lisp/textmodes/ispell.el index ba7f36da76c..8d49a7c54c8 100644 --- a/lisp/textmodes/ispell.el +++ b/lisp/textmodes/ispell.el @@ -1,6 +1,6 @@ ;;; ispell.el --- interface to spell checkers -*- lexical-binding:t -*- -;; Copyright (C) 1994-1995, 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1994-1995, 1997-2021 Free Software Foundation, Inc. ;; Author: Ken Stevens <k.stevens@ieee.org> diff --git a/lisp/textmodes/less-css-mode.el b/lisp/textmodes/less-css-mode.el index 30974b99881..9cacc175ba9 100644 --- a/lisp/textmodes/less-css-mode.el +++ b/lisp/textmodes/less-css-mode.el @@ -1,6 +1,6 @@ ;;; less-css-mode.el --- Major mode for editing Less CSS files -*- lexical-binding: t; -*- -;; Copyright (C) 2011-2020 Free Software Foundation, Inc. +;; Copyright (C) 2011-2021 Free Software Foundation, Inc. ;; Author: Steve Purcell <steve@sanityinc.com> ;; Maintainer: Simen Heggestøyl <simenheg@gmail.com> diff --git a/lisp/textmodes/makeinfo.el b/lisp/textmodes/makeinfo.el index f41ed876e5f..e48649bae37 100644 --- a/lisp/textmodes/makeinfo.el +++ b/lisp/textmodes/makeinfo.el @@ -1,6 +1,6 @@ ;;; makeinfo.el --- run makeinfo conveniently -;; Copyright (C) 1991, 1993, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1991, 1993, 2001-2021 Free Software Foundation, Inc. ;; Author: Robert J. Chassell ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/mhtml-mode.el b/lisp/textmodes/mhtml-mode.el index 329f3e7241d..32542d0400f 100644 --- a/lisp/textmodes/mhtml-mode.el +++ b/lisp/textmodes/mhtml-mode.el @@ -1,6 +1,6 @@ ;;; mhtml-mode.el --- HTML editing mode that handles CSS and JS -*- lexical-binding:t -*- -;; Copyright (C) 2017-2020 Free Software Foundation, Inc. +;; Copyright (C) 2017-2021 Free Software Foundation, Inc. ;; Keywords: wp, hypermedia, comm, languages diff --git a/lisp/textmodes/nroff-mode.el b/lisp/textmodes/nroff-mode.el index 2d7ab13f480..896578513cf 100644 --- a/lisp/textmodes/nroff-mode.el +++ b/lisp/textmodes/nroff-mode.el @@ -1,6 +1,6 @@ ;;; nroff-mode.el --- GNU Emacs major mode for editing nroff source -;; Copyright (C) 1985-1986, 1994-1995, 1997, 2001-2020 Free Software +;; Copyright (C) 1985-1986, 1994-1995, 1997, 2001-2021 Free Software ;; Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/page-ext.el b/lisp/textmodes/page-ext.el index b357bbbbe97..c3e1fb14bc3 100644 --- a/lisp/textmodes/page-ext.el +++ b/lisp/textmodes/page-ext.el @@ -1,6 +1,6 @@ ;;; page-ext.el --- extended page handling commands -*- lexical-binding:t -*- -;; Copyright (C) 1990-1991, 1993-1994, 2001-2020 Free Software +;; Copyright (C) 1990-1991, 1993-1994, 2001-2021 Free Software ;; Foundation, Inc. ;; Author: Robert J. Chassell <bob@gnu.org> diff --git a/lisp/textmodes/page.el b/lisp/textmodes/page.el index 029ba966912..e1d7fb7431c 100644 --- a/lisp/textmodes/page.el +++ b/lisp/textmodes/page.el @@ -1,6 +1,6 @@ ;;; page.el --- page motion commands for Emacs -*- lexical-binding: t; -*- -;; Copyright (C) 1985, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1985, 2001-2021 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org ;; Keywords: wp convenience diff --git a/lisp/textmodes/paragraphs.el b/lisp/textmodes/paragraphs.el index b0975291428..217ae10fe4d 100644 --- a/lisp/textmodes/paragraphs.el +++ b/lisp/textmodes/paragraphs.el @@ -1,6 +1,6 @@ ;;; paragraphs.el --- paragraph and sentence parsing -*- lexical-binding: t -*- -;; Copyright (C) 1985-1987, 1991, 1994-1997, 1999-2020 Free Software +;; Copyright (C) 1985-1987, 1991, 1994-1997, 1999-2021 Free Software ;; Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/picture.el b/lisp/textmodes/picture.el index 9cf61c6c5ee..3cb1043545a 100644 --- a/lisp/textmodes/picture.el +++ b/lisp/textmodes/picture.el @@ -1,6 +1,6 @@ ;;; picture.el --- "Picture mode" -- editing using quarter-plane screen model -*- lexical-binding: t -*- -;; Copyright (C) 1985, 1994, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1985, 1994, 2001-2021 Free Software Foundation, Inc. ;; Author: K. Shane Hartman ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/po.el b/lisp/textmodes/po.el index 29c6d3f4608..1066e93af10 100644 --- a/lisp/textmodes/po.el +++ b/lisp/textmodes/po.el @@ -1,6 +1,6 @@ ;;; po.el --- basic support of PO translation files -*- lexical-binding:t -*- -;; Copyright (C) 1995-1998, 2000-2020 Free Software Foundation, Inc. +;; Copyright (C) 1995-1998, 2000-2021 Free Software Foundation, Inc. ;; Authors: François Pinard <pinard@iro.umontreal.ca>, ;; Greg McGary <gkm@magilla.cichlid.com>, diff --git a/lisp/textmodes/refbib.el b/lisp/textmodes/refbib.el index a1df483801e..bff57128c51 100644 --- a/lisp/textmodes/refbib.el +++ b/lisp/textmodes/refbib.el @@ -1,6 +1,6 @@ ;;; refbib.el --- convert refer-style references to ones usable by Latex bib -;; Copyright (C) 1989, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1989, 2001-2021 Free Software Foundation, Inc. ;; Author: Henry Kautz <kautz@research.att.com> ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/refer.el b/lisp/textmodes/refer.el index 888c310b4a1..ae1f7781686 100644 --- a/lisp/textmodes/refer.el +++ b/lisp/textmodes/refer.el @@ -1,6 +1,6 @@ ;;; refer.el --- look up references in bibliography files -;; Copyright (C) 1992, 1996, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1992, 1996, 2001-2021 Free Software Foundation, Inc. ;; Author: Ashwin Ram <ashwin@cc.gatech.edu> ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/refill.el b/lisp/textmodes/refill.el index 139221fae37..6edd9aeb7ef 100644 --- a/lisp/textmodes/refill.el +++ b/lisp/textmodes/refill.el @@ -1,6 +1,6 @@ ;;; refill.el --- `auto-fill' by refilling paragraphs on changes -;; Copyright (C) 2000-2020 Free Software Foundation, Inc. +;; Copyright (C) 2000-2021 Free Software Foundation, Inc. ;; Author: Dave Love <fx@gnu.org> ;; Maintainer: Miles Bader <miles@gnu.org> diff --git a/lisp/textmodes/reftex-auc.el b/lisp/textmodes/reftex-auc.el index de6d5338004..ae3faec4fdc 100644 --- a/lisp/textmodes/reftex-auc.el +++ b/lisp/textmodes/reftex-auc.el @@ -1,6 +1,6 @@ ;;; reftex-auc.el --- RefTeX's interface to AUCTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-cite.el b/lisp/textmodes/reftex-cite.el index 49e5b28f6a4..5579e401790 100644 --- a/lisp/textmodes/reftex-cite.el +++ b/lisp/textmodes/reftex-cite.el @@ -1,6 +1,6 @@ ;;; reftex-cite.el --- creating citations with RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-dcr.el b/lisp/textmodes/reftex-dcr.el index 8b2569a352d..e517cea2669 100644 --- a/lisp/textmodes/reftex-dcr.el +++ b/lisp/textmodes/reftex-dcr.el @@ -1,6 +1,6 @@ ;;; reftex-dcr.el --- viewing cross references and citations with RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el index a4e8c9ffd33..4d021609019 100644 --- a/lisp/textmodes/reftex-global.el +++ b/lisp/textmodes/reftex-global.el @@ -1,6 +1,6 @@ ;;; reftex-global.el --- operations on entire documents with RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-index.el b/lisp/textmodes/reftex-index.el index bebda483679..5049ffb64b1 100644 --- a/lisp/textmodes/reftex-index.el +++ b/lisp/textmodes/reftex-index.el @@ -1,6 +1,6 @@ ;;; reftex-index.el --- index support with RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-parse.el b/lisp/textmodes/reftex-parse.el index 4f4afe9d2c6..98c61f56b48 100644 --- a/lisp/textmodes/reftex-parse.el +++ b/lisp/textmodes/reftex-parse.el @@ -1,6 +1,6 @@ ;;; reftex-parse.el --- parser functions for RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org @@ -1046,7 +1046,7 @@ When point is just after a { or [, limit string to matching parenthesis." ;;;###autoload (defun reftex-init-section-numbers (&optional toc-entry appendix) - "Initialize the section numbers with zeros or with what is found in the TOC-ENTRY." + "Initialize section numbers with zeros or with what is found in the TOC-ENTRY." (let* ((level (or (nth 5 toc-entry) -1)) (numbers (nreverse (split-string (or (nth 6 toc-entry) "") "\\."))) (depth (1- (length reftex-section-numbers))) diff --git a/lisp/textmodes/reftex-ref.el b/lisp/textmodes/reftex-ref.el index 4c780d8d8c3..439c02f8089 100644 --- a/lisp/textmodes/reftex-ref.el +++ b/lisp/textmodes/reftex-ref.el @@ -1,6 +1,6 @@ ;;; reftex-ref.el --- code to create labels and references with RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-sel.el b/lisp/textmodes/reftex-sel.el index 137a912cb60..d2e9974499b 100644 --- a/lisp/textmodes/reftex-sel.el +++ b/lisp/textmodes/reftex-sel.el @@ -1,6 +1,6 @@ ;;; reftex-sel.el --- the selection modes for RefTeX -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex-toc.el b/lisp/textmodes/reftex-toc.el index eb6ed2ff441..3b9f970a3d2 100644 --- a/lisp/textmodes/reftex-toc.el +++ b/lisp/textmodes/reftex-toc.el @@ -1,6 +1,6 @@ ;;; reftex-toc.el --- RefTeX's table of contents mode -;; Copyright (C) 1997-2000, 2003-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2000, 2003-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org @@ -851,7 +851,8 @@ if these sets are sorted blocks in the alist." "Make sure all files of the document are being visited by buffers, and that the scanning info is absolutely up to date. We do this by rescanning with `reftex-keep-temporary-buffers' bound to t. -The variable `reftex--pro-or-de' is assumed to be dynamically scoped into this function. +The variable `reftex--pro-or-de' is assumed to be dynamically +scoped into this function. When finished, we exit with an error message." (let ((reftex-keep-temporary-buffers t)) (reftex-toc-Rescan) diff --git a/lisp/textmodes/reftex-vars.el b/lisp/textmodes/reftex-vars.el index f73b849b6dd..073059d52e8 100644 --- a/lisp/textmodes/reftex-vars.el +++ b/lisp/textmodes/reftex-vars.el @@ -1,6 +1,6 @@ ;;; reftex-vars.el --- configuration variables for RefTeX -;; Copyright (C) 1997-1999, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-1999, 2001-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/reftex.el b/lisp/textmodes/reftex.el index b1fa79ae2ac..be9b23677cb 100644 --- a/lisp/textmodes/reftex.el +++ b/lisp/textmodes/reftex.el @@ -1,5 +1,5 @@ ;;; reftex.el --- minor mode for doing \label, \ref, \cite, \index in LaTeX -;; Copyright (C) 1997-2000, 2003-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2000, 2003-2021 Free Software Foundation, Inc. ;; Author: Carsten Dominik <dominik@science.uva.nl> ;; Maintainer: auctex-devel@gnu.org diff --git a/lisp/textmodes/remember.el b/lisp/textmodes/remember.el index 7bc7dc1762e..98d3a3856ea 100644 --- a/lisp/textmodes/remember.el +++ b/lisp/textmodes/remember.el @@ -1,6 +1,6 @@ ;;; remember --- a mode for quickly jotting down things to remember -;; Copyright (C) 1999-2001, 2003-2020 Free Software Foundation, Inc. +;; Copyright (C) 1999-2001, 2003-2021 Free Software Foundation, Inc. ;; Author: John Wiegley <johnw@gnu.org> ;; Maintainer: emacs-devel@gnu.org @@ -638,9 +638,14 @@ to turn the *scratch* buffer into your notes buffer." (interactive "p") (let ((buf (or (find-buffer-visiting remember-data-file) (with-current-buffer (find-file-noselect remember-data-file) - (and remember-notes-buffer-name - (not (get-buffer remember-notes-buffer-name)) - (rename-buffer remember-notes-buffer-name)) + (when remember-notes-buffer-name + (when (and (get-buffer remember-notes-buffer-name) + (equal remember-notes-buffer-name "*scratch*")) + (kill-buffer remember-notes-buffer-name)) + ;; Rename the buffer to the requested name (if + ;; it's not already in use). + (unless (get-buffer remember-notes-buffer-name) + (rename-buffer remember-notes-buffer-name))) (funcall (or remember-notes-initial-major-mode initial-major-mode)) (remember-notes-mode 1) diff --git a/lisp/textmodes/rst.el b/lisp/textmodes/rst.el index 435de2683ef..18341716e3a 100644 --- a/lisp/textmodes/rst.el +++ b/lisp/textmodes/rst.el @@ -1,6 +1,6 @@ ;;; rst.el --- Mode for viewing and editing reStructuredText-documents -*- lexical-binding: t -*- -;; Copyright (C) 2003-2020 Free Software Foundation, Inc. +;; Copyright (C) 2003-2021 Free Software Foundation, Inc. ;; Maintainer: Stefan Merten <stefan at merten-home dot de> ;; Author: Stefan Merten <stefan at merten-home dot de>, @@ -568,9 +568,7 @@ After interpretation of ARGS the results are concatenated as for (regexp-quote (char-to-string re))) ((listp re) (let ((nested - (mapcar (lambda (elt) - (rst-re elt)) - (cdr re)))) + (mapcar #'rst-re (cdr re)))) (cond ((eq (car re) :seq) (mapconcat #'identity nested "")) @@ -1398,7 +1396,8 @@ highlighting. t nil nil nil (font-lock-multiline . t) (font-lock-mark-block-function . mark-paragraph))) - (add-hook 'font-lock-extend-region-functions #'rst-font-lock-extend-region t) + (add-hook 'font-lock-extend-region-functions + #'rst-font-lock-extend-region nil t) ;; Text after a changed line may need new fontification. (setq-local jit-lock-contextually t) diff --git a/lisp/textmodes/sgml-mode.el b/lisp/textmodes/sgml-mode.el index f3d8695e248..8465e82b02a 100644 --- a/lisp/textmodes/sgml-mode.el +++ b/lisp/textmodes/sgml-mode.el @@ -1,6 +1,6 @@ ;;; sgml-mode.el --- SGML- and HTML-editing modes -*- lexical-binding:t -*- -;; Copyright (C) 1992, 1995-1996, 1998, 2001-2020 Free Software +;; Copyright (C) 1992, 1995-1996, 1998, 2001-2021 Free Software ;; Foundation, Inc. ;; Author: James Clark <jjc@jclark.com> @@ -2364,8 +2364,8 @@ have <h1>Very Major Headlines</h1> through <h6>Very Minor Headlines</h6> <p>Paragraphs only need an opening tag. Line breaks and multiple spaces are ignored unless the text is <pre>preformatted.</pre> Text can be marked as -<strong>bold</strong>, <em>italic</em> or <u>underlined</u> using the normal M-o or -Edit/Text Properties/Face commands. +<strong>bold</strong>, <em>italic</em> or <u>underlined</u> using the normal M-o +or Edit/Text Properties/Face commands. Pages can have <a name=\"SOMENAME\">named points</a> and can link other points to them with <a href=\"#SOMENAME\">see also somename</a>. In the same way <a diff --git a/lisp/textmodes/table.el b/lisp/textmodes/table.el index 59d60272aa8..071684d3c4d 100644 --- a/lisp/textmodes/table.el +++ b/lisp/textmodes/table.el @@ -1,6 +1,6 @@ ;;; table.el --- create and edit WYSIWYG text based embedded tables -*- lexical-binding: t -*- -;; Copyright (C) 2000-2020 Free Software Foundation, Inc. +;; Copyright (C) 2000-2021 Free Software Foundation, Inc. ;; Keywords: wp, convenience ;; Author: Takaaki Ota <Takaaki.Ota@am.sony.com> @@ -2651,7 +2651,8 @@ Creates a cell above and a cell below the current point location." ;;;###autoload (defun table-split-cell-horizontally () "Split current cell horizontally. -Creates a cell on the left and a cell on the right of the current point location." +Creates a cell on the left and a cell on the right of the current +point location." (interactive "*") (table-recognize-cell 'force) (let* ((o-coordinate (table--get-coordinate)) @@ -4197,21 +4198,21 @@ cache buffer into the designated cell in the table buffer." (1- (cdr (table--get-coordinate (car (table--vertical-cell-list t t)))))))) (defun table-goto-top-right-corner () - "Move point to top right corner of the current table and return the char position." + "Move point to top right corner of the current table and return char position." (table--goto-coordinate (cons (car (table--get-coordinate (cdr (table--horizontal-cell-list nil t)))) (1- (cdr (table--get-coordinate (car (table--vertical-cell-list t t)))))))) (defun table-goto-bottom-left-corner () - "Move point to bottom left corner of the current table and return the char position." + "Move point to bottom left corner of the current table and return char position." (table--goto-coordinate (cons (1- (car (table--get-coordinate (car (table--horizontal-cell-list t t))))) (1+ (cdr (table--get-coordinate (cdr (table--vertical-cell-list nil t)))))))) (defun table-goto-bottom-right-corner () - "Move point to bottom right corner of the current table and return the char position." + "Move point to bottom right corner of the current table and return char position." (table--goto-coordinate (cons (car (table--get-coordinate (cdr (table--horizontal-cell-list nil t)))) @@ -4925,7 +4926,7 @@ When optional LOCATION is provided the test is performed at that location." t)) (defun table--region-in-cell-p (beg end) - "Return t when location BEG and END are in a valid table cell in the current buffer." + "Return t when location BEG and END are in a valid table cell in current buffer." (and (table--at-cell-p (min beg end)) (save-excursion (let ((cell-beg (progn (goto-char beg) (table--probe-cell)))) @@ -5245,7 +5246,7 @@ works better than the previous versions however not fully compatible. str)) (defun table--remove-eol-spaces (beg end &optional bol force) - "Remove spaces at the end of each line in the BEG END region of the current buffer. + "Remove spaces at the end of each line in the BEG END region of current buffer. When optional BOL is non-nil spaces at the beginning of line are removed. When optional FORCE is non-nil removal operation is enforced even when point is within the removal area." @@ -5386,7 +5387,8 @@ point" (defun table--transcoord-table-to-cache (&optional coordinate) "Transpose COORDINATE from table coordinate system to cache coordinate system. -When COORDINATE is omitted or nil the point in current buffer is assumed in place." +When COORDINATE is omitted or nil the point in current buffer is +assumed in place." (table--offset-coordinate (or coordinate (table--get-coordinate)) table-cell-info-lu-coordinate @@ -5394,7 +5396,8 @@ When COORDINATE is omitted or nil the point in current buffer is assumed in plac (defun table--transcoord-cache-to-table (&optional coordinate) "Transpose COORDINATE from cache coordinate system to table coordinate system. -When COORDINATE is omitted or nil the point in current buffer is assumed in place." +When COORDINATE is omitted or nil the point in current buffer is +assumed in place." (table--offset-coordinate (or coordinate (table--get-coordinate)) table-cell-info-lu-coordinate)) diff --git a/lisp/textmodes/tex-mode.el b/lisp/textmodes/tex-mode.el index 59238452a4d..c4e4864da17 100644 --- a/lisp/textmodes/tex-mode.el +++ b/lisp/textmodes/tex-mode.el @@ -1,6 +1,6 @@ ;;; tex-mode.el --- TeX, LaTeX, and SliTeX mode commands -*- lexical-binding:t -*- -;; Copyright (C) 1985-1986, 1989, 1992, 1994-1999, 2001-2020 Free +;; Copyright (C) 1985-1986, 1989, 1992, 1994-1999, 2001-2021 Free ;; Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/texinfmt.el b/lisp/textmodes/texinfmt.el index c38787d081b..ed0a367d01d 100644 --- a/lisp/textmodes/texinfmt.el +++ b/lisp/textmodes/texinfmt.el @@ -1,6 +1,6 @@ ;;; texinfmt.el --- format Texinfo files into Info files -;; Copyright (C) 1985-1986, 1988, 1990-1998, 2000-2020 Free Software +;; Copyright (C) 1985-1986, 1988, 1990-1998, 2000-2021 Free Software ;; Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/texinfo.el b/lisp/textmodes/texinfo.el index b3bc634de9b..7799cdb5529 100644 --- a/lisp/textmodes/texinfo.el +++ b/lisp/textmodes/texinfo.el @@ -1,6 +1,6 @@ ;;; texinfo.el --- major mode for editing Texinfo files -;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2020 Free Software +;; Copyright (C) 1985, 1988-1993, 1996-1997, 2000-2021 Free Software ;; Foundation, Inc. ;; Author: Robert J. Chassell diff --git a/lisp/textmodes/texnfo-upd.el b/lisp/textmodes/texnfo-upd.el index 78f8b2783bb..ea35641a6c6 100644 --- a/lisp/textmodes/texnfo-upd.el +++ b/lisp/textmodes/texnfo-upd.el @@ -1,6 +1,6 @@ ;;; texnfo-upd.el --- utilities for updating nodes and menus in Texinfo files -;; Copyright (C) 1989-1992, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1989-1992, 2001-2021 Free Software Foundation, Inc. ;; Author: Robert J. Chassell ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/text-mode.el b/lisp/textmodes/text-mode.el index c0b3c35d6f3..1432ab6a300 100644 --- a/lisp/textmodes/text-mode.el +++ b/lisp/textmodes/text-mode.el @@ -1,6 +1,6 @@ ;;; text-mode.el --- text mode, and its idiosyncratic commands -*- lexical-binding: t -*- -;; Copyright (C) 1985, 1992, 1994, 2001-2020 Free Software Foundation, +;; Copyright (C) 1985, 1992, 1994, 2001-2021 Free Software Foundation, ;; Inc. ;; Maintainer: emacs-devel@gnu.org diff --git a/lisp/textmodes/tildify.el b/lisp/textmodes/tildify.el index 398f7fdc232..33a976aa7b0 100644 --- a/lisp/textmodes/tildify.el +++ b/lisp/textmodes/tildify.el @@ -1,6 +1,6 @@ ;;; tildify.el --- adding hard spaces into texts -*- lexical-binding: t -*- -;; Copyright (C) 1997-2020 Free Software Foundation, Inc. +;; Copyright (C) 1997-2021 Free Software Foundation, Inc. ;; Author: Milan Zamazal <pdm@zamazal.org> ;; Michal Nazarewicz <mina86@mina86.com> diff --git a/lisp/textmodes/two-column.el b/lisp/textmodes/two-column.el index 227e2dffd8b..36aad84c0e6 100644 --- a/lisp/textmodes/two-column.el +++ b/lisp/textmodes/two-column.el @@ -1,6 +1,6 @@ ;;; two-column.el --- minor mode for editing of two-column text -;; Copyright (C) 1992-1995, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1992-1995, 2001-2021 Free Software Foundation, Inc. ;; Author: Daniel Pfeiffer <occitan@esperanto.org> ;; Adapted-By: ESR, Daniel Pfeiffer diff --git a/lisp/textmodes/underline.el b/lisp/textmodes/underline.el index cfd515055a8..3f4e63a349b 100644 --- a/lisp/textmodes/underline.el +++ b/lisp/textmodes/underline.el @@ -1,6 +1,6 @@ ;;; underline.el --- insert/remove underlining (done by overstriking) in Emacs -*- lexical-binding: t -*- -;; Copyright (C) 1985, 2001-2020 Free Software Foundation, Inc. +;; Copyright (C) 1985, 2001-2021 Free Software Foundation, Inc. ;; Maintainer: emacs-devel@gnu.org ;; Keywords: wp |