commit 522b82118de77e33bd701853b6aa7dfda19b11fc (HEAD, refs/remotes/origin/master) Merge: 4a5335158dd ec1dea7b43f Author: Stefan Kangas Date: Wed Mar 1 06:30:20 2023 +0100 ; Merge from origin/emacs-29 The following commit was skipped: ec1dea7b43f ; Auto-commit of loaddefs files. commit 4a5335158dd7e38beeccd315cbda3a0f53708d08 Merge: 5b037331f6a 97a83ff31fa Author: Stefan Kangas Date: Wed Mar 1 06:30:20 2023 +0100 Merge from origin/emacs-29 97a83ff31fa Eglot: fix M-x eglot-show-workspace-configuration (bug#61... 48a0804d10d ruby-mode: Fix method call indentation in rhs of multiple... 16d012cf3bd * lisp/net/tramp.el (tramp-remote-path): Improve docstring. b371697cdca Minor change in 'dired--find-possibly-alternative-file' c2b5c6acc58 Implement prefix arg for 'c-ts-mode-toggle-comment-style' eb2ab52fb01 Defaults to zero for image-dired--number-of-thumbnails 5dc163f592a ; Add a doc string for 'ediff-window-display-p' obsolescence commit 5b037331f6a0bec93b9015c8639b7f4f05b6716c Author: Stefan Kangas Date: Wed Mar 1 06:00:53 2023 +0100 Update SKK-JISYO.L from upstream * leim/SKK-DIC/SKK-JISYO.L: Update from https://raw.githubusercontent.com/skk-dev/dict/master/SKK-JISYO.L diff --git a/leim/SKK-DIC/SKK-JISYO.L b/leim/SKK-DIC/SKK-JISYO.L index 2d4f6198984..792f5318269 100644 --- a/leim/SKK-DIC/SKK-JISYO.L +++ b/leim/SKK-DIC/SKK-JISYO.L @@ -73335,7 +73335,7 @@ zyklus / ぎごしょく /魏呉蜀/ ぎさく /偽作/戯作/ ぎさん /蟻酸/ -ぎし /技師;engineer/技士;(資格名を作る)/義歯/義姉/義士/義肢/義子;養子など/擬死/偽史/魏史;-倭人伝/岸/ +ぎし /技師;engineer/技士;(資格名を作る)/義歯/義姉/義士/義肢/義子;養子など/擬死/偽史/魏志;-倭人伝/岸/ ぎしき /儀式/ ぎしきてき /儀式的/ ぎしちょう /技師長/ @@ -87687,7 +87687,7 @@ zyklus / さいけんほうき /債権放棄/ さいげい /才芸/ さいげつ /歳月/ -さいげん /再現;represent/際限;limits.「-無く」/ +さいげん /再現;reproduce/際限;limits.「-無く」/ さいげんかのう /再現可能/ さいげんせい /再現性/ さいげんてじゅん /再現手順/ commit 8ca5cb25645461e42ce311d4887802103ecf252a Author: Stefan Kangas Date: Wed Mar 1 06:00:51 2023 +0100 Update publicsuffix.txt from upstream * etc/publicsuffix.txt: Update from https://publicsuffix.org/list/public_suffix_list.dat dated 2023-02-28 02:16:27 UTC. diff --git a/etc/publicsuffix.txt b/etc/publicsuffix.txt index 54988c7187c..3b920e67ed0 100644 --- a/etc/publicsuffix.txt +++ b/etc/publicsuffix.txt @@ -380,11 +380,29 @@ org.bi // biz : https://en.wikipedia.org/wiki/.biz biz -// bj : https://en.wikipedia.org/wiki/.bj +// bj : https://nic.bj/bj-suffixes.txt +// submitted by registry bj -asso.bj -barreau.bj -gouv.bj +africa.bj +agro.bj +architectes.bj +assur.bj +avocats.bj +co.bj +com.bj +eco.bj +econo.bj +edu.bj +info.bj +loisirs.bj +money.bj +net.bj +org.bj +ote.bj +resto.bj +restaurant.bj +tourism.bj +univ.bj // bm : http://www.bermudanic.bm/dnr-text.txt bm @@ -7171,7 +7189,7 @@ org.zw // newGTLDs -// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2022-12-07T15:13:11Z +// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-02-22T15:15:03Z // This list is auto-generated, don't edit it manually. // aaa : 2015-02-26 American Automobile Association, Inc. aaa @@ -8370,7 +8388,7 @@ glass // gle : 2014-07-24 Charleston Road Registry Inc. gle -// global : 2014-04-17 Dot Global Domain Registry Limited +// global : 2014-04-17 Identity Digital Limited global // globo : 2013-12-19 Globo Comunica巽達o e Participa巽探es S.A @@ -8913,9 +8931,6 @@ locker // locus : 2015-06-25 Locus Analytics LLC locus -// loft : 2015-07-30 Annco, Inc. -loft - // lol : 2015-01-30 XYZ.COM LLC lol @@ -9456,7 +9471,7 @@ pub // pwc : 2015-10-29 PricewaterhouseCoopers LLP pwc -// qpon : 2013-11-14 dotCOOL, Inc. +// qpon : 2013-11-14 dotQPON LLC qpon // quebec : 2013-12-19 PointQu辿bec Inc @@ -9702,9 +9717,6 @@ sener // services : 2014-02-27 Binky Moon, LLC services -// ses : 2015-07-23 SES -ses - // seven : 2015-08-06 Seven West Media Ltd seven @@ -9789,7 +9801,7 @@ smart // smile : 2014-12-18 Amazon Registry Services, Inc. smile -// sncf : 2015-02-19 Soci辿t辿 Nationale des Chemins de fer Francais S N C F +// sncf : 2015-02-19 Soci辿t辿 Nationale SNCF sncf // soccer : 2015-03-26 Binky Moon, LLC @@ -10026,7 +10038,7 @@ toray // toshiba : 2014-04-10 TOSHIBA Corporation toshiba -// total : 2015-08-06 TOTAL SE +// total : 2015-08-06 TotalEnergies SE total // tours : 2015-01-22 Binky Moon, LLC @@ -10665,6 +10677,11 @@ adobeaemcloud.net hlx.page hlx3.page +// Adobe Developer Platform : https://developer.adobe.com +// Submitted by Jesse MacFadyen +adobeio-static.net +adobeioruntime.net + // Agnat sp. z o.o. : https://domena.pl // Submitted by Przemyslaw Plewa beep.pl @@ -10679,6 +10696,24 @@ airkitapps.eu // Submitted by Etienne Stalmans aivencloud.com +// Akamai : https://www.akamai.com/ +// Submitted by Akamai Team +akadns.net +akamai.net +akamai-staging.net +akamaiedge.net +akamaiedge-staging.net +akamaihd.net +akamaihd-staging.net +akamaiorigin.net +akamaiorigin-staging.net +akamaized.net +akamaized-staging.net +edgekey.net +edgekey-staging.net +edgesuite.net +edgesuite-staging.net + // alboto.ca : http://alboto.ca // Submitted by Anton Avramov barsy.ca @@ -10923,6 +10958,10 @@ cdn.prod.atlassian-dev.net // Submitted by Lukas Reschke translated.page +// Autocode : https://autocode.com +// Submitted by Jacob Lee +autocode.dev + // AVM : https://avm.de // Submitted by Andreas Weise myfritz.net @@ -11051,6 +11090,11 @@ cafjs.com // Submitted by Marcus Popp mycd.eu +// Canva Pty Ltd : https://canva.com/ +// Submitted by Joel Aquilina +canva-apps.cn +canva-apps.com + // Carrd : https://carrd.co // Submitted by AJ drr.ac @@ -11968,6 +12012,7 @@ u.channelsdvr.net // Fastly Inc. : http://www.fastly.com/ // Submitted by Fastly Security edgecompute.app +fastly-edge.com fastly-terrarium.com fastlylb.net map.fastlylb.net @@ -12482,6 +12527,10 @@ ngo.ng edu.scot sch.so +// HostFly : https://www.ie.ua +// Submitted by Bohdan Dub +ie.ua + // HostyHosting (hostyhosting.com) hostyhosting.io @@ -12940,6 +12989,7 @@ cloudapp.net azurestaticapps.net 1.azurestaticapps.net 2.azurestaticapps.net +3.azurestaticapps.net centralus.azurestaticapps.net eastasia.azurestaticapps.net eastus2.azurestaticapps.net @@ -13006,7 +13056,19 @@ netlify.app // ngrok : https://ngrok.com/ // Submitted by Alan Shreve +ngrok.app +ngrok-free.app +ngrok.dev +ngrok-free.dev ngrok.io +ap.ngrok.io +au.ngrok.io +eu.ngrok.io +in.ngrok.io +jp.ngrok.io +sa.ngrok.io +us.ngrok.io +ngrok.pizza // Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/ // Submitted by Nicholas Ford @@ -13526,6 +13588,56 @@ rocky.page 仗弍. . +// SAKURA Internet Inc. : https://www.sakura.ad.jp/ +// Submitted by Internet Service Department +180r.com +dojin.com +sakuratan.com +sakuraweb.com +x0.com +2-d.jp +bona.jp +crap.jp +daynight.jp +eek.jp +flop.jp +halfmoon.jp +jeez.jp +matrix.jp +mimoza.jp +ivory.ne.jp +mail-box.ne.jp +mints.ne.jp +mokuren.ne.jp +opal.ne.jp +sakura.ne.jp +sumomo.ne.jp +topaz.ne.jp +netgamers.jp +nyanta.jp +o0o0.jp +rdy.jp +rgr.jp +rulez.jp +s3.isk01.sakurastorage.jp +s3.isk02.sakurastorage.jp +saloon.jp +sblo.jp +skr.jp +tank.jp +uh-oh.jp +undo.jp +rs.webaccel.jp +user.webaccel.jp +websozai.jp +xii.jp +squares.net +jpn.org +kirara.st +x0.to +from.tv +sakura.tv + // Salesforce.com, Inc. https://salesforce.com/ // Submitted by Michael Biven *.builder.code.com @@ -13678,6 +13790,9 @@ vp4.me // Snowflake Inc : https://www.snowflake.com/ // Submitted by Faith Olapade +snowflake.app +privatelink.snowflake.app +streamlit.app streamlitapp.com // Snowplow Analytics : https://snowplowanalytics.com/ @@ -13953,6 +14068,10 @@ hk.org ltd.hk inc.hk +// UK Intis Telecom LTD : https://it.com +// Submitted by ITComdomains +it.com + // UNIVERSAL DOMAIN REGISTRY : https://www.udr.org.yt/ // see also: whois -h whois.udr.org.yt help // Submitted by Atanunu Igbunuroghene commit 93461e100c1069420a571de1eb305545fbb4f11e Author: Stefan Kangas Date: Wed Mar 1 05:08:22 2023 +0100 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index 404bad56a59..65b990682c1 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -7765,6 +7765,9 @@ "disp-table" character for the indicator setting `display-fill-column-indicator-character'. The globalized version is `global-display-fill-column-indicator-mode', which see. +This minor mode assumes the buffer uses a fixed-pitch font; if you +use variable-pitch fonts, the indicators on different lines might +not appear aligned. See Info node `Displaying Boundaries' for details. This is a minor mode. If called interactively, toggle the @@ -9570,6 +9573,16 @@ "em-elecslash" ;;; Generated autoloads from eshell/em-extpipe.el +(defgroup eshell-extpipe nil "\ +Native shell pipelines. + +This module lets you construct pipelines that use your operating +system's shell instead of Eshell's own pipelining support. This +is especially relevant when executing commands on a remote +machine using Eshell's Tramp integration: using the remote +shell's pipelining avoids copying the data which will flow +through the pipeline to local Emacs buffers and then right back +again." :tag "External pipelines" :group 'eshell-module) (register-definition-prefixes "em-extpipe" '("eshell-")) @@ -9580,12 +9593,12 @@ "em-glob" ;;; Generated autoloads from eshell/em-hist.el -(register-definition-prefixes "em-hist" '("eshell")) +(register-definition-prefixes "em-hist" '("em-hist-unload-function" "eshell")) ;;; Generated autoloads from eshell/em-ls.el -(register-definition-prefixes "em-ls" '("eshell")) +(register-definition-prefixes "em-ls" '("em-ls-unload-function" "eshell")) ;;; Generated autoloads from eshell/em-pred.el @@ -9610,7 +9623,7 @@ "em-script" ;;; Generated autoloads from eshell/em-smart.el -(register-definition-prefixes "em-smart" '("eshell-")) +(register-definition-prefixes "em-smart" '("em-smart-unload-hook" "eshell-")) ;;; Generated autoloads from eshell/em-term.el @@ -10237,7 +10250,7 @@ 'erc-select When present, ID should be a symbol or a string to use for naming the server buffer and identifying the connection unequivocally. -See info node `(erc) Network Identifier' for details. Like USER +See Info node `(erc) Network Identifier' for details. Like USER and CLIENT-CERTIFICATE, this parameter cannot be specified interactively. @@ -19439,7 +19452,7 @@ "ls-lisp" This function is suitable for execution in an init file. (fn &optional ARG)" t) -(register-definition-prefixes "lunar" '("calendar-lunar-phases" "diary-lunar-phases" "eclipse-check" "lunar-")) +(register-definition-prefixes "lunar" '("calendar-lunar-phases" "diary-lunar-phases" "lunar-")) ;;; Generated autoloads from progmodes/m4-mode.el @@ -19532,7 +19545,7 @@ 'name-last-kbd-macro (fn TOP BOTTOM &optional MACRO)" t) (define-key ctl-x-map "q" 'kbd-macro-query) -(register-definition-prefixes "macros" '("macro")) +(register-definition-prefixes "macros" '("macros--insert-vector-macro")) ;;; Generated autoloads from mail/mail-extr.el @@ -25186,7 +25199,7 @@ "ede/proj-shared" ;;; Generated autoloads from progmodes/project.el -(push (purecopy '(project 0 9 6)) package--builtin-versions) +(push (purecopy '(project 0 9 8)) package--builtin-versions) (autoload 'project-current "project" "\ Return the project instance in DIRECTORY, defaulting to `default-directory'. @@ -26486,6 +26499,8 @@ "reftex-vars" (cdr parens)))) (fn STRINGS &optional PAREN)") +(function-put 'regexp-opt 'pure 't) +(function-put 'regexp-opt 'side-effect-free 't) (autoload 'regexp-opt-depth "regexp-opt" "\ Return the depth of REGEXP. This means the number of non-shy regexp grouping constructs @@ -30297,7 +30312,7 @@ "strokes" (defsubst string-join (strings &optional separator) "\ Join all STRINGS using SEPARATOR. Optional argument SEPARATOR must be a string, a vector, or a list of -characters; nil stands for the empty string." (mapconcat #'identity strings separator)) +characters; nil stands for the empty string." (declare (pure t) (side-effect-free t)) (mapconcat #'identity strings separator)) (autoload 'string-truncate-left "subr-x" "\ If STRING is longer than LENGTH, return a truncated version. When truncating, \"...\" is always prepended to the string, so @@ -30305,10 +30320,12 @@ string-join 3 or smaller. (fn STRING LENGTH)") +(function-put 'string-truncate-left 'pure 't) +(function-put 'string-truncate-left 'side-effect-free 't) (defsubst string-blank-p (string) "\ Check whether STRING is either empty or only whitespace. The following characters count as whitespace here: space, tab, newline and -carriage return." (string-match-p "\\`[ \11\n\15]*\\'" string)) +carriage return." (declare (pure t) (side-effect-free t)) (string-match-p "\\`[ \11\n\15]*\\'" string)) (autoload 'string-clean-whitespace "subr-x" "\ Clean up whitespace in STRING. All sequences of whitespaces in STRING are collapsed into a @@ -34220,6 +34237,10 @@ vc-before-checkin-hook will automatically deduce which VC repository to register it with, using the most specific one. +If VERBOSE is non-nil (interactively, the prefix argument), +you can specify a VC backend or (for centralized VCS only) +the revision ID or branch ID. + (fn VERBOSE)" t) (autoload 'vc-register "vc" "\ Register into a version control system. @@ -34380,24 +34401,31 @@ 'vc-resolve-conflicts (fn DIR NAME)" t) (autoload 'vc-print-log "vc" "\ -List the change log of the current fileset in a window. -If WORKING-REVISION is non-nil, leave point at that revision. +Show in another window the VC change history of the current fileset. +If WORKING-REVISION is non-nil, it should be a revision ID; position +point in the change history buffer at that revision. If LIMIT is non-nil, it should be a number specifying the maximum number of revisions to show; the default is `vc-log-show-limit'. When called interactively with a prefix argument, prompt for WORKING-REVISION and LIMIT. +This shows a short log (one line for each commit) if the current +fileset includes directories and the VC backend supports that; +otherwise it shows the detailed log of each commit, which includes +the full log message and the author. Additional control of the +shown log style is available via `vc-log-short-style'. + (fn &optional WORKING-REVISION LIMIT)" t) (autoload 'vc-print-root-log "vc" "\ -List the revision history for the current VC controlled tree in a window. +Show in another window VC change history of the current VC controlled tree. If LIMIT is non-nil, it should be a number specifying the maximum number of revisions to show; the default is `vc-log-show-limit'. -When called interactively with a prefix argument, prompt for LIMIT. -When the prefix argument is a number, use it as LIMIT. +When called interactively with a prefix argument, prompt for LIMIT, but +if the prefix argument is a number, use it as LIMIT. A special case is when the prefix argument is 1: in this case -the command asks for the ID of a revision, and shows that revision -with its diffs (if the underlying VCS supports that). +the command prompts for the ID of a revision, and shows that revision +with its diffs (if the underlying VCS backend supports that). (fn &optional LIMIT REVISION)" t) (autoload 'vc-print-branch-log "vc" "\ @@ -34417,20 +34445,22 @@ 'vc-resolve-conflicts (fn &optional REMOTE-LOCATION)" t) (autoload 'vc-log-search "vc" "\ -Search the log of changes for PATTERN. +Search the VC log of changes for PATTERN and show log of matching changes. PATTERN is usually interpreted as a regular expression. However, its exact semantics is up to the backend's log search command; some can only match fixed strings. -Display all entries that match log messages in long format. -With a prefix argument, ask for a command to run that will output -log entries. +This command displays in long format all the changes whose log messages +match PATTERN. + +With a prefix argument, the command asks for a shell command to run that +will output log entries, and displays those log entries instead. (fn PATTERN)" t) (autoload 'vc-log-mergebase "vc" "\ -Show a log of changes between the merge base of REV1 and REV2 revisions. -The merge base is a common ancestor between REV1 and REV2 revisions. +Show a log of changes between the merge base of revisions REV1 and REV2. +The merge base is a common ancestor of revisions REV1 and REV2. (fn FILES REV1 REV2)" t) (autoload 'vc-region-history "vc" "\ @@ -36912,7 +36942,7 @@ "xmltok" ;;; Generated autoloads from progmodes/xref.el -(push (purecopy '(xref 1 6 1)) package--builtin-versions) +(push (purecopy '(xref 1 6 2)) package--builtin-versions) (autoload 'xref-find-backend "xref") (define-obsolete-function-alias 'xref-pop-marker-stack #'xref-go-back "29.1") (autoload 'xref-go-back "xref" "\ commit ec1dea7b43f159ec58bc4f18db5a900cac655925 Author: Stefan Kangas Date: Wed Mar 1 05:07:53 2023 +0100 ; Auto-commit of loaddefs files. diff --git a/lisp/ldefs-boot.el b/lisp/ldefs-boot.el index dfa14140b4e..a4551ef3f3d 100644 --- a/lisp/ldefs-boot.el +++ b/lisp/ldefs-boot.el @@ -7765,6 +7765,9 @@ "disp-table" character for the indicator setting `display-fill-column-indicator-character'. The globalized version is `global-display-fill-column-indicator-mode', which see. +This minor mode assumes the buffer uses a fixed-pitch font; if you +use variable-pitch fonts, the indicators on different lines might +not appear aligned. See Info node `Displaying Boundaries' for details. This is a minor mode. If called interactively, toggle the @@ -25171,7 +25174,7 @@ "ede/proj-shared" ;;; Generated autoloads from progmodes/project.el -(push (purecopy '(project 0 9 6)) package--builtin-versions) +(push (purecopy '(project 0 9 8)) package--builtin-versions) (autoload 'project-current "project" "\ Return the project instance in DIRECTORY, defaulting to `default-directory'. @@ -34218,6 +34221,10 @@ vc-before-checkin-hook will automatically deduce which VC repository to register it with, using the most specific one. +If VERBOSE is non-nil (interactively, the prefix argument), +you can specify a VC backend or (for centralized VCS only) +the revision ID or branch ID. + (fn VERBOSE)" t) (autoload 'vc-register "vc" "\ Register into a version control system. @@ -34378,24 +34385,31 @@ 'vc-resolve-conflicts (fn DIR NAME)" t) (autoload 'vc-print-log "vc" "\ -List the change log of the current fileset in a window. -If WORKING-REVISION is non-nil, leave point at that revision. +Show in another window the VC change history of the current fileset. +If WORKING-REVISION is non-nil, it should be a revision ID; position +point in the change history buffer at that revision. If LIMIT is non-nil, it should be a number specifying the maximum number of revisions to show; the default is `vc-log-show-limit'. When called interactively with a prefix argument, prompt for WORKING-REVISION and LIMIT. +This shows a short log (one line for each commit) if the current +fileset includes directories and the VC backend supports that; +otherwise it shows the detailed log of each commit, which includes +the full log message and the author. Additional control of the +shown log style is available via `vc-log-short-style'. + (fn &optional WORKING-REVISION LIMIT)" t) (autoload 'vc-print-root-log "vc" "\ -List the revision history for the current VC controlled tree in a window. +Show in another window VC change history of the current VC controlled tree. If LIMIT is non-nil, it should be a number specifying the maximum number of revisions to show; the default is `vc-log-show-limit'. -When called interactively with a prefix argument, prompt for LIMIT. -When the prefix argument is a number, use it as LIMIT. +When called interactively with a prefix argument, prompt for LIMIT, but +if the prefix argument is a number, use it as LIMIT. A special case is when the prefix argument is 1: in this case -the command asks for the ID of a revision, and shows that revision -with its diffs (if the underlying VCS supports that). +the command prompts for the ID of a revision, and shows that revision +with its diffs (if the underlying VCS backend supports that). (fn &optional LIMIT REVISION)" t) (autoload 'vc-print-branch-log "vc" "\ @@ -34415,20 +34429,22 @@ 'vc-resolve-conflicts (fn &optional REMOTE-LOCATION)" t) (autoload 'vc-log-search "vc" "\ -Search the log of changes for PATTERN. +Search the VC log of changes for PATTERN and show log of matching changes. PATTERN is usually interpreted as a regular expression. However, its exact semantics is up to the backend's log search command; some can only match fixed strings. -Display all entries that match log messages in long format. -With a prefix argument, ask for a command to run that will output -log entries. +This command displays in long format all the changes whose log messages +match PATTERN. + +With a prefix argument, the command asks for a shell command to run that +will output log entries, and displays those log entries instead. (fn PATTERN)" t) (autoload 'vc-log-mergebase "vc" "\ -Show a log of changes between the merge base of REV1 and REV2 revisions. -The merge base is a common ancestor between REV1 and REV2 revisions. +Show a log of changes between the merge base of revisions REV1 and REV2. +The merge base is a common ancestor of revisions REV1 and REV2. (fn FILES REV1 REV2)" t) (autoload 'vc-region-history "vc" "\ @@ -36891,7 +36907,7 @@ "xmltok" ;;; Generated autoloads from progmodes/xref.el -(push (purecopy '(xref 1 6 1)) package--builtin-versions) +(push (purecopy '(xref 1 6 2)) package--builtin-versions) (autoload 'xref-find-backend "xref") (define-obsolete-function-alias 'xref-pop-marker-stack #'xref-go-back "29.1") (autoload 'xref-go-back "xref" "\ commit 97a83ff31fa9e3e2455d3168a789649dcd20a635 Author: Jo達o T叩vora Date: Wed Mar 1 01:22:15 2023 +0000 Eglot: fix M-x eglot-show-workspace-configuration (bug#61866) Now consult .dir-locals.el every time the workspace configuration is needed: - workspace/configuration server request - workspace/didChangeConfiguration signal - M-x eglot-show-workspace-configuration The major-mode/hack-dir-local-variables-non-file-buffer trick is used. When there is more than one, the server connection's "main" major mode is used to find the relevant .dir-locals.el section. * lisp/progmodes/eglot.el (eglot--lookup-mode): Fix docstring. (eglot--connect): Simplify. (eglot-show-workspace-configuration): Fix. (eglot--workspace-configuration): Remove. (eglot--workspace-configuration-plist): Rework. (eglot-handle-request): Simplify. diff --git a/lisp/progmodes/eglot.el b/lisp/progmodes/eglot.el index ffc9511469f..40fc8f8a12f 100644 --- a/lisp/progmodes/eglot.el +++ b/lisp/progmodes/eglot.el @@ -961,7 +961,7 @@ eglot--lookup-mode "Lookup `eglot-server-programs' for MODE. Return (MANAGED-MODES LANGUAGE-ID CONTACT-PROXY). -MANAGED-MODES is a list with MODE as its first elements. +MANAGED-MODES is a list with MODE as its first element. Subsequent elements are other major modes also potentially managed by the server that is to manage MODE. @@ -1335,10 +1335,7 @@ eglot--connect (lambda () (setf (eglot--inhibit-autoreconnect server) (null eglot-autoreconnect))))))) - (let ((default-directory (project-root project)) - (major-mode (car managed-modes))) - (hack-dir-local-variables-non-file-buffer) - (run-hook-with-args 'eglot-connect-hook server)) + (run-hook-with-args 'eglot-connect-hook server) (eglot--message "Connected! Server `%s' now managing `%s' buffers \ in project `%s'." @@ -2444,9 +2441,7 @@ eglot-workspace-configuration (defun eglot-show-workspace-configuration (&optional server) "Dump `eglot-workspace-configuration' as JSON for debugging." - (interactive (list (and (eglot-current-server) - (eglot--read-server "Server configuration" - (eglot-current-server))))) + (interactive (list (eglot--read-server "Show workspace configuration for" t))) (let ((conf (eglot--workspace-configuration-plist server))) (with-current-buffer (get-buffer-create "*EGLOT workspace configuration*") (erase-buffer) @@ -2457,14 +2452,23 @@ eglot-show-workspace-configuration (json-pretty-print-buffer)) (pop-to-buffer (current-buffer))))) -(defun eglot--workspace-configuration (server) - (if (functionp eglot-workspace-configuration) - (funcall eglot-workspace-configuration server) - eglot-workspace-configuration)) - -(defun eglot--workspace-configuration-plist (server) - "Returns `eglot-workspace-configuration' suitable for serialization." - (let ((val (eglot--workspace-configuration server))) +(defun eglot--workspace-configuration-plist (server &optional path) + "Returns SERVER's workspace configuration as a plist. +If PATH consider that file's `file-name-directory' to get the +local value of the `eglot-workspace-configuration' variable, else +use the root of SERVER's `eglot--project'." + (let ((val (with-temp-buffer + (setq default-directory + (if path + (file-name-directory path) + (project-root (eglot--project server)))) + ;; Set the major mode to be the first of the managed + ;; modes. This is the one the user started eglot in. + (setq major-mode (car (eglot--major-modes server))) + (hack-dir-local-variables-non-file-buffer)() + (if (functionp eglot-workspace-configuration) + (funcall eglot-workspace-configuration server) + eglot-workspace-configuration)))) (or (and (consp (car val)) (cl-loop for (section . v) in val collect (if (keywordp section) section @@ -2489,25 +2493,17 @@ eglot-handle-request (apply #'vector (mapcar (eglot--lambda ((ConfigurationItem) scopeUri section) - (with-temp-buffer - (let* ((uri-path (eglot--uri-to-path scopeUri)) - (default-directory - (if (and uri-path - (not (string-empty-p uri-path)) - (file-directory-p uri-path)) - (file-name-as-directory uri-path) - (project-root (eglot--project server))))) - (setq-local major-mode (car (eglot--major-modes server))) - (hack-dir-local-variables-non-file-buffer) - (cl-loop for (wsection o) - on (eglot--workspace-configuration-plist server) - by #'cddr - when (string= - (if (keywordp wsection) - (substring (symbol-name wsection) 1) - wsection) - section) - return o)))) + (cl-loop + with scope-uri-path = (and scopeUri (eglot--uri-to-path scopeUri)) + for (wsection o) + on (eglot--workspace-configuration-plist server scope-uri-path) + by #'cddr + when (string= + (if (keywordp wsection) + (substring (symbol-name wsection) 1) + wsection) + section) + return o)) items))) (defun eglot--signal-textDocument/didChange () commit 48a0804d10d02c2aa94664e0db8315239950225f Author: Dmitry Gutov Date: Tue Feb 28 23:00:42 2023 +0200 ruby-mode: Fix method call indentation in rhs of multiple assignment * lisp/progmodes/ruby-mode.el (ruby-smie-rules): Special-case assignment that follows a comma-separated list (bug#61871). * test/lisp/progmodes/ruby-mode-resources/ruby.rb: Add case. diff --git a/lisp/progmodes/ruby-mode.el b/lisp/progmodes/ruby-mode.el index 559b62fef54..beccb8182a7 100644 --- a/lisp/progmodes/ruby-mode.el +++ b/lisp/progmodes/ruby-mode.el @@ -916,11 +916,14 @@ ruby-smie-rules (smie-indent--hanging-p)) ruby-indent-level))) (`(:before . "=") - (save-excursion - (and (smie-rule-parent-p " @ ") - (goto-char (nth 1 (smie-indent--parent))) - (smie-rule-prev-p "def=") - (cons 'column (+ (current-column) ruby-indent-level -3))))) + (or + (save-excursion + (and (smie-rule-parent-p " @ ") + (goto-char (nth 1 (smie-indent--parent))) + (smie-rule-prev-p "def=") + (cons 'column (+ (current-column) ruby-indent-level -3)))) + (and (smie-rule-parent-p ",") + (smie-rule-parent)))) (`(:after . ,(or "?" ":")) (if ruby-after-operator-indent ruby-indent-level diff --git a/test/lisp/progmodes/ruby-mode-resources/ruby.rb b/test/lisp/progmodes/ruby-mode-resources/ruby.rb index 3f0dfdf68ba..81d0dfd75c9 100644 --- a/test/lisp/progmodes/ruby-mode-resources/ruby.rb +++ b/test/lisp/progmodes/ruby-mode-resources/ruby.rb @@ -163,6 +163,11 @@ def test2 (arg) ) end +# Bug#61871 +foo, bar = baz.( + some_arg +) + # Bug#17097 if x == :!= something commit 68cc286c0495caaebc3f641f6b919109045c43dd Author: Mattias Engdeg奪rd Date: Tue Feb 28 17:07:06 2023 +0100 Fix some useless condition-case forms * lisp/progmodes/cperl-mode.el (cperl-calculate-indent): * lisp/progmodes/verilog-mode.el (verilog--suppressed-warnings): Add error handler, seemingly the intention here. * lisp/url/url-gw.el (url-open-stream): Remove condition-case; it was neutered in 2006. diff --git a/lisp/progmodes/cperl-mode.el b/lisp/progmodes/cperl-mode.el index 412283f3488..b6f0e9bca41 100644 --- a/lisp/progmodes/cperl-mode.el +++ b/lisp/progmodes/cperl-mode.el @@ -2918,8 +2918,9 @@ cperl-calculate-indent ;; ((eq 'REx-part2 (elt i 0)) ;; [self start] start of /REP in s//REP/x (goto-char (elt i 1)) - (condition-case nil ; Use indentation of the 1st part - (forward-sexp -1)) + (condition-case nil + (forward-sexp -1) ; Use indentation of the 1st part + (error nil)) (current-column)) ((eq 'indentable (elt i 0)) ; Indenter for REGEXP qw() etc (cond ;;; [indentable terminator start-pos is-block] diff --git a/lisp/progmodes/verilog-mode.el b/lisp/progmodes/verilog-mode.el index 2989d7ddb61..ac6fd382a46 100644 --- a/lisp/progmodes/verilog-mode.el +++ b/lisp/progmodes/verilog-mode.el @@ -370,7 +370,8 @@ verilog--suppressed-warnings (unless (fboundp 'ignore-errors) (defmacro ignore-errors (&rest body) (declare (debug t) (indent 0)) - `(condition-case nil (progn ,@body) (error nil))))) + `(condition-case nil (progn ,@body) (error nil)))) + (error nil)) ;; Added in Emacs 24.1 (condition-case nil (unless (fboundp 'prog-mode) diff --git a/lisp/url/url-gw.el b/lisp/url/url-gw.el index b20e5073f74..f16be980945 100644 --- a/lisp/url/url-gw.el +++ b/lisp/url/url-gw.el @@ -239,35 +239,34 @@ url-open-stream (if url-gateway-broken-resolution (setq host (url-gateway-nslookup-host host))) - (condition-case nil - ;; This is a clean way to ensure the new process inherits the - ;; right coding systems in both Emacs and XEmacs. - (let ((coding-system-for-read 'binary) - (coding-system-for-write 'binary)) - (setq conn (pcase gw-method - ((or 'tls 'ssl 'native) - (if (eq gw-method 'native) - (setq gw-method 'plain)) - (open-network-stream - name buffer host service - :type gw-method - ;; Use non-blocking socket if we can. - :nowait (and (featurep 'make-network-process) - (url-asynchronous url-current-object) - '(:nowait t)))) - ('socks - (socks-open-network-stream name buffer host service)) - ('telnet - (url-open-telnet name buffer host service)) - ('rlogin - (unless url-gw-rlogin-obsolete-warned-once - (lwarn 'url :error "Setting `url-gateway-method' to `rlogin' is obsolete") - (setq url-gw-rlogin-obsolete-warned-once t)) - (with-suppressed-warnings ((obsolete url-open-rlogin)) - (url-open-rlogin name buffer host service))) - (_ - (error "Bad setting of url-gateway-method: %s" - url-gateway-method)))))) + ;; This is a clean way to ensure the new process inherits the + ;; right coding systems in both Emacs and XEmacs. + (let ((coding-system-for-read 'binary) + (coding-system-for-write 'binary)) + (setq conn (pcase gw-method + ((or 'tls 'ssl 'native) + (if (eq gw-method 'native) + (setq gw-method 'plain)) + (open-network-stream + name buffer host service + :type gw-method + ;; Use non-blocking socket if we can. + :nowait (and (featurep 'make-network-process) + (url-asynchronous url-current-object) + '(:nowait t)))) + ('socks + (socks-open-network-stream name buffer host service)) + ('telnet + (url-open-telnet name buffer host service)) + ('rlogin + (unless url-gw-rlogin-obsolete-warned-once + (lwarn 'url :error "Setting `url-gateway-method' to `rlogin' is obsolete") + (setq url-gw-rlogin-obsolete-warned-once t)) + (with-suppressed-warnings ((obsolete url-open-rlogin)) + (url-open-rlogin name buffer host service))) + (_ + (error "Bad setting of url-gateway-method: %s" + url-gateway-method))))) conn))) (provide 'url-gw) commit 16d012cf3bd788bc622b00936ad0786128085316 Author: Michael Albinus Date: Tue Feb 28 16:42:11 2023 +0100 * lisp/net/tramp.el (tramp-remote-path): Improve docstring. diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index eaddc36b54a..b24bd33de82 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -1372,7 +1372,9 @@ tramp-remote-path `Private Directories' are the settings of the $PATH environment, as given in your `~/.profile'. This entry is represented in -the list by the special value `tramp-own-remote-path'." +the list by the special value `tramp-own-remote-path'. + +For a full discussion, see Info node `(tramp) Remote programs'." :group 'tramp :type '(repeat (choice (const :tag "Default Directories" tramp-default-remote-path) commit 316ba78a737f0cc775b60775554591fb67722554 Author: Michael Albinus Date: Tue Feb 28 15:33:52 2023 +0100 Improve warning in tramp-handle-unlock-file * lisp/net/tramp.el (tramp-connectable-p): Simplify. (tramp-handle-unlock-file): Improve warning. diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 2110d815c95..633086fc822 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -2947,7 +2947,7 @@ tramp-connectable-p (or ;; We check this for the process related to ;; `tramp-buffer-name'; otherwise `start-file-process' ;; wouldn't run ever when `non-essential' is non-nil. - (and vec (process-live-p (get-process (tramp-buffer-name vec)))) + (process-live-p (tramp-get-process vec)) (not non-essential)))) (defun tramp-completion-handle-expand-file-name (filename &optional directory) @@ -4778,17 +4778,18 @@ tramp-handle-make-lock-file-name (defun tramp-handle-unlock-file (file) "Like `unlock-file' for Tramp files." - ;; When there is no connection, we don't do it. Otherwise, - ;; functions like `kill-buffer' would try to reestablish the - ;; connection. See Bug#61663. - (when-let ((v (tramp-dissect-file-name file)) - (p (tramp-get-process v)) - ((process-live-p p)) - (lockname (tramp-compat-make-lock-file-name file))) - (condition-case err - (delete-file lockname) - ;; `userlock--handle-unlock-error' exists since Emacs 28.1. - (error (tramp-compat-funcall 'userlock--handle-unlock-error err))))) + (condition-case err + ;; When there is no connection, we don't do it. Otherwise, + ;; functions like `kill-buffer' would try to reestablish the + ;; connection. See Bug#61663. + (if-let ((v (tramp-dissect-file-name file)) + ((process-live-p (tramp-get-process v))) + (lockname (tramp-compat-make-lock-file-name file))) + (delete-file lockname) + ;; Trigger the unlock error. + (signal 'file-error `("Cannot remove lock file for" ,file))) + ;; `userlock--handle-unlock-error' exists since Emacs 28.1. + (error (tramp-compat-funcall 'userlock--handle-unlock-error err)))) (defun tramp-handle-load (file &optional noerror nomessage nosuffix must-suffix) "Like `load' for Tramp files." commit b371697cdca6069378c713ac8e36ec98b06c5cc3 Author: Felix Date: Sun Feb 26 14:14:59 2023 +0100 Minor change in 'dired--find-possibly-alternative-file' * lisp/dired.el (dired--find-possibly-alternative-file): Don't kill the buffer if the directory is shown in other windows. Copyright-paperwork-exempt: yes diff --git a/lisp/dired.el b/lisp/dired.el index 2bcb28a0e00..4a4ecc901c4 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -2728,7 +2728,8 @@ dired-find-file (defun dired--find-possibly-alternative-file (file) "Find FILE, but respect `dired-kill-when-opening-new-dired-buffer'." (if (and dired-kill-when-opening-new-dired-buffer - (file-directory-p file)) + (file-directory-p file) + (< (length (get-buffer-window-list)) 2)) (progn (set-buffer-modified-p nil) (dired--find-file #'find-alternate-file file)) commit c2b5c6acc586cc6a2e66e23a6208045d456ae41a Author: Felix Date: Mon Feb 27 16:15:02 2023 +0100 Implement prefix arg for 'c-ts-mode-toggle-comment-style' * lisp/progmodes/c-ts-mode.el (c-ts-mode-toggle-comment-style): Actually implement the optional numeric arg mentioned in the docstring. Copyright-paperwork-exempt: yes diff --git a/lisp/progmodes/c-ts-mode.el b/lisp/progmodes/c-ts-mode.el index 4b66824c44f..53f7839e4af 100644 --- a/lisp/progmodes/c-ts-mode.el +++ b/lisp/progmodes/c-ts-mode.el @@ -88,19 +88,23 @@ c-ts-mode-indent-offset :safe 'integerp :group 'c) -(defun c-ts-mode-toggle-comment-style () +(defun c-ts-mode-toggle-comment-style (&optional arg) "Toggle the comment style between block and line comments. Optional numeric ARG, if supplied, switches to block comment style when positive, to line comment style when negative, and just toggles it when zero or left out." - (interactive) - (pcase-let ((`(,starter . ,ender) - (if (string= comment-start "// ") - (cons "/* " " */") - (cons "// " "")))) - (setq-local comment-start starter - comment-end ender)) - (c-ts-mode-set-modeline)) + (interactive "P") + (let ((prevstate-line (string= comment-start "// "))) + (when (or (not arg) + (zerop (setq arg (prefix-numeric-value arg))) + (xor (> 0 arg) prevstate-line)) + (pcase-let ((`(,starter . ,ender) + (if prevstate-line + (cons "/* " " */") + (cons "// " "")))) + (setq-local comment-start starter + comment-end ender)) + (c-ts-mode-set-modeline)))) (defun c-ts-mode-set-modeline () (setq mode-name commit eb2ab52fb0180daa792d4b7ff290f348fef12115 Author: Manuel Giraud Date: Thu Feb 23 16:42:48 2023 +0100 Defaults to zero for image-dired--number-of-thumbnails * lisp/image/image-dired.el (image-dired--number-of-thumbnails): Defaults zero to avoid wrong type argument error. (Bug#61734) diff --git a/lisp/image/image-dired.el b/lisp/image/image-dired.el index 8e2a75a418f..6ecb307ce12 100644 --- a/lisp/image/image-dired.el +++ b/lisp/image/image-dired.el @@ -546,7 +546,7 @@ image-dired--line-up-with-method (t (image-dired-line-up-dynamic)))) -(defvar-local image-dired--number-of-thumbnails nil) +(defvar-local image-dired--number-of-thumbnails 0) ;;;###autoload (defun image-dired-display-thumbs (&optional arg append do-not-pop) commit 5dc163f592a779f759fc0b259dd4f4b50678655c Author: Eli Zaretskii Date: Tue Feb 28 15:15:27 2023 +0200 ; Add a doc string for 'ediff-window-display-p' obsolescence * lisp/vc/ediff-init.el (ediff-window-display-p): Document how to prevent Ediff from creating additional frames, now that this function can no longer be used or advised for that. (Bug#61850) diff --git a/lisp/vc/ediff-init.el b/lisp/vc/ediff-init.el index d78f9ad9f36..28630792211 100644 --- a/lisp/vc/ediff-init.el +++ b/lisp/vc/ediff-init.el @@ -1527,7 +1527,10 @@ 'ediff-with-syntax-table (define-obsolete-function-alias 'ediff-convert-standard-filename #'convert-standard-filename "28.1") (define-obsolete-function-alias 'ediff-hide-face #'ignore "28.1") (define-obsolete-function-alias 'ediff-file-remote-p #'file-remote-p "29.1") -(define-obsolete-function-alias 'ediff-window-display-p #'display-graphic-p "29.1") +(define-obsolete-function-alias 'ediff-window-display-p #'display-graphic-p "29.1" + "To prevent Ediff from creating frames, see `ediff-window-setup-function'. +Set it to `ediff-setup-windows-plain' to do everything in a single frame, +even on GUI terminal.") (define-obsolete-function-alias 'ediff-mouse-event-p #'mouse-event-p "29.1") (provide 'ediff-init)