branch: externals/auctex commit d15c8a65a7c6440c3cf54e6a1265fafae45c110d Merge: 9f8ee9b57f d039aab7e2 Author: Arash Esbati <ar...@gnu.org> Commit: Arash Esbati <ar...@gnu.org>
Merge remote-tracking branch 'origin/master' --- doc/auctex.texi | 8 ++-- font-latex.el | 14 ++++-- latex/preview.dtx | 4 +- preview.el | 5 +-- style/enotez.el | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++ style/simpleicons.el | 65 ++++++++++++++++++++++++++-- 6 files changed, 197 insertions(+), 16 deletions(-) diff --git a/doc/auctex.texi b/doc/auctex.texi index c79e8c20a8..2d711fec90 100644 --- a/doc/auctex.texi +++ b/doc/auctex.texi @@ -452,11 +452,11 @@ and @samp{\(...\)} in @LaTeX{} files by pressing @kbd{$}, add the following to your init file @lisp (add-hook 'plain-TeX-mode-hook - (lambda () (set (make-local-variable 'TeX-electric-math) - (cons "$" "$")))) + (lambda () (setq-local TeX-electric-math + (cons "$" "$")))) (add-hook 'LaTeX-mode-hook - (lambda () (set (make-local-variable 'TeX-electric-math) - (cons "\\(" "\\)")))) + (lambda () (setq-local TeX-electric-math + (cons "\\(" "\\)")))) @end lisp Math mode which didn't start with dollar(s) shouldn't be closed with dollar. diff --git a/font-latex.el b/font-latex.el index 0307cd1053..ec99d54c00 100644 --- a/font-latex.el +++ b/font-latex.el @@ -1310,10 +1310,16 @@ triggers Font Lock to recognize the change." (defun font-latex--make-syntax-propertize-function () "Return a `syntax-propertize-function' for (La|Doc)TeX documents." - (let ((kws ;; (if (derived-mode-p 'docTeX-mode) - ;; font-latex-doctex-syntactic-keywords - font-latex-syntactic-keywords)) ;; ) - (syntax-propertize-via-font-lock kws))) + (let* ((kws ;; (if (derived-mode-p 'docTeX-mode) + ;; font-latex-doctex-syntactic-keywords + font-latex-syntactic-keywords) ;; ) + (func (syntax-propertize-via-font-lock kws))) + (lambda (start end) + ;; Initialize font lock variables even when font lock is disabled. + ;; This treatment is necessary because syntax propertize depends + ;; on font lock facility. (bug#71164) + (or font-lock-set-defaults (font-lock-set-defaults)) + (funcall func start end)))) ;;;###autoload (defun font-latex-setup () diff --git a/latex/preview.dtx b/latex/preview.dtx index 2362445654..cafb03636d 100644 --- a/latex/preview.dtx +++ b/latex/preview.dtx @@ -437,8 +437,8 @@ %<*style> %<*!active> \NeedsTeXFormat{LaTeX2e} -\def\pr@version{13.3} -\def\pr@date{2024/01/17} +\def\pr@version{14.0.6} +\def\pr@date{2024/06/30} \ProvidesPackage{preview}[\pr@date\space \pr@version\space (AUCTeX/preview-latex)] % \end{macrocode} % \end{macro} diff --git a/preview.el b/preview.el index 7d5d64f029..e4d674ade5 100644 --- a/preview.el +++ b/preview.el @@ -1299,7 +1299,7 @@ are functions to call on preview's clicks." "*Preview-Ghostscript-Error*"))) (with-current-buffer buff (kill-all-local-variables) - (set (make-local-variable 'view-exit-action) #'kill-buffer) + (setq-local view-exit-action #'kill-buffer) (setq buffer-undo-list t) (erase-buffer) (insert string) @@ -3087,8 +3087,7 @@ pp") (defun preview-mode-setup () "Setup proper buffer hooks and behavior for previews." - (set (make-local-variable 'desktop-save-buffer) - #'desktop-buffer-preview-misc-data) + (setq-local desktop-save-buffer #'desktop-buffer-preview-misc-data) (add-hook 'pre-command-hook #'preview-mark-point nil t) (add-hook 'post-command-hook #'preview-move-point nil t) (when (TeX-buffer-file-name) diff --git a/style/enotez.el b/style/enotez.el new file mode 100644 index 0000000000..a247dacfe2 --- /dev/null +++ b/style/enotez.el @@ -0,0 +1,117 @@ +;;; enotez.el --- AUCTeX style for `enotez.sty' (v0.10d) -*- lexical-binding: t; -*- + +;; Copyright (C) 2024 Free Software Foundation, Inc. + +;; Author: Arash Esbati <ar...@gnu.org> +;; Maintainer: auctex-de...@gnu.org +;; Created: 2024-06-28 +;; Keywords: tex + +;; This file is part of AUCTeX. + +;; AUCTeX is free software; you can redistribute it and/or modify it +;; under the terms of the GNU General Public License as published by +;; the Free Software Foundation; either version 3, or (at your option) +;; any later version. + +;; AUCTeX is distributed in the hope that it will be useful, but +;; WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +;; General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with AUCTeX; see the file COPYING. If not, write to the Free +;; Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA +;; 02110-1301, USA. + +;;; Commentary: + +;; This file adds support for `enotez.sty' (v0.10d) from 2022/01/04. +;; `enotez.sty' is part of TeXLive. + +;;; Code: + +(require 'tex) +(require 'latex) + +;; Silence the compiler: +(declare-function font-latex-add-keywords + "font-latex" + (keywords class)) + +(defvar LaTeX-enotez-key-val-options + '(("list-name") + ("reset" ("true" "false")) + ("counter-format" ("arabic" "alph" "Alph" "roman" "Roman" "symbols")) + ("mark-format") + ("mark-cs") + ("backref" ("true" "false")) + ("totoc" ("subsection" "section" "chapter" "part" "auto" "false")) + ("list-heading") + ("list-style" ("plain" "custom" "description" "itemize")) + ("split" ("section" "chapter" "false")) + ("split-sectioning") + ("split-heading") + ("split-title")) + "Key=val options for the \\setenotez macro.") + +(defun LaTeX-enotez-key-val-options () + "Return updated key=val options for the \\setenotez macro." + (let ((len (mapcar (lambda (x) (concat TeX-esc x)) + (mapcar #'car (LaTeX-length-list))))) + (append + `(("list-preamble-skip" ,len) + ("list-postamble-skip" ,len)) + LaTeX-enotez-key-val-options))) + +(TeX-add-style-hook + "enotez" + (lambda () + (TeX-add-symbols + ;; 3.1 Placing the Notes + '("endnote" ["Mark"] t) + '("endnotemark" ["Mark"]) + '("endnotetext" t) + + ;; 3.2 Printing the Notes + '("printendnotes" + [TeX-arg-completing-read ("plain" "custom" "description" "itemize")]) + '("printendnotes*" + [TeX-arg-completing-read ("plain" "custom" "description" "itemize")]) + '("AtEveryEndnotesList" t) + '("AtNextEndnotesList" t) + '("AfterEveryEndnotesList" t) + '("AfterNextEndnotesList" t) + + ;; 4.1 Package Options + '("setenotez" (TeX-arg-key-val (LaTeX-enotez-key-val-options))) + + ;; 5 Collect Notes Section-wise and Print List Stepwise + '("AtEveryListSplit" t) + '("AfterEveryListSplit" t) + "EnotezCurrentSplitTitle" + '("NewSplitTitleTag" 2)) + + ;; Fontification + (when (and (featurep 'font-latex) + (eq TeX-install-font-lock 'font-latex-setup)) + (font-latex-add-keywords '(("endnote" "[{") + ("endnotemark" "[") + ("endnotetext" "{")) + 'reference) + (font-latex-add-keywords '(("printendnotes" "*[") + ("setenotez" "{") + ("AtEveryEndnotesList" "{") + ("AtNextEndnotesList" "{") + ("AfterEveryEndnotesList" "{") + ("AfterNextEndnotesList" "{") + ("AtEveryListSplit" "{") + ("AfterEveryListSplit" "{") + ("NewSplitTitleTag" "{{")) + 'function))) + TeX-dialect) + +(defvar LaTeX-enotez-package-options nil + "Package options for the enotez package.") + +;;; enotez.el ends here diff --git a/style/simpleicons.el b/style/simpleicons.el index bf32db1858..f04d2e1500 100644 --- a/style/simpleicons.el +++ b/style/simpleicons.el @@ -1,4 +1,4 @@ -;;; simpleicons.el --- AUCTeX style for `simpleicons.sty' (v12.0.0) -*- lexical-binding: t; -*- +;;; simpleicons.el --- AUCTeX style for `simpleicons.sty' (v12.4.0) -*- lexical-binding: t; -*- ;; Copyright (C) 2023--2024 Free Software Foundation, Inc. @@ -26,8 +26,8 @@ ;;; Commentary: -;; This file adds support for `simpleicons.sty' (v12.0.0) from -;; 2024/05/31. `simpleicons.sty' is part of TeXLive. +;; This file adds support for `simpleicons.sty' (v12.4.0) from +;; 2024/06/28. `simpleicons.sty' is part of TeXLive. ;;; Code: @@ -41,7 +41,10 @@ (defvar LaTeX-simpleicons-icons '("1001tracklists" + "1dot1dot1dot1" + "1panel" "1password" + "2fas" "2k" "365datascience" "3m" @@ -93,6 +96,7 @@ "adroll" "adventofcode" "adyen" + "aegisauthenticator" "aerlingus" "aeroflot" "aeromexico" @@ -200,6 +204,7 @@ "anilist" "animalplanet" "ankermake" + "anki" "ansible" "answer" "ansys" @@ -225,6 +230,7 @@ "apachegroovy" "apacheguacamole" "apachehadoop" + "apachehbase" "apachehive" "apachejmeter" "apachekafka" @@ -238,6 +244,7 @@ "apachesolr" "apachespark" "apachestorm" + "apachesuperset" "apachetomcat" "aparat" "apifox" @@ -288,7 +295,10 @@ "aseprite" "askfm" "assemblyscript" + "asterisk" "astonmartin" + "astra" + "astral" "astro" "asus" "atandt" @@ -308,6 +318,7 @@ "authentik" "authy" "autocad" + "autocannon" "autodesk" "autodeskmaya" "autodeskrevit" @@ -337,6 +348,7 @@ "azurepipelines" "babel" "babelio" + "babylondotjs" "backblaze" "backbonedotjs" "backendless" @@ -345,6 +357,7 @@ "baidu" "bakalari" "bamboo" + "bambulab" "bandcamp" "bandlab" "bandrautomation" @@ -364,6 +377,7 @@ "beats" "beatsbydre" "beatstars" + "beekeeperstudio" "behance" "beijingsubway" "bem" @@ -446,6 +460,7 @@ "bricks" "britishairways" "broadcom" + "bruno" "bsd" "bspwm" "bt" @@ -605,6 +620,7 @@ "codenewbie" "codepen" "codeproject" + "coder" "codersrank" "coderwall" "codesandbox" @@ -622,6 +638,7 @@ "coinbase" "coinmarketcap" "comicfury" + "comma" "commerzbank" "commitlint" "commodore" @@ -684,6 +701,7 @@ "crystal" "csharp" "css3" + "cssdesignawards" "cssmodules" "csswizardry" "cts" @@ -722,6 +740,7 @@ "datastax" "dataverse" "datefns" + "datev" "datocms" "datto" "davinciresolve" @@ -767,6 +786,7 @@ "diagramsdotnet" "dialogflow" "diaspora" + "dictionarydotcom" "digg" "digikeyelectronics" "digitalocean" @@ -788,6 +808,7 @@ "docker" "docsdotrs" "docsify" + "doctrine" "docusaurus" "docusign" "dogecoin" @@ -800,6 +821,7 @@ "douban" "doubanread" "dovecot" + "dovetail" "doxygen" "dpd" "dragonframe" @@ -821,6 +843,7 @@ "dunked" "dunzo" "duolingo" + "duplicati" "dvc" "dwavesystems" "dwm" @@ -888,6 +911,7 @@ "epicgames" "epson" "equinixmetal" + "eraser" "ericsson" "erlang" "erpnext" @@ -1008,6 +1032,7 @@ "foodpanda" "ford" "forgejo" + "formik" "formspree" "formstack" "fortinet" @@ -1070,6 +1095,7 @@ "genius" "gentoo" "geocaching" + "geode" "geopandas" "gerrit" "getx" @@ -1084,6 +1110,7 @@ "gitea" "gitee" "gitextensions" + "gitforwindows" "github" "githubactions" "githubcopilot" @@ -1215,6 +1242,7 @@ "gumtree" "gunicorn" "gurobi" + "gusto" "gutenberg" "h3" "habr" @@ -1309,6 +1337,7 @@ "hyper" "hyperskill" "hypothesis" + "hyprland" "hyundai" "i18next" "i3" @@ -1505,6 +1534,7 @@ "knative" "knexdotjs" "knime" + "knip" "knowledgebase" "known" "koa" @@ -1536,6 +1566,7 @@ "lada" "lamborghini" "landrover" + "langchain" "lapce" "laragon" "laravel" @@ -1546,6 +1577,7 @@ "latex" "launchpad" "lazarus" + "lazyvim" "lbry" "leaderprice" "leaflet" @@ -1579,6 +1611,7 @@ "libreofficeimpress" "libreofficemath" "libreofficewriter" + "librewolf" "libuv" "lichess" "lidl" @@ -1766,6 +1799,7 @@ "minetest" "mini" "minio" + "mintlify" "minutemailer" "miraheze" "miro" @@ -1780,6 +1814,7 @@ "mobxstatetree" "mocha" "mockserviceworker" + "modal" "modin" "modrinth" "modx" @@ -1882,6 +1917,7 @@ "ngrok" "ngrx" "nhl" + "nicehash" "niconico" "nike" "nikon" @@ -1912,6 +1948,7 @@ "npm" "nrwl" "nsis" + "ntfy" "nubank" "nucleo" "nuget" @@ -1923,6 +1960,7 @@ "nutanix" "nuxtdotjs" "nvidia" + "nvm" "nx" "nxp" "nzxt" @@ -2088,6 +2126,7 @@ "picartodottv" "picnic" "picpay" + "picrew" "picxy" "pihole" "pimcore" @@ -2095,6 +2134,7 @@ "pinescript" "pinetwork" "pingdom" + "pino" "pinterest" "pioneerdj" "piped" @@ -2128,6 +2168,7 @@ "plesk" "plex" "plotly" + "plume" "pluralsight" "plurk" "pluscodes" @@ -2183,6 +2224,8 @@ "prevention" "prezi" "prime" + "primeng" + "primereact" "primevideo" "printables" "prisma" @@ -2297,6 +2340,7 @@ "raylib" "razer" "razorpay" + "rclone" "react" "reactbootstrap" "reacthookform" @@ -2333,6 +2377,7 @@ "remark" "remedyentertainment" "remix" + "removedotbg" "renault" "render" "renovatebot" @@ -2361,6 +2406,7 @@ "rich" "rider" "rimacautomobili" + "rime" "ring" "riotgames" "ripple" @@ -2556,6 +2602,7 @@ "snapchat" "snapcraft" "sncf" + "snort" "snowflake" "snowpack" "snyk" @@ -2689,6 +2736,7 @@ "subversion" "suckless" "sumologic" + "suno" "sunrise" "supabase" "supercrease" @@ -2727,6 +2775,7 @@ "tails" "tailscale" "tailwindcss" + "taipy" "taketwointeractivesoftware" "talend" "talenthouse" @@ -2834,6 +2883,7 @@ "toshiba" "totvs" "tourbox" + "tower" "toyota" "tplink" "tqdm" @@ -2860,6 +2910,7 @@ "trino" "tripadvisor" "tripdotcom" + "trivago" "trivy" "trove" "trpc" @@ -2888,6 +2939,7 @@ "twinmotion" "twitch" "typeform" + "typeorm" "typer" "typescript" "typo3" @@ -2954,6 +3006,7 @@ "vectorlogozone" "vectorworks" "veeam" + "veed" "veepee" "vega" "vegas" @@ -2985,6 +3038,7 @@ "visualstudio" "visualstudioappcenter" "visualstudiocode" + "visx" "vite" "vitepress" "vitess" @@ -3016,6 +3070,7 @@ "vyond" "w3schools" "wacom" + "wagmi" "wagtail" "wails" "wakatime" @@ -3064,6 +3119,7 @@ "westernunion" "wetransfer" "wezterm" + "wgpu" "whatsapp" "wheniwork" "wii" @@ -3107,6 +3163,7 @@ "writedotas" "wwe" "wwise" + "wykop" "wyze" "x" "xamarin" @@ -3127,6 +3184,7 @@ "xrp" "xsplit" "xstate" + "yabai" "yale" "yamahacorporation" "yamahamotorcorporation" @@ -3147,6 +3205,7 @@ "youtubetv" "yr" "yubico" + "yunohost" "zabka" "zaim" "zalando"